verilog语言中一个模块中2个always语句是如何执行

always @(posedge clk or negedge rst_n)
if(!rst_n) cnt_4 <= 8'd0;
else cnt_4 <= cnt_4+1'b1;
//显示数据
always @(posedge clk or negedge rst_n)
if(!rst_n) seg_num <= 8'h00;
else
case(cnt_4[7:6])
2'b00: seg_num <= dis_data[3:0];
2'b01: seg_num <= dis_data[7:4];
2'b10: seg_num <= dis_data[11:8];
2'b11: seg_num <= dis_data[15:12];
default: seg_num <= 8'h00;
endcase

比如这两个always,是同时判断是否在上升沿,还是判断玩上一个再走下一个的

第1个回答  推荐于2017-12-16
always是并行执行的, 你可以仿真看看,里面的CNT_4判断是取的上一次的值本回答被提问者采纳
第2个回答  2013-05-09
verilog中各个always块都是并行执行的,不存在谁先谁后的关系
第3个回答  2013-05-09
同时判断!always是并行执行的,两个always语句各走各地
相似回答