blob: b1097ec5e000d6cc56bbd1ca068cd1cb90d0c434 [file] [log] [blame]
#-----------------------------------------------------------------------
# List of standard gate symbols with mapping to liberty file fields
#
# Y, X refer to logic output pins
# C, S, ... refer specifically to adder carry and sum output pins
# Q, QB refer specifically to flip-flop or latch output pins
# IQ, IQB refers to function entries for flops. "I" is literal.
# A, B, C, ... refer to input pins
# D, R, S, ... refer specifically to flip-flop input pins
# SD refers to scan data input pin for flip-flops
# CI refers specifically to full adder carry-in input
# Z refers to high-impedance state
# & means AND
# | means OR
# ! means NOT
# ( ) groups
#
# Symbol Liberty Liberty
# primitive file field
# name field value ...
#-----------------------------------------------------------------------
AND2 function Y=A&B
AND3 function Y=A&B&C
AND4 function Y=A&B&C&D
AND5 function Y=A&B&C&D&E
AND8 function Y=A&B&C&D&E&F&G&H
AND2I function Y=!A&B
AO21 function Y=(A&B)|C
AO22 function Y=(A&B)|(C&D)
AOI21 function Y=!((A&B)|C)
AOI22 function Y=!((A&B)|(C&D))
NAND2 function Y=!(A&B)
NAND3 function Y=!(A&B&C)
NAND4 function Y=!(A&B&C&D)
NAND5 function Y=!(A&B&C&D&E)
NAND8 function Y=!(A&B&C&D&E&F&G&H)
NAND2I function Y=!(!A&B)
OR2 function Y=A|B
OR3 function Y=A|B|C
OR4 function Y=A|B|C|D
OR5 function Y=A|B|C|D|E
OR8 function Y=A|B|C|D|E|F|G|H
OR2I function Y=!A|B
OA21 function Y=(A|B)&C
OA22 function Y=(A|B)&(C|D)
OAI21 function Y=!((A|B)&C)
OAI22 function Y=!((A|B)&(C|D))
NOR2 function Y=!(A|B)
NOR3 function Y=!(A|B|C)
NOR4 function Y=!(A|B|C|D)
NOR5 function Y=!(A|B|C|D|E)
NOR8 function Y=!(A|B|C|D|E|F|G|H)
NOR2I function Y=!(!A|B)
XOR2 function Y=(A&!B)|(!A&B)
XNOR2 function Y=(A&B)|(!A&!B)
INV function Y=!A
BUF function Y=A
TBUF function Y=A three_state E
TBUFI function Y=A three_state !E
MUX2 function Y=(A&C)|(B&!C)
MUX2I function Y=!((A&!C)|(B&C))
MUX4 function Y=(A&!E&!F)|(B&!E&F)|(C&E&!F)|(D&E&F)
MUX4I function Y=!((A&!E&!F)|(B&!E&F)|(C&E&!F)|(D&E&F))
HA function C=A&B function S=(A&!B)|(!A&B)
FA function C=(A&B)|(A&CI)|(B&CI) function S=(A&B&CI)|(!A&B&!CI)|(!A&!B&CI)|(A&B&CI)
LATCH function Q=IQ enable E data_in D
LATCHI function Q=IQ enable !E data_in D
LATCHR function Q=IQ enable E data_in D clear !R
LATCHIR function Q=IQ enable !E data_in D clear !R
LATCHSR function Q=IQ enable E data_in D preset !S clear !R
LATCHISR function Q=IQ enable E data_in D preset !S clear !R
LATCHQ function Q=IQ QB=IQB enable E data_in D
LATCHIQ function Q=IQ QB=IQB enable !E data_in D
LATCHRQ function Q=IQ QB=IQB enable E data_in D clear !R
LATCHIRQ function Q=IQ QB=IQB enable !E data_in D clear !R
LATCHSRQ function Q=IQ QB=IQB enable E data_in D preset !S clear !R
LATCHISRQ function Q=IQ QB=IQB enable !E data_in D preset !S clear !R
DFF function Q=IQ clocked_on C next_state D
DFFQ function Q=IQ function QB=IQB clocked_on C next_state D
DFFS function Q=IQ clocked_on C next_state D preset !S
DFFR function Q=IQ clocked_on C next_state D clear !R
DFFSR function Q=IQ clocked_on C next_state D preset !S clear !R
DFFSQ function Q=IQ function QB=IQB clocked_on C next_state D preset !S
DFFRQ function Q=IQ function QB=IQB clocked_on C next_state D clear !R
DFFSRQ function Q=IQ function QB=IQB clocked_on C next_state D clear !R preset !S
DFFI function Q=IQ clocked_on !C next_state D
DFFIQ function Q=IQ function QB=IQB clocked_on !C next_state D
DFFIS function Q=IQ clocked_on !C next_state D preset !S
DFFIR function Q=IQ clocked_on !C next_state D clear !R
DFFISR function Q=IQ clocked_on !C next_state D preset !S clear !R
DFFISQ function Q=IQ function QB=IQB clocked_on !C next_state D preset !S
DFFIRQ function Q=IQ function QB=IQB clocked_on !C next_state D clear !R
DFFISRQ function Q=IQ function QB=IQB clocked_on !C next_state D clear !R preset !S
EDFF function Q=IQ clocked_on C next_state (D&E)|(IQ&!E)
EDFFQ function Q=IQ QB=IQB clocked_on C next_state (D&E)|(IQ&!E)
SDFF function Q=IQ clocked_on C next_state (D&!E)|(SD&E)
SDFFQ function Q=IQ QB=IQB clocked_on C next_state (D&!E)|(SD&E)