blob: 328e7504de1da3bce04ea2f5282f2586cb8697b8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
module IBUF(input I, output O);
assign O = I;
endmodule
module IOBUFE(input I, input E, output O, inout IO);
assign O = IO;
assign IO = E ? I : 1'bz;
endmodule
module ANDTERM(IN, OUT);
parameter WIDTH = 0;
input [(WIDTH*2)-1:0] IN;
output reg OUT;
integer i;
always @(*) begin
OUT = 1;
for (i = 0; i < WIDTH; i=i+1) begin
OUT = OUT & ~IN[i * 2 + 0];
OUT = OUT & IN[i * 2 + 1];
end
end
endmodule
module ORTERM(IN, OUT);
parameter WIDTH = 0;
input [WIDTH-1:0] IN;
output reg OUT;
integer i;
always @(*) begin
OUT = 0;
for (i = 0; i < WIDTH; i=i+1) begin
OUT = OUT | IN[i];
end
end
endmodule
|