verilog中case语句的执行过程

case 的执行过程:

  1. 计算 case expression,只计算一次,然后按照代码顺序从上向下和 case item 逐个比较

  2. 比较过程中,如果有 default 分支,则暂时先忽略

  3. 如果有某个 item 和 expression 匹配,则执行此 item 下的语句

  4. 如果匹配失败,有 default 分支,则执行该 default 分支

  5. 如果匹配失败,没有 default 分支,则终止

这个按照顺序比较的过程就是可能导致 priority encoder 的原因

猜你喜欢

转载自www.cnblogs.com/ArChieve/p/11851714.html
今日推荐