我是verilog
的新人,我得到了
退出;不能由原语或连续分配驱动。
错误。
计数器模块是:
module Counter(
input clk,
input clear,
input load,
input up_down, // UP/~DOWN
input[3:0] IN,
input count,
output reg[3:0] OUT
);
always @(posedge clk, negedge clear)
if (~clear) OUT <= 4'b0000;
else if(load) OUT <= IN;
else if(count)
begin
if(up_down) OUT <= OUT + 1'b1;
else OUT <= OUT - 1'b1;
end
else OUT <= OUT;
endmodule
测试台是:
module test;
.
.
.
reg [3:0] IN;
reg [3:0] OUT;
Counter c1(clk, clear, load, up_down, IN, count, OUT);
endmodule
错误位于Counter c1(clk, clear, load, up_down, IN, count, OUT);
行。我已经找到了问题,但我什么都不懂
答案 0 :(得分:4)
问题是test
模块有这个声明:
reg [3:0] OUT;
reg
不应该连接到模块output
。
将reg
更改为wire
中的test
,然后确保没有其他信号驱动OUT
中的test
网:
wire [3:0] OUT;