CELL ADDRESS

From PSXDEV
Jump to: navigation, search

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

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

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

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

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

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

Psxcpu-cell-rows.jpg

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

Circuit 002 (MDEC IDCT)

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 BUF3X
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

...
...
...
00 NOT4
01 NAND2X
02 NOT8
03 XOR
04 12-OAI
05 NOT4
06 XNOR3X
07 NOT4
08 NOT4
09 NAND2X
10 XNOR3X
11 12-OAI
12 XOR
13 NOT8
14 NOT8
15 Full Adder
16 Half Adder
17 Full Adder
18 NOT2
19 DFF
20 DFF
21 DFF
22 DFF
23 Half Adder
24 NOT2
25 Half Adder
26 NOT1
27 12-OAI
28 12-OAI
29 NOT8
30 NAND2X
31 XOR
32 XNOR3X
33 OR2X
34 OR2X
35 DFF
36 WS1
37 DFF
38 DFF

39 Template:???
40 WS1
41 DFF
42 12-OAI
43 XNOR3X
44 DFF
45 DFF
46 NOT8

...
...
...
00 Full Adder
01 IMUX2X
02 WS1
03 NOT2
04 NOT2
05 NOT2
06 Half Adder
07 Full Adder
08 Half Adder
09 Half Adder
10 Pipeline
11 NOT2
12 DFF
13 DFF
14 NOT2
15 Pipeline
16 NOT2
17 NOT8
18 NOT2
19 NOT8
20 WS1
21 IMUX2X
22 DFF

23 Template:???
...
...
...

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

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

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

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

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

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

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

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