【发布时间】:2018-12-07 11:44:14
【问题描述】:
我是 Verilog 编码的新手,我有一个大学项目来设计一个简单的电梯系统。该代码在 FPGA 上运行良好,但我无法让模拟工作。这是我的代码:
module move(
output reg [1:0] current,
input [1:0] target,
input clk,
input overloadin,
output reg up,
output reg down
);
always@(posedge clk)
if (overloadin==1'b0)
begin
if (target[1:0]>current[1:0])
begin
current[1:0] <= current[1:0] + 1;
up = 1'b1;
down = 1'b0;
end
else if (target[1:0]<current[1:0])
begin
current[1:0] <= current[1:0] - 1;
down = 1'b1;
up = 1'b0;
end
else
begin
up = 1'b0;
down = 1'b0;
end
end
endmodule
'current' 在顶层模块中被声明为线。我假设我无法模拟它,因为“当前”的值没有被初始化。如何在不影响always块功能的情况下初始化它的值?
【问题讨论】:
标签: initialization verilog test-bench