0

这是 reg 赋值的声明

reg [5:0]R = {bi7 ,[15:11]RGB}; //bi7 is a parameter

但是在模块的最后一行,我得到了这个错误,它指向相同的 reg 分配。

ERROR:HDLCompiler:69 - "path.v" Line 58: <R> is not declared.

谁能帮我解决这个问题,因为我对verilog的整个体验只是一本书:(

4

1 回答 1

4

在verilog中,你只能给reginalwaysinitialblocks赋值。您还可以RGB在总线名称的错误一侧获得从总线上剥离位的位范围。

reg [5:0] r;
always @(RGB) begin
    r = {bi7, RGB[15:11]};
end

请注意,在 verilog 中,参数名称(例如bi7代码中的参数名称)通常以大写形式定义和编写,以便于识别。

于 2012-11-29T16:41:46.397 回答