我是一名 FPGA 菜鸟,正在尝试学习 Verilog。如何为always block 中的reg“分配”一个值,无论是作为初始值还是作为常量。我正在尝试在下面的代码中做类似的事情。我收到错误,因为 8 位常量不算作输入。我也不想触发时钟始终关闭。我只想将一个寄存器分配给一个特定的值。因为我希望它是可综合的,所以我不能使用初始 block 。多谢。
module top
(
input wire clk,
output wire [7:0] led
);
reg [7:0] data_reg ;
always @*
begin
data_reg = 8'b10101011;
end
assign led = data_reg;
endmodule
最佳答案
您可以将寄存器声明与初始化结合起来。
reg [7:0] data_reg = 8'b10101011;
或者您可以使用初始
block
reg [7:0] data_reg;
initial data_reg = 8'b10101011;
关于verilog - 将可综合的初始值分配给 Verilog 中的寄存器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10005411/