Verilog中关于if else语句的问题
时间:10-02
整理:3721RD
点击:
假设一个always块中的情形是这样always@(posedge clk or negedge rstn)
if(!rstn)
A;
else if(B)
C;
else if(D)
E;
若条件B和条件D不是互斥的关系,即是两个不相关的条件。如果同时满足条件B和条件D,此时会不会发生竞争冒险?
if else 语句的执行是否有优先级?
看到参考书上是这样的,若B,D互斥,则综合成无优先级的。若B,D不互斥,则综合成有优先级的。
if(!rstn)
A;
else if(B)
C;
else if(D)
E;
若条件B和条件D不是互斥的关系,即是两个不相关的条件。如果同时满足条件B和条件D,此时会不会发生竞争冒险?
if else 语句的执行是否有优先级?
看到参考书上是这样的,若B,D互斥,则综合成无优先级的。若B,D不互斥,则综合成有优先级的。
我理解的if else if是有优先级的,也就是当B满足了之后,D就不会被判断了
我也是这样理解的,就是不知道实际电路中会不会发生竞争?
以先後順序來看B滿足後D不執行
也就是说是有优先级控制的,是一个顺序执行的方式
可以肯定的说不会
不会的,我自己仿真过了,条件有优先级实现
Thanks
