[VRFC 10-3236] concurrent assignment to a non-net 'led_out' is not permitted ["F:/vivado/project/project_4/project_4.srcs/sim_1/new/pwm_tb.v":33]
时间: 2024-01-01 22:03:40 浏览: 597
这个错误是由于在Verilog代码中对非网类型的变量 '_out' 进行了并发赋值致的。在您的代码中,您在 'pwm_tb.v' 文件的第33行对 'led_out' 进行了并发赋值操作。然而,并发赋值只能用于网类型(如 wire 或 reg),而不能用于非网类型(如 integer 或 real)。
要解决这个错误,您需要确保将并发赋值操作应用于网类型变量。如果 'led_out' 是一个非网类型的变量,并且您想要对它进行赋值操作,您可以考虑使用阻塞赋值或非阻塞赋值来实现。
例如,如果 'led_out' 是一个 reg 类型的变量,您可以使用阻塞赋值来对它进行赋值操作:
```verilog
always @ (*) begin
led_out = some_value;
end
```
或者,如果 'led_out' 是一个 reg 类型的变量,您可以使用非阻塞赋值来对它进行赋值操作:
```verilog
always @ (*) begin
led_out <= some_value;
end
```
请注意,使用阻塞赋值或非阻塞赋值取决于您的设计需求和时序要求。确保根据实际情况选择合适的赋值方式。
阅读全文