Генератор Verilog для бинарных умножителей на базе иерархического метода
Выберите битность входов умножителя (от 4 до 64):
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Выбранная битность: 4 (Максимальное значение на выходе: 256)
module mult_4(dataout, dataa, datab); parameter WIDTH = 4; input [WIDTH-1:0] dataa; input [WIDTH-1:0] datab; output [2*WIDTH-1:0] dataout; assign dataout = dataa * datab; endmodule module atest_bench(); wire [7:0] out; reg [3:0] in1; reg [3:0] in2; integer i, j, k, l, m, n; integer fori, forj, forz; reg dummy; hierarchical_binary_multiplication_4 r1(in1, in2, out); initial begin /* Full range */ for (fori = 0; fori < 16; fori = fori + 1) begin for (forj = 0; forj < 16; forj = forj + 1) begin in1 = fori; in2 = forj; #1 dummy = 1; l = fori*forj; $display ("!!! Input = (%d, %d) Res = (%d) Expect = (%d)", fori, forj, out, l); i = out; if (i != l) begin $display ("!!! Error (%d, %d, %d, %d)!!!", fori, forj, i, l); end #1 dummy = 1; end end end endmodule
Описание
:
На главную