blob: 705d95301aabb1a3f01e44f2b49f2c453df34649 [file] [log] [blame]
//****************************************************************************//
// //
/* Revision: 1.2 */
// File generated on Thu May 19 13:36:48 PDT 2016. ( GF ) //
//****************************************************************************//
`timescale 1ns/1ps
`celldefine
module ADDF_X1( S, A, CI, B, CO );
input A, B, CI;
output CO, S;
`ifdef FUNCTIONAL // functional //
ADDF_X1_func ADDF_X1_behav_inst(.S(S),.A(A),.CI(CI),.B(B),.CO(CO));
`else
ADDF_X1_func ADDF_X1_inst(.S(S),.A(A),.CI(CI),.B(B),.CO(CO));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B===1'b0 && CI===1'b1)
// comb arc A --> CO
(A => CO) = (1.0,1.0);
if(B===1'b1 && CI===1'b0)
// comb arc A --> CO
(A => CO) = (1.0,1.0);
ifnone
// comb arc A --> CO
(A => CO) = (1.0,1.0);
if(A===1'b0 && CI===1'b1)
// comb arc B --> CO
(B => CO) = (1.0,1.0);
if(A===1'b1 && CI===1'b0)
// comb arc B --> CO
(B => CO) = (1.0,1.0);
ifnone
// comb arc B --> CO
(B => CO) = (1.0,1.0);
if(A===1'b0 && B===1'b1)
// comb arc CI --> CO
(CI => CO) = (1.0,1.0);
if(A===1'b1 && B===1'b0)
// comb arc CI --> CO
(CI => CO) = (1.0,1.0);
ifnone
// comb arc CI --> CO
(CI => CO) = (1.0,1.0);
if(B===1'b0 && CI===1'b1)
// comb arc A --> S
(A => S) = (1.0,1.0);
if(B===1'b1 && CI===1'b0)
// comb arc A --> S
(A => S) = (1.0,1.0);
ifnone
// comb arc posedge A --> (S:A)
(posedge A => (S:A)) = (1.0,1.0);
ifnone
// comb arc negedge A --> (S:A)
(negedge A => (S:A)) = (1.0,1.0);
if(B===1'b0 && CI===1'b0)
// comb arc A --> S
(A => S) = (1.0,1.0);
if(B===1'b1 && CI===1'b1)
// comb arc A --> S
(A => S) = (1.0,1.0);
if(A===1'b0 && CI===1'b1)
// comb arc B --> S
(B => S) = (1.0,1.0);
if(A===1'b1 && CI===1'b0)
// comb arc B --> S
(B => S) = (1.0,1.0);
ifnone
// comb arc posedge B --> (S:B)
(posedge B => (S:B)) = (1.0,1.0);
ifnone
// comb arc negedge B --> (S:B)
(negedge B => (S:B)) = (1.0,1.0);
if(A===1'b0 && CI===1'b0)
// comb arc B --> S
(B => S) = (1.0,1.0);
if(A===1'b1 && CI===1'b1)
// comb arc B --> S
(B => S) = (1.0,1.0);
if(A===1'b0 && B===1'b1)
// comb arc CI --> S
(CI => S) = (1.0,1.0);
if(A===1'b1 && B===1'b0)
// comb arc CI --> S
(CI => S) = (1.0,1.0);
ifnone
// comb arc posedge CI --> (S:CI)
(posedge CI => (S:CI)) = (1.0,1.0);
ifnone
// comb arc negedge CI --> (S:CI)
(negedge CI => (S:CI)) = (1.0,1.0);
if(A===1'b0 && B===1'b0)
// comb arc CI --> S
(CI => S) = (1.0,1.0);
if(A===1'b1 && B===1'b1)
// comb arc CI --> S
(CI => S) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module ADDF_X2( S, A, CI, B, CO );
input A, B, CI;
output CO, S;
`ifdef FUNCTIONAL // functional //
ADDF_X2_func ADDF_X2_behav_inst(.S(S),.A(A),.CI(CI),.B(B),.CO(CO));
`else
ADDF_X2_func ADDF_X2_inst(.S(S),.A(A),.CI(CI),.B(B),.CO(CO));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B===1'b0 && CI===1'b1)
// comb arc A --> CO
(A => CO) = (1.0,1.0);
if(B===1'b1 && CI===1'b0)
// comb arc A --> CO
(A => CO) = (1.0,1.0);
ifnone
// comb arc A --> CO
(A => CO) = (1.0,1.0);
if(A===1'b0 && CI===1'b1)
// comb arc B --> CO
(B => CO) = (1.0,1.0);
if(A===1'b1 && CI===1'b0)
// comb arc B --> CO
(B => CO) = (1.0,1.0);
ifnone
// comb arc B --> CO
(B => CO) = (1.0,1.0);
if(A===1'b0 && B===1'b1)
// comb arc CI --> CO
(CI => CO) = (1.0,1.0);
if(A===1'b1 && B===1'b0)
// comb arc CI --> CO
(CI => CO) = (1.0,1.0);
ifnone
// comb arc CI --> CO
(CI => CO) = (1.0,1.0);
if(B===1'b0 && CI===1'b1)
// comb arc A --> S
(A => S) = (1.0,1.0);
if(B===1'b1 && CI===1'b0)
// comb arc A --> S
(A => S) = (1.0,1.0);
ifnone
// comb arc posedge A --> (S:A)
(posedge A => (S:A)) = (1.0,1.0);
ifnone
// comb arc negedge A --> (S:A)
(negedge A => (S:A)) = (1.0,1.0);
if(B===1'b0 && CI===1'b0)
// comb arc A --> S
(A => S) = (1.0,1.0);
if(B===1'b1 && CI===1'b1)
// comb arc A --> S
(A => S) = (1.0,1.0);
if(A===1'b0 && CI===1'b1)
// comb arc B --> S
(B => S) = (1.0,1.0);
if(A===1'b1 && CI===1'b0)
// comb arc B --> S
(B => S) = (1.0,1.0);
ifnone
// comb arc posedge B --> (S:B)
(posedge B => (S:B)) = (1.0,1.0);
ifnone
// comb arc negedge B --> (S:B)
(negedge B => (S:B)) = (1.0,1.0);
if(A===1'b0 && CI===1'b0)
// comb arc B --> S
(B => S) = (1.0,1.0);
if(A===1'b1 && CI===1'b1)
// comb arc B --> S
(B => S) = (1.0,1.0);
if(A===1'b0 && B===1'b1)
// comb arc CI --> S
(CI => S) = (1.0,1.0);
if(A===1'b1 && B===1'b0)
// comb arc CI --> S
(CI => S) = (1.0,1.0);
ifnone
// comb arc posedge CI --> (S:CI)
(posedge CI => (S:CI)) = (1.0,1.0);
ifnone
// comb arc negedge CI --> (S:CI)
(negedge CI => (S:CI)) = (1.0,1.0);
if(A===1'b0 && B===1'b0)
// comb arc CI --> S
(CI => S) = (1.0,1.0);
if(A===1'b1 && B===1'b1)
// comb arc CI --> S
(CI => S) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module ADDF_X4( S, A, CI, B, CO );
input A, B, CI;
output CO, S;
`ifdef FUNCTIONAL // functional //
ADDF_X4_func ADDF_X4_behav_inst(.S(S),.A(A),.CI(CI),.B(B),.CO(CO));
`else
ADDF_X4_func ADDF_X4_inst(.S(S),.A(A),.CI(CI),.B(B),.CO(CO));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B===1'b0 && CI===1'b1)
// comb arc A --> CO
(A => CO) = (1.0,1.0);
if(B===1'b1 && CI===1'b0)
// comb arc A --> CO
(A => CO) = (1.0,1.0);
ifnone
// comb arc A --> CO
(A => CO) = (1.0,1.0);
if(A===1'b0 && CI===1'b1)
// comb arc B --> CO
(B => CO) = (1.0,1.0);
if(A===1'b1 && CI===1'b0)
// comb arc B --> CO
(B => CO) = (1.0,1.0);
ifnone
// comb arc B --> CO
(B => CO) = (1.0,1.0);
if(A===1'b0 && B===1'b1)
// comb arc CI --> CO
(CI => CO) = (1.0,1.0);
if(A===1'b1 && B===1'b0)
// comb arc CI --> CO
(CI => CO) = (1.0,1.0);
ifnone
// comb arc CI --> CO
(CI => CO) = (1.0,1.0);
if(B===1'b0 && CI===1'b1)
// comb arc A --> S
(A => S) = (1.0,1.0);
if(B===1'b1 && CI===1'b0)
// comb arc A --> S
(A => S) = (1.0,1.0);
ifnone
// comb arc posedge A --> (S:A)
(posedge A => (S:A)) = (1.0,1.0);
ifnone
// comb arc negedge A --> (S:A)
(negedge A => (S:A)) = (1.0,1.0);
if(B===1'b0 && CI===1'b0)
// comb arc A --> S
(A => S) = (1.0,1.0);
if(B===1'b1 && CI===1'b1)
// comb arc A --> S
(A => S) = (1.0,1.0);
if(A===1'b0 && CI===1'b1)
// comb arc B --> S
(B => S) = (1.0,1.0);
if(A===1'b1 && CI===1'b0)
// comb arc B --> S
(B => S) = (1.0,1.0);
ifnone
// comb arc posedge B --> (S:B)
(posedge B => (S:B)) = (1.0,1.0);
ifnone
// comb arc negedge B --> (S:B)
(negedge B => (S:B)) = (1.0,1.0);
if(A===1'b0 && CI===1'b0)
// comb arc B --> S
(B => S) = (1.0,1.0);
if(A===1'b1 && CI===1'b1)
// comb arc B --> S
(B => S) = (1.0,1.0);
if(A===1'b0 && B===1'b1)
// comb arc CI --> S
(CI => S) = (1.0,1.0);
if(A===1'b1 && B===1'b0)
// comb arc CI --> S
(CI => S) = (1.0,1.0);
ifnone
// comb arc posedge CI --> (S:CI)
(posedge CI => (S:CI)) = (1.0,1.0);
ifnone
// comb arc negedge CI --> (S:CI)
(negedge CI => (S:CI)) = (1.0,1.0);
if(A===1'b0 && B===1'b0)
// comb arc CI --> S
(CI => S) = (1.0,1.0);
if(A===1'b1 && B===1'b1)
// comb arc CI --> S
(CI => S) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module ADDH_X1( CO, A, B, S );
input A, B;
output CO, S;
`ifdef FUNCTIONAL // functional //
ADDH_X1_func ADDH_X1_behav_inst(.CO(CO),.A(A),.B(B),.S(S));
`else
ADDH_X1_func ADDH_X1_inst(.CO(CO),.A(A),.B(B),.S(S));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A --> CO
(A => CO) = (1.0,1.0);
// comb arc B --> CO
(B => CO) = (1.0,1.0);
ifnone
// comb arc posedge A --> (S:A)
(posedge A => (S:A)) = (1.0,1.0);
ifnone
// comb arc negedge A --> (S:A)
(negedge A => (S:A)) = (1.0,1.0);
ifnone
// comb arc posedge B --> (S:B)
(posedge B => (S:B)) = (1.0,1.0);
ifnone
// comb arc negedge B --> (S:B)
(negedge B => (S:B)) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module ADDH_X2( CO, A, B, S );
input A, B;
output CO, S;
`ifdef FUNCTIONAL // functional //
ADDH_X2_func ADDH_X2_behav_inst(.CO(CO),.A(A),.B(B),.S(S));
`else
ADDH_X2_func ADDH_X2_inst(.CO(CO),.A(A),.B(B),.S(S));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A --> CO
(A => CO) = (1.0,1.0);
// comb arc B --> CO
(B => CO) = (1.0,1.0);
ifnone
// comb arc posedge A --> (S:A)
(posedge A => (S:A)) = (1.0,1.0);
ifnone
// comb arc negedge A --> (S:A)
(negedge A => (S:A)) = (1.0,1.0);
ifnone
// comb arc posedge B --> (S:B)
(posedge B => (S:B)) = (1.0,1.0);
ifnone
// comb arc negedge B --> (S:B)
(negedge B => (S:B)) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module ADDH_X4( A, B, CO, S );
input A, B;
output CO, S;
`ifdef FUNCTIONAL // functional //
ADDH_X4_func ADDH_X4_behav_inst(.A(A),.B(B),.CO(CO),.S(S));
`else
ADDH_X4_func ADDH_X4_inst(.A(A),.B(B),.CO(CO),.S(S));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A --> CO
(A => CO) = (1.0,1.0);
// comb arc B --> CO
(B => CO) = (1.0,1.0);
ifnone
// comb arc posedge A --> (S:A)
(posedge A => (S:A)) = (1.0,1.0);
ifnone
// comb arc negedge A --> (S:A)
(negedge A => (S:A)) = (1.0,1.0);
ifnone
// comb arc posedge B --> (S:B)
(posedge B => (S:B)) = (1.0,1.0);
ifnone
// comb arc negedge B --> (S:B)
(negedge B => (S:B)) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AND2_X1( A1, A2, Z );
input A1, A2;
output Z;
`ifdef FUNCTIONAL // functional //
AND2_X1_func AND2_X1_behav_inst(.A1(A1),.A2(A2),.Z(Z));
`else
AND2_X1_func AND2_X1_inst(.A1(A1),.A2(A2),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AND2_X2( A1, A2, Z );
input A1, A2;
output Z;
`ifdef FUNCTIONAL // functional //
AND2_X2_func AND2_X2_behav_inst(.A1(A1),.A2(A2),.Z(Z));
`else
AND2_X2_func AND2_X2_inst(.A1(A1),.A2(A2),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AND2_X4( A2, A1, Z );
input A1, A2;
output Z;
`ifdef FUNCTIONAL // functional //
AND2_X4_func AND2_X4_behav_inst(.A2(A2),.A1(A1),.Z(Z));
`else
AND2_X4_func AND2_X4_inst(.A2(A2),.A1(A1),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AND3_X1( A1, A3, A2, Z );
input A1, A2, A3;
output Z;
`ifdef FUNCTIONAL // functional //
AND3_X1_func AND3_X1_behav_inst(.A1(A1),.A3(A3),.A2(A2),.Z(Z));
`else
AND3_X1_func AND3_X1_inst(.A1(A1),.A3(A3),.A2(A2),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AND3_X2( A1, A2, A3, Z );
input A1, A2, A3;
output Z;
`ifdef FUNCTIONAL // functional //
AND3_X2_func AND3_X2_behav_inst(.A1(A1),.A2(A2),.A3(A3),.Z(Z));
`else
AND3_X2_func AND3_X2_inst(.A1(A1),.A2(A2),.A3(A3),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AND3_X4( A3, A1, A2, Z );
input A1, A2, A3;
output Z;
`ifdef FUNCTIONAL // functional //
AND3_X4_func AND3_X4_behav_inst(.A3(A3),.A1(A1),.A2(A2),.Z(Z));
`else
AND3_X4_func AND3_X4_inst(.A3(A3),.A1(A1),.A2(A2),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AND4_X1( A1, A2, A3, A4, Z );
input A1, A2, A3, A4;
output Z;
`ifdef FUNCTIONAL // functional //
AND4_X1_func AND4_X1_behav_inst(.A1(A1),.A2(A2),.A3(A3),.A4(A4),.Z(Z));
`else
AND4_X1_func AND4_X1_inst(.A1(A1),.A2(A2),.A3(A3),.A4(A4),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// comb arc A4 --> Z
(A4 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AND4_X2( A1, A2, A3, A4, Z );
input A1, A2, A3, A4;
output Z;
`ifdef FUNCTIONAL // functional //
AND4_X2_func AND4_X2_behav_inst(.A1(A1),.A2(A2),.A3(A3),.A4(A4),.Z(Z));
`else
AND4_X2_func AND4_X2_inst(.A1(A1),.A2(A2),.A3(A3),.A4(A4),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// comb arc A4 --> Z
(A4 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AND4_X4( A4, A3, A1, A2, Z );
input A1, A2, A3, A4;
output Z;
`ifdef FUNCTIONAL // functional //
AND4_X4_func AND4_X4_behav_inst(.A4(A4),.A3(A3),.A1(A1),.A2(A2),.Z(Z));
`else
AND4_X4_func AND4_X4_inst(.A4(A4),.A3(A3),.A1(A1),.A2(A2),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// comb arc A4 --> Z
(A4 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module ANTENNA( I );
input I;
`ifdef FUNCTIONAL // functional //
ANTENNA_func ANTENNA_behav_inst(.I(I));
`else
ANTENNA_func ANTENNA_inst(.I(I));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AOI211_X1( A2, ZN, A1, B, C );
input A1, A2, B, C;
output ZN;
`ifdef FUNCTIONAL // functional //
AOI211_X1_func AOI211_X1_behav_inst(.A2(A2),.ZN(ZN),.A1(A1),.B(B),.C(C));
`else
AOI211_X1_func AOI211_X1_inst(.A2(A2),.ZN(ZN),.A1(A1),.B(B),.C(C));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
ifnone
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
ifnone
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AOI211_X2( A2, ZN, A1, B, C );
input A1, A2, B, C;
output ZN;
`ifdef FUNCTIONAL // functional //
AOI211_X2_func AOI211_X2_behav_inst(.A2(A2),.ZN(ZN),.A1(A1),.B(B),.C(C));
`else
AOI211_X2_func AOI211_X2_inst(.A2(A2),.ZN(ZN),.A1(A1),.B(B),.C(C));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
ifnone
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
ifnone
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AOI211_X4( ZN, A2, A1, B, C );
input A1, A2, B, C;
output ZN;
`ifdef FUNCTIONAL // functional //
AOI211_X4_func AOI211_X4_behav_inst(.ZN(ZN),.A2(A2),.A1(A1),.B(B),.C(C));
`else
AOI211_X4_func AOI211_X4_inst(.ZN(ZN),.A2(A2),.A1(A1),.B(B),.C(C));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
ifnone
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
ifnone
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AOI21_X1( A2, ZN, A1, B );
input A1, A2, B;
output ZN;
`ifdef FUNCTIONAL // functional //
AOI21_X1_func AOI21_X1_behav_inst(.A2(A2),.ZN(ZN),.A1(A1),.B(B));
`else
AOI21_X1_func AOI21_X1_inst(.A2(A2),.ZN(ZN),.A1(A1),.B(B));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
ifnone
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AOI21_X2( B, ZN, A2, A1 );
input A1, A2, B;
output ZN;
`ifdef FUNCTIONAL // functional //
AOI21_X2_func AOI21_X2_behav_inst(.B(B),.ZN(ZN),.A2(A2),.A1(A1));
`else
AOI21_X2_func AOI21_X2_inst(.B(B),.ZN(ZN),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
ifnone
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AOI21_X4( A1, A2, ZN, B );
input A1, A2, B;
output ZN;
`ifdef FUNCTIONAL // functional //
AOI21_X4_func AOI21_X4_behav_inst(.A1(A1),.A2(A2),.ZN(ZN),.B(B));
`else
AOI21_X4_func AOI21_X4_inst(.A1(A1),.A2(A2),.ZN(ZN),.B(B));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
ifnone
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AOI221_X1( B2, B1, C, ZN, A2, A1 );
input A1, A2, B1, B2, C;
output ZN;
`ifdef FUNCTIONAL // functional //
AOI221_X1_func AOI221_X1_behav_inst(.B2(B2),.B1(B1),.C(C),.ZN(ZN),.A2(A2),.A1(A1));
`else
AOI221_X1_func AOI221_X1_inst(.B2(B2),.B1(B1),.C(C),.ZN(ZN),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
ifnone
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AOI221_X2( ZN, C, B2, B1, A1, A2 );
input A1, A2, B1, B2, C;
output ZN;
`ifdef FUNCTIONAL // functional //
AOI221_X2_func AOI221_X2_behav_inst(.ZN(ZN),.C(C),.B2(B2),.B1(B1),.A1(A1),.A2(A2));
`else
AOI221_X2_func AOI221_X2_inst(.ZN(ZN),.C(C),.B2(B2),.B1(B1),.A1(A1),.A2(A2));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
ifnone
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AOI221_X4( ZN, B1, B2, C, A1, A2 );
input A1, A2, B1, B2, C;
output ZN;
`ifdef FUNCTIONAL // functional //
AOI221_X4_func AOI221_X4_behav_inst(.ZN(ZN),.B1(B1),.B2(B2),.C(C),.A1(A1),.A2(A2));
`else
AOI221_X4_func AOI221_X4_inst(.ZN(ZN),.B1(B1),.B2(B2),.C(C),.A1(A1),.A2(A2));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
ifnone
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AOI222_X1( C2, C1, B1, ZN, B2, A2, A1 );
input A1, A2, B1, B2, C1, C2;
output ZN;
`ifdef FUNCTIONAL // functional //
AOI222_X1_func AOI222_X1_behav_inst(.C2(C2),.C1(C1),.B1(B1),.ZN(ZN),.B2(B2),.A2(A2),.A1(A1));
`else
AOI222_X1_func AOI222_X1_inst(.C2(C2),.C1(C1),.B1(B1),.ZN(ZN),.B2(B2),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
ifnone
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
ifnone
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AOI222_X2( C1, ZN, C2, B2, B1, A1, A2 );
input A1, A2, B1, B2, C1, C2;
output ZN;
`ifdef FUNCTIONAL // functional //
AOI222_X2_func AOI222_X2_behav_inst(.C1(C1),.ZN(ZN),.C2(C2),.B2(B2),.B1(B1),.A1(A1),.A2(A2));
`else
AOI222_X2_func AOI222_X2_inst(.C1(C1),.ZN(ZN),.C2(C2),.B2(B2),.B1(B1),.A1(A1),.A2(A2));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
ifnone
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
ifnone
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AOI222_X4( ZN, C1, C2, B1, B2, A1, A2 );
input A1, A2, B1, B2, C1, C2;
output ZN;
`ifdef FUNCTIONAL // functional //
AOI222_X4_func AOI222_X4_behav_inst(.ZN(ZN),.C1(C1),.C2(C2),.B1(B1),.B2(B2),.A1(A1),.A2(A2));
`else
AOI222_X4_func AOI222_X4_inst(.ZN(ZN),.C1(C1),.C2(C2),.B1(B1),.B2(B2),.A1(A1),.A2(A2));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
ifnone
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
ifnone
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AOI22_X1( B2, B1, ZN, A1, A2 );
input A1, A2, B1, B2;
output ZN;
`ifdef FUNCTIONAL // functional //
AOI22_X1_func AOI22_X1_behav_inst(.B2(B2),.B1(B1),.ZN(ZN),.A1(A1),.A2(A2));
`else
AOI22_X1_func AOI22_X1_inst(.B2(B2),.B1(B1),.ZN(ZN),.A1(A1),.A2(A2));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AOI22_X2( B2, B1, ZN, A2, A1 );
input A1, A2, B1, B2;
output ZN;
`ifdef FUNCTIONAL // functional //
AOI22_X2_func AOI22_X2_behav_inst(.B2(B2),.B1(B1),.ZN(ZN),.A2(A2),.A1(A1));
`else
AOI22_X2_func AOI22_X2_inst(.B2(B2),.B1(B1),.ZN(ZN),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module AOI22_X4( B2, ZN, B1, A2, A1 );
input A1, A2, B1, B2;
output ZN;
`ifdef FUNCTIONAL // functional //
AOI22_X4_func AOI22_X4_behav_inst(.B2(B2),.ZN(ZN),.B1(B1),.A2(A2),.A1(A1));
`else
AOI22_X4_func AOI22_X4_inst(.B2(B2),.ZN(ZN),.B1(B1),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module BUFZ_X1( EN, I, Z );
input EN, I;
output Z;
`ifdef FUNCTIONAL // functional //
BUFZ_X1_func BUFZ_X1_behav_inst(.EN(EN),.I(I),.Z(Z));
`else
BUFZ_X1_func BUFZ_X1_inst(.EN(EN),.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc EN --> Z
(EN => Z) = (1.0,1.0);
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module BUFZ_X12( EN, I, Z );
input EN, I;
output Z;
`ifdef FUNCTIONAL // functional //
BUFZ_X12_func BUFZ_X12_behav_inst(.EN(EN),.I(I),.Z(Z));
`else
BUFZ_X12_func BUFZ_X12_inst(.EN(EN),.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc EN --> Z
(EN => Z) = (1.0,1.0);
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module BUFZ_X16( EN, I, Z );
input EN, I;
output Z;
`ifdef FUNCTIONAL // functional //
BUFZ_X16_func BUFZ_X16_behav_inst(.EN(EN),.I(I),.Z(Z));
`else
BUFZ_X16_func BUFZ_X16_inst(.EN(EN),.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc EN --> Z
(EN => Z) = (1.0,1.0);
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module BUFZ_X2( EN, I, Z );
input EN, I;
output Z;
`ifdef FUNCTIONAL // functional //
BUFZ_X2_func BUFZ_X2_behav_inst(.EN(EN),.I(I),.Z(Z));
`else
BUFZ_X2_func BUFZ_X2_inst(.EN(EN),.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc EN --> Z
(EN => Z) = (1.0,1.0);
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module BUFZ_X3( EN, I, Z );
input EN, I;
output Z;
`ifdef FUNCTIONAL // functional //
BUFZ_X3_func BUFZ_X3_behav_inst(.EN(EN),.I(I),.Z(Z));
`else
BUFZ_X3_func BUFZ_X3_inst(.EN(EN),.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc EN --> Z
(EN => Z) = (1.0,1.0);
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module BUFZ_X4( EN, I, Z );
input EN, I;
output Z;
`ifdef FUNCTIONAL // functional //
BUFZ_X4_func BUFZ_X4_behav_inst(.EN(EN),.I(I),.Z(Z));
`else
BUFZ_X4_func BUFZ_X4_inst(.EN(EN),.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc EN --> Z
(EN => Z) = (1.0,1.0);
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module BUFZ_X8( EN, I, Z );
input EN, I;
output Z;
`ifdef FUNCTIONAL // functional //
BUFZ_X8_func BUFZ_X8_behav_inst(.EN(EN),.I(I),.Z(Z));
`else
BUFZ_X8_func BUFZ_X8_inst(.EN(EN),.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc EN --> Z
(EN => Z) = (1.0,1.0);
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module BUF_X1( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
BUF_X1_func BUF_X1_behav_inst(.I(I),.Z(Z));
`else
BUF_X1_func BUF_X1_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module BUF_X12( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
BUF_X12_func BUF_X12_behav_inst(.I(I),.Z(Z));
`else
BUF_X12_func BUF_X12_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module BUF_X16( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
BUF_X16_func BUF_X16_behav_inst(.I(I),.Z(Z));
`else
BUF_X16_func BUF_X16_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module BUF_X2( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
BUF_X2_func BUF_X2_behav_inst(.I(I),.Z(Z));
`else
BUF_X2_func BUF_X2_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module BUF_X20( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
BUF_X20_func BUF_X20_behav_inst(.I(I),.Z(Z));
`else
BUF_X20_func BUF_X20_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module BUF_X3( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
BUF_X3_func BUF_X3_behav_inst(.I(I),.Z(Z));
`else
BUF_X3_func BUF_X3_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module BUF_X4( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
BUF_X4_func BUF_X4_behav_inst(.I(I),.Z(Z));
`else
BUF_X4_func BUF_X4_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module BUF_X8( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
BUF_X8_func BUF_X8_behav_inst(.I(I),.Z(Z));
`else
BUF_X8_func BUF_X8_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKBUF_X1( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
CLKBUF_X1_func CLKBUF_X1_behav_inst(.I(I),.Z(Z));
`else
CLKBUF_X1_func CLKBUF_X1_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKBUF_X12( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
CLKBUF_X12_func CLKBUF_X12_behav_inst(.I(I),.Z(Z));
`else
CLKBUF_X12_func CLKBUF_X12_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKBUF_X16( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
CLKBUF_X16_func CLKBUF_X16_behav_inst(.I(I),.Z(Z));
`else
CLKBUF_X16_func CLKBUF_X16_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKBUF_X2( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
CLKBUF_X2_func CLKBUF_X2_behav_inst(.I(I),.Z(Z));
`else
CLKBUF_X2_func CLKBUF_X2_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKBUF_X20( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
CLKBUF_X20_func CLKBUF_X20_behav_inst(.I(I),.Z(Z));
`else
CLKBUF_X20_func CLKBUF_X20_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKBUF_X3( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
CLKBUF_X3_func CLKBUF_X3_behav_inst(.I(I),.Z(Z));
`else
CLKBUF_X3_func CLKBUF_X3_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKBUF_X4( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
CLKBUF_X4_func CLKBUF_X4_behav_inst(.I(I),.Z(Z));
`else
CLKBUF_X4_func CLKBUF_X4_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKBUF_X8( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
CLKBUF_X8_func CLKBUF_X8_behav_inst(.I(I),.Z(Z));
`else
CLKBUF_X8_func CLKBUF_X8_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKINV_X1( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
CLKINV_X1_func CLKINV_X1_behav_inst(.I(I),.ZN(ZN));
`else
CLKINV_X1_func CLKINV_X1_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKINV_X12( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
CLKINV_X12_func CLKINV_X12_behav_inst(.I(I),.ZN(ZN));
`else
CLKINV_X12_func CLKINV_X12_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKINV_X16( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
CLKINV_X16_func CLKINV_X16_behav_inst(.I(I),.ZN(ZN));
`else
CLKINV_X16_func CLKINV_X16_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKINV_X2( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
CLKINV_X2_func CLKINV_X2_behav_inst(.I(I),.ZN(ZN));
`else
CLKINV_X2_func CLKINV_X2_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKINV_X20( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
CLKINV_X20_func CLKINV_X20_behav_inst(.I(I),.ZN(ZN));
`else
CLKINV_X20_func CLKINV_X20_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKINV_X3( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
CLKINV_X3_func CLKINV_X3_behav_inst(.I(I),.ZN(ZN));
`else
CLKINV_X3_func CLKINV_X3_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKINV_X4( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
CLKINV_X4_func CLKINV_X4_behav_inst(.I(I),.ZN(ZN));
`else
CLKINV_X4_func CLKINV_X4_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module CLKINV_X8( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
CLKINV_X8_func CLKINV_X8_behav_inst(.I(I),.ZN(ZN));
`else
CLKINV_X8_func CLKINV_X8_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFNQ_X1( CLKN, D, Q );
input CLKN, D;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFNQ_X1_func DFFNQ_X1_behav_inst(.CLKN(CLKN),.D(D),.Q(Q),.notifier(notifier));
`else
DFFNQ_X1_func DFFNQ_X1_inst(.CLKN(CLKN),.D(D),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(ENABLE_NOT_D,D);
buf MGM_G1(ENABLE_D,D);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLKN --> Q
(negedge CLKN => (Q : D)) = (1.0,1.0);
$width(negedge CLKN &&& (ENABLE_NOT_D === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge CLKN &&& (ENABLE_D === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_D === 1'b1)
,1.0,0,notifier);
// hold D-HL CLKN-HL
$hold(negedge CLKN,negedge D,1.0,notifier);
// hold D-LH CLKN-HL
$hold(negedge CLKN,posedge D,1.0,notifier);
// setup D-HL CLKN-HL
$setup(negedge D,negedge CLKN,1.0,notifier);
// setup D-LH CLKN-HL
$setup(posedge D,negedge CLKN,1.0,notifier);
// mpw CLKN_lh
$width(posedge CLKN,1.0,0,notifier);
// mpw CLKN_hl
$width(negedge CLKN,1.0,0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_NOT_D === 1'b1)
,1.0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_D === 1'b1)
,1.0,notifier);
// period CLKN
$period(posedge CLKN,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFNQ_X2( CLKN, D, Q );
input CLKN, D;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFNQ_X2_func DFFNQ_X2_behav_inst(.CLKN(CLKN),.D(D),.Q(Q),.notifier(notifier));
`else
DFFNQ_X2_func DFFNQ_X2_inst(.CLKN(CLKN),.D(D),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(ENABLE_NOT_D,D);
buf MGM_G1(ENABLE_D,D);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLKN --> Q
(negedge CLKN => (Q : D)) = (1.0,1.0);
$width(negedge CLKN &&& (ENABLE_NOT_D === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge CLKN &&& (ENABLE_D === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_D === 1'b1)
,1.0,0,notifier);
// hold D-HL CLKN-HL
$hold(negedge CLKN,negedge D,1.0,notifier);
// hold D-LH CLKN-HL
$hold(negedge CLKN,posedge D,1.0,notifier);
// setup D-HL CLKN-HL
$setup(negedge D,negedge CLKN,1.0,notifier);
// setup D-LH CLKN-HL
$setup(posedge D,negedge CLKN,1.0,notifier);
// mpw CLKN_lh
$width(posedge CLKN,1.0,0,notifier);
// mpw CLKN_hl
$width(negedge CLKN,1.0,0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_NOT_D === 1'b1)
,1.0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_D === 1'b1)
,1.0,notifier);
// period CLKN
$period(posedge CLKN,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFNQ_X4( CLKN, D, Q );
input CLKN, D;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFNQ_X4_func DFFNQ_X4_behav_inst(.CLKN(CLKN),.D(D),.Q(Q),.notifier(notifier));
`else
DFFNQ_X4_func DFFNQ_X4_inst(.CLKN(CLKN),.D(D),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(ENABLE_NOT_D,D);
buf MGM_G1(ENABLE_D,D);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLKN --> Q
(negedge CLKN => (Q : D)) = (1.0,1.0);
$width(negedge CLKN &&& (ENABLE_NOT_D === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge CLKN &&& (ENABLE_D === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_D === 1'b1)
,1.0,0,notifier);
// hold D-HL CLKN-HL
$hold(negedge CLKN,negedge D,1.0,notifier);
// hold D-LH CLKN-HL
$hold(negedge CLKN,posedge D,1.0,notifier);
// setup D-HL CLKN-HL
$setup(negedge D,negedge CLKN,1.0,notifier);
// setup D-LH CLKN-HL
$setup(posedge D,negedge CLKN,1.0,notifier);
// mpw CLKN_lh
$width(posedge CLKN,1.0,0,notifier);
// mpw CLKN_hl
$width(negedge CLKN,1.0,0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_NOT_D === 1'b1)
,1.0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_D === 1'b1)
,1.0,notifier);
// period CLKN
$period(posedge CLKN,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFNRNQ_X1( CLKN, D, RN, Q );
input CLKN, D, RN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFNRNQ_X1_func DFFNRNQ_X1_behav_inst(.CLKN(CLKN),.D(D),.RN(RN),.Q(Q),.notifier(notifier));
`else
DFFNRNQ_X1_func DFFNRNQ_X1_inst(.CLKN(CLKN),.D(D),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(ENABLE_NOT_D_AND_RN,RN,MGM_W0);
and MGM_G2(ENABLE_D_AND_RN,RN,D);
buf MGM_G3(ENABLE_RN,RN);
not MGM_G4(MGM_W1,CLKN);
not MGM_G5(MGM_W2,D);
and MGM_G6(ENABLE_NOT_CLKN_AND_NOT_D,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,CLKN);
and MGM_G8(ENABLE_NOT_CLKN_AND_D,D,MGM_W3);
not MGM_G9(MGM_W4,D);
and MGM_G10(ENABLE_CLKN_AND_NOT_D,MGM_W4,CLKN);
and MGM_G11(ENABLE_CLKN_AND_D,D,CLKN);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLKN --> Q
(negedge CLKN => (Q : D)) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
$width(negedge CLKN &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge CLKN &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLKN-HL
$hold(negedge CLKN &&& (ENABLE_RN === 1'b1),
negedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold D-LH CLKN-HL
$hold(negedge CLKN &&& (ENABLE_RN === 1'b1),
posedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-HL CLKN-HL
$setup(negedge D &&& (ENABLE_RN === 1'b1),
negedge CLKN &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-LH CLKN-HL
$setup(posedge D &&& (ENABLE_RN === 1'b1),
negedge CLKN &&& (ENABLE_RN === 1'b1),1.0,notifier);
// recovery RN-LH CLKN-HL
$recovery(posedge RN,negedge CLKN,1.0,notifier);
// removal RN-LH CLKN-HL
$removal(posedge RN,negedge CLKN,1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLKN_AND_D === 1'b1)
,1.0,0,notifier);
// mpw CLKN_lh
$width(posedge CLKN,1.0,0,notifier);
// mpw CLKN_hl
$width(negedge CLKN,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,notifier);
// period CLKN
$period(posedge CLKN,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFNRNQ_X2( CLKN, D, RN, Q );
input CLKN, D, RN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFNRNQ_X2_func DFFNRNQ_X2_behav_inst(.CLKN(CLKN),.D(D),.RN(RN),.Q(Q),.notifier(notifier));
`else
DFFNRNQ_X2_func DFFNRNQ_X2_inst(.CLKN(CLKN),.D(D),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(ENABLE_NOT_D_AND_RN,RN,MGM_W0);
and MGM_G2(ENABLE_D_AND_RN,RN,D);
buf MGM_G3(ENABLE_RN,RN);
not MGM_G4(MGM_W1,CLKN);
not MGM_G5(MGM_W2,D);
and MGM_G6(ENABLE_NOT_CLKN_AND_NOT_D,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,CLKN);
and MGM_G8(ENABLE_NOT_CLKN_AND_D,D,MGM_W3);
not MGM_G9(MGM_W4,D);
and MGM_G10(ENABLE_CLKN_AND_NOT_D,MGM_W4,CLKN);
and MGM_G11(ENABLE_CLKN_AND_D,D,CLKN);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLKN --> Q
(negedge CLKN => (Q : D)) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
$width(negedge CLKN &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge CLKN &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLKN-HL
$hold(negedge CLKN &&& (ENABLE_RN === 1'b1),
negedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold D-LH CLKN-HL
$hold(negedge CLKN &&& (ENABLE_RN === 1'b1),
posedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-HL CLKN-HL
$setup(negedge D &&& (ENABLE_RN === 1'b1),
negedge CLKN &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-LH CLKN-HL
$setup(posedge D &&& (ENABLE_RN === 1'b1),
negedge CLKN &&& (ENABLE_RN === 1'b1),1.0,notifier);
// recovery RN-LH CLKN-HL
$recovery(posedge RN,negedge CLKN,1.0,notifier);
// removal RN-LH CLKN-HL
$removal(posedge RN,negedge CLKN,1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLKN_AND_D === 1'b1)
,1.0,0,notifier);
// mpw CLKN_lh
$width(posedge CLKN,1.0,0,notifier);
// mpw CLKN_hl
$width(negedge CLKN,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,notifier);
// period CLKN
$period(posedge CLKN,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFNRNQ_X4( CLKN, D, RN, Q );
input CLKN, D, RN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFNRNQ_X4_func DFFNRNQ_X4_behav_inst(.CLKN(CLKN),.D(D),.RN(RN),.Q(Q),.notifier(notifier));
`else
DFFNRNQ_X4_func DFFNRNQ_X4_inst(.CLKN(CLKN),.D(D),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(ENABLE_NOT_D_AND_RN,RN,MGM_W0);
and MGM_G2(ENABLE_D_AND_RN,RN,D);
buf MGM_G3(ENABLE_RN,RN);
not MGM_G4(MGM_W1,CLKN);
not MGM_G5(MGM_W2,D);
and MGM_G6(ENABLE_NOT_CLKN_AND_NOT_D,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,CLKN);
and MGM_G8(ENABLE_NOT_CLKN_AND_D,D,MGM_W3);
not MGM_G9(MGM_W4,D);
and MGM_G10(ENABLE_CLKN_AND_NOT_D,MGM_W4,CLKN);
and MGM_G11(ENABLE_CLKN_AND_D,D,CLKN);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLKN --> Q
(negedge CLKN => (Q : D)) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
$width(negedge CLKN &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge CLKN &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLKN-HL
$hold(negedge CLKN &&& (ENABLE_RN === 1'b1),
negedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold D-LH CLKN-HL
$hold(negedge CLKN &&& (ENABLE_RN === 1'b1),
posedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-HL CLKN-HL
$setup(negedge D &&& (ENABLE_RN === 1'b1),
negedge CLKN &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-LH CLKN-HL
$setup(posedge D &&& (ENABLE_RN === 1'b1),
negedge CLKN &&& (ENABLE_RN === 1'b1),1.0,notifier);
// recovery RN-LH CLKN-HL
$recovery(posedge RN,negedge CLKN,1.0,notifier);
// removal RN-LH CLKN-HL
$removal(posedge RN,negedge CLKN,1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLKN_AND_D === 1'b1)
,1.0,0,notifier);
// mpw CLKN_lh
$width(posedge CLKN,1.0,0,notifier);
// mpw CLKN_hl
$width(negedge CLKN,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,notifier);
// period CLKN
$period(posedge CLKN,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFNRSNQ_X1( CLKN, D, SETN, RN, Q );
input CLKN, D, RN, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFNRSNQ_X1_func DFFNRSNQ_X1_behav_inst(.CLKN(CLKN),.D(D),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
`else
DFFNRSNQ_X1_func DFFNRSNQ_X1_inst(.CLKN(CLKN),.D(D),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(MGM_W1,RN,MGM_W0);
and MGM_G2(ENABLE_NOT_D_AND_RN_AND_SETN,SETN,MGM_W1);
and MGM_G3(MGM_W2,RN,D);
and MGM_G4(ENABLE_D_AND_RN_AND_SETN,SETN,MGM_W2);
and MGM_G5(ENABLE_RN_AND_SETN,SETN,RN);
buf MGM_G6(ENABLE_SETN,SETN);
not MGM_G7(MGM_W3,CLKN);
not MGM_G8(MGM_W4,D);
and MGM_G9(MGM_W5,MGM_W4,MGM_W3);
and MGM_G10(ENABLE_NOT_CLKN_AND_NOT_D_AND_SETN,SETN,MGM_W5);
not MGM_G11(MGM_W6,CLKN);
and MGM_G12(MGM_W7,D,MGM_W6);
and MGM_G13(ENABLE_NOT_CLKN_AND_D_AND_SETN,SETN,MGM_W7);
not MGM_G14(MGM_W8,D);
and MGM_G15(MGM_W9,MGM_W8,CLKN);
and MGM_G16(ENABLE_CLKN_AND_NOT_D_AND_SETN,SETN,MGM_W9);
and MGM_G17(MGM_W10,D,CLKN);
and MGM_G18(ENABLE_CLKN_AND_D_AND_SETN,SETN,MGM_W10);
not MGM_G19(MGM_W11,CLKN);
not MGM_G20(MGM_W12,D);
and MGM_G21(ENABLE_NOT_CLKN_AND_NOT_D,MGM_W12,MGM_W11);
not MGM_G22(MGM_W13,CLKN);
and MGM_G23(ENABLE_NOT_CLKN_AND_D,D,MGM_W13);
not MGM_G24(MGM_W14,D);
and MGM_G25(ENABLE_CLKN_AND_NOT_D,MGM_W14,CLKN);
and MGM_G26(ENABLE_CLKN_AND_D,D,CLKN);
buf MGM_G27(ENABLE_RN,RN);
not MGM_G28(MGM_W15,CLKN);
not MGM_G29(MGM_W16,D);
and MGM_G30(MGM_W17,MGM_W16,MGM_W15);
and MGM_G31(ENABLE_NOT_CLKN_AND_NOT_D_AND_RN,RN,MGM_W17);
not MGM_G32(MGM_W18,CLKN);
and MGM_G33(MGM_W19,D,MGM_W18);
and MGM_G34(ENABLE_NOT_CLKN_AND_D_AND_RN,RN,MGM_W19);
not MGM_G35(MGM_W20,D);
and MGM_G36(MGM_W21,MGM_W20,CLKN);
and MGM_G37(ENABLE_CLKN_AND_NOT_D_AND_RN,RN,MGM_W21);
and MGM_G38(MGM_W22,D,CLKN);
and MGM_G39(ENABLE_CLKN_AND_D_AND_RN,RN,MGM_W22);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLKN --> Q
(negedge CLKN => (Q : D)) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b0 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b0 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b1 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b1 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b0 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b0 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b1 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b1 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLKN &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge CLKN &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLKN-HL
$hold(negedge CLKN &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// hold D-LH CLKN-HL
$hold(negedge CLKN &&& (ENABLE_RN_AND_SETN === 1'b1),
posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-HL CLKN-HL
$setup(negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge CLKN &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-LH CLKN-HL
$setup(posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge CLKN &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// recovery RN-LH CLKN-HL
$recovery(posedge RN &&& (ENABLE_SETN === 1'b1),
negedge CLKN &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// removal RN-LH CLKN-HL
$removal(posedge RN &&& (ENABLE_SETN === 1'b1),
negedge CLKN &&& (ENABLE_SETN === 1'b1),1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLKN_AND_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLKN_AND_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLKN_AND_D_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLKN_AND_D === 1'b1),
posedge RN &&& (ENABLE_CLKN_AND_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLKN_AND_D === 1'b1),
posedge SETN &&& (ENABLE_CLKN_AND_D === 1'b1),1.0,notifier);
// recovery SETN-LH CLKN-HL
$recovery(posedge SETN &&& (ENABLE_RN === 1'b1),
negedge CLKN &&& (ENABLE_RN === 1'b1),1.0,notifier);
// removal SETN-LH CLKN-HL
$removal(posedge SETN &&& (ENABLE_RN === 1'b1),
negedge CLKN &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLKN_AND_D === 1'b1),
posedge SETN &&& (ENABLE_CLKN_AND_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLKN_AND_D === 1'b1),
posedge RN &&& (ENABLE_CLKN_AND_D === 1'b1),1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLKN_AND_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLKN_AND_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLKN_AND_D_AND_RN === 1'b1)
,1.0,0,notifier);
// mpw CLKN_lh
$width(posedge CLKN,1.0,0,notifier);
// mpw CLKN_hl
$width(negedge CLKN,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,notifier);
// period CLKN
$period(posedge CLKN,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFNRSNQ_X2( CLKN, D, SETN, RN, Q );
input CLKN, D, RN, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFNRSNQ_X2_func DFFNRSNQ_X2_behav_inst(.CLKN(CLKN),.D(D),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
`else
DFFNRSNQ_X2_func DFFNRSNQ_X2_inst(.CLKN(CLKN),.D(D),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(MGM_W1,RN,MGM_W0);
and MGM_G2(ENABLE_NOT_D_AND_RN_AND_SETN,SETN,MGM_W1);
and MGM_G3(MGM_W2,RN,D);
and MGM_G4(ENABLE_D_AND_RN_AND_SETN,SETN,MGM_W2);
and MGM_G5(ENABLE_RN_AND_SETN,SETN,RN);
buf MGM_G6(ENABLE_SETN,SETN);
not MGM_G7(MGM_W3,CLKN);
not MGM_G8(MGM_W4,D);
and MGM_G9(MGM_W5,MGM_W4,MGM_W3);
and MGM_G10(ENABLE_NOT_CLKN_AND_NOT_D_AND_SETN,SETN,MGM_W5);
not MGM_G11(MGM_W6,CLKN);
and MGM_G12(MGM_W7,D,MGM_W6);
and MGM_G13(ENABLE_NOT_CLKN_AND_D_AND_SETN,SETN,MGM_W7);
not MGM_G14(MGM_W8,D);
and MGM_G15(MGM_W9,MGM_W8,CLKN);
and MGM_G16(ENABLE_CLKN_AND_NOT_D_AND_SETN,SETN,MGM_W9);
and MGM_G17(MGM_W10,D,CLKN);
and MGM_G18(ENABLE_CLKN_AND_D_AND_SETN,SETN,MGM_W10);
not MGM_G19(MGM_W11,CLKN);
not MGM_G20(MGM_W12,D);
and MGM_G21(ENABLE_NOT_CLKN_AND_NOT_D,MGM_W12,MGM_W11);
not MGM_G22(MGM_W13,CLKN);
and MGM_G23(ENABLE_NOT_CLKN_AND_D,D,MGM_W13);
not MGM_G24(MGM_W14,D);
and MGM_G25(ENABLE_CLKN_AND_NOT_D,MGM_W14,CLKN);
and MGM_G26(ENABLE_CLKN_AND_D,D,CLKN);
buf MGM_G27(ENABLE_RN,RN);
not MGM_G28(MGM_W15,CLKN);
not MGM_G29(MGM_W16,D);
and MGM_G30(MGM_W17,MGM_W16,MGM_W15);
and MGM_G31(ENABLE_NOT_CLKN_AND_NOT_D_AND_RN,RN,MGM_W17);
not MGM_G32(MGM_W18,CLKN);
and MGM_G33(MGM_W19,D,MGM_W18);
and MGM_G34(ENABLE_NOT_CLKN_AND_D_AND_RN,RN,MGM_W19);
not MGM_G35(MGM_W20,D);
and MGM_G36(MGM_W21,MGM_W20,CLKN);
and MGM_G37(ENABLE_CLKN_AND_NOT_D_AND_RN,RN,MGM_W21);
and MGM_G38(MGM_W22,D,CLKN);
and MGM_G39(ENABLE_CLKN_AND_D_AND_RN,RN,MGM_W22);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLKN --> Q
(negedge CLKN => (Q : D)) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b0 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b0 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b1 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b1 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b0 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b0 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b1 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b1 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLKN &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge CLKN &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLKN-HL
$hold(negedge CLKN &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// hold D-LH CLKN-HL
$hold(negedge CLKN &&& (ENABLE_RN_AND_SETN === 1'b1),
posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-HL CLKN-HL
$setup(negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge CLKN &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-LH CLKN-HL
$setup(posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge CLKN &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// recovery RN-LH CLKN-HL
$recovery(posedge RN &&& (ENABLE_SETN === 1'b1),
negedge CLKN &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// removal RN-LH CLKN-HL
$removal(posedge RN &&& (ENABLE_SETN === 1'b1),
negedge CLKN &&& (ENABLE_SETN === 1'b1),1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLKN_AND_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLKN_AND_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLKN_AND_D_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLKN_AND_D === 1'b1),
posedge RN &&& (ENABLE_CLKN_AND_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLKN_AND_D === 1'b1),
posedge SETN &&& (ENABLE_CLKN_AND_D === 1'b1),1.0,notifier);
// recovery SETN-LH CLKN-HL
$recovery(posedge SETN &&& (ENABLE_RN === 1'b1),
negedge CLKN &&& (ENABLE_RN === 1'b1),1.0,notifier);
// removal SETN-LH CLKN-HL
$removal(posedge SETN &&& (ENABLE_RN === 1'b1),
negedge CLKN &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLKN_AND_D === 1'b1),
posedge SETN &&& (ENABLE_CLKN_AND_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLKN_AND_D === 1'b1),
posedge RN &&& (ENABLE_CLKN_AND_D === 1'b1),1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLKN_AND_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLKN_AND_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLKN_AND_D_AND_RN === 1'b1)
,1.0,0,notifier);
// mpw CLKN_lh
$width(posedge CLKN,1.0,0,notifier);
// mpw CLKN_hl
$width(negedge CLKN,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,notifier);
// period CLKN
$period(posedge CLKN,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFNRSNQ_X4( CLKN, D, SETN, RN, Q );
input CLKN, D, RN, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFNRSNQ_X4_func DFFNRSNQ_X4_behav_inst(.CLKN(CLKN),.D(D),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
`else
DFFNRSNQ_X4_func DFFNRSNQ_X4_inst(.CLKN(CLKN),.D(D),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(MGM_W1,RN,MGM_W0);
and MGM_G2(ENABLE_NOT_D_AND_RN_AND_SETN,SETN,MGM_W1);
and MGM_G3(MGM_W2,RN,D);
and MGM_G4(ENABLE_D_AND_RN_AND_SETN,SETN,MGM_W2);
and MGM_G5(ENABLE_RN_AND_SETN,SETN,RN);
buf MGM_G6(ENABLE_SETN,SETN);
not MGM_G7(MGM_W3,CLKN);
not MGM_G8(MGM_W4,D);
and MGM_G9(MGM_W5,MGM_W4,MGM_W3);
and MGM_G10(ENABLE_NOT_CLKN_AND_NOT_D_AND_SETN,SETN,MGM_W5);
not MGM_G11(MGM_W6,CLKN);
and MGM_G12(MGM_W7,D,MGM_W6);
and MGM_G13(ENABLE_NOT_CLKN_AND_D_AND_SETN,SETN,MGM_W7);
not MGM_G14(MGM_W8,D);
and MGM_G15(MGM_W9,MGM_W8,CLKN);
and MGM_G16(ENABLE_CLKN_AND_NOT_D_AND_SETN,SETN,MGM_W9);
and MGM_G17(MGM_W10,D,CLKN);
and MGM_G18(ENABLE_CLKN_AND_D_AND_SETN,SETN,MGM_W10);
not MGM_G19(MGM_W11,CLKN);
not MGM_G20(MGM_W12,D);
and MGM_G21(ENABLE_NOT_CLKN_AND_NOT_D,MGM_W12,MGM_W11);
not MGM_G22(MGM_W13,CLKN);
and MGM_G23(ENABLE_NOT_CLKN_AND_D,D,MGM_W13);
not MGM_G24(MGM_W14,D);
and MGM_G25(ENABLE_CLKN_AND_NOT_D,MGM_W14,CLKN);
and MGM_G26(ENABLE_CLKN_AND_D,D,CLKN);
buf MGM_G27(ENABLE_RN,RN);
not MGM_G28(MGM_W15,CLKN);
not MGM_G29(MGM_W16,D);
and MGM_G30(MGM_W17,MGM_W16,MGM_W15);
and MGM_G31(ENABLE_NOT_CLKN_AND_NOT_D_AND_RN,RN,MGM_W17);
not MGM_G32(MGM_W18,CLKN);
and MGM_G33(MGM_W19,D,MGM_W18);
and MGM_G34(ENABLE_NOT_CLKN_AND_D_AND_RN,RN,MGM_W19);
not MGM_G35(MGM_W20,D);
and MGM_G36(MGM_W21,MGM_W20,CLKN);
and MGM_G37(ENABLE_CLKN_AND_NOT_D_AND_RN,RN,MGM_W21);
and MGM_G38(MGM_W22,D,CLKN);
and MGM_G39(ENABLE_CLKN_AND_D_AND_RN,RN,MGM_W22);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLKN --> Q
(negedge CLKN => (Q : D)) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b0 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b0 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b1 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b1 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b0 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b0 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b1 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b1 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLKN &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge CLKN &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLKN-HL
$hold(negedge CLKN &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// hold D-LH CLKN-HL
$hold(negedge CLKN &&& (ENABLE_RN_AND_SETN === 1'b1),
posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-HL CLKN-HL
$setup(negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge CLKN &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-LH CLKN-HL
$setup(posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge CLKN &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// recovery RN-LH CLKN-HL
$recovery(posedge RN &&& (ENABLE_SETN === 1'b1),
negedge CLKN &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// removal RN-LH CLKN-HL
$removal(posedge RN &&& (ENABLE_SETN === 1'b1),
negedge CLKN &&& (ENABLE_SETN === 1'b1),1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLKN_AND_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLKN_AND_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLKN_AND_D_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLKN_AND_D === 1'b1),
posedge RN &&& (ENABLE_CLKN_AND_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLKN_AND_D === 1'b1),
posedge SETN &&& (ENABLE_CLKN_AND_D === 1'b1),1.0,notifier);
// recovery SETN-LH CLKN-HL
$recovery(posedge SETN &&& (ENABLE_RN === 1'b1),
negedge CLKN &&& (ENABLE_RN === 1'b1),1.0,notifier);
// removal SETN-LH CLKN-HL
$removal(posedge SETN &&& (ENABLE_RN === 1'b1),
negedge CLKN &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLKN_AND_D === 1'b1),
posedge SETN &&& (ENABLE_CLKN_AND_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLKN_AND_D === 1'b1),
posedge RN &&& (ENABLE_CLKN_AND_D === 1'b1),1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLKN_AND_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLKN_AND_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLKN_AND_D_AND_RN === 1'b1)
,1.0,0,notifier);
// mpw CLKN_lh
$width(posedge CLKN,1.0,0,notifier);
// mpw CLKN_hl
$width(negedge CLKN,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,notifier);
// period CLKN
$period(posedge CLKN,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFNSNQ_X1( CLKN, D, SETN, Q );
input CLKN, D, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFNSNQ_X1_func DFFNSNQ_X1_behav_inst(.CLKN(CLKN),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
`else
DFFNSNQ_X1_func DFFNSNQ_X1_inst(.CLKN(CLKN),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(ENABLE_NOT_D_AND_SETN,SETN,MGM_W0);
and MGM_G2(ENABLE_D_AND_SETN,SETN,D);
buf MGM_G3(ENABLE_SETN,SETN);
not MGM_G4(MGM_W1,CLKN);
not MGM_G5(MGM_W2,D);
and MGM_G6(ENABLE_NOT_CLKN_AND_NOT_D,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,CLKN);
and MGM_G8(ENABLE_NOT_CLKN_AND_D,D,MGM_W3);
not MGM_G9(MGM_W4,D);
and MGM_G10(ENABLE_CLKN_AND_NOT_D,MGM_W4,CLKN);
and MGM_G11(ENABLE_CLKN_AND_D,D,CLKN);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLKN --> Q
(negedge CLKN => (Q : D)) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLKN &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge CLKN &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLKN-HL
$hold(negedge CLKN &&& (ENABLE_SETN === 1'b1),
negedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// hold D-LH CLKN-HL
$hold(negedge CLKN &&& (ENABLE_SETN === 1'b1),
posedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-HL CLKN-HL
$setup(negedge D &&& (ENABLE_SETN === 1'b1),
negedge CLKN &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-LH CLKN-HL
$setup(posedge D &&& (ENABLE_SETN === 1'b1),
negedge CLKN &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// recovery SETN-LH CLKN-HL
$recovery(posedge SETN,negedge CLKN,1.0,notifier);
// removal SETN-LH CLKN-HL
$removal(posedge SETN,negedge CLKN,1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLKN_AND_D === 1'b1)
,1.0,0,notifier);
// mpw CLKN_lh
$width(posedge CLKN,1.0,0,notifier);
// mpw CLKN_hl
$width(negedge CLKN,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,notifier);
// period CLKN
$period(posedge CLKN,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFNSNQ_X2( CLKN, D, SETN, Q );
input CLKN, D, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFNSNQ_X2_func DFFNSNQ_X2_behav_inst(.CLKN(CLKN),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
`else
DFFNSNQ_X2_func DFFNSNQ_X2_inst(.CLKN(CLKN),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(ENABLE_NOT_D_AND_SETN,SETN,MGM_W0);
and MGM_G2(ENABLE_D_AND_SETN,SETN,D);
buf MGM_G3(ENABLE_SETN,SETN);
not MGM_G4(MGM_W1,CLKN);
not MGM_G5(MGM_W2,D);
and MGM_G6(ENABLE_NOT_CLKN_AND_NOT_D,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,CLKN);
and MGM_G8(ENABLE_NOT_CLKN_AND_D,D,MGM_W3);
not MGM_G9(MGM_W4,D);
and MGM_G10(ENABLE_CLKN_AND_NOT_D,MGM_W4,CLKN);
and MGM_G11(ENABLE_CLKN_AND_D,D,CLKN);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLKN --> Q
(negedge CLKN => (Q : D)) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLKN &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge CLKN &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLKN-HL
$hold(negedge CLKN &&& (ENABLE_SETN === 1'b1),
negedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// hold D-LH CLKN-HL
$hold(negedge CLKN &&& (ENABLE_SETN === 1'b1),
posedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-HL CLKN-HL
$setup(negedge D &&& (ENABLE_SETN === 1'b1),
negedge CLKN &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-LH CLKN-HL
$setup(posedge D &&& (ENABLE_SETN === 1'b1),
negedge CLKN &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// recovery SETN-LH CLKN-HL
$recovery(posedge SETN,negedge CLKN,1.0,notifier);
// removal SETN-LH CLKN-HL
$removal(posedge SETN,negedge CLKN,1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLKN_AND_D === 1'b1)
,1.0,0,notifier);
// mpw CLKN_lh
$width(posedge CLKN,1.0,0,notifier);
// mpw CLKN_hl
$width(negedge CLKN,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,notifier);
// period CLKN
$period(posedge CLKN,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFNSNQ_X4( CLKN, D, SETN, Q );
input CLKN, D, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFNSNQ_X4_func DFFNSNQ_X4_behav_inst(.CLKN(CLKN),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
`else
DFFNSNQ_X4_func DFFNSNQ_X4_inst(.CLKN(CLKN),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(ENABLE_NOT_D_AND_SETN,SETN,MGM_W0);
and MGM_G2(ENABLE_D_AND_SETN,SETN,D);
buf MGM_G3(ENABLE_SETN,SETN);
not MGM_G4(MGM_W1,CLKN);
not MGM_G5(MGM_W2,D);
and MGM_G6(ENABLE_NOT_CLKN_AND_NOT_D,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,CLKN);
and MGM_G8(ENABLE_NOT_CLKN_AND_D,D,MGM_W3);
not MGM_G9(MGM_W4,D);
and MGM_G10(ENABLE_CLKN_AND_NOT_D,MGM_W4,CLKN);
and MGM_G11(ENABLE_CLKN_AND_D,D,CLKN);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLKN --> Q
(negedge CLKN => (Q : D)) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b0 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLKN===1'b1 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLKN &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge CLKN &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLKN-HL
$hold(negedge CLKN &&& (ENABLE_SETN === 1'b1),
negedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// hold D-LH CLKN-HL
$hold(negedge CLKN &&& (ENABLE_SETN === 1'b1),
posedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-HL CLKN-HL
$setup(negedge D &&& (ENABLE_SETN === 1'b1),
negedge CLKN &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-LH CLKN-HL
$setup(posedge D &&& (ENABLE_SETN === 1'b1),
negedge CLKN &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// recovery SETN-LH CLKN-HL
$recovery(posedge SETN,negedge CLKN,1.0,notifier);
// removal SETN-LH CLKN-HL
$removal(posedge SETN,negedge CLKN,1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLKN_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLKN_AND_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLKN_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLKN_AND_D === 1'b1)
,1.0,0,notifier);
// mpw CLKN_lh
$width(posedge CLKN,1.0,0,notifier);
// mpw CLKN_hl
$width(negedge CLKN,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,notifier);
// period CLKN
$period(negedge CLKN &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,notifier);
// period CLKN
$period(posedge CLKN,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFQ_X1( CLK, D, Q );
input CLK, D;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFQ_X1_func DFFQ_X1_behav_inst(.CLK(CLK),.D(D),.Q(Q),.notifier(notifier));
`else
DFFQ_X1_func DFFQ_X1_inst(.CLK(CLK),.D(D),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(ENABLE_NOT_D,D);
buf MGM_G1(ENABLE_D,D);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK,negedge D,1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK,posedge D,1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D,posedge CLK,1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D,posedge CLK,1.0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFQ_X2( CLK, D, Q );
input CLK, D;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFQ_X2_func DFFQ_X2_behav_inst(.CLK(CLK),.D(D),.Q(Q),.notifier(notifier));
`else
DFFQ_X2_func DFFQ_X2_inst(.CLK(CLK),.D(D),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(ENABLE_NOT_D,D);
buf MGM_G1(ENABLE_D,D);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK,negedge D,1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK,posedge D,1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D,posedge CLK,1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D,posedge CLK,1.0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFQ_X4( CLK, D, Q );
input CLK, D;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFQ_X4_func DFFQ_X4_behav_inst(.CLK(CLK),.D(D),.Q(Q),.notifier(notifier));
`else
DFFQ_X4_func DFFQ_X4_inst(.CLK(CLK),.D(D),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(ENABLE_NOT_D,D);
buf MGM_G1(ENABLE_D,D);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK,negedge D,1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK,posedge D,1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D,posedge CLK,1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D,posedge CLK,1.0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFRNQ_X1( CLK, D, RN, Q );
input CLK, D, RN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFRNQ_X1_func DFFRNQ_X1_behav_inst(.CLK(CLK),.D(D),.RN(RN),.Q(Q),.notifier(notifier));
`else
DFFRNQ_X1_func DFFRNQ_X1_inst(.CLK(CLK),.D(D),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(ENABLE_NOT_D_AND_RN,RN,MGM_W0);
and MGM_G2(ENABLE_D_AND_RN,RN,D);
buf MGM_G3(ENABLE_RN,RN);
not MGM_G4(MGM_W1,CLK);
not MGM_G5(MGM_W2,D);
and MGM_G6(ENABLE_NOT_CLK_AND_NOT_D,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,CLK);
and MGM_G8(ENABLE_NOT_CLK_AND_D,D,MGM_W3);
not MGM_G9(MGM_W4,D);
and MGM_G10(ENABLE_CLK_AND_NOT_D,MGM_W4,CLK);
and MGM_G11(ENABLE_CLK_AND_D,D,CLK);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN === 1'b1),
negedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN === 1'b1),
posedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN === 1'b1),
posedge CLK &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN === 1'b1),
posedge CLK &&& (ENABLE_RN === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN,posedge CLK,1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN,posedge CLK,1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D === 1'b1)
,1.0,0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFRNQ_X2( CLK, D, RN, Q );
input CLK, D, RN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFRNQ_X2_func DFFRNQ_X2_behav_inst(.CLK(CLK),.D(D),.RN(RN),.Q(Q),.notifier(notifier));
`else
DFFRNQ_X2_func DFFRNQ_X2_inst(.CLK(CLK),.D(D),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(ENABLE_NOT_D_AND_RN,RN,MGM_W0);
and MGM_G2(ENABLE_D_AND_RN,RN,D);
buf MGM_G3(ENABLE_RN,RN);
not MGM_G4(MGM_W1,CLK);
not MGM_G5(MGM_W2,D);
and MGM_G6(ENABLE_NOT_CLK_AND_NOT_D,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,CLK);
and MGM_G8(ENABLE_NOT_CLK_AND_D,D,MGM_W3);
not MGM_G9(MGM_W4,D);
and MGM_G10(ENABLE_CLK_AND_NOT_D,MGM_W4,CLK);
and MGM_G11(ENABLE_CLK_AND_D,D,CLK);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN === 1'b1),
negedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN === 1'b1),
posedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN === 1'b1),
posedge CLK &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN === 1'b1),
posedge CLK &&& (ENABLE_RN === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN,posedge CLK,1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN,posedge CLK,1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D === 1'b1)
,1.0,0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFRNQ_X4( CLK, D, RN, Q );
input CLK, D, RN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFRNQ_X4_func DFFRNQ_X4_behav_inst(.CLK(CLK),.D(D),.RN(RN),.Q(Q),.notifier(notifier));
`else
DFFRNQ_X4_func DFFRNQ_X4_inst(.CLK(CLK),.D(D),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(ENABLE_NOT_D_AND_RN,RN,MGM_W0);
and MGM_G2(ENABLE_D_AND_RN,RN,D);
buf MGM_G3(ENABLE_RN,RN);
not MGM_G4(MGM_W1,CLK);
not MGM_G5(MGM_W2,D);
and MGM_G6(ENABLE_NOT_CLK_AND_NOT_D,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,CLK);
and MGM_G8(ENABLE_NOT_CLK_AND_D,D,MGM_W3);
not MGM_G9(MGM_W4,D);
and MGM_G10(ENABLE_CLK_AND_NOT_D,MGM_W4,CLK);
and MGM_G11(ENABLE_CLK_AND_D,D,CLK);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN === 1'b1),
negedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN === 1'b1),
posedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN === 1'b1),
posedge CLK &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN === 1'b1),
posedge CLK &&& (ENABLE_RN === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN,posedge CLK,1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN,posedge CLK,1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D === 1'b1)
,1.0,0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFRSNQ_X1( CLK, D, SETN, RN, Q );
input CLK, D, RN, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFRSNQ_X1_func DFFRSNQ_X1_behav_inst(.CLK(CLK),.D(D),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
`else
DFFRSNQ_X1_func DFFRSNQ_X1_inst(.CLK(CLK),.D(D),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(MGM_W1,RN,MGM_W0);
and MGM_G2(ENABLE_NOT_D_AND_RN_AND_SETN,SETN,MGM_W1);
and MGM_G3(MGM_W2,RN,D);
and MGM_G4(ENABLE_D_AND_RN_AND_SETN,SETN,MGM_W2);
and MGM_G5(ENABLE_RN_AND_SETN,SETN,RN);
buf MGM_G6(ENABLE_SETN,SETN);
not MGM_G7(MGM_W3,CLK);
not MGM_G8(MGM_W4,D);
and MGM_G9(MGM_W5,MGM_W4,MGM_W3);
and MGM_G10(ENABLE_NOT_CLK_AND_NOT_D_AND_SETN,SETN,MGM_W5);
not MGM_G11(MGM_W6,CLK);
and MGM_G12(MGM_W7,D,MGM_W6);
and MGM_G13(ENABLE_NOT_CLK_AND_D_AND_SETN,SETN,MGM_W7);
not MGM_G14(MGM_W8,D);
and MGM_G15(MGM_W9,MGM_W8,CLK);
and MGM_G16(ENABLE_CLK_AND_NOT_D_AND_SETN,SETN,MGM_W9);
and MGM_G17(MGM_W10,D,CLK);
and MGM_G18(ENABLE_CLK_AND_D_AND_SETN,SETN,MGM_W10);
not MGM_G19(MGM_W11,CLK);
not MGM_G20(MGM_W12,D);
and MGM_G21(ENABLE_NOT_CLK_AND_NOT_D,MGM_W12,MGM_W11);
not MGM_G22(MGM_W13,CLK);
and MGM_G23(ENABLE_NOT_CLK_AND_D,D,MGM_W13);
not MGM_G24(MGM_W14,D);
and MGM_G25(ENABLE_CLK_AND_NOT_D,MGM_W14,CLK);
and MGM_G26(ENABLE_CLK_AND_D,D,CLK);
buf MGM_G27(ENABLE_RN,RN);
not MGM_G28(MGM_W15,CLK);
not MGM_G29(MGM_W16,D);
and MGM_G30(MGM_W17,MGM_W16,MGM_W15);
and MGM_G31(ENABLE_NOT_CLK_AND_NOT_D_AND_RN,RN,MGM_W17);
not MGM_G32(MGM_W18,CLK);
and MGM_G33(MGM_W19,D,MGM_W18);
and MGM_G34(ENABLE_NOT_CLK_AND_D_AND_RN,RN,MGM_W19);
not MGM_G35(MGM_W20,D);
and MGM_G36(MGM_W21,MGM_W20,CLK);
and MGM_G37(ENABLE_CLK_AND_NOT_D_AND_RN,RN,MGM_W21);
and MGM_G38(MGM_W22,D,CLK);
and MGM_G39(ENABLE_CLK_AND_D_AND_RN,RN,MGM_W22);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_SETN === 1'b1),
posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_SETN === 1'b1),
posedge CLK &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_SETN === 1'b1),
posedge CLK &&& (ENABLE_SETN === 1'b1),1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_D === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_D === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_RN === 1'b1),
posedge CLK &&& (ENABLE_RN === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_RN === 1'b1),
posedge CLK &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_D === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_D === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D === 1'b1),1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_RN === 1'b1)
,1.0,0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFRSNQ_X2( CLK, D, SETN, RN, Q );
input CLK, D, RN, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFRSNQ_X2_func DFFRSNQ_X2_behav_inst(.CLK(CLK),.D(D),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
`else
DFFRSNQ_X2_func DFFRSNQ_X2_inst(.CLK(CLK),.D(D),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(MGM_W1,RN,MGM_W0);
and MGM_G2(ENABLE_NOT_D_AND_RN_AND_SETN,SETN,MGM_W1);
and MGM_G3(MGM_W2,RN,D);
and MGM_G4(ENABLE_D_AND_RN_AND_SETN,SETN,MGM_W2);
and MGM_G5(ENABLE_RN_AND_SETN,SETN,RN);
buf MGM_G6(ENABLE_SETN,SETN);
not MGM_G7(MGM_W3,CLK);
not MGM_G8(MGM_W4,D);
and MGM_G9(MGM_W5,MGM_W4,MGM_W3);
and MGM_G10(ENABLE_NOT_CLK_AND_NOT_D_AND_SETN,SETN,MGM_W5);
not MGM_G11(MGM_W6,CLK);
and MGM_G12(MGM_W7,D,MGM_W6);
and MGM_G13(ENABLE_NOT_CLK_AND_D_AND_SETN,SETN,MGM_W7);
not MGM_G14(MGM_W8,D);
and MGM_G15(MGM_W9,MGM_W8,CLK);
and MGM_G16(ENABLE_CLK_AND_NOT_D_AND_SETN,SETN,MGM_W9);
and MGM_G17(MGM_W10,D,CLK);
and MGM_G18(ENABLE_CLK_AND_D_AND_SETN,SETN,MGM_W10);
not MGM_G19(MGM_W11,CLK);
not MGM_G20(MGM_W12,D);
and MGM_G21(ENABLE_NOT_CLK_AND_NOT_D,MGM_W12,MGM_W11);
not MGM_G22(MGM_W13,CLK);
and MGM_G23(ENABLE_NOT_CLK_AND_D,D,MGM_W13);
not MGM_G24(MGM_W14,D);
and MGM_G25(ENABLE_CLK_AND_NOT_D,MGM_W14,CLK);
and MGM_G26(ENABLE_CLK_AND_D,D,CLK);
buf MGM_G27(ENABLE_RN,RN);
not MGM_G28(MGM_W15,CLK);
not MGM_G29(MGM_W16,D);
and MGM_G30(MGM_W17,MGM_W16,MGM_W15);
and MGM_G31(ENABLE_NOT_CLK_AND_NOT_D_AND_RN,RN,MGM_W17);
not MGM_G32(MGM_W18,CLK);
and MGM_G33(MGM_W19,D,MGM_W18);
and MGM_G34(ENABLE_NOT_CLK_AND_D_AND_RN,RN,MGM_W19);
not MGM_G35(MGM_W20,D);
and MGM_G36(MGM_W21,MGM_W20,CLK);
and MGM_G37(ENABLE_CLK_AND_NOT_D_AND_RN,RN,MGM_W21);
and MGM_G38(MGM_W22,D,CLK);
and MGM_G39(ENABLE_CLK_AND_D_AND_RN,RN,MGM_W22);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_SETN === 1'b1),
posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_SETN === 1'b1),
posedge CLK &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_SETN === 1'b1),
posedge CLK &&& (ENABLE_SETN === 1'b1),1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_D === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_D === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_RN === 1'b1),
posedge CLK &&& (ENABLE_RN === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_RN === 1'b1),
posedge CLK &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_D === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_D === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D === 1'b1),1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_RN === 1'b1)
,1.0,0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFRSNQ_X4( CLK, D, SETN, RN, Q );
input CLK, D, RN, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFRSNQ_X4_func DFFRSNQ_X4_behav_inst(.CLK(CLK),.D(D),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
`else
DFFRSNQ_X4_func DFFRSNQ_X4_inst(.CLK(CLK),.D(D),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(MGM_W1,RN,MGM_W0);
and MGM_G2(ENABLE_NOT_D_AND_RN_AND_SETN,SETN,MGM_W1);
and MGM_G3(MGM_W2,RN,D);
and MGM_G4(ENABLE_D_AND_RN_AND_SETN,SETN,MGM_W2);
and MGM_G5(ENABLE_RN_AND_SETN,SETN,RN);
buf MGM_G6(ENABLE_SETN,SETN);
not MGM_G7(MGM_W3,CLK);
not MGM_G8(MGM_W4,D);
and MGM_G9(MGM_W5,MGM_W4,MGM_W3);
and MGM_G10(ENABLE_NOT_CLK_AND_NOT_D_AND_SETN,SETN,MGM_W5);
not MGM_G11(MGM_W6,CLK);
and MGM_G12(MGM_W7,D,MGM_W6);
and MGM_G13(ENABLE_NOT_CLK_AND_D_AND_SETN,SETN,MGM_W7);
not MGM_G14(MGM_W8,D);
and MGM_G15(MGM_W9,MGM_W8,CLK);
and MGM_G16(ENABLE_CLK_AND_NOT_D_AND_SETN,SETN,MGM_W9);
and MGM_G17(MGM_W10,D,CLK);
and MGM_G18(ENABLE_CLK_AND_D_AND_SETN,SETN,MGM_W10);
not MGM_G19(MGM_W11,CLK);
not MGM_G20(MGM_W12,D);
and MGM_G21(ENABLE_NOT_CLK_AND_NOT_D,MGM_W12,MGM_W11);
not MGM_G22(MGM_W13,CLK);
and MGM_G23(ENABLE_NOT_CLK_AND_D,D,MGM_W13);
not MGM_G24(MGM_W14,D);
and MGM_G25(ENABLE_CLK_AND_NOT_D,MGM_W14,CLK);
and MGM_G26(ENABLE_CLK_AND_D,D,CLK);
buf MGM_G27(ENABLE_RN,RN);
not MGM_G28(MGM_W15,CLK);
not MGM_G29(MGM_W16,D);
and MGM_G30(MGM_W17,MGM_W16,MGM_W15);
and MGM_G31(ENABLE_NOT_CLK_AND_NOT_D_AND_RN,RN,MGM_W17);
not MGM_G32(MGM_W18,CLK);
and MGM_G33(MGM_W19,D,MGM_W18);
and MGM_G34(ENABLE_NOT_CLK_AND_D_AND_RN,RN,MGM_W19);
not MGM_G35(MGM_W20,D);
and MGM_G36(MGM_W21,MGM_W20,CLK);
and MGM_G37(ENABLE_CLK_AND_NOT_D_AND_RN,RN,MGM_W21);
and MGM_G38(MGM_W22,D,CLK);
and MGM_G39(ENABLE_CLK_AND_D_AND_RN,RN,MGM_W22);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SETN===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SETN===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_SETN === 1'b1),
posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_SETN === 1'b1),
posedge CLK &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_SETN === 1'b1),
posedge CLK &&& (ENABLE_SETN === 1'b1),1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_D === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_D === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_RN === 1'b1),
posedge CLK &&& (ENABLE_RN === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_RN === 1'b1),
posedge CLK &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_D === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_D === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D === 1'b1),1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_RN === 1'b1)
,1.0,0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFSNQ_X1( CLK, D, SETN, Q );
input CLK, D, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFSNQ_X1_func DFFSNQ_X1_behav_inst(.CLK(CLK),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
`else
DFFSNQ_X1_func DFFSNQ_X1_inst(.CLK(CLK),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(ENABLE_NOT_D_AND_SETN,SETN,MGM_W0);
and MGM_G2(ENABLE_D_AND_SETN,SETN,D);
buf MGM_G3(ENABLE_SETN,SETN);
not MGM_G4(MGM_W1,CLK);
not MGM_G5(MGM_W2,D);
and MGM_G6(ENABLE_NOT_CLK_AND_NOT_D,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,CLK);
and MGM_G8(ENABLE_NOT_CLK_AND_D,D,MGM_W3);
not MGM_G9(MGM_W4,D);
and MGM_G10(ENABLE_CLK_AND_NOT_D,MGM_W4,CLK);
and MGM_G11(ENABLE_CLK_AND_D,D,CLK);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_SETN === 1'b1),
negedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_SETN === 1'b1),
posedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_SETN === 1'b1),
posedge CLK &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_SETN === 1'b1),
posedge CLK &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN,posedge CLK,1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN,posedge CLK,1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D === 1'b1)
,1.0,0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFSNQ_X2( CLK, D, SETN, Q );
input CLK, D, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFSNQ_X2_func DFFSNQ_X2_behav_inst(.CLK(CLK),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
`else
DFFSNQ_X2_func DFFSNQ_X2_inst(.CLK(CLK),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(ENABLE_NOT_D_AND_SETN,SETN,MGM_W0);
and MGM_G2(ENABLE_D_AND_SETN,SETN,D);
buf MGM_G3(ENABLE_SETN,SETN);
not MGM_G4(MGM_W1,CLK);
not MGM_G5(MGM_W2,D);
and MGM_G6(ENABLE_NOT_CLK_AND_NOT_D,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,CLK);
and MGM_G8(ENABLE_NOT_CLK_AND_D,D,MGM_W3);
not MGM_G9(MGM_W4,D);
and MGM_G10(ENABLE_CLK_AND_NOT_D,MGM_W4,CLK);
and MGM_G11(ENABLE_CLK_AND_D,D,CLK);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_SETN === 1'b1),
negedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_SETN === 1'b1),
posedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_SETN === 1'b1),
posedge CLK &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_SETN === 1'b1),
posedge CLK &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN,posedge CLK,1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN,posedge CLK,1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D === 1'b1)
,1.0,0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DFFSNQ_X4( CLK, D, SETN, Q );
input CLK, D, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
DFFSNQ_X4_func DFFSNQ_X4_behav_inst(.CLK(CLK),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
`else
DFFSNQ_X4_func DFFSNQ_X4_inst(.CLK(CLK),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(ENABLE_NOT_D_AND_SETN,SETN,MGM_W0);
and MGM_G2(ENABLE_D_AND_SETN,SETN,D);
buf MGM_G3(ENABLE_SETN,SETN);
not MGM_G4(MGM_W1,CLK);
not MGM_G5(MGM_W2,D);
and MGM_G6(ENABLE_NOT_CLK_AND_NOT_D,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,CLK);
and MGM_G8(ENABLE_NOT_CLK_AND_D,D,MGM_W3);
not MGM_G9(MGM_W4,D);
and MGM_G10(ENABLE_CLK_AND_NOT_D,MGM_W4,CLK);
and MGM_G11(ENABLE_CLK_AND_D,D,CLK);
// spec_gates_end
specify
// specify_block_begin
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_SETN === 1'b1),
negedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_SETN === 1'b1),
posedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_SETN === 1'b1),
posedge CLK &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_SETN === 1'b1),
posedge CLK &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN,posedge CLK,1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN,posedge CLK,1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D === 1'b1)
,1.0,0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DLYA_X1( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
DLYA_X1_func DLYA_X1_behav_inst(.I(I),.Z(Z));
`else
DLYA_X1_func DLYA_X1_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DLYA_X2( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
DLYA_X2_func DLYA_X2_behav_inst(.I(I),.Z(Z));
`else
DLYA_X2_func DLYA_X2_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DLYA_X4( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
DLYA_X4_func DLYA_X4_behav_inst(.I(I),.Z(Z));
`else
DLYA_X4_func DLYA_X4_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DLYB_X1( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
DLYB_X1_func DLYB_X1_behav_inst(.I(I),.Z(Z));
`else
DLYB_X1_func DLYB_X1_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DLYB_X2( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
DLYB_X2_func DLYB_X2_behav_inst(.I(I),.Z(Z));
`else
DLYB_X2_func DLYB_X2_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DLYB_X4( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
DLYB_X4_func DLYB_X4_behav_inst(.I(I),.Z(Z));
`else
DLYB_X4_func DLYB_X4_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DLYC_X1( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
DLYC_X1_func DLYC_X1_behav_inst(.I(I),.Z(Z));
`else
DLYC_X1_func DLYC_X1_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DLYC_X2( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
DLYC_X2_func DLYC_X2_behav_inst(.I(I),.Z(Z));
`else
DLYC_X2_func DLYC_X2_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DLYC_X4( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
DLYC_X4_func DLYC_X4_behav_inst(.I(I),.Z(Z));
`else
DLYC_X4_func DLYC_X4_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DLYD_X1( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
DLYD_X1_func DLYD_X1_behav_inst(.I(I),.Z(Z));
`else
DLYD_X1_func DLYD_X1_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DLYD_X2( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
DLYD_X2_func DLYD_X2_behav_inst(.I(I),.Z(Z));
`else
DLYD_X2_func DLYD_X2_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module DLYD_X4( I, Z );
input I;
output Z;
`ifdef FUNCTIONAL // functional //
DLYD_X4_func DLYD_X4_behav_inst(.I(I),.Z(Z));
`else
DLYD_X4_func DLYD_X4_inst(.I(I),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> Z
(I => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module ENDCAP( );
`ifdef FUNCTIONAL // functional //
ENDCAP_func ENDCAP_behav_inst();
`else
ENDCAP_func ENDCAP_inst();
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module FILLCAP_X16( );
`ifdef FUNCTIONAL // functional //
FILLCAP_X16_func FILLCAP_X16_behav_inst();
`else
FILLCAP_X16_func FILLCAP_X16_inst();
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module FILLCAP_X32( );
`ifdef FUNCTIONAL // functional //
FILLCAP_X32_func FILLCAP_X32_behav_inst();
`else
FILLCAP_X32_func FILLCAP_X32_inst();
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module FILLCAP_X4( );
`ifdef FUNCTIONAL // functional //
FILLCAP_X4_func FILLCAP_X4_behav_inst();
`else
FILLCAP_X4_func FILLCAP_X4_inst();
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module FILLCAP_X64( );
`ifdef FUNCTIONAL // functional //
FILLCAP_X64_func FILLCAP_X64_behav_inst();
`else
FILLCAP_X64_func FILLCAP_X64_inst();
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module FILLCAP_X8( );
`ifdef FUNCTIONAL // functional //
FILLCAP_X8_func FILLCAP_X8_behav_inst();
`else
FILLCAP_X8_func FILLCAP_X8_inst();
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module FILLTIE( );
`ifdef FUNCTIONAL // functional //
FILLTIE_func FILLTIE_behav_inst();
`else
FILLTIE_func FILLTIE_inst();
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module FILL_X1( );
`ifdef FUNCTIONAL // functional //
FILL_X1_func FILL_X1_behav_inst();
`else
FILL_X1_func FILL_X1_inst();
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module FILL_X16( );
`ifdef FUNCTIONAL // functional //
FILL_X16_func FILL_X16_behav_inst();
`else
FILL_X16_func FILL_X16_inst();
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module FILL_X2( );
`ifdef FUNCTIONAL // functional //
FILL_X2_func FILL_X2_behav_inst();
`else
FILL_X2_func FILL_X2_inst();
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module FILL_X32( );
`ifdef FUNCTIONAL // functional //
FILL_X32_func FILL_X32_behav_inst();
`else
FILL_X32_func FILL_X32_inst();
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module FILL_X4( );
`ifdef FUNCTIONAL // functional //
FILL_X4_func FILL_X4_behav_inst();
`else
FILL_X4_func FILL_X4_inst();
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module FILL_X64( );
`ifdef FUNCTIONAL // functional //
FILL_X64_func FILL_X64_behav_inst();
`else
FILL_X64_func FILL_X64_inst();
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module FILL_X8( );
`ifdef FUNCTIONAL // functional //
FILL_X8_func FILL_X8_behav_inst();
`else
FILL_X8_func FILL_X8_inst();
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module HOLD( Z );
inout Z;
`ifdef FUNCTIONAL // functional //
HOLD_func HOLD_behav_inst(.Z(Z));
`else
HOLD_func HOLD_inst(.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module ICGTN_X1( TE, E, CLKN, Q );
input CLKN, E, TE;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
ICGTN_X1_func ICGTN_X1_behav_inst(.TE(TE),.E(E),.CLKN(CLKN),.Q(Q),.notifier(notifier));
`else
ICGTN_X1_func ICGTN_X1_inst(.TE(TE),.E(E),.CLKN(CLKN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,E);
not MGM_G1(MGM_W1,TE);
and MGM_G2(ENABLE_NOT_E_AND_NOT_TE,MGM_W1,MGM_W0);
not MGM_G3(MGM_W2,E);
and MGM_G4(ENABLE_NOT_E_AND_TE,TE,MGM_W2);
not MGM_G5(MGM_W3,TE);
and MGM_G6(ENABLE_E_AND_NOT_TE,MGM_W3,E);
and MGM_G7(ENABLE_E_AND_TE,TE,E);
// spec_gates_end
specify
// specify_block_begin
if(E===1'b0 && TE===1'b1)
// comb arc CLKN --> Q
(CLKN => Q) = (1.0,1.0);
if(E===1'b1 && TE===1'b0)
// comb arc CLKN --> Q
(CLKN => Q) = (1.0,1.0);
if(E===1'b1 && TE===1'b1)
// comb arc CLKN --> Q
(CLKN => Q) = (1.0,1.0);
ifnone
// comb arc CLKN --> Q
(CLKN => Q) = (1.0,1.0);
if(E===1'b0 && TE===1'b0)
// comb arc CLKN --> Q
(CLKN => Q) = (1.0,1.0);
$width(posedge CLKN &&& (ENABLE_NOT_E_AND_NOT_TE === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_NOT_E_AND_TE === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_E_AND_NOT_TE === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_E_AND_TE === 1'b1)
,1.0,0,notifier);
// hold E-HL CLKN-HL
$hold(negedge CLKN,negedge E,1.0,notifier);
// hold E-LH CLKN-HL
$hold(negedge CLKN,posedge E,1.0,notifier);
// setup E-HL CLKN-HL
$setup(negedge E,negedge CLKN,1.0,notifier);
// setup E-LH CLKN-HL
$setup(posedge E,negedge CLKN,1.0,notifier);
// hold TE-HL CLKN-HL
$hold(negedge CLKN,negedge TE,1.0,notifier);
// hold TE-LH CLKN-HL
$hold(negedge CLKN,posedge TE,1.0,notifier);
// setup TE-HL CLKN-HL
$setup(negedge TE,negedge CLKN,1.0,notifier);
// setup TE-LH CLKN-HL
$setup(posedge TE,negedge CLKN,1.0,notifier);
// mpw CLKN_lh
$width(posedge CLKN,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module ICGTN_X2( TE, E, CLKN, Q );
input CLKN, E, TE;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
ICGTN_X2_func ICGTN_X2_behav_inst(.TE(TE),.E(E),.CLKN(CLKN),.Q(Q),.notifier(notifier));
`else
ICGTN_X2_func ICGTN_X2_inst(.TE(TE),.E(E),.CLKN(CLKN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,E);
not MGM_G1(MGM_W1,TE);
and MGM_G2(ENABLE_NOT_E_AND_NOT_TE,MGM_W1,MGM_W0);
not MGM_G3(MGM_W2,E);
and MGM_G4(ENABLE_NOT_E_AND_TE,TE,MGM_W2);
not MGM_G5(MGM_W3,TE);
and MGM_G6(ENABLE_E_AND_NOT_TE,MGM_W3,E);
and MGM_G7(ENABLE_E_AND_TE,TE,E);
// spec_gates_end
specify
// specify_block_begin
if(E===1'b0 && TE===1'b1)
// comb arc CLKN --> Q
(CLKN => Q) = (1.0,1.0);
if(E===1'b1 && TE===1'b0)
// comb arc CLKN --> Q
(CLKN => Q) = (1.0,1.0);
if(E===1'b1 && TE===1'b1)
// comb arc CLKN --> Q
(CLKN => Q) = (1.0,1.0);
ifnone
// comb arc CLKN --> Q
(CLKN => Q) = (1.0,1.0);
if(E===1'b0 && TE===1'b0)
// comb arc CLKN --> Q
(CLKN => Q) = (1.0,1.0);
$width(posedge CLKN &&& (ENABLE_NOT_E_AND_NOT_TE === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_NOT_E_AND_TE === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_E_AND_NOT_TE === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_E_AND_TE === 1'b1)
,1.0,0,notifier);
// hold E-HL CLKN-HL
$hold(negedge CLKN,negedge E,1.0,notifier);
// hold E-LH CLKN-HL
$hold(negedge CLKN,posedge E,1.0,notifier);
// setup E-HL CLKN-HL
$setup(negedge E,negedge CLKN,1.0,notifier);
// setup E-LH CLKN-HL
$setup(posedge E,negedge CLKN,1.0,notifier);
// hold TE-HL CLKN-HL
$hold(negedge CLKN,negedge TE,1.0,notifier);
// hold TE-LH CLKN-HL
$hold(negedge CLKN,posedge TE,1.0,notifier);
// setup TE-HL CLKN-HL
$setup(negedge TE,negedge CLKN,1.0,notifier);
// setup TE-LH CLKN-HL
$setup(posedge TE,negedge CLKN,1.0,notifier);
// mpw CLKN_lh
$width(posedge CLKN,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module ICGTN_X4( TE, E, CLKN, Q );
input CLKN, E, TE;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
ICGTN_X4_func ICGTN_X4_behav_inst(.TE(TE),.E(E),.CLKN(CLKN),.Q(Q),.notifier(notifier));
`else
ICGTN_X4_func ICGTN_X4_inst(.TE(TE),.E(E),.CLKN(CLKN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,E);
not MGM_G1(MGM_W1,TE);
and MGM_G2(ENABLE_NOT_E_AND_NOT_TE,MGM_W1,MGM_W0);
not MGM_G3(MGM_W2,E);
and MGM_G4(ENABLE_NOT_E_AND_TE,TE,MGM_W2);
not MGM_G5(MGM_W3,TE);
and MGM_G6(ENABLE_E_AND_NOT_TE,MGM_W3,E);
and MGM_G7(ENABLE_E_AND_TE,TE,E);
// spec_gates_end
specify
// specify_block_begin
if(E===1'b0 && TE===1'b1)
// comb arc CLKN --> Q
(CLKN => Q) = (1.0,1.0);
if(E===1'b1 && TE===1'b0)
// comb arc CLKN --> Q
(CLKN => Q) = (1.0,1.0);
if(E===1'b1 && TE===1'b1)
// comb arc CLKN --> Q
(CLKN => Q) = (1.0,1.0);
ifnone
// comb arc CLKN --> Q
(CLKN => Q) = (1.0,1.0);
if(E===1'b0 && TE===1'b0)
// comb arc CLKN --> Q
(CLKN => Q) = (1.0,1.0);
$width(posedge CLKN &&& (ENABLE_NOT_E_AND_NOT_TE === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_NOT_E_AND_TE === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_E_AND_NOT_TE === 1'b1)
,1.0,0,notifier);
$width(posedge CLKN &&& (ENABLE_E_AND_TE === 1'b1)
,1.0,0,notifier);
// hold E-HL CLKN-HL
$hold(negedge CLKN,negedge E,1.0,notifier);
// hold E-LH CLKN-HL
$hold(negedge CLKN,posedge E,1.0,notifier);
// setup E-HL CLKN-HL
$setup(negedge E,negedge CLKN,1.0,notifier);
// setup E-LH CLKN-HL
$setup(posedge E,negedge CLKN,1.0,notifier);
// hold TE-HL CLKN-HL
$hold(negedge CLKN,negedge TE,1.0,notifier);
// hold TE-LH CLKN-HL
$hold(negedge CLKN,posedge TE,1.0,notifier);
// setup TE-HL CLKN-HL
$setup(negedge TE,negedge CLKN,1.0,notifier);
// setup TE-LH CLKN-HL
$setup(posedge TE,negedge CLKN,1.0,notifier);
// mpw CLKN_lh
$width(posedge CLKN,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module ICGTP_X1( TE, E, CLK, Q );
input CLK, E, TE;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
ICGTP_X1_func ICGTP_X1_behav_inst(.TE(TE),.E(E),.CLK(CLK),.Q(Q),.notifier(notifier));
`else
ICGTP_X1_func ICGTP_X1_inst(.TE(TE),.E(E),.CLK(CLK),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,E);
not MGM_G1(MGM_W1,TE);
and MGM_G2(ENABLE_NOT_E_AND_NOT_TE,MGM_W1,MGM_W0);
not MGM_G3(MGM_W2,E);
and MGM_G4(ENABLE_NOT_E_AND_TE,TE,MGM_W2);
not MGM_G5(MGM_W3,TE);
and MGM_G6(ENABLE_E_AND_NOT_TE,MGM_W3,E);
and MGM_G7(ENABLE_E_AND_TE,TE,E);
// spec_gates_end
specify
// specify_block_begin
if(E===1'b0 && TE===1'b1)
// comb arc CLK --> Q
(CLK => Q) = (1.0,1.0);
if(E===1'b1 && TE===1'b0)
// comb arc CLK --> Q
(CLK => Q) = (1.0,1.0);
if(E===1'b1 && TE===1'b1)
// comb arc CLK --> Q
(CLK => Q) = (1.0,1.0);
ifnone
// comb arc CLK --> Q
(CLK => Q) = (1.0,1.0);
if(E===1'b0 && TE===1'b0)
// comb arc CLK --> Q
(CLK => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_E_AND_NOT_TE === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_E_AND_TE === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_E_AND_NOT_TE === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_E_AND_TE === 1'b1)
,1.0,0,notifier);
// hold E-HL CLK-LH
$hold(posedge CLK,negedge E,1.0,notifier);
// hold E-LH CLK-LH
$hold(posedge CLK,posedge E,1.0,notifier);
// setup E-HL CLK-LH
$setup(negedge E,posedge CLK,1.0,notifier);
// setup E-LH CLK-LH
$setup(posedge E,posedge CLK,1.0,notifier);
// hold TE-HL CLK-LH
$hold(posedge CLK,negedge TE,1.0,notifier);
// hold TE-LH CLK-LH
$hold(posedge CLK,posedge TE,1.0,notifier);
// setup TE-HL CLK-LH
$setup(negedge TE,posedge CLK,1.0,notifier);
// setup TE-LH CLK-LH
$setup(posedge TE,posedge CLK,1.0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module ICGTP_X2( TE, E, CLK, Q );
input CLK, E, TE;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
ICGTP_X2_func ICGTP_X2_behav_inst(.TE(TE),.E(E),.CLK(CLK),.Q(Q),.notifier(notifier));
`else
ICGTP_X2_func ICGTP_X2_inst(.TE(TE),.E(E),.CLK(CLK),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,E);
not MGM_G1(MGM_W1,TE);
and MGM_G2(ENABLE_NOT_E_AND_NOT_TE,MGM_W1,MGM_W0);
not MGM_G3(MGM_W2,E);
and MGM_G4(ENABLE_NOT_E_AND_TE,TE,MGM_W2);
not MGM_G5(MGM_W3,TE);
and MGM_G6(ENABLE_E_AND_NOT_TE,MGM_W3,E);
and MGM_G7(ENABLE_E_AND_TE,TE,E);
// spec_gates_end
specify
// specify_block_begin
if(E===1'b0 && TE===1'b1)
// comb arc CLK --> Q
(CLK => Q) = (1.0,1.0);
if(E===1'b1 && TE===1'b0)
// comb arc CLK --> Q
(CLK => Q) = (1.0,1.0);
if(E===1'b1 && TE===1'b1)
// comb arc CLK --> Q
(CLK => Q) = (1.0,1.0);
ifnone
// comb arc CLK --> Q
(CLK => Q) = (1.0,1.0);
if(E===1'b0 && TE===1'b0)
// comb arc CLK --> Q
(CLK => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_E_AND_NOT_TE === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_E_AND_TE === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_E_AND_NOT_TE === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_E_AND_TE === 1'b1)
,1.0,0,notifier);
// hold E-HL CLK-LH
$hold(posedge CLK,negedge E,1.0,notifier);
// hold E-LH CLK-LH
$hold(posedge CLK,posedge E,1.0,notifier);
// setup E-HL CLK-LH
$setup(negedge E,posedge CLK,1.0,notifier);
// setup E-LH CLK-LH
$setup(posedge E,posedge CLK,1.0,notifier);
// hold TE-HL CLK-LH
$hold(posedge CLK,negedge TE,1.0,notifier);
// hold TE-LH CLK-LH
$hold(posedge CLK,posedge TE,1.0,notifier);
// setup TE-HL CLK-LH
$setup(negedge TE,posedge CLK,1.0,notifier);
// setup TE-LH CLK-LH
$setup(posedge TE,posedge CLK,1.0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module ICGTP_X4( TE, E, CLK, Q );
input CLK, E, TE;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
ICGTP_X4_func ICGTP_X4_behav_inst(.TE(TE),.E(E),.CLK(CLK),.Q(Q),.notifier(notifier));
`else
ICGTP_X4_func ICGTP_X4_inst(.TE(TE),.E(E),.CLK(CLK),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,E);
not MGM_G1(MGM_W1,TE);
and MGM_G2(ENABLE_NOT_E_AND_NOT_TE,MGM_W1,MGM_W0);
not MGM_G3(MGM_W2,E);
and MGM_G4(ENABLE_NOT_E_AND_TE,TE,MGM_W2);
not MGM_G5(MGM_W3,TE);
and MGM_G6(ENABLE_E_AND_NOT_TE,MGM_W3,E);
and MGM_G7(ENABLE_E_AND_TE,TE,E);
// spec_gates_end
specify
// specify_block_begin
if(E===1'b0 && TE===1'b1)
// comb arc CLK --> Q
(CLK => Q) = (1.0,1.0);
if(E===1'b1 && TE===1'b0)
// comb arc CLK --> Q
(CLK => Q) = (1.0,1.0);
if(E===1'b1 && TE===1'b1)
// comb arc CLK --> Q
(CLK => Q) = (1.0,1.0);
ifnone
// comb arc CLK --> Q
(CLK => Q) = (1.0,1.0);
if(E===1'b0 && TE===1'b0)
// comb arc CLK --> Q
(CLK => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_E_AND_NOT_TE === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_E_AND_TE === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_E_AND_NOT_TE === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_E_AND_TE === 1'b1)
,1.0,0,notifier);
// hold E-HL CLK-LH
$hold(posedge CLK,negedge E,1.0,notifier);
// hold E-LH CLK-LH
$hold(posedge CLK,posedge E,1.0,notifier);
// setup E-HL CLK-LH
$setup(negedge E,posedge CLK,1.0,notifier);
// setup E-LH CLK-LH
$setup(posedge E,posedge CLK,1.0,notifier);
// hold TE-HL CLK-LH
$hold(posedge CLK,negedge TE,1.0,notifier);
// hold TE-LH CLK-LH
$hold(posedge CLK,posedge TE,1.0,notifier);
// setup TE-HL CLK-LH
$setup(negedge TE,posedge CLK,1.0,notifier);
// setup TE-LH CLK-LH
$setup(posedge TE,posedge CLK,1.0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module INVZ_X1( EN, ZN, I );
input EN, I;
output ZN;
`ifdef FUNCTIONAL // functional //
INVZ_X1_func INVZ_X1_behav_inst(.EN(EN),.ZN(ZN),.I(I));
`else
INVZ_X1_func INVZ_X1_inst(.EN(EN),.ZN(ZN),.I(I));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc EN --> ZN
(EN => ZN) = (1.0,1.0);
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module INVZ_X12( EN, I, ZN );
input EN, I;
output ZN;
`ifdef FUNCTIONAL // functional //
INVZ_X12_func INVZ_X12_behav_inst(.EN(EN),.I(I),.ZN(ZN));
`else
INVZ_X12_func INVZ_X12_inst(.EN(EN),.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc EN --> ZN
(EN => ZN) = (1.0,1.0);
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module INVZ_X16( EN, I, ZN );
input EN, I;
output ZN;
`ifdef FUNCTIONAL // functional //
INVZ_X16_func INVZ_X16_behav_inst(.EN(EN),.I(I),.ZN(ZN));
`else
INVZ_X16_func INVZ_X16_inst(.EN(EN),.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc EN --> ZN
(EN => ZN) = (1.0,1.0);
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module INVZ_X2( EN, ZN, I );
input EN, I;
output ZN;
`ifdef FUNCTIONAL // functional //
INVZ_X2_func INVZ_X2_behav_inst(.EN(EN),.ZN(ZN),.I(I));
`else
INVZ_X2_func INVZ_X2_inst(.EN(EN),.ZN(ZN),.I(I));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc EN --> ZN
(EN => ZN) = (1.0,1.0);
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module INVZ_X3( EN, I, ZN );
input EN, I;
output ZN;
`ifdef FUNCTIONAL // functional //
INVZ_X3_func INVZ_X3_behav_inst(.EN(EN),.I(I),.ZN(ZN));
`else
INVZ_X3_func INVZ_X3_inst(.EN(EN),.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc EN --> ZN
(EN => ZN) = (1.0,1.0);
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module INVZ_X4( EN, I, ZN );
input EN, I;
output ZN;
`ifdef FUNCTIONAL // functional //
INVZ_X4_func INVZ_X4_behav_inst(.EN(EN),.I(I),.ZN(ZN));
`else
INVZ_X4_func INVZ_X4_inst(.EN(EN),.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc EN --> ZN
(EN => ZN) = (1.0,1.0);
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module INVZ_X8( EN, I, ZN );
input EN, I;
output ZN;
`ifdef FUNCTIONAL // functional //
INVZ_X8_func INVZ_X8_behav_inst(.EN(EN),.I(I),.ZN(ZN));
`else
INVZ_X8_func INVZ_X8_inst(.EN(EN),.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc EN --> ZN
(EN => ZN) = (1.0,1.0);
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module INV_X1( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
INV_X1_func INV_X1_behav_inst(.I(I),.ZN(ZN));
`else
INV_X1_func INV_X1_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module INV_X12( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
INV_X12_func INV_X12_behav_inst(.I(I),.ZN(ZN));
`else
INV_X12_func INV_X12_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module INV_X16( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
INV_X16_func INV_X16_behav_inst(.I(I),.ZN(ZN));
`else
INV_X16_func INV_X16_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module INV_X2( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
INV_X2_func INV_X2_behav_inst(.I(I),.ZN(ZN));
`else
INV_X2_func INV_X2_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module INV_X20( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
INV_X20_func INV_X20_behav_inst(.I(I),.ZN(ZN));
`else
INV_X20_func INV_X20_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module INV_X3( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
INV_X3_func INV_X3_behav_inst(.I(I),.ZN(ZN));
`else
INV_X3_func INV_X3_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module INV_X4( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
INV_X4_func INV_X4_behav_inst(.I(I),.ZN(ZN));
`else
INV_X4_func INV_X4_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module INV_X8( I, ZN );
input I;
output ZN;
`ifdef FUNCTIONAL // functional //
INV_X8_func INV_X8_behav_inst(.I(I),.ZN(ZN));
`else
INV_X8_func INV_X8_inst(.I(I),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc I --> ZN
(I => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module LATQ_X1( E, D, Q );
input D, E;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
LATQ_X1_func LATQ_X1_behav_inst(.E(E),.D(D),.Q(Q),.notifier(notifier));
`else
LATQ_X1_func LATQ_X1_inst(.E(E),.D(D),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(ENABLE_NOT_D,D);
buf MGM_G1(ENABLE_D,D);
// spec_gates_end
specify
// specify_block_begin
// comb arc D --> Q
(D => Q) = (1.0,1.0);
// seq arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
// hold D-HL E-HL
$hold(negedge E,negedge D,1.0,notifier);
// hold D-LH E-HL
$hold(negedge E,posedge D,1.0,notifier);
// setup D-HL E-HL
$setup(negedge D,negedge E,1.0,notifier);
// setup D-LH E-HL
$setup(posedge D,negedge E,1.0,notifier);
$width(posedge E &&& (ENABLE_NOT_D === 1'b1)
,1.0,0,notifier);
$width(posedge E &&& (ENABLE_D === 1'b1)
,1.0,0,notifier);
// mpw E_lh
$width(posedge E,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module LATQ_X2( E, D, Q );
input D, E;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
LATQ_X2_func LATQ_X2_behav_inst(.E(E),.D(D),.Q(Q),.notifier(notifier));
`else
LATQ_X2_func LATQ_X2_inst(.E(E),.D(D),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(ENABLE_NOT_D,D);
buf MGM_G1(ENABLE_D,D);
// spec_gates_end
specify
// specify_block_begin
// comb arc D --> Q
(D => Q) = (1.0,1.0);
// seq arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
// hold D-HL E-HL
$hold(negedge E,negedge D,1.0,notifier);
// hold D-LH E-HL
$hold(negedge E,posedge D,1.0,notifier);
// setup D-HL E-HL
$setup(negedge D,negedge E,1.0,notifier);
// setup D-LH E-HL
$setup(posedge D,negedge E,1.0,notifier);
$width(posedge E &&& (ENABLE_NOT_D === 1'b1)
,1.0,0,notifier);
$width(posedge E &&& (ENABLE_D === 1'b1)
,1.0,0,notifier);
// mpw E_lh
$width(posedge E,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module LATQ_X4( E, D, Q );
input D, E;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
LATQ_X4_func LATQ_X4_behav_inst(.E(E),.D(D),.Q(Q),.notifier(notifier));
`else
LATQ_X4_func LATQ_X4_inst(.E(E),.D(D),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(ENABLE_NOT_D,D);
buf MGM_G1(ENABLE_D,D);
// spec_gates_end
specify
// specify_block_begin
// comb arc D --> Q
(D => Q) = (1.0,1.0);
// seq arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
// hold D-HL E-HL
$hold(negedge E,negedge D,1.0,notifier);
// hold D-LH E-HL
$hold(negedge E,posedge D,1.0,notifier);
// setup D-HL E-HL
$setup(negedge D,negedge E,1.0,notifier);
// setup D-LH E-HL
$setup(posedge D,negedge E,1.0,notifier);
$width(posedge E &&& (ENABLE_NOT_D === 1'b1)
,1.0,0,notifier);
$width(posedge E &&& (ENABLE_D === 1'b1)
,1.0,0,notifier);
// mpw E_lh
$width(posedge E,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module LATRNQ_X1( E, RN, D, Q );
input D, E, RN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
LATRNQ_X1_func LATRNQ_X1_behav_inst(.E(E),.RN(RN),.D(D),.Q(Q),.notifier(notifier));
`else
LATRNQ_X1_func LATRNQ_X1_inst(.E(E),.RN(RN),.D(D),.Q(Q),.notifier(notifier));
// spec_gates_begin
buf MGM_G0(ENABLE_RN,RN);
not MGM_G1(MGM_W0,D);
and MGM_G2(ENABLE_NOT_D_AND_RN,RN,MGM_W0);
and MGM_G3(ENABLE_D_AND_RN,RN,D);
not MGM_G4(MGM_W1,D);
not MGM_G5(MGM_W2,E);
and MGM_G6(ENABLE_NOT_D_AND_NOT_E,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,E);
and MGM_G8(ENABLE_D_AND_NOT_E,MGM_W3,D);
// spec_gates_end
specify
// specify_block_begin
// comb arc D --> Q
(D => Q) = (1.0,1.0);
// seq arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D===1'b0 && E===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
// hold D-HL E-HL
$hold(negedge E &&& (ENABLE_RN === 1'b1),
negedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold D-LH E-HL
$hold(negedge E &&& (ENABLE_RN === 1'b1),
posedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-HL E-HL
$setup(negedge D &&& (ENABLE_RN === 1'b1),
negedge E &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-LH E-HL
$setup(posedge D &&& (ENABLE_RN === 1'b1),
negedge E &&& (ENABLE_RN === 1'b1),1.0,notifier);
$width(posedge E &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(posedge E &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,0,notifier);
// recovery RN-LH E-HL
$recovery(posedge RN,negedge E,1.0,notifier);
// removal RN-LH E-HL
$removal(posedge RN,negedge E,1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_D_AND_NOT_E === 1'b1)
,1.0,0,notifier);
// mpw E_lh
$width(posedge E,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module LATRNQ_X2( E, RN, D, Q );
input D, E, RN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
LATRNQ_X2_func LATRNQ_X2_behav_inst(.E(E),.RN(RN),.D(D),.Q(Q),.notifier(notifier));
`else
LATRNQ_X2_func LATRNQ_X2_inst(.E(E),.RN(RN),.D(D),.Q(Q),.notifier(notifier));
// spec_gates_begin
buf MGM_G0(ENABLE_RN,RN);
not MGM_G1(MGM_W0,D);
and MGM_G2(ENABLE_NOT_D_AND_RN,RN,MGM_W0);
and MGM_G3(ENABLE_D_AND_RN,RN,D);
not MGM_G4(MGM_W1,D);
not MGM_G5(MGM_W2,E);
and MGM_G6(ENABLE_NOT_D_AND_NOT_E,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,E);
and MGM_G8(ENABLE_D_AND_NOT_E,MGM_W3,D);
// spec_gates_end
specify
// specify_block_begin
// comb arc D --> Q
(D => Q) = (1.0,1.0);
// seq arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D===1'b0 && E===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
// hold D-HL E-HL
$hold(negedge E &&& (ENABLE_RN === 1'b1),
negedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold D-LH E-HL
$hold(negedge E &&& (ENABLE_RN === 1'b1),
posedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-HL E-HL
$setup(negedge D &&& (ENABLE_RN === 1'b1),
negedge E &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-LH E-HL
$setup(posedge D &&& (ENABLE_RN === 1'b1),
negedge E &&& (ENABLE_RN === 1'b1),1.0,notifier);
$width(posedge E &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(posedge E &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,0,notifier);
// recovery RN-LH E-HL
$recovery(posedge RN,negedge E,1.0,notifier);
// removal RN-LH E-HL
$removal(posedge RN,negedge E,1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_D_AND_NOT_E === 1'b1)
,1.0,0,notifier);
// mpw E_lh
$width(posedge E,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module LATRNQ_X4( E, RN, D, Q );
input D, E, RN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
LATRNQ_X4_func LATRNQ_X4_behav_inst(.E(E),.RN(RN),.D(D),.Q(Q),.notifier(notifier));
`else
LATRNQ_X4_func LATRNQ_X4_inst(.E(E),.RN(RN),.D(D),.Q(Q),.notifier(notifier));
// spec_gates_begin
buf MGM_G0(ENABLE_RN,RN);
not MGM_G1(MGM_W0,D);
and MGM_G2(ENABLE_NOT_D_AND_RN,RN,MGM_W0);
and MGM_G3(ENABLE_D_AND_RN,RN,D);
not MGM_G4(MGM_W1,D);
not MGM_G5(MGM_W2,E);
and MGM_G6(ENABLE_NOT_D_AND_NOT_E,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,E);
and MGM_G8(ENABLE_D_AND_NOT_E,MGM_W3,D);
// spec_gates_end
specify
// specify_block_begin
// comb arc D --> Q
(D => Q) = (1.0,1.0);
// seq arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D===1'b0 && E===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
// hold D-HL E-HL
$hold(negedge E &&& (ENABLE_RN === 1'b1),
negedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold D-LH E-HL
$hold(negedge E &&& (ENABLE_RN === 1'b1),
posedge D &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-HL E-HL
$setup(negedge D &&& (ENABLE_RN === 1'b1),
negedge E &&& (ENABLE_RN === 1'b1),1.0,notifier);
// setup D-LH E-HL
$setup(posedge D &&& (ENABLE_RN === 1'b1),
negedge E &&& (ENABLE_RN === 1'b1),1.0,notifier);
$width(posedge E &&& (ENABLE_NOT_D_AND_RN === 1'b1)
,1.0,0,notifier);
$width(posedge E &&& (ENABLE_D_AND_RN === 1'b1)
,1.0,0,notifier);
// recovery RN-LH E-HL
$recovery(posedge RN,negedge E,1.0,notifier);
// removal RN-LH E-HL
$removal(posedge RN,negedge E,1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_D_AND_NOT_E === 1'b1)
,1.0,0,notifier);
// mpw E_lh
$width(posedge E,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module LATRSNQ_X1( E, RN, D, SETN, Q );
input D, E, RN, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
LATRSNQ_X1_func LATRSNQ_X1_behav_inst(.E(E),.RN(RN),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
`else
LATRSNQ_X1_func LATRSNQ_X1_inst(.E(E),.RN(RN),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
// spec_gates_begin
and MGM_G0(ENABLE_RN_AND_SETN,SETN,RN);
not MGM_G1(MGM_W0,D);
and MGM_G2(MGM_W1,RN,MGM_W0);
and MGM_G3(ENABLE_NOT_D_AND_RN_AND_SETN,SETN,MGM_W1);
and MGM_G4(MGM_W2,RN,D);
and MGM_G5(ENABLE_D_AND_RN_AND_SETN,SETN,MGM_W2);
buf MGM_G6(ENABLE_SETN,SETN);
not MGM_G7(MGM_W3,D);
not MGM_G8(MGM_W4,E);
and MGM_G9(MGM_W5,MGM_W4,MGM_W3);
and MGM_G10(ENABLE_NOT_D_AND_NOT_E_AND_SETN,SETN,MGM_W5);
not MGM_G11(MGM_W6,E);
and MGM_G12(MGM_W7,MGM_W6,D);
and MGM_G13(ENABLE_D_AND_NOT_E_AND_SETN,SETN,MGM_W7);
not MGM_G14(MGM_W8,D);
not MGM_G15(MGM_W9,E);
and MGM_G16(ENABLE_NOT_D_AND_NOT_E,MGM_W9,MGM_W8);
not MGM_G17(MGM_W10,E);
and MGM_G18(ENABLE_D_AND_NOT_E,MGM_W10,D);
buf MGM_G19(ENABLE_RN,RN);
not MGM_G20(MGM_W11,D);
not MGM_G21(MGM_W12,E);
and MGM_G22(MGM_W13,MGM_W12,MGM_W11);
and MGM_G23(ENABLE_NOT_D_AND_NOT_E_AND_RN,RN,MGM_W13);
not MGM_G24(MGM_W14,E);
and MGM_G25(MGM_W15,MGM_W14,D);
and MGM_G26(ENABLE_D_AND_NOT_E_AND_RN,RN,MGM_W15);
// spec_gates_end
specify
// specify_block_begin
// comb arc D --> Q
(D => Q) = (1.0,1.0);
// seq arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D===1'b0 && E===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(D===1'b0 && E===1'b0 && RN===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b0 && E===1'b1 && RN===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b0 && E===1'b1 && RN===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b0 && RN===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b1 && RN===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b0 && E===1'b0 && RN===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b0 && RN===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
// hold D-HL E-HL
$hold(negedge E &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// hold D-LH E-HL
$hold(negedge E &&& (ENABLE_RN_AND_SETN === 1'b1),
posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-HL E-HL
$setup(negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge E &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-LH E-HL
$setup(posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge E &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
$width(posedge E &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge E &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
// recovery RN-LH E-HL
$recovery(posedge RN &&& (ENABLE_SETN === 1'b1),
negedge E &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// removal RN-LH E-HL
$removal(posedge RN &&& (ENABLE_SETN === 1'b1),
negedge E &&& (ENABLE_SETN === 1'b1),1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_D_AND_NOT_E_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_D_AND_NOT_E_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),
posedge RN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),
posedge SETN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_D_AND_NOT_E === 1'b1),
posedge RN &&& (ENABLE_D_AND_NOT_E === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_D_AND_NOT_E === 1'b1),
posedge SETN &&& (ENABLE_D_AND_NOT_E === 1'b1),1.0,notifier);
// recovery SETN-LH E-HL
$recovery(posedge SETN &&& (ENABLE_RN === 1'b1),
negedge E &&& (ENABLE_RN === 1'b1),1.0,notifier);
// removal SETN-LH E-HL
$removal(posedge SETN &&& (ENABLE_RN === 1'b1),
negedge E &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),
posedge SETN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),
posedge RN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_D_AND_NOT_E === 1'b1),
posedge SETN &&& (ENABLE_D_AND_NOT_E === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_D_AND_NOT_E === 1'b1),
posedge RN &&& (ENABLE_D_AND_NOT_E === 1'b1),1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_D_AND_NOT_E_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_D_AND_NOT_E_AND_RN === 1'b1)
,1.0,0,notifier);
// mpw E_lh
$width(posedge E,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module LATRSNQ_X2( E, RN, D, SETN, Q );
input D, E, RN, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
LATRSNQ_X2_func LATRSNQ_X2_behav_inst(.E(E),.RN(RN),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
`else
LATRSNQ_X2_func LATRSNQ_X2_inst(.E(E),.RN(RN),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
// spec_gates_begin
and MGM_G0(ENABLE_RN_AND_SETN,SETN,RN);
not MGM_G1(MGM_W0,D);
and MGM_G2(MGM_W1,RN,MGM_W0);
and MGM_G3(ENABLE_NOT_D_AND_RN_AND_SETN,SETN,MGM_W1);
and MGM_G4(MGM_W2,RN,D);
and MGM_G5(ENABLE_D_AND_RN_AND_SETN,SETN,MGM_W2);
buf MGM_G6(ENABLE_SETN,SETN);
not MGM_G7(MGM_W3,D);
not MGM_G8(MGM_W4,E);
and MGM_G9(MGM_W5,MGM_W4,MGM_W3);
and MGM_G10(ENABLE_NOT_D_AND_NOT_E_AND_SETN,SETN,MGM_W5);
not MGM_G11(MGM_W6,E);
and MGM_G12(MGM_W7,MGM_W6,D);
and MGM_G13(ENABLE_D_AND_NOT_E_AND_SETN,SETN,MGM_W7);
not MGM_G14(MGM_W8,D);
not MGM_G15(MGM_W9,E);
and MGM_G16(ENABLE_NOT_D_AND_NOT_E,MGM_W9,MGM_W8);
not MGM_G17(MGM_W10,E);
and MGM_G18(ENABLE_D_AND_NOT_E,MGM_W10,D);
buf MGM_G19(ENABLE_RN,RN);
not MGM_G20(MGM_W11,D);
not MGM_G21(MGM_W12,E);
and MGM_G22(MGM_W13,MGM_W12,MGM_W11);
and MGM_G23(ENABLE_NOT_D_AND_NOT_E_AND_RN,RN,MGM_W13);
not MGM_G24(MGM_W14,E);
and MGM_G25(MGM_W15,MGM_W14,D);
and MGM_G26(ENABLE_D_AND_NOT_E_AND_RN,RN,MGM_W15);
// spec_gates_end
specify
// specify_block_begin
// comb arc D --> Q
(D => Q) = (1.0,1.0);
// seq arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D===1'b0 && E===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(D===1'b0 && E===1'b0 && RN===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b0 && E===1'b1 && RN===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b0 && E===1'b1 && RN===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b0 && RN===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b1 && RN===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b0 && E===1'b0 && RN===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b0 && RN===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
// hold D-HL E-HL
$hold(negedge E &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// hold D-LH E-HL
$hold(negedge E &&& (ENABLE_RN_AND_SETN === 1'b1),
posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-HL E-HL
$setup(negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge E &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-LH E-HL
$setup(posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge E &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
$width(posedge E &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge E &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
// recovery RN-LH E-HL
$recovery(posedge RN &&& (ENABLE_SETN === 1'b1),
negedge E &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// removal RN-LH E-HL
$removal(posedge RN &&& (ENABLE_SETN === 1'b1),
negedge E &&& (ENABLE_SETN === 1'b1),1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_D_AND_NOT_E_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_D_AND_NOT_E_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),
posedge RN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),
posedge SETN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_D_AND_NOT_E === 1'b1),
posedge RN &&& (ENABLE_D_AND_NOT_E === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_D_AND_NOT_E === 1'b1),
posedge SETN &&& (ENABLE_D_AND_NOT_E === 1'b1),1.0,notifier);
// recovery SETN-LH E-HL
$recovery(posedge SETN &&& (ENABLE_RN === 1'b1),
negedge E &&& (ENABLE_RN === 1'b1),1.0,notifier);
// removal SETN-LH E-HL
$removal(posedge SETN &&& (ENABLE_RN === 1'b1),
negedge E &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),
posedge SETN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),
posedge RN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_D_AND_NOT_E === 1'b1),
posedge SETN &&& (ENABLE_D_AND_NOT_E === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_D_AND_NOT_E === 1'b1),
posedge RN &&& (ENABLE_D_AND_NOT_E === 1'b1),1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_D_AND_NOT_E_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_D_AND_NOT_E_AND_RN === 1'b1)
,1.0,0,notifier);
// mpw E_lh
$width(posedge E,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module LATRSNQ_X4( E, RN, D, SETN, Q );
input D, E, RN, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
LATRSNQ_X4_func LATRSNQ_X4_behav_inst(.E(E),.RN(RN),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
`else
LATRSNQ_X4_func LATRSNQ_X4_inst(.E(E),.RN(RN),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
// spec_gates_begin
and MGM_G0(ENABLE_RN_AND_SETN,SETN,RN);
not MGM_G1(MGM_W0,D);
and MGM_G2(MGM_W1,RN,MGM_W0);
and MGM_G3(ENABLE_NOT_D_AND_RN_AND_SETN,SETN,MGM_W1);
and MGM_G4(MGM_W2,RN,D);
and MGM_G5(ENABLE_D_AND_RN_AND_SETN,SETN,MGM_W2);
buf MGM_G6(ENABLE_SETN,SETN);
not MGM_G7(MGM_W3,D);
not MGM_G8(MGM_W4,E);
and MGM_G9(MGM_W5,MGM_W4,MGM_W3);
and MGM_G10(ENABLE_NOT_D_AND_NOT_E_AND_SETN,SETN,MGM_W5);
not MGM_G11(MGM_W6,E);
and MGM_G12(MGM_W7,MGM_W6,D);
and MGM_G13(ENABLE_D_AND_NOT_E_AND_SETN,SETN,MGM_W7);
not MGM_G14(MGM_W8,D);
not MGM_G15(MGM_W9,E);
and MGM_G16(ENABLE_NOT_D_AND_NOT_E,MGM_W9,MGM_W8);
not MGM_G17(MGM_W10,E);
and MGM_G18(ENABLE_D_AND_NOT_E,MGM_W10,D);
buf MGM_G19(ENABLE_RN,RN);
not MGM_G20(MGM_W11,D);
not MGM_G21(MGM_W12,E);
and MGM_G22(MGM_W13,MGM_W12,MGM_W11);
and MGM_G23(ENABLE_NOT_D_AND_NOT_E_AND_RN,RN,MGM_W13);
not MGM_G24(MGM_W14,E);
and MGM_G25(MGM_W15,MGM_W14,D);
and MGM_G26(ENABLE_D_AND_NOT_E_AND_RN,RN,MGM_W15);
// spec_gates_end
specify
// specify_block_begin
// comb arc D --> Q
(D => Q) = (1.0,1.0);
// seq arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D===1'b0 && E===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(D===1'b0 && E===1'b0 && RN===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b0 && E===1'b1 && RN===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b0 && E===1'b1 && RN===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b0 && RN===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b1 && RN===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b0 && E===1'b0 && RN===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b0 && RN===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
// hold D-HL E-HL
$hold(negedge E &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// hold D-LH E-HL
$hold(negedge E &&& (ENABLE_RN_AND_SETN === 1'b1),
posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-HL E-HL
$setup(negedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge E &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
// setup D-LH E-HL
$setup(posedge D &&& (ENABLE_RN_AND_SETN === 1'b1),
negedge E &&& (ENABLE_RN_AND_SETN === 1'b1),1.0,notifier);
$width(posedge E &&& (ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge E &&& (ENABLE_D_AND_RN_AND_SETN === 1'b1)
,1.0,0,notifier);
// recovery RN-LH E-HL
$recovery(posedge RN &&& (ENABLE_SETN === 1'b1),
negedge E &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// removal RN-LH E-HL
$removal(posedge RN &&& (ENABLE_SETN === 1'b1),
negedge E &&& (ENABLE_SETN === 1'b1),1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_D_AND_NOT_E_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_D_AND_NOT_E_AND_SETN === 1'b1)
,1.0,0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),
posedge RN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),
posedge SETN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_D_AND_NOT_E === 1'b1),
posedge RN &&& (ENABLE_D_AND_NOT_E === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_D_AND_NOT_E === 1'b1),
posedge SETN &&& (ENABLE_D_AND_NOT_E === 1'b1),1.0,notifier);
// recovery SETN-LH E-HL
$recovery(posedge SETN &&& (ENABLE_RN === 1'b1),
negedge E &&& (ENABLE_RN === 1'b1),1.0,notifier);
// removal SETN-LH E-HL
$removal(posedge SETN &&& (ENABLE_RN === 1'b1),
negedge E &&& (ENABLE_RN === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),
posedge SETN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),
posedge RN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_D_AND_NOT_E === 1'b1),
posedge SETN &&& (ENABLE_D_AND_NOT_E === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_D_AND_NOT_E === 1'b1),
posedge RN &&& (ENABLE_D_AND_NOT_E === 1'b1),1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_D_AND_NOT_E_AND_RN === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_D_AND_NOT_E_AND_RN === 1'b1)
,1.0,0,notifier);
// mpw E_lh
$width(posedge E,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module LATSNQ_X1( E, D, SETN, Q );
input D, E, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
LATSNQ_X1_func LATSNQ_X1_behav_inst(.E(E),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
`else
LATSNQ_X1_func LATSNQ_X1_inst(.E(E),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
// spec_gates_begin
buf MGM_G0(ENABLE_SETN,SETN);
not MGM_G1(MGM_W0,D);
and MGM_G2(ENABLE_NOT_D_AND_SETN,SETN,MGM_W0);
and MGM_G3(ENABLE_D_AND_SETN,SETN,D);
not MGM_G4(MGM_W1,D);
not MGM_G5(MGM_W2,E);
and MGM_G6(ENABLE_NOT_D_AND_NOT_E,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,E);
and MGM_G8(ENABLE_D_AND_NOT_E,MGM_W3,D);
// spec_gates_end
specify
// specify_block_begin
// comb arc D --> Q
(D => Q) = (1.0,1.0);
// seq arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D===1'b0 && E===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b0 && E===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
// hold D-HL E-HL
$hold(negedge E &&& (ENABLE_SETN === 1'b1),
negedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// hold D-LH E-HL
$hold(negedge E &&& (ENABLE_SETN === 1'b1),
posedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-HL E-HL
$setup(negedge D &&& (ENABLE_SETN === 1'b1),
negedge E &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-LH E-HL
$setup(posedge D &&& (ENABLE_SETN === 1'b1),
negedge E &&& (ENABLE_SETN === 1'b1),1.0,notifier);
$width(posedge E &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge E &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,0,notifier);
// recovery SETN-LH E-HL
$recovery(posedge SETN,negedge E,1.0,notifier);
// removal SETN-LH E-HL
$removal(posedge SETN,negedge E,1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_D_AND_NOT_E === 1'b1)
,1.0,0,notifier);
// mpw E_lh
$width(posedge E,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module LATSNQ_X2( E, D, SETN, Q );
input D, E, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
LATSNQ_X2_func LATSNQ_X2_behav_inst(.E(E),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
`else
LATSNQ_X2_func LATSNQ_X2_inst(.E(E),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
// spec_gates_begin
buf MGM_G0(ENABLE_SETN,SETN);
not MGM_G1(MGM_W0,D);
and MGM_G2(ENABLE_NOT_D_AND_SETN,SETN,MGM_W0);
and MGM_G3(ENABLE_D_AND_SETN,SETN,D);
not MGM_G4(MGM_W1,D);
not MGM_G5(MGM_W2,E);
and MGM_G6(ENABLE_NOT_D_AND_NOT_E,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,E);
and MGM_G8(ENABLE_D_AND_NOT_E,MGM_W3,D);
// spec_gates_end
specify
// specify_block_begin
// comb arc D --> Q
(D => Q) = (1.0,1.0);
// seq arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D===1'b0 && E===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b0 && E===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
// hold D-HL E-HL
$hold(negedge E &&& (ENABLE_SETN === 1'b1),
negedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// hold D-LH E-HL
$hold(negedge E &&& (ENABLE_SETN === 1'b1),
posedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-HL E-HL
$setup(negedge D &&& (ENABLE_SETN === 1'b1),
negedge E &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-LH E-HL
$setup(posedge D &&& (ENABLE_SETN === 1'b1),
negedge E &&& (ENABLE_SETN === 1'b1),1.0,notifier);
$width(posedge E &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge E &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,0,notifier);
// recovery SETN-LH E-HL
$recovery(posedge SETN,negedge E,1.0,notifier);
// removal SETN-LH E-HL
$removal(posedge SETN,negedge E,1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_D_AND_NOT_E === 1'b1)
,1.0,0,notifier);
// mpw E_lh
$width(posedge E,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module LATSNQ_X4( E, D, SETN, Q );
input D, E, SETN;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
LATSNQ_X4_func LATSNQ_X4_behav_inst(.E(E),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
`else
LATSNQ_X4_func LATSNQ_X4_inst(.E(E),.D(D),.SETN(SETN),.Q(Q),.notifier(notifier));
// spec_gates_begin
buf MGM_G0(ENABLE_SETN,SETN);
not MGM_G1(MGM_W0,D);
and MGM_G2(ENABLE_NOT_D_AND_SETN,SETN,MGM_W0);
and MGM_G3(ENABLE_D_AND_SETN,SETN,D);
not MGM_G4(MGM_W1,D);
not MGM_G5(MGM_W2,E);
and MGM_G6(ENABLE_NOT_D_AND_NOT_E,MGM_W2,MGM_W1);
not MGM_G7(MGM_W3,E);
and MGM_G8(ENABLE_D_AND_NOT_E,MGM_W3,D);
// spec_gates_end
specify
// specify_block_begin
// comb arc D --> Q
(D => Q) = (1.0,1.0);
// seq arc E --> Q
(posedge E => (Q : D)) = (1.0,1.0);
if(D===1'b0 && E===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b0 && E===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(D===1'b1 && E===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
// hold D-HL E-HL
$hold(negedge E &&& (ENABLE_SETN === 1'b1),
negedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// hold D-LH E-HL
$hold(negedge E &&& (ENABLE_SETN === 1'b1),
posedge D &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-HL E-HL
$setup(negedge D &&& (ENABLE_SETN === 1'b1),
negedge E &&& (ENABLE_SETN === 1'b1),1.0,notifier);
// setup D-LH E-HL
$setup(posedge D &&& (ENABLE_SETN === 1'b1),
negedge E &&& (ENABLE_SETN === 1'b1),1.0,notifier);
$width(posedge E &&& (ENABLE_NOT_D_AND_SETN === 1'b1)
,1.0,0,notifier);
$width(posedge E &&& (ENABLE_D_AND_SETN === 1'b1)
,1.0,0,notifier);
// recovery SETN-LH E-HL
$recovery(posedge SETN,negedge E,1.0,notifier);
// removal SETN-LH E-HL
$removal(posedge SETN,negedge E,1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_D_AND_NOT_E === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_D_AND_NOT_E === 1'b1)
,1.0,0,notifier);
// mpw E_lh
$width(posedge E,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module MUX2_X1( Z, I1, S, I0 );
input I0, I1, S;
output Z;
`ifdef FUNCTIONAL // functional //
MUX2_X1_func MUX2_X1_behav_inst(.Z(Z),.I1(I1),.S(S),.I0(I0));
`else
MUX2_X1_func MUX2_X1_inst(.Z(Z),.I1(I1),.S(S),.I0(I0));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(I1===1'b0)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b1)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I0===1'b0)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b1)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
// comb arc posedge S --> (Z:S)
(posedge S => (Z:S)) = (1.0,1.0);
ifnone
// comb arc negedge S --> (Z:S)
(negedge S => (Z:S)) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module MUX2_X2( Z, I1, S, I0 );
input I0, I1, S;
output Z;
`ifdef FUNCTIONAL // functional //
MUX2_X2_func MUX2_X2_behav_inst(.Z(Z),.I1(I1),.S(S),.I0(I0));
`else
MUX2_X2_func MUX2_X2_inst(.Z(Z),.I1(I1),.S(S),.I0(I0));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(I1===1'b0)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b1)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I0===1'b0)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b1)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
// comb arc posedge S --> (Z:S)
(posedge S => (Z:S)) = (1.0,1.0);
ifnone
// comb arc negedge S --> (Z:S)
(negedge S => (Z:S)) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module MUX2_X4( Z, I1, S, I0 );
input I0, I1, S;
output Z;
`ifdef FUNCTIONAL // functional //
MUX2_X4_func MUX2_X4_behav_inst(.Z(Z),.I1(I1),.S(S),.I0(I0));
`else
MUX2_X4_func MUX2_X4_inst(.Z(Z),.I1(I1),.S(S),.I0(I0));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(I1===1'b0)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b1)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I0===1'b0)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b1)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
// comb arc posedge S --> (Z:S)
(posedge S => (Z:S)) = (1.0,1.0);
ifnone
// comb arc negedge S --> (Z:S)
(negedge S => (Z:S)) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module MUX4_X1( I2, S0, I3, Z, S1, I1, I0 );
input I0, I1, I2, I3, S0, S1;
output Z;
`ifdef FUNCTIONAL // functional //
MUX4_X1_func MUX4_X1_behav_inst(.I2(I2),.S0(S0),.I3(I3),.Z(Z),.S1(S1),.I1(I1),.I0(I0));
`else
MUX4_X1_func MUX4_X1_inst(.I2(I2),.S0(S0),.I3(I3),.Z(Z),.S1(S1),.I1(I1),.I0(I0));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(I1===1'b0 && I2===1'b0 && I3===1'b0)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b0 && I2===1'b0 && I3===1'b1)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b0 && I2===1'b1 && I3===1'b0)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b0 && I2===1'b1 && I3===1'b1)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b1 && I2===1'b0 && I3===1'b0)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b1 && I2===1'b0 && I3===1'b1)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b1 && I2===1'b1 && I3===1'b0)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b1 && I2===1'b1 && I3===1'b1)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I0===1'b0 && I2===1'b0 && I3===1'b0)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b0 && I2===1'b0 && I3===1'b1)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b0 && I2===1'b1 && I3===1'b0)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b0 && I2===1'b1 && I3===1'b1)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b1 && I2===1'b0 && I3===1'b0)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b1 && I2===1'b0 && I3===1'b1)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b1 && I2===1'b1 && I3===1'b0)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b1 && I2===1'b1 && I3===1'b1)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I3===1'b0)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I3===1'b1)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I3===1'b0)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I3===1'b1)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I3===1'b0)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I3===1'b1)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I3===1'b0)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I3===1'b1)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
ifnone
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b0)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b1)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b0)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b1)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b0)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b1)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
ifnone
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b0 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
ifnone
// comb arc posedge S0 --> (Z:S0)
(posedge S0 => (Z:S0)) = (1.0,1.0);
ifnone
// comb arc negedge S0 --> (Z:S0)
(negedge S0 => (Z:S0)) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b1 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b0 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
ifnone
// comb arc posedge S1 --> (Z:S1)
(posedge S1 => (Z:S1)) = (1.0,1.0);
ifnone
// comb arc negedge S1 --> (Z:S1)
(negedge S1 => (Z:S1)) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b1 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module MUX4_X2( I2, S0, I3, Z, S1, I1, I0 );
input I0, I1, I2, I3, S0, S1;
output Z;
`ifdef FUNCTIONAL // functional //
MUX4_X2_func MUX4_X2_behav_inst(.I2(I2),.S0(S0),.I3(I3),.Z(Z),.S1(S1),.I1(I1),.I0(I0));
`else
MUX4_X2_func MUX4_X2_inst(.I2(I2),.S0(S0),.I3(I3),.Z(Z),.S1(S1),.I1(I1),.I0(I0));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(I1===1'b0 && I2===1'b0 && I3===1'b0)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b0 && I2===1'b0 && I3===1'b1)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b0 && I2===1'b1 && I3===1'b0)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b0 && I2===1'b1 && I3===1'b1)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b1 && I2===1'b0 && I3===1'b0)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b1 && I2===1'b0 && I3===1'b1)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b1 && I2===1'b1 && I3===1'b0)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b1 && I2===1'b1 && I3===1'b1)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I0===1'b0 && I2===1'b0 && I3===1'b0)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b0 && I2===1'b0 && I3===1'b1)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b0 && I2===1'b1 && I3===1'b0)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b0 && I2===1'b1 && I3===1'b1)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b1 && I2===1'b0 && I3===1'b0)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b1 && I2===1'b0 && I3===1'b1)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b1 && I2===1'b1 && I3===1'b0)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b1 && I2===1'b1 && I3===1'b1)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I3===1'b0)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I3===1'b1)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I3===1'b0)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I3===1'b1)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I3===1'b0)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I3===1'b1)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I3===1'b0)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I3===1'b1)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
ifnone
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b0)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b1)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b0)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b1)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b0)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b1)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
ifnone
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b0 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
ifnone
// comb arc posedge S0 --> (Z:S0)
(posedge S0 => (Z:S0)) = (1.0,1.0);
ifnone
// comb arc negedge S0 --> (Z:S0)
(negedge S0 => (Z:S0)) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b1 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b0 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
ifnone
// comb arc posedge S1 --> (Z:S1)
(posedge S1 => (Z:S1)) = (1.0,1.0);
ifnone
// comb arc negedge S1 --> (Z:S1)
(negedge S1 => (Z:S1)) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b1 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module MUX4_X4( I2, S0, I3, Z, S1, I1, I0 );
input I0, I1, I2, I3, S0, S1;
output Z;
`ifdef FUNCTIONAL // functional //
MUX4_X4_func MUX4_X4_behav_inst(.I2(I2),.S0(S0),.I3(I3),.Z(Z),.S1(S1),.I1(I1),.I0(I0));
`else
MUX4_X4_func MUX4_X4_inst(.I2(I2),.S0(S0),.I3(I3),.Z(Z),.S1(S1),.I1(I1),.I0(I0));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(I1===1'b0 && I2===1'b0 && I3===1'b0)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b0 && I2===1'b0 && I3===1'b1)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b0 && I2===1'b1 && I3===1'b0)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b0 && I2===1'b1 && I3===1'b1)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b1 && I2===1'b0 && I3===1'b0)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b1 && I2===1'b0 && I3===1'b1)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b1 && I2===1'b1 && I3===1'b0)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I1===1'b1 && I2===1'b1 && I3===1'b1)
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
ifnone
// comb arc I0 --> Z
(I0 => Z) = (1.0,1.0);
if(I0===1'b0 && I2===1'b0 && I3===1'b0)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b0 && I2===1'b0 && I3===1'b1)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b0 && I2===1'b1 && I3===1'b0)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b0 && I2===1'b1 && I3===1'b1)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b1 && I2===1'b0 && I3===1'b0)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b1 && I2===1'b0 && I3===1'b1)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b1 && I2===1'b1 && I3===1'b0)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b1 && I2===1'b1 && I3===1'b1)
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
ifnone
// comb arc I1 --> Z
(I1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I3===1'b0)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I3===1'b1)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I3===1'b0)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I3===1'b1)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I3===1'b0)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I3===1'b1)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I3===1'b0)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I3===1'b1)
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
ifnone
// comb arc I2 --> Z
(I2 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b0)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b1)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b0)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b1)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b0)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b1)
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
ifnone
// comb arc I3 --> Z
(I3 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b0 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
ifnone
// comb arc posedge S0 --> (Z:S0)
(posedge S0 => (Z:S0)) = (1.0,1.0);
ifnone
// comb arc negedge S0 --> (Z:S0)
(negedge S0 => (Z:S0)) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b1 && S1===1'b0)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b1)
// comb arc S0 --> Z
(S0 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b0 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
ifnone
// comb arc posedge S1 --> (Z:S1)
(posedge S1 => (Z:S1)) = (1.0,1.0);
ifnone
// comb arc negedge S1 --> (Z:S1)
(negedge S1 => (Z:S1)) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b1 && S0===1'b0)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
if(I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b1)
// comb arc S1 --> Z
(S1 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NAND2_X1( A2, ZN, A1 );
input A1, A2;
output ZN;
`ifdef FUNCTIONAL // functional //
NAND2_X1_func NAND2_X1_behav_inst(.A2(A2),.ZN(ZN),.A1(A1));
`else
NAND2_X1_func NAND2_X1_inst(.A2(A2),.ZN(ZN),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NAND2_X2( A2, ZN, A1 );
input A1, A2;
output ZN;
`ifdef FUNCTIONAL // functional //
NAND2_X2_func NAND2_X2_behav_inst(.A2(A2),.ZN(ZN),.A1(A1));
`else
NAND2_X2_func NAND2_X2_inst(.A2(A2),.ZN(ZN),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NAND2_X4( A2, ZN, A1 );
input A1, A2;
output ZN;
`ifdef FUNCTIONAL // functional //
NAND2_X4_func NAND2_X4_behav_inst(.A2(A2),.ZN(ZN),.A1(A1));
`else
NAND2_X4_func NAND2_X4_inst(.A2(A2),.ZN(ZN),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NAND3_X1( A3, ZN, A2, A1 );
input A1, A2, A3;
output ZN;
`ifdef FUNCTIONAL // functional //
NAND3_X1_func NAND3_X1_behav_inst(.A3(A3),.ZN(ZN),.A2(A2),.A1(A1));
`else
NAND3_X1_func NAND3_X1_inst(.A3(A3),.ZN(ZN),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NAND3_X2( ZN, A3, A2, A1 );
input A1, A2, A3;
output ZN;
`ifdef FUNCTIONAL // functional //
NAND3_X2_func NAND3_X2_behav_inst(.ZN(ZN),.A3(A3),.A2(A2),.A1(A1));
`else
NAND3_X2_func NAND3_X2_inst(.ZN(ZN),.A3(A3),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NAND3_X4( A2, A3, ZN, A1 );
input A1, A2, A3;
output ZN;
`ifdef FUNCTIONAL // functional //
NAND3_X4_func NAND3_X4_behav_inst(.A2(A2),.A3(A3),.ZN(ZN),.A1(A1));
`else
NAND3_X4_func NAND3_X4_inst(.A2(A2),.A3(A3),.ZN(ZN),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NAND4_X1( A4, ZN, A3, A2, A1 );
input A1, A2, A3, A4;
output ZN;
`ifdef FUNCTIONAL // functional //
NAND4_X1_func NAND4_X1_behav_inst(.A4(A4),.ZN(ZN),.A3(A3),.A2(A2),.A1(A1));
`else
NAND4_X1_func NAND4_X1_inst(.A4(A4),.ZN(ZN),.A3(A3),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// comb arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NAND4_X2( ZN, A4, A3, A2, A1 );
input A1, A2, A3, A4;
output ZN;
`ifdef FUNCTIONAL // functional //
NAND4_X2_func NAND4_X2_behav_inst(.ZN(ZN),.A4(A4),.A3(A3),.A2(A2),.A1(A1));
`else
NAND4_X2_func NAND4_X2_inst(.ZN(ZN),.A4(A4),.A3(A3),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// comb arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NAND4_X4( A3, ZN, A4, A2, A1 );
input A1, A2, A3, A4;
output ZN;
`ifdef FUNCTIONAL // functional //
NAND4_X4_func NAND4_X4_behav_inst(.A3(A3),.ZN(ZN),.A4(A4),.A2(A2),.A1(A1));
`else
NAND4_X4_func NAND4_X4_inst(.A3(A3),.ZN(ZN),.A4(A4),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// comb arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NOR2_X1( A2, ZN, A1 );
input A1, A2;
output ZN;
`ifdef FUNCTIONAL // functional //
NOR2_X1_func NOR2_X1_behav_inst(.A2(A2),.ZN(ZN),.A1(A1));
`else
NOR2_X1_func NOR2_X1_inst(.A2(A2),.ZN(ZN),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NOR2_X2( A2, ZN, A1 );
input A1, A2;
output ZN;
`ifdef FUNCTIONAL // functional //
NOR2_X2_func NOR2_X2_behav_inst(.A2(A2),.ZN(ZN),.A1(A1));
`else
NOR2_X2_func NOR2_X2_inst(.A2(A2),.ZN(ZN),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NOR2_X4( ZN, A2, A1 );
input A1, A2;
output ZN;
`ifdef FUNCTIONAL // functional //
NOR2_X4_func NOR2_X4_behav_inst(.ZN(ZN),.A2(A2),.A1(A1));
`else
NOR2_X4_func NOR2_X4_inst(.ZN(ZN),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NOR3_X1( A3, ZN, A2, A1 );
input A1, A2, A3;
output ZN;
`ifdef FUNCTIONAL // functional //
NOR3_X1_func NOR3_X1_behav_inst(.A3(A3),.ZN(ZN),.A2(A2),.A1(A1));
`else
NOR3_X1_func NOR3_X1_inst(.A3(A3),.ZN(ZN),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NOR3_X2( ZN, A3, A2, A1 );
input A1, A2, A3;
output ZN;
`ifdef FUNCTIONAL // functional //
NOR3_X2_func NOR3_X2_behav_inst(.ZN(ZN),.A3(A3),.A2(A2),.A1(A1));
`else
NOR3_X2_func NOR3_X2_inst(.ZN(ZN),.A3(A3),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NOR3_X4( A2, ZN, A3, A1 );
input A1, A2, A3;
output ZN;
`ifdef FUNCTIONAL // functional //
NOR3_X4_func NOR3_X4_behav_inst(.A2(A2),.ZN(ZN),.A3(A3),.A1(A1));
`else
NOR3_X4_func NOR3_X4_inst(.A2(A2),.ZN(ZN),.A3(A3),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NOR4_X1( A4, ZN, A3, A2, A1 );
input A1, A2, A3, A4;
output ZN;
`ifdef FUNCTIONAL // functional //
NOR4_X1_func NOR4_X1_behav_inst(.A4(A4),.ZN(ZN),.A3(A3),.A2(A2),.A1(A1));
`else
NOR4_X1_func NOR4_X1_inst(.A4(A4),.ZN(ZN),.A3(A3),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// comb arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NOR4_X2( A3, ZN, A4, A2, A1 );
input A1, A2, A3, A4;
output ZN;
`ifdef FUNCTIONAL // functional //
NOR4_X2_func NOR4_X2_behav_inst(.A3(A3),.ZN(ZN),.A4(A4),.A2(A2),.A1(A1));
`else
NOR4_X2_func NOR4_X2_inst(.A3(A3),.ZN(ZN),.A4(A4),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// comb arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module NOR4_X4( A3, ZN, A4, A2, A1 );
input A1, A2, A3, A4;
output ZN;
`ifdef FUNCTIONAL // functional //
NOR4_X4_func NOR4_X4_behav_inst(.A3(A3),.ZN(ZN),.A4(A4),.A2(A2),.A1(A1));
`else
NOR4_X4_func NOR4_X4_inst(.A3(A3),.ZN(ZN),.A4(A4),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// comb arc A4 --> ZN
(A4 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI211_X1( A2, ZN, A1, B, C );
input A1, A2, B, C;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI211_X1_func OAI211_X1_behav_inst(.A2(A2),.ZN(ZN),.A1(A1),.B(B),.C(C));
`else
OAI211_X1_func OAI211_X1_inst(.A2(A2),.ZN(ZN),.A1(A1),.B(B),.C(C));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
ifnone
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
ifnone
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI211_X2( ZN, A2, A1, B, C );
input A1, A2, B, C;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI211_X2_func OAI211_X2_behav_inst(.ZN(ZN),.A2(A2),.A1(A1),.B(B),.C(C));
`else
OAI211_X2_func OAI211_X2_inst(.ZN(ZN),.A2(A2),.A1(A1),.B(B),.C(C));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
ifnone
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
ifnone
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI211_X4( ZN, A2, A1, B, C );
input A1, A2, B, C;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI211_X4_func OAI211_X4_behav_inst(.ZN(ZN),.A2(A2),.A1(A1),.B(B),.C(C));
`else
OAI211_X4_func OAI211_X4_inst(.ZN(ZN),.A2(A2),.A1(A1),.B(B),.C(C));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
ifnone
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
ifnone
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI21_X1( A2, ZN, A1, B );
input A1, A2, B;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI21_X1_func OAI21_X1_behav_inst(.A2(A2),.ZN(ZN),.A1(A1),.B(B));
`else
OAI21_X1_func OAI21_X1_inst(.A2(A2),.ZN(ZN),.A1(A1),.B(B));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
ifnone
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI21_X2( B, ZN, A2, A1 );
input A1, A2, B;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI21_X2_func OAI21_X2_behav_inst(.B(B),.ZN(ZN),.A2(A2),.A1(A1));
`else
OAI21_X2_func OAI21_X2_inst(.B(B),.ZN(ZN),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
ifnone
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI21_X4( ZN, A2, A1, B );
input A1, A2, B;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI21_X4_func OAI21_X4_behav_inst(.ZN(ZN),.A2(A2),.A1(A1),.B(B));
`else
OAI21_X4_func OAI21_X4_inst(.ZN(ZN),.A2(A2),.A1(A1),.B(B));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
ifnone
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI221_X1( B2, B1, ZN, C, A2, A1 );
input A1, A2, B1, B2, C;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI221_X1_func OAI221_X1_behav_inst(.B2(B2),.B1(B1),.ZN(ZN),.C(C),.A2(A2),.A1(A1));
`else
OAI221_X1_func OAI221_X1_inst(.B2(B2),.B1(B1),.ZN(ZN),.C(C),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
ifnone
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI221_X2( ZN, C, B2, B1, A1, A2 );
input A1, A2, B1, B2, C;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI221_X2_func OAI221_X2_behav_inst(.ZN(ZN),.C(C),.B2(B2),.B1(B1),.A1(A1),.A2(A2));
`else
OAI221_X2_func OAI221_X2_inst(.ZN(ZN),.C(C),.B2(B2),.B1(B1),.A1(A1),.A2(A2));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
ifnone
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI221_X4( ZN, B1, B2, C, A1, A2 );
input A1, A2, B1, B2, C;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI221_X4_func OAI221_X4_behav_inst(.ZN(ZN),.B1(B1),.B2(B2),.C(C),.A1(A1),.A2(A2));
`else
OAI221_X4_func OAI221_X4_inst(.ZN(ZN),.B1(B1),.B2(B2),.C(C),.A1(A1),.A2(A2));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
ifnone
// comb arc C --> ZN
(C => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI222_X1( C2, C1, ZN, B1, B2, A2, A1 );
input A1, A2, B1, B2, C1, C2;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI222_X1_func OAI222_X1_behav_inst(.C2(C2),.C1(C1),.ZN(ZN),.B1(B1),.B2(B2),.A2(A2),.A1(A1));
`else
OAI222_X1_func OAI222_X1_inst(.C2(C2),.C1(C1),.ZN(ZN),.B1(B1),.B2(B2),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
ifnone
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
ifnone
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI222_X2( ZN, C1, C2, B1, B2, A1, A2 );
input A1, A2, B1, B2, C1, C2;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI222_X2_func OAI222_X2_behav_inst(.ZN(ZN),.C1(C1),.C2(C2),.B1(B1),.B2(B2),.A1(A1),.A2(A2));
`else
OAI222_X2_func OAI222_X2_inst(.ZN(ZN),.C1(C1),.C2(C2),.B1(B1),.B2(B2),.A1(A1),.A2(A2));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
ifnone
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
ifnone
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI222_X4( ZN, C1, C2, B1, B2, A1, A2 );
input A1, A2, B1, B2, C1, C2;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI222_X4_func OAI222_X4_behav_inst(.ZN(ZN),.C1(C1),.C2(C2),.B1(B1),.B2(B2),.A1(A1),.A2(A2));
`else
OAI222_X4_func OAI222_X4_inst(.ZN(ZN),.C1(C1),.C2(C2),.B1(B1),.B2(B2),.A1(A1),.A2(A2));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b0 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
ifnone
// comb arc C1 --> ZN
(C1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1)
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
ifnone
// comb arc C2 --> ZN
(C2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI22_X1( B2, B1, ZN, A1, A2 );
input A1, A2, B1, B2;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI22_X1_func OAI22_X1_behav_inst(.B2(B2),.B1(B1),.ZN(ZN),.A1(A1),.A2(A2));
`else
OAI22_X1_func OAI22_X1_inst(.B2(B2),.B1(B1),.ZN(ZN),.A1(A1),.A2(A2));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI22_X2( B2, B1, ZN, A2, A1 );
input A1, A2, B1, B2;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI22_X2_func OAI22_X2_behav_inst(.B2(B2),.B1(B1),.ZN(ZN),.A2(A2),.A1(A1));
`else
OAI22_X2_func OAI22_X2_inst(.B2(B2),.B1(B1),.ZN(ZN),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI22_X4( B2, ZN, B1, A2, A1 );
input A1, A2, B1, B2;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI22_X4_func OAI22_X4_behav_inst(.B2(B2),.ZN(ZN),.B1(B1),.A2(A2),.A1(A1));
`else
OAI22_X4_func OAI22_X4_inst(.B2(B2),.ZN(ZN),.B1(B1),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI31_X1( B, ZN, A1, A2, A3 );
input A1, A2, A3, B;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI31_X1_func OAI31_X1_behav_inst(.B(B),.ZN(ZN),.A1(A1),.A2(A2),.A3(A3));
`else
OAI31_X1_func OAI31_X1_inst(.B(B),.ZN(ZN),.A1(A1),.A2(A2),.A3(A3));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
ifnone
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI31_X2( B, ZN, A3, A2, A1 );
input A1, A2, A3, B;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI31_X2_func OAI31_X2_behav_inst(.B(B),.ZN(ZN),.A3(A3),.A2(A2),.A1(A1));
`else
OAI31_X2_func OAI31_X2_inst(.B(B),.ZN(ZN),.A3(A3),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
ifnone
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI31_X4( A3, ZN, A2, A1, B );
input A1, A2, A3, B;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI31_X4_func OAI31_X4_behav_inst(.A3(A3),.ZN(ZN),.A2(A2),.A1(A1),.B(B));
`else
OAI31_X4_func OAI31_X4_inst(.A3(A3),.ZN(ZN),.A2(A2),.A1(A1),.B(B));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
ifnone
// comb arc B --> ZN
(B => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI32_X1( A3, A2, A1, ZN, B1, B2 );
input A1, A2, A3, B1, B2;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI32_X1_func OAI32_X1_behav_inst(.A3(A3),.A2(A2),.A1(A1),.ZN(ZN),.B1(B1),.B2(B2));
`else
OAI32_X1_func OAI32_X1_inst(.A3(A3),.A2(A2),.A1(A1),.ZN(ZN),.B1(B1),.B2(B2));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
ifnone
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI32_X2( A3, A2, A1, ZN, B2, B1 );
input A1, A2, A3, B1, B2;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI32_X2_func OAI32_X2_behav_inst(.A3(A3),.A2(A2),.A1(A1),.ZN(ZN),.B2(B2),.B1(B1));
`else
OAI32_X2_func OAI32_X2_inst(.A3(A3),.A2(A2),.A1(A1),.ZN(ZN),.B2(B2),.B1(B1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
ifnone
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI32_X4( A2, A3, A1, ZN, B2, B1 );
input A1, A2, A3, B1, B2;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI32_X4_func OAI32_X4_behav_inst(.A2(A2),.A3(A3),.A1(A1),.ZN(ZN),.B2(B2),.B1(B1));
`else
OAI32_X4_func OAI32_X4_inst(.A2(A2),.A3(A3),.A1(A1),.ZN(ZN),.B2(B2),.B1(B1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
ifnone
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI33_X1( B3, B2, B1, ZN, A1, A2, A3 );
input A1, A2, A3, B1, B2, B3;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI33_X1_func OAI33_X1_behav_inst(.B3(B3),.B2(B2),.B1(B1),.ZN(ZN),.A1(A1),.A2(A2),.A3(A3));
`else
OAI33_X1_func OAI33_X1_inst(.B3(B3),.B2(B2),.B1(B1),.ZN(ZN),.A1(A1),.A2(A2),.A3(A3));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b0 && B3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && B3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && B3===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
ifnone
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
ifnone
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI33_X2( B3, B2, B1, ZN, A3, A2, A1 );
input A1, A2, A3, B1, B2, B3;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI33_X2_func OAI33_X2_behav_inst(.B3(B3),.B2(B2),.B1(B1),.ZN(ZN),.A3(A3),.A2(A2),.A1(A1));
`else
OAI33_X2_func OAI33_X2_inst(.B3(B3),.B2(B2),.B1(B1),.ZN(ZN),.A3(A3),.A2(A2),.A1(A1));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b0 && B3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && B3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && B3===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
ifnone
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
ifnone
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OAI33_X4( B2, B3, B1, ZN, A1, A2, A3 );
input A1, A2, A3, B1, B2, B3;
output ZN;
`ifdef FUNCTIONAL // functional //
OAI33_X4_func OAI33_X4_behav_inst(.B2(B2),.B3(B3),.B1(B1),.ZN(ZN),.A1(A1),.A2(A2),.A3(A3));
`else
OAI33_X4_func OAI33_X4_inst(.B2(B2),.B3(B3),.B1(B1),.ZN(ZN),.A1(A1),.A2(A2),.A3(A3));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(B1===1'b0 && B2===1'b0 && B3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && B3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b0 && B3===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b0 && B2===1'b1 && B3===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b0 && B3===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(B1===1'b1 && B2===1'b1 && B3===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
ifnone
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
ifnone
// comb arc B1 --> ZN
(B1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
ifnone
// comb arc B2 --> ZN
(B2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0 && A3===1'b1)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b0)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1 && A3===1'b1)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b0)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0 && A3===1'b1)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b0)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1 && A3===1'b1)
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
ifnone
// comb arc B3 --> ZN
(B3 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OR2_X1( A1, A2, Z );
input A1, A2;
output Z;
`ifdef FUNCTIONAL // functional //
OR2_X1_func OR2_X1_behav_inst(.A1(A1),.A2(A2),.Z(Z));
`else
OR2_X1_func OR2_X1_inst(.A1(A1),.A2(A2),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OR2_X2( A1, A2, Z );
input A1, A2;
output Z;
`ifdef FUNCTIONAL // functional //
OR2_X2_func OR2_X2_behav_inst(.A1(A1),.A2(A2),.Z(Z));
`else
OR2_X2_func OR2_X2_inst(.A1(A1),.A2(A2),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OR2_X4( A2, A1, Z );
input A1, A2;
output Z;
`ifdef FUNCTIONAL // functional //
OR2_X4_func OR2_X4_behav_inst(.A2(A2),.A1(A1),.Z(Z));
`else
OR2_X4_func OR2_X4_inst(.A2(A2),.A1(A1),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OR3_X1( A1, A2, A3, Z );
input A1, A2, A3;
output Z;
`ifdef FUNCTIONAL // functional //
OR3_X1_func OR3_X1_behav_inst(.A1(A1),.A2(A2),.A3(A3),.Z(Z));
`else
OR3_X1_func OR3_X1_inst(.A1(A1),.A2(A2),.A3(A3),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OR3_X2( A1, A2, A3, Z );
input A1, A2, A3;
output Z;
`ifdef FUNCTIONAL // functional //
OR3_X2_func OR3_X2_behav_inst(.A1(A1),.A2(A2),.A3(A3),.Z(Z));
`else
OR3_X2_func OR3_X2_inst(.A1(A1),.A2(A2),.A3(A3),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OR3_X4( A3, A2, A1, Z );
input A1, A2, A3;
output Z;
`ifdef FUNCTIONAL // functional //
OR3_X4_func OR3_X4_behav_inst(.A3(A3),.A2(A2),.A1(A1),.Z(Z));
`else
OR3_X4_func OR3_X4_inst(.A3(A3),.A2(A2),.A1(A1),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OR4_X1( A1, A2, A3, A4, Z );
input A1, A2, A3, A4;
output Z;
`ifdef FUNCTIONAL // functional //
OR4_X1_func OR4_X1_behav_inst(.A1(A1),.A2(A2),.A3(A3),.A4(A4),.Z(Z));
`else
OR4_X1_func OR4_X1_inst(.A1(A1),.A2(A2),.A3(A3),.A4(A4),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// comb arc A4 --> Z
(A4 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OR4_X2( A1, A2, A3, A4, Z );
input A1, A2, A3, A4;
output Z;
`ifdef FUNCTIONAL // functional //
OR4_X2_func OR4_X2_behav_inst(.A1(A1),.A2(A2),.A3(A3),.A4(A4),.Z(Z));
`else
OR4_X2_func OR4_X2_inst(.A1(A1),.A2(A2),.A3(A3),.A4(A4),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// comb arc A4 --> Z
(A4 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module OR4_X4( A4, A3, A2, A1, Z );
input A1, A2, A3, A4;
output Z;
`ifdef FUNCTIONAL // functional //
OR4_X4_func OR4_X4_behav_inst(.A4(A4),.A3(A3),.A2(A2),.A1(A1),.Z(Z));
`else
OR4_X4_func OR4_X4_inst(.A4(A4),.A3(A3),.A2(A2),.A1(A1),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// comb arc A4 --> Z
(A4 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module SDFFQ_X1( SE, SI, D, CLK, Q );
input CLK, D, SE, SI;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
SDFFQ_X1_func SDFFQ_X1_behav_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.Q(Q),.notifier(notifier));
`else
SDFFQ_X1_func SDFFQ_X1_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
not MGM_G1(MGM_W1,SE);
and MGM_G2(MGM_W2,MGM_W1,MGM_W0);
not MGM_G3(MGM_W3,SI);
and MGM_G4(ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W3,MGM_W2);
not MGM_G5(MGM_W4,D);
not MGM_G6(MGM_W5,SE);
and MGM_G7(MGM_W6,MGM_W5,MGM_W4);
and MGM_G8(ENABLE_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W6);
not MGM_G9(MGM_W7,D);
and MGM_G10(MGM_W8,SE,MGM_W7);
not MGM_G11(MGM_W9,SI);
and MGM_G12(ENABLE_NOT_D_AND_SE_AND_NOT_SI,MGM_W9,MGM_W8);
not MGM_G13(MGM_W10,D);
and MGM_G14(MGM_W11,SE,MGM_W10);
and MGM_G15(ENABLE_NOT_D_AND_SE_AND_SI,SI,MGM_W11);
not MGM_G16(MGM_W12,SE);
and MGM_G17(MGM_W13,MGM_W12,D);
not MGM_G18(MGM_W14,SI);
and MGM_G19(ENABLE_D_AND_NOT_SE_AND_NOT_SI,MGM_W14,MGM_W13);
not MGM_G20(MGM_W15,SE);
and MGM_G21(MGM_W16,MGM_W15,D);
and MGM_G22(ENABLE_D_AND_NOT_SE_AND_SI,SI,MGM_W16);
and MGM_G23(MGM_W17,SE,D);
not MGM_G24(MGM_W18,SI);
and MGM_G25(ENABLE_D_AND_SE_AND_NOT_SI,MGM_W18,MGM_W17);
and MGM_G26(MGM_W19,SE,D);
and MGM_G27(ENABLE_D_AND_SE_AND_SI,SI,MGM_W19);
not MGM_G28(MGM_W20,SE);
not MGM_G29(MGM_W21,SI);
and MGM_G30(ENABLE_NOT_SE_AND_NOT_SI,MGM_W21,MGM_W20);
not MGM_G31(MGM_W22,SE);
and MGM_G32(ENABLE_NOT_SE_AND_SI,SI,MGM_W22);
not MGM_G33(MGM_W23,D);
and MGM_G34(ENABLE_NOT_D_AND_SI,SI,MGM_W23);
not MGM_G35(MGM_W24,SI);
and MGM_G36(ENABLE_D_AND_NOT_SI,MGM_W24,D);
not MGM_G37(MGM_W25,D);
and MGM_G38(ENABLE_NOT_D_AND_SE,SE,MGM_W25);
and MGM_G39(ENABLE_D_AND_SE,SE,D);
// spec_gates_end
specify
// specify_block_begin
if(D===1'b0 && SI===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SE)) = (1.0,1.0);
if(SE===1'b0 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SI)) = (1.0,1.0);
ifnone
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),
negedge D &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),
posedge D &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SI === 1'b1),
negedge D &&& (ENABLE_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SI === 1'b1),
posedge D &&& (ENABLE_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SI === 1'b1),
negedge SE &&& (ENABLE_NOT_D_AND_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SI === 1'b1),
posedge SE &&& (ENABLE_NOT_D_AND_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_NOT_D_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_NOT_D_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_NOT_SI === 1'b1),
negedge SE &&& (ENABLE_D_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_NOT_SI === 1'b1),
posedge SE &&& (ENABLE_D_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_D_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_D_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SE === 1'b1),
negedge SI &&& (ENABLE_NOT_D_AND_SE === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SE === 1'b1),
posedge SI &&& (ENABLE_NOT_D_AND_SE === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_NOT_D_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_NOT_D_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SE === 1'b1),
negedge SI &&& (ENABLE_D_AND_SE === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SE === 1'b1),
posedge SI &&& (ENABLE_D_AND_SE === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_D_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_D_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE === 1'b1),1.0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module SDFFQ_X2( SE, SI, D, CLK, Q );
input CLK, D, SE, SI;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
SDFFQ_X2_func SDFFQ_X2_behav_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.Q(Q),.notifier(notifier));
`else
SDFFQ_X2_func SDFFQ_X2_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
not MGM_G1(MGM_W1,SE);
and MGM_G2(MGM_W2,MGM_W1,MGM_W0);
not MGM_G3(MGM_W3,SI);
and MGM_G4(ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W3,MGM_W2);
not MGM_G5(MGM_W4,D);
not MGM_G6(MGM_W5,SE);
and MGM_G7(MGM_W6,MGM_W5,MGM_W4);
and MGM_G8(ENABLE_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W6);
not MGM_G9(MGM_W7,D);
and MGM_G10(MGM_W8,SE,MGM_W7);
not MGM_G11(MGM_W9,SI);
and MGM_G12(ENABLE_NOT_D_AND_SE_AND_NOT_SI,MGM_W9,MGM_W8);
not MGM_G13(MGM_W10,D);
and MGM_G14(MGM_W11,SE,MGM_W10);
and MGM_G15(ENABLE_NOT_D_AND_SE_AND_SI,SI,MGM_W11);
not MGM_G16(MGM_W12,SE);
and MGM_G17(MGM_W13,MGM_W12,D);
not MGM_G18(MGM_W14,SI);
and MGM_G19(ENABLE_D_AND_NOT_SE_AND_NOT_SI,MGM_W14,MGM_W13);
not MGM_G20(MGM_W15,SE);
and MGM_G21(MGM_W16,MGM_W15,D);
and MGM_G22(ENABLE_D_AND_NOT_SE_AND_SI,SI,MGM_W16);
and MGM_G23(MGM_W17,SE,D);
not MGM_G24(MGM_W18,SI);
and MGM_G25(ENABLE_D_AND_SE_AND_NOT_SI,MGM_W18,MGM_W17);
and MGM_G26(MGM_W19,SE,D);
and MGM_G27(ENABLE_D_AND_SE_AND_SI,SI,MGM_W19);
not MGM_G28(MGM_W20,SE);
not MGM_G29(MGM_W21,SI);
and MGM_G30(ENABLE_NOT_SE_AND_NOT_SI,MGM_W21,MGM_W20);
not MGM_G31(MGM_W22,SE);
and MGM_G32(ENABLE_NOT_SE_AND_SI,SI,MGM_W22);
not MGM_G33(MGM_W23,D);
and MGM_G34(ENABLE_NOT_D_AND_SI,SI,MGM_W23);
not MGM_G35(MGM_W24,SI);
and MGM_G36(ENABLE_D_AND_NOT_SI,MGM_W24,D);
not MGM_G37(MGM_W25,D);
and MGM_G38(ENABLE_NOT_D_AND_SE,SE,MGM_W25);
and MGM_G39(ENABLE_D_AND_SE,SE,D);
// spec_gates_end
specify
// specify_block_begin
if(D===1'b0 && SI===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SE)) = (1.0,1.0);
if(SE===1'b0 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SI)) = (1.0,1.0);
ifnone
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),
negedge D &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),
posedge D &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SI === 1'b1),
negedge D &&& (ENABLE_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SI === 1'b1),
posedge D &&& (ENABLE_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SI === 1'b1),
negedge SE &&& (ENABLE_NOT_D_AND_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SI === 1'b1),
posedge SE &&& (ENABLE_NOT_D_AND_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_NOT_D_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_NOT_D_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_NOT_SI === 1'b1),
negedge SE &&& (ENABLE_D_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_NOT_SI === 1'b1),
posedge SE &&& (ENABLE_D_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_D_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_D_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SE === 1'b1),
negedge SI &&& (ENABLE_NOT_D_AND_SE === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SE === 1'b1),
posedge SI &&& (ENABLE_NOT_D_AND_SE === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_NOT_D_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_NOT_D_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SE === 1'b1),
negedge SI &&& (ENABLE_D_AND_SE === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SE === 1'b1),
posedge SI &&& (ENABLE_D_AND_SE === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_D_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_D_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE === 1'b1),1.0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module SDFFQ_X4( SE, SI, D, CLK, Q );
input CLK, D, SE, SI;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
SDFFQ_X4_func SDFFQ_X4_behav_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.Q(Q),.notifier(notifier));
`else
SDFFQ_X4_func SDFFQ_X4_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
not MGM_G1(MGM_W1,SE);
and MGM_G2(MGM_W2,MGM_W1,MGM_W0);
not MGM_G3(MGM_W3,SI);
and MGM_G4(ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W3,MGM_W2);
not MGM_G5(MGM_W4,D);
not MGM_G6(MGM_W5,SE);
and MGM_G7(MGM_W6,MGM_W5,MGM_W4);
and MGM_G8(ENABLE_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W6);
not MGM_G9(MGM_W7,D);
and MGM_G10(MGM_W8,SE,MGM_W7);
not MGM_G11(MGM_W9,SI);
and MGM_G12(ENABLE_NOT_D_AND_SE_AND_NOT_SI,MGM_W9,MGM_W8);
not MGM_G13(MGM_W10,D);
and MGM_G14(MGM_W11,SE,MGM_W10);
and MGM_G15(ENABLE_NOT_D_AND_SE_AND_SI,SI,MGM_W11);
not MGM_G16(MGM_W12,SE);
and MGM_G17(MGM_W13,MGM_W12,D);
not MGM_G18(MGM_W14,SI);
and MGM_G19(ENABLE_D_AND_NOT_SE_AND_NOT_SI,MGM_W14,MGM_W13);
not MGM_G20(MGM_W15,SE);
and MGM_G21(MGM_W16,MGM_W15,D);
and MGM_G22(ENABLE_D_AND_NOT_SE_AND_SI,SI,MGM_W16);
and MGM_G23(MGM_W17,SE,D);
not MGM_G24(MGM_W18,SI);
and MGM_G25(ENABLE_D_AND_SE_AND_NOT_SI,MGM_W18,MGM_W17);
and MGM_G26(MGM_W19,SE,D);
and MGM_G27(ENABLE_D_AND_SE_AND_SI,SI,MGM_W19);
not MGM_G28(MGM_W20,SE);
not MGM_G29(MGM_W21,SI);
and MGM_G30(ENABLE_NOT_SE_AND_NOT_SI,MGM_W21,MGM_W20);
not MGM_G31(MGM_W22,SE);
and MGM_G32(ENABLE_NOT_SE_AND_SI,SI,MGM_W22);
not MGM_G33(MGM_W23,D);
and MGM_G34(ENABLE_NOT_D_AND_SI,SI,MGM_W23);
not MGM_G35(MGM_W24,SI);
and MGM_G36(ENABLE_D_AND_NOT_SI,MGM_W24,D);
not MGM_G37(MGM_W25,D);
and MGM_G38(ENABLE_NOT_D_AND_SE,SE,MGM_W25);
and MGM_G39(ENABLE_D_AND_SE,SE,D);
// spec_gates_end
specify
// specify_block_begin
if(D===1'b0 && SI===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SE)) = (1.0,1.0);
if(SE===1'b0 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SI)) = (1.0,1.0);
ifnone
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),
negedge D &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),
posedge D &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SI === 1'b1),
negedge D &&& (ENABLE_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SI === 1'b1),
posedge D &&& (ENABLE_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SI === 1'b1),
negedge SE &&& (ENABLE_NOT_D_AND_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SI === 1'b1),
posedge SE &&& (ENABLE_NOT_D_AND_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_NOT_D_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_NOT_D_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_NOT_SI === 1'b1),
negedge SE &&& (ENABLE_D_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_NOT_SI === 1'b1),
posedge SE &&& (ENABLE_D_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_D_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_D_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SE === 1'b1),
negedge SI &&& (ENABLE_NOT_D_AND_SE === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SE === 1'b1),
posedge SI &&& (ENABLE_NOT_D_AND_SE === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_NOT_D_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_NOT_D_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SE === 1'b1),
negedge SI &&& (ENABLE_D_AND_SE === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SE === 1'b1),
posedge SI &&& (ENABLE_D_AND_SE === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_D_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_D_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE === 1'b1),1.0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module SDFFRNQ_X1( SE, SI, D, CLK, RN, Q );
input CLK, D, RN, SE, SI;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
SDFFRNQ_X1_func SDFFRNQ_X1_behav_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.RN(RN),.Q(Q),.notifier(notifier));
`else
SDFFRNQ_X1_func SDFFRNQ_X1_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(MGM_W1,RN,MGM_W0);
not MGM_G2(MGM_W2,SE);
and MGM_G3(MGM_W3,MGM_W2,MGM_W1);
not MGM_G4(MGM_W4,SI);
and MGM_G5(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W4,MGM_W3);
not MGM_G6(MGM_W5,D);
and MGM_G7(MGM_W6,RN,MGM_W5);
not MGM_G8(MGM_W7,SE);
and MGM_G9(MGM_W8,MGM_W7,MGM_W6);
and MGM_G10(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W8);
not MGM_G11(MGM_W9,D);
and MGM_G12(MGM_W10,RN,MGM_W9);
and MGM_G13(MGM_W11,SE,MGM_W10);
not MGM_G14(MGM_W12,SI);
and MGM_G15(ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W12,MGM_W11);
not MGM_G16(MGM_W13,D);
and MGM_G17(MGM_W14,RN,MGM_W13);
and MGM_G18(MGM_W15,SE,MGM_W14);
and MGM_G19(ENABLE_NOT_D_AND_RN_AND_SE_AND_SI,SI,MGM_W15);
and MGM_G20(MGM_W16,RN,D);
not MGM_G21(MGM_W17,SE);
and MGM_G22(MGM_W18,MGM_W17,MGM_W16);
not MGM_G23(MGM_W19,SI);
and MGM_G24(ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W19,MGM_W18);
and MGM_G25(MGM_W20,RN,D);
not MGM_G26(MGM_W21,SE);
and MGM_G27(MGM_W22,MGM_W21,MGM_W20);
and MGM_G28(ENABLE_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W22);
and MGM_G29(MGM_W23,RN,D);
and MGM_G30(MGM_W24,SE,MGM_W23);
not MGM_G31(MGM_W25,SI);
and MGM_G32(ENABLE_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W25,MGM_W24);
and MGM_G33(MGM_W26,RN,D);
and MGM_G34(MGM_W27,SE,MGM_W26);
and MGM_G35(ENABLE_D_AND_RN_AND_SE_AND_SI,SI,MGM_W27);
not MGM_G36(MGM_W28,SE);
and MGM_G37(MGM_W29,MGM_W28,RN);
not MGM_G38(MGM_W30,SI);
and MGM_G39(ENABLE_RN_AND_NOT_SE_AND_NOT_SI,MGM_W30,MGM_W29);
not MGM_G40(MGM_W31,SE);
and MGM_G41(MGM_W32,MGM_W31,RN);
and MGM_G42(ENABLE_RN_AND_NOT_SE_AND_SI,SI,MGM_W32);
not MGM_G43(MGM_W33,D);
and MGM_G44(MGM_W34,SE,MGM_W33);
and MGM_G45(ENABLE_NOT_D_AND_SE_AND_SI,SI,MGM_W34);
not MGM_G46(MGM_W35,SE);
and MGM_G47(MGM_W36,MGM_W35,D);
not MGM_G48(MGM_W37,SI);
and MGM_G49(ENABLE_D_AND_NOT_SE_AND_NOT_SI,MGM_W37,MGM_W36);
not MGM_G50(MGM_W38,SE);
and MGM_G51(MGM_W39,MGM_W38,D);
and MGM_G52(ENABLE_D_AND_NOT_SE_AND_SI,SI,MGM_W39);
and MGM_G53(MGM_W40,SE,D);
and MGM_G54(ENABLE_D_AND_SE_AND_SI,SI,MGM_W40);
not MGM_G55(MGM_W41,CLK);
not MGM_G56(MGM_W42,D);
and MGM_G57(MGM_W43,MGM_W42,MGM_W41);
not MGM_G58(MGM_W44,SE);
and MGM_G59(MGM_W45,MGM_W44,MGM_W43);
not MGM_G60(MGM_W46,SI);
and MGM_G61(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W46,MGM_W45);
not MGM_G62(MGM_W47,CLK);
not MGM_G63(MGM_W48,D);
and MGM_G64(MGM_W49,MGM_W48,MGM_W47);
not MGM_G65(MGM_W50,SE);
and MGM_G66(MGM_W51,MGM_W50,MGM_W49);
and MGM_G67(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W51);
not MGM_G68(MGM_W52,CLK);
not MGM_G69(MGM_W53,D);
and MGM_G70(MGM_W54,MGM_W53,MGM_W52);
and MGM_G71(MGM_W55,SE,MGM_W54);
not MGM_G72(MGM_W56,SI);
and MGM_G73(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W56,MGM_W55);
not MGM_G74(MGM_W57,CLK);
not MGM_G75(MGM_W58,D);
and MGM_G76(MGM_W59,MGM_W58,MGM_W57);
and MGM_G77(MGM_W60,SE,MGM_W59);
and MGM_G78(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W60);
not MGM_G79(MGM_W61,CLK);
and MGM_G80(MGM_W62,D,MGM_W61);
not MGM_G81(MGM_W63,SE);
and MGM_G82(MGM_W64,MGM_W63,MGM_W62);
not MGM_G83(MGM_W65,SI);
and MGM_G84(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W65,MGM_W64);
not MGM_G85(MGM_W66,CLK);
and MGM_G86(MGM_W67,D,MGM_W66);
not MGM_G87(MGM_W68,SE);
and MGM_G88(MGM_W69,MGM_W68,MGM_W67);
and MGM_G89(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W69);
not MGM_G90(MGM_W70,CLK);
and MGM_G91(MGM_W71,D,MGM_W70);
and MGM_G92(MGM_W72,SE,MGM_W71);
not MGM_G93(MGM_W73,SI);
and MGM_G94(ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W73,MGM_W72);
not MGM_G95(MGM_W74,CLK);
and MGM_G96(MGM_W75,D,MGM_W74);
and MGM_G97(MGM_W76,SE,MGM_W75);
and MGM_G98(ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W76);
not MGM_G99(MGM_W77,D);
and MGM_G100(MGM_W78,MGM_W77,CLK);
not MGM_G101(MGM_W79,SE);
and MGM_G102(MGM_W80,MGM_W79,MGM_W78);
not MGM_G103(MGM_W81,SI);
and MGM_G104(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W81,MGM_W80);
not MGM_G105(MGM_W82,D);
and MGM_G106(MGM_W83,MGM_W82,CLK);
not MGM_G107(MGM_W84,SE);
and MGM_G108(MGM_W85,MGM_W84,MGM_W83);
and MGM_G109(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W85);
not MGM_G110(MGM_W86,D);
and MGM_G111(MGM_W87,MGM_W86,CLK);
and MGM_G112(MGM_W88,SE,MGM_W87);
not MGM_G113(MGM_W89,SI);
and MGM_G114(ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W89,MGM_W88);
not MGM_G115(MGM_W90,D);
and MGM_G116(MGM_W91,MGM_W90,CLK);
and MGM_G117(MGM_W92,SE,MGM_W91);
and MGM_G118(ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W92);
and MGM_G119(MGM_W93,D,CLK);
not MGM_G120(MGM_W94,SE);
and MGM_G121(MGM_W95,MGM_W94,MGM_W93);
not MGM_G122(MGM_W96,SI);
and MGM_G123(ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W96,MGM_W95);
and MGM_G124(MGM_W97,D,CLK);
not MGM_G125(MGM_W98,SE);
and MGM_G126(MGM_W99,MGM_W98,MGM_W97);
and MGM_G127(ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W99);
and MGM_G128(MGM_W100,D,CLK);
and MGM_G129(MGM_W101,SE,MGM_W100);
not MGM_G130(MGM_W102,SI);
and MGM_G131(ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W102,MGM_W101);
and MGM_G132(MGM_W103,D,CLK);
and MGM_G133(MGM_W104,SE,MGM_W103);
and MGM_G134(ENABLE_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W104);
not MGM_G135(MGM_W105,D);
and MGM_G136(MGM_W106,RN,MGM_W105);
and MGM_G137(ENABLE_NOT_D_AND_RN_AND_SI,SI,MGM_W106);
and MGM_G138(MGM_W107,RN,D);
not MGM_G139(MGM_W108,SI);
and MGM_G140(ENABLE_D_AND_RN_AND_NOT_SI,MGM_W108,MGM_W107);
not MGM_G141(MGM_W109,D);
and MGM_G142(MGM_W110,RN,MGM_W109);
and MGM_G143(ENABLE_NOT_D_AND_RN_AND_SE,SE,MGM_W110);
and MGM_G144(MGM_W111,RN,D);
and MGM_G145(ENABLE_D_AND_RN_AND_SE,SE,MGM_W111);
// spec_gates_end
specify
// specify_block_begin
if(D===1'b0 && SI===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SE)) = (1.0,1.0);
if(SE===1'b0 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SI)) = (1.0,1.0);
ifnone
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),
negedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),
posedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),
negedge SE &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),
posedge SE &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),
negedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),
posedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),
negedge SI &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),
posedge SI &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module SDFFRNQ_X2( SE, SI, D, CLK, RN, Q );
input CLK, D, RN, SE, SI;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
SDFFRNQ_X2_func SDFFRNQ_X2_behav_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.RN(RN),.Q(Q),.notifier(notifier));
`else
SDFFRNQ_X2_func SDFFRNQ_X2_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(MGM_W1,RN,MGM_W0);
not MGM_G2(MGM_W2,SE);
and MGM_G3(MGM_W3,MGM_W2,MGM_W1);
not MGM_G4(MGM_W4,SI);
and MGM_G5(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W4,MGM_W3);
not MGM_G6(MGM_W5,D);
and MGM_G7(MGM_W6,RN,MGM_W5);
not MGM_G8(MGM_W7,SE);
and MGM_G9(MGM_W8,MGM_W7,MGM_W6);
and MGM_G10(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W8);
not MGM_G11(MGM_W9,D);
and MGM_G12(MGM_W10,RN,MGM_W9);
and MGM_G13(MGM_W11,SE,MGM_W10);
not MGM_G14(MGM_W12,SI);
and MGM_G15(ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W12,MGM_W11);
not MGM_G16(MGM_W13,D);
and MGM_G17(MGM_W14,RN,MGM_W13);
and MGM_G18(MGM_W15,SE,MGM_W14);
and MGM_G19(ENABLE_NOT_D_AND_RN_AND_SE_AND_SI,SI,MGM_W15);
and MGM_G20(MGM_W16,RN,D);
not MGM_G21(MGM_W17,SE);
and MGM_G22(MGM_W18,MGM_W17,MGM_W16);
not MGM_G23(MGM_W19,SI);
and MGM_G24(ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W19,MGM_W18);
and MGM_G25(MGM_W20,RN,D);
not MGM_G26(MGM_W21,SE);
and MGM_G27(MGM_W22,MGM_W21,MGM_W20);
and MGM_G28(ENABLE_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W22);
and MGM_G29(MGM_W23,RN,D);
and MGM_G30(MGM_W24,SE,MGM_W23);
not MGM_G31(MGM_W25,SI);
and MGM_G32(ENABLE_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W25,MGM_W24);
and MGM_G33(MGM_W26,RN,D);
and MGM_G34(MGM_W27,SE,MGM_W26);
and MGM_G35(ENABLE_D_AND_RN_AND_SE_AND_SI,SI,MGM_W27);
not MGM_G36(MGM_W28,SE);
and MGM_G37(MGM_W29,MGM_W28,RN);
not MGM_G38(MGM_W30,SI);
and MGM_G39(ENABLE_RN_AND_NOT_SE_AND_NOT_SI,MGM_W30,MGM_W29);
not MGM_G40(MGM_W31,SE);
and MGM_G41(MGM_W32,MGM_W31,RN);
and MGM_G42(ENABLE_RN_AND_NOT_SE_AND_SI,SI,MGM_W32);
not MGM_G43(MGM_W33,D);
and MGM_G44(MGM_W34,SE,MGM_W33);
and MGM_G45(ENABLE_NOT_D_AND_SE_AND_SI,SI,MGM_W34);
not MGM_G46(MGM_W35,SE);
and MGM_G47(MGM_W36,MGM_W35,D);
not MGM_G48(MGM_W37,SI);
and MGM_G49(ENABLE_D_AND_NOT_SE_AND_NOT_SI,MGM_W37,MGM_W36);
not MGM_G50(MGM_W38,SE);
and MGM_G51(MGM_W39,MGM_W38,D);
and MGM_G52(ENABLE_D_AND_NOT_SE_AND_SI,SI,MGM_W39);
and MGM_G53(MGM_W40,SE,D);
and MGM_G54(ENABLE_D_AND_SE_AND_SI,SI,MGM_W40);
not MGM_G55(MGM_W41,CLK);
not MGM_G56(MGM_W42,D);
and MGM_G57(MGM_W43,MGM_W42,MGM_W41);
not MGM_G58(MGM_W44,SE);
and MGM_G59(MGM_W45,MGM_W44,MGM_W43);
not MGM_G60(MGM_W46,SI);
and MGM_G61(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W46,MGM_W45);
not MGM_G62(MGM_W47,CLK);
not MGM_G63(MGM_W48,D);
and MGM_G64(MGM_W49,MGM_W48,MGM_W47);
not MGM_G65(MGM_W50,SE);
and MGM_G66(MGM_W51,MGM_W50,MGM_W49);
and MGM_G67(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W51);
not MGM_G68(MGM_W52,CLK);
not MGM_G69(MGM_W53,D);
and MGM_G70(MGM_W54,MGM_W53,MGM_W52);
and MGM_G71(MGM_W55,SE,MGM_W54);
not MGM_G72(MGM_W56,SI);
and MGM_G73(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W56,MGM_W55);
not MGM_G74(MGM_W57,CLK);
not MGM_G75(MGM_W58,D);
and MGM_G76(MGM_W59,MGM_W58,MGM_W57);
and MGM_G77(MGM_W60,SE,MGM_W59);
and MGM_G78(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W60);
not MGM_G79(MGM_W61,CLK);
and MGM_G80(MGM_W62,D,MGM_W61);
not MGM_G81(MGM_W63,SE);
and MGM_G82(MGM_W64,MGM_W63,MGM_W62);
not MGM_G83(MGM_W65,SI);
and MGM_G84(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W65,MGM_W64);
not MGM_G85(MGM_W66,CLK);
and MGM_G86(MGM_W67,D,MGM_W66);
not MGM_G87(MGM_W68,SE);
and MGM_G88(MGM_W69,MGM_W68,MGM_W67);
and MGM_G89(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W69);
not MGM_G90(MGM_W70,CLK);
and MGM_G91(MGM_W71,D,MGM_W70);
and MGM_G92(MGM_W72,SE,MGM_W71);
not MGM_G93(MGM_W73,SI);
and MGM_G94(ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W73,MGM_W72);
not MGM_G95(MGM_W74,CLK);
and MGM_G96(MGM_W75,D,MGM_W74);
and MGM_G97(MGM_W76,SE,MGM_W75);
and MGM_G98(ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W76);
not MGM_G99(MGM_W77,D);
and MGM_G100(MGM_W78,MGM_W77,CLK);
not MGM_G101(MGM_W79,SE);
and MGM_G102(MGM_W80,MGM_W79,MGM_W78);
not MGM_G103(MGM_W81,SI);
and MGM_G104(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W81,MGM_W80);
not MGM_G105(MGM_W82,D);
and MGM_G106(MGM_W83,MGM_W82,CLK);
not MGM_G107(MGM_W84,SE);
and MGM_G108(MGM_W85,MGM_W84,MGM_W83);
and MGM_G109(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W85);
not MGM_G110(MGM_W86,D);
and MGM_G111(MGM_W87,MGM_W86,CLK);
and MGM_G112(MGM_W88,SE,MGM_W87);
not MGM_G113(MGM_W89,SI);
and MGM_G114(ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W89,MGM_W88);
not MGM_G115(MGM_W90,D);
and MGM_G116(MGM_W91,MGM_W90,CLK);
and MGM_G117(MGM_W92,SE,MGM_W91);
and MGM_G118(ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W92);
and MGM_G119(MGM_W93,D,CLK);
not MGM_G120(MGM_W94,SE);
and MGM_G121(MGM_W95,MGM_W94,MGM_W93);
not MGM_G122(MGM_W96,SI);
and MGM_G123(ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W96,MGM_W95);
and MGM_G124(MGM_W97,D,CLK);
not MGM_G125(MGM_W98,SE);
and MGM_G126(MGM_W99,MGM_W98,MGM_W97);
and MGM_G127(ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W99);
and MGM_G128(MGM_W100,D,CLK);
and MGM_G129(MGM_W101,SE,MGM_W100);
not MGM_G130(MGM_W102,SI);
and MGM_G131(ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W102,MGM_W101);
and MGM_G132(MGM_W103,D,CLK);
and MGM_G133(MGM_W104,SE,MGM_W103);
and MGM_G134(ENABLE_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W104);
not MGM_G135(MGM_W105,D);
and MGM_G136(MGM_W106,RN,MGM_W105);
and MGM_G137(ENABLE_NOT_D_AND_RN_AND_SI,SI,MGM_W106);
and MGM_G138(MGM_W107,RN,D);
not MGM_G139(MGM_W108,SI);
and MGM_G140(ENABLE_D_AND_RN_AND_NOT_SI,MGM_W108,MGM_W107);
not MGM_G141(MGM_W109,D);
and MGM_G142(MGM_W110,RN,MGM_W109);
and MGM_G143(ENABLE_NOT_D_AND_RN_AND_SE,SE,MGM_W110);
and MGM_G144(MGM_W111,RN,D);
and MGM_G145(ENABLE_D_AND_RN_AND_SE,SE,MGM_W111);
// spec_gates_end
specify
// specify_block_begin
if(D===1'b0 && SI===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SE)) = (1.0,1.0);
if(SE===1'b0 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SI)) = (1.0,1.0);
ifnone
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),
negedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),
posedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),
negedge SE &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),
posedge SE &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),
negedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),
posedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),
negedge SI &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),
posedge SI &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module SDFFRNQ_X4( SE, SI, D, CLK, RN, Q );
input CLK, D, RN, SE, SI;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
SDFFRNQ_X4_func SDFFRNQ_X4_behav_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.RN(RN),.Q(Q),.notifier(notifier));
`else
SDFFRNQ_X4_func SDFFRNQ_X4_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(MGM_W1,RN,MGM_W0);
not MGM_G2(MGM_W2,SE);
and MGM_G3(MGM_W3,MGM_W2,MGM_W1);
not MGM_G4(MGM_W4,SI);
and MGM_G5(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W4,MGM_W3);
not MGM_G6(MGM_W5,D);
and MGM_G7(MGM_W6,RN,MGM_W5);
not MGM_G8(MGM_W7,SE);
and MGM_G9(MGM_W8,MGM_W7,MGM_W6);
and MGM_G10(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W8);
not MGM_G11(MGM_W9,D);
and MGM_G12(MGM_W10,RN,MGM_W9);
and MGM_G13(MGM_W11,SE,MGM_W10);
not MGM_G14(MGM_W12,SI);
and MGM_G15(ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W12,MGM_W11);
not MGM_G16(MGM_W13,D);
and MGM_G17(MGM_W14,RN,MGM_W13);
and MGM_G18(MGM_W15,SE,MGM_W14);
and MGM_G19(ENABLE_NOT_D_AND_RN_AND_SE_AND_SI,SI,MGM_W15);
and MGM_G20(MGM_W16,RN,D);
not MGM_G21(MGM_W17,SE);
and MGM_G22(MGM_W18,MGM_W17,MGM_W16);
not MGM_G23(MGM_W19,SI);
and MGM_G24(ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W19,MGM_W18);
and MGM_G25(MGM_W20,RN,D);
not MGM_G26(MGM_W21,SE);
and MGM_G27(MGM_W22,MGM_W21,MGM_W20);
and MGM_G28(ENABLE_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W22);
and MGM_G29(MGM_W23,RN,D);
and MGM_G30(MGM_W24,SE,MGM_W23);
not MGM_G31(MGM_W25,SI);
and MGM_G32(ENABLE_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W25,MGM_W24);
and MGM_G33(MGM_W26,RN,D);
and MGM_G34(MGM_W27,SE,MGM_W26);
and MGM_G35(ENABLE_D_AND_RN_AND_SE_AND_SI,SI,MGM_W27);
not MGM_G36(MGM_W28,SE);
and MGM_G37(MGM_W29,MGM_W28,RN);
not MGM_G38(MGM_W30,SI);
and MGM_G39(ENABLE_RN_AND_NOT_SE_AND_NOT_SI,MGM_W30,MGM_W29);
not MGM_G40(MGM_W31,SE);
and MGM_G41(MGM_W32,MGM_W31,RN);
and MGM_G42(ENABLE_RN_AND_NOT_SE_AND_SI,SI,MGM_W32);
not MGM_G43(MGM_W33,D);
and MGM_G44(MGM_W34,SE,MGM_W33);
and MGM_G45(ENABLE_NOT_D_AND_SE_AND_SI,SI,MGM_W34);
not MGM_G46(MGM_W35,SE);
and MGM_G47(MGM_W36,MGM_W35,D);
not MGM_G48(MGM_W37,SI);
and MGM_G49(ENABLE_D_AND_NOT_SE_AND_NOT_SI,MGM_W37,MGM_W36);
not MGM_G50(MGM_W38,SE);
and MGM_G51(MGM_W39,MGM_W38,D);
and MGM_G52(ENABLE_D_AND_NOT_SE_AND_SI,SI,MGM_W39);
and MGM_G53(MGM_W40,SE,D);
and MGM_G54(ENABLE_D_AND_SE_AND_SI,SI,MGM_W40);
not MGM_G55(MGM_W41,CLK);
not MGM_G56(MGM_W42,D);
and MGM_G57(MGM_W43,MGM_W42,MGM_W41);
not MGM_G58(MGM_W44,SE);
and MGM_G59(MGM_W45,MGM_W44,MGM_W43);
not MGM_G60(MGM_W46,SI);
and MGM_G61(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W46,MGM_W45);
not MGM_G62(MGM_W47,CLK);
not MGM_G63(MGM_W48,D);
and MGM_G64(MGM_W49,MGM_W48,MGM_W47);
not MGM_G65(MGM_W50,SE);
and MGM_G66(MGM_W51,MGM_W50,MGM_W49);
and MGM_G67(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W51);
not MGM_G68(MGM_W52,CLK);
not MGM_G69(MGM_W53,D);
and MGM_G70(MGM_W54,MGM_W53,MGM_W52);
and MGM_G71(MGM_W55,SE,MGM_W54);
not MGM_G72(MGM_W56,SI);
and MGM_G73(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W56,MGM_W55);
not MGM_G74(MGM_W57,CLK);
not MGM_G75(MGM_W58,D);
and MGM_G76(MGM_W59,MGM_W58,MGM_W57);
and MGM_G77(MGM_W60,SE,MGM_W59);
and MGM_G78(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W60);
not MGM_G79(MGM_W61,CLK);
and MGM_G80(MGM_W62,D,MGM_W61);
not MGM_G81(MGM_W63,SE);
and MGM_G82(MGM_W64,MGM_W63,MGM_W62);
not MGM_G83(MGM_W65,SI);
and MGM_G84(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W65,MGM_W64);
not MGM_G85(MGM_W66,CLK);
and MGM_G86(MGM_W67,D,MGM_W66);
not MGM_G87(MGM_W68,SE);
and MGM_G88(MGM_W69,MGM_W68,MGM_W67);
and MGM_G89(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W69);
not MGM_G90(MGM_W70,CLK);
and MGM_G91(MGM_W71,D,MGM_W70);
and MGM_G92(MGM_W72,SE,MGM_W71);
not MGM_G93(MGM_W73,SI);
and MGM_G94(ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W73,MGM_W72);
not MGM_G95(MGM_W74,CLK);
and MGM_G96(MGM_W75,D,MGM_W74);
and MGM_G97(MGM_W76,SE,MGM_W75);
and MGM_G98(ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W76);
not MGM_G99(MGM_W77,D);
and MGM_G100(MGM_W78,MGM_W77,CLK);
not MGM_G101(MGM_W79,SE);
and MGM_G102(MGM_W80,MGM_W79,MGM_W78);
not MGM_G103(MGM_W81,SI);
and MGM_G104(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W81,MGM_W80);
not MGM_G105(MGM_W82,D);
and MGM_G106(MGM_W83,MGM_W82,CLK);
not MGM_G107(MGM_W84,SE);
and MGM_G108(MGM_W85,MGM_W84,MGM_W83);
and MGM_G109(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W85);
not MGM_G110(MGM_W86,D);
and MGM_G111(MGM_W87,MGM_W86,CLK);
and MGM_G112(MGM_W88,SE,MGM_W87);
not MGM_G113(MGM_W89,SI);
and MGM_G114(ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W89,MGM_W88);
not MGM_G115(MGM_W90,D);
and MGM_G116(MGM_W91,MGM_W90,CLK);
and MGM_G117(MGM_W92,SE,MGM_W91);
and MGM_G118(ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W92);
and MGM_G119(MGM_W93,D,CLK);
not MGM_G120(MGM_W94,SE);
and MGM_G121(MGM_W95,MGM_W94,MGM_W93);
not MGM_G122(MGM_W96,SI);
and MGM_G123(ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W96,MGM_W95);
and MGM_G124(MGM_W97,D,CLK);
not MGM_G125(MGM_W98,SE);
and MGM_G126(MGM_W99,MGM_W98,MGM_W97);
and MGM_G127(ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W99);
and MGM_G128(MGM_W100,D,CLK);
and MGM_G129(MGM_W101,SE,MGM_W100);
not MGM_G130(MGM_W102,SI);
and MGM_G131(ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W102,MGM_W101);
and MGM_G132(MGM_W103,D,CLK);
and MGM_G133(MGM_W104,SE,MGM_W103);
and MGM_G134(ENABLE_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W104);
not MGM_G135(MGM_W105,D);
and MGM_G136(MGM_W106,RN,MGM_W105);
and MGM_G137(ENABLE_NOT_D_AND_RN_AND_SI,SI,MGM_W106);
and MGM_G138(MGM_W107,RN,D);
not MGM_G139(MGM_W108,SI);
and MGM_G140(ENABLE_D_AND_RN_AND_NOT_SI,MGM_W108,MGM_W107);
not MGM_G141(MGM_W109,D);
and MGM_G142(MGM_W110,RN,MGM_W109);
and MGM_G143(ENABLE_NOT_D_AND_RN_AND_SE,SE,MGM_W110);
and MGM_G144(MGM_W111,RN,D);
and MGM_G145(ENABLE_D_AND_RN_AND_SE,SE,MGM_W111);
// spec_gates_end
specify
// specify_block_begin
if(D===1'b0 && SI===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SE)) = (1.0,1.0);
if(SE===1'b0 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SI)) = (1.0,1.0);
ifnone
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),
negedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),
posedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),
negedge SE &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),
posedge SE &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),
negedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),
posedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),
negedge SI &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),
posedge SI &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE === 1'b1),1.0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module SDFFRSNQ_X1( SE, SI, D, CLK, SETN, RN, Q );
input CLK, D, RN, SE, SETN, SI;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
SDFFRSNQ_X1_func SDFFRSNQ_X1_behav_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
`else
SDFFRSNQ_X1_func SDFFRSNQ_X1_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(MGM_W1,RN,MGM_W0);
not MGM_G2(MGM_W2,SE);
and MGM_G3(MGM_W3,MGM_W2,MGM_W1);
and MGM_G4(MGM_W4,SETN,MGM_W3);
not MGM_G5(MGM_W5,SI);
and MGM_G6(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W5,MGM_W4);
not MGM_G7(MGM_W6,D);
and MGM_G8(MGM_W7,RN,MGM_W6);
not MGM_G9(MGM_W8,SE);
and MGM_G10(MGM_W9,MGM_W8,MGM_W7);
and MGM_G11(MGM_W10,SETN,MGM_W9);
and MGM_G12(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W10);
not MGM_G13(MGM_W11,D);
and MGM_G14(MGM_W12,RN,MGM_W11);
and MGM_G15(MGM_W13,SE,MGM_W12);
and MGM_G16(MGM_W14,SETN,MGM_W13);
not MGM_G17(MGM_W15,SI);
and MGM_G18(ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI,MGM_W15,MGM_W14);
not MGM_G19(MGM_W16,D);
and MGM_G20(MGM_W17,RN,MGM_W16);
and MGM_G21(MGM_W18,SE,MGM_W17);
and MGM_G22(MGM_W19,SETN,MGM_W18);
and MGM_G23(ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI,SI,MGM_W19);
and MGM_G24(MGM_W20,RN,D);
not MGM_G25(MGM_W21,SE);
and MGM_G26(MGM_W22,MGM_W21,MGM_W20);
and MGM_G27(MGM_W23,SETN,MGM_W22);
not MGM_G28(MGM_W24,SI);
and MGM_G29(ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W24,MGM_W23);
and MGM_G30(MGM_W25,RN,D);
not MGM_G31(MGM_W26,SE);
and MGM_G32(MGM_W27,MGM_W26,MGM_W25);
and MGM_G33(MGM_W28,SETN,MGM_W27);
and MGM_G34(ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W28);
and MGM_G35(MGM_W29,RN,D);
and MGM_G36(MGM_W30,SE,MGM_W29);
and MGM_G37(MGM_W31,SETN,MGM_W30);
not MGM_G38(MGM_W32,SI);
and MGM_G39(ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI,MGM_W32,MGM_W31);
and MGM_G40(MGM_W33,RN,D);
and MGM_G41(MGM_W34,SE,MGM_W33);
and MGM_G42(MGM_W35,SETN,MGM_W34);
and MGM_G43(ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI,SI,MGM_W35);
not MGM_G44(MGM_W36,SE);
and MGM_G45(MGM_W37,MGM_W36,RN);
and MGM_G46(MGM_W38,SETN,MGM_W37);
not MGM_G47(MGM_W39,SI);
and MGM_G48(ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W39,MGM_W38);
not MGM_G49(MGM_W40,SE);
and MGM_G50(MGM_W41,MGM_W40,RN);
and MGM_G51(MGM_W42,SETN,MGM_W41);
and MGM_G52(ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W42);
not MGM_G53(MGM_W43,D);
and MGM_G54(MGM_W44,SE,MGM_W43);
and MGM_G55(MGM_W45,SETN,MGM_W44);
and MGM_G56(ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W45);
not MGM_G57(MGM_W46,SE);
and MGM_G58(MGM_W47,MGM_W46,D);
and MGM_G59(MGM_W48,SETN,MGM_W47);
not MGM_G60(MGM_W49,SI);
and MGM_G61(ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W49,MGM_W48);
not MGM_G62(MGM_W50,SE);
and MGM_G63(MGM_W51,MGM_W50,D);
and MGM_G64(MGM_W52,SETN,MGM_W51);
and MGM_G65(ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W52);
and MGM_G66(MGM_W53,SE,D);
and MGM_G67(MGM_W54,SETN,MGM_W53);
and MGM_G68(ENABLE_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W54);
not MGM_G69(MGM_W55,CLK);
not MGM_G70(MGM_W56,D);
and MGM_G71(MGM_W57,MGM_W56,MGM_W55);
not MGM_G72(MGM_W58,SE);
and MGM_G73(MGM_W59,MGM_W58,MGM_W57);
and MGM_G74(MGM_W60,SETN,MGM_W59);
not MGM_G75(MGM_W61,SI);
and MGM_G76(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W61,MGM_W60);
not MGM_G77(MGM_W62,CLK);
not MGM_G78(MGM_W63,D);
and MGM_G79(MGM_W64,MGM_W63,MGM_W62);
not MGM_G80(MGM_W65,SE);
and MGM_G81(MGM_W66,MGM_W65,MGM_W64);
and MGM_G82(MGM_W67,SETN,MGM_W66);
and MGM_G83(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W67);
not MGM_G84(MGM_W68,CLK);
not MGM_G85(MGM_W69,D);
and MGM_G86(MGM_W70,MGM_W69,MGM_W68);
and MGM_G87(MGM_W71,SE,MGM_W70);
and MGM_G88(MGM_W72,SETN,MGM_W71);
not MGM_G89(MGM_W73,SI);
and MGM_G90(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W73,MGM_W72);
not MGM_G91(MGM_W74,CLK);
not MGM_G92(MGM_W75,D);
and MGM_G93(MGM_W76,MGM_W75,MGM_W74);
and MGM_G94(MGM_W77,SE,MGM_W76);
and MGM_G95(MGM_W78,SETN,MGM_W77);
and MGM_G96(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W78);
not MGM_G97(MGM_W79,CLK);
and MGM_G98(MGM_W80,D,MGM_W79);
not MGM_G99(MGM_W81,SE);
and MGM_G100(MGM_W82,MGM_W81,MGM_W80);
and MGM_G101(MGM_W83,SETN,MGM_W82);
not MGM_G102(MGM_W84,SI);
and MGM_G103(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W84,MGM_W83);
not MGM_G104(MGM_W85,CLK);
and MGM_G105(MGM_W86,D,MGM_W85);
not MGM_G106(MGM_W87,SE);
and MGM_G107(MGM_W88,MGM_W87,MGM_W86);
and MGM_G108(MGM_W89,SETN,MGM_W88);
and MGM_G109(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W89);
not MGM_G110(MGM_W90,CLK);
and MGM_G111(MGM_W91,D,MGM_W90);
and MGM_G112(MGM_W92,SE,MGM_W91);
and MGM_G113(MGM_W93,SETN,MGM_W92);
not MGM_G114(MGM_W94,SI);
and MGM_G115(ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W94,MGM_W93);
not MGM_G116(MGM_W95,CLK);
and MGM_G117(MGM_W96,D,MGM_W95);
and MGM_G118(MGM_W97,SE,MGM_W96);
and MGM_G119(MGM_W98,SETN,MGM_W97);
and MGM_G120(ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W98);
not MGM_G121(MGM_W99,D);
and MGM_G122(MGM_W100,MGM_W99,CLK);
not MGM_G123(MGM_W101,SE);
and MGM_G124(MGM_W102,MGM_W101,MGM_W100);
and MGM_G125(MGM_W103,SETN,MGM_W102);
not MGM_G126(MGM_W104,SI);
and MGM_G127(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W104,MGM_W103);
not MGM_G128(MGM_W105,D);
and MGM_G129(MGM_W106,MGM_W105,CLK);
not MGM_G130(MGM_W107,SE);
and MGM_G131(MGM_W108,MGM_W107,MGM_W106);
and MGM_G132(MGM_W109,SETN,MGM_W108);
and MGM_G133(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W109);
not MGM_G134(MGM_W110,D);
and MGM_G135(MGM_W111,MGM_W110,CLK);
and MGM_G136(MGM_W112,SE,MGM_W111);
and MGM_G137(MGM_W113,SETN,MGM_W112);
not MGM_G138(MGM_W114,SI);
and MGM_G139(ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W114,MGM_W113);
not MGM_G140(MGM_W115,D);
and MGM_G141(MGM_W116,MGM_W115,CLK);
and MGM_G142(MGM_W117,SE,MGM_W116);
and MGM_G143(MGM_W118,SETN,MGM_W117);
and MGM_G144(ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W118);
and MGM_G145(MGM_W119,D,CLK);
not MGM_G146(MGM_W120,SE);
and MGM_G147(MGM_W121,MGM_W120,MGM_W119);
and MGM_G148(MGM_W122,SETN,MGM_W121);
not MGM_G149(MGM_W123,SI);
and MGM_G150(ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W123,MGM_W122);
and MGM_G151(MGM_W124,D,CLK);
not MGM_G152(MGM_W125,SE);
and MGM_G153(MGM_W126,MGM_W125,MGM_W124);
and MGM_G154(MGM_W127,SETN,MGM_W126);
and MGM_G155(ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W127);
and MGM_G156(MGM_W128,D,CLK);
and MGM_G157(MGM_W129,SE,MGM_W128);
and MGM_G158(MGM_W130,SETN,MGM_W129);
not MGM_G159(MGM_W131,SI);
and MGM_G160(ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W131,MGM_W130);
and MGM_G161(MGM_W132,D,CLK);
and MGM_G162(MGM_W133,SE,MGM_W132);
and MGM_G163(MGM_W134,SETN,MGM_W133);
and MGM_G164(ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W134);
not MGM_G165(MGM_W135,CLK);
not MGM_G166(MGM_W136,D);
and MGM_G167(MGM_W137,MGM_W136,MGM_W135);
not MGM_G168(MGM_W138,SE);
and MGM_G169(MGM_W139,MGM_W138,MGM_W137);
not MGM_G170(MGM_W140,SI);
and MGM_G171(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W140,MGM_W139);
not MGM_G172(MGM_W141,CLK);
not MGM_G173(MGM_W142,D);
and MGM_G174(MGM_W143,MGM_W142,MGM_W141);
not MGM_G175(MGM_W144,SE);
and MGM_G176(MGM_W145,MGM_W144,MGM_W143);
and MGM_G177(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W145);
not MGM_G178(MGM_W146,CLK);
not MGM_G179(MGM_W147,D);
and MGM_G180(MGM_W148,MGM_W147,MGM_W146);
and MGM_G181(MGM_W149,SE,MGM_W148);
not MGM_G182(MGM_W150,SI);
and MGM_G183(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W150,MGM_W149);
not MGM_G184(MGM_W151,CLK);
not MGM_G185(MGM_W152,D);
and MGM_G186(MGM_W153,MGM_W152,MGM_W151);
and MGM_G187(MGM_W154,SE,MGM_W153);
and MGM_G188(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W154);
not MGM_G189(MGM_W155,CLK);
and MGM_G190(MGM_W156,D,MGM_W155);
not MGM_G191(MGM_W157,SE);
and MGM_G192(MGM_W158,MGM_W157,MGM_W156);
not MGM_G193(MGM_W159,SI);
and MGM_G194(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W159,MGM_W158);
not MGM_G195(MGM_W160,CLK);
and MGM_G196(MGM_W161,D,MGM_W160);
not MGM_G197(MGM_W162,SE);
and MGM_G198(MGM_W163,MGM_W162,MGM_W161);
and MGM_G199(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W163);
not MGM_G200(MGM_W164,CLK);
and MGM_G201(MGM_W165,D,MGM_W164);
and MGM_G202(MGM_W166,SE,MGM_W165);
not MGM_G203(MGM_W167,SI);
and MGM_G204(ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W167,MGM_W166);
not MGM_G205(MGM_W168,CLK);
and MGM_G206(MGM_W169,D,MGM_W168);
and MGM_G207(MGM_W170,SE,MGM_W169);
and MGM_G208(ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W170);
not MGM_G209(MGM_W171,D);
and MGM_G210(MGM_W172,MGM_W171,CLK);
not MGM_G211(MGM_W173,SE);
and MGM_G212(MGM_W174,MGM_W173,MGM_W172);
not MGM_G213(MGM_W175,SI);
and MGM_G214(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W175,MGM_W174);
not MGM_G215(MGM_W176,D);
and MGM_G216(MGM_W177,MGM_W176,CLK);
not MGM_G217(MGM_W178,SE);
and MGM_G218(MGM_W179,MGM_W178,MGM_W177);
and MGM_G219(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W179);
not MGM_G220(MGM_W180,D);
and MGM_G221(MGM_W181,MGM_W180,CLK);
and MGM_G222(MGM_W182,SE,MGM_W181);
not MGM_G223(MGM_W183,SI);
and MGM_G224(ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W183,MGM_W182);
not MGM_G225(MGM_W184,D);
and MGM_G226(MGM_W185,MGM_W184,CLK);
and MGM_G227(MGM_W186,SE,MGM_W185);
and MGM_G228(ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W186);
and MGM_G229(MGM_W187,D,CLK);
not MGM_G230(MGM_W188,SE);
and MGM_G231(MGM_W189,MGM_W188,MGM_W187);
not MGM_G232(MGM_W190,SI);
and MGM_G233(ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W190,MGM_W189);
and MGM_G234(MGM_W191,D,CLK);
not MGM_G235(MGM_W192,SE);
and MGM_G236(MGM_W193,MGM_W192,MGM_W191);
and MGM_G237(ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W193);
and MGM_G238(MGM_W194,D,CLK);
and MGM_G239(MGM_W195,SE,MGM_W194);
not MGM_G240(MGM_W196,SI);
and MGM_G241(ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W196,MGM_W195);
and MGM_G242(MGM_W197,D,CLK);
and MGM_G243(MGM_W198,SE,MGM_W197);
and MGM_G244(ENABLE_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W198);
not MGM_G245(MGM_W199,D);
and MGM_G246(MGM_W200,RN,MGM_W199);
and MGM_G247(MGM_W201,SETN,MGM_W200);
and MGM_G248(ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI,SI,MGM_W201);
and MGM_G249(MGM_W202,RN,D);
and MGM_G250(MGM_W203,SETN,MGM_W202);
not MGM_G251(MGM_W204,SI);
and MGM_G252(ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI,MGM_W204,MGM_W203);
not MGM_G253(MGM_W205,D);
and MGM_G254(MGM_W206,RN,MGM_W205);
not MGM_G255(MGM_W207,SE);
and MGM_G256(MGM_W208,MGM_W207,MGM_W206);
not MGM_G257(MGM_W209,SI);
and MGM_G258(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W209,MGM_W208);
not MGM_G259(MGM_W210,D);
and MGM_G260(MGM_W211,RN,MGM_W210);
not MGM_G261(MGM_W212,SE);
and MGM_G262(MGM_W213,MGM_W212,MGM_W211);
and MGM_G263(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W213);
not MGM_G264(MGM_W214,D);
and MGM_G265(MGM_W215,RN,MGM_W214);
and MGM_G266(MGM_W216,SE,MGM_W215);
not MGM_G267(MGM_W217,SI);
and MGM_G268(ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W217,MGM_W216);
and MGM_G269(MGM_W218,RN,D);
and MGM_G270(MGM_W219,SE,MGM_W218);
not MGM_G271(MGM_W220,SI);
and MGM_G272(ENABLE_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W220,MGM_W219);
not MGM_G273(MGM_W221,CLK);
not MGM_G274(MGM_W222,D);
and MGM_G275(MGM_W223,MGM_W222,MGM_W221);
and MGM_G276(MGM_W224,RN,MGM_W223);
not MGM_G277(MGM_W225,SE);
and MGM_G278(MGM_W226,MGM_W225,MGM_W224);
not MGM_G279(MGM_W227,SI);
and MGM_G280(ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W227,MGM_W226);
not MGM_G281(MGM_W228,CLK);
not MGM_G282(MGM_W229,D);
and MGM_G283(MGM_W230,MGM_W229,MGM_W228);
and MGM_G284(MGM_W231,RN,MGM_W230);
not MGM_G285(MGM_W232,SE);
and MGM_G286(MGM_W233,MGM_W232,MGM_W231);
and MGM_G287(ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W233);
not MGM_G288(MGM_W234,CLK);
not MGM_G289(MGM_W235,D);
and MGM_G290(MGM_W236,MGM_W235,MGM_W234);
and MGM_G291(MGM_W237,RN,MGM_W236);
and MGM_G292(MGM_W238,SE,MGM_W237);
not MGM_G293(MGM_W239,SI);
and MGM_G294(ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W239,MGM_W238);
not MGM_G295(MGM_W240,CLK);
not MGM_G296(MGM_W241,D);
and MGM_G297(MGM_W242,MGM_W241,MGM_W240);
and MGM_G298(MGM_W243,RN,MGM_W242);
and MGM_G299(MGM_W244,SE,MGM_W243);
and MGM_G300(ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI,SI,MGM_W244);
not MGM_G301(MGM_W245,CLK);
and MGM_G302(MGM_W246,D,MGM_W245);
and MGM_G303(MGM_W247,RN,MGM_W246);
not MGM_G304(MGM_W248,SE);
and MGM_G305(MGM_W249,MGM_W248,MGM_W247);
not MGM_G306(MGM_W250,SI);
and MGM_G307(ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W250,MGM_W249);
not MGM_G308(MGM_W251,CLK);
and MGM_G309(MGM_W252,D,MGM_W251);
and MGM_G310(MGM_W253,RN,MGM_W252);
not MGM_G311(MGM_W254,SE);
and MGM_G312(MGM_W255,MGM_W254,MGM_W253);
and MGM_G313(ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W255);
not MGM_G314(MGM_W256,CLK);
and MGM_G315(MGM_W257,D,MGM_W256);
and MGM_G316(MGM_W258,RN,MGM_W257);
and MGM_G317(MGM_W259,SE,MGM_W258);
not MGM_G318(MGM_W260,SI);
and MGM_G319(ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W260,MGM_W259);
not MGM_G320(MGM_W261,CLK);
and MGM_G321(MGM_W262,D,MGM_W261);
and MGM_G322(MGM_W263,RN,MGM_W262);
and MGM_G323(MGM_W264,SE,MGM_W263);
and MGM_G324(ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_SI,SI,MGM_W264);
not MGM_G325(MGM_W265,D);
and MGM_G326(MGM_W266,MGM_W265,CLK);
and MGM_G327(MGM_W267,RN,MGM_W266);
not MGM_G328(MGM_W268,SE);
and MGM_G329(MGM_W269,MGM_W268,MGM_W267);
not MGM_G330(MGM_W270,SI);
and MGM_G331(ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W270,MGM_W269);
not MGM_G332(MGM_W271,D);
and MGM_G333(MGM_W272,MGM_W271,CLK);
and MGM_G334(MGM_W273,RN,MGM_W272);
not MGM_G335(MGM_W274,SE);
and MGM_G336(MGM_W275,MGM_W274,MGM_W273);
and MGM_G337(ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W275);
not MGM_G338(MGM_W276,D);
and MGM_G339(MGM_W277,MGM_W276,CLK);
and MGM_G340(MGM_W278,RN,MGM_W277);
and MGM_G341(MGM_W279,SE,MGM_W278);
not MGM_G342(MGM_W280,SI);
and MGM_G343(ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W280,MGM_W279);
not MGM_G344(MGM_W281,D);
and MGM_G345(MGM_W282,MGM_W281,CLK);
and MGM_G346(MGM_W283,RN,MGM_W282);
and MGM_G347(MGM_W284,SE,MGM_W283);
and MGM_G348(ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI,SI,MGM_W284);
and MGM_G349(MGM_W285,D,CLK);
and MGM_G350(MGM_W286,RN,MGM_W285);
not MGM_G351(MGM_W287,SE);
and MGM_G352(MGM_W288,MGM_W287,MGM_W286);
not MGM_G353(MGM_W289,SI);
and MGM_G354(ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W289,MGM_W288);
and MGM_G355(MGM_W290,D,CLK);
and MGM_G356(MGM_W291,RN,MGM_W290);
not MGM_G357(MGM_W292,SE);
and MGM_G358(MGM_W293,MGM_W292,MGM_W291);
and MGM_G359(ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W293);
and MGM_G360(MGM_W294,D,CLK);
and MGM_G361(MGM_W295,RN,MGM_W294);
and MGM_G362(MGM_W296,SE,MGM_W295);
not MGM_G363(MGM_W297,SI);
and MGM_G364(ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W297,MGM_W296);
and MGM_G365(MGM_W298,D,CLK);
and MGM_G366(MGM_W299,RN,MGM_W298);
and MGM_G367(MGM_W300,SE,MGM_W299);
and MGM_G368(ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_SI,SI,MGM_W300);
not MGM_G369(MGM_W301,D);
and MGM_G370(MGM_W302,RN,MGM_W301);
and MGM_G371(MGM_W303,SE,MGM_W302);
and MGM_G372(ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN,SETN,MGM_W303);
and MGM_G373(MGM_W304,RN,D);
and MGM_G374(MGM_W305,SE,MGM_W304);
and MGM_G375(ENABLE_D_AND_RN_AND_SE_AND_SETN,SETN,MGM_W305);
// spec_gates_end
specify
// specify_block_begin
if(D===1'b0 && SI===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SE)) = (1.0,1.0);
if(SE===1'b0 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SI)) = (1.0,1.0);
ifnone
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),
negedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),
posedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),
negedge SE &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),
posedge SE &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),
negedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),
negedge SI &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge SI &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module SDFFRSNQ_X2( SE, SI, D, CLK, SETN, RN, Q );
input CLK, D, RN, SE, SETN, SI;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
SDFFRSNQ_X2_func SDFFRSNQ_X2_behav_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
`else
SDFFRSNQ_X2_func SDFFRSNQ_X2_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(MGM_W1,RN,MGM_W0);
not MGM_G2(MGM_W2,SE);
and MGM_G3(MGM_W3,MGM_W2,MGM_W1);
and MGM_G4(MGM_W4,SETN,MGM_W3);
not MGM_G5(MGM_W5,SI);
and MGM_G6(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W5,MGM_W4);
not MGM_G7(MGM_W6,D);
and MGM_G8(MGM_W7,RN,MGM_W6);
not MGM_G9(MGM_W8,SE);
and MGM_G10(MGM_W9,MGM_W8,MGM_W7);
and MGM_G11(MGM_W10,SETN,MGM_W9);
and MGM_G12(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W10);
not MGM_G13(MGM_W11,D);
and MGM_G14(MGM_W12,RN,MGM_W11);
and MGM_G15(MGM_W13,SE,MGM_W12);
and MGM_G16(MGM_W14,SETN,MGM_W13);
not MGM_G17(MGM_W15,SI);
and MGM_G18(ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI,MGM_W15,MGM_W14);
not MGM_G19(MGM_W16,D);
and MGM_G20(MGM_W17,RN,MGM_W16);
and MGM_G21(MGM_W18,SE,MGM_W17);
and MGM_G22(MGM_W19,SETN,MGM_W18);
and MGM_G23(ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI,SI,MGM_W19);
and MGM_G24(MGM_W20,RN,D);
not MGM_G25(MGM_W21,SE);
and MGM_G26(MGM_W22,MGM_W21,MGM_W20);
and MGM_G27(MGM_W23,SETN,MGM_W22);
not MGM_G28(MGM_W24,SI);
and MGM_G29(ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W24,MGM_W23);
and MGM_G30(MGM_W25,RN,D);
not MGM_G31(MGM_W26,SE);
and MGM_G32(MGM_W27,MGM_W26,MGM_W25);
and MGM_G33(MGM_W28,SETN,MGM_W27);
and MGM_G34(ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W28);
and MGM_G35(MGM_W29,RN,D);
and MGM_G36(MGM_W30,SE,MGM_W29);
and MGM_G37(MGM_W31,SETN,MGM_W30);
not MGM_G38(MGM_W32,SI);
and MGM_G39(ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI,MGM_W32,MGM_W31);
and MGM_G40(MGM_W33,RN,D);
and MGM_G41(MGM_W34,SE,MGM_W33);
and MGM_G42(MGM_W35,SETN,MGM_W34);
and MGM_G43(ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI,SI,MGM_W35);
not MGM_G44(MGM_W36,SE);
and MGM_G45(MGM_W37,MGM_W36,RN);
and MGM_G46(MGM_W38,SETN,MGM_W37);
not MGM_G47(MGM_W39,SI);
and MGM_G48(ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W39,MGM_W38);
not MGM_G49(MGM_W40,SE);
and MGM_G50(MGM_W41,MGM_W40,RN);
and MGM_G51(MGM_W42,SETN,MGM_W41);
and MGM_G52(ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W42);
not MGM_G53(MGM_W43,D);
and MGM_G54(MGM_W44,SE,MGM_W43);
and MGM_G55(MGM_W45,SETN,MGM_W44);
and MGM_G56(ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W45);
not MGM_G57(MGM_W46,SE);
and MGM_G58(MGM_W47,MGM_W46,D);
and MGM_G59(MGM_W48,SETN,MGM_W47);
not MGM_G60(MGM_W49,SI);
and MGM_G61(ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W49,MGM_W48);
not MGM_G62(MGM_W50,SE);
and MGM_G63(MGM_W51,MGM_W50,D);
and MGM_G64(MGM_W52,SETN,MGM_W51);
and MGM_G65(ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W52);
and MGM_G66(MGM_W53,SE,D);
and MGM_G67(MGM_W54,SETN,MGM_W53);
and MGM_G68(ENABLE_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W54);
not MGM_G69(MGM_W55,CLK);
not MGM_G70(MGM_W56,D);
and MGM_G71(MGM_W57,MGM_W56,MGM_W55);
not MGM_G72(MGM_W58,SE);
and MGM_G73(MGM_W59,MGM_W58,MGM_W57);
and MGM_G74(MGM_W60,SETN,MGM_W59);
not MGM_G75(MGM_W61,SI);
and MGM_G76(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W61,MGM_W60);
not MGM_G77(MGM_W62,CLK);
not MGM_G78(MGM_W63,D);
and MGM_G79(MGM_W64,MGM_W63,MGM_W62);
not MGM_G80(MGM_W65,SE);
and MGM_G81(MGM_W66,MGM_W65,MGM_W64);
and MGM_G82(MGM_W67,SETN,MGM_W66);
and MGM_G83(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W67);
not MGM_G84(MGM_W68,CLK);
not MGM_G85(MGM_W69,D);
and MGM_G86(MGM_W70,MGM_W69,MGM_W68);
and MGM_G87(MGM_W71,SE,MGM_W70);
and MGM_G88(MGM_W72,SETN,MGM_W71);
not MGM_G89(MGM_W73,SI);
and MGM_G90(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W73,MGM_W72);
not MGM_G91(MGM_W74,CLK);
not MGM_G92(MGM_W75,D);
and MGM_G93(MGM_W76,MGM_W75,MGM_W74);
and MGM_G94(MGM_W77,SE,MGM_W76);
and MGM_G95(MGM_W78,SETN,MGM_W77);
and MGM_G96(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W78);
not MGM_G97(MGM_W79,CLK);
and MGM_G98(MGM_W80,D,MGM_W79);
not MGM_G99(MGM_W81,SE);
and MGM_G100(MGM_W82,MGM_W81,MGM_W80);
and MGM_G101(MGM_W83,SETN,MGM_W82);
not MGM_G102(MGM_W84,SI);
and MGM_G103(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W84,MGM_W83);
not MGM_G104(MGM_W85,CLK);
and MGM_G105(MGM_W86,D,MGM_W85);
not MGM_G106(MGM_W87,SE);
and MGM_G107(MGM_W88,MGM_W87,MGM_W86);
and MGM_G108(MGM_W89,SETN,MGM_W88);
and MGM_G109(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W89);
not MGM_G110(MGM_W90,CLK);
and MGM_G111(MGM_W91,D,MGM_W90);
and MGM_G112(MGM_W92,SE,MGM_W91);
and MGM_G113(MGM_W93,SETN,MGM_W92);
not MGM_G114(MGM_W94,SI);
and MGM_G115(ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W94,MGM_W93);
not MGM_G116(MGM_W95,CLK);
and MGM_G117(MGM_W96,D,MGM_W95);
and MGM_G118(MGM_W97,SE,MGM_W96);
and MGM_G119(MGM_W98,SETN,MGM_W97);
and MGM_G120(ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W98);
not MGM_G121(MGM_W99,D);
and MGM_G122(MGM_W100,MGM_W99,CLK);
not MGM_G123(MGM_W101,SE);
and MGM_G124(MGM_W102,MGM_W101,MGM_W100);
and MGM_G125(MGM_W103,SETN,MGM_W102);
not MGM_G126(MGM_W104,SI);
and MGM_G127(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W104,MGM_W103);
not MGM_G128(MGM_W105,D);
and MGM_G129(MGM_W106,MGM_W105,CLK);
not MGM_G130(MGM_W107,SE);
and MGM_G131(MGM_W108,MGM_W107,MGM_W106);
and MGM_G132(MGM_W109,SETN,MGM_W108);
and MGM_G133(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W109);
not MGM_G134(MGM_W110,D);
and MGM_G135(MGM_W111,MGM_W110,CLK);
and MGM_G136(MGM_W112,SE,MGM_W111);
and MGM_G137(MGM_W113,SETN,MGM_W112);
not MGM_G138(MGM_W114,SI);
and MGM_G139(ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W114,MGM_W113);
not MGM_G140(MGM_W115,D);
and MGM_G141(MGM_W116,MGM_W115,CLK);
and MGM_G142(MGM_W117,SE,MGM_W116);
and MGM_G143(MGM_W118,SETN,MGM_W117);
and MGM_G144(ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W118);
and MGM_G145(MGM_W119,D,CLK);
not MGM_G146(MGM_W120,SE);
and MGM_G147(MGM_W121,MGM_W120,MGM_W119);
and MGM_G148(MGM_W122,SETN,MGM_W121);
not MGM_G149(MGM_W123,SI);
and MGM_G150(ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W123,MGM_W122);
and MGM_G151(MGM_W124,D,CLK);
not MGM_G152(MGM_W125,SE);
and MGM_G153(MGM_W126,MGM_W125,MGM_W124);
and MGM_G154(MGM_W127,SETN,MGM_W126);
and MGM_G155(ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W127);
and MGM_G156(MGM_W128,D,CLK);
and MGM_G157(MGM_W129,SE,MGM_W128);
and MGM_G158(MGM_W130,SETN,MGM_W129);
not MGM_G159(MGM_W131,SI);
and MGM_G160(ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W131,MGM_W130);
and MGM_G161(MGM_W132,D,CLK);
and MGM_G162(MGM_W133,SE,MGM_W132);
and MGM_G163(MGM_W134,SETN,MGM_W133);
and MGM_G164(ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W134);
not MGM_G165(MGM_W135,CLK);
not MGM_G166(MGM_W136,D);
and MGM_G167(MGM_W137,MGM_W136,MGM_W135);
not MGM_G168(MGM_W138,SE);
and MGM_G169(MGM_W139,MGM_W138,MGM_W137);
not MGM_G170(MGM_W140,SI);
and MGM_G171(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W140,MGM_W139);
not MGM_G172(MGM_W141,CLK);
not MGM_G173(MGM_W142,D);
and MGM_G174(MGM_W143,MGM_W142,MGM_W141);
not MGM_G175(MGM_W144,SE);
and MGM_G176(MGM_W145,MGM_W144,MGM_W143);
and MGM_G177(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W145);
not MGM_G178(MGM_W146,CLK);
not MGM_G179(MGM_W147,D);
and MGM_G180(MGM_W148,MGM_W147,MGM_W146);
and MGM_G181(MGM_W149,SE,MGM_W148);
not MGM_G182(MGM_W150,SI);
and MGM_G183(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W150,MGM_W149);
not MGM_G184(MGM_W151,CLK);
not MGM_G185(MGM_W152,D);
and MGM_G186(MGM_W153,MGM_W152,MGM_W151);
and MGM_G187(MGM_W154,SE,MGM_W153);
and MGM_G188(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W154);
not MGM_G189(MGM_W155,CLK);
and MGM_G190(MGM_W156,D,MGM_W155);
not MGM_G191(MGM_W157,SE);
and MGM_G192(MGM_W158,MGM_W157,MGM_W156);
not MGM_G193(MGM_W159,SI);
and MGM_G194(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W159,MGM_W158);
not MGM_G195(MGM_W160,CLK);
and MGM_G196(MGM_W161,D,MGM_W160);
not MGM_G197(MGM_W162,SE);
and MGM_G198(MGM_W163,MGM_W162,MGM_W161);
and MGM_G199(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W163);
not MGM_G200(MGM_W164,CLK);
and MGM_G201(MGM_W165,D,MGM_W164);
and MGM_G202(MGM_W166,SE,MGM_W165);
not MGM_G203(MGM_W167,SI);
and MGM_G204(ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W167,MGM_W166);
not MGM_G205(MGM_W168,CLK);
and MGM_G206(MGM_W169,D,MGM_W168);
and MGM_G207(MGM_W170,SE,MGM_W169);
and MGM_G208(ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W170);
not MGM_G209(MGM_W171,D);
and MGM_G210(MGM_W172,MGM_W171,CLK);
not MGM_G211(MGM_W173,SE);
and MGM_G212(MGM_W174,MGM_W173,MGM_W172);
not MGM_G213(MGM_W175,SI);
and MGM_G214(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W175,MGM_W174);
not MGM_G215(MGM_W176,D);
and MGM_G216(MGM_W177,MGM_W176,CLK);
not MGM_G217(MGM_W178,SE);
and MGM_G218(MGM_W179,MGM_W178,MGM_W177);
and MGM_G219(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W179);
not MGM_G220(MGM_W180,D);
and MGM_G221(MGM_W181,MGM_W180,CLK);
and MGM_G222(MGM_W182,SE,MGM_W181);
not MGM_G223(MGM_W183,SI);
and MGM_G224(ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W183,MGM_W182);
not MGM_G225(MGM_W184,D);
and MGM_G226(MGM_W185,MGM_W184,CLK);
and MGM_G227(MGM_W186,SE,MGM_W185);
and MGM_G228(ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W186);
and MGM_G229(MGM_W187,D,CLK);
not MGM_G230(MGM_W188,SE);
and MGM_G231(MGM_W189,MGM_W188,MGM_W187);
not MGM_G232(MGM_W190,SI);
and MGM_G233(ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W190,MGM_W189);
and MGM_G234(MGM_W191,D,CLK);
not MGM_G235(MGM_W192,SE);
and MGM_G236(MGM_W193,MGM_W192,MGM_W191);
and MGM_G237(ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W193);
and MGM_G238(MGM_W194,D,CLK);
and MGM_G239(MGM_W195,SE,MGM_W194);
not MGM_G240(MGM_W196,SI);
and MGM_G241(ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W196,MGM_W195);
and MGM_G242(MGM_W197,D,CLK);
and MGM_G243(MGM_W198,SE,MGM_W197);
and MGM_G244(ENABLE_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W198);
not MGM_G245(MGM_W199,D);
and MGM_G246(MGM_W200,RN,MGM_W199);
and MGM_G247(MGM_W201,SETN,MGM_W200);
and MGM_G248(ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI,SI,MGM_W201);
and MGM_G249(MGM_W202,RN,D);
and MGM_G250(MGM_W203,SETN,MGM_W202);
not MGM_G251(MGM_W204,SI);
and MGM_G252(ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI,MGM_W204,MGM_W203);
not MGM_G253(MGM_W205,D);
and MGM_G254(MGM_W206,RN,MGM_W205);
not MGM_G255(MGM_W207,SE);
and MGM_G256(MGM_W208,MGM_W207,MGM_W206);
not MGM_G257(MGM_W209,SI);
and MGM_G258(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W209,MGM_W208);
not MGM_G259(MGM_W210,D);
and MGM_G260(MGM_W211,RN,MGM_W210);
not MGM_G261(MGM_W212,SE);
and MGM_G262(MGM_W213,MGM_W212,MGM_W211);
and MGM_G263(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W213);
not MGM_G264(MGM_W214,D);
and MGM_G265(MGM_W215,RN,MGM_W214);
and MGM_G266(MGM_W216,SE,MGM_W215);
not MGM_G267(MGM_W217,SI);
and MGM_G268(ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W217,MGM_W216);
and MGM_G269(MGM_W218,RN,D);
and MGM_G270(MGM_W219,SE,MGM_W218);
not MGM_G271(MGM_W220,SI);
and MGM_G272(ENABLE_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W220,MGM_W219);
not MGM_G273(MGM_W221,CLK);
not MGM_G274(MGM_W222,D);
and MGM_G275(MGM_W223,MGM_W222,MGM_W221);
and MGM_G276(MGM_W224,RN,MGM_W223);
not MGM_G277(MGM_W225,SE);
and MGM_G278(MGM_W226,MGM_W225,MGM_W224);
not MGM_G279(MGM_W227,SI);
and MGM_G280(ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W227,MGM_W226);
not MGM_G281(MGM_W228,CLK);
not MGM_G282(MGM_W229,D);
and MGM_G283(MGM_W230,MGM_W229,MGM_W228);
and MGM_G284(MGM_W231,RN,MGM_W230);
not MGM_G285(MGM_W232,SE);
and MGM_G286(MGM_W233,MGM_W232,MGM_W231);
and MGM_G287(ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W233);
not MGM_G288(MGM_W234,CLK);
not MGM_G289(MGM_W235,D);
and MGM_G290(MGM_W236,MGM_W235,MGM_W234);
and MGM_G291(MGM_W237,RN,MGM_W236);
and MGM_G292(MGM_W238,SE,MGM_W237);
not MGM_G293(MGM_W239,SI);
and MGM_G294(ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W239,MGM_W238);
not MGM_G295(MGM_W240,CLK);
not MGM_G296(MGM_W241,D);
and MGM_G297(MGM_W242,MGM_W241,MGM_W240);
and MGM_G298(MGM_W243,RN,MGM_W242);
and MGM_G299(MGM_W244,SE,MGM_W243);
and MGM_G300(ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI,SI,MGM_W244);
not MGM_G301(MGM_W245,CLK);
and MGM_G302(MGM_W246,D,MGM_W245);
and MGM_G303(MGM_W247,RN,MGM_W246);
not MGM_G304(MGM_W248,SE);
and MGM_G305(MGM_W249,MGM_W248,MGM_W247);
not MGM_G306(MGM_W250,SI);
and MGM_G307(ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W250,MGM_W249);
not MGM_G308(MGM_W251,CLK);
and MGM_G309(MGM_W252,D,MGM_W251);
and MGM_G310(MGM_W253,RN,MGM_W252);
not MGM_G311(MGM_W254,SE);
and MGM_G312(MGM_W255,MGM_W254,MGM_W253);
and MGM_G313(ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W255);
not MGM_G314(MGM_W256,CLK);
and MGM_G315(MGM_W257,D,MGM_W256);
and MGM_G316(MGM_W258,RN,MGM_W257);
and MGM_G317(MGM_W259,SE,MGM_W258);
not MGM_G318(MGM_W260,SI);
and MGM_G319(ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W260,MGM_W259);
not MGM_G320(MGM_W261,CLK);
and MGM_G321(MGM_W262,D,MGM_W261);
and MGM_G322(MGM_W263,RN,MGM_W262);
and MGM_G323(MGM_W264,SE,MGM_W263);
and MGM_G324(ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_SI,SI,MGM_W264);
not MGM_G325(MGM_W265,D);
and MGM_G326(MGM_W266,MGM_W265,CLK);
and MGM_G327(MGM_W267,RN,MGM_W266);
not MGM_G328(MGM_W268,SE);
and MGM_G329(MGM_W269,MGM_W268,MGM_W267);
not MGM_G330(MGM_W270,SI);
and MGM_G331(ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W270,MGM_W269);
not MGM_G332(MGM_W271,D);
and MGM_G333(MGM_W272,MGM_W271,CLK);
and MGM_G334(MGM_W273,RN,MGM_W272);
not MGM_G335(MGM_W274,SE);
and MGM_G336(MGM_W275,MGM_W274,MGM_W273);
and MGM_G337(ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W275);
not MGM_G338(MGM_W276,D);
and MGM_G339(MGM_W277,MGM_W276,CLK);
and MGM_G340(MGM_W278,RN,MGM_W277);
and MGM_G341(MGM_W279,SE,MGM_W278);
not MGM_G342(MGM_W280,SI);
and MGM_G343(ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W280,MGM_W279);
not MGM_G344(MGM_W281,D);
and MGM_G345(MGM_W282,MGM_W281,CLK);
and MGM_G346(MGM_W283,RN,MGM_W282);
and MGM_G347(MGM_W284,SE,MGM_W283);
and MGM_G348(ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI,SI,MGM_W284);
and MGM_G349(MGM_W285,D,CLK);
and MGM_G350(MGM_W286,RN,MGM_W285);
not MGM_G351(MGM_W287,SE);
and MGM_G352(MGM_W288,MGM_W287,MGM_W286);
not MGM_G353(MGM_W289,SI);
and MGM_G354(ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W289,MGM_W288);
and MGM_G355(MGM_W290,D,CLK);
and MGM_G356(MGM_W291,RN,MGM_W290);
not MGM_G357(MGM_W292,SE);
and MGM_G358(MGM_W293,MGM_W292,MGM_W291);
and MGM_G359(ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W293);
and MGM_G360(MGM_W294,D,CLK);
and MGM_G361(MGM_W295,RN,MGM_W294);
and MGM_G362(MGM_W296,SE,MGM_W295);
not MGM_G363(MGM_W297,SI);
and MGM_G364(ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W297,MGM_W296);
and MGM_G365(MGM_W298,D,CLK);
and MGM_G366(MGM_W299,RN,MGM_W298);
and MGM_G367(MGM_W300,SE,MGM_W299);
and MGM_G368(ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_SI,SI,MGM_W300);
not MGM_G369(MGM_W301,D);
and MGM_G370(MGM_W302,RN,MGM_W301);
and MGM_G371(MGM_W303,SE,MGM_W302);
and MGM_G372(ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN,SETN,MGM_W303);
and MGM_G373(MGM_W304,RN,D);
and MGM_G374(MGM_W305,SE,MGM_W304);
and MGM_G375(ENABLE_D_AND_RN_AND_SE_AND_SETN,SETN,MGM_W305);
// spec_gates_end
specify
// specify_block_begin
if(D===1'b0 && SI===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SE)) = (1.0,1.0);
if(SE===1'b0 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SI)) = (1.0,1.0);
ifnone
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),
negedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),
posedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),
negedge SE &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),
posedge SE &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),
negedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),
negedge SI &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge SI &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module SDFFRSNQ_X4( SE, SI, D, CLK, SETN, RN, Q );
input CLK, D, RN, SE, SETN, SI;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
SDFFRSNQ_X4_func SDFFRSNQ_X4_behav_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
`else
SDFFRSNQ_X4_func SDFFRSNQ_X4_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.SETN(SETN),.RN(RN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
and MGM_G1(MGM_W1,RN,MGM_W0);
not MGM_G2(MGM_W2,SE);
and MGM_G3(MGM_W3,MGM_W2,MGM_W1);
and MGM_G4(MGM_W4,SETN,MGM_W3);
not MGM_G5(MGM_W5,SI);
and MGM_G6(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W5,MGM_W4);
not MGM_G7(MGM_W6,D);
and MGM_G8(MGM_W7,RN,MGM_W6);
not MGM_G9(MGM_W8,SE);
and MGM_G10(MGM_W9,MGM_W8,MGM_W7);
and MGM_G11(MGM_W10,SETN,MGM_W9);
and MGM_G12(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W10);
not MGM_G13(MGM_W11,D);
and MGM_G14(MGM_W12,RN,MGM_W11);
and MGM_G15(MGM_W13,SE,MGM_W12);
and MGM_G16(MGM_W14,SETN,MGM_W13);
not MGM_G17(MGM_W15,SI);
and MGM_G18(ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI,MGM_W15,MGM_W14);
not MGM_G19(MGM_W16,D);
and MGM_G20(MGM_W17,RN,MGM_W16);
and MGM_G21(MGM_W18,SE,MGM_W17);
and MGM_G22(MGM_W19,SETN,MGM_W18);
and MGM_G23(ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI,SI,MGM_W19);
and MGM_G24(MGM_W20,RN,D);
not MGM_G25(MGM_W21,SE);
and MGM_G26(MGM_W22,MGM_W21,MGM_W20);
and MGM_G27(MGM_W23,SETN,MGM_W22);
not MGM_G28(MGM_W24,SI);
and MGM_G29(ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W24,MGM_W23);
and MGM_G30(MGM_W25,RN,D);
not MGM_G31(MGM_W26,SE);
and MGM_G32(MGM_W27,MGM_W26,MGM_W25);
and MGM_G33(MGM_W28,SETN,MGM_W27);
and MGM_G34(ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W28);
and MGM_G35(MGM_W29,RN,D);
and MGM_G36(MGM_W30,SE,MGM_W29);
and MGM_G37(MGM_W31,SETN,MGM_W30);
not MGM_G38(MGM_W32,SI);
and MGM_G39(ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI,MGM_W32,MGM_W31);
and MGM_G40(MGM_W33,RN,D);
and MGM_G41(MGM_W34,SE,MGM_W33);
and MGM_G42(MGM_W35,SETN,MGM_W34);
and MGM_G43(ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI,SI,MGM_W35);
not MGM_G44(MGM_W36,SE);
and MGM_G45(MGM_W37,MGM_W36,RN);
and MGM_G46(MGM_W38,SETN,MGM_W37);
not MGM_G47(MGM_W39,SI);
and MGM_G48(ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W39,MGM_W38);
not MGM_G49(MGM_W40,SE);
and MGM_G50(MGM_W41,MGM_W40,RN);
and MGM_G51(MGM_W42,SETN,MGM_W41);
and MGM_G52(ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W42);
not MGM_G53(MGM_W43,D);
and MGM_G54(MGM_W44,SE,MGM_W43);
and MGM_G55(MGM_W45,SETN,MGM_W44);
and MGM_G56(ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W45);
not MGM_G57(MGM_W46,SE);
and MGM_G58(MGM_W47,MGM_W46,D);
and MGM_G59(MGM_W48,SETN,MGM_W47);
not MGM_G60(MGM_W49,SI);
and MGM_G61(ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W49,MGM_W48);
not MGM_G62(MGM_W50,SE);
and MGM_G63(MGM_W51,MGM_W50,D);
and MGM_G64(MGM_W52,SETN,MGM_W51);
and MGM_G65(ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W52);
and MGM_G66(MGM_W53,SE,D);
and MGM_G67(MGM_W54,SETN,MGM_W53);
and MGM_G68(ENABLE_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W54);
not MGM_G69(MGM_W55,CLK);
not MGM_G70(MGM_W56,D);
and MGM_G71(MGM_W57,MGM_W56,MGM_W55);
not MGM_G72(MGM_W58,SE);
and MGM_G73(MGM_W59,MGM_W58,MGM_W57);
and MGM_G74(MGM_W60,SETN,MGM_W59);
not MGM_G75(MGM_W61,SI);
and MGM_G76(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W61,MGM_W60);
not MGM_G77(MGM_W62,CLK);
not MGM_G78(MGM_W63,D);
and MGM_G79(MGM_W64,MGM_W63,MGM_W62);
not MGM_G80(MGM_W65,SE);
and MGM_G81(MGM_W66,MGM_W65,MGM_W64);
and MGM_G82(MGM_W67,SETN,MGM_W66);
and MGM_G83(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W67);
not MGM_G84(MGM_W68,CLK);
not MGM_G85(MGM_W69,D);
and MGM_G86(MGM_W70,MGM_W69,MGM_W68);
and MGM_G87(MGM_W71,SE,MGM_W70);
and MGM_G88(MGM_W72,SETN,MGM_W71);
not MGM_G89(MGM_W73,SI);
and MGM_G90(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W73,MGM_W72);
not MGM_G91(MGM_W74,CLK);
not MGM_G92(MGM_W75,D);
and MGM_G93(MGM_W76,MGM_W75,MGM_W74);
and MGM_G94(MGM_W77,SE,MGM_W76);
and MGM_G95(MGM_W78,SETN,MGM_W77);
and MGM_G96(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W78);
not MGM_G97(MGM_W79,CLK);
and MGM_G98(MGM_W80,D,MGM_W79);
not MGM_G99(MGM_W81,SE);
and MGM_G100(MGM_W82,MGM_W81,MGM_W80);
and MGM_G101(MGM_W83,SETN,MGM_W82);
not MGM_G102(MGM_W84,SI);
and MGM_G103(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W84,MGM_W83);
not MGM_G104(MGM_W85,CLK);
and MGM_G105(MGM_W86,D,MGM_W85);
not MGM_G106(MGM_W87,SE);
and MGM_G107(MGM_W88,MGM_W87,MGM_W86);
and MGM_G108(MGM_W89,SETN,MGM_W88);
and MGM_G109(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W89);
not MGM_G110(MGM_W90,CLK);
and MGM_G111(MGM_W91,D,MGM_W90);
and MGM_G112(MGM_W92,SE,MGM_W91);
and MGM_G113(MGM_W93,SETN,MGM_W92);
not MGM_G114(MGM_W94,SI);
and MGM_G115(ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W94,MGM_W93);
not MGM_G116(MGM_W95,CLK);
and MGM_G117(MGM_W96,D,MGM_W95);
and MGM_G118(MGM_W97,SE,MGM_W96);
and MGM_G119(MGM_W98,SETN,MGM_W97);
and MGM_G120(ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W98);
not MGM_G121(MGM_W99,D);
and MGM_G122(MGM_W100,MGM_W99,CLK);
not MGM_G123(MGM_W101,SE);
and MGM_G124(MGM_W102,MGM_W101,MGM_W100);
and MGM_G125(MGM_W103,SETN,MGM_W102);
not MGM_G126(MGM_W104,SI);
and MGM_G127(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W104,MGM_W103);
not MGM_G128(MGM_W105,D);
and MGM_G129(MGM_W106,MGM_W105,CLK);
not MGM_G130(MGM_W107,SE);
and MGM_G131(MGM_W108,MGM_W107,MGM_W106);
and MGM_G132(MGM_W109,SETN,MGM_W108);
and MGM_G133(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W109);
not MGM_G134(MGM_W110,D);
and MGM_G135(MGM_W111,MGM_W110,CLK);
and MGM_G136(MGM_W112,SE,MGM_W111);
and MGM_G137(MGM_W113,SETN,MGM_W112);
not MGM_G138(MGM_W114,SI);
and MGM_G139(ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W114,MGM_W113);
not MGM_G140(MGM_W115,D);
and MGM_G141(MGM_W116,MGM_W115,CLK);
and MGM_G142(MGM_W117,SE,MGM_W116);
and MGM_G143(MGM_W118,SETN,MGM_W117);
and MGM_G144(ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W118);
and MGM_G145(MGM_W119,D,CLK);
not MGM_G146(MGM_W120,SE);
and MGM_G147(MGM_W121,MGM_W120,MGM_W119);
and MGM_G148(MGM_W122,SETN,MGM_W121);
not MGM_G149(MGM_W123,SI);
and MGM_G150(ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W123,MGM_W122);
and MGM_G151(MGM_W124,D,CLK);
not MGM_G152(MGM_W125,SE);
and MGM_G153(MGM_W126,MGM_W125,MGM_W124);
and MGM_G154(MGM_W127,SETN,MGM_W126);
and MGM_G155(ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W127);
and MGM_G156(MGM_W128,D,CLK);
and MGM_G157(MGM_W129,SE,MGM_W128);
and MGM_G158(MGM_W130,SETN,MGM_W129);
not MGM_G159(MGM_W131,SI);
and MGM_G160(ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W131,MGM_W130);
and MGM_G161(MGM_W132,D,CLK);
and MGM_G162(MGM_W133,SE,MGM_W132);
and MGM_G163(MGM_W134,SETN,MGM_W133);
and MGM_G164(ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W134);
not MGM_G165(MGM_W135,CLK);
not MGM_G166(MGM_W136,D);
and MGM_G167(MGM_W137,MGM_W136,MGM_W135);
not MGM_G168(MGM_W138,SE);
and MGM_G169(MGM_W139,MGM_W138,MGM_W137);
not MGM_G170(MGM_W140,SI);
and MGM_G171(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W140,MGM_W139);
not MGM_G172(MGM_W141,CLK);
not MGM_G173(MGM_W142,D);
and MGM_G174(MGM_W143,MGM_W142,MGM_W141);
not MGM_G175(MGM_W144,SE);
and MGM_G176(MGM_W145,MGM_W144,MGM_W143);
and MGM_G177(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W145);
not MGM_G178(MGM_W146,CLK);
not MGM_G179(MGM_W147,D);
and MGM_G180(MGM_W148,MGM_W147,MGM_W146);
and MGM_G181(MGM_W149,SE,MGM_W148);
not MGM_G182(MGM_W150,SI);
and MGM_G183(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W150,MGM_W149);
not MGM_G184(MGM_W151,CLK);
not MGM_G185(MGM_W152,D);
and MGM_G186(MGM_W153,MGM_W152,MGM_W151);
and MGM_G187(MGM_W154,SE,MGM_W153);
and MGM_G188(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W154);
not MGM_G189(MGM_W155,CLK);
and MGM_G190(MGM_W156,D,MGM_W155);
not MGM_G191(MGM_W157,SE);
and MGM_G192(MGM_W158,MGM_W157,MGM_W156);
not MGM_G193(MGM_W159,SI);
and MGM_G194(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W159,MGM_W158);
not MGM_G195(MGM_W160,CLK);
and MGM_G196(MGM_W161,D,MGM_W160);
not MGM_G197(MGM_W162,SE);
and MGM_G198(MGM_W163,MGM_W162,MGM_W161);
and MGM_G199(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W163);
not MGM_G200(MGM_W164,CLK);
and MGM_G201(MGM_W165,D,MGM_W164);
and MGM_G202(MGM_W166,SE,MGM_W165);
not MGM_G203(MGM_W167,SI);
and MGM_G204(ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W167,MGM_W166);
not MGM_G205(MGM_W168,CLK);
and MGM_G206(MGM_W169,D,MGM_W168);
and MGM_G207(MGM_W170,SE,MGM_W169);
and MGM_G208(ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W170);
not MGM_G209(MGM_W171,D);
and MGM_G210(MGM_W172,MGM_W171,CLK);
not MGM_G211(MGM_W173,SE);
and MGM_G212(MGM_W174,MGM_W173,MGM_W172);
not MGM_G213(MGM_W175,SI);
and MGM_G214(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W175,MGM_W174);
not MGM_G215(MGM_W176,D);
and MGM_G216(MGM_W177,MGM_W176,CLK);
not MGM_G217(MGM_W178,SE);
and MGM_G218(MGM_W179,MGM_W178,MGM_W177);
and MGM_G219(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W179);
not MGM_G220(MGM_W180,D);
and MGM_G221(MGM_W181,MGM_W180,CLK);
and MGM_G222(MGM_W182,SE,MGM_W181);
not MGM_G223(MGM_W183,SI);
and MGM_G224(ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W183,MGM_W182);
not MGM_G225(MGM_W184,D);
and MGM_G226(MGM_W185,MGM_W184,CLK);
and MGM_G227(MGM_W186,SE,MGM_W185);
and MGM_G228(ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W186);
and MGM_G229(MGM_W187,D,CLK);
not MGM_G230(MGM_W188,SE);
and MGM_G231(MGM_W189,MGM_W188,MGM_W187);
not MGM_G232(MGM_W190,SI);
and MGM_G233(ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W190,MGM_W189);
and MGM_G234(MGM_W191,D,CLK);
not MGM_G235(MGM_W192,SE);
and MGM_G236(MGM_W193,MGM_W192,MGM_W191);
and MGM_G237(ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W193);
and MGM_G238(MGM_W194,D,CLK);
and MGM_G239(MGM_W195,SE,MGM_W194);
not MGM_G240(MGM_W196,SI);
and MGM_G241(ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W196,MGM_W195);
and MGM_G242(MGM_W197,D,CLK);
and MGM_G243(MGM_W198,SE,MGM_W197);
and MGM_G244(ENABLE_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W198);
not MGM_G245(MGM_W199,D);
and MGM_G246(MGM_W200,RN,MGM_W199);
and MGM_G247(MGM_W201,SETN,MGM_W200);
and MGM_G248(ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI,SI,MGM_W201);
and MGM_G249(MGM_W202,RN,D);
and MGM_G250(MGM_W203,SETN,MGM_W202);
not MGM_G251(MGM_W204,SI);
and MGM_G252(ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI,MGM_W204,MGM_W203);
not MGM_G253(MGM_W205,D);
and MGM_G254(MGM_W206,RN,MGM_W205);
not MGM_G255(MGM_W207,SE);
and MGM_G256(MGM_W208,MGM_W207,MGM_W206);
not MGM_G257(MGM_W209,SI);
and MGM_G258(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W209,MGM_W208);
not MGM_G259(MGM_W210,D);
and MGM_G260(MGM_W211,RN,MGM_W210);
not MGM_G261(MGM_W212,SE);
and MGM_G262(MGM_W213,MGM_W212,MGM_W211);
and MGM_G263(ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W213);
not MGM_G264(MGM_W214,D);
and MGM_G265(MGM_W215,RN,MGM_W214);
and MGM_G266(MGM_W216,SE,MGM_W215);
not MGM_G267(MGM_W217,SI);
and MGM_G268(ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W217,MGM_W216);
and MGM_G269(MGM_W218,RN,D);
and MGM_G270(MGM_W219,SE,MGM_W218);
not MGM_G271(MGM_W220,SI);
and MGM_G272(ENABLE_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W220,MGM_W219);
not MGM_G273(MGM_W221,CLK);
not MGM_G274(MGM_W222,D);
and MGM_G275(MGM_W223,MGM_W222,MGM_W221);
and MGM_G276(MGM_W224,RN,MGM_W223);
not MGM_G277(MGM_W225,SE);
and MGM_G278(MGM_W226,MGM_W225,MGM_W224);
not MGM_G279(MGM_W227,SI);
and MGM_G280(ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W227,MGM_W226);
not MGM_G281(MGM_W228,CLK);
not MGM_G282(MGM_W229,D);
and MGM_G283(MGM_W230,MGM_W229,MGM_W228);
and MGM_G284(MGM_W231,RN,MGM_W230);
not MGM_G285(MGM_W232,SE);
and MGM_G286(MGM_W233,MGM_W232,MGM_W231);
and MGM_G287(ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W233);
not MGM_G288(MGM_W234,CLK);
not MGM_G289(MGM_W235,D);
and MGM_G290(MGM_W236,MGM_W235,MGM_W234);
and MGM_G291(MGM_W237,RN,MGM_W236);
and MGM_G292(MGM_W238,SE,MGM_W237);
not MGM_G293(MGM_W239,SI);
and MGM_G294(ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W239,MGM_W238);
not MGM_G295(MGM_W240,CLK);
not MGM_G296(MGM_W241,D);
and MGM_G297(MGM_W242,MGM_W241,MGM_W240);
and MGM_G298(MGM_W243,RN,MGM_W242);
and MGM_G299(MGM_W244,SE,MGM_W243);
and MGM_G300(ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI,SI,MGM_W244);
not MGM_G301(MGM_W245,CLK);
and MGM_G302(MGM_W246,D,MGM_W245);
and MGM_G303(MGM_W247,RN,MGM_W246);
not MGM_G304(MGM_W248,SE);
and MGM_G305(MGM_W249,MGM_W248,MGM_W247);
not MGM_G306(MGM_W250,SI);
and MGM_G307(ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W250,MGM_W249);
not MGM_G308(MGM_W251,CLK);
and MGM_G309(MGM_W252,D,MGM_W251);
and MGM_G310(MGM_W253,RN,MGM_W252);
not MGM_G311(MGM_W254,SE);
and MGM_G312(MGM_W255,MGM_W254,MGM_W253);
and MGM_G313(ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W255);
not MGM_G314(MGM_W256,CLK);
and MGM_G315(MGM_W257,D,MGM_W256);
and MGM_G316(MGM_W258,RN,MGM_W257);
and MGM_G317(MGM_W259,SE,MGM_W258);
not MGM_G318(MGM_W260,SI);
and MGM_G319(ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W260,MGM_W259);
not MGM_G320(MGM_W261,CLK);
and MGM_G321(MGM_W262,D,MGM_W261);
and MGM_G322(MGM_W263,RN,MGM_W262);
and MGM_G323(MGM_W264,SE,MGM_W263);
and MGM_G324(ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_SI,SI,MGM_W264);
not MGM_G325(MGM_W265,D);
and MGM_G326(MGM_W266,MGM_W265,CLK);
and MGM_G327(MGM_W267,RN,MGM_W266);
not MGM_G328(MGM_W268,SE);
and MGM_G329(MGM_W269,MGM_W268,MGM_W267);
not MGM_G330(MGM_W270,SI);
and MGM_G331(ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W270,MGM_W269);
not MGM_G332(MGM_W271,D);
and MGM_G333(MGM_W272,MGM_W271,CLK);
and MGM_G334(MGM_W273,RN,MGM_W272);
not MGM_G335(MGM_W274,SE);
and MGM_G336(MGM_W275,MGM_W274,MGM_W273);
and MGM_G337(ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W275);
not MGM_G338(MGM_W276,D);
and MGM_G339(MGM_W277,MGM_W276,CLK);
and MGM_G340(MGM_W278,RN,MGM_W277);
and MGM_G341(MGM_W279,SE,MGM_W278);
not MGM_G342(MGM_W280,SI);
and MGM_G343(ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W280,MGM_W279);
not MGM_G344(MGM_W281,D);
and MGM_G345(MGM_W282,MGM_W281,CLK);
and MGM_G346(MGM_W283,RN,MGM_W282);
and MGM_G347(MGM_W284,SE,MGM_W283);
and MGM_G348(ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI,SI,MGM_W284);
and MGM_G349(MGM_W285,D,CLK);
and MGM_G350(MGM_W286,RN,MGM_W285);
not MGM_G351(MGM_W287,SE);
and MGM_G352(MGM_W288,MGM_W287,MGM_W286);
not MGM_G353(MGM_W289,SI);
and MGM_G354(ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI,MGM_W289,MGM_W288);
and MGM_G355(MGM_W290,D,CLK);
and MGM_G356(MGM_W291,RN,MGM_W290);
not MGM_G357(MGM_W292,SE);
and MGM_G358(MGM_W293,MGM_W292,MGM_W291);
and MGM_G359(ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI,SI,MGM_W293);
and MGM_G360(MGM_W294,D,CLK);
and MGM_G361(MGM_W295,RN,MGM_W294);
and MGM_G362(MGM_W296,SE,MGM_W295);
not MGM_G363(MGM_W297,SI);
and MGM_G364(ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI,MGM_W297,MGM_W296);
and MGM_G365(MGM_W298,D,CLK);
and MGM_G366(MGM_W299,RN,MGM_W298);
and MGM_G367(MGM_W300,SE,MGM_W299);
and MGM_G368(ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_SI,SI,MGM_W300);
not MGM_G369(MGM_W301,D);
and MGM_G370(MGM_W302,RN,MGM_W301);
and MGM_G371(MGM_W303,SE,MGM_W302);
and MGM_G372(ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN,SETN,MGM_W303);
and MGM_G373(MGM_W304,RN,D);
and MGM_G374(MGM_W305,SE,MGM_W304);
and MGM_G375(ENABLE_D_AND_RN_AND_SE_AND_SETN,SETN,MGM_W305);
// spec_gates_end
specify
// specify_block_begin
if(D===1'b0 && SI===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SE)) = (1.0,1.0);
if(SE===1'b0 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SI)) = (1.0,1.0);
ifnone
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b0)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b1)
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
ifnone
// seq arc RN --> Q
(RN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// recovery RN-LH CLK-LH
$recovery(posedge RN &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// removal RN-LH CLK-LH
$removal(posedge RN &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold RN-LH SETN-LH
$hold(posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup RN-LH SETN-LH
$setup(posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),
negedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),
posedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),
negedge SE &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),
posedge SE &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SETN-LH RN-LH
$hold(posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
// setup SETN-LH RN-LH
$setup(posedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),
posedge RN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1),1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),
negedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),
negedge SI &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge SI &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw RN_hl
$width(negedge RN,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module SDFFSNQ_X1( SE, SI, D, CLK, SETN, Q );
input CLK, D, SE, SETN, SI;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
SDFFSNQ_X1_func SDFFSNQ_X1_behav_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.SETN(SETN),.Q(Q),.notifier(notifier));
`else
SDFFSNQ_X1_func SDFFSNQ_X1_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.SETN(SETN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
not MGM_G1(MGM_W1,SE);
and MGM_G2(MGM_W2,MGM_W1,MGM_W0);
and MGM_G3(MGM_W3,SETN,MGM_W2);
not MGM_G4(MGM_W4,SI);
and MGM_G5(ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W4,MGM_W3);
not MGM_G6(MGM_W5,D);
not MGM_G7(MGM_W6,SE);
and MGM_G8(MGM_W7,MGM_W6,MGM_W5);
and MGM_G9(MGM_W8,SETN,MGM_W7);
and MGM_G10(ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W8);
not MGM_G11(MGM_W9,D);
and MGM_G12(MGM_W10,SE,MGM_W9);
and MGM_G13(MGM_W11,SETN,MGM_W10);
not MGM_G14(MGM_W12,SI);
and MGM_G15(ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W12,MGM_W11);
not MGM_G16(MGM_W13,D);
and MGM_G17(MGM_W14,SE,MGM_W13);
and MGM_G18(MGM_W15,SETN,MGM_W14);
and MGM_G19(ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W15);
not MGM_G20(MGM_W16,SE);
and MGM_G21(MGM_W17,MGM_W16,D);
and MGM_G22(MGM_W18,SETN,MGM_W17);
not MGM_G23(MGM_W19,SI);
and MGM_G24(ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W19,MGM_W18);
not MGM_G25(MGM_W20,SE);
and MGM_G26(MGM_W21,MGM_W20,D);
and MGM_G27(MGM_W22,SETN,MGM_W21);
and MGM_G28(ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W22);
and MGM_G29(MGM_W23,SE,D);
and MGM_G30(MGM_W24,SETN,MGM_W23);
not MGM_G31(MGM_W25,SI);
and MGM_G32(ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W25,MGM_W24);
and MGM_G33(MGM_W26,SE,D);
and MGM_G34(MGM_W27,SETN,MGM_W26);
and MGM_G35(ENABLE_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W27);
not MGM_G36(MGM_W28,SE);
and MGM_G37(MGM_W29,SETN,MGM_W28);
not MGM_G38(MGM_W30,SI);
and MGM_G39(ENABLE_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W30,MGM_W29);
not MGM_G40(MGM_W31,SE);
and MGM_G41(MGM_W32,SETN,MGM_W31);
and MGM_G42(ENABLE_NOT_SE_AND_SETN_AND_SI,SI,MGM_W32);
not MGM_G43(MGM_W33,D);
and MGM_G44(MGM_W34,SETN,MGM_W33);
and MGM_G45(ENABLE_NOT_D_AND_SETN_AND_SI,SI,MGM_W34);
and MGM_G46(MGM_W35,SETN,D);
not MGM_G47(MGM_W36,SI);
and MGM_G48(ENABLE_D_AND_SETN_AND_NOT_SI,MGM_W36,MGM_W35);
not MGM_G49(MGM_W37,D);
not MGM_G50(MGM_W38,SE);
and MGM_G51(MGM_W39,MGM_W38,MGM_W37);
not MGM_G52(MGM_W40,SI);
and MGM_G53(ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W40,MGM_W39);
not MGM_G54(MGM_W41,D);
not MGM_G55(MGM_W42,SE);
and MGM_G56(MGM_W43,MGM_W42,MGM_W41);
and MGM_G57(ENABLE_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W43);
not MGM_G58(MGM_W44,D);
and MGM_G59(MGM_W45,SE,MGM_W44);
not MGM_G60(MGM_W46,SI);
and MGM_G61(ENABLE_NOT_D_AND_SE_AND_NOT_SI,MGM_W46,MGM_W45);
and MGM_G62(MGM_W47,SE,D);
not MGM_G63(MGM_W48,SI);
and MGM_G64(ENABLE_D_AND_SE_AND_NOT_SI,MGM_W48,MGM_W47);
not MGM_G65(MGM_W49,CLK);
not MGM_G66(MGM_W50,D);
and MGM_G67(MGM_W51,MGM_W50,MGM_W49);
not MGM_G68(MGM_W52,SE);
and MGM_G69(MGM_W53,MGM_W52,MGM_W51);
not MGM_G70(MGM_W54,SI);
and MGM_G71(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W54,MGM_W53);
not MGM_G72(MGM_W55,CLK);
not MGM_G73(MGM_W56,D);
and MGM_G74(MGM_W57,MGM_W56,MGM_W55);
not MGM_G75(MGM_W58,SE);
and MGM_G76(MGM_W59,MGM_W58,MGM_W57);
and MGM_G77(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W59);
not MGM_G78(MGM_W60,CLK);
not MGM_G79(MGM_W61,D);
and MGM_G80(MGM_W62,MGM_W61,MGM_W60);
and MGM_G81(MGM_W63,SE,MGM_W62);
not MGM_G82(MGM_W64,SI);
and MGM_G83(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W64,MGM_W63);
not MGM_G84(MGM_W65,CLK);
not MGM_G85(MGM_W66,D);
and MGM_G86(MGM_W67,MGM_W66,MGM_W65);
and MGM_G87(MGM_W68,SE,MGM_W67);
and MGM_G88(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W68);
not MGM_G89(MGM_W69,CLK);
and MGM_G90(MGM_W70,D,MGM_W69);
not MGM_G91(MGM_W71,SE);
and MGM_G92(MGM_W72,MGM_W71,MGM_W70);
not MGM_G93(MGM_W73,SI);
and MGM_G94(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W73,MGM_W72);
not MGM_G95(MGM_W74,CLK);
and MGM_G96(MGM_W75,D,MGM_W74);
not MGM_G97(MGM_W76,SE);
and MGM_G98(MGM_W77,MGM_W76,MGM_W75);
and MGM_G99(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W77);
not MGM_G100(MGM_W78,CLK);
and MGM_G101(MGM_W79,D,MGM_W78);
and MGM_G102(MGM_W80,SE,MGM_W79);
not MGM_G103(MGM_W81,SI);
and MGM_G104(ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W81,MGM_W80);
not MGM_G105(MGM_W82,CLK);
and MGM_G106(MGM_W83,D,MGM_W82);
and MGM_G107(MGM_W84,SE,MGM_W83);
and MGM_G108(ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W84);
not MGM_G109(MGM_W85,D);
and MGM_G110(MGM_W86,MGM_W85,CLK);
not MGM_G111(MGM_W87,SE);
and MGM_G112(MGM_W88,MGM_W87,MGM_W86);
not MGM_G113(MGM_W89,SI);
and MGM_G114(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W89,MGM_W88);
not MGM_G115(MGM_W90,D);
and MGM_G116(MGM_W91,MGM_W90,CLK);
not MGM_G117(MGM_W92,SE);
and MGM_G118(MGM_W93,MGM_W92,MGM_W91);
and MGM_G119(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W93);
not MGM_G120(MGM_W94,D);
and MGM_G121(MGM_W95,MGM_W94,CLK);
and MGM_G122(MGM_W96,SE,MGM_W95);
not MGM_G123(MGM_W97,SI);
and MGM_G124(ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W97,MGM_W96);
not MGM_G125(MGM_W98,D);
and MGM_G126(MGM_W99,MGM_W98,CLK);
and MGM_G127(MGM_W100,SE,MGM_W99);
and MGM_G128(ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W100);
and MGM_G129(MGM_W101,D,CLK);
not MGM_G130(MGM_W102,SE);
and MGM_G131(MGM_W103,MGM_W102,MGM_W101);
not MGM_G132(MGM_W104,SI);
and MGM_G133(ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W104,MGM_W103);
and MGM_G134(MGM_W105,D,CLK);
not MGM_G135(MGM_W106,SE);
and MGM_G136(MGM_W107,MGM_W106,MGM_W105);
and MGM_G137(ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W107);
and MGM_G138(MGM_W108,D,CLK);
and MGM_G139(MGM_W109,SE,MGM_W108);
not MGM_G140(MGM_W110,SI);
and MGM_G141(ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W110,MGM_W109);
and MGM_G142(MGM_W111,D,CLK);
and MGM_G143(MGM_W112,SE,MGM_W111);
and MGM_G144(ENABLE_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W112);
not MGM_G145(MGM_W113,D);
and MGM_G146(MGM_W114,SE,MGM_W113);
and MGM_G147(ENABLE_NOT_D_AND_SE_AND_SETN,SETN,MGM_W114);
and MGM_G148(MGM_W115,SE,D);
and MGM_G149(ENABLE_D_AND_SE_AND_SETN,SETN,MGM_W115);
// spec_gates_end
specify
// specify_block_begin
if(D===1'b0 && SI===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SE)) = (1.0,1.0);
if(SE===1'b0 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SI)) = (1.0,1.0);
ifnone
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
negedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),
negedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),
negedge SE &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),
posedge SE &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),
negedge SE &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),
posedge SE &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),
negedge SI &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),
posedge SI &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),
negedge SI &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),
posedge SI &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module SDFFSNQ_X2( SE, SI, D, CLK, SETN, Q );
input CLK, D, SE, SETN, SI;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
SDFFSNQ_X2_func SDFFSNQ_X2_behav_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.SETN(SETN),.Q(Q),.notifier(notifier));
`else
SDFFSNQ_X2_func SDFFSNQ_X2_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.SETN(SETN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
not MGM_G1(MGM_W1,SE);
and MGM_G2(MGM_W2,MGM_W1,MGM_W0);
and MGM_G3(MGM_W3,SETN,MGM_W2);
not MGM_G4(MGM_W4,SI);
and MGM_G5(ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W4,MGM_W3);
not MGM_G6(MGM_W5,D);
not MGM_G7(MGM_W6,SE);
and MGM_G8(MGM_W7,MGM_W6,MGM_W5);
and MGM_G9(MGM_W8,SETN,MGM_W7);
and MGM_G10(ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W8);
not MGM_G11(MGM_W9,D);
and MGM_G12(MGM_W10,SE,MGM_W9);
and MGM_G13(MGM_W11,SETN,MGM_W10);
not MGM_G14(MGM_W12,SI);
and MGM_G15(ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W12,MGM_W11);
not MGM_G16(MGM_W13,D);
and MGM_G17(MGM_W14,SE,MGM_W13);
and MGM_G18(MGM_W15,SETN,MGM_W14);
and MGM_G19(ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W15);
not MGM_G20(MGM_W16,SE);
and MGM_G21(MGM_W17,MGM_W16,D);
and MGM_G22(MGM_W18,SETN,MGM_W17);
not MGM_G23(MGM_W19,SI);
and MGM_G24(ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W19,MGM_W18);
not MGM_G25(MGM_W20,SE);
and MGM_G26(MGM_W21,MGM_W20,D);
and MGM_G27(MGM_W22,SETN,MGM_W21);
and MGM_G28(ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W22);
and MGM_G29(MGM_W23,SE,D);
and MGM_G30(MGM_W24,SETN,MGM_W23);
not MGM_G31(MGM_W25,SI);
and MGM_G32(ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W25,MGM_W24);
and MGM_G33(MGM_W26,SE,D);
and MGM_G34(MGM_W27,SETN,MGM_W26);
and MGM_G35(ENABLE_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W27);
not MGM_G36(MGM_W28,SE);
and MGM_G37(MGM_W29,SETN,MGM_W28);
not MGM_G38(MGM_W30,SI);
and MGM_G39(ENABLE_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W30,MGM_W29);
not MGM_G40(MGM_W31,SE);
and MGM_G41(MGM_W32,SETN,MGM_W31);
and MGM_G42(ENABLE_NOT_SE_AND_SETN_AND_SI,SI,MGM_W32);
not MGM_G43(MGM_W33,D);
and MGM_G44(MGM_W34,SETN,MGM_W33);
and MGM_G45(ENABLE_NOT_D_AND_SETN_AND_SI,SI,MGM_W34);
and MGM_G46(MGM_W35,SETN,D);
not MGM_G47(MGM_W36,SI);
and MGM_G48(ENABLE_D_AND_SETN_AND_NOT_SI,MGM_W36,MGM_W35);
not MGM_G49(MGM_W37,D);
not MGM_G50(MGM_W38,SE);
and MGM_G51(MGM_W39,MGM_W38,MGM_W37);
not MGM_G52(MGM_W40,SI);
and MGM_G53(ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W40,MGM_W39);
not MGM_G54(MGM_W41,D);
not MGM_G55(MGM_W42,SE);
and MGM_G56(MGM_W43,MGM_W42,MGM_W41);
and MGM_G57(ENABLE_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W43);
not MGM_G58(MGM_W44,D);
and MGM_G59(MGM_W45,SE,MGM_W44);
not MGM_G60(MGM_W46,SI);
and MGM_G61(ENABLE_NOT_D_AND_SE_AND_NOT_SI,MGM_W46,MGM_W45);
and MGM_G62(MGM_W47,SE,D);
not MGM_G63(MGM_W48,SI);
and MGM_G64(ENABLE_D_AND_SE_AND_NOT_SI,MGM_W48,MGM_W47);
not MGM_G65(MGM_W49,CLK);
not MGM_G66(MGM_W50,D);
and MGM_G67(MGM_W51,MGM_W50,MGM_W49);
not MGM_G68(MGM_W52,SE);
and MGM_G69(MGM_W53,MGM_W52,MGM_W51);
not MGM_G70(MGM_W54,SI);
and MGM_G71(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W54,MGM_W53);
not MGM_G72(MGM_W55,CLK);
not MGM_G73(MGM_W56,D);
and MGM_G74(MGM_W57,MGM_W56,MGM_W55);
not MGM_G75(MGM_W58,SE);
and MGM_G76(MGM_W59,MGM_W58,MGM_W57);
and MGM_G77(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W59);
not MGM_G78(MGM_W60,CLK);
not MGM_G79(MGM_W61,D);
and MGM_G80(MGM_W62,MGM_W61,MGM_W60);
and MGM_G81(MGM_W63,SE,MGM_W62);
not MGM_G82(MGM_W64,SI);
and MGM_G83(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W64,MGM_W63);
not MGM_G84(MGM_W65,CLK);
not MGM_G85(MGM_W66,D);
and MGM_G86(MGM_W67,MGM_W66,MGM_W65);
and MGM_G87(MGM_W68,SE,MGM_W67);
and MGM_G88(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W68);
not MGM_G89(MGM_W69,CLK);
and MGM_G90(MGM_W70,D,MGM_W69);
not MGM_G91(MGM_W71,SE);
and MGM_G92(MGM_W72,MGM_W71,MGM_W70);
not MGM_G93(MGM_W73,SI);
and MGM_G94(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W73,MGM_W72);
not MGM_G95(MGM_W74,CLK);
and MGM_G96(MGM_W75,D,MGM_W74);
not MGM_G97(MGM_W76,SE);
and MGM_G98(MGM_W77,MGM_W76,MGM_W75);
and MGM_G99(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W77);
not MGM_G100(MGM_W78,CLK);
and MGM_G101(MGM_W79,D,MGM_W78);
and MGM_G102(MGM_W80,SE,MGM_W79);
not MGM_G103(MGM_W81,SI);
and MGM_G104(ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W81,MGM_W80);
not MGM_G105(MGM_W82,CLK);
and MGM_G106(MGM_W83,D,MGM_W82);
and MGM_G107(MGM_W84,SE,MGM_W83);
and MGM_G108(ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W84);
not MGM_G109(MGM_W85,D);
and MGM_G110(MGM_W86,MGM_W85,CLK);
not MGM_G111(MGM_W87,SE);
and MGM_G112(MGM_W88,MGM_W87,MGM_W86);
not MGM_G113(MGM_W89,SI);
and MGM_G114(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W89,MGM_W88);
not MGM_G115(MGM_W90,D);
and MGM_G116(MGM_W91,MGM_W90,CLK);
not MGM_G117(MGM_W92,SE);
and MGM_G118(MGM_W93,MGM_W92,MGM_W91);
and MGM_G119(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W93);
not MGM_G120(MGM_W94,D);
and MGM_G121(MGM_W95,MGM_W94,CLK);
and MGM_G122(MGM_W96,SE,MGM_W95);
not MGM_G123(MGM_W97,SI);
and MGM_G124(ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W97,MGM_W96);
not MGM_G125(MGM_W98,D);
and MGM_G126(MGM_W99,MGM_W98,CLK);
and MGM_G127(MGM_W100,SE,MGM_W99);
and MGM_G128(ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W100);
and MGM_G129(MGM_W101,D,CLK);
not MGM_G130(MGM_W102,SE);
and MGM_G131(MGM_W103,MGM_W102,MGM_W101);
not MGM_G132(MGM_W104,SI);
and MGM_G133(ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W104,MGM_W103);
and MGM_G134(MGM_W105,D,CLK);
not MGM_G135(MGM_W106,SE);
and MGM_G136(MGM_W107,MGM_W106,MGM_W105);
and MGM_G137(ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W107);
and MGM_G138(MGM_W108,D,CLK);
and MGM_G139(MGM_W109,SE,MGM_W108);
not MGM_G140(MGM_W110,SI);
and MGM_G141(ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W110,MGM_W109);
and MGM_G142(MGM_W111,D,CLK);
and MGM_G143(MGM_W112,SE,MGM_W111);
and MGM_G144(ENABLE_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W112);
not MGM_G145(MGM_W113,D);
and MGM_G146(MGM_W114,SE,MGM_W113);
and MGM_G147(ENABLE_NOT_D_AND_SE_AND_SETN,SETN,MGM_W114);
and MGM_G148(MGM_W115,SE,D);
and MGM_G149(ENABLE_D_AND_SE_AND_SETN,SETN,MGM_W115);
// spec_gates_end
specify
// specify_block_begin
if(D===1'b0 && SI===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SE)) = (1.0,1.0);
if(SE===1'b0 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SI)) = (1.0,1.0);
ifnone
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
negedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),
negedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),
negedge SE &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),
posedge SE &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),
negedge SE &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),
posedge SE &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),
negedge SI &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),
posedge SI &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),
negedge SI &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),
posedge SI &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module SDFFSNQ_X4( SE, SI, D, CLK, SETN, Q );
input CLK, D, SE, SETN, SI;
output Q;
reg notifier;
`ifdef FUNCTIONAL // functional //
SDFFSNQ_X4_func SDFFSNQ_X4_behav_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.SETN(SETN),.Q(Q),.notifier(notifier));
`else
SDFFSNQ_X4_func SDFFSNQ_X4_inst(.SE(SE),.SI(SI),.D(D),.CLK(CLK),.SETN(SETN),.Q(Q),.notifier(notifier));
// spec_gates_begin
not MGM_G0(MGM_W0,D);
not MGM_G1(MGM_W1,SE);
and MGM_G2(MGM_W2,MGM_W1,MGM_W0);
and MGM_G3(MGM_W3,SETN,MGM_W2);
not MGM_G4(MGM_W4,SI);
and MGM_G5(ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W4,MGM_W3);
not MGM_G6(MGM_W5,D);
not MGM_G7(MGM_W6,SE);
and MGM_G8(MGM_W7,MGM_W6,MGM_W5);
and MGM_G9(MGM_W8,SETN,MGM_W7);
and MGM_G10(ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W8);
not MGM_G11(MGM_W9,D);
and MGM_G12(MGM_W10,SE,MGM_W9);
and MGM_G13(MGM_W11,SETN,MGM_W10);
not MGM_G14(MGM_W12,SI);
and MGM_G15(ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W12,MGM_W11);
not MGM_G16(MGM_W13,D);
and MGM_G17(MGM_W14,SE,MGM_W13);
and MGM_G18(MGM_W15,SETN,MGM_W14);
and MGM_G19(ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W15);
not MGM_G20(MGM_W16,SE);
and MGM_G21(MGM_W17,MGM_W16,D);
and MGM_G22(MGM_W18,SETN,MGM_W17);
not MGM_G23(MGM_W19,SI);
and MGM_G24(ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W19,MGM_W18);
not MGM_G25(MGM_W20,SE);
and MGM_G26(MGM_W21,MGM_W20,D);
and MGM_G27(MGM_W22,SETN,MGM_W21);
and MGM_G28(ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI,SI,MGM_W22);
and MGM_G29(MGM_W23,SE,D);
and MGM_G30(MGM_W24,SETN,MGM_W23);
not MGM_G31(MGM_W25,SI);
and MGM_G32(ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI,MGM_W25,MGM_W24);
and MGM_G33(MGM_W26,SE,D);
and MGM_G34(MGM_W27,SETN,MGM_W26);
and MGM_G35(ENABLE_D_AND_SE_AND_SETN_AND_SI,SI,MGM_W27);
not MGM_G36(MGM_W28,SE);
and MGM_G37(MGM_W29,SETN,MGM_W28);
not MGM_G38(MGM_W30,SI);
and MGM_G39(ENABLE_NOT_SE_AND_SETN_AND_NOT_SI,MGM_W30,MGM_W29);
not MGM_G40(MGM_W31,SE);
and MGM_G41(MGM_W32,SETN,MGM_W31);
and MGM_G42(ENABLE_NOT_SE_AND_SETN_AND_SI,SI,MGM_W32);
not MGM_G43(MGM_W33,D);
and MGM_G44(MGM_W34,SETN,MGM_W33);
and MGM_G45(ENABLE_NOT_D_AND_SETN_AND_SI,SI,MGM_W34);
and MGM_G46(MGM_W35,SETN,D);
not MGM_G47(MGM_W36,SI);
and MGM_G48(ENABLE_D_AND_SETN_AND_NOT_SI,MGM_W36,MGM_W35);
not MGM_G49(MGM_W37,D);
not MGM_G50(MGM_W38,SE);
and MGM_G51(MGM_W39,MGM_W38,MGM_W37);
not MGM_G52(MGM_W40,SI);
and MGM_G53(ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W40,MGM_W39);
not MGM_G54(MGM_W41,D);
not MGM_G55(MGM_W42,SE);
and MGM_G56(MGM_W43,MGM_W42,MGM_W41);
and MGM_G57(ENABLE_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W43);
not MGM_G58(MGM_W44,D);
and MGM_G59(MGM_W45,SE,MGM_W44);
not MGM_G60(MGM_W46,SI);
and MGM_G61(ENABLE_NOT_D_AND_SE_AND_NOT_SI,MGM_W46,MGM_W45);
and MGM_G62(MGM_W47,SE,D);
not MGM_G63(MGM_W48,SI);
and MGM_G64(ENABLE_D_AND_SE_AND_NOT_SI,MGM_W48,MGM_W47);
not MGM_G65(MGM_W49,CLK);
not MGM_G66(MGM_W50,D);
and MGM_G67(MGM_W51,MGM_W50,MGM_W49);
not MGM_G68(MGM_W52,SE);
and MGM_G69(MGM_W53,MGM_W52,MGM_W51);
not MGM_G70(MGM_W54,SI);
and MGM_G71(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W54,MGM_W53);
not MGM_G72(MGM_W55,CLK);
not MGM_G73(MGM_W56,D);
and MGM_G74(MGM_W57,MGM_W56,MGM_W55);
not MGM_G75(MGM_W58,SE);
and MGM_G76(MGM_W59,MGM_W58,MGM_W57);
and MGM_G77(ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W59);
not MGM_G78(MGM_W60,CLK);
not MGM_G79(MGM_W61,D);
and MGM_G80(MGM_W62,MGM_W61,MGM_W60);
and MGM_G81(MGM_W63,SE,MGM_W62);
not MGM_G82(MGM_W64,SI);
and MGM_G83(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W64,MGM_W63);
not MGM_G84(MGM_W65,CLK);
not MGM_G85(MGM_W66,D);
and MGM_G86(MGM_W67,MGM_W66,MGM_W65);
and MGM_G87(MGM_W68,SE,MGM_W67);
and MGM_G88(ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W68);
not MGM_G89(MGM_W69,CLK);
and MGM_G90(MGM_W70,D,MGM_W69);
not MGM_G91(MGM_W71,SE);
and MGM_G92(MGM_W72,MGM_W71,MGM_W70);
not MGM_G93(MGM_W73,SI);
and MGM_G94(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W73,MGM_W72);
not MGM_G95(MGM_W74,CLK);
and MGM_G96(MGM_W75,D,MGM_W74);
not MGM_G97(MGM_W76,SE);
and MGM_G98(MGM_W77,MGM_W76,MGM_W75);
and MGM_G99(ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W77);
not MGM_G100(MGM_W78,CLK);
and MGM_G101(MGM_W79,D,MGM_W78);
and MGM_G102(MGM_W80,SE,MGM_W79);
not MGM_G103(MGM_W81,SI);
and MGM_G104(ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W81,MGM_W80);
not MGM_G105(MGM_W82,CLK);
and MGM_G106(MGM_W83,D,MGM_W82);
and MGM_G107(MGM_W84,SE,MGM_W83);
and MGM_G108(ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W84);
not MGM_G109(MGM_W85,D);
and MGM_G110(MGM_W86,MGM_W85,CLK);
not MGM_G111(MGM_W87,SE);
and MGM_G112(MGM_W88,MGM_W87,MGM_W86);
not MGM_G113(MGM_W89,SI);
and MGM_G114(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI,MGM_W89,MGM_W88);
not MGM_G115(MGM_W90,D);
and MGM_G116(MGM_W91,MGM_W90,CLK);
not MGM_G117(MGM_W92,SE);
and MGM_G118(MGM_W93,MGM_W92,MGM_W91);
and MGM_G119(ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI,SI,MGM_W93);
not MGM_G120(MGM_W94,D);
and MGM_G121(MGM_W95,MGM_W94,CLK);
and MGM_G122(MGM_W96,SE,MGM_W95);
not MGM_G123(MGM_W97,SI);
and MGM_G124(ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI,MGM_W97,MGM_W96);
not MGM_G125(MGM_W98,D);
and MGM_G126(MGM_W99,MGM_W98,CLK);
and MGM_G127(MGM_W100,SE,MGM_W99);
and MGM_G128(ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI,SI,MGM_W100);
and MGM_G129(MGM_W101,D,CLK);
not MGM_G130(MGM_W102,SE);
and MGM_G131(MGM_W103,MGM_W102,MGM_W101);
not MGM_G132(MGM_W104,SI);
and MGM_G133(ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI,MGM_W104,MGM_W103);
and MGM_G134(MGM_W105,D,CLK);
not MGM_G135(MGM_W106,SE);
and MGM_G136(MGM_W107,MGM_W106,MGM_W105);
and MGM_G137(ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI,SI,MGM_W107);
and MGM_G138(MGM_W108,D,CLK);
and MGM_G139(MGM_W109,SE,MGM_W108);
not MGM_G140(MGM_W110,SI);
and MGM_G141(ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI,MGM_W110,MGM_W109);
and MGM_G142(MGM_W111,D,CLK);
and MGM_G143(MGM_W112,SE,MGM_W111);
and MGM_G144(ENABLE_CLK_AND_D_AND_SE_AND_SI,SI,MGM_W112);
not MGM_G145(MGM_W113,D);
and MGM_G146(MGM_W114,SE,MGM_W113);
and MGM_G147(ENABLE_NOT_D_AND_SE_AND_SETN,SETN,MGM_W114);
and MGM_G148(MGM_W115,SE,D);
and MGM_G149(ENABLE_D_AND_SE_AND_SETN,SETN,MGM_W115);
// spec_gates_end
specify
// specify_block_begin
if(D===1'b0 && SI===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SE)) = (1.0,1.0);
if(SE===1'b0 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(D===1'b1 && SE===1'b1)
// seq arc CLK --> Q
(posedge CLK => (Q : SI)) = (1.0,1.0);
ifnone
// seq arc CLK --> Q
(posedge CLK => (Q : D)) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
if(CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1)
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
ifnone
// seq arc SETN --> Q
(SETN => Q) = (1.0,1.0);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
$width(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
negedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold D-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),
negedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold D-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup D-HL CLK-LH
$setup(negedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup D-LH CLK-LH
$setup(posedge D &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),
negedge SE &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),
posedge SE &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1),1.0,notifier);
// hold SE-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),
negedge SE &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// hold SE-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),
posedge SE &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-HL CLK-LH
$setup(negedge SE &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// setup SE-LH CLK-LH
$setup(posedge SE &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// recovery SETN-LH CLK-LH
$recovery(posedge SETN &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
// removal SETN-LH CLK-LH
$removal(posedge SETN &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_NOT_SI === 1'b1),1.0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1)
,1.0,0,notifier);
$width(negedge SETN &&& (ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1)
,1.0,0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),
negedge SI &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),
posedge SI &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-HL CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),
negedge SI &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// hold SI-LH CLK-LH
$hold(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),
posedge SI &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-HL CLK-LH
$setup(negedge SI &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// setup SI-LH CLK-LH
$setup(posedge SI &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),
posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN === 1'b1),1.0,notifier);
// mpw CLK_lh
$width(posedge CLK,1.0,0,notifier);
// mpw CLK_hl
$width(negedge CLK,1.0,0,notifier);
// mpw SETN_hl
$width(negedge SETN,1.0,0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK &&& (ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1)
,1.0,notifier);
// period CLK
$period(posedge CLK,1.0,notifier);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module TIEH( Z );
output Z;
`ifdef FUNCTIONAL // functional //
TIEH_func TIEH_behav_inst(.Z(Z));
`else
TIEH_func TIEH_inst(.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module TIEL( ZN );
output ZN;
`ifdef FUNCTIONAL // functional //
TIEL_func TIEL_behav_inst(.ZN(ZN));
`else
TIEL_func TIEL_inst(.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module XNOR2_X1( A2, A1, ZN );
input A1, A2;
output ZN;
`ifdef FUNCTIONAL // functional //
XNOR2_X1_func XNOR2_X1_behav_inst(.A2(A2),.A1(A1),.ZN(ZN));
`else
XNOR2_X1_func XNOR2_X1_inst(.A2(A2),.A1(A1),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
ifnone
// comb arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
ifnone
// comb arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
ifnone
// comb arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
ifnone
// comb arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module XNOR2_X2( A2, A1, ZN );
input A1, A2;
output ZN;
`ifdef FUNCTIONAL // functional //
XNOR2_X2_func XNOR2_X2_behav_inst(.A2(A2),.A1(A1),.ZN(ZN));
`else
XNOR2_X2_func XNOR2_X2_inst(.A2(A2),.A1(A1),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
ifnone
// comb arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
ifnone
// comb arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
ifnone
// comb arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
ifnone
// comb arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module XNOR2_X4( A2, A1, ZN );
input A1, A2;
output ZN;
`ifdef FUNCTIONAL // functional //
XNOR2_X4_func XNOR2_X4_behav_inst(.A2(A2),.A1(A1),.ZN(ZN));
`else
XNOR2_X4_func XNOR2_X4_inst(.A2(A2),.A1(A1),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
ifnone
// comb arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
ifnone
// comb arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
ifnone
// comb arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
ifnone
// comb arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module XNOR3_X1( A2, A1, A3, ZN );
input A1, A2, A3;
output ZN;
`ifdef FUNCTIONAL // functional //
XNOR3_X1_func XNOR3_X1_behav_inst(.A2(A2),.A1(A1),.A3(A3),.ZN(ZN));
`else
XNOR3_X1_func XNOR3_X1_inst(.A2(A2),.A1(A1),.A3(A3),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(A2===1'b0 && A3===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2===1'b1 && A3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
ifnone
// comb arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
if(A2===1'b0 && A3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2===1'b1 && A3===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A3===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
ifnone
// comb arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
if(A1===1'b0 && A3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A3===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
ifnone
// comb arc posedge A3 --> (ZN:A3)
(posedge A3 => (ZN:A3)) = (1.0,1.0);
ifnone
// comb arc negedge A3 --> (ZN:A3)
(negedge A3 => (ZN:A3)) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module XNOR3_X2( A2, A1, A3, ZN );
input A1, A2, A3;
output ZN;
`ifdef FUNCTIONAL // functional //
XNOR3_X2_func XNOR3_X2_behav_inst(.A2(A2),.A1(A1),.A3(A3),.ZN(ZN));
`else
XNOR3_X2_func XNOR3_X2_inst(.A2(A2),.A1(A1),.A3(A3),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(A2===1'b0 && A3===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2===1'b1 && A3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
ifnone
// comb arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
if(A2===1'b0 && A3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2===1'b1 && A3===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A3===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
ifnone
// comb arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
if(A1===1'b0 && A3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A3===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
ifnone
// comb arc posedge A3 --> (ZN:A3)
(posedge A3 => (ZN:A3)) = (1.0,1.0);
ifnone
// comb arc negedge A3 --> (ZN:A3)
(negedge A3 => (ZN:A3)) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module XNOR3_X4( A2, A1, A3, ZN );
input A1, A2, A3;
output ZN;
`ifdef FUNCTIONAL // functional //
XNOR3_X4_func XNOR3_X4_behav_inst(.A2(A2),.A1(A1),.A3(A3),.ZN(ZN));
`else
XNOR3_X4_func XNOR3_X4_inst(.A2(A2),.A1(A1),.A3(A3),.ZN(ZN));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(A2===1'b0 && A3===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2===1'b1 && A3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
ifnone
// comb arc posedge A1 --> (ZN:A1)
(posedge A1 => (ZN:A1)) = (1.0,1.0);
ifnone
// comb arc negedge A1 --> (ZN:A1)
(negedge A1 => (ZN:A1)) = (1.0,1.0);
if(A2===1'b0 && A3===1'b1)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A2===1'b1 && A3===1'b0)
// comb arc A1 --> ZN
(A1 => ZN) = (1.0,1.0);
if(A1===1'b0 && A3===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
ifnone
// comb arc posedge A2 --> (ZN:A2)
(posedge A2 => (ZN:A2)) = (1.0,1.0);
ifnone
// comb arc negedge A2 --> (ZN:A2)
(negedge A2 => (ZN:A2)) = (1.0,1.0);
if(A1===1'b0 && A3===1'b1)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b1 && A3===1'b0)
// comb arc A2 --> ZN
(A2 => ZN) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
ifnone
// comb arc posedge A3 --> (ZN:A3)
(posedge A3 => (ZN:A3)) = (1.0,1.0);
ifnone
// comb arc negedge A3 --> (ZN:A3)
(negedge A3 => (ZN:A3)) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc A3 --> ZN
(A3 => ZN) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module XOR2_X1( A2, A1, Z );
input A1, A2;
output Z;
`ifdef FUNCTIONAL // functional //
XOR2_X1_func XOR2_X1_behav_inst(.A2(A2),.A1(A1),.Z(Z));
`else
XOR2_X1_func XOR2_X1_inst(.A2(A2),.A1(A1),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
ifnone
// comb arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
ifnone
// comb arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
ifnone
// comb arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
ifnone
// comb arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module XOR2_X2( A2, A1, Z );
input A1, A2;
output Z;
`ifdef FUNCTIONAL // functional //
XOR2_X2_func XOR2_X2_behav_inst(.A2(A2),.A1(A1),.Z(Z));
`else
XOR2_X2_func XOR2_X2_inst(.A2(A2),.A1(A1),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
ifnone
// comb arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
ifnone
// comb arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
ifnone
// comb arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
ifnone
// comb arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module XOR2_X4( A2, A1, Z );
input A1, A2;
output Z;
`ifdef FUNCTIONAL // functional //
XOR2_X4_func XOR2_X4_behav_inst(.A2(A2),.A1(A1),.Z(Z));
`else
XOR2_X4_func XOR2_X4_inst(.A2(A2),.A1(A1),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
ifnone
// comb arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
ifnone
// comb arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
ifnone
// comb arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
ifnone
// comb arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module XOR3_X1( A2, A1, A3, Z );
input A1, A2, A3;
output Z;
`ifdef FUNCTIONAL // functional //
XOR3_X1_func XOR3_X1_behav_inst(.A2(A2),.A1(A1),.A3(A3),.Z(Z));
`else
XOR3_X1_func XOR3_X1_inst(.A2(A2),.A1(A1),.A3(A3),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(A2===1'b0 && A3===1'b1)
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2===1'b1 && A3===1'b0)
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
ifnone
// comb arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
ifnone
// comb arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
if(A2===1'b0 && A3===1'b0)
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2===1'b1 && A3===1'b1)
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A1===1'b0 && A3===1'b1)
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1===1'b1 && A3===1'b0)
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
ifnone
// comb arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
ifnone
// comb arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
if(A1===1'b0 && A3===1'b0)
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1===1'b1 && A3===1'b1)
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
ifnone
// comb arc posedge A3 --> (Z:A3)
(posedge A3 => (Z:A3)) = (1.0,1.0);
ifnone
// comb arc negedge A3 --> (Z:A3)
(negedge A3 => (Z:A3)) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module XOR3_X2( A2, A1, A3, Z );
input A1, A2, A3;
output Z;
`ifdef FUNCTIONAL // functional //
XOR3_X2_func XOR3_X2_behav_inst(.A2(A2),.A1(A1),.A3(A3),.Z(Z));
`else
XOR3_X2_func XOR3_X2_inst(.A2(A2),.A1(A1),.A3(A3),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(A2===1'b0 && A3===1'b1)
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2===1'b1 && A3===1'b0)
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
ifnone
// comb arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
ifnone
// comb arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
if(A2===1'b0 && A3===1'b0)
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2===1'b1 && A3===1'b1)
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A1===1'b0 && A3===1'b1)
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1===1'b1 && A3===1'b0)
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
ifnone
// comb arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
ifnone
// comb arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
if(A1===1'b0 && A3===1'b0)
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1===1'b1 && A3===1'b1)
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
ifnone
// comb arc posedge A3 --> (Z:A3)
(posedge A3 => (Z:A3)) = (1.0,1.0);
ifnone
// comb arc negedge A3 --> (Z:A3)
(negedge A3 => (Z:A3)) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine
`celldefine
module XOR3_X4( A2, A1, A3, Z );
input A1, A2, A3;
output Z;
`ifdef FUNCTIONAL // functional //
XOR3_X4_func XOR3_X4_behav_inst(.A2(A2),.A1(A1),.A3(A3),.Z(Z));
`else
XOR3_X4_func XOR3_X4_inst(.A2(A2),.A1(A1),.A3(A3),.Z(Z));
// spec_gates_begin
// spec_gates_end
specify
// specify_block_begin
if(A2===1'b0 && A3===1'b1)
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2===1'b1 && A3===1'b0)
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
ifnone
// comb arc posedge A1 --> (Z:A1)
(posedge A1 => (Z:A1)) = (1.0,1.0);
ifnone
// comb arc negedge A1 --> (Z:A1)
(negedge A1 => (Z:A1)) = (1.0,1.0);
if(A2===1'b0 && A3===1'b0)
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A2===1'b1 && A3===1'b1)
// comb arc A1 --> Z
(A1 => Z) = (1.0,1.0);
if(A1===1'b0 && A3===1'b1)
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1===1'b1 && A3===1'b0)
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
ifnone
// comb arc posedge A2 --> (Z:A2)
(posedge A2 => (Z:A2)) = (1.0,1.0);
ifnone
// comb arc negedge A2 --> (Z:A2)
(negedge A2 => (Z:A2)) = (1.0,1.0);
if(A1===1'b0 && A3===1'b0)
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1===1'b1 && A3===1'b1)
// comb arc A2 --> Z
(A2 => Z) = (1.0,1.0);
if(A1===1'b0 && A2===1'b1)
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1===1'b1 && A2===1'b0)
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
ifnone
// comb arc posedge A3 --> (Z:A3)
(posedge A3 => (Z:A3)) = (1.0,1.0);
ifnone
// comb arc negedge A3 --> (Z:A3)
(negedge A3 => (Z:A3)) = (1.0,1.0);
if(A1===1'b0 && A2===1'b0)
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
if(A1===1'b1 && A2===1'b1)
// comb arc A3 --> Z
(A3 => Z) = (1.0,1.0);
// specify_block_end
endspecify
`endif
endmodule
`endcelldefine