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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 12665|回复: 9

[原创] [Verilog]关于reg型变量赋初值的问题

[复制链接]
发表于 2017-7-17 16:35:33 | 显示全部楼层 |阅读模式

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

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

x
我查了下网上比较通用的两种赋初值的方式,一种是直接定义时候赋值,一种是通过reset赋值今天看vivado简明教程里面有这样一句话,截图下来
1236fb41f479fefd47a677097e7aa88.png

不是很理解这句话什么意思
发表于 2017-7-17 17:13:05 | 显示全部楼层
没见过这种赋值方式。
如果是仿真使用,可以使用initial语句。
 楼主| 发表于 2017-7-17 20:40:25 | 显示全部楼层
回复 2# flywind7


  是设计中用的赋值,这种赋初值是可以的,没懂为什么不可以用reset赋值
发表于 2017-7-17 21:55:11 | 显示全部楼层
在FPGA中可以这样设置上电的初始值(但不推荐这样的方法,在稍微大些的系统中,可能会因为各种异常经常做软/硬复位,有时有些信号不能被复位就会导致电路异常,只能重新上电了,如果设备用在不方便断电的地方,那就无比郁闷了)。
至于为什么不可以用RESET赋值,就需要看电路的具体应用场景了,比如这个模可能在使用中会经常被复位,但又不希望这个信号被复位。
发表于 2017-7-18 09:25:39 | 显示全部楼层




   同意vongy的观点,补充一点,不用reset复位还有一个原因可能是为了降低reset信号的扇出。
 楼主| 发表于 2017-7-18 12:00:31 | 显示全部楼层
回复 4# vongy


   明白了  非常感谢~
发表于 2017-7-18 13:37:58 | 显示全部楼层
因为xilinx的fpga架构的特殊性,xilinx的设计模式建议使用赋初始值的方式来实现全局同步复位初始化,不建议使用异步复位信号
发表于 2017-7-18 22:05:43 | 显示全部楼层
这是由赛灵思FPGA芯片结构决定的。因为很多的逻辑都是由SLICE等逻辑资源搭建起来的,有的寄存器并没有自己的复位控制,所以需要使用其他的资源去完成,本来可能只需要一个slice的使用复位之后可能就需要使用很多的slice,这样就造成逻辑资源的浪费。而且复位信号太多 容易造成扇出过大,影响性能。
发表于 2017-7-20 11:12:11 | 显示全部楼层
不赞成使用复位,在代码设计的时候,尤其是数据流没有反馈应用的环境里,能不使用复位就不使用。
系统复杂度提高,要靠代码设计去完成系统的自恢复能力。

复位会浪费走线资源,降低资源使用率.
发表于 2017-7-20 12:05:31 | 显示全部楼层
回复 9# 冲出藩篱


   同意此观点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-25 09:53 , Processed in 0.029696 second(s), 7 queries , Gzip On, Redis On.

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