编写Verilog中assign和always中间出现的问题

Verilog 中在尝试always和assign的时候发生的冲突

img


最初的代码是这样的,但是在仿真的时候“led”以00,和01的形式显示
想要led直接用0或1的形式显示要用assign
但是尝试了很多方法之后发现放不进去

img


最下面三句assign无论放在always里面哪里都会报错,但是如果放在外面会因为重复利“led”报错,想问一下有没有什么方法可以进行修改

1. always 中是不能插入 assign 语句 2. led 在 always 中赋值后,就不能在其他的 always 或 assign中赋值 3. 你可以定义一个中间值,再用 assign 赋值 ``` module mx( input a,clk, output led); reg led_r; always@(posedge clk) begin led_r <=a; end assign led=led_r; endmodule ```