1
0
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:
aolofsson 2021-05-24 20:26:05 -04:00
parent a08ef0d84c
commit 5e151efa51
20 changed files with 377 additions and 0 deletions

18
stdcells/hdl/oh_ao31.v Normal file
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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