搜索
bottom↓
回复: 9

always@(posedge clk )中的多个if else 语句的执行顺序?

[复制链接]

出0入0汤圆

发表于 2017-7-16 12:32:46 | 显示全部楼层 |阅读模式
always@(posedge clk )
     begin
        if
      
        else  if   1

        else  if   2

        else  if   3


      end
上面 always@(posedge clk )中的多个if   else 语句是按1  2   3从上到下 顺序执行的吧 ?同一个时钟周期只能判断一个条件,

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入8汤圆

发表于 2017-7-16 12:57:29 来自手机 | 显示全部楼层
不要用程序执行语句的思想看,硬件上一次直接把所有条件都判断了

出20入186汤圆

发表于 2017-7-16 14:37:37 | 显示全部楼层
有= 和<=区别,不要想像成软件,要把它理解成硬件电路

出0入0汤圆

发表于 2017-7-16 14:40:23 | 显示全部楼层
if的优先级最高,后面依次减低。

出0入0汤圆

发表于 2017-7-16 14:47:34 | 显示全部楼层
分步执行,不过用时是一个时钟;IF太多对最高时钟有影响

出0入17汤圆

发表于 2017-7-16 15:05:43 | 显示全部楼层
是同一个时钟周期判断所有的条件,但是只能进入一个分支

出0入0汤圆

发表于 2017-8-6 23:11:55 | 显示全部楼层
if(...)里的条件是在一个时钟周期里同时判断的
多个if-else表示的是优先编码器,也就是之前的条件满足了就不会管后面的了
也就是说,综合的结果可能是多个2:1 mux……  如果可以的话尽可能避免这种做法

出0入54汤圆

发表于 2017-8-7 08:12:34 | 显示全部楼层
用case就是并行判断了。

出0入0汤圆

发表于 2017-8-7 15:42:23 | 显示全部楼层
同样建议用case并行判断

出0入0汤圆

发表于 2017-8-10 13:34:04 | 显示全部楼层
Nuker 发表于 2017-7-16 15:05
是同一个时钟周期判断所有的条件,但是只能进入一个分支

再补充一句,在一个周期内从上往下判断是有顺序的,先判断上面的。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 00:29

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表