

module AN21 (A, B, C, Q);
  input A;
  input B;
  input C;
  output Q;

  not (Q,Q_I);
  and (net_0, A, B);
  or (Q_I, net_0, C);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
  endspecify
`endif

endmodule

module AN211 (A, B, C, D, Q);
  input A;
  input B;
  input C;
  input D;
  output Q;

  not (Q,Q_I);
  and (net_2, B, A);
  or (Q_I, D, C, net_2);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
  endspecify
`endif

endmodule

module AN22 (A, B, C, D, Q);
  input A;
  input B;
  input C;
  input D;
  output Q;

  not (Q,Q_I);
  and (net_0, B, A);
  and (net_1, D, C);
  or (Q_I, net_0, net_1);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
  endspecify
`endif

endmodule

module AN221 (A, B, C, D, E, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  output Q;

  not (Q,Q_I);
  and (net_0, B, A);
  and (net_1, C, D);
  or (Q_I, net_0, net_1, E);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
  endspecify
`endif

endmodule

module AN222 (A, B, C, D, E, F, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  input F;
  output Q;

  not (Q,Q_I);
  and (net_0, B, A);
  and (net_1, D, C);
  and (net_2, F, E);
  or (Q_I, net_0, net_1, net_2);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
    (F => Q) = (1,1);
  endspecify
`endif

endmodule

module AN31 (A, B, C, D, Q);
  input A;
  input B;
  input C;
  input D;
  output Q;

  not (Q,Q_I);
  and (net_0, B, A, C);
  or (Q_I, net_0, D);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
  endspecify
`endif

endmodule

module AN311 (A, B, C, D, E, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  output Q;

  not (Q,Q_I);
  and (net_0, A, C, B);
  or (Q_I, net_0, D, E);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
  endspecify
`endif

endmodule

module AN32 (A, B, C, D, E, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  output Q;

  not (Q,Q_I);
  and (net_0, A, C, B);
  and (net_1, D, E);
  or (Q_I, net_0, net_1);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
  endspecify
`endif

endmodule

module AN321 (A, B, C, D, E, F, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  input F;
  output Q;

  not (Q,Q_I);
  and (net_0, C, B, A);
  and (net_1, E, D);
  or (Q_I, net_0, net_1, F);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
    (F => Q) = (1,1);
  endspecify
`endif

endmodule

module AN322 (A, B, C, D, E, F, G, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  input F;
  input G;
  output Q;

  not (Q,Q_I);
  and (net_0, B, A, C);
  and (net_1, D, E);
  and (net_2, G, F);
  or (Q_I, net_0, net_1, net_2);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
    (F => Q) = (1,1);
    (G => Q) = (1,1);
  endspecify
`endif

endmodule


module BU1 (A, Q);
  input A;
  output Q;

  buf (Q, A);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
  endspecify
`endif

endmodule



module IN1 (A, Q);
  input A;
  output Q;

  not (Q, A);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
  endspecify
`endif

endmodule


module NA2 (A, B, Q);
  input A;
  input B;
  output Q;

  nand (Q, A, B);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
  endspecify
`endif

endmodule



module NA3 (A, B, C, Q);
  input A;
  input B;
  input C;
  output Q;

  nand (Q, A, B, C);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
  endspecify
`endif

endmodule



module NA4 (A, B, C, D, Q);
  input A;
  input B;
  input C;
  input D;
  output Q;

  nand (Q, A, B, C, D);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
  endspecify
`endif

endmodule



module NO2 (A, B, Q);
  input A;
  input B;
  output Q;

  nor (Q, A, B);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
  endspecify
`endif

endmodule


module NO3 (A, B, C, Q);
  input A;
  input B;
  input C;
  output Q;

  nor (Q, A, B, C);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
  endspecify
`endif

endmodule



module NO4 (A, B, C, D, Q);
  input A;
  input B;
  input C;
  input D;
  output Q;

  nor (Q, A, B, C, D);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
  endspecify
`endif

endmodule




module ON21 (A, B, C, Q);
  input A;
  input B;
  input C;
  output Q;

  not (Q,Q_I);
  or (net_1, A, B);
  and (Q_I, C, net_1);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
  endspecify
`endif

endmodule

module ON211 (A, B, C, D, Q);
  input A;
  input B;
  input C;
  input D;
  output Q;

  not (Q,Q_I);
  or (net_2, B, A);
  and (Q_I, D, C, net_2);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
  endspecify
`endif

endmodule

module ON22 (A, B, C, D, Q);
  input A;
  input B;
  input C;
  input D;
  output Q;

  not (Q,Q_I);
  or (net_0, D, C);
  or (net_1, B, A);
  and (Q_I, net_0, net_1);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
  endspecify
`endif

endmodule

module ON221 (A, B, C, D, E, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  output Q;

  not (Q,Q_I);
  or (net_1, B, A);
  or (net_2, C, D);
  and (Q_I, E, net_1, net_2);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
  endspecify
`endif

endmodule

module ON222 (A, B, C, D, E, F, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  input F;
  output Q;

  not (Q,Q_I);
  or (net_0, F, E);
  or (net_1, B, A);
  or (net_2, D, C);
  and (Q_I, net_0, net_1, net_2);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
    (F => Q) = (1,1);
  endspecify
`endif

endmodule

module ON31 (A, B, C, D, Q);
  input A;
  input B;
  input C;
  input D;
  output Q;

  not (Q,Q_I);
  or (net_1, B, A, C);
  and (Q_I, D, net_1);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
  endspecify
`endif

endmodule

module ON311 (A, B, C, D, E, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  output Q;

  not (Q,Q_I);
  or (net_2, A, C, B);
  and (Q_I, D, E, net_2);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
  endspecify
`endif

endmodule

module ON32 (A, B, C, D, E, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  output Q;

  not (Q,Q_I);
  or (net_0, D, E);
  or (net_1, A, C, B);
  and (Q_I, net_0, net_1);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
  endspecify
`endif

endmodule

module ON321 (A, B, C, D, E, F, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  input F;
  output Q;

  not (Q,Q_I);
  or (net_1, C, B, A);
  or (net_2, E, D);
  and (Q_I, F, net_1, net_2);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
    (F => Q) = (1,1);
  endspecify
`endif

endmodule

module ON322 (A, B, C, D, E, F, G, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  input F;
  input G;
  output Q;

  not (Q,Q_I);
  or (net_0, D, E);
  or (net_1, G, F);
  or (net_2, B, A, C);
  and (Q_I, net_0, net_1, net_2);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
    (F => Q) = (1,1);
    (G => Q) = (1,1);
  endspecify
`endif

endmodule

module ON33 (A, B, C, D, E, F, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  input F;
  output Q;

  not (Q,Q_I);
  or (net_0, F, E, D);
  or (net_1, C, B, A);
  and (Q_I, net_0, net_1);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
    (F => Q) = (1,1);
  endspecify
`endif

endmodule

module ON331 (A, B, C, D, E, F, G, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  input F;
  input G;
  output Q;

  not (Q,Q_I);
  or (net_1, C, B, A);
  or (net_2, E, D, F);
  and (Q_I, G, net_1, net_2);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
    (F => Q) = (1,1);
    (G => Q) = (1,1);
  endspecify
`endif

endmodule

module ON332 (A, B, C, D, E, F, G, H, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  input F;
  input G;
  input H;
  output Q;

  not (Q,Q_I);
  or (net_0, H, G);
  or (net_1, C, B, A);
  or (net_2, D, F, E);
  and (Q_I, net_0, net_1, net_2);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
    (F => Q) = (1,1);
    (G => Q) = (1,1);
    (H => Q) = (1,1);
  endspecify
`endif

endmodule

module ON333 (A, B, C, D, E, F, G, H, I, Q);
  input A;
  input B;
  input C;
  input D;
  input E;
  input F;
  input G;
  input H;
  input I;
  output Q;

  not (Q,Q_I);
  or (net_0, I, H, G);
  or (net_1, C, B, A);
  or (net_2, F, E, D);
  and (Q_I, net_0, net_1, net_2);

`ifdef functional
`else
  specify
    (A => Q) = (1,1);
    (B => Q) = (1,1);
    (C => Q) = (1,1);
    (D => Q) = (1,1);
    (E => Q) = (1,1);
    (F => Q) = (1,1);
    (G => Q) = (1,1);
    (H => Q) = (1,1);
    (I => Q) = (1,1);
  endspecify
`endif

endmodule



