always块中的多个if运行

时间:2025-01-22 16:21:09

今天在调试时出现的问题在一个always中写入了三个if语句,前两个只有if,而最后一个有if ,else关系,在测试时即使第二个if的触发条件满足,但是从在线看还是没进入到begin,end中。观察RTL发现第二个if的内容没被接入到电路。

原因: 

         块中多个if存在优先级关系,越靠近后面的优先级越高,越在后边的也是越靠近输出短的,那么延时也将越短。

         2.当第n个if带有else且第n个if不生效时,那么会直接执行else,这时前n-1个if的判断条件即使成立也无效。