model NAND2_X1(A1, A2, ZN) (
cell_type = NAND;
input(A1, A2) ()
output(ZN) (primitive = _nand(A1, A2, YZN)
)
while the definition in stdcells.lib in freepdk is like:
/******************************************************************************************
Module : NAND2_X1
Cell Description : Combinational cell (NAND2_X1) with drive strength X1
*******************************************************************************************/
cell (NAND2_X1) {
drive_strength : 1;
area : 0.798000;
pg_pin(VDD) {
voltage_name : VDD;
pg_type : primary_power;
}
pg_pin(VSS) {
voltage_name : VSS;
pg_type : primary_ground;
}
cell_leakage_power : 17.393360;
leakage_power () {
when : "!A1 & !A2";
value : 3.482556;
}
leakage_power () {
when : "!A1 & A2";
value : 24.799456;
}
leakage_power () {
when : "A1 & !A2";
value : 4.085038;
}
leakage_power () {
when : "A1 & A2";
value : 37.206389;
}
pin (A1) {
direction : input;
related_power_pin : "VDD";
related_ground_pin : "VSS";
capacitance : 1.599032;
fall_capacitance : 1.529196;
rise_capacitance : 1.599032;
}
pin (A2) {
direction : input;
related_power_pin : "VDD";
related_ground_pin : "VSS";
capacitance : 1.664199;
fall_capacitance : 1.502278;
rise_capacitance : 1.664199;
}
pin (ZN) {
direction : output;
related_power_pin : "VDD";
related_ground_pin : "VSS";
max_capacitance : 59.356700;
function : "!(A1 & A2)";
.
.
.