Difference between revisions of "CELL ADDRESS"
(→Ряды и ячейки блока 00) |
(→Ряды и ячейки блока 00) |
||
Line 86: | Line 86: | ||
− | |valign="top"|<span style="background:rgb(0,200,50);">00 {{NOT2}}<br />01 {{NOT4}}<br />02 {{NOT1}}<br />03 {{NOT4}}<br />04 {{NAND2X}}<br />05 {{XNOR3X}}<br />06 {{NOT1}}<br />07 {{???}}<br />08 {{NOT1}}<br />09 {{NOT1}}<br />10 {{IMUX}}<br />11 {{DFF}}</span><br /><span style="background:rgb(250,50,0);">12 {{BUF2X4}}</span><br />13 {{???}}<br /><span style="background:rgb(0,200,50);">14 {{DFF}}<br />15 {{HA}}<br />16 {{WS2}}<br />17 {{DFF}}<br />18 {{AND}}<br />19 {{DFF}}<br />20 {{DFF}}<br />21 {{AND}}<br />22 {{XOR}}<br />23 {{DFF}}<br />24 {{AND}}<br />25 {{DFF}}<br />26 {{XOR}}<br />27 {{XOR}}</span><br />...<br />...<br />... | + | |valign="top"|<span style="background:rgb(0,200,50);">00 {{NOT2}}<br />01 {{NOT4}}<br />02 {{NOT1}}<br />03 {{NOT4}}<br />04 {{NAND2X}}<br />05 {{XNOR3X}}<br />06 {{NOT1}}</span><br />07 {{???}}<br /><span style="background:rgb(0,200,50);">08 {{NOT1}}<br />09 {{NOT1}}<br />10 {{IMUX}}<br />11 {{DFF}}</span><br /><span style="background:rgb(250,50,0);">12 {{BUF2X4}}</span><br />13 {{???}}<br /><span style="background:rgb(0,200,50);">14 {{DFF}}<br />15 {{HA}}<br />16 {{WS2}}<br />17 {{DFF}}<br />18 {{AND}}<br />19 {{DFF}}<br />20 {{DFF}}<br />21 {{AND}}<br />22 {{XOR}}<br />23 {{DFF}}<br />24 {{AND}}<br />25 {{DFF}}<br />26 {{XOR}}<br />27 {{XOR}}</span><br />...<br />...<br />... |
Revision as of 12:23, 25 January 2014
Чтобы определиться с соединением между двумя блоками необходимо разработать механизм адресации на топологии процессора.
Как мы уже ранее решили - процессор делится на 4 больших части : 00, 01, 02, 03.
Поэтому адресация между ячейками будет базироваться на этих 4 частях.
Линейки стандартных ячеек будут нумероваться слева-направо, внутри каждой из частей, начиная с 00
Внутри линейки ячейки будет нумероваться сверху-вниз, начиная с 00
Количество рядов в каждой из частей :
Ряды и ячейки блока 00
MDEC related
Ни к чему не подсоединены
00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 |
---|---|---|---|---|---|---|---|---|---|
00 DFF 01 Full Adder 02 Carry Adder 03 Full Adder 04 Full Adder 05 Pipeline 06 Half Adder 07 Half Adder |
00 NOT1 01 DFF 02 Full Adder 03 Full Adder 04 NOT1 05 Full Adder 06 NOT1 07 Pipeline 08 NOT8 09 Full Adder |
00 DFF 01 Full Adder 02 Full Adder 03 Pipeline 04 Full Adder 05 Pipeline |
00 IMUX 01 Full Adder 02 Full Adder 03 NOT2 04 Full Adder 05 Pipeline 06 NOT8 07 Full Adder 08 Half Adder |
00 NOT1 01 Half Adder 02 Full Adder 03 Full Adder 04 NOT2 05 Pipeline 06 Pipeline 07 NOT8 08 NOT2 09 NAND2X |
00 DFF 01 DFF 02 Full Adder 03 Full Adder 04 Pipeline 05 Pipeline |
00 DFF 01 NOT2 02 Full Adder 03 Full Adder 04 NOT1 05 Pipeline 06 Full Adder 07 Half Adder 08 NOT4 09 NOT4 10 XNOR3X |
00 IMUX 01 NOT2 02 AND 03 Carry Adder 04 Carry Adder 05 NOT1 06 Full Adder 07 NOT2 08 Pipeline 09 Pipeline |
00 DFF 01 Full Adder 02 AND 03 Full Adder 04 NOT1 05 Pipeline 06 NOT2 07 Pipeline 08 NOT4 |
00 IMUX 01 NOT1 02 DFF 03 Half Adder 04 Full Adder 05 Pipeline 06 NOT2 07 NOT2 08 NOT2 09 NOT2 10 NOT8 11 NAND2X 12 XOR 13 12-OAI |
10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
00 IMUX 01 NOT1 02 DFF 03 AND 04 NOT2 05 AND 06 Full Adder 07 NOT2 08 Pipeline 09 NOT2 10 NOT2 11 Full Adder 12 12-OAI 13 BUF2X4 |
00 NOT1 01 DFF 02 DFF 03 NOT2 04 Full Adder 05 Pipeline 06 NOT8 07 NOT2 08 Full Adder 09 NOT8 |
00 WS2 01 NOT2 02 AND 03 Full Adder 04 Pipeline 05 Pipeline 06 NOT4 |
00 WS1 01 DFF 02 DFF 03 NOT2 04 NOT2 05 NOT8 06 Full Adder 07 Pipeline 08 NOT4 |
00 DFF 01 MUX 02 DFF 03 Half Adder 04 Full Adder 05 Carry Adder 06 Full Adder 07 NOT2 08 Pipeline 09 NOT4 |
00 AND3X 01 AND3X 02 MUX2X 03 NOT3 04 DFF 05 DFF 06 DFF 07 IMUX 08 NOT1 09 IMUX 10 NOT1 11 DFF 12 DFF 13 WS2 14 AND 15 NOT1 16 Full Adder 17 Full Adder 18 Full Adder 19 NOT4 20 Full Adder 21 Half Adder 22 XNOR3X |
00 AND3X 01 AND3X 02 AND3X 03 Bus Keeper 04 DFF 05 DFF 06 IMUX 07 DFF 08 IMUX 09 IMUX 10 NOT2 11 DFF 12 DFF 13 WS1 14 AND 15 Full Adder 16 Full Adder 17 Full Adder 18 Full Adder 19 12-OAI 20 NAND2X 21 XOR 22 NAND2X |
00 AND3X 01 NOT1 02 BUF2X4 03 DFF 04 IMUX 05 DFF 06 IMUX 07 DFF 08 IMUX 09 NOT1 10 NOT1 11 DFF 12 DFF 13 DFF 14 DFF 15 AND 16 DFF 17 NOT2 18 NOT8 19 Full Adder 20 Full Adder 21 Pipeline 22 NOT4 |
00 BUF2X4 01 BUF2X4 02 NOT1 03 IMUX 04 DFF 05 IMUX 06 NOT1 07 DFF 08 IMUX 09 NOT1 10 DFF 11 DFF 12 WS2 13 Half Adder 14 Full Adder 15 DFF 16 NOT2 17 NOT8 18 Full Adder 19 Full Adder 20 XOR 21 NOT8 22 12-OAI |
00 BUF2X4 01 BUF2X4 02 BUF2X4 03 IMUX 04 DFF 05 DFF 06 IMUX 07 BUF2X4 08 BUF2X4 09 DFF 10 DFF 11 DFF 12 DFF 13 Bus Keeper 14 DFF 15 Pipeline 16 BUF2X4 17 Full Adder 18 XNOR3X 19 XNOR3X |
20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
00 BUF2X4 01 BUF2X4 02 BUF2X4 03 IMUX 04 NOT1 05 DFF 06 NOT1 07 DFF 08 NOT1 09 BUF2X4 10 WS1 11 WS1 12 DFF 13 Pipeline 14 Half Adder 15 Full Adder 16 Full Adder 17 NAND2X |
00 DFF 01 DFF 02 BUF2X4 03 DFF 04 IMUX 05 DFF 06 DFF 07 WS2 08 DFF 09 DFF 10 DFF 11 Full Adder 12 Full Adder 13 NOT8 14 WS1 15 NOT4 |
00 DFF 01 NOT2 02 BUF2X4 03 DFF 04 IMUX 05 DFF 06 DFF 07 AND 08 AND 09 WS1 10 DFF 11 Half Adder 12 BUF2X4 13 Full Adder 14 WS1 15 IMUX2X 16 Full Adder} 17 Half Adder |
00 DFF 01 NOT8 02 NOT1 03 IMUX 04 DFF 05 DFF 06 IMUX 07 IMUX 08 NOT1 09 BUF2X4 10 AND 11 Carry Adder 12 DFF 13 Full Adder 14 Carry Adder 15 Full Adder 16 Full Adder 17 Full Adder 18 IMUX2X 19 BUF2X4 20 DFF 21 NOT8 22 NOT4 |
00 DFF 01 DFF 02 BUF2X4 03 NOT1 04 DFF 05 NOT1 06 NOT1 07 DFF 08 AND 09 WS2 10 DFF 11 Full Adder 12 NOT1 13 BUF2X4 14 BUF2X4 15 WS1 16 Full Adder 17 12-OAI 18 XNOR3X 19 NAND2X |
00 DFF 01 NOT2 02 XOR 03 NOT1 04 DFF 05 IMUX 06 DFF 07 BUF2X4 08 BUF2X4 09 AND 10 Full Adder 11 DFF 12 DFF 13 NOT1 14 DFF 15 OR2X 16 Full Adder 17 NOT4 18 NOT4 19 NAND2X 20 IMUX2X 21 AND 22 DFF 23 Full Adder 24 NAND2X
|
00 NOT2 01 NOT4 02 NOT1 03 NOT4 04 NAND2X 05 XNOR3X 06 NOT1 07 Template:??? 08 NOT1 09 NOT1 10 IMUX 11 DFF 12 BUF2X4 13 Template:??? 14 DFF 15 Half Adder 16 WS2 17 DFF 18 AND 19 DFF 20 DFF 21 AND 22 XOR 23 DFF 24 AND 25 DFF 26 XOR 27 XOR ... ... ...
|
Логика синтезатора
Ячейки кладутся компактными кучками (доменами), а не тупо зиг-загом.
Хотя соседние ряды повернуты друг относительно друга на 180 градусов связано это скорее всего только с тем, что так удобнее подводить питание/землю к ячейкам.
Логика роутера
Роутер скорее всего строит графы по принципу "транспортной задачи", минимизируя веса графов aka длину соединительных шлангов. Броском кубика создается несколько "перетрясок" из них выбирается оптимальная. Однако не всегда роутер делает оптимальные маршруты, иногда от их вида можно ссать кипятком.
Возможно роутер использует модифицированный алгоритм Дейкстры : http://en.wikipedia.org/wiki/Dijkstra's_algorithm
Отличие заключается в том, что у оригинального алгоритма 8 степеней свободы, а у роутера только 4 (соединения могут быть только под прямыми углами).