UP PREV NEXT

Check with CyHP Library Contents

  
gate count               1539
number of cells           832
number of library cells    18
number of used cells       17
max fanin                  13
max input capacitance     176
max internal fanout        40
critical path  0fF       2764
critical path  6fF       3778
    aoi21 aoi21 symbol
    iv1 iv1 symbol
    mxi2 mxi2 symbol
    nd2a nd2a symbol
    nd2 nd2 symbol
    nd3 nd3 symbol
    nr2a nr2a symbol
    nr2 nr2 symbol
    nr3 nr3 symbol
    oai21 oai21 symbol
    xnr2 xnr2 symbol
    xor2 xor2 symbol

All the cells now exist to check whether a library limited to a very small range of cells can equal the performance achievable with a rich library. The small library is the one given in the paper on the CyHP (Compact yet High Performance) library of 20 cells, 17 of which are combinatorial logic. To this list is added the 2-XOR gate, to add to the 2-XNOR gate, since its absence causes inefficiencies for BOOG synthesis.

The library cells are:

aoi21  x1
iv1    x1 x2 x4 x8 x12
mxi2   x1
nd2a   x2
nd2    x2 x4
nd3    x1
nr2a   x2
nr2    x1 x2
nr3    x1
oai21  x1
xnr2   x1
xor2   x1

The performance results are comparable with previous experiments having a similar number of cells, being 4.3% faster than achieved with the first synthesis with multiple drive strength inverters, a library with 28 cells. The biggest improvement in performance has come by adding multiple drive strengths to commonly used cells (like the oai21). Since this does not exist in the CyHP library, it is doubtful whether really it can ever achieve a good performance level.

The critical path is

               fanout         -- delay--
    x 1          13                  176
 1  nd2v0x4       1  b->z      231    55
 2  iv1v0x4       1  a->z      275    44
 3  nd2av0x2      1  a->z      393   118
 4  nd2v0x4       1  b->z      445    52
 5  nd2av0x2      4  b->z      588   143
 6  xor2v0x1      2  b->z      721   133
 7  nd2v0x2       1  a->z      786    65
 8  nd3v0x1       4  c->z      963   177
 9  nd2v0x2       1  a->z     1028    65
10  nd3v0x1       4  c->z     1199   171
11  nd2v0x2       1  a->z     1264    65
12  nd3v0x1       4  c->z     1435   171
13  nd2v0x2       1  a->z     1500    65
14  nd3v0x1       4  c->z     1677   177
15  nd2v0x2       1  a->z     1741    64
16  nd3v0x1       4  c->z     1921   180
17  nd2v0x2       1  a->z     1985    64
18  nd3v0x1       4  c->z     2168   183
19  nd2v0x2       1  a->z     2233    65
20  nd3v0x1       3  c->z     2386   153
21  iv1v0x4       2  a->z     2439    53
22  nr2av0x2      1  a->z     2554   115
23  oai21v0x1     3  a2->z    2736   182
24  xor2v0x1      2  b->z     2867   131
25  nd2v0x2       1  a->z     2931    64
26  nd3v0x1       3  c->z     3080   149
27  nd2v0x2       1  a->z     3145    65
28  nd3v0x1       2  c->z     3276   131
29  nd2v0x4       1  b->z     3341    65
30  iv1v0x8       2  a->z     3391    50
31  nd2v0x4       1  b->z     3456    65
32  iv1v0x8       2  a->z     3505    49
33  nd2v0x4       1  b->z     3558    53
34  xnr2v0x1      0  b->z     3778   220
    r 15

The library is well used. The only cell not used is the mxi2v0x1.
But for synthesis with Alliance, and probably other more sophisticated synthesis software, such a limited library is not a good solution.

Table of synthesis results  
  critical path (ps) gate count cell count porosity library cells used cells
synthesis 1 4279 1561 923 43%  9  8 basic inverters, NAND & NOR gates
synthesis 2 4236 1472 792 45% 15 12 AND & OR gates
synthesis 3 4157 1357 696 46% 19 16 AOI & OAI gates, 2/1 and 2/2
synthesis 4 4157 1357 696 46% 20 16 mxi2 2-way inverting mux
synthesis 5 3983 1343 668 48% 21 16 cgi2 carry generator inverting
synthesis 6 3948 1352 668 48% 28 18 inverters with multiple drive strengths
synthesis 7 3061 1433 666 51% 70 27 x2 drive strengths for all functions
synthesis 8 3056 1456 666 52% 70 30 BOOG with x1 drive strengths
synthesis 9 2960 1476 666 53% 70 32 BOOG with x05 drive strengths
synthesis 10 2963 1480 666 53% 76 34 nd2a and nr2a cells
synthesis 11 2963 1480 666 53% 79 34 nd2ab type of 2-OR
CyHP library 3778 1539 832 46% 18 17 Minimum size library

In order to achieve this performance with Alliance synthesis, the following functions were coded as netlists.

an2 an2 schematic
an4 an4 schematic
aon21 aon21 schematic
cgn2 cgn2 schematic
or2 or2 schematic
or3 or3 schematic
or4 or4 schematic
xaon21 xaon21 schematic
xooi21 xooi21 schematic
xoon21 xoon21 schematic
UP PREV NEXT