104 lines
8.2 KiB
TeX
104 lines
8.2 KiB
TeX
\begin{tikzpicture}
|
|
|
|
% Matrix
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange ] (m00) {w[0,0:15]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange,below=0 of m00 ] (m10) {w[1,0:15]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange,below=0 of m10 ] (mx0) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange,below=0 of mx0 ] (m70) {w[7,0:15]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange,below=0 of m70 ] (m80) {w[8,0:15]};
|
|
% \node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange,below=0 of m80 ] (m90) {w[9,0:15]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange,below=0 of m80 ] (mxx0) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange,below=0 of mxx0 ] (m150) {w[15,0:15]};
|
|
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of m00] (m01) {w[0,16:31]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of m10] (m11) {w[1,16:31]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of mx0] (mx1) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of m70] (m71) {w[7,16:31]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of m80] (m81) {w[8,16:31]};
|
|
% \node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of m90] (m91) {w[9,16:31]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of mxx0] (mxx1) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of m150] (m151) {w[15,16:31]};
|
|
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of m01] (m0x) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of m11] (m1x) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of mx1] (mxx) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of m71] (m7x) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of m81] (m8x) {$\cdots$};
|
|
% \node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of m91] (m9x) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of mxx1] (mxxx) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of m151] (m15x) {$\cdots$};
|
|
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of m0x] (m07) {w[0,112:127]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of m1x] (m17) {w[1,112:127]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of mxx] (mx7) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of m7x] (m77) {w[7,112:127]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of m8x] {w[8,112:127]};
|
|
% \node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of m9x] {w[9,112:127]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of mxxx] {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of m15x] {w[15,112:127]};
|
|
|
|
\node[above right=1mm and 0 of m00.north west] {Weight Matrix};
|
|
|
|
\pgfdeclarelayer{bank1}
|
|
\pgfdeclarelayer{bankx}
|
|
\pgfdeclarelayer{bank7}
|
|
\pgfsetlayers{bank7,bankx,bank1,main}
|
|
|
|
% Banks
|
|
\node[draw,outer sep=0,minimum width=10cm,minimum height=24mm,fill=white,below right=4.5cm and 2.5cm of m150.south,anchor=north] (bank0) {};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange,below right=0 of bank0.north west] (b0e0) {w[0,0:15]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of b0e0] (b0e1) {w[0,16:31]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of b0e1] (b0e2) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of b0e2] (b0e3) {w[0,112:127]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange,below=0 of b0e0] (b0e4) {w[8,0:15]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of b0e4] (b0e5) {w[8,16:31]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of b0e5] (b0e6) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of b0e6] (b0e7) {w[8,112:127]};
|
|
|
|
\node[minimum width=10cm,minimum height=12mm,below right=0 of b0e4.south west] {$\vdots$};
|
|
|
|
\begin{pgfonlayer}{bank1}
|
|
\node[draw,outer sep=0,minimum width=10cm,minimum height=24mm,fill=white,above right=15mm of bank0.south west] (bank1) {};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange,below right=0 of bank1.north west] (b1e0) {w[1,0:15]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of b1e0] (b1e1) {w[1,16:31]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of b1e1] (b1e2) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of b1e2] (b1e3) {w[1,112:127]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange,below=0 of b1e0] (b1e4) {w[9,0:15]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of b1e4] (b1e5) {w[9,16:31]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of b1e5] (b1e6) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of b1e6] (b1e7) {w[9,112:127]};
|
|
\end{pgfonlayer}
|
|
|
|
\begin{pgfonlayer}{bankx}
|
|
\node[draw,outer sep=0,minimum width=10cm,minimum height=24mm,fill=white,above right=15mm of bank1.south west] (bankx) {};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange,below right=0 of bankx.north west] (bxe0) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of bxe0] (bxe1) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of bxe1] (bxe2) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of bxe2] (bxe3) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange,below=0 of bxe0] (bxe4) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of bxe4] (bxe5) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of bxe5] (bxe6) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of bxe6] (bxe7) {$\cdots$};
|
|
\end{pgfonlayer}
|
|
|
|
\begin{pgfonlayer}{bank7}
|
|
\node[draw,outer sep=0,minimum width=10cm,minimum height=24mm,fill=white,above right=15mm of bankx.south west] (bank7) {};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange,below right=0 of bank7.north west] (b7e0) {w[7,0:15]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of b7e0] (b7e1) {w[7,16:31]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of b7e1] (b7e2) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of b7e2] (b7e3) {w[7,112:127]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_orange,below=0 of b7e0] (b7e4) {w[15,0:15]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_blue,right=0 of b7e4] (b7e5) {w[15,16:31]};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=lightgray,right=0 of b7e5] (b7e6) {$\cdots$};
|
|
\node[draw,outer sep=0,minimum width=25mm,minimum height=6mm,fill=_green,right=0 of b7e6] (b7e7) {w[15,112:127]};
|
|
\end{pgfonlayer}
|
|
|
|
\node[left=2mm of b0e0] {Bank 0};
|
|
\node[left=2mm of b1e0] {Bank 1};
|
|
\node[left=8mm of bxe0] {$\iddots$};
|
|
\node[left=2mm of b7e0] {Bank 7};
|
|
|
|
\node[above right=1mm and 0 of bank7.north west] {Bank Layout};
|
|
|
|
\end{tikzpicture}
|