implement a Verilog gate level model for 32-bit basic logic gates

Gate level implementation for the following components:
- NOR32_2x1
- AND32_2x1
- INV32_1x1
- OR32_2x1
This commit is contained in:
Iurii Tatishchev 2024-10-01 10:44:45 -07:00
parent 5520d6d716
commit 87e48f162e
Signed by: CaZzzer
GPG Key ID: E0EBF441EA424369

36
logic_32_bit.v Normal file → Executable file
View File

@ -22,8 +22,13 @@ output [31:0] Y;
input [31:0] A;
input [31:0] B;
// TBD
genvar i;
generate
for (i = 0; i < 32; i = i + 1)
begin : nor32_gen_loop
nor nor_inst(Y[i], A[i], B[i]);
end
endgenerate
endmodule
// 32-bit AND
@ -34,8 +39,13 @@ output [31:0] Y;
input [31:0] A;
input [31:0] B;
// TBD
genvar i;
generate
for (i = 0; i < 32; i = i + 1)
begin : and32_gen_loop
and and_inst(Y[i], A[i], B[i]);
end
endgenerate
endmodule
// 32-bit inverter
@ -45,8 +55,13 @@ output [31:0] Y;
//input
input [31:0] A;
// TBD
genvar i;
generate
for (i = 0; i < 32; i = i + 1)
begin : inv32_gen_loop
not inv32_inst(Y[i], A[i]);
end
endgenerate
endmodule
// 32-bit OR
@ -57,6 +72,11 @@ output [31:0] Y;
input [31:0] A;
input [31:0] B;
// TBD
genvar i;
generate
for (i = 0; i < 32; i = i + 1)
begin : or32_gen_loop
or or32_inst(Y[i], A[i], B[i]);
end
endgenerate
endmodule