Difference between revisions of "CELL ADDRESS"

From PSXDEV
Jump to: navigation, search
(Ряды и ячейки блока 00)
(Ряды и ячейки блока 00)
Line 78: Line 78:
 
! style="background:rgb(204,204,204)" align="center" | 29
 
! style="background:rgb(204,204,204)" align="center" | 29
 
|-
 
|-
|valign="top"|<span style="background:rgb(0,200,50);">00 {{BUF2X4}}<br />01 {{BUF2X4}}<br />02 {{BUF2X4}}<br />03 {{???}}<br />04 {{???}}<br />05 {{DFF}}<br />06 {{???}}<br />07 {{DFF}}08 {{NOT1}}</span><br /><span style="background:rgb(250,50,0);">09 {{BUF2X4}}</span><br /><span style="background:rgb(0,200,50);"><br />10 {{WS1}}<br />11 {{WS1}}<br />12 {{DFF}}<br />13 {{PL}}<br />14 {{HA}}<br />15 {{FA}}<br />16 {{FA}}<br />17 {{NAND2X}}</span>
+
|valign="top"|<span style="background:rgb(0,200,50);">00 {{BUF2X4}}<br />01 {{BUF2X4}}<br />02 {{BUF2X4}}<br />03 {{???}}<br />04 {{???}}<br />05 {{DFF}}<br />06 {{???}}<br />07 {{DFF}}08 {{NOT1}}</span><br /><span style="background:rgb(250,50,0);">09 {{BUF2X4}}</span><br /><span style="background:rgb(0,200,50);">10 {{WS1}}<br />11 {{WS1}}<br />12 {{DFF}}<br />13 {{PL}}<br />14 {{HA}}<br />15 {{FA}}<br />16 {{FA}}<br />17 {{NAND2X}}</span>
 
|-
 
|-
 
|}
 
|}

Revision as of 11:05, 19 January 2014

Чтобы определиться с соединением между двумя блоками необходимо разработать механизм адресации на топологии процессора.

Как мы уже ранее решили - процессор делится на 4 больших части : 00, 01, 02, 03.

Поэтому адресация между ячейками будет базироваться на этих 4 частях.

Линейки стандартных ячеек будут нумероваться слева-направо, внутри каждой из частей, начиная с 00

Внутри линейки ячейки будет нумероваться сверху-вниз, начиная с 00

Количество рядов в каждой из частей :

Файл:Psxcpu-cell-rows.jpg

Ряды и ячейки блока 00

Circuit 002 (MDEC IDCT)

MDEC UNIT00

Ни к чему не подсоединены

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 XOR3X
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
  1. перенаправление Шаблон: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
  1. перенаправление Шаблон: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
  1. перенаправление Шаблон: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 Template:???
04 Template:???
05 DFF
06 Template:???
07 DFF08 NOT1

09 BUF2X4
10 WS1
11 WS1
12 DFF
13 Pipeline
14 Half Adder
15 Full Adder
16 Full Adder
17 NAND2X

Логика синтезатора

Ячейки кладутся компактными кучками (доменами), а не тупо зиг-загом.

Хотя соседние ряды повернуты друг относительно друга на 180 градусов связано это скорее всего только с тем, что так удобнее подводить питание/землю к ячейкам.

Логика роутера

Роутер скорее всего строит графы по принципу "транспортной задачи", минимизируя веса графов aka длину соединительных шлангов. Броском кубика создается несколько "перетрясок" из них выбирается оптимальная. Однако не всегда роутер делает оптимальные маршруты, иногда от их вида можно ссать кипятком.

Возможно роутер использует модифицированный алгоритм Дейкстры : http://en.wikipedia.org/wiki/Dijkstra's_algorithm

Отличие заключается в том, что у оригинального алгоритма 8 степеней свободы, а у роутера только 4 (соединения могут быть только под прямыми углами).

http://en.wikipedia.org/wiki/Channel_router