当前位置:   article > 正文

verilog中的if else if_verilog if else if 执行顺序

verilog if else if 执行顺序

我们使用always块时,代码中a和b触发条件一致

  • a没有带else 所以形成的硬件是锁存器,也就是从c!=1时a会保持原来的值。
  • 而b有else则生成触发器,不满足if就会执行else。
  • always块是并行运行的,但是块内的if 、else if是顺序进行的也就是顺序执行有一个满足条件就不会执行其他的else if了。
  1. always@(posedge clk)begin
  2. if (rst==1)begin
  3. a <= 1;
  4. end
  5. else if (c==1)begin
  6. a <= 2;
  7. end
  8. end
  9. always@(posedge clk)begin
  10. if (rst==1)begin
  11. b <= 1;
  12. end
  13. else if (c==1)begin
  14. b <= 2;
  15. end
  16. else begin
  17. b <= 0;
  18. end
  19. end

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/614362
推荐阅读
相关标签
  

闽ICP备14008679号