gpt4 book ai didi

compiler-errors - ModelSim寄存器是非法错误

转载 作者:行者123 更新时间:2023-12-02 11:10:50 30 4
gpt4 key购买 nike

所以我得到了错误

**错误:C:/Modeltech_pe_edu_10.3c/examples/HW6/alu.v(53):在连续分配的左侧注册是非法的

对于assign语句[assign result = 32'd0;],有什么想法吗?我曾尝试在整个代码中移动该语句集群,并且它的唯一工作方式是如果我完全删除了代码的一部分。

问题是我需要运行我的测试台。关于此错误的含义以及如何解决的任何想法?

//
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

module alu
(
//--------------------------
// Input Ports
//--------------------------
input [31:0] operand0,
input [31:0] operand1,
input [3:0] control,
//--------------------------
// Output Ports
//--------------------------
output reg [31:0] result,
output zero,
output overflow



);
//--------------------------
// Bidirectional Ports
//--------------------------
// < Enter Bidirectional Ports in Alphabetical Order >
// None

///////////////////////////////////////////////////////////////////
// Begin Design
///////////////////////////////////////////////////////////////////


assign result = 32'd0;
assign zero = 1'b1;
assign overflow = 1'b0;




always @(*)


begin
case(control)




4'b0000: result = operand0 && operand1;

4'b0001: result = operand0 || operand1;

4'b0010: result = operand0 ^ operand1;

4'b0011: result = !(operand0 || operand1);

4'b0100: result = operand0 + operand1;

4'b0110: result = operand0 - operand1;

4'b1000: result = operand0 < operand1;

4'b1001: result = operand0 << operand1;

4'b1010: result = operand0 >> operand1;

4'b1011: result = operand0 >>> operand1;
endcase

end



endmodule

最佳答案

第一:不能在reg语句中分配assign类型;这是Verilog的规则。 “在连续分配的左侧寄存器是非法的”表示不能通过assign语句分配寄存器。左侧,如=的左侧。

第二:即使可以在reg语句中分配assign类型,您也将在result上拥有多个驱动程序,因为它在always块中被分配了。 assign语句是连续的驱动程序,这意味着无论其他块对同一个信号执行什么操作,它将始终向该信号应用一个值。如果存在任何冲突(例如一个冲突适用于1,另一个冲突适用于0),则结果为'bx

解决方案:删除以下行:assign result = 32'd0; result是组合逻辑,不需要初始值。

关于compiler-errors - ModelSim寄存器是非法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26813224/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com