Archived
1
0

created predefined gates in verilog

This commit is contained in:
Erick
2022-02-22 13:06:51 +01:00
parent 4cbdd294fb
commit 2fde4d5bf5
7 changed files with 84 additions and 0 deletions
+12
View File
@@ -0,0 +1,12 @@
module and_gate(a, b, y);
input a, b;
output y;
always @ (a or b)begin
if(a==1'b1 and b==1'b1)begin
y=1'b1;
end
else
y=0'b0;
end
endmodule
+13
View File
@@ -0,0 +1,13 @@
include "or_gate.v"
include "not_gate.v"
module nor_gate(a, b, y);
input a, b;
output y;
logic sel;
always @ (a or b)begin
or_gate(a, b, sel);
not_gate(sel, y);
end
endmodule
+12
View File
@@ -0,0 +1,12 @@
module not_gate(a, y);
input a;
output y;
always @ (a)begin
if(a==1'b1)begin
y=0'b0;
end
else
y=1'b1;
end
endmodule
+12
View File
@@ -0,0 +1,12 @@
module or_gate(a, b, y);
input a, b;
output y;
always @ (a or b)begin
if(a==0'b0 and b==0'b0)begin
y=0'b0;
end
else
y=1'b1;
end
endmodule
+17
View File
@@ -0,0 +1,17 @@
include "and_gate.v"
include "xnor_gate.v"
include "not_gate.v"
module xnor_gate(a, b, y);
input a, b;
output y;
logic selA, selB, tmpXnorA, tmpXnorB;
always @ (a or b)begin
not_gate(a, selA);
not_gate(b, selB);
and_gate(a, selB, tmpXnorA)
and_gate(selA, b, tmpXnorB)
xnor_gate(tmpXnorA, tmpXnorB, y)
end
endmodule
+17
View File
@@ -0,0 +1,17 @@
include "and_gate.v"
include "xor_gate.v"
include "not_gate.v"
module xnor_gate(a, b, y);
input a, b;
output y;
logic selA, selB, tmpXorA, tmpXorB;
always @ (a or b)begin
not_gate(a, selA);
not_gate(b, selB);
and_gate(a, selB, tmpXnorA);
and_gate(selA, b, tmpXnorB);
xor_gate(tmpXorA, tmpXorB, y);
end
endmodule
+1
View File
@@ -0,0 +1 @@
include "gates/and.v"