saed32nm
This commit is contained in:
1 parent
50a5d8a290
commit
1e9fe7707b
1 file changed
+92
-2
+92
-2
@@ -204,7 +204,8 @@ DLL_X{1,2} input(D,GN) output(Q) G=INV1(GN) Q=LATCH(D,G) ;
|
||||
""")
|
||||
|
||||
|
||||
# SAED90nm library. unsupported: negative-edge flip-flops, tri-state, latches, clock gating, level shifters
|
||||
# SAED90nm and SAED32nm libraries.
|
||||
# not included here: negative-edge flip-flops, tri-state, latches, clock gating, level shifters
|
||||
|
||||
saed90 = TechLibNew(r"""
|
||||
NBUFFX{2,4,8,16,32}$ input(INP) output(Z) Z=BUF1(INP) ;
|
||||
@@ -288,4 +289,93 @@ SDFFASRX{1,2}$ input(D,CLK,RSTB,SETB,SE,SI) output(Q,QN) DR=AND2(D,RSTB) SET=IN
|
||||
SDFFASX{1,2}$ input(D,CLK,SETB,SE,SI) output(Q,QN) SET=INV1(SETB) DS=OR2(D,SET) DI=MUX21(DS,SI,SE) Q=DFF(DI,CLK) QN=INV1(Q) ;
|
||||
SDFFSSRX{1,2}$ input(CLK,D,RSTB,SETB,SI,SE) output(Q,QN) DR=AND2(D,RSTB) SET=INV1(SETB) DRS=OR2(DR,SET) DI=MUX21(DRS,SI,SE) Q=DFF(DI,CLK) QN=INV1(Q) ;
|
||||
SDFFX{1,2}$ input(D,CLK,SE,SI) output(Q,QN) DI=MUX21(D,SI,SE) Q=DFF(DI,CLK) QN=INV1(Q) ;
|
||||
""".replace('$','{,_LVT,_HVT}'))
|
||||
""".replace('$','{,_LVT,_HVT}'))
|
||||
|
||||
|
||||
saed32 = TechLibNew(r"""
|
||||
NBUFFX{2,4,8,16,32}$ input(A) output(Y) Y=BUF1(A) ;
|
||||
AOBUFX{1,2,4}$ input(A) output(Y) Y=BUF1(A) ;
|
||||
DELLN{1,2,3}X2$ input(A) output(Y) Y=BUF1(A) ;
|
||||
|
||||
INVX{0,1,2,4,8,16,32}$ input(A) output(Y) Y=INV1(A) ;
|
||||
AOINVX{1,2,4}$ input(A) output(Y) Y=INV1(A) ;
|
||||
IBUFFX{2,4,8,16,32}$ input(A) output(Y) Y=INV1(A) ;
|
||||
|
||||
TIEH$ output(Y) Y=__const1__() ;
|
||||
TIEL$ output(Y) Y=__const0__() ;
|
||||
|
||||
HEAD2X{2,4,8,16,32}$ input(SLEEP) output(SLEEPOUT) SLEEPOUT=BUF1(SLEEP) ;
|
||||
HEADX{2,4,8,16,32}$ input(SLEEP) ;
|
||||
|
||||
FOOT2X{2,4,8,16,32}$ input(SLEEP) output(SLEEPOUT) SLEEPOUT=BUF1(SLEEP) ;
|
||||
FOOTX{2,4,8,16,32}$ input(SLEEP) ;
|
||||
|
||||
ANTENNA$ input(INP) ;
|
||||
CLOAD1$ input(A) ;
|
||||
DCAP$ ;
|
||||
DHFILLH2$ ;
|
||||
DHFILLHL2$ ;
|
||||
DHFILLHLHLS11$ ;
|
||||
SHFILL{1,2,3,64,128}$ ;
|
||||
|
||||
AND2X{1,2,4}$ input(A1,A2) output(Y) Y=AND2(A1,A2) ;
|
||||
AND3X{1,2,4}$ input(A1,A2,A3) output(Y) Y=AND3(A1,A2,A3) ;
|
||||
AND4X{1,2,4}$ input(A1,A2,A3,A4) output(Y) Y=AND4(A1,A2,A3,A4) ;
|
||||
OR2X{1,2,4}$ input(A1,A2) output(Y) Y=OR2(A1,A2) ;
|
||||
OR3X{1,2,4}$ input(A1,A2,A3) output(Y) Y=OR3(A1,A2,A3) ;
|
||||
OR4X{1,2,4}$ input(A1,A2,A3,A4) output(Y) Y=OR4(A1,A2,A3,A4) ;
|
||||
XOR2X{1,2}$ input(A1,A2) output(Y) Y=XOR2(A1,A2) ;
|
||||
XOR3X{1,2}$ input(A1,A2,A3) output(Y) Y=XOR3(A1,A2,A3) ;
|
||||
NAND2X{0,1,2,4}$ input(A1,A2) output(Y) Y=NAND2(A1,A2) ;
|
||||
NAND3X{0,1,2,4}$ input(A1,A2,A3) output(Y) Y=NAND3(A1,A2,A3) ;
|
||||
NAND4X{0,1}$ input(A1,A2,A3,A4) output(Y) Y=NAND4(A1,A2,A3,A4) ;
|
||||
NOR2X{0,1,2,4}$ input(A1,A2) output(Y) Y=NOR2(A1,A2) ;
|
||||
NOR3X{0,1,2,4}$ input(A1,A2,A3) output(Y) Y=NOR3(A1,A2,A3) ;
|
||||
NOR4X{0,1}$ input(A1,A2,A3,A4) output(Y) Y=NOR4(A1,A2,A3,A4) ;
|
||||
XNOR2X{1,2}$ input(A1,A2) output(Y) Y=XNOR2(A1,A2) ;
|
||||
XNOR3X{1,2}$ input(A1,A2,A3) output(Y) Y=XNOR3(A1,A2,A3) ;
|
||||
|
||||
ISOLAND{,AO}X{1,2,4,8}$ input(ISO,D) output(Q) ISOB=NOT1(ISO) Q=AND2(ISOB,D) ;
|
||||
ISOLOR{,AO}X{1,2,4,8}$ input(ISO,D) output(Q) Q=OR2(ISO,D) ;
|
||||
|
||||
AO21X{1,2}$ input(A1,A2,A3) output(Y) Y=AO21(A1,A2,A3) ;
|
||||
OA21X{1,2}$ input(A1,A2,A3) output(Y) Y=OA21(A1,A2,A3) ;
|
||||
AOI21X{1,2}$ input(A1,A2,A3) output(Y) Y=AOI21(A1,A2,A3) ;
|
||||
OAI21X{1,2}$ input(A1,A2,A3) output(Y) Y=OAI21(A1,A2,A3) ;
|
||||
|
||||
AO22X{1,2}$ input(A1,A2,A3,A4) output(Y) Y=AO22(A1,A2,A3,A4) ;
|
||||
OA22X{1,2}$ input(A1,A2,A3,A4) output(Y) Y=OA22(A1,A2,A3,A4) ;
|
||||
AOI22X{1,2}$ input(A1,A2,A3,A4) output(Y) Y=AOI22(A1,A2,A3,A4) ;
|
||||
OAI22X{1,2}$ input(A1,A2,A3,A4) output(Y) Y=OAI22(A1,A2,A3,A4) ;
|
||||
|
||||
MUX21X{1,2}$ input(A1,A2,S0) output(Y) Y=MUX21(A1,A2,S0) ;
|
||||
|
||||
AO221X{1,2}$ input(A1,A2,A3,A4,A5) output(Y) A=AO22(A1,A2,A3,A4) Y=OR2(A5,A) ;
|
||||
OA221X{1,2}$ input(A1,A2,A3,A4,A5) output(Y) A=OA22(A1,A2,A3,A4) Y=AND2(A5,A) ;
|
||||
AOI221X{1,2}$ input(A1,A2,A3,A4,A5) output(Y) A=AO22(A1,A2,A3,A4) Y=NOR2(A5,A) ;
|
||||
OAI221X{1,2}$ input(A1,A2,A3,A4,A5) output(Y) A=OA22(A1,A2,A3,A4) Y=NAND2(A5,A) ;
|
||||
|
||||
AO222X{1,2}$ input(A1,A2,A3,A4,A5,A6) output(Y) A=AO22(A1,A2,A3,A4) Y=AO21(A5,A6,A) ;
|
||||
OA222X{1,2}$ input(A1,A2,A3,A4,A5,A6) output(Y) A=OA22(A1,A2,A3,A4) Y=OA21(A5,A6,A) ;
|
||||
AOI222X{1,2}$ input(A1,A2,A3,A4,A5,A6) output(Y) A=AO22(A1,A2,A3,A4) Y=AOI21(A5,A6,A) ;
|
||||
OAI222X{1,2}$ input(A1,A2,A3,A4,A5,A6) output(Y) A=OA22(A1,A2,A3,A4) Y=OAI21(A5,A6,A) ;
|
||||
|
||||
MUX41X{1,2}$ input(A1,A2,A3,A4,S0,S1) output(Y) A=MUX21(A1,A2,S0) B=MUX21(A3,A4,S0) Y=MUX21(A,B,S1) ;
|
||||
|
||||
DEC24X{1,2}$ input(A0,A1) output(Y0,Y1,Y2,Y3) A0B=INV1(A0) A1B=INV1(A1) Y0=NOR2(A0,A1) Y1=AND(A0,A1B) Y2=AND(A0B,A1) Y3=AND(A0,A1) ;
|
||||
FADDX{1,2}$ input(A,B,CI) output(S,CO) AB=XOR2(A,B) CO=XOR(AB,CI) S=AO22(AB,CI,A,B) ;
|
||||
HADDX{1,2}$ input(A0,B0) output(SO,C1) C1=XOR2(A0,B0) SO=AND2(A0,B0) ;
|
||||
|
||||
{,AO}DFFARX{1,2}$ input(D,CLK,RSTB) output(Q,QN) DR=AND2(D,RSTB) Q=DFF(DR,CLK) QN=INV1(Q) ;
|
||||
DFFASRX{1,2}$ input(D,CLK,RSTB,SETB) output(Q,QN) DR=AND2(D,RSTB) SET=INV1(SETB) DRS=OR2(DR,SET) Q=DFF(DRS,CLK) QN=INV1(Q) ;
|
||||
DFFASX{1,2}$ input(D,CLK,SETB) output(Q,QN) SET=INV1(SETB) DS=OR2(D,SET) Q=DFF(DS,CLK) QN=INV1(Q) ;
|
||||
DFFSSRX{1,2}$ input(CLK,D,RSTB,SETB) output(Q,QN) DR=AND2(D,RSTB) SET=INV1(SETB) DRS=OR2(DR,SET) Q=DFF(DRS,CLK) QN=INV1(Q) ;
|
||||
DFFX{1,2}$ input(D,CLK) output(Q,QN) Q=DFF(D,CLK) QN=INV1(Q) ;
|
||||
|
||||
SDFFARX{1,2}$ input(D,CLK,RSTB,SE,SI) output(Q,QN) DR=AND2(D,RSTB) DI=MUX21(DR,SI,SE) Q=DFF(DI,CLK) QN=INV1(Q) ;
|
||||
SDFFASRSX{1,2}$ input(D,CLK,RSTB,SETB,SE,SI) output(Q,QN,SO) DR=AND2(D,RSTB) SET=INV1(SETB) DRS=OR2(DR,SET) DI=MUX21(DRS,SI,SE) Q=DFF(DI,CLK) QN=INV1(Q) SO=BUF1(Q) ;
|
||||
SDFFASRX{1,2}$ input(D,CLK,RSTB,SETB,SE,SI) output(Q,QN) DR=AND2(D,RSTB) SET=INV1(SETB) DRS=OR2(DR,SET) DI=MUX21(DRS,SI,SE) Q=DFF(DI,CLK) QN=INV1(Q) ;
|
||||
SDFFASX{1,2}$ input(D,CLK,SETB,SE,SI) output(Q,QN) SET=INV1(SETB) DS=OR2(D,SET) DI=MUX21(DS,SI,SE) Q=DFF(DI,CLK) QN=INV1(Q) ;
|
||||
SDFFSSRX{1,2}$ input(CLK,D,RSTB,SETB,SI,SE) output(Q,QN) DR=AND2(D,RSTB) SET=INV1(SETB) DRS=OR2(DR,SET) DI=MUX21(DRS,SI,SE) Q=DFF(DI,CLK) QN=INV1(Q) ;
|
||||
SDFFX{1,2}$ input(D,CLK,SE,SI) output(Q,QN) DI=MUX21(D,SI,SE) Q=DFF(DI,CLK) QN=INV1(Q) ;
|
||||
""".replace('$','_RVT'))
|
||||
Reference in new issue
Block a user