在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3398|回复: 7

[讨论] 关于单if语句和多if语句的探讨

[复制链接]
发表于 2010-3-20 23:49:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
verilog中,像if...else if...else if...这种单if语句,会不会产生优先编码?像if...if...if...这种多if的语句又会产生怎么样的结果?

一般在讲解代码风格的书上看到的结果都是说多if语句会产生优先编码结构,而单if的语句和case语句一样不会产生优先编码结构。并且会说有些综合工具为了节省资源会把多if语句也优化成没有优先编码的结构。

但是我自己在quartus里面综合看了一下,两个产生的结果都是优先编码结构的,只是优先级顺序不一样而已。

如果说综合结果跟综合工具有关,这些代码风格到底哪个能产生真正的优先级结构呢?

希望有经验的大侠讲解一下
发表于 2010-3-21 00:55:28 | 显示全部楼层
你可以把综合工具里面关于优先编码的选项取消,然后自己用不同的代码方式写一个译码器,看它综合处理的电路是怎样的呀。有一本书,叫《Verilog 设计与验证》里面讲的很详细,建议看一下。
发表于 2010-3-21 09:16:49 | 显示全部楼层
那本书书不错的。具体的我没有试过,但if应该是有优先级的吧?
发表于 2010-3-21 09:18:24 | 显示全部楼层
单if 会产生latch, if else 产生深度组合逻辑, 如果没有优先级要求的话,最好用case.
发表于 2010-3-21 15:07:59 | 显示全部楼层
if语句会产生latch

多if..else会有优先级

最好使用case
发表于 2010-3-22 00:25:33 | 显示全部楼层
估计楼主理解错误了。
发表于 2010-3-26 22:35:37 | 显示全部楼层
单if语句产生Lath?这种说法不对吧。锁存器应该是电平触发的,在时序逻辑中,单if语句产生的也是个触发器
发表于 2010-3-29 16:35:59 | 显示全部楼层
楼上正解!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-1 00:59 , Processed in 0.032457 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表