用Verilog编写时,always@(a,b,posedge cp) 为什么不对啊?正确的应该怎么写?

2024-11-25 22:11:54
推荐回答(3个)
回答(1):

always @(a or b) begin
/* your code */
end

always @(posedge cp) begin
/* your code */
end

电平敏感和跳变沿敏感不能混在一个always里面。

另外,下面的写法也是可以的。
always @(posedge clk1 or posedge clk2) begin
/* your code */
end

回答(2):

综合器无法给你综合成对应的器件,@ posedge cp综合成上升沿触发的寄存器,不能和电平信号写在同一敏感列表中

正确的应该是always @ (*) 或者 always @ (posedge cp or negedge rst_n)
前者对应组合逻辑,后者对应时序逻辑

回答(3):

正解