64975 lines
1.3 MiB

/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AD1HDV0 ( CO, S, A, B, CI);
input A, B, CI;
output CO, S;
xor I0(S, A, B, CI);
and I1(a_and_b, A, B);
and I2(a_and_ci, A, CI);
and I3(b_and_ci, B, CI);
or I4(CO, a_and_b, a_and_ci, b_and_ci);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && CI==1'b1)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(B==1'b0 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b0 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b0 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AD1HDV0C ( CO, S, A, B, CI);
input A, B, CI;
output CO, S;
xor I0(S, A, B, CI);
and I1(a_and_b, A, B);
and I2(a_and_ci, A, CI);
and I3(b_and_ci, B, CI);
or I4(CO, a_and_b, a_and_ci, b_and_ci);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && CI==1'b1)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(B==1'b0 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b0 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b0 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AD1HDV1 ( CO, S, A, B, CI);
input A, B, CI;
output CO, S;
xor I0(S, A, B, CI);
and I1(a_and_b, A, B);
and I2(a_and_ci, A, CI);
and I3(b_and_ci, B, CI);
or I4(CO, a_and_b, a_and_ci, b_and_ci);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && CI==1'b1)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(B==1'b0 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b0 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b0 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AD1HDV1C ( CO, S, A, B, CI);
input A, B, CI;
output CO, S;
xor I0(S, A, B, CI);
and I1(a_and_b, A, B);
and I2(a_and_ci, A, CI);
and I3(b_and_ci, B, CI);
or I4(CO, a_and_b, a_and_ci, b_and_ci);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && CI==1'b1)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(B==1'b0 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b0 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b0 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AD1HDV2 ( CO, S, A, B, CI);
input A, B, CI;
output CO, S;
xor I0(S, A, B, CI);
and I1(a_and_b, A, B);
and I2(a_and_ci, A, CI);
and I3(b_and_ci, B, CI);
or I4(CO, a_and_b, a_and_ci, b_and_ci);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && CI==1'b1)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(B==1'b0 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b0 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b0 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AD1HDV2C ( CO, S, A, B, CI);
input A, B, CI;
output CO, S;
xor I0(S, A, B, CI);
and I1(a_and_b, A, B);
and I2(a_and_ci, A, CI);
and I3(b_and_ci, B, CI);
or I4(CO, a_and_b, a_and_ci, b_and_ci);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && CI==1'b1)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(B==1'b0 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b0 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b0 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AD1HDV4 ( CO, S, A, B, CI);
input A, B, CI;
output CO, S;
xor I0(S, A, B, CI);
and I1(a_and_b, A, B);
and I2(a_and_ci, A, CI);
and I3(b_and_ci, B, CI);
or I4(CO, a_and_b, a_and_ci, b_and_ci);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && CI==1'b1)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(B==1'b0 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b0 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b0 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AD1HDV4C ( CO, S, A, B, CI);
input A, B, CI;
output CO, S;
xor I0(S, A, B, CI);
and I1(a_and_b, A, B);
and I2(a_and_ci, A, CI);
and I3(b_and_ci, B, CI);
or I4(CO, a_and_b, a_and_ci, b_and_ci);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && CI==1'b1)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> CO
(A => CO) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> CO
(B => CO) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> CO
(CI => CO) = (1.0,1.0);
if(B==1'b0 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b0 && CI==1'b0)
// arc A --> S
(A => S) = (1.0,1.0);
if(B==1'b1 && CI==1'b1)
// arc A --> S
(A => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && CI==1'b0)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b1 && CI==1'b1)
// arc B --> S
(B => S) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b0 && B==1'b0)
// arc CI --> S
(CI => S) = (1.0,1.0);
if(A==1'b1 && B==1'b1)
// arc CI --> S
(CI => S) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module ADH1HDV0 ( CO, S, A, B);
input A, B;
output CO, S;
xor I0(S, A, B);
and I1(CO, A, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A --> CO
(A => CO) = (1.0,1.0);
// arc B --> CO
(B => CO) = (1.0,1.0);
// arc posedge A --> (S:A)
(posedge A => (S:A)) = (1.0,1.0);
// arc negedge A --> (S:A)
(negedge A => (S:A)) = (1.0,1.0);
// arc posedge B --> (S:B)
(posedge B => (S:B)) = (1.0,1.0);
// arc negedge B --> (S:B)
(negedge B => (S:B)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module ADH1HDV0C ( CO, S, A, B);
input A, B;
output CO, S;
xor I0(S, A, B);
and I1(CO, A, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A --> CO
(A => CO) = (1.0,1.0);
// arc B --> CO
(B => CO) = (1.0,1.0);
// arc posedge A --> (S:A)
(posedge A => (S:A)) = (1.0,1.0);
// arc negedge A --> (S:A)
(negedge A => (S:A)) = (1.0,1.0);
// arc posedge B --> (S:B)
(posedge B => (S:B)) = (1.0,1.0);
// arc negedge B --> (S:B)
(negedge B => (S:B)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module ADH1HDV1 ( CO, S, A, B);
input A, B;
output CO, S;
xor I0(S, A, B);
and I1(CO, A, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A --> CO
(A => CO) = (1.0,1.0);
// arc B --> CO
(B => CO) = (1.0,1.0);
// arc posedge A --> (S:A)
(posedge A => (S:A)) = (1.0,1.0);
// arc negedge A --> (S:A)
(negedge A => (S:A)) = (1.0,1.0);
// arc posedge B --> (S:B)
(posedge B => (S:B)) = (1.0,1.0);
// arc negedge B --> (S:B)
(negedge B => (S:B)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module ADH1HDV1C ( CO, S, A, B);
input A, B;
output CO, S;
xor I0(S, A, B);
and I1(CO, A, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A --> CO
(A => CO) = (1.0,1.0);
// arc B --> CO
(B => CO) = (1.0,1.0);
// arc posedge A --> (S:A)
(posedge A => (S:A)) = (1.0,1.0);
// arc negedge A --> (S:A)
(negedge A => (S:A)) = (1.0,1.0);
// arc posedge B --> (S:B)
(posedge B => (S:B)) = (1.0,1.0);
// arc negedge B --> (S:B)
(negedge B => (S:B)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module ADH1HDV2 ( CO, S, A, B);
input A, B;
output CO, S;
xor I0(S, A, B);
and I1(CO, A, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A --> CO
(A => CO) = (1.0,1.0);
// arc B --> CO
(B => CO) = (1.0,1.0);
// arc posedge A --> (S:A)
(posedge A => (S:A)) = (1.0,1.0);
// arc negedge A --> (S:A)
(negedge A => (S:A)) = (1.0,1.0);
// arc posedge B --> (S:B)
(posedge B => (S:B)) = (1.0,1.0);
// arc negedge B --> (S:B)
(negedge B => (S:B)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module ADH1HDV2C ( CO, S, A, B);
input A, B;
output CO, S;
xor I0(S, A, B);
and I1(CO, A, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A --> CO
(A => CO) = (1.0,1.0);
// arc B --> CO
(B => CO) = (1.0,1.0);
// arc posedge A --> (S:A)
(posedge A => (S:A)) = (1.0,1.0);
// arc negedge A --> (S:A)
(negedge A => (S:A)) = (1.0,1.0);
// arc posedge B --> (S:B)
(posedge B => (S:B)) = (1.0,1.0);
// arc negedge B --> (S:B)
(negedge B => (S:B)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module ADH1HDV4 ( CO, S, A, B);
input A, B;
output CO, S;
xor I0(S, A, B);
and I1(CO, A, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A --> CO
(A => CO) = (1.0,1.0);
// arc B --> CO
(B => CO) = (1.0,1.0);
// arc posedge A --> (S:A)
(posedge A => (S:A)) = (1.0,1.0);
// arc negedge A --> (S:A)
(negedge A => (S:A)) = (1.0,1.0);
// arc posedge B --> (S:B)
(posedge B => (S:B)) = (1.0,1.0);
// arc negedge B --> (S:B)
(negedge B => (S:B)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module ADH1HDV4C ( CO, S, A, B);
input A, B;
output CO, S;
xor I0(S, A, B);
and I1(CO, A, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A --> CO
(A => CO) = (1.0,1.0);
// arc B --> CO
(B => CO) = (1.0,1.0);
// arc posedge A --> (S:A)
(posedge A => (S:A)) = (1.0,1.0);
// arc negedge A --> (S:A)
(negedge A => (S:A)) = (1.0,1.0);
// arc posedge B --> (S:B)
(posedge B => (S:B)) = (1.0,1.0);
// arc negedge B --> (S:B)
(negedge B => (S:B)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AND2HDV0 ( Z, A1, A2);
input A1, A2;
output Z;
and SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AND2HDV1 ( Z, A1, A2);
input A1, A2;
output Z;
and SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AND2HDV12 ( Z, A1, A2);
input A1, A2;
output Z;
and SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AND2HDV2 ( Z, A1, A2);
input A1, A2;
output Z;
and SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AND2HDV4 ( Z, A1, A2);
input A1, A2;
output Z;
and SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AND2HDV8 ( Z, A1, A2);
input A1, A2;
output Z;
and SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AND3HDV0 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
and (Z, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AND3HDV1 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
and (Z, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AND3HDV2 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
and (Z, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AND3HDV4 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
and (Z, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AND3HDV8 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
and (Z, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AND4HDV0 ( Z, A1, A2, A3, A4);
input A1, A2, A3, A4;
output Z;
and (Z, A1, A2, A3, A4);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// arc A4 --> Z
(A4 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AND4HDV1 ( Z, A1, A2, A3, A4);
input A1, A2, A3, A4;
output Z;
and (Z, A1, A2, A3, A4);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// arc A4 --> Z
(A4 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AND4HDV2 ( Z, A1, A2, A3, A4);
input A1, A2, A3, A4;
output Z;
and (Z, A1, A2, A3, A4);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// arc A4 --> Z
(A4 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AND4HDV4 ( Z, A1, A2, A3, A4);
input A1, A2, A3, A4;
output Z;
and (Z, A1, A2, A3, A4);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// arc A4 --> Z
(A4 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO1B2HDV0 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
and I0(OUT0, A1, A2);
not I1(B_inv, B);
or I2(Z, OUT0, B_inv);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO1B2HDV1 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
and I0(OUT0, A1, A2);
not I1(B_inv, B);
or I2(Z, OUT0, B_inv);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO1B2HDV2 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
and I0(OUT0, A1, A2);
not I1(B_inv, B);
or I2(Z, OUT0, B_inv);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO1B2HDV4 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
and I0(OUT0, A1, A2);
not I1(B_inv, B);
or I2(Z, OUT0, B_inv);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO1B2HDV8 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
and I0(OUT0, A1, A2);
not I1(B_inv, B);
or I2(Z, OUT0, B_inv);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO1B2HDVL ( Z, A1, A2, B);
input A1, A2, B;
output Z;
and I0(OUT0, A1, A2);
not I1(B_inv, B);
or I2(Z, OUT0, B_inv);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO211HDV0 ( Z, A1, A2, B, C);
input A1, A2, B, C;
output Z;
and I0(OUT0, A1, A2);
or I1(Z, B, C, OUT0);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO211HDV1 ( Z, A1, A2, B, C);
input A1, A2, B, C;
output Z;
and I0(OUT0, A1, A2);
or I1(Z, B, C, OUT0);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO211HDV2 ( Z, A1, A2, B, C);
input A1, A2, B, C;
output Z;
and I0(OUT0, A1, A2);
or I1(Z, B, C, OUT0);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO211HDV4 ( Z, A1, A2, B, C);
input A1, A2, B, C;
output Z;
and I0(OUT0, A1, A2);
or I1(Z, B, C, OUT0);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO21HDV0 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
and I0(OUT0, A1, A2);
buf I1(OUT1, B);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO21HDV1 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
and I0(OUT0, A1, A2);
buf I1(OUT1, B);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO21HDV2 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
and I0(OUT0, A1, A2);
buf I1(OUT1, B);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO21HDV4 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
and I0(OUT0, A1, A2);
buf I1(OUT1, B);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO21HDV8 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
and I0(OUT0, A1, A2);
buf I1(OUT1, B);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO221HDV0 ( Z, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output Z;
and I0(OUT0, A1, A2);
and I1(OUT1, B1, B2);
or I2(Z, C, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO221HDV1 ( Z, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output Z;
and I0(OUT0, A1, A2);
and I1(OUT1, B1, B2);
or I2(Z, C, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO221HDV2 ( Z, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output Z;
and I0(OUT0, A1, A2);
and I1(OUT1, B1, B2);
or I2(Z, C, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO221HDV4 ( Z, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output Z;
and I0(OUT0, A1, A2);
and I1(OUT1, B1, B2);
or I2(Z, C, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO222HDV0 ( Z, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output Z;
and I0(OUT0, A1, A2);
and I1(OUT1, B1, B2);
and I2(OUT2, C1, C2);
or I3(Z, OUT0, OUT1, OUT2);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO222HDV1 ( Z, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output Z;
and I0(OUT0, A1, A2);
and I1(OUT1, B1, B2);
and I2(OUT2, C1, C2);
or I3(Z, OUT0, OUT1, OUT2);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO222HDV2 ( Z, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output Z;
and I0(OUT0, A1, A2);
and I1(OUT1, B1, B2);
and I2(OUT2, C1, C2);
or I3(Z, OUT0, OUT1, OUT2);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO222HDV4 ( Z, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output Z;
and I0(OUT0, A1, A2);
and I1(OUT1, B1, B2);
and I2(OUT2, C1, C2);
or I3(Z, OUT0, OUT1, OUT2);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO22HDV0 ( Z, A1, A2, B1, B2);
input A1, A2, B1, B2;
output Z;
and I0(OUT0, A1, A2);
and I1(OUT1, B1, B2);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO22HDV1 ( Z, A1, A2, B1, B2);
input A1, A2, B1, B2;
output Z;
and I0(OUT0, A1, A2);
and I1(OUT1, B1, B2);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO22HDV2 ( Z, A1, A2, B1, B2);
input A1, A2, B1, B2;
output Z;
and I0(OUT0, A1, A2);
and I1(OUT1, B1, B2);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO22HDV4 ( Z, A1, A2, B1, B2);
input A1, A2, B1, B2;
output Z;
and I0(OUT0, A1, A2);
and I1(OUT1, B1, B2);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO31HDV0 ( Z, A1, A2, A3, B);
input A1, A2, A3, B;
output Z;
and I0(OUT0, A1, A2, A3);
or I1(Z, B, OUT0);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO31HDV1 ( Z, A1, A2, A3, B);
input A1, A2, A3, B;
output Z;
and I0(OUT0, A1, A2, A3);
or I1(Z, B, OUT0);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO31HDV2 ( Z, A1, A2, A3, B);
input A1, A2, A3, B;
output Z;
and I0(OUT0, A1, A2, A3);
or I1(Z, B, OUT0);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO31HDV4 ( Z, A1, A2, A3, B);
input A1, A2, A3, B;
output Z;
and I0(OUT0, A1, A2, A3);
or I1(Z, B, OUT0);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO32HDV0 ( Z, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output Z;
and I0(OUT0, A1, A2, A3);
and I1(OUT1, B1, B2);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO32HDV1 ( Z, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output Z;
and I0(OUT0, A1, A2, A3);
and I1(OUT1, B1, B2);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO32HDV2 ( Z, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output Z;
and I0(OUT0, A1, A2, A3);
and I1(OUT1, B1, B2);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO32HDV4 ( Z, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output Z;
and I0(OUT0, A1, A2, A3);
and I1(OUT1, B1, B2);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO33HDV0 ( Z, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output Z;
and I0(OUT0, A1, A2, A3);
and I1(OUT1, B1, B2, B3);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO33HDV1 ( Z, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output Z;
and I0(OUT0, A1, A2, A3);
and I1(OUT1, B1, B2, B3);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO33HDV2 ( Z, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output Z;
and I0(OUT0, A1, A2, A3);
and I1(OUT1, B1, B2, B3);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AO33HDV4 ( Z, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output Z;
and I0(OUT0, A1, A2, A3);
and I1(OUT1, B1, B2, B3);
or I2(Z, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOAI211HDV0 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
not SMC_I0( A1_inv, A1 );
not SMC_I1( B_inv, B );
and SMC_I2( ZN_row1, A1_inv, B_inv );
not SMC_I3( A2_inv, A2 );
and SMC_I4( ZN_row2, A2_inv, B_inv );
not SMC_I5( C_inv, C );
or SMC_I6( ZN, ZN_row1, ZN_row2, C_inv );
`ifdef functional // functional //
`else
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOAI211HDV1 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
not SMC_I0( A1_inv, A1 );
not SMC_I1( B_inv, B );
and SMC_I2( ZN_row1, A1_inv, B_inv );
not SMC_I3( A2_inv, A2 );
and SMC_I4( ZN_row2, A2_inv, B_inv );
not SMC_I5( C_inv, C );
or SMC_I6( ZN, ZN_row1, ZN_row2, C_inv );
`ifdef functional // functional //
`else
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOAI211HDV2 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
not SMC_I0( A1_inv, A1 );
not SMC_I1( B_inv, B );
and SMC_I2( ZN_row1, A1_inv, B_inv );
not SMC_I3( A2_inv, A2 );
and SMC_I4( ZN_row2, A2_inv, B_inv );
not SMC_I5( C_inv, C );
or SMC_I6( ZN, ZN_row1, ZN_row2, C_inv );
`ifdef functional // functional //
`else
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOAI211HDV4 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
not SMC_I0( A1_inv, A1 );
not SMC_I1( B_inv, B );
and SMC_I2( ZN_row1, A1_inv, B_inv );
not SMC_I3( A2_inv, A2 );
and SMC_I4( ZN_row2, A2_inv, B_inv );
not SMC_I5( C_inv, C );
or SMC_I6( ZN, ZN_row1, ZN_row2, C_inv );
`ifdef functional // functional //
`else
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOAI211HDV8 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
not SMC_I0( A1_inv, A1 );
not SMC_I1( B_inv, B );
and SMC_I2( ZN_row1, A1_inv, B_inv );
not SMC_I3( A2_inv, A2 );
and SMC_I4( ZN_row2, A2_inv, B_inv );
not SMC_I5( C_inv, C );
or SMC_I6( ZN, ZN_row1, ZN_row2, C_inv );
`ifdef functional // functional //
`else
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOAI211HDVL ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
not SMC_I0( A1_inv, A1 );
not SMC_I1( B_inv, B );
and SMC_I2( ZN_row1, A1_inv, B_inv );
not SMC_I3( A2_inv, A2 );
and SMC_I4( ZN_row2, A2_inv, B_inv );
not SMC_I5( C_inv, C );
or SMC_I6( ZN, ZN_row1, ZN_row2, C_inv );
`ifdef functional // functional //
`else
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI211HDV0 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
and I0(out0, A1, A2);
nor I1(ZN, B, C, out0);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI211HDV1 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
and I0(out0, A1, A2);
nor I1(ZN, B, C, out0);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI211HDV2 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
and I0(out0, A1, A2);
nor I1(ZN, B, C, out0);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI211HDV4 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
and I0(out0, A1, A2);
nor I1(ZN, B, C, out0);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI211HDV8 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
and I0(out0, A1, A2);
nor I1(ZN, B, C, out0);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI211HDVL ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
and I0(out0, A1, A2);
nor I1(ZN, B, C, out0);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI21BHDV0 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
and SMC_I0(OUT0, B1, B2);
not SMC_I1(OUT1, A);
nor SMC_I2(ZN, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI21BHDV1 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
and SMC_I0(OUT0, B1, B2);
not SMC_I1(OUT1, A);
nor SMC_I2(ZN, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI21BHDV2 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
and SMC_I0(OUT0, B1, B2);
not SMC_I1(OUT1, A);
nor SMC_I2(ZN, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI21BHDV4 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
and SMC_I0(OUT0, B1, B2);
not SMC_I1(OUT1, A);
nor SMC_I2(ZN, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI21BHDV6 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
and SMC_I0(OUT0, B1, B2);
not SMC_I1(OUT1, A);
nor SMC_I2(ZN, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI21BHDV8 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
and SMC_I0(OUT0, B1, B2);
not SMC_I1(OUT1, A);
nor SMC_I2(ZN, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI21BHDVL ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
and SMC_I0(OUT0, B1, B2);
not SMC_I1(OUT1, A);
nor SMC_I2(ZN, OUT0, OUT1);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI21HDV0 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
and SMC_I0(OUT0, A1, A2);
nor SMC_I1(ZN, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI21HDV1 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
and SMC_I0(OUT0, A1, A2);
nor SMC_I1(ZN, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI21HDV12 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
and SMC_I0(OUT0, A1, A2);
nor SMC_I1(ZN, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI21HDV2 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
and SMC_I0(OUT0, A1, A2);
nor SMC_I1(ZN, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI21HDV4 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
and SMC_I0(OUT0, A1, A2);
nor SMC_I1(ZN, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI21HDV6 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
and SMC_I0(OUT0, A1, A2);
nor SMC_I1(ZN, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI21HDV8 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
and SMC_I0(OUT0, A1, A2);
nor SMC_I1(ZN, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI21HDVL ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
and SMC_I0(OUT0, A1, A2);
nor SMC_I1(ZN, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI221HDV0 ( ZN, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output ZN;
and I0(out0, A2, A1);
and I1(out1, B2, B1);
nor I2(ZN, C, out1, out0);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI221HDV1 ( ZN, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output ZN;
and I0(out0, A2, A1);
and I1(out1, B2, B1);
nor I2(ZN, C, out1, out0);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI221HDV2 ( ZN, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output ZN;
and I0(out0, A2, A1);
and I1(out1, B2, B1);
nor I2(ZN, C, out1, out0);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI221HDV4 ( ZN, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output ZN;
and I0(out0, A2, A1);
and I1(out1, B2, B1);
nor I2(ZN, C, out1, out0);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI221HDVL ( ZN, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output ZN;
and I0(out0, A2, A1);
and I1(out1, B2, B1);
nor I2(ZN, C, out1, out0);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI222HDV0 ( ZN, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output ZN;
and I0(outA, A2, A1);
and I1(outB, B2, B1);
and I2(outC, C2, C1);
nor I3(ZN, outA, outB, outC);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI222HDV1 ( ZN, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output ZN;
and I0(outA, A2, A1);
and I1(outB, B2, B1);
and I2(outC, C2, C1);
nor I3(ZN, outA, outB, outC);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI222HDV2 ( ZN, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output ZN;
and I0(outA, A2, A1);
and I1(outB, B2, B1);
and I2(outC, C2, C1);
nor I3(ZN, outA, outB, outC);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI222HDV4 ( ZN, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output ZN;
and I0(outA, A2, A1);
and I1(outB, B2, B1);
and I2(outC, C2, C1);
nor I3(ZN, outA, outB, outC);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI222HDVL ( ZN, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output ZN;
and I0(outA, A2, A1);
and I1(outB, B2, B1);
and I2(outC, C2, C1);
nor I3(ZN, outA, outB, outC);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI22BBHDV0 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not I3(outA1, A1);
not I4(outA2, A2);
and I0(outA, outA2, outA1);
and I1(outB, B2, B1);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI22BBHDV1 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not I3(outA1, A1);
not I4(outA2, A2);
and I0(outA, outA2, outA1);
and I1(outB, B2, B1);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI22BBHDV2 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not I3(outA1, A1);
not I4(outA2, A2);
and I0(outA, outA2, outA1);
and I1(outB, B2, B1);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI22BBHDV4 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not I3(outA1, A1);
not I4(outA2, A2);
and I0(outA, outA2, outA1);
and I1(outB, B2, B1);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI22BBHDVL ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not I3(outA1, A1);
not I4(outA2, A2);
and I0(outA, outA2, outA1);
and I1(outB, B2, B1);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI22HDV0 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
and I0(outA, A2, A1);
and I1(outB, B2, B1);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI22HDV1 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
and I0(outA, A2, A1);
and I1(outB, B2, B1);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI22HDV2 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
and I0(outA, A2, A1);
and I1(outB, B2, B1);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI22HDV4 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
and I0(outA, A2, A1);
and I1(outB, B2, B1);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI22HDV8 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
and I0(outA, A2, A1);
and I1(outB, B2, B1);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI22HDVL ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
and I0(outA, A2, A1);
and I1(outB, B2, B1);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI2XB1HDV0 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
not SMC_I3(OUT3,B2);
and SMC_I0(OUT0, B1, OUT3);
nor SMC_I2(ZN, OUT0, A);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI2XB1HDV1 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
not SMC_I3(OUT3,B2);
and SMC_I0(OUT0, B1, OUT3);
nor SMC_I2(ZN, OUT0, A);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI2XB1HDV2 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
not SMC_I3(OUT3,B2);
and SMC_I0(OUT0, B1, OUT3);
nor SMC_I2(ZN, OUT0, A);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI2XB1HDV4 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
not SMC_I3(OUT3,B2);
and SMC_I0(OUT0, B1, OUT3);
nor SMC_I2(ZN, OUT0, A);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI2XB1HDV8 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
not SMC_I3(OUT3,B2);
and SMC_I0(OUT0, B1, OUT3);
nor SMC_I2(ZN, OUT0, A);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI2XB1HDVL ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
not SMC_I3(OUT3,B2);
and SMC_I0(OUT0, B1, OUT3);
nor SMC_I2(ZN, OUT0, A);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI31HDV0 ( ZN, A1, A2, A3, B);
input A1, A2, A3, B;
output ZN;
and I0(outA, A1, A2, A3);
nor I1(ZN, B, outA);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI31HDV1 ( ZN, A1, A2, A3, B);
input A1, A2, A3, B;
output ZN;
and I0(outA, A1, A2, A3);
nor I1(ZN, B, outA);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI31HDV2 ( ZN, A1, A2, A3, B);
input A1, A2, A3, B;
output ZN;
and I0(outA, A1, A2, A3);
nor I1(ZN, B, outA);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI31HDV4 ( ZN, A1, A2, A3, B);
input A1, A2, A3, B;
output ZN;
and I0(outA, A1, A2, A3);
nor I1(ZN, B, outA);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI31HDV8 ( ZN, A1, A2, A3, B);
input A1, A2, A3, B;
output ZN;
and I0(outA, A1, A2, A3);
nor I1(ZN, B, outA);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI31HDVL ( ZN, A1, A2, A3, B);
input A1, A2, A3, B;
output ZN;
and I0(outA, A1, A2, A3);
nor I1(ZN, B, outA);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI32HDV0 ( ZN, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output ZN;
and I0(outA, A1, A2, A3);
and I1(outB, B1, B2);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI32HDV1 ( ZN, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output ZN;
and I0(outA, A1, A2, A3);
and I1(outB, B1, B2);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI32HDV2 ( ZN, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output ZN;
and I0(outA, A1, A2, A3);
and I1(outB, B1, B2);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI32HDV4 ( ZN, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output ZN;
and I0(outA, A1, A2, A3);
and I1(outB, B1, B2);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI32HDVL ( ZN, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output ZN;
and I0(outA, A1, A2, A3);
and I1(outB, B1, B2);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI33HDV0 ( ZN, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output ZN;
and I0(outA, A1, A2, A3);
and I1(outB, B1, B2, B3);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI33HDV1 ( ZN, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output ZN;
and I0(outA, A1, A2, A3);
and I1(outB, B1, B2, B3);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI33HDV2 ( ZN, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output ZN;
and I0(outA, A1, A2, A3);
and I1(outB, B1, B2, B3);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI33HDV4 ( ZN, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output ZN;
and I0(outA, A1, A2, A3);
and I1(outB, B1, B2, B3);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module AOI33HDVL ( ZN, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output ZN;
and I0(outA, A1, A2, A3);
and I1(outB, B1, B2, B3);
nor I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BENCHDV0 ( A, S, X2, MI0, MI1, MI2);
input MI0, MI1, MI2;
output A, S, X2;
not SMC_I0( MI0_inv, MI0 );
not SMC_I1( MI1_inv, MI1 );
and SMC_I2( A_row1, MI0_inv, MI1_inv );
or SMC_I3( A, A_row1, MI2 );
and SMC_I4( S_row1, MI0, MI1 );
not SMC_I5( MI2_inv, MI2 );
or SMC_I6( S, S_row1, MI2_inv );
and SMC_I7( X2_row1, MI0, MI1 );
and SMC_I8( X2_row2, MI0_inv, MI1_inv );
or SMC_I9( X2, X2_row1, X2_row2 );
`ifdef functional // functional //
`else
specify
// arc MI0 --> A
(MI0 => A) = (1.0,1.0);
// arc MI1 --> A
(MI1 => A) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b1)
// arc MI2 --> A
(MI2 => A) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0)
// arc MI2 --> A
(MI2 => A) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1)
// arc MI2 --> A
(MI2 => A) = (1.0,1.0);
// arc MI0 --> S
(MI0 => S) = (1.0,1.0);
// arc MI1 --> S
(MI1 => S) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b0)
// arc MI2 --> S
(MI2 => S) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b1)
// arc MI2 --> S
(MI2 => S) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0)
// arc MI2 --> S
(MI2 => S) = (1.0,1.0);
if(MI2==1'b0)
// arc posedge MI0 --> (X2:MI0)
(posedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b0)
// arc negedge MI0 --> (X2:MI0)
(negedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b1)
// arc posedge MI0 --> (X2:MI0)
(posedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b1)
// arc negedge MI0 --> (X2:MI0)
(negedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b0)
// arc posedge MI1 --> (X2:MI1)
(posedge MI1 => (X2:MI1)) = (1.0,1.0);
if(MI2==1'b0)
// arc negedge MI1 --> (X2:MI1)
(negedge MI1 => (X2:MI1)) = (1.0,1.0);
if(MI2==1'b1)
// arc posedge MI1 --> (X2:MI1)
(posedge MI1 => (X2:MI1)) = (1.0,1.0);
if(MI2==1'b1)
// arc negedge MI1 --> (X2:MI1)
(negedge MI1 => (X2:MI1)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BENCHDV1 ( A, S, X2, MI0, MI1, MI2);
input MI0, MI1, MI2;
output A, S, X2;
not SMC_I0( MI0_inv, MI0 );
not SMC_I1( MI1_inv, MI1 );
and SMC_I2( A_row1, MI0_inv, MI1_inv );
or SMC_I3( A, A_row1, MI2 );
and SMC_I4( S_row1, MI0, MI1 );
not SMC_I5( MI2_inv, MI2 );
or SMC_I6( S, S_row1, MI2_inv );
and SMC_I7( X2_row1, MI0, MI1 );
and SMC_I8( X2_row2, MI0_inv, MI1_inv );
or SMC_I9( X2, X2_row1, X2_row2 );
`ifdef functional // functional //
`else
specify
// arc MI0 --> A
(MI0 => A) = (1.0,1.0);
// arc MI1 --> A
(MI1 => A) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b1)
// arc MI2 --> A
(MI2 => A) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0)
// arc MI2 --> A
(MI2 => A) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1)
// arc MI2 --> A
(MI2 => A) = (1.0,1.0);
// arc MI0 --> S
(MI0 => S) = (1.0,1.0);
// arc MI1 --> S
(MI1 => S) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b0)
// arc MI2 --> S
(MI2 => S) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b1)
// arc MI2 --> S
(MI2 => S) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0)
// arc MI2 --> S
(MI2 => S) = (1.0,1.0);
if(MI2==1'b0)
// arc posedge MI0 --> (X2:MI0)
(posedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b0)
// arc negedge MI0 --> (X2:MI0)
(negedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b1)
// arc posedge MI0 --> (X2:MI0)
(posedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b1)
// arc negedge MI0 --> (X2:MI0)
(negedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b0)
// arc posedge MI1 --> (X2:MI1)
(posedge MI1 => (X2:MI1)) = (1.0,1.0);
if(MI2==1'b0)
// arc negedge MI1 --> (X2:MI1)
(negedge MI1 => (X2:MI1)) = (1.0,1.0);
if(MI2==1'b1)
// arc posedge MI1 --> (X2:MI1)
(posedge MI1 => (X2:MI1)) = (1.0,1.0);
if(MI2==1'b1)
// arc negedge MI1 --> (X2:MI1)
(negedge MI1 => (X2:MI1)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BENCHDV2 ( A, S, X2, MI0, MI1, MI2);
input MI0, MI1, MI2;
output A, S, X2;
not SMC_I0( MI0_inv, MI0 );
not SMC_I1( MI1_inv, MI1 );
and SMC_I2( A_row1, MI0_inv, MI1_inv );
or SMC_I3( A, A_row1, MI2 );
and SMC_I4( S_row1, MI0, MI1 );
not SMC_I5( MI2_inv, MI2 );
or SMC_I6( S, S_row1, MI2_inv );
and SMC_I7( X2_row1, MI0, MI1 );
and SMC_I8( X2_row2, MI0_inv, MI1_inv );
or SMC_I9( X2, X2_row1, X2_row2 );
`ifdef functional // functional //
`else
specify
// arc MI0 --> A
(MI0 => A) = (1.0,1.0);
// arc MI1 --> A
(MI1 => A) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b1)
// arc MI2 --> A
(MI2 => A) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0)
// arc MI2 --> A
(MI2 => A) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1)
// arc MI2 --> A
(MI2 => A) = (1.0,1.0);
// arc MI0 --> S
(MI0 => S) = (1.0,1.0);
// arc MI1 --> S
(MI1 => S) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b0)
// arc MI2 --> S
(MI2 => S) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b1)
// arc MI2 --> S
(MI2 => S) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0)
// arc MI2 --> S
(MI2 => S) = (1.0,1.0);
if(MI2==1'b0)
// arc posedge MI0 --> (X2:MI0)
(posedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b0)
// arc negedge MI0 --> (X2:MI0)
(negedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b1)
// arc posedge MI0 --> (X2:MI0)
(posedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b1)
// arc negedge MI0 --> (X2:MI0)
(negedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b0)
// arc posedge MI1 --> (X2:MI1)
(posedge MI1 => (X2:MI1)) = (1.0,1.0);
if(MI2==1'b0)
// arc negedge MI1 --> (X2:MI1)
(negedge MI1 => (X2:MI1)) = (1.0,1.0);
if(MI2==1'b1)
// arc posedge MI1 --> (X2:MI1)
(posedge MI1 => (X2:MI1)) = (1.0,1.0);
if(MI2==1'b1)
// arc negedge MI1 --> (X2:MI1)
(negedge MI1 => (X2:MI1)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BENCHDV4 ( A, S, X2, MI0, MI1, MI2);
input MI0, MI1, MI2;
output A, S, X2;
not SMC_I0( MI0_inv, MI0 );
not SMC_I1( MI1_inv, MI1 );
and SMC_I2( A_row1, MI0_inv, MI1_inv );
or SMC_I3( A, A_row1, MI2 );
and SMC_I4( S_row1, MI0, MI1 );
not SMC_I5( MI2_inv, MI2 );
or SMC_I6( S, S_row1, MI2_inv );
and SMC_I7( X2_row1, MI0, MI1 );
and SMC_I8( X2_row2, MI0_inv, MI1_inv );
or SMC_I9( X2, X2_row1, X2_row2 );
`ifdef functional // functional //
`else
specify
// arc MI0 --> A
(MI0 => A) = (1.0,1.0);
// arc MI1 --> A
(MI1 => A) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b1)
// arc MI2 --> A
(MI2 => A) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0)
// arc MI2 --> A
(MI2 => A) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1)
// arc MI2 --> A
(MI2 => A) = (1.0,1.0);
// arc MI0 --> S
(MI0 => S) = (1.0,1.0);
// arc MI1 --> S
(MI1 => S) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b0)
// arc MI2 --> S
(MI2 => S) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b1)
// arc MI2 --> S
(MI2 => S) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0)
// arc MI2 --> S
(MI2 => S) = (1.0,1.0);
if(MI2==1'b0)
// arc posedge MI0 --> (X2:MI0)
(posedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b0)
// arc negedge MI0 --> (X2:MI0)
(negedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b1)
// arc posedge MI0 --> (X2:MI0)
(posedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b1)
// arc negedge MI0 --> (X2:MI0)
(negedge MI0 => (X2:MI0)) = (1.0,1.0);
if(MI2==1'b0)
// arc posedge MI1 --> (X2:MI1)
(posedge MI1 => (X2:MI1)) = (1.0,1.0);
if(MI2==1'b0)
// arc negedge MI1 --> (X2:MI1)
(negedge MI1 => (X2:MI1)) = (1.0,1.0);
if(MI2==1'b1)
// arc posedge MI1 --> (X2:MI1)
(posedge MI1 => (X2:MI1)) = (1.0,1.0);
if(MI2==1'b1)
// arc negedge MI1 --> (X2:MI1)
(negedge MI1 => (X2:MI1)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BMUXNHDV0 ( A, S, X2, MI0, MI1, PPN);
input MI0, MI1, A, S, X2;
output PPN;
not SMC_I0( A_inv, A );
and SMC_I1( OUT0, MI0, A_inv );
not SMC_I2( MI0_inv, MI0 );
not SMC_I3( S_inv, S );
and SMC_I4( OUT1, MI0_inv, S_inv );
or SMC_I5( OUT2, OUT0, OUT1);
and SMC_I6( OUT3, OUT2, X2);
and SMC_I7( OUT4, MI1, A_inv );
not SMC_I8( MI1_inv, MI1 );
and SMC_I9( OUT5, MI1_inv, S_inv );
or SMC_I10( OUT6, OUT4, OUT5);
not SMC_I11( X2_inv, X2 );
and SMC_I12( OUT7, OUT6, X2_inv);
nor SMC_I13( PPN, OUT3, OUT7 );
`ifdef functional // functional //
`else
specify
if(MI0==1'b0 && MI1==1'b1 && S==1'b0 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b1 && S==1'b1 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0 && S==1'b0 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0 && S==1'b1 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b0 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b0 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b1 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b1 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI1==1'b0)
// arc posedge MI0 --> (PPN:MI0)
(posedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI1==1'b0)
// arc negedge MI0 --> (PPN:MI0)
(negedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI1==1'b1)
// arc posedge MI0 --> (PPN:MI0)
(posedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI1==1'b1)
// arc negedge MI0 --> (PPN:MI0)
(negedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI0==1'b0)
// arc posedge MI1 --> (PPN:MI1)
(posedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(MI0==1'b0)
// arc negedge MI1 --> (PPN:MI1)
(negedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(MI0==1'b1)
// arc posedge MI1 --> (PPN:MI1)
(posedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(MI0==1'b1)
// arc negedge MI1 --> (PPN:MI1)
(negedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b0 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b1 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b1 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b0 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b1 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b1 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b1 && MI1==1'b0 && S==1'b1)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b1 && S==1'b0)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b1 && S==1'b1)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b1 && MI1==1'b0 && S==1'b0)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BMUXNHDV1 ( A, S, X2, MI0, MI1, PPN);
input MI0, MI1, A, S, X2;
output PPN;
not SMC_I0( A_inv, A );
and SMC_I1( OUT0, MI0, A_inv );
not SMC_I2( MI0_inv, MI0 );
not SMC_I3( S_inv, S );
and SMC_I4( OUT1, MI0_inv, S_inv );
or SMC_I5( OUT2, OUT0, OUT1);
and SMC_I6( OUT3, OUT2, X2);
and SMC_I7( OUT4, MI1, A_inv );
not SMC_I8( MI1_inv, MI1 );
and SMC_I9( OUT5, MI1_inv, S_inv );
or SMC_I10( OUT6, OUT4, OUT5);
not SMC_I11( X2_inv, X2 );
and SMC_I12( OUT7, OUT6, X2_inv);
nor SMC_I13( PPN, OUT3, OUT7 );
`ifdef functional // functional //
`else
specify
if(MI0==1'b0 && MI1==1'b1 && S==1'b0 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b1 && S==1'b1 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0 && S==1'b0 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0 && S==1'b1 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b0 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b0 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b1 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b1 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI1==1'b0)
// arc posedge MI0 --> (PPN:MI0)
(posedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI1==1'b0)
// arc negedge MI0 --> (PPN:MI0)
(negedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI1==1'b1)
// arc posedge MI0 --> (PPN:MI0)
(posedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI1==1'b1)
// arc negedge MI0 --> (PPN:MI0)
(negedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI0==1'b0)
// arc posedge MI1 --> (PPN:MI1)
(posedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(MI0==1'b0)
// arc negedge MI1 --> (PPN:MI1)
(negedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(MI0==1'b1)
// arc posedge MI1 --> (PPN:MI1)
(posedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(MI0==1'b1)
// arc negedge MI1 --> (PPN:MI1)
(negedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b0 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b1 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b1 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b0 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b1 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b1 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b1 && MI1==1'b0 && S==1'b1)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b1 && S==1'b0)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b1 && S==1'b1)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b1 && MI1==1'b0 && S==1'b0)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BMUXNHDV2 ( A, S, X2, MI0, MI1, PPN);
input MI0, MI1, A, S, X2;
output PPN;
not SMC_I0( A_inv, A );
and SMC_I1( OUT0, MI0, A_inv );
not SMC_I2( MI0_inv, MI0 );
not SMC_I3( S_inv, S );
and SMC_I4( OUT1, MI0_inv, S_inv );
or SMC_I5( OUT2, OUT0, OUT1);
and SMC_I6( OUT3, OUT2, X2);
and SMC_I7( OUT4, MI1, A_inv );
not SMC_I8( MI1_inv, MI1 );
and SMC_I9( OUT5, MI1_inv, S_inv );
or SMC_I10( OUT6, OUT4, OUT5);
not SMC_I11( X2_inv, X2 );
and SMC_I12( OUT7, OUT6, X2_inv);
nor SMC_I13( PPN, OUT3, OUT7 );
`ifdef functional // functional //
`else
specify
if(MI0==1'b0 && MI1==1'b1 && S==1'b0 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b1 && S==1'b1 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0 && S==1'b0 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0 && S==1'b1 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b0 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b0 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b1 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b1 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI1==1'b0)
// arc posedge MI0 --> (PPN:MI0)
(posedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI1==1'b0)
// arc negedge MI0 --> (PPN:MI0)
(negedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI1==1'b1)
// arc posedge MI0 --> (PPN:MI0)
(posedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI1==1'b1)
// arc negedge MI0 --> (PPN:MI0)
(negedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI0==1'b0)
// arc posedge MI1 --> (PPN:MI1)
(posedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(MI0==1'b0)
// arc negedge MI1 --> (PPN:MI1)
(negedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(MI0==1'b1)
// arc posedge MI1 --> (PPN:MI1)
(posedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(MI0==1'b1)
// arc negedge MI1 --> (PPN:MI1)
(negedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b0 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b1 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b1 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b0 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b1 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b1 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b1 && MI1==1'b0 && S==1'b1)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b1 && S==1'b0)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b1 && S==1'b1)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b1 && MI1==1'b0 && S==1'b0)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BMUXNHDV4 ( A, S, X2, MI0, MI1, PPN);
input MI0, MI1, A, S, X2;
output PPN;
not SMC_I0( A_inv, A );
and SMC_I1( OUT0, MI0, A_inv );
not SMC_I2( MI0_inv, MI0 );
not SMC_I3( S_inv, S );
and SMC_I4( OUT1, MI0_inv, S_inv );
or SMC_I5( OUT2, OUT0, OUT1);
and SMC_I6( OUT3, OUT2, X2);
and SMC_I7( OUT4, MI1, A_inv );
not SMC_I8( MI1_inv, MI1 );
and SMC_I9( OUT5, MI1_inv, S_inv );
or SMC_I10( OUT6, OUT4, OUT5);
not SMC_I11( X2_inv, X2 );
and SMC_I12( OUT7, OUT6, X2_inv);
nor SMC_I13( PPN, OUT3, OUT7 );
`ifdef functional // functional //
`else
specify
if(MI0==1'b0 && MI1==1'b1 && S==1'b0 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b0 && MI1==1'b1 && S==1'b1 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0 && S==1'b0 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b0 && S==1'b1 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b0 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b0 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b1 && X2==1'b0)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI0==1'b1 && MI1==1'b1 && S==1'b1 && X2==1'b1)
// arc A --> PPN
(A => PPN) = (1.0,1.0);
if(MI1==1'b0)
// arc posedge MI0 --> (PPN:MI0)
(posedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI1==1'b0)
// arc negedge MI0 --> (PPN:MI0)
(negedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI1==1'b1)
// arc posedge MI0 --> (PPN:MI0)
(posedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI1==1'b1)
// arc negedge MI0 --> (PPN:MI0)
(negedge MI0 => (PPN:MI0)) = (1.0,1.0);
if(MI0==1'b0)
// arc posedge MI1 --> (PPN:MI1)
(posedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(MI0==1'b0)
// arc negedge MI1 --> (PPN:MI1)
(negedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(MI0==1'b1)
// arc posedge MI1 --> (PPN:MI1)
(posedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(MI0==1'b1)
// arc negedge MI1 --> (PPN:MI1)
(negedge MI1 => (PPN:MI1)) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b0 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b1 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b1 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b0 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b1 && X2==1'b1)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b1 && MI1==1'b0 && X2==1'b0)
// arc S --> PPN
(S => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b1 && MI1==1'b0 && S==1'b1)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b0 && MI1==1'b1 && S==1'b0)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
if(A==1'b0 && MI0==1'b0 && MI1==1'b1 && S==1'b1)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
if(A==1'b1 && MI0==1'b1 && MI1==1'b0 && S==1'b0)
// arc X2 --> PPN
(X2 => PPN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUFHDV0 ( Z, I);
input I;
output Z;
buf I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUFHDV1 ( Z, I);
input I;
output Z;
buf I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUFHDV10 ( Z, I);
input I;
output Z;
buf I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUFHDV12 ( Z, I);
input I;
output Z;
buf I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUFHDV14 ( Z, I);
input I;
output Z;
buf I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUFHDV16 ( Z, I);
input I;
output Z;
buf I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUFHDV2 ( Z, I);
input I;
output Z;
buf I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUFHDV20 ( Z, I);
input I;
output Z;
buf I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUFHDV24 ( Z, I);
input I;
output Z;
buf I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUFHDV3 ( Z, I);
input I;
output Z;
buf I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUFHDV32 ( Z, I);
input I;
output Z;
buf I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUFHDV4 ( Z, I);
input I;
output Z;
buf I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUFHDV6 ( Z, I);
input I;
output Z;
buf I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUFHDV8 ( Z, I);
input I;
output Z;
buf I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUFHDVL ( Z, I);
input I;
output Z;
buf I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module BUSHOLDHD ( Z );
inout Z;
wire io_wire;
buf(weak0,weak1) I0(Z, io_wire);
buf I1(io_wire, Z);
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKAND2HDV0 ( Z, A1, A2);
input A1, A2;
output Z;
and SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKAND2HDV1 ( Z, A1, A2);
input A1, A2;
output Z;
and SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKAND2HDV12 ( Z, A1, A2);
input A1, A2;
output Z;
and SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKAND2HDV2 ( Z, A1, A2);
input A1, A2;
output Z;
and SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKAND2HDV4 ( Z, A1, A2);
input A1, A2;
output Z;
and SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKAND2HDV8 ( Z, A1, A2);
input A1, A2;
output Z;
and SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKBUFHDV0 ( Z, I);
input I;
output Z;
buf SMC_I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKBUFHDV1 ( Z, I);
input I;
output Z;
buf SMC_I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKBUFHDV12 ( Z, I);
input I;
output Z;
buf SMC_I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKBUFHDV16 ( Z, I);
input I;
output Z;
buf SMC_I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKBUFHDV2 ( Z, I);
input I;
output Z;
buf SMC_I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKBUFHDV20 ( Z, I);
input I;
output Z;
buf SMC_I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKBUFHDV24 ( Z, I);
input I;
output Z;
buf SMC_I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKBUFHDV3 ( Z, I);
input I;
output Z;
buf SMC_I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKBUFHDV4 ( Z, I);
input I;
output Z;
buf SMC_I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKBUFHDV6 ( Z, I);
input I;
output Z;
buf SMC_I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKBUFHDV8 ( Z, I);
input I;
output Z;
buf SMC_I0(Z, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKINHDV0 ( ZN, I);
input I;
output ZN;
not SMC_I0 (ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKINHDV1 ( ZN, I);
input I;
output ZN;
not SMC_I0 (ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKINHDV12 ( ZN, I);
input I;
output ZN;
not SMC_I0 (ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKINHDV16 ( ZN, I);
input I;
output ZN;
not SMC_I0 (ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKINHDV2 ( ZN, I);
input I;
output ZN;
not SMC_I0 (ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKINHDV20 ( ZN, I);
input I;
output ZN;
not SMC_I0 (ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKINHDV24 ( ZN, I);
input I;
output ZN;
not SMC_I0 (ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKINHDV3 ( ZN, I);
input I;
output ZN;
not SMC_I0 (ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKINHDV4 ( ZN, I);
input I;
output ZN;
not SMC_I0 (ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKINHDV6 ( ZN, I);
input I;
output ZN;
not SMC_I0 (ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKINHDV8 ( ZN, I);
input I;
output ZN;
not SMC_I0 (ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKINHDVL ( ZN, I);
input I;
output ZN;
not SMC_I0 (ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLAHAQHDV0 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I2 (xE, E);
not I3 (nclk, CK);
udp_tlat I4 (n1, xE, nclk, xRN, xSN, NOTIFIER);
not I5 (cond0, n1);
not I6 (nTE, TE);
and I7 (n0, nTE, cond0);
or I8 (Q, n0, clk);
`ifdef functional // functional //
`else // functional //
specify
// specify_block_begin
if(E==1'b0 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b0 && TE==1'b0)
// comb arc CK --> Q
(posedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
if(E==1'b1)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
// setuphold E-HL CK-HL
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1),
negedge E &&& (ENABLE_NOT_TE == 1'b1), 1.0, 1.0, NOTIFIER);
// setuphold E-LH CK-HL
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1),
posedge E &&& (ENABLE_NOT_TE == 1'b1), 1.0, 1.0, NOTIFIER);
// mpw CK_lh
$width(posedge CK,1.0,0,NOTIFIER);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLAHAQHDV1 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I2 (xE, E);
not I3 (nclk, CK);
udp_tlat I4 (n1, xE, nclk, xRN, xSN, NOTIFIER);
not I5 (cond0, n1);
not I6 (nTE, TE);
and I7 (n0, nTE, cond0);
or I8 (Q, n0, clk);
`ifdef functional // functional //
`else // functional //
specify
// specify_block_begin
if(E==1'b0 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b0 && TE==1'b0)
// comb arc CK --> Q
(posedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
if(E==1'b1)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
// setuphold E-HL CK-HL
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1),
negedge E &&& (ENABLE_NOT_TE == 1'b1), 1.0, 1.0, NOTIFIER);
// setuphold E-LH CK-HL
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1),
posedge E &&& (ENABLE_NOT_TE == 1'b1), 1.0, 1.0, NOTIFIER);
// mpw CK_lh
$width(posedge CK,1.0,0,NOTIFIER);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLAHAQHDV2 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I2 (xE, E);
not I3 (nclk, CK);
udp_tlat I4 (n1, xE, nclk, xRN, xSN, NOTIFIER);
not I5 (cond0, n1);
not I6 (nTE, TE);
and I7 (n0, nTE, cond0);
or I8 (Q, n0, clk);
`ifdef functional // functional //
`else // functional //
specify
// specify_block_begin
if(E==1'b0 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b0 && TE==1'b0)
// comb arc CK --> Q
(posedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
if(E==1'b1)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
// setuphold E-HL CK-HL
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1),
negedge E &&& (ENABLE_NOT_TE == 1'b1), 1.0, 1.0, NOTIFIER);
// setuphold E-LH CK-HL
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1),
posedge E &&& (ENABLE_NOT_TE == 1'b1), 1.0, 1.0, NOTIFIER);
// mpw CK_lh
$width(posedge CK,1.0,0,NOTIFIER);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLAHAQHDV3 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I2 (xE, E);
not I3 (nclk, CK);
udp_tlat I4 (n1, xE, nclk, xRN, xSN, NOTIFIER);
not I5 (cond0, n1);
not I6 (nTE, TE);
and I7 (n0, nTE, cond0);
or I8 (Q, n0, clk);
`ifdef functional // functional //
`else // functional //
specify
// specify_block_begin
if(E==1'b0 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b0 && TE==1'b0)
// comb arc CK --> Q
(posedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
if(E==1'b1)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
// setuphold E-HL CK-HL
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1),
negedge E &&& (ENABLE_NOT_TE == 1'b1), 1.0, 1.0, NOTIFIER);
// setuphold E-LH CK-HL
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1),
posedge E &&& (ENABLE_NOT_TE == 1'b1), 1.0, 1.0, NOTIFIER);
// mpw CK_lh
$width(posedge CK,1.0,0,NOTIFIER);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLAHAQHDV4 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I2 (xE, E);
not I3 (nclk, CK);
udp_tlat I4 (n1, xE, nclk, xRN, xSN, NOTIFIER);
not I5 (cond0, n1);
not I6 (nTE, TE);
and I7 (n0, nTE, cond0);
or I8 (Q, n0, clk);
`ifdef functional // functional //
`else // functional //
specify
// specify_block_begin
if(E==1'b0 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b0 && TE==1'b0)
// comb arc CK --> Q
(posedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
if(E==1'b1)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
// setuphold E-HL CK-HL
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1),
negedge E &&& (ENABLE_NOT_TE == 1'b1), 1.0, 1.0, NOTIFIER);
// setuphold E-LH CK-HL
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1),
posedge E &&& (ENABLE_NOT_TE == 1'b1), 1.0, 1.0, NOTIFIER);
// mpw CK_lh
$width(posedge CK,1.0,0,NOTIFIER);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLAHAQHDV6 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I2 (xE, E);
not I3 (nclk, CK);
udp_tlat I4 (n1, xE, nclk, xRN, xSN, NOTIFIER);
not I5 (cond0, n1);
not I6 (nTE, TE);
and I7 (n0, nTE, cond0);
or I8 (Q, n0, clk);
`ifdef functional // functional //
`else // functional //
specify
// specify_block_begin
if(E==1'b0 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b0 && TE==1'b0)
// comb arc CK --> Q
(posedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
if(E==1'b1)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
// setuphold E-HL CK-HL
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1),
negedge E &&& (ENABLE_NOT_TE == 1'b1), 1.0, 1.0, NOTIFIER);
// setuphold E-LH CK-HL
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1),
posedge E &&& (ENABLE_NOT_TE == 1'b1), 1.0, 1.0, NOTIFIER);
// mpw CK_lh
$width(posedge CK,1.0,0,NOTIFIER);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLAHAQHDV8 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I2 (xE, E);
not I3 (nclk, CK);
udp_tlat I4 (n1, xE, nclk, xRN, xSN, NOTIFIER);
not I5 (cond0, n1);
not I6 (nTE, TE);
and I7 (n0, nTE, cond0);
or I8 (Q, n0, clk);
`ifdef functional // functional //
`else // functional //
specify
// specify_block_begin
if(E==1'b0 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b0 && TE==1'b0)
// comb arc CK --> Q
(posedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
if(E==1'b1)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
// setuphold E-HL CK-HL
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1),
negedge E &&& (ENABLE_NOT_TE == 1'b1), 1.0, 1.0, NOTIFIER);
// setuphold E-LH CK-HL
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1),
posedge E &&& (ENABLE_NOT_TE == 1'b1), 1.0, 1.0, NOTIFIER);
// mpw CK_lh
$width(posedge CK,1.0,0,NOTIFIER);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLAHQHDV0 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
not I3 (nclk, CK);
or I4 (n0, xE, xTE);
udp_tlat I5 (n1, n0, nclk, xRN, xSN, NOTIFIER);
not I6 (cond0, n1);
or I7 (Q, cond0, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(posedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLAHQHDV1 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
not I3 (nclk, CK);
or I4 (n0, xE, xTE);
udp_tlat I5 (n1, n0, nclk, xRN, xSN, NOTIFIER);
not I6 (cond0, n1);
or I7 (Q, cond0, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(posedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLAHQHDV2 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
not I3 (nclk, CK);
or I4 (n0, xE, xTE);
udp_tlat I5 (n1, n0, nclk, xRN, xSN, NOTIFIER);
not I6 (cond0, n1);
or I7 (Q, cond0, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(posedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLAHQHDV3 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
not I3 (nclk, CK);
or I4 (n0, xE, xTE);
udp_tlat I5 (n1, n0, nclk, xRN, xSN, NOTIFIER);
not I6 (cond0, n1);
or I7 (Q, cond0, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(posedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLAHQHDV4 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
not I3 (nclk, CK);
or I4 (n0, xE, xTE);
udp_tlat I5 (n1, n0, nclk, xRN, xSN, NOTIFIER);
not I6 (cond0, n1);
or I7 (Q, cond0, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(posedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLAHQHDV6 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
not I3 (nclk, CK);
or I4 (n0, xE, xTE);
udp_tlat I5 (n1, n0, nclk, xRN, xSN, NOTIFIER);
not I6 (cond0, n1);
or I7 (Q, cond0, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(posedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLAHQHDV8 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
not I3 (nclk, CK);
or I4 (n0, xE, xTE);
udp_tlat I5 (n1, n0, nclk, xRN, xSN, NOTIFIER);
not I6 (cond0, n1);
or I7 (Q, cond0, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(posedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANAQHDV0 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
udp_tlat I3 (n1, xE, clk, xRN, xSN, NOTIFIER);
or I4 (n0, n1, xTE);
and I5 (Q, n0, clk);
`ifdef functional // functional //
`else // functional //
specify
// specify_block_begin
if(E==1'b0 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b0 && TE==1'b0)
// comb arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
if(E==1'b1)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
// setuphold E-HL CK-LH
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1),
negedge E &&& (ENABLE_NOT_TE == 1'b1),1.0, 1.0, NOTIFIER);
// setuphold E-LH CK-LH
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1),
posedge E &&& (ENABLE_NOT_TE == 1'b1),1.0, 1.0, NOTIFIER);
// mpw CK_hl
$width(negedge CK,1.0,0,NOTIFIER);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANAQHDV1 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
udp_tlat I3 (n1, xE, clk, xRN, xSN, NOTIFIER);
or I4 (n0, n1, xTE);
and I5 (Q, n0, clk);
`ifdef functional // functional //
`else // functional //
specify
// specify_block_begin
if(E==1'b0 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b0 && TE==1'b0)
// comb arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
if(E==1'b1)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
// setuphold E-HL CK-LH
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1),
negedge E &&& (ENABLE_NOT_TE == 1'b1),1.0, 1.0, NOTIFIER);
// setuphold E-LH CK-LH
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1),
posedge E &&& (ENABLE_NOT_TE == 1'b1),1.0, 1.0, NOTIFIER);
// mpw CK_hl
$width(negedge CK,1.0,0,NOTIFIER);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANAQHDV2 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
udp_tlat I3 (n1, xE, clk, xRN, xSN, NOTIFIER);
or I4 (n0, n1, xTE);
and I5 (Q, n0, clk);
`ifdef functional // functional //
`else // functional //
specify
// specify_block_begin
if(E==1'b0 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b0 && TE==1'b0)
// comb arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
if(E==1'b1)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
// setuphold E-HL CK-LH
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1),
negedge E &&& (ENABLE_NOT_TE == 1'b1),1.0, 1.0, NOTIFIER);
// setuphold E-LH CK-LH
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1),
posedge E &&& (ENABLE_NOT_TE == 1'b1),1.0, 1.0, NOTIFIER);
// mpw CK_hl
$width(negedge CK,1.0,0,NOTIFIER);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANAQHDV3 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
udp_tlat I3 (n1, xE, clk, xRN, xSN, NOTIFIER);
or I4 (n0, n1, xTE);
and I5 (Q, n0, clk);
`ifdef functional // functional //
`else // functional //
specify
// specify_block_begin
if(E==1'b0 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b0 && TE==1'b0)
// comb arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
if(E==1'b1)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
// setuphold E-HL CK-LH
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1),
negedge E &&& (ENABLE_NOT_TE == 1'b1),1.0, 1.0, NOTIFIER);
// setuphold E-LH CK-LH
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1),
posedge E &&& (ENABLE_NOT_TE == 1'b1),1.0, 1.0, NOTIFIER);
// mpw CK_hl
$width(negedge CK,1.0,0,NOTIFIER);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANAQHDV4 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
udp_tlat I3 (n1, xE, clk, xRN, xSN, NOTIFIER);
or I4 (n0, n1, xTE);
and I5 (Q, n0, clk);
`ifdef functional // functional //
`else // functional //
specify
// specify_block_begin
if(E==1'b0 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b0 && TE==1'b0)
// comb arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
if(E==1'b1)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
// setuphold E-HL CK-LH
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1),
negedge E &&& (ENABLE_NOT_TE == 1'b1),1.0, 1.0, NOTIFIER);
// setuphold E-LH CK-LH
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1),
posedge E &&& (ENABLE_NOT_TE == 1'b1),1.0, 1.0, NOTIFIER);
// mpw CK_hl
$width(negedge CK,1.0,0,NOTIFIER);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANAQHDV6 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
udp_tlat I3 (n1, xE, clk, xRN, xSN, NOTIFIER);
or I4 (n0, n1, xTE);
and I5 (Q, n0, clk);
`ifdef functional // functional //
`else // functional //
specify
// specify_block_begin
if(E==1'b0 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b0 && TE==1'b0)
// comb arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
if(E==1'b1)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
// setuphold E-HL CK-LH
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1),
negedge E &&& (ENABLE_NOT_TE == 1'b1),1.0, 1.0, NOTIFIER);
// setuphold E-LH CK-LH
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1),
posedge E &&& (ENABLE_NOT_TE == 1'b1),1.0, 1.0, NOTIFIER);
// mpw CK_hl
$width(negedge CK,1.0,0,NOTIFIER);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANAQHDV8 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
udp_tlat I3 (n1, xE, clk, xRN, xSN, NOTIFIER);
or I4 (n0, n1, xTE);
and I5 (Q, n0, clk);
`ifdef functional // functional //
`else // functional //
specify
// specify_block_begin
if(E==1'b0 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// comb arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b0 && TE==1'b0)
// comb arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
if(E==1'b1)
// comb arc TE --> Q
(TE => Q) = (1.0,1.0);
// setuphold E-HL CK-LH
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1),
negedge E &&& (ENABLE_NOT_TE == 1'b1),1.0, 1.0, NOTIFIER);
// setuphold E-LH CK-LH
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1),
posedge E &&& (ENABLE_NOT_TE == 1'b1),1.0, 1.0, NOTIFIER);
// mpw CK_hl
$width(negedge CK,1.0,0,NOTIFIER);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANQHDV0 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
or I3 (n0, xE, xTE);
udp_tlat I4 (n1, n0, clk, xRN, xSN, NOTIFIER);
and I5 (Q, n1, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANQHDV1 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
or I3 (n0, xE, xTE);
udp_tlat I4 (n1, n0, clk, xRN, xSN, NOTIFIER);
and I5 (Q, n1, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANQHDV12 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
or I3 (n0, xE, xTE);
udp_tlat I4 (n1, n0, clk, xRN, xSN, NOTIFIER);
and I5 (Q, n1, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANQHDV16 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
or I3 (n0, xE, xTE);
udp_tlat I4 (n1, n0, clk, xRN, xSN, NOTIFIER);
and I5 (Q, n1, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANQHDV2 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
or I3 (n0, xE, xTE);
udp_tlat I4 (n1, n0, clk, xRN, xSN, NOTIFIER);
and I5 (Q, n1, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANQHDV20 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
or I3 (n0, xE, xTE);
udp_tlat I4 (n1, n0, clk, xRN, xSN, NOTIFIER);
and I5 (Q, n1, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANQHDV24 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
or I3 (n0, xE, xTE);
udp_tlat I4 (n1, n0, clk, xRN, xSN, NOTIFIER);
and I5 (Q, n1, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANQHDV3 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
or I3 (n0, xE, xTE);
udp_tlat I4 (n1, n0, clk, xRN, xSN, NOTIFIER);
and I5 (Q, n1, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANQHDV4 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
or I3 (n0, xE, xTE);
udp_tlat I4 (n1, n0, clk, xRN, xSN, NOTIFIER);
and I5 (Q, n1, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANQHDV6 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
or I3 (n0, xE, xTE);
udp_tlat I4 (n1, n0, clk, xRN, xSN, NOTIFIER);
and I5 (Q, n1, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKLANQHDV8 ( Q, CK, E, TE);
input CK, E, TE;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
wire ENABLE_NOT_TE;
wire ENABLE_NOT_E;
assign ENABLE_NOT_TE = (!TE) ? 1'b1:1'b0;
assign ENABLE_NOT_E = (!E) ? 1'b1:1'b0;
buf I0 (clk, CK);
buf I1 (xTE, TE);
buf I2 (xE, E);
or I3 (n0, xE, xTE);
udp_tlat I4 (n1, n0, clk, xRN, xSN, NOTIFIER);
and I5 (Q, n1, clk);
`ifdef functional // functional //
`else // functional //
specify
if(E==1'b0 && TE==1'b0)
// arc CK --> Q
(negedge CK => (Q:1'bx)) = (1.0,1.0);
if(E==1'b0 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b0)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
if(E==1'b1 && TE==1'b1)
// arc CK --> Q
(CK => Q) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_TE == 1'b1), posedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), negedge TE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_E == 1'b1), posedge TE, 1.0, 1.0, NOTIFIER);
endspecify
`endif
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKMUX2HDV0 ( Z, I0, I1, S);
input I0, I1, S;
output Z;
udp_mux2 (Z, I0, I1, S);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
(I0 => Z) = (1.0,1.0);
if(I0==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
(I1 => Z) = (1.0,1.0);
// arc posedge S --> (Z:S)
(posedge S => (Z:S)) = (1.0,1.0);
// arc negedge S --> (Z:S)
(negedge S => (Z:S)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKMUX2HDV1 ( Z, I0, I1, S);
input I0, I1, S;
output Z;
udp_mux2 (Z, I0, I1, S);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
(I0 => Z) = (1.0,1.0);
if(I0==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
(I1 => Z) = (1.0,1.0);
// arc posedge S --> (Z:S)
(posedge S => (Z:S)) = (1.0,1.0);
// arc negedge S --> (Z:S)
(negedge S => (Z:S)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKMUX2HDV2 ( Z, I0, I1, S);
input I0, I1, S;
output Z;
udp_mux2 (Z, I0, I1, S);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
(I0 => Z) = (1.0,1.0);
if(I0==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
(I1 => Z) = (1.0,1.0);
// arc posedge S --> (Z:S)
(posedge S => (Z:S)) = (1.0,1.0);
// arc negedge S --> (Z:S)
(negedge S => (Z:S)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKMUX2HDV4 ( Z, I0, I1, S);
input I0, I1, S;
output Z;
udp_mux2 (Z, I0, I1, S);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
(I0 => Z) = (1.0,1.0);
if(I0==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
(I1 => Z) = (1.0,1.0);
// arc posedge S --> (Z:S)
(posedge S => (Z:S)) = (1.0,1.0);
// arc negedge S --> (Z:S)
(negedge S => (Z:S)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKNAND2HDV0 ( ZN, A1, A2);
input A1, A2;
output ZN;
nand SMC_I0 (ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKNAND2HDV1 ( ZN, A1, A2);
input A1, A2;
output ZN;
nand SMC_I0 (ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKNAND2HDV12 ( ZN, A1, A2);
input A1, A2;
output ZN;
nand SMC_I0 (ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKNAND2HDV16 ( ZN, A1, A2);
input A1, A2;
output ZN;
nand SMC_I0 (ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKNAND2HDV2 ( ZN, A1, A2);
input A1, A2;
output ZN;
nand SMC_I0 (ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKNAND2HDV4 ( ZN, A1, A2);
input A1, A2;
output ZN;
nand SMC_I0 (ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKNAND2HDV8 ( ZN, A1, A2);
input A1, A2;
output ZN;
nand SMC_I0 (ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKNAND2HDVL ( ZN, A1, A2);
input A1, A2;
output ZN;
nand SMC_I0 (ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKNOR2HDV12 ( ZN, A1, A2);
input A1, A2;
output ZN;
nor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKNOR2HDV16 ( ZN, A1, A2);
input A1, A2;
output ZN;
nor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKNOR2HDV2 ( ZN, A1, A2);
input A1, A2;
output ZN;
nor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKNOR2HDV4 ( ZN, A1, A2);
input A1, A2;
output ZN;
nor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKNOR2HDV8 ( ZN, A1, A2);
input A1, A2;
output ZN;
nor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKOR2HDV0 ( Z, A1, A2);
input A1, A2;
output Z;
or (Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKOR2HDV1 ( Z, A1, A2);
input A1, A2;
output Z;
or (Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKOR2HDV12 ( Z, A1, A2);
input A1, A2;
output Z;
or (Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKOR2HDV16 ( Z, A1, A2);
input A1, A2;
output Z;
or (Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKOR2HDV2 ( Z, A1, A2);
input A1, A2;
output Z;
or (Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKOR2HDV4 ( Z, A1, A2);
input A1, A2;
output Z;
or (Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKOR2HDV8 ( Z, A1, A2);
input A1, A2;
output Z;
or (Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKXOR2HDV0 ( Z, A1, A2);
input A1, A2;
output Z;
xor SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
// arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
// arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
// arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKXOR2HDV1 ( Z, A1, A2);
input A1, A2;
output Z;
xor SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
// arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
// arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
// arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKXOR2HDV2 ( Z, A1, A2);
input A1, A2;
output Z;
xor SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
// arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
// arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
// arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module CLKXOR2HDV4 ( Z, A1, A2);
input A1, A2;
output Z;
xor SMC_I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
// arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
// arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
// arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DEL1HDV0 ( Z, I);
input I;
output Z;
buf SMC_I0( Z, I );
`ifdef functional // functional //
`else
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DEL1HDV1 ( Z, I);
input I;
output Z;
buf SMC_I0( Z, I );
`ifdef functional // functional //
`else
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DEL1HDV2 ( Z, I);
input I;
output Z;
buf SMC_I0( Z, I );
`ifdef functional // functional //
`else
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DEL1HDV4 ( Z, I);
input I;
output Z;
buf SMC_I0( Z, I );
`ifdef functional // functional //
`else
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DEL2HDV0 ( Z, I);
input I;
output Z;
buf SMC_I0( Z, I );
`ifdef functional // functional //
`else
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DEL2HDV1 ( Z, I);
input I;
output Z;
buf SMC_I0( Z, I );
`ifdef functional // functional //
`else
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DEL2HDV2 ( Z, I);
input I;
output Z;
buf SMC_I0( Z, I );
`ifdef functional // functional //
`else
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DEL2HDV4 ( Z, I);
input I;
output Z;
buf SMC_I0( Z, I );
`ifdef functional // functional //
`else
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DEL4HDV0 ( Z, I);
input I;
output Z;
buf SMC_I0( Z, I );
`ifdef functional // functional //
`else
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DEL4HDV1 ( Z, I);
input I;
output Z;
buf SMC_I0( Z, I );
`ifdef functional // functional //
`else
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DEL4HDV2 ( Z, I);
input I;
output Z;
buf SMC_I0( Z, I );
`ifdef functional // functional //
`else
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DEL4HDV4 ( Z, I);
input I;
output Z;
buf SMC_I0( Z, I );
`ifdef functional // functional //
`else
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRNQHDV0 ( Q, CK, D, RN);
input CK, D, RN;
output Q;
reg NOTIFIER;
supply1 xSN, EN;
buf X0 (xRN, RN);
buf IC (clk, CK);
udp_edfft I0 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
buf I1 (Q, n0);
and I4 (Deff, D, xRN);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRNQHDV1 ( Q, CK, D, RN);
input CK, D, RN;
output Q;
reg NOTIFIER;
supply1 xSN, EN;
buf X0 (xRN, RN);
buf IC (clk, CK);
udp_edfft I0 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
buf I1 (Q, n0);
and I4 (Deff, D, xRN);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRNQHDV2 ( Q, CK, D, RN);
input CK, D, RN;
output Q;
reg NOTIFIER;
supply1 xSN, EN;
buf X0 (xRN, RN);
buf IC (clk, CK);
udp_edfft I0 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
buf I1 (Q, n0);
and I4 (Deff, D, xRN);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRNQHDV4 ( Q, CK, D, RN);
input CK, D, RN;
output Q;
reg NOTIFIER;
supply1 xSN, EN;
buf X0 (xRN, RN);
buf IC (clk, CK);
udp_edfft I0 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
buf I1 (Q, n0);
and I4 (Deff, D, xRN);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRNQNHDV0 ( QN, CK, D, RN);
input CK, D, RN;
output QN;
reg NOTIFIER;
supply1 xSN, EN;
buf X0 (xRN, RN);
buf IC (clk, CK);
udp_edfft I0 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
not I2 (QN, n0);
and I4 (Deff, D, xRN);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRNQNHDV1 ( QN, CK, D, RN);
input CK, D, RN;
output QN;
reg NOTIFIER;
supply1 xSN, EN;
buf X0 (xRN, RN);
buf IC (clk, CK);
udp_edfft I0 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
not I2 (QN, n0);
and I4 (Deff, D, xRN);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRNQNHDV2 ( QN, CK, D, RN);
input CK, D, RN;
output QN;
reg NOTIFIER;
supply1 xSN, EN;
buf X0 (xRN, RN);
buf IC (clk, CK);
udp_edfft I0 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
not I2 (QN, n0);
and I4 (Deff, D, xRN);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRNQNHDV4 ( QN, CK, D, RN);
input CK, D, RN;
output QN;
reg NOTIFIER;
supply1 xSN, EN;
buf X0 (xRN, RN);
buf IC (clk, CK);
udp_edfft I0 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
not I2 (QN, n0);
and I4 (Deff, D, xRN);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRSNQHDV0 ( Q, CK, D, RN, SN);
input CK, D, RN, SN;
output Q;
reg NOTIFIER;
supply1 EN;
buf I0 (xRN, RN);
buf I1 (xSN, SN);
buf IC (clk, CK);
udp_edffts I2 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
buf I3 (Q, n0);
not I6 (nSN , SN);
and I7 (out0, RN, nSN);
and I8 (out1, D, RN);
or I4 (Deff, out0, out1);
`ifdef functional // functional //
`else // functional //
buf SMC_I9(ENABLE_RN, RN);
buf SMC_I10(ENABLE_RN, RN);
or SMC_I11(Deff, out0, out1);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRSNQHDV1 ( Q, CK, D, RN, SN);
input CK, D, RN, SN;
output Q;
reg NOTIFIER;
supply1 EN;
buf I0 (xRN, RN);
buf I1 (xSN, SN);
buf IC (clk, CK);
udp_edffts I2 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
buf I3 (Q, n0);
not I6 (nSN , SN);
and I7 (out0, RN, nSN);
and I8 (out1, D, RN);
or I4 (Deff, out0, out1);
`ifdef functional // functional //
`else // functional //
buf SMC_I9(ENABLE_RN, RN);
buf SMC_I10(ENABLE_RN, RN);
or SMC_I11(Deff, out0, out1);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRSNQHDV2 ( Q, CK, D, RN, SN);
input CK, D, RN, SN;
output Q;
reg NOTIFIER;
supply1 EN;
buf I0 (xRN, RN);
buf I1 (xSN, SN);
buf IC (clk, CK);
udp_edffts I2 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
buf I3 (Q, n0);
not I6 (nSN , SN);
and I7 (out0, RN, nSN);
and I8 (out1, D, RN);
or I4 (Deff, out0, out1);
`ifdef functional // functional //
`else // functional //
buf SMC_I9(ENABLE_RN, RN);
buf SMC_I10(ENABLE_RN, RN);
or SMC_I11(Deff, out0, out1);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRSNQHDV4 ( Q, CK, D, RN, SN);
input CK, D, RN, SN;
output Q;
reg NOTIFIER;
supply1 EN;
buf I0 (xRN, RN);
buf I1 (xSN, SN);
buf IC (clk, CK);
udp_edffts I2 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
buf I3 (Q, n0);
not I6 (nSN , SN);
and I7 (out0, RN, nSN);
and I8 (out1, D, RN);
or I4 (Deff, out0, out1);
`ifdef functional // functional //
`else // functional //
buf SMC_I9(ENABLE_RN, RN);
buf SMC_I10(ENABLE_RN, RN);
or SMC_I11(Deff, out0, out1);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRSNQNHDV0 ( QN, CK, D, RN, SN);
input CK, D, RN, SN;
output QN;
reg NOTIFIER;
supply1 EN;
buf I0 (xRN, RN);
buf I1 (xSN, SN);
buf IC (clk, CK);
udp_edffts I2 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
not I5 (QN, n0);
not I6 (nSN , SN);
and I7 (out0, RN, nSN);
and I8 (out1, D, RN);
or I4 (Deff, out0, out1);
`ifdef functional // functional //
`else // functional //
buf SMC_I9(ENABLE_RN, RN);
buf SMC_I10(ENABLE_RN, RN);
or SMC_I11(Deff, out0, out1);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRSNQNHDV1 ( QN, CK, D, RN, SN);
input CK, D, RN, SN;
output QN;
reg NOTIFIER;
supply1 EN;
buf I0 (xRN, RN);
buf I1 (xSN, SN);
buf IC (clk, CK);
udp_edffts I2 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
not I5 (QN, n0);
not I6 (nSN , SN);
and I7 (out0, RN, nSN);
and I8 (out1, D, RN);
or I4 (Deff, out0, out1);
`ifdef functional // functional //
`else // functional //
buf SMC_I9(ENABLE_RN, RN);
buf SMC_I10(ENABLE_RN, RN);
or SMC_I11(Deff, out0, out1);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRSNQNHDV2 ( QN, CK, D, RN, SN);
input CK, D, RN, SN;
output QN;
reg NOTIFIER;
supply1 EN;
buf I0 (xRN, RN);
buf I1 (xSN, SN);
buf IC (clk, CK);
udp_edffts I2 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
not I5 (QN, n0);
not I6 (nSN , SN);
and I7 (out0, RN, nSN);
and I8 (out1, D, RN);
or I4 (Deff, out0, out1);
`ifdef functional // functional //
`else // functional //
buf SMC_I9(ENABLE_RN, RN);
buf SMC_I10(ENABLE_RN, RN);
or SMC_I11(Deff, out0, out1);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DGRSNQNHDV4 ( QN, CK, D, RN, SN);
input CK, D, RN, SN;
output QN;
reg NOTIFIER;
supply1 EN;
buf I0 (xRN, RN);
buf I1 (xSN, SN);
buf IC (clk, CK);
udp_edffts I2 (n0, D, clk, xRN, xSN, EN, NOTIFIER);
not I5 (QN, n0);
not I6 (nSN , SN);
and I7 (out0, RN, nSN);
and I8 (out1, D, RN);
or I4 (Deff, out0, out1);
`ifdef functional // functional //
`else // functional //
buf SMC_I9(ENABLE_RN, RN);
buf SMC_I10(ENABLE_RN, RN);
or SMC_I11(Deff, out0, out1);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge D &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge RN, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
negedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN == 1'b1),
posedge SN &&& (ENABLE_RN == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DQHDV0 ( Q, CK, D);
input CK, D;
output Q;
reg NOTIFIER;
supply1 xSN,xRN;
buf IC (clk, CK);
udp_dff I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DQHDV1 ( Q, CK, D);
input CK, D;
output Q;
reg NOTIFIER;
supply1 xSN,xRN;
buf IC (clk, CK);
udp_dff I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DQHDV2 ( Q, CK, D);
input CK, D;
output Q;
reg NOTIFIER;
supply1 xSN,xRN;
buf IC (clk, CK);
udp_dff I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DQHDV4 ( Q, CK, D);
input CK, D;
output Q;
reg NOTIFIER;
supply1 xSN,xRN;
buf IC (clk, CK);
udp_dff I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DQNHDV0 ( QN, CK, D);
input CK, D;
output QN;
reg NOTIFIER;
supply1 xSN,xRN;
buf IC (clk, CK);
udp_dff I0 (n0, D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DQNHDV1 ( QN, CK, D);
input CK, D;
output QN;
reg NOTIFIER;
supply1 xSN,xRN;
buf IC (clk, CK);
udp_dff I0 (n0, D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DQNHDV2 ( QN, CK, D);
input CK, D;
output QN;
reg NOTIFIER;
supply1 xSN,xRN;
buf IC (clk, CK);
udp_dff I0 (n0, D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DQNHDV4 ( QN, CK, D);
input CK, D;
output QN;
reg NOTIFIER;
supply1 xSN,xRN;
buf IC (clk, CK);
udp_dff I0 (n0, D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge D, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRNQHDV0 (D, RDN, CK, Q);
input D, RDN, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRNQHDV1 (D, RDN, CK, Q);
input D, RDN, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRNQHDV2 (D, RDN, CK, Q);
input D, RDN, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRNQHDV4 (D, RDN, CK, Q);
input D, RDN, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRNQNHDV0 (D, RDN, CK, QN);
input D, RDN, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRNQNHDV1 (D, RDN, CK, QN);
input D, RDN, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRNQNHDV2 (D, RDN, CK, QN);
input D, RDN, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRNQNHDV4 (D, RDN, CK, QN);
input D, RDN, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRQHDV0 (D, RD, CK, Q);
input D, RD, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I5(ENABLE_NOT_RD,RD);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), negedge RD &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRQHDV1 (D, RD, CK, Q);
input D, RD, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I5(ENABLE_NOT_RD,RD);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), negedge RD &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRQHDV2 (D, RD, CK, Q);
input D, RD, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I5(ENABLE_NOT_RD,RD);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), negedge RD &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRQHDV4 (D, RD, CK, Q);
input D, RD, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I5(ENABLE_NOT_RD,RD);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), negedge RD &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRQNHDV0 (D, RD, CK, QN);
input D, RD, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I5(ENABLE_NOT_RD,RD);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), negedge RD &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRQNHDV1 (D, RD, CK, QN);
input D, RD, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I5(ENABLE_NOT_RD,RD);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), negedge RD &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRQNHDV2 (D, RD, CK, QN);
input D, RD, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I5(ENABLE_NOT_RD,RD);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), negedge RD &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRQNHDV4 (D, RD, CK, QN);
input D, RD, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I5(ENABLE_NOT_RD,RD);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge D &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D == 1'b1), negedge RD &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRSNQHDV0 (D, RDN, SDN, CK, Q);
input D, RDN, SDN, CK;
output Q;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I7(ENABLE_SDN,SDN);
buf SMC_I8(ENABLE_RDN,RDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRSNQHDV1 (D, RDN, SDN, CK, Q);
input D, RDN, SDN, CK;
output Q;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I7(ENABLE_SDN,SDN);
buf SMC_I8(ENABLE_RDN,RDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRSNQHDV2 (D, RDN, SDN, CK, Q);
input D, RDN, SDN, CK;
output Q;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I7(ENABLE_SDN,SDN);
buf SMC_I8(ENABLE_RDN,RDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRSNQHDV4 (D, RDN, SDN, CK, Q);
input D, RDN, SDN, CK;
output Q;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I7(ENABLE_SDN,SDN);
buf SMC_I8(ENABLE_RDN,RDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRSNQNHDV0 (D, RDN, SDN, CK, QN);
input D, RDN, SDN, CK;
output QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I7(ENABLE_SDN,SDN);
buf SMC_I8(ENABLE_RDN,RDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRSNQNHDV1 (D, RDN, SDN, CK, QN);
input D, RDN, SDN, CK;
output QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I7(ENABLE_SDN,SDN);
buf SMC_I8(ENABLE_RDN,RDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRSNQNHDV2 (D, RDN, SDN, CK, QN);
input D, RDN, SDN, CK;
output QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I7(ENABLE_SDN,SDN);
buf SMC_I8(ENABLE_RDN,RDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DRSNQNHDV4 (D, RDN, SDN, CK, QN);
input D, RDN, SDN, CK;
output QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I7(ENABLE_SDN,SDN);
buf SMC_I8(ENABLE_RDN,RDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DSNQHDV0 (D, SDN, CK, Q);
input D, SDN, CK;
output Q;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DSNQHDV1 (D, SDN, CK, Q);
input D, SDN, CK;
output Q;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DSNQHDV2 (D, SDN, CK, Q);
input D, SDN, CK;
output Q;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DSNQHDV4 (D, SDN, CK, Q);
input D, SDN, CK;
output Q;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DSNQNHDV0 (D, SDN, CK, QN);
input D, SDN, CK;
output QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DSNQNHDV1 (D, SDN, CK, QN);
input D, SDN, CK;
output QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DSNQNHDV2 (D, SDN, CK, QN);
input D, SDN, CK;
output QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module DSNQNHDV4 (D, SDN, CK, QN);
input D, SDN, CK;
output QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDQHDV0 ( Q, CK, D, E);
input CK, D, E;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
udp_edff I0 (n0, D, CK, xRN, xSN, E, NOTIFIER);
buf B1 (Q, n0);
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_E, E);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
negedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
posedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge E, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDQHDV1 ( Q, CK, D, E);
input CK, D, E;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
udp_edff I0 (n0, D, CK, xRN, xSN, E, NOTIFIER);
buf B1 (Q, n0);
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_E, E);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
negedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
posedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge E, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDQHDV2 ( Q, CK, D, E);
input CK, D, E;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
udp_edff I0 (n0, D, CK, xRN, xSN, E, NOTIFIER);
buf B1 (Q, n0);
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_E, E);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
negedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
posedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge E, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDQHDV4 ( Q, CK, D, E);
input CK, D, E;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
udp_edff I0 (n0, D, CK, xRN, xSN, E, NOTIFIER);
buf B1 (Q, n0);
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_E, E);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
negedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
posedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge E, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDQNHDV0 ( QN, CK, D, E);
input CK, D, E;
output QN;
reg NOTIFIER;
supply1 xRN, xSN;
udp_edff I0 (n0, D, CK, xRN, xSN, E, NOTIFIER);
not I1 (QN, n0);
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_E, E);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
negedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
posedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge E, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDQNHDV1 ( QN, CK, D, E);
input CK, D, E;
output QN;
reg NOTIFIER;
supply1 xRN, xSN;
udp_edff I0 (n0, D, CK, xRN, xSN, E, NOTIFIER);
not I1 (QN, n0);
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_E, E);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
negedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
posedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge E, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDQNHDV2 ( QN, CK, D, E);
input CK, D, E;
output QN;
reg NOTIFIER;
supply1 xRN, xSN;
udp_edff I0 (n0, D, CK, xRN, xSN, E, NOTIFIER);
not I1 (QN, n0);
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_E, E);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
negedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
posedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge E, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDQNHDV4 ( QN, CK, D, E);
input CK, D, E;
output QN;
reg NOTIFIER;
supply1 xRN, xSN;
udp_edff I0 (n0, D, CK, xRN, xSN, E, NOTIFIER);
not I1 (QN, n0);
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_E, E);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
negedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E == 1'b1),
posedge D &&& (ENABLE_E == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge E, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge E, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDRNQHDV0 (D, E, RDN, CK, Q);
input D, E, RDN, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_E;
buf XX0 (xRN,RDN);
udp_edff I0 (n0,D,CK, xRN, xSN,E, NOTIFIER);
buf B1 (Q, n0);
assign ENABLE_D_AND_E = ( D & E )?1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I4(ENABLE_E_AND_RDN,E,RDN);
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E == 1'b1), posedge RDN &&& (ENABLE_D_AND_E == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDRNQHDV1 (D, E, RDN, CK, Q);
input D, E, RDN, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_E;
buf XX0 (xRN,RDN);
udp_edff I0 (n0,D,CK, xRN, xSN,E, NOTIFIER);
buf B1 (Q, n0);
assign ENABLE_D_AND_E = ( D & E )?1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I4(ENABLE_E_AND_RDN,E,RDN);
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E == 1'b1), posedge RDN &&& (ENABLE_D_AND_E == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDRNQHDV2 (D, E, RDN, CK, Q);
input D, E, RDN, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_E;
buf XX0 (xRN,RDN);
udp_edff I0 (n0,D,CK, xRN, xSN,E, NOTIFIER);
buf B1 (Q, n0);
assign ENABLE_D_AND_E = ( D & E )?1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I4(ENABLE_E_AND_RDN,E,RDN);
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E == 1'b1), posedge RDN &&& (ENABLE_D_AND_E == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDRNQHDV4 (D, E, RDN, CK, Q);
input D, E, RDN, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_E;
buf XX0 (xRN,RDN);
udp_edff I0 (n0,D,CK, xRN, xSN,E, NOTIFIER);
buf B1 (Q, n0);
assign ENABLE_D_AND_E = ( D & E )?1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I4(ENABLE_E_AND_RDN,E,RDN);
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E == 1'b1), posedge RDN &&& (ENABLE_D_AND_E == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDRNQNHDV0 (D, E, RDN, CK, QN);
input D, E, RDN, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_E;
buf XX0 (xRN,RDN);
udp_edff I0 (n0,D,CK, xRN, xSN,E, NOTIFIER);
not I1 (QN, n0);
assign ENABLE_D_AND_E = ( D & E )?1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_E_AND_RDN,E,RDN);
buf SMC_I7(ENABLE_RDN,RDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E == 1'b1), posedge RDN &&& (ENABLE_D_AND_E == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDRNQNHDV1 (D, E, RDN, CK, QN);
input D, E, RDN, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_E;
buf XX0 (xRN,RDN);
udp_edff I0 (n0,D,CK, xRN, xSN,E, NOTIFIER);
not I1 (QN, n0);
assign ENABLE_D_AND_E = ( D & E )?1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_E_AND_RDN,E,RDN);
buf SMC_I7(ENABLE_RDN,RDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E == 1'b1), posedge RDN &&& (ENABLE_D_AND_E == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDRNQNHDV2 (D, E, RDN, CK, QN);
input D, E, RDN, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_E;
buf XX0 (xRN,RDN);
udp_edff I0 (n0,D,CK, xRN, xSN,E, NOTIFIER);
not I1 (QN, n0);
assign ENABLE_D_AND_E = ( D & E )?1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_E_AND_RDN,E,RDN);
buf SMC_I7(ENABLE_RDN,RDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E == 1'b1), posedge RDN &&& (ENABLE_D_AND_E == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module EDRNQNHDV4 (D, E, RDN, CK, QN);
input D, E, RDN, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_E;
buf XX0 (xRN,RDN);
udp_edff I0 (n0,D,CK, xRN, xSN,E, NOTIFIER);
not I1 (QN, n0);
assign ENABLE_D_AND_E = ( D & E )?1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_E_AND_RDN,E,RDN);
buf SMC_I7(ENABLE_RDN,RDN);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge E &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E == 1'b1), posedge RDN &&& (ENABLE_D_AND_E == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module F_DIODEHD2 ( A);
input A;
`ifdef functional // functional //
`else
specify
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module F_DIODENHD2 ( A);
input A;
`ifdef functional // functional //
`else
specify
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module INHDV0 ( ZN, I);
input I;
output ZN;
not I0(ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module INHDV1 ( ZN, I);
input I;
output ZN;
not I0(ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module INHDV10 ( ZN, I);
input I;
output ZN;
not I0(ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module INHDV12 ( ZN, I);
input I;
output ZN;
not I0(ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module INHDV14 ( ZN, I);
input I;
output ZN;
not I0(ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module INHDV16 ( ZN, I);
input I;
output ZN;
not I0(ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module INHDV2 ( ZN, I);
input I;
output ZN;
not I0(ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module INHDV20 ( ZN, I);
input I;
output ZN;
not I0(ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module INHDV24 ( ZN, I);
input I;
output ZN;
not I0(ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module INHDV3 ( ZN, I);
input I;
output ZN;
not I0(ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module INHDV32 ( ZN, I);
input I;
output ZN;
not I0(ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module INHDV4 ( ZN, I);
input I;
output ZN;
not I0(ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module INHDV6 ( ZN, I);
input I;
output ZN;
not I0(ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module INHDV8 ( ZN, I);
input I;
output ZN;
not I0(ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module INHDVL ( ZN, I);
input I;
output ZN;
not I0(ZN, I);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> ZN
(I => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHHDV0 ( Q, QN, D, E);
input D, E;
output Q, QN;
reg NOTIFIER;
supply1 xRN, xSN;
not I3(clk,E);
udp_tlat I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
$setuphold(negedge E, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(negedge E, posedge D, 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHHDV1 ( Q, QN, D, E);
input D, E;
output Q, QN;
reg NOTIFIER;
supply1 xRN, xSN;
not I3(clk,E);
udp_tlat I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
$setuphold(negedge E, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(negedge E, posedge D, 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHHDV2 ( Q, QN, D, E);
input D, E;
output Q, QN;
reg NOTIFIER;
supply1 xRN, xSN;
not I3(clk,E);
udp_tlat I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
$setuphold(negedge E, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(negedge E, posedge D, 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHHDV4 ( Q, QN, D, E);
input D, E;
output Q, QN;
reg NOTIFIER;
supply1 xRN, xSN;
not I3(clk,E);
udp_tlat I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
$setuphold(negedge E, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(negedge E, posedge D, 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHRNHDV0 (D, RDN, E, Q, QN);
input D, RDN, E;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
not I3(clk,E);
buf XX0 (xRN,RDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$setuphold(negedge E &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge E &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHRNHDV1 (D, RDN, E, Q, QN);
input D, RDN, E;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
not I3(clk,E);
buf XX0 (xRN,RDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$setuphold(negedge E &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge E &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHRNHDV2 (D, RDN, E, Q, QN);
input D, RDN, E;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
not I3(clk,E);
buf XX0 (xRN,RDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$setuphold(negedge E &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge E &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHRNHDV4 (D, RDN, E, Q, QN);
input D, RDN, E;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
not I3(clk,E);
buf XX0 (xRN,RDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_RDN,RDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$setuphold(negedge E &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge E &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHRSNHDV0 (D, RDN, SDN, E, Q, QN);
input D, RDN, SDN, E;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
not I3(clk,E);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I7(ENABLE_SDN,SDN);
buf SMC_I8(ENABLE_RDN,RDN);
not SMC_I9(ENABLE_NOT_E,E);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(negedge E &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge E &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN &&& (ENABLE_NOT_E == 1'b1),
posedge SDN &&& (ENABLE_NOT_E == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHRSNHDV1 (D, RDN, SDN, E, Q, QN);
input D, RDN, SDN, E;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
not I3(clk,E);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I7(ENABLE_SDN,SDN);
buf SMC_I8(ENABLE_RDN,RDN);
not SMC_I9(ENABLE_NOT_E,E);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(negedge E &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge E &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN &&& (ENABLE_NOT_E == 1'b1),
posedge SDN &&& (ENABLE_NOT_E == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHRSNHDV2 (D, RDN, SDN, E, Q, QN);
input D, RDN, SDN, E;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
not I3(clk,E);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I7(ENABLE_SDN,SDN);
buf SMC_I8(ENABLE_RDN,RDN);
not SMC_I9(ENABLE_NOT_E,E);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(negedge E &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge E &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN &&& (ENABLE_NOT_E == 1'b1),
posedge SDN &&& (ENABLE_NOT_E == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHRSNHDV4 (D, RDN, SDN, E, Q, QN);
input D, RDN, SDN, E;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
not I3(clk,E);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I6(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I7(ENABLE_SDN,SDN);
buf SMC_I8(ENABLE_RDN,RDN);
not SMC_I9(ENABLE_NOT_E,E);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(negedge E &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge E &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN &&& (ENABLE_NOT_E == 1'b1),
posedge SDN &&& (ENABLE_NOT_E == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHSNHDV0 (D, SDN, E, Q, QN);
input D, SDN, E;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
not I3 (clk,E);
buf XX0 (xSN,SDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(negedge E &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge E &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHSNHDV1 (D, SDN, E, Q, QN);
input D, SDN, E;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
not I3 (clk,E);
buf XX0 (xSN,SDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(negedge E &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge E &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHSNHDV2 (D, SDN, E, Q, QN);
input D, SDN, E;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
not I3 (clk,E);
buf XX0 (xSN,SDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(negedge E &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge E &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LAHSNHDV4 (D, SDN, E, Q, QN);
input D, SDN, E;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
not I3 (clk,E);
buf XX0 (xSN,SDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && E==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc E --> QN
(posedge E => (QN : D)) = (1.0,1.0);
if(D==1'b0 && E==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && E==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && E==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(negedge E &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge E &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge E,1.0,0,NOTIFIER);
$setuphold(negedge E &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALHDV0 (D, EN, Q, QN);
input D, EN;
output Q, QN;
reg NOTIFIER;
supply1 xRN, xSN;
buf I3 (clk, EN);
udp_tlat I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
$setuphold(posedge EN, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN, posedge D, 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule // LALHSV1 //
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALHDV1 (D, EN, Q, QN);
input D, EN;
output Q, QN;
reg NOTIFIER;
supply1 xRN, xSN;
buf I3 (clk, EN);
udp_tlat I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
$setuphold(posedge EN, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN, posedge D, 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule // LALHSV1 //
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALHDV2 (D, EN, Q, QN);
input D, EN;
output Q, QN;
reg NOTIFIER;
supply1 xRN, xSN;
buf I3 (clk, EN);
udp_tlat I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
$setuphold(posedge EN, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN, posedge D, 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule // LALHSV1 //
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALHDV4 (D, EN, Q, QN);
input D, EN;
output Q, QN;
reg NOTIFIER;
supply1 xRN, xSN;
buf I3 (clk, EN);
udp_tlat I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
$setuphold(posedge EN, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN, posedge D, 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule // LALHSV1 //
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALRNHDV0 (D, RDN, EN, Q, QN);
input D, RDN, EN;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf I3 (clk,EN);
buf XX0 (xRN,RDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_RDN,RDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$setuphold(posedge EN &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALRNHDV1 (D, RDN, EN, Q, QN);
input D, RDN, EN;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf I3 (clk,EN);
buf XX0 (xRN,RDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_RDN,RDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$setuphold(posedge EN &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALRNHDV2 (D, RDN, EN, Q, QN);
input D, RDN, EN;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf I3 (clk,EN);
buf XX0 (xRN,RDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_RDN,RDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$setuphold(posedge EN &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALRNHDV4 (D, RDN, EN, Q, QN);
input D, RDN, EN;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf I3 (clk,EN);
buf XX0 (xRN,RDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_RDN,RDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$setuphold(posedge EN &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALRSNHDV0 (D, RDN, SDN, EN, Q, QN);
input D, RDN, SDN, EN;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf I3 (clk,EN);
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I7(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I8(ENABLE_SDN,SDN);
buf SMC_I9(ENABLE_RDN,RDN);
buf SMC_I10(ENABLE_EN,EN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(posedge EN &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN &&& (ENABLE_EN == 1'b1),
posedge SDN &&& (ENABLE_EN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALRSNHDV1 (D, RDN, SDN, EN, Q, QN);
input D, RDN, SDN, EN;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf I3 (clk,EN);
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I7(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I8(ENABLE_SDN,SDN);
buf SMC_I9(ENABLE_RDN,RDN);
buf SMC_I10(ENABLE_EN,EN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(posedge EN &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN &&& (ENABLE_EN == 1'b1),
posedge SDN &&& (ENABLE_EN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALRSNHDV2 (D, RDN, SDN, EN, Q, QN);
input D, RDN, SDN, EN;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf I3 (clk,EN);
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I7(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I8(ENABLE_SDN,SDN);
buf SMC_I9(ENABLE_RDN,RDN);
buf SMC_I10(ENABLE_EN,EN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(posedge EN &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN &&& (ENABLE_EN == 1'b1),
posedge SDN &&& (ENABLE_EN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALRSNHDV4 (D, RDN, SDN, EN, Q, QN);
input D, RDN, SDN, EN;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf I3 (clk,EN);
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I7(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I8(ENABLE_SDN,SDN);
buf SMC_I9(ENABLE_RDN,RDN);
buf SMC_I10(ENABLE_EN,EN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(posedge EN &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN &&& (ENABLE_EN == 1'b1),
posedge SDN &&& (ENABLE_EN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALSNHDV0 (D, SDN, EN, Q, QN);
input D, SDN, EN;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf I3 (clk,EN);
buf XX0 (xSN,SDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_SDN,SDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(posedge EN &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALSNHDV1 (D, SDN, EN, Q, QN);
input D, SDN, EN;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf I3 (clk,EN);
buf XX0 (xSN,SDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_SDN,SDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(posedge EN &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALSNHDV2 (D, SDN, EN, Q, QN);
input D, SDN, EN;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf I3 (clk,EN);
buf XX0 (xSN,SDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_SDN,SDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(posedge EN &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module LALSNHDV4 (D, SDN, EN, Q, QN);
input D, SDN, EN;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf I3 (clk,EN);
buf XX0 (xSN,SDN);
udp_tlat I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_SDN,SDN);
specify
// arc D --> Q
(D => Q) = (1.0,1.0);
// arc EN --> Q
(negedge EN => (Q : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc D --> QN
(D => QN) = (1.0,1.0);
// arc EN --> QN
(negedge EN => (QN : D)) = (1.0,1.0);
if(D==1'b0 && EN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b0 && EN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(D==1'b1 && EN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$setuphold(posedge EN &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge EN,1.0,0,NOTIFIER);
$setuphold(posedge EN &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MAJ23HDV0 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
and SMC_I0( Z_row1, A1, A2 );
and SMC_I1( Z_row2, A1, A3 );
and SMC_I2( Z_row3, A2, A3 );
or SMC_I3( Z, Z_row1, Z_row2, Z_row3 );
`ifdef functional // functional //
`else
specify
if(A2==1'b0 && A3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b1 && A3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A1==1'b0 && A3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b1 && A3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MAJ23HDV1 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
and SMC_I0( Z_row1, A1, A2 );
and SMC_I1( Z_row2, A1, A3 );
and SMC_I2( Z_row3, A2, A3 );
or SMC_I3( Z, Z_row1, Z_row2, Z_row3 );
`ifdef functional // functional //
`else
specify
if(A2==1'b0 && A3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b1 && A3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A1==1'b0 && A3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b1 && A3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MAJ23HDV2 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
and SMC_I0( Z_row1, A1, A2 );
and SMC_I1( Z_row2, A1, A3 );
and SMC_I2( Z_row3, A2, A3 );
or SMC_I3( Z, Z_row1, Z_row2, Z_row3 );
`ifdef functional // functional //
`else
specify
if(A2==1'b0 && A3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b1 && A3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A1==1'b0 && A3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b1 && A3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MAJ23HDV4 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
and SMC_I0( Z_row1, A1, A2 );
and SMC_I1( Z_row2, A1, A3 );
and SMC_I2( Z_row3, A2, A3 );
or SMC_I3( Z, Z_row1, Z_row2, Z_row3 );
`ifdef functional // functional //
`else
specify
if(A2==1'b0 && A3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b1 && A3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A1==1'b0 && A3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b1 && A3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MAJ23HDVL ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
and SMC_I0( Z_row1, A1, A2 );
and SMC_I1( Z_row2, A1, A3 );
and SMC_I2( Z_row3, A2, A3 );
or SMC_I3( Z, Z_row1, Z_row2, Z_row3 );
`ifdef functional // functional //
`else
specify
if(A2==1'b0 && A3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b1 && A3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A1==1'b0 && A3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b1 && A3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MAOI222HDV0 ( ZN, A, B, C);
input A, B, C;
output ZN;
and I0(outAB, A, B);
and I1(outBC, B, C);
and I2(outAC, A, C);
nor I3(ZN, outAB, outBC, outAC);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && C==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B==1'b1 && C==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(A==1'b0 && C==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b1 && C==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MAOI222HDV1 ( ZN, A, B, C);
input A, B, C;
output ZN;
and I0(outAB, A, B);
and I1(outBC, B, C);
and I2(outAC, A, C);
nor I3(ZN, outAB, outBC, outAC);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && C==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B==1'b1 && C==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(A==1'b0 && C==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b1 && C==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MAOI222HDV2 ( ZN, A, B, C);
input A, B, C;
output ZN;
and I0(outAB, A, B);
and I1(outBC, B, C);
and I2(outAC, A, C);
nor I3(ZN, outAB, outBC, outAC);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && C==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B==1'b1 && C==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(A==1'b0 && C==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b1 && C==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MAOI222HDV4 ( ZN, A, B, C);
input A, B, C;
output ZN;
and I0(outAB, A, B);
and I1(outBC, B, C);
and I2(outAC, A, C);
nor I3(ZN, outAB, outBC, outAC);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && C==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B==1'b1 && C==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(A==1'b0 && C==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b1 && C==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MAOI222HDVL ( ZN, A, B, C);
input A, B, C;
output ZN;
and I0(outAB, A, B);
and I1(outBC, B, C);
and I2(outAC, A, C);
nor I3(ZN, outAB, outBC, outAC);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && C==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B==1'b1 && C==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(A==1'b0 && C==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b1 && C==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MOAI222HDV0 ( ZN, A, B, C );
input A, B, C;
output ZN;
or I0(outAB, A, B);
or I1(outBC, B, C);
or I2(outAC, A, C);
nand I3(ZN, outAB, outBC, outAC);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && C==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B==1'b1 && C==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(A==1'b0 && C==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b1 && C==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MOAI222HDV1 ( ZN, A, B, C );
input A, B, C;
output ZN;
or I0(outAB, A, B);
or I1(outBC, B, C);
or I2(outAC, A, C);
nand I3(ZN, outAB, outBC, outAC);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && C==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B==1'b1 && C==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(A==1'b0 && C==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b1 && C==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MOAI222HDV2 ( ZN, A, B, C );
input A, B, C;
output ZN;
or I0(outAB, A, B);
or I1(outBC, B, C);
or I2(outAC, A, C);
nand I3(ZN, outAB, outBC, outAC);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && C==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B==1'b1 && C==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(A==1'b0 && C==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b1 && C==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MOAI222HDV4 ( ZN, A, B, C );
input A, B, C;
output ZN;
or I0(outAB, A, B);
or I1(outBC, B, C);
or I2(outAC, A, C);
nand I3(ZN, outAB, outBC, outAC);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && C==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B==1'b1 && C==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(A==1'b0 && C==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b1 && C==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MOAI222HDVL ( ZN, A, B, C );
input A, B, C;
output ZN;
or I0(outAB, A, B);
or I1(outBC, B, C);
or I2(outAC, A, C);
nand I3(ZN, outAB, outBC, outAC);
`ifdef functional // functional //
`else // functional //
specify
if(B==1'b0 && C==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B==1'b1 && C==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(A==1'b0 && C==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b1 && C==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX2HDV0 ( Z, I0, I1, S);
input I0, I1, S;
output Z;
udp_mux2 (Z, I0, I1, S);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
(I0 => Z) = (1.0,1.0);
if(I0==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
(I1 => Z) = (1.0,1.0);
// arc posedge S --> (Z:S)
(posedge S => (Z:S)) = (1.0,1.0);
// arc negedge S --> (Z:S)
(negedge S => (Z:S)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX2HDV1 ( Z, I0, I1, S);
input I0, I1, S;
output Z;
udp_mux2 (Z, I0, I1, S);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
(I0 => Z) = (1.0,1.0);
if(I0==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
(I1 => Z) = (1.0,1.0);
// arc posedge S --> (Z:S)
(posedge S => (Z:S)) = (1.0,1.0);
// arc negedge S --> (Z:S)
(negedge S => (Z:S)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX2HDV2 ( Z, I0, I1, S);
input I0, I1, S;
output Z;
udp_mux2 (Z, I0, I1, S);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
(I0 => Z) = (1.0,1.0);
if(I0==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
(I1 => Z) = (1.0,1.0);
// arc posedge S --> (Z:S)
(posedge S => (Z:S)) = (1.0,1.0);
// arc negedge S --> (Z:S)
(negedge S => (Z:S)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX2HDV4 ( Z, I0, I1, S);
input I0, I1, S;
output Z;
udp_mux2 (Z, I0, I1, S);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
(I0 => Z) = (1.0,1.0);
if(I0==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
(I1 => Z) = (1.0,1.0);
// arc posedge S --> (Z:S)
(posedge S => (Z:S)) = (1.0,1.0);
// arc negedge S --> (Z:S)
(negedge S => (Z:S)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX2NHDV0 ( ZN, I0, I1, S);
input I0, I1, S;
output ZN;
udp_mux2 I00(z, I0, I1, S);
not I01(ZN, z);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b1)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
ifnone
(I0 => ZN) = (1.0,1.0);
if(I0==1'b0)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b1)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
ifnone
(I1 => ZN) = (1.0,1.0);
// arc posedge S --> (ZN:S)
(posedge S => (ZN:S)) = (1.0,1.0);
// arc negedge S --> (ZN:S)
(negedge S => (ZN:S)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX2NHDV1 ( ZN, I0, I1, S);
input I0, I1, S;
output ZN;
udp_mux2 I00(z, I0, I1, S);
not I01(ZN, z);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b1)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
ifnone
(I0 => ZN) = (1.0,1.0);
if(I0==1'b0)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b1)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
ifnone
(I1 => ZN) = (1.0,1.0);
// arc posedge S --> (ZN:S)
(posedge S => (ZN:S)) = (1.0,1.0);
// arc negedge S --> (ZN:S)
(negedge S => (ZN:S)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX2NHDV2 ( ZN, I0, I1, S);
input I0, I1, S;
output ZN;
udp_mux2 I00(z, I0, I1, S);
not I01(ZN, z);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b1)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
ifnone
(I0 => ZN) = (1.0,1.0);
if(I0==1'b0)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b1)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
ifnone
(I1 => ZN) = (1.0,1.0);
// arc posedge S --> (ZN:S)
(posedge S => (ZN:S)) = (1.0,1.0);
// arc negedge S --> (ZN:S)
(negedge S => (ZN:S)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX2NHDV4 ( ZN, I0, I1, S);
input I0, I1, S;
output ZN;
udp_mux2 I00(z, I0, I1, S);
not I01(ZN, z);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b1)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
ifnone
(I0 => ZN) = (1.0,1.0);
if(I0==1'b0)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b1)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
ifnone
(I1 => ZN) = (1.0,1.0);
// arc posedge S --> (ZN:S)
(posedge S => (ZN:S)) = (1.0,1.0);
// arc negedge S --> (ZN:S)
(negedge S => (ZN:S)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX3HDV0 ( Z, I0, I1, I2, S0, S1);
input I0, I1, I2, S0, S1;
output Z;
udp_mux4 u0 (Z, I0, I1, I2, I2, S0, S1);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0 && I2==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b0 && I2==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1 && I2==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1 && I2==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I0==1'b0 && I2==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b0 && I2==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1 && I2==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1 && I2==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
ifnone
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I2==1'b0)
// arc posedge S0 --> (Z:S0)
(posedge S0 => (Z:S0)) = (1.0,1.0);
if(I2==1'b0)
// arc negedge S0 --> (Z:S0)
(negedge S0 => (Z:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc posedge S0 --> (Z:S0)
(posedge S0 => (Z:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc negedge S0 --> (Z:S0)
(negedge S0 => (Z:S0)) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX3HDV1 ( Z, I0, I1, I2, S0, S1);
input I0, I1, I2, S0, S1;
output Z;
udp_mux4 u0 (Z, I0, I1, I2, I2, S0, S1);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0 && I2==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b0 && I2==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1 && I2==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1 && I2==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I0==1'b0 && I2==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b0 && I2==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1 && I2==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1 && I2==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
ifnone
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I2==1'b0)
// arc posedge S0 --> (Z:S0)
(posedge S0 => (Z:S0)) = (1.0,1.0);
if(I2==1'b0)
// arc negedge S0 --> (Z:S0)
(negedge S0 => (Z:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc posedge S0 --> (Z:S0)
(posedge S0 => (Z:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc negedge S0 --> (Z:S0)
(negedge S0 => (Z:S0)) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX3HDV2 ( Z, I0, I1, I2, S0, S1);
input I0, I1, I2, S0, S1;
output Z;
udp_mux4 u0 (Z, I0, I1, I2, I2, S0, S1);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0 && I2==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b0 && I2==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1 && I2==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1 && I2==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I0==1'b0 && I2==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b0 && I2==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1 && I2==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1 && I2==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
ifnone
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I2==1'b0)
// arc posedge S0 --> (Z:S0)
(posedge S0 => (Z:S0)) = (1.0,1.0);
if(I2==1'b0)
// arc negedge S0 --> (Z:S0)
(negedge S0 => (Z:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc posedge S0 --> (Z:S0)
(posedge S0 => (Z:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc negedge S0 --> (Z:S0)
(negedge S0 => (Z:S0)) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX3HDV4 ( Z, I0, I1, I2, S0, S1);
input I0, I1, I2, S0, S1;
output Z;
udp_mux4 u0 (Z, I0, I1, I2, I2, S0, S1);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0 && I2==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b0 && I2==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1 && I2==1'b0)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1==1'b1 && I2==1'b1)
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
// arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I0==1'b0 && I2==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b0 && I2==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1 && I2==1'b0)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b1 && I2==1'b1)
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
// arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
ifnone
// arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I2==1'b0)
// arc posedge S0 --> (Z:S0)
(posedge S0 => (Z:S0)) = (1.0,1.0);
if(I2==1'b0)
// arc negedge S0 --> (Z:S0)
(negedge S0 => (Z:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc posedge S0 --> (Z:S0)
(posedge S0 => (Z:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc negedge S0 --> (Z:S0)
(negedge S0 => (Z:S0)) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc S1 --> Z
(S1 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX3NHDV0 ( ZN, I0, I1, I2, S0, S1);
input I0, I1, I2, S0, S1;
output ZN;
udp_mux4 u0 (Z, I0, I1, I2, I2, S0, S1);
not u1(ZN,Z);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0 && I2==1'b0)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b0 && I2==1'b1)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b1 && I2==1'b0)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b1 && I2==1'b1)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
ifnone
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I0==1'b0 && I2==1'b0)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I2==1'b1)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I2==1'b0)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I2==1'b1)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
ifnone
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
ifnone
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I2==1'b0)
// arc posedge S0 --> (ZN:S0)
(posedge S0 => (ZN:S0)) = (1.0,1.0);
if(I2==1'b0)
// arc negedge S0 --> (ZN:S0)
(negedge S0 => (ZN:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc posedge S0 --> (ZN:S0)
(posedge S0 => (ZN:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc negedge S0 --> (ZN:S0)
(negedge S0 => (ZN:S0)) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX3NHDV1 ( ZN, I0, I1, I2, S0, S1);
input I0, I1, I2, S0, S1;
output ZN;
udp_mux4 u0 (Z, I0, I1, I2, I2, S0, S1);
not u1(ZN,Z);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0 && I2==1'b0)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b0 && I2==1'b1)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b1 && I2==1'b0)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b1 && I2==1'b1)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
ifnone
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I0==1'b0 && I2==1'b0)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I2==1'b1)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I2==1'b0)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I2==1'b1)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
ifnone
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
ifnone
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I2==1'b0)
// arc posedge S0 --> (ZN:S0)
(posedge S0 => (ZN:S0)) = (1.0,1.0);
if(I2==1'b0)
// arc negedge S0 --> (ZN:S0)
(negedge S0 => (ZN:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc posedge S0 --> (ZN:S0)
(posedge S0 => (ZN:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc negedge S0 --> (ZN:S0)
(negedge S0 => (ZN:S0)) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX3NHDV2 ( ZN, I0, I1, I2, S0, S1);
input I0, I1, I2, S0, S1;
output ZN;
udp_mux4 u0 (Z, I0, I1, I2, I2, S0, S1);
not u1(ZN,Z);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0 && I2==1'b0)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b0 && I2==1'b1)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b1 && I2==1'b0)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b1 && I2==1'b1)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
ifnone
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I0==1'b0 && I2==1'b0)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I2==1'b1)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I2==1'b0)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I2==1'b1)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
ifnone
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
ifnone
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I2==1'b0)
// arc posedge S0 --> (ZN:S0)
(posedge S0 => (ZN:S0)) = (1.0,1.0);
if(I2==1'b0)
// arc negedge S0 --> (ZN:S0)
(negedge S0 => (ZN:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc posedge S0 --> (ZN:S0)
(posedge S0 => (ZN:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc negedge S0 --> (ZN:S0)
(negedge S0 => (ZN:S0)) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module MUX3NHDV4 ( ZN, I0, I1, I2, S0, S1);
input I0, I1, I2, S0, S1;
output ZN;
udp_mux4 u0 (Z, I0, I1, I2, I2, S0, S1);
not u1(ZN,Z);
`ifdef functional // functional //
`else // functional //
specify
if(I1==1'b0 && I2==1'b0)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b0 && I2==1'b1)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b1 && I2==1'b0)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I1==1'b1 && I2==1'b1)
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
ifnone
// arc I0 --> ZN
(I0 => ZN) = (1.0,1.0);
if(I0==1'b0 && I2==1'b0)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I2==1'b1)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I2==1'b0)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I2==1'b1)
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
ifnone
// arc I1 --> ZN
(I1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
ifnone
// arc I2 --> ZN
(I2 => ZN) = (1.0,1.0);
if(I2==1'b0)
// arc posedge S0 --> (ZN:S0)
(posedge S0 => (ZN:S0)) = (1.0,1.0);
if(I2==1'b0)
// arc negedge S0 --> (ZN:S0)
(negedge S0 => (ZN:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc posedge S0 --> (ZN:S0)
(posedge S0 => (ZN:S0)) = (1.0,1.0);
if(I2==1'b1)
// arc negedge S0 --> (ZN:S0)
(negedge S0 => (ZN:S0)) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b0 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b0 && I1==1'b1 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b0 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b0)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
if(I0==1'b1 && I1==1'b1 && S0==1'b1)
// arc S1 --> ZN
(S1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2BHDV0 ( ZN, A1, B1);
input A1, B1;
output ZN;
not I1(OUT0, A1);
nand I0(ZN, OUT0, B1);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2BHDV1 ( ZN, A1, B1);
input A1, B1;
output ZN;
not I1(OUT0, A1);
nand I0(ZN, OUT0, B1);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2BHDV12 ( ZN, A1, B1);
input A1, B1;
output ZN;
not I1(OUT0, A1);
nand I0(ZN, OUT0, B1);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2BHDV2 ( ZN, A1, B1);
input A1, B1;
output ZN;
not I1(OUT0, A1);
nand I0(ZN, OUT0, B1);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2BHDV4 ( ZN, A1, B1);
input A1, B1;
output ZN;
not I1(OUT0, A1);
nand I0(ZN, OUT0, B1);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2BHDV8 ( ZN, A1, B1);
input A1, B1;
output ZN;
not I1(OUT0, A1);
nand I0(ZN, OUT0, B1);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2BHDVL ( ZN, A1, B1);
input A1, B1;
output ZN;
not I1(OUT0, A1);
nand I0(ZN, OUT0, B1);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2HDV0 ( ZN, A1, A2);
input A1, A2;
output ZN;
nand I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2HDV1 ( ZN, A1, A2);
input A1, A2;
output ZN;
nand I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2HDV12 ( ZN, A1, A2);
input A1, A2;
output ZN;
nand I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2HDV16 ( ZN, A1, A2);
input A1, A2;
output ZN;
nand I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2HDV2 ( ZN, A1, A2);
input A1, A2;
output ZN;
nand I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2HDV4 ( ZN, A1, A2);
input A1, A2;
output ZN;
nand I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2HDV6 ( ZN, A1, A2);
input A1, A2;
output ZN;
nand I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2HDV8 ( ZN, A1, A2);
input A1, A2;
output ZN;
nand I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND2HDVL ( ZN, A1, A2);
input A1, A2;
output ZN;
nand I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3BBHDV0 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
and I3(OUT0, A1_inv, A2_inv);
nand I0(ZN, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3BBHDV1 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
and I3(OUT0, A1_inv, A2_inv);
nand I0(ZN, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3BBHDV2 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
and I3(OUT0, A1_inv, A2_inv);
nand I0(ZN, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3BBHDV4 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
and I3(OUT0, A1_inv, A2_inv);
nand I0(ZN, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3BBHDV8 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
and I3(OUT0, A1_inv, A2_inv);
nand I0(ZN, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3BBHDVL ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
and I3(OUT0, A1_inv, A2_inv);
nand I0(ZN, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3BHDV0 ( ZN, A1, B1, B2);
input A1, B1, B2;
output ZN;
not I1(A1_inv, A1);
nand I0(ZN, A1_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3BHDV1 ( ZN, A1, B1, B2);
input A1, B1, B2;
output ZN;
not I1(A1_inv, A1);
nand I0(ZN, A1_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3BHDV2 ( ZN, A1, B1, B2);
input A1, B1, B2;
output ZN;
not I1(A1_inv, A1);
nand I0(ZN, A1_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3BHDV4 ( ZN, A1, B1, B2);
input A1, B1, B2;
output ZN;
not I1(A1_inv, A1);
nand I0(ZN, A1_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3BHDV8 ( ZN, A1, B1, B2);
input A1, B1, B2;
output ZN;
not I1(A1_inv, A1);
nand I0(ZN, A1_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3BHDVL ( ZN, A1, B1, B2);
input A1, B1, B2;
output ZN;
not I1(A1_inv, A1);
nand I0(ZN, A1_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3HDV0 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
nand I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3HDV1 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
nand I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3HDV12 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
nand I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3HDV2 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
nand I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3HDV4 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
nand I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3HDV8 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
nand I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND3HDVL ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
nand I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4BBHDV0 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
nand I0(ZN, A1_inv, A2_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4BBHDV1 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
nand I0(ZN, A1_inv, A2_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4BBHDV2 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
nand I0(ZN, A1_inv, A2_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4BBHDV4 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
nand I0(ZN, A1_inv, A2_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4BBHDVL ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
nand I0(ZN, A1_inv, A2_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4BHDV0 ( ZN, A1, B1, B2, B3);
input A1, B1, B2, B3;
output ZN;
not I1(A1_inv, A1);
nand I0(ZN, A1_inv, B1, B2, B3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4BHDV1 ( ZN, A1, B1, B2, B3);
input A1, B1, B2, B3;
output ZN;
not I1(A1_inv, A1);
nand I0(ZN, A1_inv, B1, B2, B3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4BHDV2 ( ZN, A1, B1, B2, B3);
input A1, B1, B2, B3;
output ZN;
not I1(A1_inv, A1);
nand I0(ZN, A1_inv, B1, B2, B3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4BHDV4 ( ZN, A1, B1, B2, B3);
input A1, B1, B2, B3;
output ZN;
not I1(A1_inv, A1);
nand I0(ZN, A1_inv, B1, B2, B3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4BHDVL ( ZN, A1, B1, B2, B3);
input A1, B1, B2, B3;
output ZN;
not I1(A1_inv, A1);
nand I0(ZN, A1_inv, B1, B2, B3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4HDV0 ( ZN, A1, A2, A3, A4);
input A1, A2, A3, A4;
output ZN;
nand I0(ZN, A1, A2, A3, A4);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4HDV1 ( ZN, A1, A2, A3, A4);
input A1, A2, A3, A4;
output ZN;
nand I0(ZN, A1, A2, A3, A4);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4HDV2 ( ZN, A1, A2, A3, A4);
input A1, A2, A3, A4;
output ZN;
nand I0(ZN, A1, A2, A3, A4);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4HDV4 ( ZN, A1, A2, A3, A4);
input A1, A2, A3, A4;
output ZN;
nand I0(ZN, A1, A2, A3, A4);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4HDV8 ( ZN, A1, A2, A3, A4);
input A1, A2, A3, A4;
output ZN;
nand I0(ZN, A1, A2, A3, A4);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NAND4HDVL ( ZN, A1, A2, A3, A4);
input A1, A2, A3, A4;
output ZN;
nand I0(ZN, A1, A2, A3, A4);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDHDV0 ( Q, QN, CKN, D);
input CKN, D;
output Q, QN;
reg NOTIFIER;
supply1 xSN,xRN;
not IC (clk, CKN);
udp_dff I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN, posedge D, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDHDV1 ( Q, QN, CKN, D);
input CKN, D;
output Q, QN;
reg NOTIFIER;
supply1 xSN,xRN;
not IC (clk, CKN);
udp_dff I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN, posedge D, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDHDV2 ( Q, QN, CKN, D);
input CKN, D;
output Q, QN;
reg NOTIFIER;
supply1 xSN,xRN;
not IC (clk, CKN);
udp_dff I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN, posedge D, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDHDV4 ( Q, QN, CKN, D);
input CKN, D;
output Q, QN;
reg NOTIFIER;
supply1 xSN,xRN;
not IC (clk, CKN);
udp_dff I0 (n0, D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN, negedge D, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN, posedge D, 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDRNHDV0 (D, RDN, CKN, Q, QN);
input D, RDN, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf XX0 (xRN,RDN);
not IC (clk,CKN);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_RDN,RDN);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDRNHDV1 (D, RDN, CKN, Q, QN);
input D, RDN, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf XX0 (xRN,RDN);
not IC (clk,CKN);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_RDN,RDN);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDRNHDV2 (D, RDN, CKN, Q, QN);
input D, RDN, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf XX0 (xRN,RDN);
not IC (clk,CKN);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_RDN,RDN);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDRNHDV4 (D, RDN, CKN, Q, QN);
input D, RDN, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D;
buf XX0 (xRN,RDN);
not IC (clk,CKN);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D= (D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I6(ENABLE_RDN,RDN);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
negedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
posedge D &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D == 1'b1), posedge RDN &&& (ENABLE_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDRSNHDV0 (D, RDN, SDN, CKN, Q, QN);
input D, RDN, SDN, CKN;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
not IC (clk,CKN);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I7(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I8(ENABLE_SDN,SDN);
buf SMC_I9(ENABLE_RDN,RDN);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDRSNHDV1 (D, RDN, SDN, CKN, Q, QN);
input D, RDN, SDN, CKN;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
not IC (clk,CKN);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I7(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I8(ENABLE_SDN,SDN);
buf SMC_I9(ENABLE_RDN,RDN);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDRSNHDV2 (D, RDN, SDN, CKN, Q, QN);
input D, RDN, SDN, CKN;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
not IC (clk,CKN);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I7(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I8(ENABLE_SDN,SDN);
buf SMC_I9(ENABLE_RDN,RDN);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDRSNHDV4 (D, RDN, SDN, CKN, Q, QN);
input D, RDN, SDN, CKN;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN;
wire ENABLE_NOT_D_AND_RDN;
buf XX0 (xSN,SDN);
buf XX1 (xRN,RDN);
not IC (clk,CKN);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_D_AND_SDN = ( D & SDN )? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN = ( !D & RDN ) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
and SMC_I7(ENABLE_RDN_AND_SDN,RDN,SDN);
buf SMC_I8(ENABLE_SDN,SDN);
buf SMC_I9(ENABLE_RDN,RDN);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D_AND_SDN == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D_AND_RDN == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDSNHDV0 (D, SDN, CKN, Q, QN);
input D, SDN, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf XX0 (xSN,SDN);
not IC (clk,CKN);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDSNHDV1 (D, SDN, CKN, Q, QN);
input D, SDN, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf XX0 (xSN,SDN);
not IC (clk,CKN);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDSNHDV2 (D, SDN, CKN, Q, QN);
input D, SDN, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf XX0 (xSN,SDN);
not IC (clk,CKN);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NDSNHDV4 (D, SDN, CKN, Q, QN);
input D, SDN, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D;
buf XX0 (xSN,SDN);
not IC (clk,CKN);
udp_dff I0 (n0,D, clk, xRN, xSN, NOTIFIER);
buf I1 (Q, n0);
not I2 (QN, n0);
assign ENABLE_NOT_D= (!D) ? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
buf SMC_I5(ENABLE_SDN,SDN);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
negedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
posedge D &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D == 1'b1), posedge SDN &&& (ENABLE_NOT_D == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2BHDV0 ( ZN, A1, B1);
input A1, B1;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1);
`ifdef functional // functional //
`else // functional //
specify
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2BHDV1 ( ZN, A1, B1);
input A1, B1;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1);
`ifdef functional // functional //
`else // functional //
specify
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2BHDV12 ( ZN, A1, B1);
input A1, B1;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1);
`ifdef functional // functional //
`else // functional //
specify
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2BHDV2 ( ZN, A1, B1);
input A1, B1;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1);
`ifdef functional // functional //
`else // functional //
specify
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2BHDV4 ( ZN, A1, B1);
input A1, B1;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1);
`ifdef functional // functional //
`else // functional //
specify
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2BHDV8 ( ZN, A1, B1);
input A1, B1;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1);
`ifdef functional // functional //
`else // functional //
specify
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2BHDVL ( ZN, A1, B1);
input A1, B1;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1);
`ifdef functional // functional //
`else // functional //
specify
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2HDV0 ( ZN, A1, A2);
input A1, A2;
output ZN;
nor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2HDV1 ( ZN, A1, A2);
input A1, A2;
output ZN;
nor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2HDV12 ( ZN, A1, A2);
input A1, A2;
output ZN;
nor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2HDV16 ( ZN, A1, A2);
input A1, A2;
output ZN;
nor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2HDV2 ( ZN, A1, A2);
input A1, A2;
output ZN;
nor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2HDV4 ( ZN, A1, A2);
input A1, A2;
output ZN;
nor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2HDV6 ( ZN, A1, A2);
input A1, A2;
output ZN;
nor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2HDV8 ( ZN, A1, A2);
input A1, A2;
output ZN;
nor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR2HDVL ( ZN, A1, A2);
input A1, A2;
output ZN;
nor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3BBHDV0 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
nor I0(ZN, A1_inv, A2_inv, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3BBHDV1 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
nor I0(ZN, A1_inv, A2_inv, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3BBHDV2 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
nor I0(ZN, A1_inv, A2_inv, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3BBHDV4 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
nor I0(ZN, A1_inv, A2_inv, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3BBHDV8 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
nor I0(ZN, A1_inv, A2_inv, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3BBHDVL ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
not I1(A1_inv, A1);
not I2(A2_inv, A2);
nor I0(ZN, A1_inv, A2_inv, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3BHDV0 ( ZN, A1, B1, B2);
input A1, B1, B2;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3BHDV1 ( ZN, A1, B1, B2);
input A1, B1, B2;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3BHDV2 ( ZN, A1, B1, B2);
input A1, B1, B2;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3BHDV4 ( ZN, A1, B1, B2);
input A1, B1, B2;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3BHDV8 ( ZN, A1, B1, B2);
input A1, B1, B2;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3BHDVL ( ZN, A1, B1, B2);
input A1, B1, B2;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3HDV0 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
nor I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3HDV1 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
nor I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3HDV12 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
nor I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3HDV2 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
nor I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3HDV4 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
nor I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3HDV8 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
nor I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR3HDVL ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
nor I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR4BHDV0 ( ZN, A1, B1, B2, B3);
input A1, B1, B2, B3;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1, B2, B3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR4BHDV1 ( ZN, A1, B1, B2, B3);
input A1, B1, B2, B3;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1, B2, B3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR4BHDV2 ( ZN, A1, B1, B2, B3);
input A1, B1, B2, B3;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1, B2, B3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR4BHDV4 ( ZN, A1, B1, B2, B3);
input A1, B1, B2, B3;
output ZN;
not I1(A1_inv, A1);
nor I0(ZN, A1_inv, B1, B2, B3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR4HDV0 ( ZN, A1, A2, A3, A4);
input A1, A2, A3, A4;
output ZN;
nor I0(ZN, A1, A2, A3, A4);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR4HDV1 ( ZN, A1, A2, A3, A4);
input A1, A2, A3, A4;
output ZN;
nor I0(ZN, A1, A2, A3, A4);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR4HDV2 ( ZN, A1, A2, A3, A4);
input A1, A2, A3, A4;
output ZN;
nor I0(ZN, A1, A2, A3, A4);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR4HDV4 ( ZN, A1, A2, A3, A4);
input A1, A2, A3, A4;
output ZN;
nor I0(ZN, A1, A2, A3, A4);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR4HDV8 ( ZN, A1, A2, A3, A4);
input A1, A2, A3, A4;
output ZN;
nor I0(ZN, A1, A2, A3, A4);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR4XXBBHDV0 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not (A1x, A1);
not (A2x, A2);
nor (ZN, A1x, A2x, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR4XXBBHDV1 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not (A1x, A1);
not (A2x, A2);
nor (ZN, A1x, A2x, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR4XXBBHDV2 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not (A1x, A1);
not (A2x, A2);
nor (ZN, A1x, A2x, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module NOR4XXBBHDV4 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not (A1x, A1);
not (A2x, A2);
nor (ZN, A1x, A2x, B1, B2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA1B2HDV0 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
not I2(A1_inv, A1);
not I3(A2_inv, A2);
and I1(OUT0, A1_inv, A2_inv);
nor I0(Z, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA1B2HDV1 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
not I2(A1_inv, A1);
not I3(A2_inv, A2);
and I1(OUT0, A1_inv, A2_inv);
nor I0(Z, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA1B2HDV2 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
not I2(A1_inv, A1);
not I3(A2_inv, A2);
and I1(OUT0, A1_inv, A2_inv);
nor I0(Z, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA1B2HDV4 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
not I2(A1_inv, A1);
not I3(A2_inv, A2);
and I1(OUT0, A1_inv, A2_inv);
nor I0(Z, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA1B2HDV8 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
not I2(A1_inv, A1);
not I3(A2_inv, A2);
and I1(OUT0, A1_inv, A2_inv);
nor I0(Z, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA1B2HDVL ( Z, A1, A2, B);
input A1, A2, B;
output Z;
not I2(A1_inv, A1);
not I3(A2_inv, A2);
and I1(OUT0, A1_inv, A2_inv);
nor I0(Z, OUT0, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA211HDV0 ( Z, A1, A2, B, C);
input A1, A2, B, C;
output Z;
or I0(outA, A1, A2);
and I1(Z, B, C, outA);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA211HDV1 ( Z, A1, A2, B, C);
input A1, A2, B, C;
output Z;
or I0(outA, A1, A2);
and I1(Z, B, C, outA);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA211HDV2 ( Z, A1, A2, B, C);
input A1, A2, B, C;
output Z;
or I0(outA, A1, A2);
and I1(Z, B, C, outA);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA211HDV4 ( Z, A1, A2, B, C);
input A1, A2, B, C;
output Z;
or I0(outA, A1, A2);
and I1(Z, B, C, outA);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA21HDV0 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
or I0(outA, A1, A2);
and I1(Z, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA21HDV1 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
or I0(outA, A1, A2);
and I1(Z, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA21HDV2 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
or I0(outA, A1, A2);
and I1(Z, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA21HDV4 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
or I0(outA, A1, A2);
and I1(Z, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA21HDV8 ( Z, A1, A2, B);
input A1, A2, B;
output Z;
or I0(outA, A1, A2);
and I1(Z, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA221HDV0 ( Z, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output Z;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
and I2(Z, outA, outB, C);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA221HDV1 ( Z, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output Z;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
and I2(Z, outA, outB, C);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA221HDV2 ( Z, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output Z;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
and I2(Z, outA, outB, C);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA221HDV4 ( Z, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output Z;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
and I2(Z, outA, outB, C);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> Z
(C => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> Z
(C => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA222HDV0 ( Z, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output Z;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
or I2(outC, C1, C2);
and I3(Z, outA, outB, outC);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA222HDV1 ( Z, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output Z;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
or I2(outC, C1, C2);
and I3(Z, outA, outB, outC);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA222HDV2 ( Z, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output Z;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
or I2(outC, C1, C2);
and I3(Z, outA, outB, outC);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA222HDV4 ( Z, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output Z;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
or I2(outC, C1, C2);
and I3(Z, outA, outB, outC);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> Z
(C1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> Z
(C2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA22HDV0 ( Z, A1, A2, B1, B2);
input A1, A2, B1, B2;
output Z;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
and I2(Z, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA22HDV1 ( Z, A1, A2, B1, B2);
input A1, A2, B1, B2;
output Z;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
and I2(Z, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA22HDV2 ( Z, A1, A2, B1, B2);
input A1, A2, B1, B2;
output Z;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
and I2(Z, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA22HDV4 ( Z, A1, A2, B1, B2);
input A1, A2, B1, B2;
output Z;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
and I2(Z, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA31HDV0 ( Z, A1, A2, A3, B);
input A1, A2, A3, B;
output Z;
or I0(outA, A1, A2, A3);
and I1(Z, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA31HDV1 ( Z, A1, A2, A3, B);
input A1, A2, A3, B;
output Z;
or I0(outA, A1, A2, A3);
and I1(Z, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA31HDV2 ( Z, A1, A2, A3, B);
input A1, A2, A3, B;
output Z;
or I0(outA, A1, A2, A3);
and I1(Z, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA31HDV4 ( Z, A1, A2, A3, B);
input A1, A2, A3, B;
output Z;
or I0(outA, A1, A2, A3);
and I1(Z, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> Z
(B => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B --> Z
(B => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA32HDV0 ( Z, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output Z;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2);
and I2(Z, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA32HDV1 ( Z, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output Z;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2);
and I2(Z, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA32HDV2 ( Z, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output Z;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2);
and I2(Z, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA32HDV4 ( Z, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output Z;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2);
and I2(Z, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA33HDV0 ( Z, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output Z;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2, B3);
and I2(Z, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA33HDV1 ( Z, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output Z;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2, B3);
and I2(Z, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA33HDV2 ( Z, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output Z;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2, B3);
and I2(Z, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OA33HDV4 ( Z, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output Z;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2, B3);
and I2(Z, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> Z
(B1 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> Z
(B2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B3 --> Z
(B3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI211HDV0 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
or I0(outA, A1, A2);
nand I1(ZN, outA, B, C);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI211HDV1 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
or I0(outA, A1, A2);
nand I1(ZN, outA, B, C);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI211HDV2 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
or I0(outA, A1, A2);
nand I1(ZN, outA, B, C);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI211HDV4 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
or I0(outA, A1, A2);
nand I1(ZN, outA, B, C);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI211HDV8 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
or I0(outA, A1, A2);
nand I1(ZN, outA, B, C);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI211HDVL ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
or I0(outA, A1, A2);
nand I1(ZN, outA, B, C);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI21BHDV0 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
or I0(outB, B1, B2);
not I2(A_inv, A);
nand I1(ZN, outB, A_inv);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI21BHDV1 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
or I0(outB, B1, B2);
not I2(A_inv, A);
nand I1(ZN, outB, A_inv);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI21BHDV2 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
or I0(outB, B1, B2);
not I2(A_inv, A);
nand I1(ZN, outB, A_inv);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI21BHDV4 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
or I0(outB, B1, B2);
not I2(A_inv, A);
nand I1(ZN, outB, A_inv);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI21BHDV8 ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
or I0(outB, B1, B2);
not I2(A_inv, A);
nand I1(ZN, outB, A_inv);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI21BHDVL ( ZN, A, B1, B2);
input A, B1, B2;
output ZN;
or I0(outB, B1, B2);
not I2(A_inv, A);
nand I1(ZN, outB, A_inv);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A --> ZN
(A => ZN) = (1.0,1.0);
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI21HDV0 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
or I0(outA, A1, A2);
nand I1(ZN, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI21HDV1 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
or I0(outA, A1, A2);
nand I1(ZN, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI21HDV12 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
or I0(outA, A1, A2);
nand I1(ZN, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI21HDV2 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
or I0(outA, A1, A2);
nand I1(ZN, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI21HDV4 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
or I0(outA, A1, A2);
nand I1(ZN, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI21HDV8 ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
or I0(outA, A1, A2);
nand I1(ZN, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI21HDVL ( ZN, A1, A2, B);
input A1, A2, B;
output ZN;
or I0(outA, A1, A2);
nand I1(ZN, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI221HDV0 ( ZN, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB, C);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI221HDV1 ( ZN, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB, C);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI221HDV2 ( ZN, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB, C);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI221HDV4 ( ZN, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB, C);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI221HDVL ( ZN, A1, A2, B1, B2, C);
input A1, A2, B1, B2, C;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB, C);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI222HDV0 ( ZN, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
or I2(outC, C1, C2);
nand I3(ZN, outA, outB, outC);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI222HDV1 ( ZN, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
or I2(outC, C1, C2);
nand I3(ZN, outA, outB, outC);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI222HDV2 ( ZN, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
or I2(outC, C1, C2);
nand I3(ZN, outA, outB, outC);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI222HDV4 ( ZN, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
or I2(outC, C1, C2);
nand I3(ZN, outA, outB, outC);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI222HDVL ( ZN, A1, A2, B1, B2, C1, C2);
input A1, A2, B1, B2, C1, C2;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
or I2(outC, C1, C2);
nand I3(ZN, outA, outB, outC);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && C1==1'b1 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b0 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && C1==1'b1 && C2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && C1==1'b1 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b0 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && C1==1'b1 && C2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B1==1'b1 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b0 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b0)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B1==1'b1 && B2==1'b1)
// arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI22BBHDV0 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not I3(A1_inv, A1);
not I4(A2_inv, A2);
or I0(outA, A1_inv, A2_inv);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI22BBHDV1 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not I3(A1_inv, A1);
not I4(A2_inv, A2);
or I0(outA, A1_inv, A2_inv);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI22BBHDV2 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not I3(A1_inv, A1);
not I4(A2_inv, A2);
or I0(outA, A1_inv, A2_inv);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI22BBHDV4 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not I3(A1_inv, A1);
not I4(A2_inv, A2);
or I0(outA, A1_inv, A2_inv);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI22BBHDVL ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
not I3(A1_inv, A1);
not I4(A2_inv, A2);
or I0(outA, A1_inv, A2_inv);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI22HDV0 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI22HDV1 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI22HDV2 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI22HDV4 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI22HDV8 ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI22HDVL ( ZN, A1, A2, B1, B2);
input A1, A2, B1, B2;
output ZN;
or I0(outA, A1, A2);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI31HDV0 ( ZN, A1, A2, A3, B);
input A1, A2, A3, B;
output ZN;
or I0(outA, A1, A2, A3);
nand I1(ZN, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI31HDV1 ( ZN, A1, A2, A3, B);
input A1, A2, A3, B;
output ZN;
or I0(outA, A1, A2, A3);
nand I1(ZN, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI31HDV2 ( ZN, A1, A2, A3, B);
input A1, A2, A3, B;
output ZN;
or I0(outA, A1, A2, A3);
nand I1(ZN, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI31HDV4 ( ZN, A1, A2, A3, B);
input A1, A2, A3, B;
output ZN;
or I0(outA, A1, A2, A3);
nand I1(ZN, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI31HDV8 ( ZN, A1, A2, A3, B);
input A1, A2, A3, B;
output ZN;
or I0(outA, A1, A2, A3);
nand I1(ZN, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI31HDVL ( ZN, A1, A2, A3, B);
input A1, A2, A3, B;
output ZN;
or I0(outA, A1, A2, A3);
nand I1(ZN, outA, B);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI32HDV0 ( ZN, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output ZN;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI32HDV1 ( ZN, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output ZN;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI32HDV2 ( ZN, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output ZN;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI32HDV4 ( ZN, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output ZN;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI32HDVL ( ZN, A1, A2, A3, B1, B2);
input A1, A2, A3, B1, B2;
output ZN;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI33HDV0 ( ZN, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output ZN;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2, B3);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI33HDV1 ( ZN, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output ZN;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2, B3);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI33HDV2 ( ZN, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output ZN;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2, B3);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI33HDV4 ( ZN, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output ZN;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2, B3);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAI33HDVL ( ZN, A1, A2, A3, B1, B2, B3);
input A1, A2, A3, B1, B2, B3;
output ZN;
or I0(outA, A1, A2, A3);
or I1(outB, B1, B2, B3);
nand I2(ZN, outA, outB);
`ifdef functional // functional //
`else // functional //
specify
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b0 && B2==1'b1 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b0 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1==1'b1 && B2==1'b1 && B3==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b0)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && A3==1'b1)
// arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAOI211HDV0 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
not SMC_I0( A1_inv, A1 );
not SMC_I1( A2_inv, A2 );
not SMC_I2( C_inv, C );
and SMC_I3( ZN_row1, A1_inv, A2_inv, C_inv );
not SMC_I4( B_inv, B );
and SMC_I5( ZN_row2, B_inv, C_inv );
or SMC_I6( ZN, ZN_row1, ZN_row2 );
`ifdef functional // functional //
`else
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAOI211HDV1 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
not SMC_I0( A1_inv, A1 );
not SMC_I1( A2_inv, A2 );
not SMC_I2( C_inv, C );
and SMC_I3( ZN_row1, A1_inv, A2_inv, C_inv );
not SMC_I4( B_inv, B );
and SMC_I5( ZN_row2, B_inv, C_inv );
or SMC_I6( ZN, ZN_row1, ZN_row2 );
`ifdef functional // functional //
`else
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAOI211HDV2 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
not SMC_I0( A1_inv, A1 );
not SMC_I1( A2_inv, A2 );
not SMC_I2( C_inv, C );
and SMC_I3( ZN_row1, A1_inv, A2_inv, C_inv );
not SMC_I4( B_inv, B );
and SMC_I5( ZN_row2, B_inv, C_inv );
or SMC_I6( ZN, ZN_row1, ZN_row2 );
`ifdef functional // functional //
`else
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAOI211HDV4 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
not SMC_I0( A1_inv, A1 );
not SMC_I1( A2_inv, A2 );
not SMC_I2( C_inv, C );
and SMC_I3( ZN_row1, A1_inv, A2_inv, C_inv );
not SMC_I4( B_inv, B );
and SMC_I5( ZN_row2, B_inv, C_inv );
or SMC_I6( ZN, ZN_row1, ZN_row2 );
`ifdef functional // functional //
`else
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAOI211HDV8 ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
not SMC_I0( A1_inv, A1 );
not SMC_I1( A2_inv, A2 );
not SMC_I2( C_inv, C );
and SMC_I3( ZN_row1, A1_inv, A2_inv, C_inv );
not SMC_I4( B_inv, B );
and SMC_I5( ZN_row2, B_inv, C_inv );
or SMC_I6( ZN, ZN_row1, ZN_row2 );
`ifdef functional // functional //
`else
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OAOI211HDVL ( ZN, A1, A2, B, C);
input A1, A2, B, C;
output ZN;
not SMC_I0( A1_inv, A1 );
not SMC_I1( A2_inv, A2 );
not SMC_I2( C_inv, C );
and SMC_I3( ZN_row1, A1_inv, A2_inv, C_inv );
not SMC_I4( B_inv, B );
and SMC_I5( ZN_row2, B_inv, C_inv );
or SMC_I6( ZN, ZN_row1, ZN_row2 );
`ifdef functional // functional //
`else
specify
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0 && B==1'b1)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1 && B==1'b0)
// arc C --> ZN
(C => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OR2HDV0 ( Z, A1, A2);
input A1, A2;
output Z;
or (Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OR2HDV1 ( Z, A1, A2);
input A1, A2;
output Z;
or (Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OR2HDV12 ( Z, A1, A2);
input A1, A2;
output Z;
or (Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OR2HDV2 ( Z, A1, A2);
input A1, A2;
output Z;
or (Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OR2HDV4 ( Z, A1, A2);
input A1, A2;
output Z;
or (Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OR2HDV8 ( Z, A1, A2);
input A1, A2;
output Z;
or (Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OR3HDV0 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
or (Z, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OR3HDV1 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
or (Z, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OR3HDV2 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
or (Z, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OR3HDV4 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
or (Z, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OR3HDV8 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
or (Z, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OR4HDV0 ( Z, A1, A2, A3, A4);
input A1, A2, A3, A4;
output Z;
buf I0(OUT0, A4);
buf I1(OUT1, A2);
buf I2(OUT2, A3);
buf I3(OUT3, A1);
or I4(Z, OUT0, OUT1, OUT2, OUT3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// arc A4 --> Z
(A4 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OR4HDV1 ( Z, A1, A2, A3, A4);
input A1, A2, A3, A4;
output Z;
buf I0(OUT0, A4);
buf I1(OUT1, A2);
buf I2(OUT2, A3);
buf I3(OUT3, A1);
or I4(Z, OUT0, OUT1, OUT2, OUT3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// arc A4 --> Z
(A4 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OR4HDV2 ( Z, A1, A2, A3, A4);
input A1, A2, A3, A4;
output Z;
buf I0(OUT0, A4);
buf I1(OUT1, A2);
buf I2(OUT2, A3);
buf I3(OUT3, A1);
or I4(Z, OUT0, OUT1, OUT2, OUT3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// arc A4 --> Z
(A4 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module OR4HDV4 ( Z, A1, A2, A3, A4);
input A1, A2, A3, A4;
output Z;
buf I0(OUT0, A4);
buf I1(OUT1, A2);
buf I2(OUT2, A3);
buf I3(OUT3, A1);
or I4(Z, OUT0, OUT1, OUT2, OUT3);
`ifdef functional // functional //
`else // functional //
specify
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// arc A4 --> Z
(A4 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module PULLHD0 ( Z);
output Z;
assign Z = 1'b0;
`ifdef functional // functional //
`else
specify
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module PULLHD1 ( Z);
output Z;
assign Z = 1'b1;
`ifdef functional // functional //
`else
specify
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRNQHDV0 ( Q, CK, D, RN, SE, SI);
input CK, D, RN, SE, SI;
output Q;
reg NOTIFIER;
supply1 xSN;
buf XX0 (xRN, RN);
udp_sedfft I0 (n0, D, CK, xRN, SI, SE, 1'b1, NOTIFIER);
buf I1 (Q, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I7(ENABLE_NOT_SE, SE);
buf SMC_I9(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRNQHDV1 ( Q, CK, D, RN, SE, SI);
input CK, D, RN, SE, SI;
output Q;
reg NOTIFIER;
supply1 xSN;
buf XX0 (xRN, RN);
udp_sedfft I0 (n0, D, CK, xRN, SI, SE, 1'b1, NOTIFIER);
buf I1 (Q, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I7(ENABLE_NOT_SE, SE);
buf SMC_I9(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRNQHDV2 ( Q, CK, D, RN, SE, SI);
input CK, D, RN, SE, SI;
output Q;
reg NOTIFIER;
supply1 xSN;
buf XX0 (xRN, RN);
udp_sedfft I0 (n0, D, CK, xRN, SI, SE, 1'b1, NOTIFIER);
buf I1 (Q, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I7(ENABLE_NOT_SE, SE);
buf SMC_I9(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRNQHDV4 ( Q, CK, D, RN, SE, SI);
input CK, D, RN, SE, SI;
output Q;
reg NOTIFIER;
supply1 xSN;
buf XX0 (xRN, RN);
udp_sedfft I0 (n0, D, CK, xRN, SI, SE, 1'b1, NOTIFIER);
buf I1 (Q, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I7(ENABLE_NOT_SE, SE);
buf SMC_I9(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRNQNHDV0 ( QN, CK, D, RN, SE, SI);
input CK, D, RN, SE, SI;
output QN;
reg NOTIFIER;
supply1 xSN;
buf XX0 (xRN, RN);
udp_sedfft I0 (n0, D, CK, xRN, SI, SE, 1'b1, NOTIFIER);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I10(ENABLE_NOT_SE, SE);
buf SMC_I11(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRNQNHDV1 ( QN, CK, D, RN, SE, SI);
input CK, D, RN, SE, SI;
output QN;
reg NOTIFIER;
supply1 xSN;
buf XX0 (xRN, RN);
udp_sedfft I0 (n0, D, CK, xRN, SI, SE, 1'b1, NOTIFIER);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I10(ENABLE_NOT_SE, SE);
buf SMC_I11(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRNQNHDV2 ( QN, CK, D, RN, SE, SI);
input CK, D, RN, SE, SI;
output QN;
reg NOTIFIER;
supply1 xSN;
buf XX0 (xRN, RN);
udp_sedfft I0 (n0, D, CK, xRN, SI, SE, 1'b1, NOTIFIER);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I10(ENABLE_NOT_SE, SE);
buf SMC_I11(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRNQNHDV4 ( QN, CK, D, RN, SE, SI);
input CK, D, RN, SE, SI;
output QN;
reg NOTIFIER;
supply1 xSN;
buf XX0 (xRN, RN);
udp_sedfft I0 (n0, D, CK, xRN, SI, SE, 1'b1, NOTIFIER);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I10(ENABLE_NOT_SE, SE);
buf SMC_I11(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRSNQHDV0 ( Q, CK, D, RN, SE, SI, SN);
input CK, D, RN, SE, SI, SN;
output Q;
reg NOTIFIER;
buf XX0 (xRN, RN);
not XX1 (xSN, SN);
not XX2 (xSE, SE);
buf XX3 (clk, CK);
or I0 (n0, D, xSN);
and I1 (n1, SE, SI);
and I2 (n2, n0, xSE, xRN);
or I3 (n3, n1, n2);
udp_dff I4 (n4, n3, clk, 1'b1, 1'b1, NOTIFIER);
buf I5 (Q, n4);
`ifdef functional // functional //
`else // functional //
not SMC_I10(SE_bar, SE);
and SMC_I11(ENABLE_RN_AND_NOT_SE, RN, SE_bar);
not SMC_I12(ENABLE_NOT_SE, SE);
buf SMC_I13(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRSNQHDV1 ( Q, CK, D, RN, SE, SI, SN);
input CK, D, RN, SE, SI, SN;
output Q;
reg NOTIFIER;
buf XX0 (xRN, RN);
not XX1 (xSN, SN);
not XX2 (xSE, SE);
buf XX3 (clk, CK);
or I0 (n0, D, xSN);
and I1 (n1, SE, SI);
and I2 (n2, n0, xSE, xRN);
or I3 (n3, n1, n2);
udp_dff I4 (n4, n3, clk, 1'b1, 1'b1, NOTIFIER);
buf I5 (Q, n4);
`ifdef functional // functional //
`else // functional //
not SMC_I10(SE_bar, SE);
and SMC_I11(ENABLE_RN_AND_NOT_SE, RN, SE_bar);
not SMC_I12(ENABLE_NOT_SE, SE);
buf SMC_I13(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRSNQHDV2 ( Q, CK, D, RN, SE, SI, SN);
input CK, D, RN, SE, SI, SN;
output Q;
reg NOTIFIER;
buf XX0 (xRN, RN);
not XX1 (xSN, SN);
not XX2 (xSE, SE);
buf XX3 (clk, CK);
or I0 (n0, D, xSN);
and I1 (n1, SE, SI);
and I2 (n2, n0, xSE, xRN);
or I3 (n3, n1, n2);
udp_dff I4 (n4, n3, clk, 1'b1, 1'b1, NOTIFIER);
buf I5 (Q, n4);
`ifdef functional // functional //
`else // functional //
not SMC_I10(SE_bar, SE);
and SMC_I11(ENABLE_RN_AND_NOT_SE, RN, SE_bar);
not SMC_I12(ENABLE_NOT_SE, SE);
buf SMC_I13(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRSNQHDV4 ( Q, CK, D, RN, SE, SI, SN);
input CK, D, RN, SE, SI, SN;
output Q;
reg NOTIFIER;
buf XX0 (xRN, RN);
not XX1 (xSN, SN);
not XX2 (xSE, SE);
buf XX3 (clk, CK);
or I0 (n0, D, xSN);
and I1 (n1, SE, SI);
and I2 (n2, n0, xSE, xRN);
or I3 (n3, n1, n2);
udp_dff I4 (n4, n3, clk, 1'b1, 1'b1, NOTIFIER);
buf I5 (Q, n4);
`ifdef functional // functional //
`else // functional //
not SMC_I10(SE_bar, SE);
and SMC_I11(ENABLE_RN_AND_NOT_SE, RN, SE_bar);
not SMC_I12(ENABLE_NOT_SE, SE);
buf SMC_I13(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRSNQNHDV0 ( QN, CK, D, RN, SE, SI, SN);
input CK, D, RN, SE, SI, SN;
output QN;
reg NOTIFIER;
buf XX0 (xRN, RN);
not XX1 (xSN, SN);
not XX2 (xSE, SE);
buf XX3 (clk, CK);
or I0 (n0, D, xSN);
and I1 (n1, SE, SI);
and I2 (n2, n0, xSE, xRN);
or I3 (n3, n1, n2);
udp_dff I4 (n4, n3, clk, 1'b1, 1'b1, NOTIFIER);
not I6 (QN, n4);
`ifdef functional // functional //
`else // functional //
not SMC_I10(SE_bar, SE);
and SMC_I11(ENABLE_RN_AND_NOT_SE, RN, SE_bar);
not SMC_I12(ENABLE_NOT_SE, SE);
buf SMC_I13(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRSNQNHDV1 ( QN, CK, D, RN, SE, SI, SN);
input CK, D, RN, SE, SI, SN;
output QN;
reg NOTIFIER;
buf XX0 (xRN, RN);
not XX1 (xSN, SN);
not XX2 (xSE, SE);
buf XX3 (clk, CK);
or I0 (n0, D, xSN);
and I1 (n1, SE, SI);
and I2 (n2, n0, xSE, xRN);
or I3 (n3, n1, n2);
udp_dff I4 (n4, n3, clk, 1'b1, 1'b1, NOTIFIER);
not I6 (QN, n4);
`ifdef functional // functional //
`else // functional //
not SMC_I10(SE_bar, SE);
and SMC_I11(ENABLE_RN_AND_NOT_SE, RN, SE_bar);
not SMC_I12(ENABLE_NOT_SE, SE);
buf SMC_I13(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRSNQNHDV2 ( QN, CK, D, RN, SE, SI, SN);
input CK, D, RN, SE, SI, SN;
output QN;
reg NOTIFIER;
buf XX0 (xRN, RN);
not XX1 (xSN, SN);
not XX2 (xSE, SE);
buf XX3 (clk, CK);
or I0 (n0, D, xSN);
and I1 (n1, SE, SI);
and I2 (n2, n0, xSE, xRN);
or I3 (n3, n1, n2);
udp_dff I4 (n4, n3, clk, 1'b1, 1'b1, NOTIFIER);
not I6 (QN, n4);
`ifdef functional // functional //
`else // functional //
not SMC_I10(SE_bar, SE);
and SMC_I11(ENABLE_RN_AND_NOT_SE, RN, SE_bar);
not SMC_I12(ENABLE_NOT_SE, SE);
buf SMC_I13(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDGRSNQNHDV4 ( QN, CK, D, RN, SE, SI, SN);
input CK, D, RN, SE, SI, SN;
output QN;
reg NOTIFIER;
buf XX0 (xRN, RN);
not XX1 (xSN, SN);
not XX2 (xSE, SE);
buf XX3 (clk, CK);
or I0 (n0, D, xSN);
and I1 (n1, SE, SI);
and I2 (n2, n0, xSE, xRN);
or I3 (n3, n1, n2);
udp_dff I4 (n4, n3, clk, 1'b1, 1'b1, NOTIFIER);
not I6 (QN, n4);
`ifdef functional // functional //
`else // functional //
not SMC_I10(SE_bar, SE);
and SMC_I11(ENABLE_RN_AND_NOT_SE, RN, SE_bar);
not SMC_I12(ENABLE_NOT_SE, SE);
buf SMC_I13(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge RN &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
negedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RN_AND_NOT_SE == 1'b1),
posedge SN &&& (ENABLE_RN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDQHDV0 ( Q, CK, D, SE, SI);
input CK, D, SE, SI;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
buf IC (clk, CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1, D, SI, SE);
buf I2 (Q, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I4(ENABLE_NOT_SE, SE);
buf SMC_I5(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDQHDV1 ( Q, CK, D, SE, SI);
input CK, D, SE, SI;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
buf IC (clk, CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1, D, SI, SE);
buf I2 (Q, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I4(ENABLE_NOT_SE, SE);
buf SMC_I5(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDQHDV2 ( Q, CK, D, SE, SI);
input CK, D, SE, SI;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
buf IC (clk, CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1, D, SI, SE);
buf I2 (Q, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I4(ENABLE_NOT_SE, SE);
buf SMC_I5(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDQHDV4 ( Q, CK, D, SE, SI);
input CK, D, SE, SI;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
buf IC (clk, CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1, D, SI, SE);
buf I2 (Q, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I4(ENABLE_NOT_SE, SE);
buf SMC_I5(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDQNHDV0 ( QN, CK, D, SE, SI);
input CK, D, SE, SI;
output QN;
reg NOTIFIER;
supply1 xRN, xSN;
buf IC (clk, CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1, D, SI, SE);
not I3 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I6(ENABLE_NOT_SE, SE);
buf SMC_I7(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDQNHDV1 ( QN, CK, D, SE, SI);
input CK, D, SE, SI;
output QN;
reg NOTIFIER;
supply1 xRN, xSN;
buf IC (clk, CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1, D, SI, SE);
not I3 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I6(ENABLE_NOT_SE, SE);
buf SMC_I7(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDQNHDV2 ( QN, CK, D, SE, SI);
input CK, D, SE, SI;
output QN;
reg NOTIFIER;
supply1 xRN, xSN;
buf IC (clk, CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1, D, SI, SE);
not I3 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I6(ENABLE_NOT_SE, SE);
buf SMC_I7(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDQNHDV4 ( QN, CK, D, SE, SI);
input CK, D, SE, SI;
output QN;
reg NOTIFIER;
supply1 xRN, xSN;
buf IC (clk, CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1, D, SI, SE);
not I3 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I6(ENABLE_NOT_SE, SE);
buf SMC_I7(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRNQHDV0 (D, RDN, SE, SI, CK, Q);
input D, RDN, SE, SI, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar,SE);
and SMC_I5(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I6(ENABLE_RDN,RDN);
and SMC_I7(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRNQHDV1 (D, RDN, SE, SI, CK, Q);
input D, RDN, SE, SI, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar,SE);
and SMC_I5(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I6(ENABLE_RDN,RDN);
and SMC_I7(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRNQHDV2 (D, RDN, SE, SI, CK, Q);
input D, RDN, SE, SI, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar,SE);
and SMC_I5(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I6(ENABLE_RDN,RDN);
and SMC_I7(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRNQHDV4 (D, RDN, SE, SI, CK, Q);
input D, RDN, SE, SI, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar,SE);
and SMC_I5(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I6(ENABLE_RDN,RDN);
and SMC_I7(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRNQNHDV0 (D, RDN, SE, SI, CK, QN);
input D, RDN, SE, SI, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional
// none
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I8(ENABLE_RDN,RDN);
and SMC_I9(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRNQNHDV1 (D, RDN, SE, SI, CK, QN);
input D, RDN, SE, SI, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional
// none
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I8(ENABLE_RDN,RDN);
and SMC_I9(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRNQNHDV2 (D, RDN, SE, SI, CK, QN);
input D, RDN, SE, SI, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional
// none
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I8(ENABLE_RDN,RDN);
and SMC_I9(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRNQNHDV4 (D, RDN, SE, SI, CK, QN);
input D, RDN, SE, SI, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
buf XX0 (xRN,RDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional
// none
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I8(ENABLE_RDN,RDN);
and SMC_I9(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRQHDV0 (D, RD, SE, SI, CK, Q);
input D, RD, SE, SI, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar,SE);
and SMC_I5(ENABLE_NOT_RD_AND_NOT_SE,ENABLE_NOT_RD, SE_bar);
not SMC_I6(ENABLE_NOT_RD,RD);
and SMC_I7(ENABLE_NOT_RD_AND_SE,ENABLE_NOT_RD,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), negedge RD &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
negedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
posedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRQHDV1 (D, RD, SE, SI, CK, Q);
input D, RD, SE, SI, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar,SE);
and SMC_I5(ENABLE_NOT_RD_AND_NOT_SE,ENABLE_NOT_RD, SE_bar);
not SMC_I6(ENABLE_NOT_RD,RD);
and SMC_I7(ENABLE_NOT_RD_AND_SE,ENABLE_NOT_RD,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), negedge RD &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
negedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
posedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRQHDV2 (D, RD, SE, SI, CK, Q);
input D, RD, SE, SI, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar,SE);
and SMC_I5(ENABLE_NOT_RD_AND_NOT_SE,ENABLE_NOT_RD, SE_bar);
not SMC_I6(ENABLE_NOT_RD,RD);
and SMC_I7(ENABLE_NOT_RD_AND_SE,ENABLE_NOT_RD,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), negedge RD &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
negedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
posedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRQHDV4 (D, RD, SE, SI, CK, Q);
input D, RD, SE, SI, CK;
output Q;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar,SE);
and SMC_I5(ENABLE_NOT_RD_AND_NOT_SE,ENABLE_NOT_RD, SE_bar);
not SMC_I6(ENABLE_NOT_RD,RD);
and SMC_I7(ENABLE_NOT_RD_AND_SE,ENABLE_NOT_RD,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> Q
(posedge RD => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), negedge RD &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
negedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
posedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRQNHDV0 (D, RD, SE, SI, CK, QN);
input D, RD, SE, SI, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional
// none
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_NOT_RD_AND_NOT_SE,ENABLE_NOT_RD, SE_bar);
not SMC_I8(ENABLE_NOT_RD,RD);
and SMC_I9(ENABLE_NOT_RD_AND_SE,ENABLE_NOT_RD,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), negedge RD &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
negedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
posedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRQNHDV1 (D, RD, SE, SI, CK, QN);
input D, RD, SE, SI, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional
// none
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_NOT_RD_AND_NOT_SE,ENABLE_NOT_RD, SE_bar);
not SMC_I8(ENABLE_NOT_RD,RD);
and SMC_I9(ENABLE_NOT_RD_AND_SE,ENABLE_NOT_RD,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), negedge RD &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
negedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
posedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRQNHDV2 (D, RD, SE, SI, CK, QN);
input D, RD, SE, SI, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional
// none
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_NOT_RD_AND_NOT_SE,ENABLE_NOT_RD, SE_bar);
not SMC_I8(ENABLE_NOT_RD,RD);
and SMC_I9(ENABLE_NOT_RD_AND_SE,ENABLE_NOT_RD,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), negedge RD &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
negedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
posedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRQNHDV4 (D, RD, SE, SI, CK, QN);
input D, RD, SE, SI, CK;
output QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
not XX0 (xRN,RD);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional
// none
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_NOT_RD_AND_NOT_SE,ENABLE_NOT_RD, SE_bar);
not SMC_I8(ENABLE_NOT_RD,RD);
and SMC_I9(ENABLE_NOT_RD_AND_SE,ENABLE_NOT_RD,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RD --> QN
(posedge RD => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_RD_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), negedge RD &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(posedge RD,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
negedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD == 1'b1),
posedge SE &&& (ENABLE_NOT_RD == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
negedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_RD_AND_SE == 1'b1),
posedge SI &&& (ENABLE_NOT_RD_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRSNQHDV0 (D, RDN, SDN, SE, SI, CK, Q);
input D, RDN, SDN, SE, SI, CK;
output Q;
reg NOTIFIER;
wire ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI;
wire ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI;
buf XX0 (xRN,RDN);
buf XX1 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI=(D&SDN&!SE|SDN&SE&SI)? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI=(!D&RDN&!SE|RDN&SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_RDN_AND_SDN_AND_NOT_SE,RDN,SDN, SE_bar);
buf SMC_I9(ENABLE_SDN,SDN);
buf SMC_I10(ENABLE_RDN,RDN);
and SMC_I11(ENABLE_RDN_AND_SDN,RDN,SDN);
and SMC_I12(ENABLE_RDN_AND_SDN_AND_SE,RDN,SDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRSNQHDV1 (D, RDN, SDN, SE, SI, CK, Q);
input D, RDN, SDN, SE, SI, CK;
output Q;
reg NOTIFIER;
wire ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI;
wire ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI;
buf XX0 (xRN,RDN);
buf XX1 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI=(D&SDN&!SE|SDN&SE&SI)? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI=(!D&RDN&!SE|RDN&SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_RDN_AND_SDN_AND_NOT_SE,RDN,SDN, SE_bar);
buf SMC_I9(ENABLE_SDN,SDN);
buf SMC_I10(ENABLE_RDN,RDN);
and SMC_I11(ENABLE_RDN_AND_SDN,RDN,SDN);
and SMC_I12(ENABLE_RDN_AND_SDN_AND_SE,RDN,SDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRSNQHDV2 (D, RDN, SDN, SE, SI, CK, Q);
input D, RDN, SDN, SE, SI, CK;
output Q;
reg NOTIFIER;
wire ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI;
wire ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI;
buf XX0 (xRN,RDN);
buf XX1 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI=(D&SDN&!SE|SDN&SE&SI)? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI=(!D&RDN&!SE|RDN&SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_RDN_AND_SDN_AND_NOT_SE,RDN,SDN, SE_bar);
buf SMC_I9(ENABLE_SDN,SDN);
buf SMC_I10(ENABLE_RDN,RDN);
and SMC_I11(ENABLE_RDN_AND_SDN,RDN,SDN);
and SMC_I12(ENABLE_RDN_AND_SDN_AND_SE,RDN,SDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRSNQHDV4 (D, RDN, SDN, SE, SI, CK, Q);
input D, RDN, SDN, SE, SI, CK;
output Q;
reg NOTIFIER;
wire ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI;
wire ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI;
buf XX0 (xRN,RDN);
buf XX1 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI=(D&SDN&!SE|SDN&SE&SI)? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI=(!D&RDN&!SE|RDN&SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_RDN_AND_SDN_AND_NOT_SE,RDN,SDN, SE_bar);
buf SMC_I9(ENABLE_SDN,SDN);
buf SMC_I10(ENABLE_RDN,RDN);
and SMC_I11(ENABLE_RDN_AND_SDN,RDN,SDN);
and SMC_I12(ENABLE_RDN_AND_SDN_AND_SE,RDN,SDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRSNQNHDV0 (D, RDN, SDN, SE, SI, CK, QN);
input D, RDN, SDN, SE, SI, CK;
output QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI;
wire ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI;
buf XX0 (xRN,RDN);
buf XX1 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI=(D&SDN&!SE|SDN&SE&SI)? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI=(!D&RDN&!SE|RDN&SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_RDN_AND_SDN_AND_NOT_SE,RDN,SDN, SE_bar);
buf SMC_I9(ENABLE_SDN,SDN);
buf SMC_I10(ENABLE_RDN,RDN);
and SMC_I11(ENABLE_RDN_AND_SDN,RDN,SDN);
and SMC_I12(ENABLE_RDN_AND_SDN_AND_SE,RDN,SDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRSNQNHDV1 (D, RDN, SDN, SE, SI, CK, QN);
input D, RDN, SDN, SE, SI, CK;
output QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI;
wire ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI;
buf XX0 (xRN,RDN);
buf XX1 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI=(D&SDN&!SE|SDN&SE&SI)? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI=(!D&RDN&!SE|RDN&SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_RDN_AND_SDN_AND_NOT_SE,RDN,SDN, SE_bar);
buf SMC_I9(ENABLE_SDN,SDN);
buf SMC_I10(ENABLE_RDN,RDN);
and SMC_I11(ENABLE_RDN_AND_SDN,RDN,SDN);
and SMC_I12(ENABLE_RDN_AND_SDN_AND_SE,RDN,SDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRSNQNHDV2 (D, RDN, SDN, SE, SI, CK, QN);
input D, RDN, SDN, SE, SI, CK;
output QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI;
wire ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI;
buf XX0 (xRN,RDN);
buf XX1 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI=(D&SDN&!SE|SDN&SE&SI)? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI=(!D&RDN&!SE|RDN&SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_RDN_AND_SDN_AND_NOT_SE,RDN,SDN, SE_bar);
buf SMC_I9(ENABLE_SDN,SDN);
buf SMC_I10(ENABLE_RDN,RDN);
and SMC_I11(ENABLE_RDN_AND_SDN,RDN,SDN);
and SMC_I12(ENABLE_RDN_AND_SDN_AND_SE,RDN,SDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDRSNQNHDV4 (D, RDN, SDN, SE, SI, CK, QN);
input D, RDN, SDN, SE, SI, CK;
output QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI;
wire ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI;
buf XX0 (xRN,RDN);
buf XX1 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI=(D&SDN&!SE|SDN&SE&SI)? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI=(!D&RDN&!SE|RDN&SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_RDN_AND_SDN_AND_NOT_SE,RDN,SDN, SE_bar);
buf SMC_I9(ENABLE_SDN,SDN);
buf SMC_I10(ENABLE_RDN,RDN);
and SMC_I11(ENABLE_RDN_AND_SDN,RDN,SDN);
and SMC_I12(ENABLE_RDN_AND_SDN_AND_SE,RDN,SDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDSNQHDV0 (D, SDN, SE, SI, CK, Q);
input D, SDN, SE, SI, CK;
output Q;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI=(!D&!SE|SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_SDN_AND_NOT_SE,SDN, SE_bar);
buf SMC_I8(ENABLE_SDN,SDN);
and SMC_I9(ENABLE_SDN_AND_SE,SDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), posedge SDN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDSNQHDV1 (D, SDN, SE, SI, CK, Q);
input D, SDN, SE, SI, CK;
output Q;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI=(!D&!SE|SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_SDN_AND_NOT_SE,SDN, SE_bar);
buf SMC_I8(ENABLE_SDN,SDN);
and SMC_I9(ENABLE_SDN_AND_SE,SDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), posedge SDN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDSNQHDV2 (D, SDN, SE, SI, CK, Q);
input D, SDN, SE, SI, CK;
output Q;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI=(!D&!SE|SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_SDN_AND_NOT_SE,SDN, SE_bar);
buf SMC_I8(ENABLE_SDN,SDN);
and SMC_I9(ENABLE_SDN_AND_SE,SDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), posedge SDN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDSNQHDV4 (D, SDN, SE, SI, CK, Q);
input D, SDN, SE, SI, CK;
output Q;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
assign ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI=(!D&!SE|SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_SDN_AND_NOT_SE,SDN, SE_bar);
buf SMC_I8(ENABLE_SDN,SDN);
and SMC_I9(ENABLE_SDN_AND_SE,SDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), posedge SDN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDSNQNHDV0 (D, SDN, SE, SI, CK, QN);
input D, SDN, SE, SI, CK;
output QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI=(!D&!SE|SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_SDN_AND_NOT_SE,SDN, SE_bar);
buf SMC_I8(ENABLE_SDN,SDN);
and SMC_I9(ENABLE_SDN_AND_SE,SDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), posedge SDN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDSNQNHDV1 (D, SDN, SE, SI, CK, QN);
input D, SDN, SE, SI, CK;
output QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI=(!D&!SE|SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_SDN_AND_NOT_SE,SDN, SE_bar);
buf SMC_I8(ENABLE_SDN,SDN);
and SMC_I9(ENABLE_SDN_AND_SE,SDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), posedge SDN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDSNQNHDV2 (D, SDN, SE, SI, CK, QN);
input D, SDN, SE, SI, CK;
output QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI=(!D&!SE|SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_SDN_AND_NOT_SE,SDN, SE_bar);
buf SMC_I8(ENABLE_SDN,SDN);
and SMC_I9(ENABLE_SDN_AND_SE,SDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), posedge SDN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SDSNQNHDV4 (D, SDN, SE, SI, CK, QN);
input D, SDN, SE, SI, CK;
output QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI;
buf XX0 (xSN,SDN);
buf IC (clk,CK);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
not I3 (QN, n0);
assign ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI=(!D&!SE|SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_SDN_AND_NOT_SE,SDN, SE_bar);
buf SMC_I8(ENABLE_SDN,SDN);
and SMC_I9(ENABLE_SDN_AND_SE,SDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), posedge SDN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
negedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN == 1'b1),
posedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDQHDV0 ( Q, CK, D, E, SE, SI);
input CK, D, E, SE, SI;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
udp_sedff I0 (n0, D, CK, xRN, SI, SE, E, NOTIFIER);
buf I1 (Q, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar, SE);
and SMC_I5(ENABLE_E_AND_NOT_SE, E, SE_bar);
not SMC_I6(ENABLE_NOT_SE, SE);
buf SMC_I7(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDQHDV1 ( Q, CK, D, E, SE, SI);
input CK, D, E, SE, SI;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
udp_sedff I0 (n0, D, CK, xRN, SI, SE, E, NOTIFIER);
buf I1 (Q, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar, SE);
and SMC_I5(ENABLE_E_AND_NOT_SE, E, SE_bar);
not SMC_I6(ENABLE_NOT_SE, SE);
buf SMC_I7(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDQHDV2 ( Q, CK, D, E, SE, SI);
input CK, D, E, SE, SI;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
udp_sedff I0 (n0, D, CK, xRN, SI, SE, E, NOTIFIER);
buf I1 (Q, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar, SE);
and SMC_I5(ENABLE_E_AND_NOT_SE, E, SE_bar);
not SMC_I6(ENABLE_NOT_SE, SE);
buf SMC_I7(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDQHDV4 ( Q, CK, D, E, SE, SI);
input CK, D, E, SE, SI;
output Q;
reg NOTIFIER;
supply1 xRN, xSN;
udp_sedff I0 (n0, D, CK, xRN, SI, SE, E, NOTIFIER);
buf I1 (Q, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar, SE);
and SMC_I5(ENABLE_E_AND_NOT_SE, E, SE_bar);
not SMC_I6(ENABLE_NOT_SE, SE);
buf SMC_I7(ENABLE_SE, SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDQNHDV0 ( QN, CK, D, E, SE, SI);
input CK, D, E, SE, SI;
output QN;
reg NOTIFIER;
supply1 xRN;
udp_sedff I0 (n0, D, CK, xRN, SI, SE, E, NOTIFIER);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar, SE);
and SMC_I7(ENABLE_E_AND_NOT_SE, E, SE_bar);
not SMC_I8(ENABLE_NOT_SE, SE);
buf SMC_I9(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDQNHDV1 ( QN, CK, D, E, SE, SI);
input CK, D, E, SE, SI;
output QN;
reg NOTIFIER;
supply1 xRN;
udp_sedff I0 (n0, D, CK, xRN, SI, SE, E, NOTIFIER);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar, SE);
and SMC_I7(ENABLE_E_AND_NOT_SE, E, SE_bar);
not SMC_I8(ENABLE_NOT_SE, SE);
buf SMC_I9(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDQNHDV2 ( QN, CK, D, E, SE, SI);
input CK, D, E, SE, SI;
output QN;
reg NOTIFIER;
supply1 xRN;
udp_sedff I0 (n0, D, CK, xRN, SI, SE, E, NOTIFIER);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar, SE);
and SMC_I7(ENABLE_E_AND_NOT_SE, E, SE_bar);
not SMC_I8(ENABLE_NOT_SE, SE);
buf SMC_I9(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDQNHDV4 ( QN, CK, D, E, SE, SI);
input CK, D, E, SE, SI;
output QN;
reg NOTIFIER;
supply1 xRN;
udp_sedff I0 (n0, D, CK, xRN, SI, SE, E, NOTIFIER);
not I2 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar, SE);
and SMC_I7(ENABLE_E_AND_NOT_SE, E, SE_bar);
not SMC_I8(ENABLE_NOT_SE, SE);
buf SMC_I9(ENABLE_SE, SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
negedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_NOT_SE == 1'b1),
posedge E &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDRNQHDV0 (D, E, RDN, SE, SI, CK, Q);
input D, E, RDN, SE, SI, CK;
output Q;
reg NOTIFIER;
wire ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI;
buf I0 (xRN,RDN);
udp_sedff I1 (n0,D,CK, xRN,SI,SE,E, NOTIFIER);
buf I2 (Q, n0);
assign ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI=(D&E&!SE|E&SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar,SE);
and SMC_I5(ENABLE_E_AND_RDN_AND_NOT_SE,E,RDN, SE_bar);
and SMC_I6(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I7(ENABLE_RDN,RDN);
and SMC_I8(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDRNQHDV1 (D, E, RDN, SE, SI, CK, Q);
input D, E, RDN, SE, SI, CK;
output Q;
reg NOTIFIER;
wire ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI;
buf I0 (xRN,RDN);
udp_sedff I1 (n0,D,CK, xRN,SI,SE,E, NOTIFIER);
buf I2 (Q, n0);
assign ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI=(D&E&!SE|E&SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar,SE);
and SMC_I5(ENABLE_E_AND_RDN_AND_NOT_SE,E,RDN, SE_bar);
and SMC_I6(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I7(ENABLE_RDN,RDN);
and SMC_I8(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDRNQHDV2 (D, E, RDN, SE, SI, CK, Q);
input D, E, RDN, SE, SI, CK;
output Q;
reg NOTIFIER;
wire ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI;
buf I0 (xRN,RDN);
udp_sedff I1 (n0,D,CK, xRN,SI,SE,E, NOTIFIER);
buf I2 (Q, n0);
assign ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI=(D&E&!SE|E&SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar,SE);
and SMC_I5(ENABLE_E_AND_RDN_AND_NOT_SE,E,RDN, SE_bar);
and SMC_I6(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I7(ENABLE_RDN,RDN);
and SMC_I8(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDRNQHDV4 (D, E, RDN, SE, SI, CK, Q);
input D, E, RDN, SE, SI, CK;
output Q;
reg NOTIFIER;
wire ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI;
buf I0 (xRN,RDN);
udp_sedff I1 (n0,D,CK, xRN,SI,SE,E, NOTIFIER);
buf I2 (Q, n0);
assign ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI=(D&E&!SE|E&SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I4(SE_bar,SE);
and SMC_I5(ENABLE_E_AND_RDN_AND_NOT_SE,E,RDN, SE_bar);
and SMC_I6(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I7(ENABLE_RDN,RDN);
and SMC_I8(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> Q
(posedge CK => (Q : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDRNQNHDV0 (D, E, RDN, SE, SI, CK, QN);
input D, E, RDN, SE, SI, CK;
output QN;
reg NOTIFIER;
wire ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI;
buf I0 (xRN,RDN);
udp_sedff I1 (n0,D,CK, xRN,SI,SE,E, NOTIFIER);
not I3 (QN, n0);
assign ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI=(D&E&!SE|E&SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_E_AND_RDN_AND_NOT_SE,E,RDN, SE_bar);
and SMC_I8(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I9(ENABLE_RDN,RDN);
and SMC_I10(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDRNQNHDV1 (D, E, RDN, SE, SI, CK, QN);
input D, E, RDN, SE, SI, CK;
output QN;
reg NOTIFIER;
wire ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI;
buf I0 (xRN,RDN);
udp_sedff I1 (n0,D,CK, xRN,SI,SE,E, NOTIFIER);
not I3 (QN, n0);
assign ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI=(D&E&!SE|E&SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_E_AND_RDN_AND_NOT_SE,E,RDN, SE_bar);
and SMC_I8(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I9(ENABLE_RDN,RDN);
and SMC_I10(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDRNQNHDV2 (D, E, RDN, SE, SI, CK, QN);
input D, E, RDN, SE, SI, CK;
output QN;
reg NOTIFIER;
wire ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI;
buf I0 (xRN,RDN);
udp_sedff I1 (n0,D,CK, xRN,SI,SE,E, NOTIFIER);
not I3 (QN, n0);
assign ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI=(D&E&!SE|E&SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_E_AND_RDN_AND_NOT_SE,E,RDN, SE_bar);
and SMC_I8(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I9(ENABLE_RDN,RDN);
and SMC_I10(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SEDRNQNHDV4 (D, E, RDN, SE, SI, CK, QN);
input D, E, RDN, SE, SI, CK;
output QN;
reg NOTIFIER;
wire ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI;
buf I0 (xRN,RDN);
udp_sedff I1 (n0,D,CK, xRN,SI,SE,E, NOTIFIER);
not I3 (QN, n0);
assign ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI=(D&E&!SE|E&SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I6(SE_bar,SE);
and SMC_I7(ENABLE_E_AND_RDN_AND_NOT_SE,E,RDN, SE_bar);
and SMC_I8(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I9(ENABLE_RDN,RDN);
and SMC_I10(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CK --> QN
(posedge CK => (QN : D)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b0 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b0 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CK==1'b1 && D==1'b1 && E==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CK,1.0,0,NOTIFIER);
$width(posedge CK,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_E_AND_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge E &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_E_AND_NOT_SE_OR_E_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge CK &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDHDV0 ( Q, QN, CKN, D, SE, SI);
input CKN, D, SE, SI;
output Q, QN;
reg NOTIFIER;
supply1 xRN, xSN;
not IC (clk, CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1, D, SI, SE);
buf I2 (Q, n0);
not I3 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I7(ENABLE_NOT_SE, SE);
buf SMC_I8(ENABLE_SE, SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDHDV1 ( Q, QN, CKN, D, SE, SI);
input CKN, D, SE, SI;
output Q, QN;
reg NOTIFIER;
supply1 xRN, xSN;
not IC (clk, CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1, D, SI, SE);
buf I2 (Q, n0);
not I3 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I7(ENABLE_NOT_SE, SE);
buf SMC_I8(ENABLE_SE, SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDHDV2 ( Q, QN, CKN, D, SE, SI);
input CKN, D, SE, SI;
output Q, QN;
reg NOTIFIER;
supply1 xRN, xSN;
not IC (clk, CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1, D, SI, SE);
buf I2 (Q, n0);
not I3 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I7(ENABLE_NOT_SE, SE);
buf SMC_I8(ENABLE_SE, SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDHDV4 ( Q, QN, CKN, D, SE, SI);
input CKN, D, SE, SI;
output Q, QN;
reg NOTIFIER;
supply1 xRN, xSN;
not IC (clk, CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1, D, SI, SE);
buf I2 (Q, n0);
not I3 (QN, n0);
`ifdef functional // functional //
`else // functional //
not SMC_I7(ENABLE_NOT_SE, SE);
buf SMC_I8(ENABLE_SE, SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_SE == 1'b1),
negedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_SE == 1'b1),
posedge D &&& (ENABLE_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN, negedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN, posedge SE, 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SE == 1'b1),
negedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SE == 1'b1),
posedge SI &&& (ENABLE_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDRNHDV0 (D, RDN, SE, SI, CKN, Q, QN);
input D, RDN, SE, SI, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
buf XX0 (xRN,RDN);
not IC (clk,CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
not I3 (QN, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I9(ENABLE_RDN,RDN);
and SMC_I10(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDRNHDV1 (D, RDN, SE, SI, CKN, Q, QN);
input D, RDN, SE, SI, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
buf XX0 (xRN,RDN);
not IC (clk,CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
not I3 (QN, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I9(ENABLE_RDN,RDN);
and SMC_I10(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDRNHDV2 (D, RDN, SE, SI, CKN, Q, QN);
input D, RDN, SE, SI, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
buf XX0 (xRN,RDN);
not IC (clk,CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
not I3 (QN, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I9(ENABLE_RDN,RDN);
and SMC_I10(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDRNHDV4 (D, RDN, SE, SI, CKN, Q, QN);
input D, RDN, SE, SI, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xSN;
wire ENABLE_D_AND_NOT_SE_OR_SE_AND_SI;
buf XX0 (xRN,RDN);
not IC (clk,CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
not I3 (QN, n0);
assign ENABLE_D_AND_NOT_SE_OR_SE_AND_SI=(D&!SE | SE&SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_RDN_AND_NOT_SE,RDN, SE_bar);
buf SMC_I9(ENABLE_RDN,RDN);
and SMC_I10(ENABLE_RDN_AND_SE,RDN,SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), posedge RDN &&& (ENABLE_D_AND_NOT_SE_OR_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
negedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN == 1'b1),
posedge SE &&& (ENABLE_RDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDRSNHDV0 (D, RDN, SDN, SE, SI, CKN, Q, QN);
input D, RDN, SDN, SE, SI, CKN;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI;
wire ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI;
buf XX0 (xRN,RDN);
buf XX1 (xSN,SDN);
not IC (clk,CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
not I3 (QN, n0);
assign ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI=(D&SDN&!SE|SDN&SE&SI)? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI=(!D&RDN&!SE|RDN&SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I8(SE_bar,SE);
and SMC_I9(ENABLE_RDN_AND_SDN_AND_NOT_SE,RDN,SDN, SE_bar);
buf SMC_I10(ENABLE_SDN,SDN);
buf SMC_I11(ENABLE_RDN,RDN);
and SMC_I12(ENABLE_RDN_AND_SDN,RDN,SDN);
and SMC_I13(ENABLE_RDN_AND_SDN_AND_SE,RDN,SDN,SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDRSNHDV1 (D, RDN, SDN, SE, SI, CKN, Q, QN);
input D, RDN, SDN, SE, SI, CKN;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI;
wire ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI;
buf XX0 (xRN,RDN);
buf XX1 (xSN,SDN);
not IC (clk,CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
not I3 (QN, n0);
assign ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI=(D&SDN&!SE|SDN&SE&SI)? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI=(!D&RDN&!SE|RDN&SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I8(SE_bar,SE);
and SMC_I9(ENABLE_RDN_AND_SDN_AND_NOT_SE,RDN,SDN, SE_bar);
buf SMC_I10(ENABLE_SDN,SDN);
buf SMC_I11(ENABLE_RDN,RDN);
and SMC_I12(ENABLE_RDN_AND_SDN,RDN,SDN);
and SMC_I13(ENABLE_RDN_AND_SDN_AND_SE,RDN,SDN,SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDRSNHDV2 (D, RDN, SDN, SE, SI, CKN, Q, QN);
input D, RDN, SDN, SE, SI, CKN;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI;
wire ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI;
buf XX0 (xRN,RDN);
buf XX1 (xSN,SDN);
not IC (clk,CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
not I3 (QN, n0);
assign ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI=(D&SDN&!SE|SDN&SE&SI)? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI=(!D&RDN&!SE|RDN&SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I8(SE_bar,SE);
and SMC_I9(ENABLE_RDN_AND_SDN_AND_NOT_SE,RDN,SDN, SE_bar);
buf SMC_I10(ENABLE_SDN,SDN);
buf SMC_I11(ENABLE_RDN,RDN);
and SMC_I12(ENABLE_RDN_AND_SDN,RDN,SDN);
and SMC_I13(ENABLE_RDN_AND_SDN_AND_SE,RDN,SDN,SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDRSNHDV4 (D, RDN, SDN, SE, SI, CKN, Q, QN);
input D, RDN, SDN, SE, SI, CKN;
output Q, QN;
reg NOTIFIER;
wire ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI;
wire ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI;
buf XX0 (xRN,RDN);
buf XX1 (xSN,SDN);
not IC (clk,CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
not I3 (QN, n0);
assign ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI=(D&SDN&!SE|SDN&SE&SI)? 1'b1:1'b0;
assign ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI=(!D&RDN&!SE|RDN&SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I8(SE_bar,SE);
and SMC_I9(ENABLE_RDN_AND_SDN_AND_NOT_SE,RDN,SDN, SE_bar);
buf SMC_I10(ENABLE_SDN,SDN);
buf SMC_I11(ENABLE_RDN,RDN);
and SMC_I12(ENABLE_RDN_AND_SDN,RDN,SDN);
and SMC_I13(ENABLE_RDN_AND_SDN_AND_SE,RDN,SDN,SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> Q
(negedge RDN => (Q : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc RDN --> QN
(negedge RDN => (QN : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && RDN==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_RDN_AND_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1),
posedge RDN &&& (ENABLE_D_AND_SDN_AND_NOT_SE_OR_SDN_AND_SE_AND_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge RDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1),
posedge SDN &&& (ENABLE_NOT_D_AND_RDN_AND_NOT_SE_OR_RDN_AND_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(posedge RDN, posedge SDN, 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
negedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN == 1'b1),
posedge SE &&& (ENABLE_RDN_AND_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_RDN_AND_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDSNHDV0 (D, SDN, SE, SI, CKN, Q, QN);
input D, SDN, SE, SI, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI;
buf XX0 (xSN,SDN);
not IC (clk,CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
not I3 (QN, n0);
assign ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI=(!D&!SE|SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_SDN_AND_NOT_SE,SDN, SE_bar);
buf SMC_I9(ENABLE_SDN,SDN);
and SMC_I10(ENABLE_SDN_AND_SE,SDN,SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), posedge SDN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
negedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
posedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDSNHDV1 (D, SDN, SE, SI, CKN, Q, QN);
input D, SDN, SE, SI, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI;
buf XX0 (xSN,SDN);
not IC (clk,CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
not I3 (QN, n0);
assign ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI=(!D&!SE|SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_SDN_AND_NOT_SE,SDN, SE_bar);
buf SMC_I9(ENABLE_SDN,SDN);
and SMC_I10(ENABLE_SDN_AND_SE,SDN,SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), posedge SDN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
negedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
posedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDSNHDV2 (D, SDN, SE, SI, CKN, Q, QN);
input D, SDN, SE, SI, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI;
buf XX0 (xSN,SDN);
not IC (clk,CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
not I3 (QN, n0);
assign ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI=(!D&!SE|SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_SDN_AND_NOT_SE,SDN, SE_bar);
buf SMC_I9(ENABLE_SDN,SDN);
and SMC_I10(ENABLE_SDN_AND_SE,SDN,SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), posedge SDN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
negedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
posedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module SNDSNHDV4 (D, SDN, SE, SI, CKN, Q, QN);
input D, SDN, SE, SI, CKN;
output Q, QN;
reg NOTIFIER;
supply1 xRN;
wire ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI;
buf XX0 (xSN,SDN);
not IC (clk,CKN);
udp_dff I0 (n0, n1, clk, xRN, xSN, NOTIFIER);
udp_mux I1 (n1,D,SI,SE);
buf I2 (Q, n0);
not I3 (QN, n0);
assign ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI=(!D&!SE|SE&!SI)? 1'b1:1'b0;
`ifdef functional // functional //
`else // functional //
not SMC_I7(SE_bar,SE);
and SMC_I8(ENABLE_SDN_AND_NOT_SE,SDN, SE_bar);
buf SMC_I9(ENABLE_SDN,SDN);
and SMC_I10(ENABLE_SDN_AND_SE,SDN,SE);
specify
// arc CKN --> Q
(negedge CKN => (Q : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> Q
(negedge SDN => (Q : 1'b1)) = (1.0,1.0);
// arc CKN --> QN
(negedge CKN => (QN : D)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b0 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b0 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b0 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b0)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
if(CKN==1'b1 && D==1'b1 && SE==1'b1 && SI==1'b1)
// arc SDN --> QN
(negedge SDN => (QN : 1'b0)) = (1.0,1.0);
$width(negedge CKN,1.0,0,NOTIFIER);
$width(posedge CKN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
negedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_NOT_SE == 1'b1),
posedge D &&& (ENABLE_SDN_AND_NOT_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), posedge SDN &&& (ENABLE_NOT_D_AND_NOT_SE_OR_SE_AND_NOT_SI == 1'b1), 1.0, 1.0, NOTIFIER);
$width(negedge SDN,1.0,0,NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
negedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN == 1'b1),
posedge SE &&& (ENABLE_SDN == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_SE == 1'b1),
negedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
$setuphold(negedge CKN &&& (ENABLE_SDN_AND_SE == 1'b1),
posedge SI &&& (ENABLE_SDN_AND_SE == 1'b1), 1.0, 1.0, NOTIFIER);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module TBUFHDV0 ( Z, I, OE);
input I, OE;
output Z;
bufif1 I0(Z, I, OE);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
// arc OE --> Z
(OE => Z) = (1.0,1.0,1.0,1.0,1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module TBUFHDV1 ( Z, I, OE);
input I, OE;
output Z;
bufif1 I0(Z, I, OE);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
// arc OE --> Z
(OE => Z) = (1.0,1.0,1.0,1.0,1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module TBUFHDV12 ( Z, I, OE);
input I, OE;
output Z;
bufif1 I0(Z, I, OE);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
// arc OE --> Z
(OE => Z) = (1.0,1.0,1.0,1.0,1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module TBUFHDV14 ( Z, I, OE);
input I, OE;
output Z;
bufif1 I0(Z, I, OE);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
// arc OE --> Z
(OE => Z) = (1.0,1.0,1.0,1.0,1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module TBUFHDV16 ( Z, I, OE);
input I, OE;
output Z;
bufif1 I0(Z, I, OE);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
// arc OE --> Z
(OE => Z) = (1.0,1.0,1.0,1.0,1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module TBUFHDV2 ( Z, I, OE);
input I, OE;
output Z;
bufif1 I0(Z, I, OE);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
// arc OE --> Z
(OE => Z) = (1.0,1.0,1.0,1.0,1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module TBUFHDV20 ( Z, I, OE);
input I, OE;
output Z;
bufif1 I0(Z, I, OE);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
// arc OE --> Z
(OE => Z) = (1.0,1.0,1.0,1.0,1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module TBUFHDV24 ( Z, I, OE);
input I, OE;
output Z;
bufif1 I0(Z, I, OE);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
// arc OE --> Z
(OE => Z) = (1.0,1.0,1.0,1.0,1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module TBUFHDV3 ( Z, I, OE);
input I, OE;
output Z;
bufif1 I0(Z, I, OE);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
// arc OE --> Z
(OE => Z) = (1.0,1.0,1.0,1.0,1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module TBUFHDV4 ( Z, I, OE);
input I, OE;
output Z;
bufif1 I0(Z, I, OE);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
// arc OE --> Z
(OE => Z) = (1.0,1.0,1.0,1.0,1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module TBUFHDV6 ( Z, I, OE);
input I, OE;
output Z;
bufif1 I0(Z, I, OE);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
// arc OE --> Z
(OE => Z) = (1.0,1.0,1.0,1.0,1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module TBUFHDV8 ( Z, I, OE);
input I, OE;
output Z;
bufif1 I0(Z, I, OE);
`ifdef functional // functional //
`else // functional //
specify
// arc I --> Z
(I => Z) = (1.0,1.0);
// arc OE --> Z
(OE => Z) = (1.0,1.0,1.0,1.0,1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XNOR2CHDV0 ( ZN, A1, A2);
input A1, A2;
output ZN;
xnor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
// arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
// arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
// arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XNOR2CHDV1 ( ZN, A1, A2);
input A1, A2;
output ZN;
xnor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
// arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
// arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
// arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XNOR2CHDV2 ( ZN, A1, A2);
input A1, A2;
output ZN;
xnor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
// arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
// arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
// arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XNOR2CHDV4 ( ZN, A1, A2);
input A1, A2;
output ZN;
xnor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
// arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
// arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
// arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XNOR2CHDV8 ( ZN, A1, A2);
input A1, A2;
output ZN;
xnor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
// arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
// arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
// arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XNOR2CHDVL ( ZN, A1, A2);
input A1, A2;
output ZN;
xnor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
// arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
// arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
// arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XNOR2HDV0 ( ZN, A1, A2);
input A1, A2;
output ZN;
xnor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
// arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
// arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
// arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XNOR2HDV1 ( ZN, A1, A2);
input A1, A2;
output ZN;
xnor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
// arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
// arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
// arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XNOR2HDV2 ( ZN, A1, A2);
input A1, A2;
output ZN;
xnor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
// arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
// arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
// arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XNOR2HDV4 ( ZN, A1, A2);
input A1, A2;
output ZN;
xnor I0(ZN, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
// arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
// arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
// arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XNOR3HDV0 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
xnor I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
if(A2==1'b0 && A3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2==1'b1 && A3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2==1'b0 && A3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2==1'b1 && A3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XNOR3HDV1 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
xnor I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
if(A2==1'b0 && A3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2==1'b1 && A3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2==1'b0 && A3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2==1'b1 && A3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XNOR3HDV2 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
xnor I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
if(A2==1'b0 && A3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2==1'b1 && A3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2==1'b0 && A3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2==1'b1 && A3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XNOR3HDV4 ( ZN, A1, A2, A3);
input A1, A2, A3;
output ZN;
xnor I0(ZN, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
if(A2==1'b0 && A3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2==1'b1 && A3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2==1'b0 && A3==1'b1)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2==1'b1 && A3==1'b0)
// arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A1==1'b0 && A3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A3==1'b1)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b1 && A3==1'b0)
// arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XOR2CHDV0 ( Z, A1, A2);
input A1, A2;
output Z;
xor I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
// arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
// arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
// arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XOR2CHDV1 ( Z, A1, A2);
input A1, A2;
output Z;
xor I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
// arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
// arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
// arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XOR2CHDV2 ( Z, A1, A2);
input A1, A2;
output Z;
xor I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
// arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
// arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
// arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XOR2CHDV4 ( Z, A1, A2);
input A1, A2;
output Z;
xor I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
// arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
// arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
// arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XOR2CHDV8 ( Z, A1, A2);
input A1, A2;
output Z;
xor I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
// arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
// arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
// arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XOR2CHDVL ( Z, A1, A2);
input A1, A2;
output Z;
xor I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
// arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
// arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
// arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XOR2HDV0 ( Z, A1, A2);
input A1, A2;
output Z;
xor I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
// arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
// arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
// arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XOR2HDV1 ( Z, A1, A2);
input A1, A2;
output Z;
xor I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
// arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
// arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
// arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XOR2HDV2 ( Z, A1, A2);
input A1, A2;
output Z;
xor I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
// arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
// arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
// arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XOR2HDV4 ( Z, A1, A2);
input A1, A2;
output Z;
xor I0(Z, A1, A2);
`ifdef functional // functional //
`else // functional //
specify
// arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
// arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
// arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
// arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XOR3HDV0 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
xor I0(Z, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
if(A2==1'b0 && A3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b1 && A3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b0 && A3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b1 && A3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A1==1'b0 && A3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b1 && A3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b1 && A3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XOR3HDV1 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
xor I0(Z, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
if(A2==1'b0 && A3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b1 && A3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b0 && A3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b1 && A3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A1==1'b0 && A3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b1 && A3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b1 && A3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XOR3HDV2 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
xor I0(Z, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
if(A2==1'b0 && A3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b1 && A3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b0 && A3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b1 && A3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A1==1'b0 && A3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b1 && A3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b1 && A3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
/*****************************************************************************/
`timescale 10 ps / 1 ps
`ifdef functional
// none
`else
`define SMC_NFORCE 1 // Flag to force output to x if notifer changes
`endif
`celldefine
module XOR3HDV4 ( Z, A1, A2, A3);
input A1, A2, A3;
output Z;
xor I0(Z, A1, A2, A3);
`ifdef functional // functional //
`else // functional //
specify
if(A2==1'b0 && A3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b1 && A3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b0 && A3==1'b0)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2==1'b1 && A3==1'b1)
// arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A1==1'b0 && A3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b1 && A3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A3==1'b0)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b1 && A3==1'b1)
// arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b0 && A2==1'b0)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1==1'b1 && A2==1'b1)
// arc A3 --> Z
(A3 => Z) = (1.0,1.0);
endspecify
`endif // functional //
endmodule
`endcelldefine
// $Id: udp_dff.v
// verilog UDP for d flip-flops
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_dff (out, in, clk, clr_, set_, NOTIFIER);
output out;
input in, clk, clr_, set_, NOTIFIER;
reg out;
table
// in clk clr_ set_ NOT : Qt : Qt+1
//
0 r ? 1 ? : ? : 0 ; // clock in 0
1 r 1 ? ? : ? : 1 ; // clock in 1
1 * 1 ? ? : 1 : 1 ; // reduce pessimism
0 * ? 1 ? : 0 : 0 ; // reduce pessimism
? f ? ? ? : ? : - ; // no changes on negedge clk
* b ? ? ? : ? : - ; // no changes when in switches
? ? ? 0 ? : ? : 1 ; // set output
? b 1 * ? : 1 : 1 ; // cover all transistions on set_
1 x 1 * ? : 1 : 1 ; // cover all transistions on set_
? ? 0 1 ? : ? : 0 ; // reset output
? b * 1 ? : 0 : 0 ; // cover all transistions on clr_
0 x * 1 ? : 0 : 0 ; // cover all transistions on clr_
? ? ? ? * : ? : x ; // any NOTIFIER changed
endtable
endprimitive // udp_dff
// $Id: udp_dff_rdn_pre_sdn.v
// verilog UDP for d flip-flops
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_dff_rdn_pre_sdn (out, in, clk, clr_, set_, NOTIFIER);
output out;
input in, clk, clr_, set_, NOTIFIER;
reg out;
table
// in clk clr_ set_ NOT : Qt : Qt+1
//
0 r ? 1 ? : ? : 0 ; // clock in 0
1 r 1 ? ? : ? : 1 ; // clock in 1
1 * 1 ? ? : 1 : 1 ; // reduce pessimism
0 * ? 1 ? : 0 : 0 ; // reduce pessimism
? f ? ? ? : ? : - ; // no changes on negedge clk
* b ? ? ? : ? : - ; // no changes when in switches
? ? 1 0 ? : ? : 1 ; // set output
? b 1 * ? : 1 : 1 ; // cover all transistions on set_
1 x 1 * ? : 1 : 1 ; // cover all transistions on set_
? ? 0 ? ? : ? : 0 ; // reset output
? b * 1 ? : 0 : 0 ; // cover all transistions on clr_
0 x * 1 ? : 0 : 0 ; // cover all transistions on clr_
? ? ? ? * : ? : x ; // any NOTIFIER changed
endtable
endprimitive // udp_dff_rdn_pre_sdn
// $Id: udp_edff.v
// verilog UDP for d flip-flops with enable
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_edff (out, in, clk, clr_, set_, en, NOTIFIER);
output out;
input in, clk, clr_, set_, en, NOTIFIER;
reg out;
table
// in clk clr_ set_ en NOT : Qt : Qt+1
//
0 r ? 1 1 ? : ? : 0 ; // clock in 0
1 r 1 ? 1 ? : ? : 1 ; // clock in 1
? * 1 ? 0 ? : ? : - ; // no changes, not enabled
* ? 1 ? 0 ? : ? : - ; // no changes, not enabled
1 * 1 ? ? ? : 1 : 1 ; // reduce pessimism
0 * ? 1 ? ? : 0 : 0 ; // reduce pessimism
? f ? ? ? ? : ? : - ; // no changes on negedge clk
* b ? ? ? ? : ? : - ; // no changes when in switches
1 x 1 ? ? ? : 1 : 1 ; // no changes when in switches
0 x ? 1 ? ? : 0 : 0 ; // no changes when in switches
? b ? ? * ? : ? : - ; // no changes when en switches
? x 1 1 0 ? : ? : - ; // no changes when en is disabled
? ? ? 0 ? ? : ? : 1 ; // set output
? b 1 * ? ? : 1 : 1 ; // cover all transistions on set_
? ? 1 * 0 ? : 1 : 1 ; // cover all transistions on set_
? ? 0 1 ? ? : ? : 0 ; // reset output
? b * 1 ? ? : 0 : 0 ; // cover all transistions on clr_
? ? * 1 0 ? : 0 : 0 ; // cover all transistions on clr_
? ? ? ? ? * : ? : x ; // any NOTIFIER changed
endtable
endprimitive // udp_edff
// $Id: udp_edfft.v
// verilog UDP for d flip-flops with enable
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_edfft (out, in, clk, clr_, set_, en, NOTIFIER);
output out;
input in, clk, clr_, set_, en, NOTIFIER;
reg out;
table
// in clk clr_ set_ en NOT : Qt : Qt+1
//
? r 0 1 ? ? : ? : 0 ; // clock in 0
0 r ? 1 1 ? : ? : 0 ; // clock in 0
? r ? 0 ? ? : ? : 1 ; // clock in 1
1 r 1 ? 1 ? : ? : 1 ; // clock in 1
? * 1 1 0 ? : ? : - ; // no changes, not enabled
? * ? 1 0 ? : 0 : 0 ; // no changes, not enabled
? * 1 ? 0 ? : 1 : 1 ; // no changes, not enabled
? (x0) ? ? ? ? : ? : - ; // no changes
? (x1) ? 0 ? ? : 1 : 1 ; // no changes
1 * 1 ? ? ? : 1 : 1 ; // reduce pessimism
0 * ? 1 ? ? : 0 : 0 ; // reduce pessimism
? f ? ? ? ? : ? : - ; // no changes on negedge clk
* b ? ? ? ? : ? : - ; // no changes when in switches
1 x 1 ? ? ? : 1 : 1 ; // no changes when in switches
? x 1 ? 0 ? : 1 : 1 ; // no changes when in switches
0 x ? 1 ? ? : 0 : 0 ; // no changes when in switches
? x ? 1 0 ? : 0 : 0 ; // no changes when in switches
? b ? ? * ? : ? : - ; // no changes when en switches
? b * ? ? ? : ? : - ; // no changes when clr_ switches
? x 0 1 ? ? : 0 : 0 ; // no changes when clr_ switches
? b ? * ? ? : ? : - ; // no changes when set_ switches
? x ? 0 ? ? : 1 : 1 ; // no changes when set_ switches
? ? ? ? ? * : ? : x ; // any NOTIFIER changed
endtable
endprimitive // udp_edfft
// $Id: udp_edffts.v
//
// verilog UDP for d flip-flops with enable
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_edffts (out, in, clk, clr_, set_, en, NOTIFIER);
output out;
input in, clk, clr_, set_, en, NOTIFIER;
reg out;
table
// in clk clr_ set_ en NOT : Qt : Qt+1
//
? r 0 ? ? ? : ? : 0 ; // clock in 0
0 r ? 1 1 ? : ? : 0 ; // clock in 0
? r 1 0 ? ? : ? : 1 ; // clock in 1
1 r 1 ? 1 ? : ? : 1 ; // clock in 1
? * 1 1 0 ? : ? : - ; // no changes, not enabled
? * ? 1 0 ? : 0 : 0 ; // no changes, not enabled
? * 1 ? 0 ? : 1 : 1 ; // no changes, not enabled
? (x0) ? ? ? ? : ? : - ; // no changes
? (x1) ? 0 ? ? : 1 : 1 ; // no changes
1 * 1 ? ? ? : 1 : 1 ; // reduce pessimism
0 * ? 1 ? ? : 0 : 0 ; // reduce pessimism
? f ? ? ? ? : ? : - ; // no changes on negedge clk
* b ? ? ? ? : ? : - ; // no changes when in switches
1 x 1 ? ? ? : 1 : 1 ; // no changes when in switches
? x 1 ? 0 ? : 1 : 1 ; // no changes when in switches
0 x ? 1 ? ? : 0 : 0 ; // no changes when in switches
? x ? 1 0 ? : 0 : 0 ; // no changes when in switches
? b ? ? * ? : ? : - ; // no changes when en switches
? b * ? ? ? : ? : - ; // no changes when clr_ switches
? x 0 1 ? ? : 0 : 0 ; // no changes when clr_ switches
? b ? * ? ? : ? : - ; // no changes when set_ switches
? x ? 0 ? ? : 1 : 1 ; // no changes when set_ switches
? ? ? ? ? * : ? : x ; // any NOTIFIER changed
endtable
endprimitive // udp_edffts
// $Id: udp_jkff.v
//
// verilog UDP for jk flip-flps
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_jkff (out, j, k, clk, clr_, set_, NOTIFIER);
output out;
input j, k, clk, clr_, set_, NOTIFIER;
reg out;
table
// j k clk clr_ set_ NOT : Qt : Qt+1
//
0 0 r 1 1 ? : ? : - ; // output remains same
0 1 r ? 1 ? : ? : 0 ; // clock in 0
1 0 r 1 ? ? : ? : 1 ; // clock in 1
// 1 1 r ? 1 ? : 1 : 0 ; // clock in 0
? 1 r ? 1 ? : 1 : 0 ; // clock in 0
// 1 1 r 1 ? ? : 0 : 1 ; // clock in 1
1 ? r 1 ? ? : 0 : 1 ; // clock in 1
? 0 * 1 ? ? : 1 : 1 ; // reduce pessimism
0 ? * ? 1 ? : 0 : 0 ; // reduce pessimism
? ? f ? ? ? : ? : - ; // no changes on negedge clk
* ? b ? ? ? : ? : - ; // no changes when j switches
* 0 x 1 ? ? : 1 : 1 ; // no changes when j switches
? * b ? ? ? : ? : - ; // no changes when k switches
0 * x ? 1 ? : 0 : 0 ; // no changes when k switches
? ? ? ? 0 ? : ? : 1 ; // set output
? ? b 1 * ? : 1 : 1 ; // cover all transistions on set_
? 0 x 1 * ? : 1 : 1 ; // cover all transistions on set_
? ? ? 0 1 ? : ? : 0 ; // reset output
? ? b * 1 ? : 0 : 0 ; // cover all transistions on clr_
0 ? x * 1 ? : 0 : 0 ; // cover all transistions on clr_
? ? ? ? ? * : ? : x ; // any NOTIFIER change
endtable
endprimitive // udp_jkff
// $Id: udp_sedff.v
//
// verilog UDP for a 2-input mux used in scan cells
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_sedff (out, in, clk, clr_, si, se, en, NOTIFIER);
output out;
input in, clk, clr_, si, se, en, NOTIFIER;
reg out;
table
// in clk clr_ si se en NOT : Qt : Qt+1
? ? ? ? ? ? * : ? : x; // any NOTIFIER changed
? ? 0 ? ? ? ? : ? : 0;
? r ? 0 1 ? ? : ? : 0;
? r 1 1 1 ? ? : ? : 1;
? b 1 ? * ? ? : ? : -; // no changes when se switches
? b 1 * ? ? ? : ? : -; // no changes when si switches
* b 1 ? ? ? ? : ? : -; // no changes when in switches
* ? ? ? 0 0 ? : 0 : 0; // no changes when in switches
? ? ? * 0 0 ? : 0 : 0; // no changes when in switches
? b 1 ? ? * ? : ? : -; // no changes when en switches
? b * ? ? ? ? : 0 : 0; // no changes when en switches
? ? * ? 0 0 ? : 0 : 0; // no changes when en switches
? b ? ? ? * ? : 0 : 0; // no changes when en switches
? b ? ? * ? ? : 0 : 0; // no changes when en switches
? b ? * ? ? ? : 0 : 0; // no changes when en switches
* b ? ? ? ? ? : 0 : 0; // no changes when en switches
? (10) ? ? ? ? ? : ? : -; // no changes on falling clk edge
? * 1 1 1 ? ? : 1 : 1;
? x 1 1 1 ? ? : 1 : 1;
? * 1 1 ? 0 ? : 1 : 1;
? x 1 1 ? 0 ? : 1 : 1;
? * ? 0 1 ? ? : 0 : 0;
? x ? 0 1 ? ? : 0 : 0;
? * ? 0 ? 0 ? : 0 : 0;
? x ? 0 ? 0 ? : 0 : 0;
0 r ? 0 ? 1 ? : ? : 0 ;
0 * ? 0 ? ? ? : 0 : 0 ;
0 x ? 0 ? ? ? : 0 : 0 ;
1 r 1 1 ? 1 ? : ? : 1 ;
1 * 1 1 ? ? ? : 1 : 1 ;
1 x 1 1 ? ? ? : 1 : 1 ;
? (x0) ? ? ? ? ? : ? : -; // no changes on falling clk edge
1 r 1 ? 0 1 ? : ? : 1;
0 r ? ? 0 1 ? : ? : 0;
? * ? ? 0 0 ? : ? : -;
? x 1 ? 0 0 ? : ? : -;
1 x 1 ? 0 ? ? : 1 : 1; // no changes when in switches
0 x ? ? 0 ? ? : 0 : 0; // no changes when in switches
1 x ? ? 0 0 ? : 0 : 0; // no changes when in switches
1 * 1 ? 0 ? ? : 1 : 1; // reduce pessimism
0 * ? ? 0 ? ? : 0 : 0; // reduce pessimism
endtable
endprimitive /* udp_sedff */
// $Id: udp_sedfft.v
//
// verilog UDP for a 2-input mux used in scan cells
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_sedfft (out, in, clk, clr_, si, se, en, NOTIFIER);
output out;
input in, clk, clr_, si, se, en, NOTIFIER;
reg out;
table
// in clk clr_ si se en NOT : Qt : Qt+1
? ? ? ? ? ? * : ? : x; // any NOTIFIER changed
? r ? 0 1 ? ? : ? : 0;
? r ? 1 1 ? ? : ? : 1;
? b ? ? * ? ? : ? : -; // no changes when se switches
? b ? * ? ? ? : ? : -; // no changes when si switches
* b ? ? ? ? ? : ? : -; // no changes when in switches
? b ? ? ? * ? : ? : -; // no changes when en switches
? b * ? ? ? ? : ? : -; // no changes when clr switches
0 r ? 0 ? 1 ? : ? : 0 ;
1 r 1 1 ? 1 ? : ? : 1 ;
? r ? 0 ? 0 ? : 0 : 0;
? x ? 0 ? 0 ? : 0 : 0;
? r 1 1 ? 0 ? : 1 : 1;
? x 1 1 ? 0 ? : 1 : 1;
? * 1 ? 0 0 ? : ? : -;
? * ? 1 1 ? ? : 1 : 1;
1 * 1 1 ? ? ? : 1 : 1;
? * ? 0 1 ? ? : 0 : 0;
? * 0 0 ? ? ? : 0 : 0;
0 * ? 0 ? ? ? : 0 : 0;
? x 1 ? 0 0 ? : ? : -;
? * ? ? 0 0 ? : 0 : 0;
? x ? ? 0 0 ? : 0 : 0;
? x ? 1 1 ? ? : 1 : 1;
1 x 1 1 ? ? ? : 1 : 1;
? x ? 0 1 ? ? : 0 : 0;
? x 0 0 ? ? ? : 0 : 0;
0 x ? 0 ? ? ? : 0 : 0;
? r 0 0 ? ? ? : ? : 0 ;
? (?0) ? ? ? ? ? : ? : -; // no changes on falling clk edge
1 r 1 ? 0 1 ? : ? : 1;
0 r ? ? 0 1 ? : ? : 0;
? r 0 ? 0 ? ? : ? : 0;
? x 0 ? 0 ? ? : 0 : 0;
1 x 1 ? 0 ? ? : 1 : 1; // no changes when in switches
0 x ? ? 0 ? ? : 0 : 0; // no changes when in switches
1 * 1 ? 0 ? ? : 1 : 1; // reduce pessimism
0 * ? ? 0 ? ? : 0 : 0; // reduce pessimism
endtable
endprimitive /* udp_sedfft */
/*
// $Id: udp_sedffts.v
//
// verilog UDP for a 2-input mux used in scan cells
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_sedffts (out, in, clk, set_, si, se, en, NOTIFIER);
output out;
input in, clk, set_, si, se, en, NOTIFIER;
reg out;
table
// in clk set_ si se en NOT : Qt : Qt+1
? ? ? ? ? ? * : ? : x; // any NOTIFIER changed
? r ? 0 1 ? ? : ? : 0;
? r ? 1 1 ? ? : ? : 1;
? b ? ? * ? ? : ? : -; // no changes when se switches
? b ? * ? ? ? : ? : -; // no changes when si switches
* b ? ? ? ? ? : ? : -; // no changes when in switches
? b ? ? ? * ? : ? : -; // no changes when en switches
? b * ? ? ? ? : ? : -; // no changes when clr switches
0 r ? 0 ? 1 ? : ? : 0 ;
1 r 1 1 ? 1 ? : ? : 1 ;
? r ? 0 ? 0 ? : 0 : 0;
? x ? 0 ? 0 ? : 0 : 0;
? r 1 1 ? 0 ? : 1 : 1;
? x 1 1 ? 0 ? : 1 : 1;
? * 1 ? 0 0 ? : ? : -;
? * ? 1 1 ? ? : 1 : 1;
1 * 1 1 ? ? ? : 1 : 1;
? * ? 0 1 ? ? : 0 : 0;
? * 0 0 ? ? ? : 0 : 1;
0 * ? 0 ? ? ? : 0 : 0;
? x 1 ? 0 0 ? : ? : -;
? * ? ? 0 0 ? : 0 : 0;
? x ? ? 0 0 ? : 0 : 0;
? x ? 1 1 ? ? : 1 : 1;
1 x 1 1 ? ? ? : 1 : 1;
? x ? 0 1 ? ? : 0 : 0;
? x 0 0 ? ? ? : 0 : 1;
0 x ? 0 ? ? ? : 0 : 0;
? r 0 0 ? ? ? : ? : 1 ;
? (?0) ? ? ? ? ? : ? : -; // no changes on falling clk edge
1 r 1 ? 0 1 ? : ? : 1;
0 r ? ? 0 1 ? : ? : 0;
? r 0 ? 0 ? ? : ? : 1;
? x 0 ? 0 ? ? : 0 : 0;
1 x 1 ? 0 ? ? : 1 : 1; // no changes when in switches
0 x ? ? 0 ? ? : 0 : 0; // no changes when in switches
1 * 1 ? 0 ? ? : 1 : 1; // reduce pessimism
0 * ? ? 0 ? ? : 0 : 0; // reduce pessimism
endtable
endprimitive // udp_sedffts
*/
// $Id: udp_sedffsr.v
//
// verilog UDP for a 2-input mux used in scan cells
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_sedffsr (out, in, clk, clr_, set_, si, se, en, NOTIFIER);
output out;
input in, clk, clr_, set_, si, se, en, NOTIFIER;
reg out;
table
// in clk clr_ set_ si se en NOT : Qt : Qt+1
? ? ? ? ? ? ? * : ? : x; // any NOTIFIER changed
? ? 0 1 ? ? ? ? : ? : 0;
? ? ? 0 ? ? ? ? : ? : 1;
? r ? 1 0 1 ? ? : ? : 0;
? r 1 ? 1 1 ? ? : ? : 1;
? b ? 1 ? * ? ? : 0 : 0; // no changes when se switches
? b 1 ? ? * ? ? : 1 : 1; // no changes when se switches
? b ? 1 * ? ? ? : 0 : 0; // no changes when si switches
? b 1 ? * ? ? ? : 1 : 1; // no changes when si switches
* b ? 1 ? ? ? ? : 0 : 0; // no changes when in switches
* b 1 ? ? ? ? ? : 1 : 1; // no changes when in switches
? b ? 1 ? ? * ? : 0 : 0; // no changes when en switches
? b 1 ? ? ? * ? : 1 : 1; // no changes when en switches
? ? * 1 ? 0 0 ? : 0 : 0; //new
? x 1 1 ? 0 0 ? : 0 : 0;
? x 1 1 ? 0 0 ? : 1 : 1;
? ? * 1 0 ? 0 ? : 0 : 0; //new
0 ? * 1 ? 0 1 ? : 0 : 0; //new
? b * 1 ? ? ? ? : 0 : 0; //new
? ? 1 * ? 0 0 ? : 1 : 1; //new
? ? 1 * 1 ? 0 ? : 1 : 1; //new
1 ? 1 * ? 0 1 ? : 1 : 1; //new
? b 1 * ? ? ? ? : 1 : 1; //new
? * 1 ? 1 1 ? ? : 1 : 1;
? x 1 ? 1 1 ? ? : 1 : 1;
? x 1 ? ? 0 0 ? : 1 : 1;
? x 1 ? 1 ? 0 ? : 1 : 1;
? * 1 ? 1 ? 0 ? : 1 : 1;
? * ? 1 0 1 ? ? : 0 : 0;
? x ? 1 0 1 ? ? : 0 : 0;
? x ? 1 ? 0 0 ? : 0 : 0;
? x ? 1 0 ? 0 ? : 0 : 0;
? * ? 1 0 ? 0 ? : 0 : 0;
0 r ? 1 0 ? 1 ? : ? : 0 ;
0 * ? 1 0 ? ? ? : 0 : 0 ;
0 x ? 1 0 ? ? ? : 0 : 0 ;
1 r 1 ? 1 ? 1 ? : ? : 1 ;
1 * 1 ? 1 ? ? ? : 1 : 1 ;
1 x 1 ? 1 ? ? ? : 1 : 1 ;
? (10) ? ? ? ? ? ? : ? : -; // no changes on falling clk edge
? (x0) ? ? ? ? ? ? : ? : -; // no changes on falling clk edge
1 r 1 ? ? 0 1 ? : ? : 1;
0 r ? 1 ? 0 1 ? : ? : 0 ;
? * ? 1 ? 0 0 ? : 0 : 0;
? * 1 ? ? 0 0 ? : 1 : 1;
1 x 1 ? ? 0 ? ? : 1 : 1; // no changes when in switches
0 x ? 1 ? 0 ? ? : 0 : 0; // no changes when in switches
1 * 1 ? ? 0 ? ? : 1 : 1; // reduce pessimism
0 * ? 1 ? 0 ? ? : 0 : 0; // reduce pessimism
endtable
endprimitive // udp_sedffsr
// $Id: udp_mux.v
//
// verilog UDP for a 2-input mux used in scan cells
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_mux (out, in, s_in, s_sel);
output out;
input in, s_in, s_sel;
table
// in s_in s_sel : out
//
1 ? 0 : 1 ;
0 ? 0 : 0 ;
? 1 1 : 1 ;
? 0 1 : 0 ;
0 0 x : 0 ;
1 1 x : 1 ;
endtable
endprimitive // udp_mux
// $Id: udp_mux2.v
//
// verilog UDP for 2-input muxes
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_mux2 (out, in0, in1, sel);
output out;
input in0, in1, sel;
table
// in0 in1 sel : out
//
1 ? 0 : 1 ;
0 ? 0 : 0 ;
? 1 1 : 1 ;
? 0 1 : 0 ;
0 0 x : 0 ;
1 1 x : 1 ;
endtable
endprimitive // udp_mux2
// $Id: udp_mux4.v
//
// verilog UDP for 4-input muxes
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_mux4 (out, in0, in1, in2, in3, sel_0, sel_1);
output out;
input in0, in1, in2, in3, sel_0, sel_1;
table
// in0 in1 in2 in3 sel_0 sel_1 : out
//
0 ? ? ? 0 0 : 0;
1 ? ? ? 0 0 : 1;
? 0 ? ? 1 0 : 0;
? 1 ? ? 1 0 : 1;
? ? 0 ? 0 1 : 0;
? ? 1 ? 0 1 : 1;
? ? ? 0 1 1 : 0;
? ? ? 1 1 1 : 1;
0 0 ? ? x 0 : 0;
1 1 ? ? x 0 : 1;
? ? 0 0 x 1 : 0;
? ? 1 1 x 1 : 1;
0 ? 0 ? 0 x : 0;
1 ? 1 ? 0 x : 1;
? 0 ? 0 1 x : 0;
? 1 ? 1 1 x : 1;
1 1 1 1 x x : 1;
0 0 0 0 x x : 0;
endtable
endprimitive // udp_mux4
// $Id: udp_rslatn_out.v
//
// verilog UDP for the true output of rslatn cells
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_rslatn_out (out, r_, s_, NOTIFIER);
output out;
input r_, s_, NOTIFIER;
reg out;
table
// r_ s_ NOT : Qt : Qt+1
//
(?1) 1 ? : ? : - ; // no change
1 (?1) ? : ? : - ; // no change
(?0) 1 ? : ? : 0 ; // reset
0 (?1) ? : ? : 0 ; // reset
? 0 ? : ? : 1 ; // unused state
(?1) x ? : 1 : 1 ; // reduced pessimism
1 (?x) ? : 1 : 1 ; // reduced pessimism
(?x) 1 ? : 0 : 0 ; // reduced pessimism
x (?1) ? : 0 : 0 ; // reduced pessimism
? ? * : ? : x ; // any NOTIFIER changed
endtable
endprimitive // udp_rslatn_out
// $Id: udp_rslatn_out_.v
//
// verilog UDP for the complementary output of rslatn cells
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_rslatn_out_ (out_, r_, s_, NOTIFIER);
output out_;
input r_, s_, NOTIFIER;
reg out_;
table
// r_ s_ NOT : Qt : Qt+1
//
(?1) 1 ? : ? : - ; // no change
1 (?1) ? : ? : - ; // no change
0 ? ? : ? : 1 ; // reset
(?1) 0 ? : ? : 0 ; // set
1 (?0) ? : ? : 0 ; // set
(?1) x ? : 0 : 0 ; // reduced pessimism
1 (?x) ? : 0 : 0 ; // reduced pessimism
(?x) 1 ? : 1 : 1 ; // reduced pessimism
x (?1) ? : 1 : 1 ; // reduced pessimism
? ? * : ? : x ; // any NOTIFIER changed
endtable
endprimitive // udp_rslatn_out_
// $Id: udp_rslat_out.v
//
// verilog UDP for true output of rslat cells
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_rslat_out (out, r, s, NOTIFIER);
output out;
input r, s, NOTIFIER;
reg out;
table
// r s NOT : Qt : Qt+1
//
(?0) 0 ? : ? : - ; // no change
0 (?0) ? : ? : - ; // no change
1 ? ? : ? : 0 ; // reset
(?0) 1 ? : ? : 1 ; // set
0 (?1) ? : ? : 1 ; // set
(?0) x ? : 1 : 1 ; // reduced pessimism
0 (?x) ? : 1 : 1 ; // reduced pessimism
(?x) 0 ? : 0 : 0 ; // reduced pessimism
x (?0) ? : 0 : 0 ; // reduced pessimism
? ? * : ? : x ; // any NOTIFIER changed
endtable
endprimitive // udp_rslat_out
// $Id: udp_rslat_out_.v
//
// verilog UDP for complementary output on rslat cells
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_rslat_out_ (out_, r, s, NOTIFIER);
output out_;
input r, s, NOTIFIER;
reg out_;
table
// r s NOT : Qt : Qt+1
//
(?0) 0 ? : ? : - ; // no change
0 (?0) ? : ? : - ; // no change
(?1) 0 ? : ? : 1 ; // reset
1 (?0) ? : ? : 1 ; // reset
? 1 ? : ? : 0 ; // set
(?0) x ? : 0 : 0 ; // reduced pessimism
0 (?x) ? : 0 : 0 ; // reduced pessimism
(?x) 0 ? : 1 : 1 ; // reduced pessimism
x (?0) ? : 1 : 1 ; // reduced pessimism
? ? * : ? : x ; // any NOTIFIER changed
endtable
endprimitive // udp_rslat_out_
// $Id: udp_tlat.v
//
// verilog UDP for d latches
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_tlat (out, in, hold, clr_, set_, NOTIFIER);
output out;
input in, hold, clr_, set_, NOTIFIER;
reg out;
table
// in hold clr_ set_ NOT : Qt : Qt+1
//
1 0 1 ? ? : ? : 1 ; //
0 0 ? 1 ? : ? : 0 ; //
1 * 1 ? ? : 1 : 1 ; // reduce pessimism
0 * ? 1 ? : 0 : 0 ; // reduce pessimism
* 1 ? ? ? : ? : - ; // no changes when in switches
? ? ? 0 ? : ? : 1 ; // set output
? 1 1 * ? : 1 : 1 ; // cover all transistions on set_
1 ? 1 * ? : 1 : 1 ; // cover all transistions on set_
? ? 0 1 ? : ? : 0 ; // reset output
? 1 * 1 ? : 0 : 0 ; // cover all transistions on clr_
0 ? * 1 ? : 0 : 0 ; // cover all transistions on clr_
? ? ? ? * : ? : x ; // any NOTIFIER changed
endtable
endprimitive // udp_tlat
//$Id udp_xgen.v
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_xgen (out, in, en, e);
output out;
input in, en, e;
table
// in en e : out;
//
0 0 0 : x ; //
0 0 1 : 0 ; //
0 1 0 : 0 ; //
0 1 1 : x ; //
1 0 0 : x ; //
1 0 1 : 1 ; //
1 1 0 : 1 ; //
1 1 1 : x ; //
endtable
endprimitive // udp_xgen
//$Id udp_tlatrf.v
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_tlatrf (out, in, ww, wwn, NOTIFIER);
output out;
input in, ww, wwn, NOTIFIER;
reg out;
table
// in ww wwn NOT : Qt : Qt+1
//
1 ? 0 ? : ? : 1 ; //
1 1 ? ? : ? : 1 ; //
0 ? 0 ? : ? : 0 ; //
0 1 ? ? : ? : 0 ; //
1 * ? ? : 1 : 1 ; // reduce pessimism
1 ? * ? : 1 : 1 ; // reduce pessimism
0 * ? ? : 0 : 0 ; // reduce pessimism
0 ? * ? : 0 : 0 ; // reduce pessimism
* 0 1 ? : ? : - ; // no changes when in switches
? ? ? * : ? : x ; // any NOTIFIER changed
endtable
endprimitive // udp_tlatrf
//$Id udp_tlatrf2.v
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_tlatrf2 (out, in1, w1w, in2, w2w, NOTIFIER);
output out;
input in1, w1w, NOTIFIER;
input in2, w2w;
reg out;
table
// in1 ww1 in2 ww2 NOT : Qt : Qt+1
//
? ? ? ? * : ? : x ; //
1 1 ? 0 ? : ? : 1 ; //
1 * ? 0 ? : 1 : 1 ; //
0 1 ? 0 ? : ? : 0 ; //
0 * ? 0 ? : 0 : 0 ; //
? 0 1 1 ? : ? : 1 ; //
? 0 1 * ? : 1 : 1 ; //
? 0 0 1 ? : ? : 0 ; //
? 0 0 * ? : 0 : 0 ; //
* 0 ? 0 ? : ? : - ; //
? 0 * 0 ? : ? : - ; //
1 * 1 1 ? : ? : 1 ; //
1 1 1 * ? : ? : 1 ; //
0 * 0 1 ? : ? : 0 ; //
0 1 0 * ? : ? : 0 ; //
endtable
endprimitive // udp_tlatrf2
// $Id udp_outrf.v
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_outrf (out, in, rwn, rw);
output out;
input in, rwn, rw;
table
// in rwn rw : out;
//
0 0 ? : 1 ; //
1 ? 1 : 1 ; //
? 1 0 : 0 ; //
1 ? 0 : 0 ; //
0 1 ? : 0 ; //
endtable
endprimitive // udp_outrf
//$Id udp_bmx.v
//
// verilog UDP for 4-input muxes
//
//
// Library Service Department
// Design Service Division, SMIC
// Zhangjiang Rd.,Pudong New Area , Shanghai, PR of China 201203
// (+8621)50802000
//
//
//
primitive udp_bmx (out, x2, a, s, m1, m0);
output out;
input x2, a, s, m1, m0;
table
// x2 a s m1 m0 : out
//
0 1 1 ? ? : 0;
0 1 0 0 ? : 1;
0 1 0 1 ? : 0;
0 0 1 0 ? : 0;
0 0 1 1 ? : 1;
0 0 0 ? ? : 1;
1 1 1 ? ? : 0;
1 1 0 ? 0 : 1;
1 1 0 ? 1 : 0;
1 0 1 ? 0 : 0;
1 0 1 ? 1 : 1;
1 0 0 ? ? : 1;
endtable
endprimitive // udp_bmx