mirror of
https://github.com/aolofsson/oh.git
synced 2025-01-17 20:02:53 +08:00
Adding batch of oa/ao cells
This commit is contained in:
parent
a08ef0d84c
commit
5e151efa51
18
stdcells/hdl/oh_ao31.v
Normal file
18
stdcells/hdl/oh_ao31.v
Normal file
@ -0,0 +1,18 @@
|
||||
//#############################################################################
|
||||
//# Function: And-Or (ao31) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_ao31 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] a2,
|
||||
input [DW-1:0] b0,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = (a0 & a1 & a2) | b0;
|
||||
|
||||
endmodule
|
19
stdcells/hdl/oh_ao311.v
Normal file
19
stdcells/hdl/oh_ao311.v
Normal file
@ -0,0 +1,19 @@
|
||||
//#############################################################################
|
||||
//# Function: And-Or (ao311) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_ao311 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] a2,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] c0,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = (a0 & a1 & a2) | b0 | c0;
|
||||
|
||||
endmodule
|
19
stdcells/hdl/oh_ao32.v
Normal file
19
stdcells/hdl/oh_ao32.v
Normal file
@ -0,0 +1,19 @@
|
||||
//#############################################################################
|
||||
//# Function: And-Or (ao32) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_ao32 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] a2,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] b1,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = (a0 & a1 & a2) | (b0 & b1);
|
||||
|
||||
endmodule
|
20
stdcells/hdl/oh_ao33.v
Normal file
20
stdcells/hdl/oh_ao33.v
Normal file
@ -0,0 +1,20 @@
|
||||
//#############################################################################
|
||||
//# Function: And-Or (ao33) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_ao33 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] a2,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] b1,
|
||||
input [DW-1:0] b2,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = (a0 & a1 & a2) | (b0 & b1 & b2);
|
||||
|
||||
endmodule
|
18
stdcells/hdl/oh_oa211.v
Normal file
18
stdcells/hdl/oh_oa211.v
Normal file
@ -0,0 +1,18 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And (oa211) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oa211 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] c0,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = (a0 | a1) & b0 & c0;
|
||||
|
||||
endmodule
|
18
stdcells/hdl/oh_oa22.v
Normal file
18
stdcells/hdl/oh_oa22.v
Normal file
@ -0,0 +1,18 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And (oa22) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oa22 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] b1,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = (a0 | a1) & (b0 | b1);
|
||||
|
||||
endmodule
|
19
stdcells/hdl/oh_oa221.v
Normal file
19
stdcells/hdl/oh_oa221.v
Normal file
@ -0,0 +1,19 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And (oa221) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oa221 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] b1,
|
||||
input [DW-1:0] c0,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = (a0 | a1) & (b0 | b1) & (c0);
|
||||
|
||||
endmodule
|
20
stdcells/hdl/oh_oa222.v
Normal file
20
stdcells/hdl/oh_oa222.v
Normal file
@ -0,0 +1,20 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And (oa222) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oa222 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] b1,
|
||||
input [DW-1:0] c0,
|
||||
input [DW-1:0] c1,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = (a0 | a1) & (b0 | b1) & (c0 | c1);
|
||||
|
||||
endmodule
|
18
stdcells/hdl/oh_oa31.v
Normal file
18
stdcells/hdl/oh_oa31.v
Normal file
@ -0,0 +1,18 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And (oa31) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oa31 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] a2,
|
||||
input [DW-1:0] b0,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = (a0 | a1 | a2) & b0;
|
||||
|
||||
endmodule
|
19
stdcells/hdl/oh_oa311.v
Normal file
19
stdcells/hdl/oh_oa311.v
Normal file
@ -0,0 +1,19 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And (oa311) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oa311 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] a2,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] c0,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = (a0 | a1 | a2) & b0 & c0;
|
||||
|
||||
endmodule
|
19
stdcells/hdl/oh_oa32.v
Normal file
19
stdcells/hdl/oh_oa32.v
Normal file
@ -0,0 +1,19 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And (oa32) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oa32 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] a2,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] b1,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = (a0 | a1 | a2) & (b0 | b1);
|
||||
|
||||
endmodule
|
20
stdcells/hdl/oh_oa33.v
Normal file
20
stdcells/hdl/oh_oa33.v
Normal file
@ -0,0 +1,20 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And (oa33) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oa33 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] a2,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] b1,
|
||||
input [DW-1:0] b2,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = (a0 | a1 | a2) & (b0 | b1 | b2);
|
||||
|
||||
endmodule
|
17
stdcells/hdl/oh_oai21.v
Normal file
17
stdcells/hdl/oh_oai21.v
Normal file
@ -0,0 +1,17 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And-Inverter (oai21) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oai21 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] b0,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = ~((a0 | a1) & b0);
|
||||
|
||||
endmodule
|
18
stdcells/hdl/oh_oai22.v
Normal file
18
stdcells/hdl/oh_oai22.v
Normal file
@ -0,0 +1,18 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And-Inverter (oai22) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oai22 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] b1,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = ~((a0 | a1) & (b0 | b1));
|
||||
|
||||
endmodule
|
19
stdcells/hdl/oh_oai221.v
Normal file
19
stdcells/hdl/oh_oai221.v
Normal file
@ -0,0 +1,19 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And-Inverter (oai221) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oai221 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] b1,
|
||||
input [DW-1:0] c0,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = ~((a0 | a1) & (b0 | b1) & (c0));
|
||||
|
||||
endmodule
|
20
stdcells/hdl/oh_oai222.v
Normal file
20
stdcells/hdl/oh_oai222.v
Normal file
@ -0,0 +1,20 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And-Inverter (oai222) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oai222 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] b1,
|
||||
input [DW-1:0] c0,
|
||||
input [DW-1:0] c1,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = ~((a0 | a1) & (b0 | b1) & (c0 | c1));
|
||||
|
||||
endmodule
|
18
stdcells/hdl/oh_oai31.v
Normal file
18
stdcells/hdl/oh_oai31.v
Normal file
@ -0,0 +1,18 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And-Inverter (oai31) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oai31 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] a2,
|
||||
input [DW-1:0] b0,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = ~((a0 | a1 | a2) & b0);
|
||||
|
||||
endmodule
|
19
stdcells/hdl/oh_oai311.v
Normal file
19
stdcells/hdl/oh_oai311.v
Normal file
@ -0,0 +1,19 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And-Inverter (oai311) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oai311 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] a2,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] c0,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = ~((a0 | a1 | a2) & b0 & c0);
|
||||
|
||||
endmodule
|
19
stdcells/hdl/oh_oai32.v
Normal file
19
stdcells/hdl/oh_oai32.v
Normal file
@ -0,0 +1,19 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And-Inverter (oai32) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oai32 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] a2,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] b1,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = ~((a0 | a1 | a2) & (b0 | b1));
|
||||
|
||||
endmodule
|
20
stdcells/hdl/oh_oai33.v
Normal file
20
stdcells/hdl/oh_oai33.v
Normal file
@ -0,0 +1,20 @@
|
||||
//#############################################################################
|
||||
//# Function: Or-And-Inverter (oai33) Gate #
|
||||
//# Copyright: OH Project Authors. ALl rights Reserved. #
|
||||
//# License: MIT (see LICENSE file in OH repository) #
|
||||
//#############################################################################
|
||||
|
||||
module oh_oai33 #(parameter DW = 1 ) // array width
|
||||
(
|
||||
input [DW-1:0] a0,
|
||||
input [DW-1:0] a1,
|
||||
input [DW-1:0] a2,
|
||||
input [DW-1:0] b0,
|
||||
input [DW-1:0] b1,
|
||||
input [DW-1:0] b2,
|
||||
output [DW-1:0] z
|
||||
);
|
||||
|
||||
assign z = ~((a0 | a1 | a2) & (b0 | b1 | b2));
|
||||
|
||||
endmodule
|
Loading…
x
Reference in New Issue
Block a user