我有
注册退出;不能由原语或连续赋值驱动。
错误。
计数器模块是:
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
Run Code Online (Sandbox Code Playgroud)
测试平台是:
module test;
.
.
.
reg [3:0] IN;
reg [3:0] OUT;
Counter c1(clk, clear, load, up_down, IN, count, OUT);
endmodule
Run Code Online (Sandbox Code Playgroud)
错误Counter c1(clk, clear, load, up_down, IN, count, OUT);在行中。
问题是test模块有这个声明:
reg [3:0] OUT;
Run Code Online (Sandbox Code Playgroud)
Areg不应连接到模块output。
更改reg为wirein test,然后确保没有其他信号驱动OUT网络 in test:
wire [3:0] OUT;
Run Code Online (Sandbox Code Playgroud)