URL
https://opencores.org/ocsvn/sdcard_mass_storage_controller/sdcard_mass_storage_controller/trunk
Subversion Repositories sdcard_mass_storage_controller
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 12 to Rev 13
- ↔ Reverse comparison
Rev 12 → Rev 13
/sdcard_mass_storage_controller/trunk/backend/Actel/proasic3_redused.v
0,0 → 1,2423
/******************************************************************** |
Actel ProASIC3 Verilog Library |
NAME: proasic3.v |
DATE: Oct 31, 2006 |
*********************************************************************/ |
|
`timescale 1 ns / 100 ps |
|
//---------------------------------------------------------------------- |
//--- VERILOG LIBRRAY PRIMITIVE SECTION |
//---------------------------------------------------------------------- |
|
|
|
primitive Dffpr (Q, D, CLK, CLR, PRE, E, NOTIFIER_REG); |
output Q; |
input NOTIFIER_REG; |
input D, CLK, E, CLR, PRE; |
reg Q; |
|
table |
|
// D CLK CLR PRE E NOTIFIER_REG : Qt : Qt+1 |
|
1 (01) 1 1 0 ? : ? : 1; // clocked data |
0 (01) 1 1 0 ? : ? : 0; // clocked data |
1 (01) 1 1 x ? : 1 : 1; // clocked data |
0 (01) 1 1 x ? : 0 : 0; |
0 (01) 1 1 x ? : 1 : x; |
1 (01) 1 1 x ? : 0 : x; |
0 (01) x 1 0 ? : ? : 0; // pessimism |
1 (01) 1 x 0 ? : ? : 1; // pessimism |
? ? 1 x ? ? : 1 : 1; // pessimism |
0 ? 1 x ? ? : x : x; // pessimism |
? ? 1 x ? ? : 0 : x; |
? ? x x ? ? : ? : x; |
? ? x 0 ? ? : ? : x; |
? ? x 1 ? ? : 0 : 0; |
? ? x 1 ? ? : 1 : x; |
? ? 0 ? ? ? : ? : 0; |
? ? 1 0 ? ? : ? : 1; |
1 (x1) 1 1 0 ? : 1 : 1; // reducing pessimism |
0 (x1) 1 1 0 ? : 0 : 0; |
1 (0x) 1 1 0 ? : 1 : 1; |
0 (0x) 1 1 0 ? : 0 : 0; |
1 (x1) 1 1 x ? : 1 : 1; // reducing pessimism |
0 (x1) 1 1 x ? : 0 : 0; |
1 (0x) 1 1 x ? : 1 : 1; |
0 (0x) 1 1 x ? : 0 : 0; |
? (?1) 1 1 1 ? : ? : -; //no action for CE = 1 |
? (0x) 1 1 1 ? : ? : -; //no action for CE = 1 |
? ? ? ? * ? : ? : -; |
? (?0) ? ? ? ? : ? : -; // ignore falling clock |
? (1x) ? ? ? ? : ? : -; // ignore falling clock |
* ? ? ? ? ? : ? : -; // ignore data edges |
? ? (?1) ? ? ? : ? : -; // ignore the edges on |
? ? ? (?1) ? ? : ? : -; // set and clear |
? ? ? ? ? * : ? : x; |
|
endtable |
endprimitive |
|
|
primitive UDP_MUX2 (Q, A, B, SL); |
output Q; |
input A, B, SL; |
|
// FUNCTION : TWO TO ONE MULTIPLEXER |
|
table |
// A B SL : Q |
0 0 ? : 0 ; |
1 1 ? : 1 ; |
|
0 ? 1 : 0 ; |
1 ? 1 : 1 ; |
|
? 0 0 : 0 ; |
? 1 0 : 1 ; |
|
endtable |
endprimitive |
|
|
|
primitive UDPN_MUX2 (Q, A, B, SL); |
output Q; |
input A, B, SL; |
|
// FUNCTION : TWO TO ONE MULTIPLEXER |
|
table |
// A B SL : Q |
0 0 ? : 1 ; |
1 1 ? : 0 ; |
|
0 ? 1 : 1 ; |
1 ? 1 : 0 ; |
|
? 0 0 : 1 ; |
? 1 0 : 0 ; |
|
endtable |
endprimitive |
|
|
primitive UFPRB (Q, D, CP, RB, NOTIFIER_REG); |
|
output Q; |
input NOTIFIER_REG, |
D, CP, RB; |
reg Q; |
|
// FUNCTION : POSITIVE EDGE TRIGGERED D FLIP-FLOP WITH ACTIVE LOW |
// ASYNCHRONOUS CLEAR ( Q OUTPUT UDP ). |
|
table |
// D CP RB NOTIFIER_REG : Qt : Qt+1 |
|
1 (01) 1 ? : ? : 1; // clocked data |
0 (01) 1 ? : ? : 0; |
|
0 (01) x ? : ? : 0; // pessimism |
0 ? x ? : 0 : 0; // pessimism |
|
1 0 x ? : 0 : 0; // pessimism |
1 x (?x) ? : 0 : 0; // pessimism |
1 1 (?x) ? : 0 : 0; // pessimism |
x 0 x ? : 0 : 0; // pessimism |
x x (?x) ? : 0 : 0; // pessimism |
x 1 (?x) ? : 0 : 0; // pessimism |
1 (x1) 1 ? : 1 : 1; // reducing pessimism |
0 (x1) 1 ? : 0 : 0; |
1 (0x) 1 ? : 1 : 1; |
0 (0x) 1 ? : 0 : 0; |
? ? 0 ? : ? : 0; // asynchronous clear |
? (?0) ? ? : ? : -; // ignore falling clock |
? (1x) ? ? : ? : -; // ignore falling clock |
* ? ? ? : ? : -; // ignore the edges on data |
? ? (?1) ? : ? : -; // ignore the edges on clear |
? ? ? * : ? : x; |
endtable |
endprimitive |
|
|
|
|
//---------------------------------------------------------------------- |
//--- VERILOG LIBRRAY MODULES SECTION |
//---------------------------------------------------------------------- |
|
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : AND2 |
CELL TYPE : comb |
CELL LOGIC : Y = A & B |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module AND2(Y,A,B); |
input A,B; |
output Y; |
|
and U2(Y, A, B); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : AO1 |
CELL TYPE : comb |
CELL LOGIC : Y = (A & B) + C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module AO1(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
and U142(NET_0_0, A, B); |
or U143(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : AO1A |
CELL TYPE : comb |
CELL LOGIC : Y = (!A & B) + C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module AO1A(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_31(A_, A); |
and U147(NET_0_0, A_, B); |
or U148(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
/*-------------------------------------------------------------------- |
CELL NAME : AO1B |
CELL TYPE : comb |
CELL LOGIC : Y = (A & B) + !C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module AO1B(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_32(C_, C); |
and U152(NET_0_0, A, B); |
or U153(Y, NET_0_0, C_); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : AO1D |
CELL TYPE : comb |
CELL LOGIC : Y = (!A & !B) + C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module AO1D(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_35(A_, A); |
not INV_36(B_, B); |
and U162(NET_0_0, A_, B_); |
or U163(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : AOI1 |
CELL TYPE : comb |
CELL LOGIC : Y = !(A & B + C) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module AOI1(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
and U192(NET_0_0, A, B); |
nor U193(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : AOI1B |
CELL TYPE : comb |
CELL LOGIC : Y = !(A & B + !C) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module AOI1B(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_45(C_, C); |
and U202(NET_0_0, A, B); |
nor U203(Y, NET_0_0, C_); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : AO1C |
CELL TYPE : comb |
CELL LOGIC : Y = (!A & B) + !C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module AO1C(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_33(A_, A); |
not INV_34(C_, C); |
and U157(NET_0_0, A_, B); |
or U158(Y, NET_0_0, C_); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
/*-------------------------------------------------------------------- |
CELL NAME : AX1 |
CELL TYPE : comb |
CELL LOGIC : Y = (!A & B) ^ C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module AX1(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_57(A_, A); |
and U245(NET_0_0, A_, B); |
xor U246(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : AX1B |
CELL TYPE : comb |
CELL LOGIC : Y = (!A & !B) ^ C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module AX1B(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_59(A_, A); |
not INV_60(B_, B); |
and U255(NET_0_0, A_, B_); |
xor U256(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : AX1C |
CELL TYPE : comb |
CELL LOGIC : Y = (A & B) ^ C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module AX1C(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
and U260(NET_0_0, A, B); |
xor U261(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : AX1D |
CELL TYPE : comb |
CELL LOGIC : Y = !((!A & !B) ^ C) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module AX1D(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_61(A_, A); |
not INV_62(B_, B); |
and U265(NET_0_0, A_, B_); |
xnor U266(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : AX1E |
CELL TYPE : comb |
CELL LOGIC : Y = !((A & B) ^ C) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module AX1E(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
and U270(NET_0_0, A, B); |
xnor U271(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
/*-------------------------------------------------------------------- |
CELL NAME : CLKINT |
CELL TYPE : comb |
CELL LOGIC : Y = A |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module CLKINT(Y,A); |
input A; |
output Y; |
|
assign Y = A; |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
|
|
/*-------------------------------------------------------------- |
CELL NAME : DFN1C1 |
CELL TYPE : sequential Logic |
CELL SEQ EQN : DFF[Q=Q,CLK =CLK, CLR=CLR, D=D ]; |
----------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module DFN1C1(CLR, CLK, Q,D); |
input D,CLR,CLK; |
output Q; |
reg NOTIFY_REG; |
|
not INV_CLR_0(CLR_0, CLR); |
|
UFPRB DF_0( Q, D, CLK, CLR_0, NOTIFY_REG ); |
|
// some temp signals created for timing checking sections |
|
not U0_I2 (_CLR0, CLR); |
buf U_c0 (Enable01,_CLR0); |
buf U_c2 (Enable02, _CLR0); |
buf U_c6 (Enable05, _CLR0); |
|
//-------------------------------------------------------------- |
// Timing Checking Section |
//------------------------------------------------------------- |
|
specify |
|
specparam tpdLH_CLK_to_Q = (0.1:0.1:0.1); |
specparam tpdHL_CLK_to_Q = (0.1:0.1:0.1); |
specparam tpdLH_CLR_to_Q = (0.1:0.1:0.1); |
specparam tpdHL_CLR_to_Q = (0.1:0.1:0.1); |
|
|
|
//check timing delay for output |
|
(posedge CLK => (Q +: D))=(tpdLH_CLK_to_Q, tpdHL_CLK_to_Q); |
(posedge CLR => (Q +: 1'b0)) = (tpdLH_CLR_to_Q, tpdHL_CLR_to_Q); |
|
//checking setup and hold timing for inputs |
|
$setup(posedge D,posedge CLK &&& Enable01, 0.0, NOTIFY_REG); |
$setup(negedge D,posedge CLK &&& Enable01, 0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable01, posedge D,0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable01, negedge D,0.0, NOTIFY_REG); |
|
//checking timing for control signals |
|
$hold(posedge CLK, negedge CLR,0.0, NOTIFY_REG); |
|
//checking the pulse width |
|
$width(posedge CLK &&& Enable05 ,0, 0, NOTIFY_REG); |
$width(negedge CLK &&& Enable05, 0, 0, NOTIFY_REG); |
$width(posedge CLR, 0.0, 0, NOTIFY_REG); |
|
//checing the recovery data |
|
$recovery(negedge CLR, posedge CLK, 0.0, NOTIFY_REG); |
|
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
/*-------------------------------------------------------------- |
CELL NAME : DFN1E1C1 |
CELL TYPE : sequential Logic |
CELL SEQ EQN : DFF[Q=Q,CLK =CLK, E=E, CLR=CLR, D=D ]; |
----------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module DFN1E1C1(CLR, E, CLK, Q,D); |
input D,CLR,E,CLK; |
output Q; |
supply1 VCC_0; |
reg NOTIFY_REG; |
|
not INV_CLR_0(CLR_0, CLR); |
not INV_EN_0(E_0, E); |
|
Dffpr DF_0(Q, D,CLK,CLR_0, VCC_0, E_0, NOTIFY_REG); |
|
// some temp signals created for timing checking sections |
|
not U0_I2 (_CLR0, CLR); |
and U_c0 (Enable01, E, _CLR0); |
and U_c2 (Enable02, E, _CLR0); |
buf U_c4 (Enable04, E); |
buf U_c6 (Enable05, _CLR0); |
|
//-------------------------------------------------------------- |
// Timing Checking Section |
//------------------------------------------------------------- |
|
specify |
|
specparam tpdLH_CLK_to_Q = (0.1:0.1:0.1); |
specparam tpdHL_CLK_to_Q = (0.1:0.1:0.1); |
specparam tpdLH_CLR_to_Q = (0.1:0.1:0.1); |
specparam tpdHL_CLR_to_Q = (0.1:0.1:0.1); |
|
|
|
//check timing delay for output |
|
(posedge CLK => (Q +: D))=(tpdLH_CLK_to_Q, tpdHL_CLK_to_Q); |
(posedge CLR => (Q +: 1'b0)) = (tpdLH_CLR_to_Q, tpdHL_CLR_to_Q); |
|
//checking setup and hold timing for inputs |
|
$setup(posedge D,posedge CLK &&& Enable01, 0.0, NOTIFY_REG); |
$setup(negedge D,posedge CLK &&& Enable01, 0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable01, posedge D,0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable01, negedge D,0.0, NOTIFY_REG); |
|
//checking timing for control signals |
|
$setup(posedge E,posedge CLK &&& Enable05, 0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable05, posedge E,0.0, NOTIFY_REG); |
$setup(negedge E,posedge CLK &&& Enable05, 0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable05, negedge E,0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable04, negedge CLR,0.0, NOTIFY_REG); |
|
//checking the pulse width |
|
$width(posedge CLK &&& Enable05 ,0, 0, NOTIFY_REG); |
$width(negedge CLK &&& Enable05, 0, 0, NOTIFY_REG); |
$width(posedge CLR, 0.0, 0, NOTIFY_REG); |
|
//checing the recovery data |
|
$recovery(negedge CLR, posedge CLK &&& Enable04, 0.0, NOTIFY_REG); |
|
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
|
/*-------------------------------------------------------------- |
CELL NAME : DFN1E0C1 |
CELL TYPE : sequential Logic |
CELL SEQ EQN : DFF[Q=Q,CLK =CLK, _E=E, CLR=CLR, D=D ]; |
----------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module DFN1E0C1(CLR, E, CLK, Q,D); |
input D,CLR,E,CLK; |
output Q; |
supply1 VCC_0; |
reg NOTIFY_REG; |
|
not INV_CLR_0(CLR_0, CLR); |
|
Dffpr DF_0(Q, D,CLK,CLR_0, VCC_0, E, NOTIFY_REG); |
|
// some temp signals created for timing checking sections |
|
not U0_I2 (_CLR0, CLR); |
not U0_I3 (_E0, E); |
and U_c0 (Enable01, _E0, _CLR0); |
and U_c2 (Enable02, _E0, _CLR0); |
buf U_c4 (Enable04, _E0); |
buf U_c6 (Enable05, _CLR0); |
|
//-------------------------------------------------------------- |
// Timing Checking Section |
//------------------------------------------------------------- |
|
specify |
|
specparam tpdLH_CLK_to_Q = (0.1:0.1:0.1); |
specparam tpdHL_CLK_to_Q = (0.1:0.1:0.1); |
specparam tpdLH_CLR_to_Q = (0.1:0.1:0.1); |
specparam tpdHL_CLR_to_Q = (0.1:0.1:0.1); |
|
|
|
//check timing delay for output |
|
(posedge CLK => (Q +: D))=(tpdLH_CLK_to_Q, tpdHL_CLK_to_Q); |
(posedge CLR => (Q +: 1'b0)) = (tpdLH_CLR_to_Q, tpdHL_CLR_to_Q); |
|
//checking setup and hold timing for inputs |
|
$setup(posedge D,posedge CLK &&& Enable01, 0.0, NOTIFY_REG); |
$setup(negedge D,posedge CLK &&& Enable01, 0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable01, posedge D,0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable01, negedge D,0.0, NOTIFY_REG); |
|
//checking timing for control signals |
|
$setup(posedge E,posedge CLK &&& Enable05, 0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable05, posedge E,0.0, NOTIFY_REG); |
$setup(negedge E,posedge CLK &&& Enable05, 0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable05, negedge E,0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable04, negedge CLR,0.0, NOTIFY_REG); |
|
//checking the pulse width |
|
$width(posedge CLK &&& Enable05 ,0, 0, NOTIFY_REG); |
$width(negedge CLK &&& Enable05, 0, 0, NOTIFY_REG); |
$width(posedge CLR, 0.0, 0, NOTIFY_REG); |
|
//checing the recovery data |
|
$recovery(negedge CLR, posedge CLK &&& Enable04, 0.0, NOTIFY_REG); |
|
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
|
/*-------------------------------------------------------------- |
CELL NAME : DFN1E1P1 |
CELL TYPE : sequential Logic |
CELL SEQ EQN : DFF[Q=Q,CLK =CLK, E=E, PRE=PRE, D=D ]; |
----------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module DFN1E1P1(PRE, E, CLK, Q,D); |
input D,PRE,E,CLK; |
output Q; |
supply1 VCC_0; |
reg NOTIFY_REG; |
|
not INV_PRE_0(PRE_0, PRE); |
not INV_EN_0(E_0, E); |
|
Dffpr DF_0(Q, D,CLK,VCC_0, PRE_0, E_0, NOTIFY_REG); |
|
// some temp signals created for timing checking sections |
|
not U0_I1 (_PRE0, PRE); |
and U_c0 (Enable01, E, _PRE0); |
buf U_c2 (Enable02, E); |
and U_c4 (Enable04, E, _PRE0); |
buf U_c6 (Enable05, _PRE0); |
|
//-------------------------------------------------------------- |
// Timing Checking Section |
//------------------------------------------------------------- |
|
specify |
|
specparam tpdLH_CLK_to_Q = (0.1:0.1:0.1); |
specparam tpdHL_CLK_to_Q = (0.1:0.1:0.1); |
specparam tpdLH_PRE_to_Q = (0.1:0.1:0.1); |
specparam tpdHL_PRE_to_Q = (0.1:0.1:0.1); |
|
|
|
//check timing delay for output |
|
(posedge CLK => (Q +: D))=(tpdLH_CLK_to_Q, tpdHL_CLK_to_Q); |
(posedge PRE => (Q +: 1'b1)) = (tpdLH_PRE_to_Q, tpdHL_PRE_to_Q); |
|
//checking setup and hold timing for inputs |
|
$setup(posedge D,posedge CLK &&& Enable01, 0.0, NOTIFY_REG); |
$setup(negedge D,posedge CLK &&& Enable01, 0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable01, posedge D,0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable01, negedge D,0.0, NOTIFY_REG); |
|
//checking timing for control signals |
|
$setup(posedge E,posedge CLK &&& Enable05, 0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable05, posedge E,0.0, NOTIFY_REG); |
$setup(negedge E,posedge CLK &&& Enable05, 0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable05, negedge E,0.0, NOTIFY_REG); |
|
$hold(posedge CLK &&& Enable02, negedge PRE,0.0, NOTIFY_REG); |
|
//checking the pulse width |
|
$width(posedge CLK &&& Enable05 ,0, 0, NOTIFY_REG); |
$width(negedge CLK &&& Enable05, 0, 0, NOTIFY_REG); |
$width(posedge PRE, 0.0, 0, NOTIFY_REG); |
|
//checing the recovery data |
|
$recovery(negedge PRE, posedge CLK &&& Enable02, 0.0, NOTIFY_REG); |
|
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
|
|
/*-------------------------------------------------------------- |
CELL NAME : DFN1P1 |
CELL TYPE : sequential Logic |
CELL SEQ EQN : DFF[Q=Q,CLK =CLK, PRE=PRE, D=D ]; |
----------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module DFN1P1(PRE, CLK, Q,D); |
input D,PRE,CLK; |
output Q; |
supply1 VCC_0; |
supply0 GND_0; |
reg NOTIFY_REG; |
|
not INV_PRE_0(PRE_0, PRE); |
|
Dffpr DF_0(Q, D,CLK,VCC_0, PRE_0, GND_0, NOTIFY_REG); |
|
// some temp signals created for timing checking sections |
|
not U0_I1 (_PRE0, PRE); |
buf U_c0 (Enable01, _PRE0); |
buf U_c4 (Enable04, _PRE0); |
buf U_c6 (Enable05, _PRE0); |
|
//-------------------------------------------------------------- |
// Timing Checking Section |
//------------------------------------------------------------- |
|
specify |
|
specparam tpdLH_CLK_to_Q = (0.1:0.1:0.1); |
specparam tpdHL_CLK_to_Q = (0.1:0.1:0.1); |
specparam tpdLH_PRE_to_Q = (0.1:0.1:0.1); |
specparam tpdHL_PRE_to_Q = (0.1:0.1:0.1); |
|
|
|
//check timing delay for output |
|
(posedge CLK => (Q +: D))=(tpdLH_CLK_to_Q, tpdHL_CLK_to_Q); |
(posedge PRE => (Q +: 1'b1)) = (tpdLH_PRE_to_Q, tpdHL_PRE_to_Q); |
|
//checking setup and hold timing for inputs |
|
$setup(posedge D,posedge CLK &&& Enable01, 0.0, NOTIFY_REG); |
$setup(negedge D,posedge CLK &&& Enable01, 0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable01, posedge D,0.0, NOTIFY_REG); |
$hold(posedge CLK &&& Enable01, negedge D,0.0, NOTIFY_REG); |
|
//checking timing for control signals |
|
|
$hold(posedge CLK, negedge PRE,0.0, NOTIFY_REG); |
|
//checking the pulse width |
|
$width(posedge CLK &&& Enable05 ,0, 0, NOTIFY_REG); |
$width(negedge CLK &&& Enable05, 0, 0, NOTIFY_REG); |
$width(posedge PRE, 0.0, 0, NOTIFY_REG); |
|
//checing the recovery data |
|
$recovery(negedge PRE, posedge CLK, 0.0, NOTIFY_REG); |
|
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
/*-------------------------------------------------------------------- |
CELL NAME : GND |
CELL TYPE : comb |
CELL LOGIC : Y=0 |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module GND(Y); |
output Y; |
|
supply0 Y; |
|
specify |
|
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : MX2 |
CELL TYPE : comb |
CELL LOGIC : Y = (A & !S) + (B & S) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module MX2(Y,A,S,B); |
input A,S,B; |
output Y; |
wire NET_0_0, NET_0_1; |
|
not INV_110(S_, S); |
UDP_MUX2 U594(Y, A, B, S_); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_S_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_S_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(S => Y ) = ( tpdLH_S_to_Y, tpdHL_S_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : NAND2 |
CELL TYPE : comb |
CELL LOGIC : Y = !(A & B) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module NAND2(Y,A,B); |
input A,B; |
output Y; |
|
nand U610(Y, A, B); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : NOR2 |
CELL TYPE : comb |
CELL LOGIC : Y = !(A + B) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module NOR2(Y,A,B); |
input A,B; |
output Y; |
|
nor U649(Y, A, B); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : NOR2A |
CELL TYPE : comb |
CELL LOGIC : Y = !(!A + B) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module NOR2A(Y,A,B); |
input A,B; |
output Y; |
|
not INV_130(A_, A); |
nor U652(Y, A_, B); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : NOR2B |
CELL TYPE : comb |
CELL LOGIC : Y = !(!A + !B) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module NOR2B(Y,A,B); |
input A,B; |
output Y; |
|
not INV_131(A_, A); |
not INV_132(B_, B); |
nor U655(Y, A_, B_); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : NOR3 |
CELL TYPE : comb |
CELL LOGIC : Y = !(A + B + C) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module NOR3(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
or U662(NET_0_0, A, B); |
nor U663(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : NOR3A |
CELL TYPE : comb |
CELL LOGIC : Y = !(!A + B + C) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module NOR3A(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_134(A_, A); |
or U667(NET_0_0, A_, B); |
nor U668(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : NOR3B |
CELL TYPE : comb |
CELL LOGIC : Y = !(!A + !B + C) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module NOR3B(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_135(A_, A); |
not INV_136(B_, B); |
or U672(NET_0_0, A_, B_); |
nor U673(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : NOR3C |
CELL TYPE : comb |
CELL LOGIC : Y = !(!A + !B + !C) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module NOR3C(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_137(A_, A); |
not INV_138(B_, B); |
not INV_139(C_, C); |
or U677(NET_0_0, A_, B_); |
nor U678(Y, NET_0_0, C_); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : OA1 |
CELL TYPE : comb |
CELL LOGIC : Y = (A + B) & C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module OA1(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
or U692(NET_0_0, A, B); |
and U693(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : OA1A |
CELL TYPE : comb |
CELL LOGIC : Y = (!A + B) & C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module OA1A(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_143(A_, A); |
or U697(NET_0_0, A_, B); |
and U698(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : OA1B |
CELL TYPE : comb |
CELL LOGIC : Y = !C & (A + B) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module OA1B(Y,C,A,B); |
input C,A,B; |
output Y; |
wire NET_0_0; |
|
not INV_144(C_, C); |
and U701(Y, C_, NET_0_0); |
or U703(NET_0_0, A, B); |
|
specify |
|
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : OA1C |
CELL TYPE : comb |
CELL LOGIC : Y = (!A + B) & !C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module OA1C(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_145(A_, A); |
not INV_146(C_, C); |
or U707(NET_0_0, A_, B); |
and U708(Y, NET_0_0, C_); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : OR2 |
CELL TYPE : comb |
CELL LOGIC : Y = A + B |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module OR2(Y,A,B); |
input A,B; |
output Y; |
|
or U756(Y, A, B); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : OR2A |
CELL TYPE : comb |
CELL LOGIC : Y = !A + B |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module OR2A(Y,A,B); |
input A,B; |
output Y; |
|
not INV_156(A_, A); |
or U759(Y, A_, B); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : OR2B |
CELL TYPE : comb |
CELL LOGIC : Y = !A + !B |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module OR2B(Y,A,B); |
input A,B; |
output Y; |
|
not INV_157(A_, A); |
not INV_158(B_, B); |
or U762(Y, A_, B_); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : OR3 |
CELL TYPE : comb |
CELL LOGIC : Y = A + B + C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module OR3(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
or U769(NET_0_0, A, B); |
or U770(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : OR3A |
CELL TYPE : comb |
CELL LOGIC : Y = !A + B + C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module OR3A(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_160(A_, A); |
or U774(NET_0_0, A_, B); |
or U775(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : OR3B |
CELL TYPE : comb |
CELL LOGIC : Y = !A + !B + C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module OR3B(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_161(A_, A); |
not INV_162(B_, B); |
or U779(NET_0_0, A_, B_); |
or U780(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : OR3C |
CELL TYPE : comb |
CELL LOGIC : Y = !A + !B + !C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module OR3C(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_163(A_, A); |
not INV_164(B_, B); |
not INV_165(C_, C); |
or U784(NET_0_0, A_, B_); |
or U785(Y, NET_0_0, C_); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : OAI1 |
CELL TYPE : comb |
CELL LOGIC : Y = !((A + B) & C) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module OAI1(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
or U732(NET_0_0, A, B); |
nand U733(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : VCC |
CELL TYPE : comb |
CELL LOGIC : Y=1 |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module VCC(Y); |
output Y; |
|
supply1 Y; |
|
specify |
|
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : XA1B |
CELL TYPE : comb |
CELL LOGIC : Y = (A ^ B) & !C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module XA1B(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_173(A_, A); |
not INV_174(B_, B); |
not INV_175(C_, C); |
UDP_MUX2 U949(NET_0_0, B, B_, A_); |
and U951(Y, NET_0_0, C_); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : XNOR2 |
CELL TYPE : comb |
CELL LOGIC : Y = !(A ^ B) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module XNOR2(Y,A,B); |
input A,B; |
output Y; |
|
not INV_183(A_, A); |
not INV_184(B_, B); |
UDPN_MUX2 U972(Y, B, B_, A_); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : XNOR3 |
CELL TYPE : comb |
CELL LOGIC : Y = !(A ^ B ^ C) |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module XNOR3(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0; |
|
not INV_187(A_, A); |
not INV_188(B_, B); |
UDP_MUX2 U981(NET_0_0, B, B_, A_); |
xnor U983(Y, NET_0_0, C); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : XOR2 |
CELL TYPE : comb |
CELL LOGIC : Y = A ^ B |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module XOR2(Y,A,B); |
input A,B; |
output Y; |
|
not INV_193(A_, A); |
not INV_194(B_, B); |
UDP_MUX2 U998(Y, B, B_, A_); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|
|
/*-------------------------------------------------------------------- |
CELL NAME : ZOR3 |
CELL TYPE : comb |
CELL LOGIC : Y = A & B & C + !A & !B & !C |
---------------------------------------------------------------------*/ |
|
`suppress_faults |
`enable_portfaults |
`celldefine |
`delay_mode_path |
`timescale 1 ns / 100 ps |
|
module ZOR3(Y,A,B,C); |
input A,B,C; |
output Y; |
wire NET_0_0, NET_0_1, NET_0_2, NET_0_3; |
|
not INV_199(A_, A); |
not INV_200(B_, B); |
not INV_201(C_, C); |
and U1013(NET_0_0, A, B); |
UDP_MUX2 U1014(Y, NET_0_0, NET_0_2, C); |
and U1017(NET_0_2, A_, B_); |
|
specify |
|
specparam tpdLH_A_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_A_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_B_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_B_to_Y = (0.1:0.1:0.1); |
specparam tpdLH_C_to_Y = (0.1:0.1:0.1); |
specparam tpdHL_C_to_Y = (0.1:0.1:0.1); |
specparam MacroType = "comb"; |
|
//pin to pin path delay |
|
(A => Y ) = ( tpdLH_A_to_Y, tpdHL_A_to_Y ); |
(B => Y ) = ( tpdLH_B_to_Y, tpdHL_B_to_Y ); |
(C => Y ) = ( tpdLH_C_to_Y, tpdHL_C_to_Y ); |
endspecify |
|
endmodule |
|
`endcelldefine |
`disable_portfaults |
`nosuppress_faults |
|
|