support for newer NANGATE lib
This commit is contained in:
1 parent
c67148c0ee
commit
83445e2bbd
1 file changed
+29
-10
+29
-10
@@ -92,7 +92,7 @@ class TechLibNew:
|
|||||||
return self.cells[kind][1][pin][1]
|
return self.cells[kind][1][pin][1]
|
||||||
|
|
||||||
|
|
||||||
NANGATE = TechLibNew(r"""
|
_nangate_common = r"""
|
||||||
FILLCELL_X{1,2,4,8,16,32} ;
|
FILLCELL_X{1,2,4,8,16,32} ;
|
||||||
|
|
||||||
LOGIC0_X1 output(Z) Z=__const0__() ;
|
LOGIC0_X1 output(Z) Z=__const0__() ;
|
||||||
@@ -100,22 +100,13 @@ LOGIC1_X1 output(Z) Z=__const1__() ;
|
|||||||
|
|
||||||
BUF_X{1,2,4,8,16,32} input(A) output(Z) Z=BUF1(A) ;
|
BUF_X{1,2,4,8,16,32} input(A) output(Z) Z=BUF1(A) ;
|
||||||
CLKBUF_X{1,2,3} input(A) output(Z) Z=BUF1(A) ;
|
CLKBUF_X{1,2,3} input(A) output(Z) Z=BUF1(A) ;
|
||||||
INV_X{1,2,4,8,16,32} input(A) output(ZN) ZN=INV1(A) ;
|
|
||||||
|
|
||||||
AND2_X{1,2,4} input(A1,A2) output(ZN) ZN=AND2(A1,A2) ;
|
|
||||||
AND3_X{1,2,4} input(A1,A2,A3) output(ZN) ZN=AND3(A1,A2,A3) ;
|
|
||||||
AND4_X{1,2,4} input(A1,A2,A3,A4) output(ZN) ZN=AND4(A1,A2,A3,A4) ;
|
|
||||||
NAND2_X{1,2,4} input(A1,A2) output(ZN) ZN=NAND2(A1,A2) ;
|
NAND2_X{1,2,4} input(A1,A2) output(ZN) ZN=NAND2(A1,A2) ;
|
||||||
NAND3_X{1,2,4} input(A1,A2,A3) output(ZN) ZN=NAND3(A1,A2,A3) ;
|
NAND3_X{1,2,4} input(A1,A2,A3) output(ZN) ZN=NAND3(A1,A2,A3) ;
|
||||||
NAND4_X{1,2,4} input(A1,A2,A3,A4) output(ZN) ZN=NAND4(A1,A2,A3,A4) ;
|
NAND4_X{1,2,4} input(A1,A2,A3,A4) output(ZN) ZN=NAND4(A1,A2,A3,A4) ;
|
||||||
OR2_X{1,2,4} input(A1,A2) output(ZN) ZN=OR2(A1,A2) ;
|
|
||||||
OR3_X{1,2,4} input(A1,A2,A3) output(ZN) ZN=OR3(A1,A2,A3) ;
|
|
||||||
OR4_X{1,2,4} input(A1,A2,A3,A4) output(ZN) ZN=OR4(A1,A2,A3,A4) ;
|
|
||||||
NOR2_X{1,2,4} input(A1,A2) output(ZN) ZN=NOR2(A1,A2) ;
|
NOR2_X{1,2,4} input(A1,A2) output(ZN) ZN=NOR2(A1,A2) ;
|
||||||
NOR3_X{1,2,4} input(A1,A2,A3) output(ZN) ZN=NOR3(A1,A2,A3) ;
|
NOR3_X{1,2,4} input(A1,A2,A3) output(ZN) ZN=NOR3(A1,A2,A3) ;
|
||||||
NOR4_X{1,2,4} input(A1,A2,A3,A4) output(ZN) ZN=NOR4(A1,A2,A3,A4) ;
|
NOR4_X{1,2,4} input(A1,A2,A3,A4) output(ZN) ZN=NOR4(A1,A2,A3,A4) ;
|
||||||
XOR2_X{1,2} input(A,B) output(Z) Z=XOR2(A,B) ;
|
|
||||||
XNOR2_X{1,2} input(A,B) output(ZN) ZN=XNOR2(A,B) ;
|
|
||||||
|
|
||||||
AOI21_X{1,2,4} input(A,B1,B2) output(ZN) ZN=AOI21(B1,B2,A) ;
|
AOI21_X{1,2,4} input(A,B1,B2) output(ZN) ZN=AOI21(B1,B2,A) ;
|
||||||
OAI21_X{1,2,4} input(A,B1,B2) output(ZN) ZN=OAI21(B1,B2,A) ;
|
OAI21_X{1,2,4} input(A,B1,B2) output(ZN) ZN=OAI21(B1,B2,A) ;
|
||||||
@@ -159,6 +150,34 @@ TLAT_X1 input(D,G,OE) output(Q) Q=LATCH(D,G) ;
|
|||||||
|
|
||||||
DLH_X{1,2} input(D,G) output(Q) Q=LATCH(D,G) ;
|
DLH_X{1,2} input(D,G) output(Q) Q=LATCH(D,G) ;
|
||||||
DLL_X{1,2} input(D,GN) output(Q) G=INV1(GN) Q=LATCH(D,G) ;
|
DLL_X{1,2} input(D,GN) output(Q) G=INV1(GN) Q=LATCH(D,G) ;
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
NANGATE_ZN = TechLibNew(_nangate_common + r"""
|
||||||
|
INV_X{1,2,4,8,16,32} input(A) output(ZN) ZN=INV1(A) ;
|
||||||
|
|
||||||
|
AND2_X{1,2,4} input(A1,A2) output(ZN) ZN=AND2(A1,A2) ;
|
||||||
|
AND3_X{1,2,4} input(A1,A2,A3) output(ZN) ZN=AND3(A1,A2,A3) ;
|
||||||
|
AND4_X{1,2,4} input(A1,A2,A3,A4) output(ZN) ZN=AND4(A1,A2,A3,A4) ;
|
||||||
|
OR2_X{1,2,4} input(A1,A2) output(ZN) ZN=OR2(A1,A2) ;
|
||||||
|
OR3_X{1,2,4} input(A1,A2,A3) output(ZN) ZN=OR3(A1,A2,A3) ;
|
||||||
|
OR4_X{1,2,4} input(A1,A2,A3,A4) output(ZN) ZN=OR4(A1,A2,A3,A4) ;
|
||||||
|
XOR2_X{1,2} input(A,B) output(Z) Z=XOR2(A,B) ;
|
||||||
|
XNOR2_X{1,2} input(A,B) output(ZN) ZN=XNOR2(A,B) ;
|
||||||
|
""")
|
||||||
|
|
||||||
|
|
||||||
|
NANGATE = TechLibNew(_nangate_common + r"""
|
||||||
|
INV_X{1,2,4,8,16,32} input(I) output(ZN) ZN=INV1(I) ;
|
||||||
|
|
||||||
|
AND2_X{1,2,4} input(A1,A2) output(Z) Z=AND2(A1,A2) ;
|
||||||
|
AND3_X{1,2,4} input(A1,A2,A3) output(Z) Z=AND3(A1,A2,A3) ;
|
||||||
|
AND4_X{1,2,4} input(A1,A2,A3,A4) output(Z) Z=AND4(A1,A2,A3,A4) ;
|
||||||
|
OR2_X{1,2,4} input(A1,A2) output(Z) Z=OR2(A1,A2) ;
|
||||||
|
OR3_X{1,2,4} input(A1,A2,A3) output(Z) Z=OR3(A1,A2,A3) ;
|
||||||
|
OR4_X{1,2,4} input(A1,A2,A3,A4) output(Z) Z=OR4(A1,A2,A3,A4) ;
|
||||||
|
XOR2_X{1,2} input(A1,A2) output(Z) Z=XOR2(A1,A2) ;
|
||||||
|
XNOR2_X{1,2} input(A1,A2) output(ZN) ZN=XNOR2(A1,A2) ;
|
||||||
""")
|
""")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user