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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6441|回复: 11

[讨论] 请问大家做的设计,有没有没有复位的寄存器?

[复制链接]
发表于 2011-10-31 15:53:31 | 显示全部楼层 |阅读模式

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

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

x
最近接手了一位前同事留下的设计,有比较多的问题,如位宽没指定,部分寄存器没有复位等等等。
在此请教一下大家,有没有什么情况,寄存器是不能有复位端的?
我个人觉得所有寄存器都应该要复位,但那位同事不复位的理由比较奇怪,说复位就会添加了逻辑,面积也会增大。(我觉得只是复位端口的扇出增加)即使他说的理由成立,但能让电路运行在一个确定的状态不是更有优先权吗?
发表于 2011-10-31 16:28:07 | 显示全部楼层
具体问题具体分析。有些部分是可以不用复位的,因为他们可以自恢复。其他的自然是用复位最好了。
关于增大面积我就不知道了,我只知道可能会在复位信号上多一个反向器,扇出倒不用考虑太多吧?
发表于 2011-10-31 17:43:15 | 显示全部楼层
复位的问题是这样的,xilinx 有推荐这个coding style,就是说有的打拍的移位寄存器可以不用复位。比如,一个输入的数据,你要把它打几拍,这个打拍的signal就不用去复位了。
    这样的话,ngdbuild可以用xilinx 芯片内部的特有的一种slice(叫什么SL16M还是什么的,忘记了,你可以查下,或者问下他们的FAE)的Shift register去实现,可以省一些slice,提高占用率。而且,跟你说的一样,会省掉很多的route的走线资源。因为xilinx号称V6的全局走线资源还是相对不多的,所以能省则省吧。还有他们推荐的什么高电平复位,高电平CE,就是为了去省一个反相器。
发表于 2011-10-31 21:15:29 | 显示全部楼层
3楼正解,但在ASIC 片子上基本没碰到过需要不复位的设计情况,这个可能也和设计风格有关吧
发表于 2011-11-2 08:47:46 | 显示全部楼层
你只要试一下,写一个没有复位端的触发器,如果是ASIC用你的库综合一下看看综合出来的触发器有没有复位端就可以了,如果是FPGA救灾RTL viewer里看一下就知道了
发表于 2011-11-2 11:30:13 | 显示全部楼层
因为sl16r没有复位逻辑,如果需要使用到sl16r的时候,就不能进行复位,否则综合的时候就利用不上这些shift register了,只能使用一般的register来实现。
发表于 2011-11-2 11:37:37 | 显示全部楼层
寄存器没有复位端一般没有问题的,除非你需要指定寄存器的初始状态。
没有复位端确实可以减少面积,我们用的tsmc的库就有不带复位端的寄存器,这样做没有问题,但前提是保证能满足你的要求。
发表于 2011-11-2 12:18:46 | 显示全部楼层
没有reset的寄存器,在ASIC里面是很常见的。如果这个寄存器参与了其他组合逻辑,那么一定要reset;否则大可不必reset。确实reset会增加gate。
发表于 2011-11-2 13:27:30 | 显示全部楼层
我觉得在FPGA内影响不大吧。一般来说没有特殊要求的话还是加上的稳妥。
发表于 2011-11-3 08:53:05 | 显示全部楼层
首先要明确一点,使用的是同步复位还是异步复位。从物理上讲,同步复位其实就是没有复位端的flop。从后端来看,同步复位和异步复位完全是两码事,后端必须把异步复位当作clock来处理。从ASIC设计规范来讲,异步复位必须在数字电路之外产生,内部逻辑只能产生同步复位。
广义上讲,控制逻辑都需要复位信号,而数据通路一般不需要。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-22 09:11 , Processed in 0.048184 second(s), 8 queries , Gzip On, Redis On.

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