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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: 飘渺仙

[原创] 完全异步复位电路设计危害

[复制链接]
发表于 2018-2-19 16:41:11 | 显示全部楼层
Interesting
发表于 2018-2-19 16:41:51 | 显示全部楼层
Thank you
发表于 2018-11-2 09:37:40 | 显示全部楼层
学习一下!
发表于 2018-11-6 15:27:11 | 显示全部楼层
谢谢楼主分享
发表于 2018-11-7 08:54:09 | 显示全部楼层
楼主讲的原理上的,有没有具体代码的实例!具体怎么实现同步释放的?
发表于 2018-11-12 18:42:50 | 显示全部楼层
好文章,感谢分享
发表于 2018-11-14 11:04:44 | 显示全部楼层
学习下下
发表于 2018-11-16 23:50:26 | 显示全部楼层


有点少见多怪了。
没有任何一部教科书上说,数字设计一定要有异步复位的。
你只需要确保你的每个单元在使用时数据一定是有效的即可,比如:
1.你完全可以在数据流开始之前对相应的register进行同步复位
2.你还可以在这个register的数据使用的地方用valid信号控制,只在数据有效时才将valid信号置为有效
3.利用软件帮助复位,比如Ram
不要以为这样做只是毫无疑义的秀操作,实际上它有一个非常重要的好处:
1.改善布线,减少congestion。因为异步复位信号往往都是全局信号,要将每个触发器都连上异步复位信号非常考验走线,尤其是在存在大量寄存器阵列的地方。如果你接触过后端,会发现有时候一个存在大量寄存器阵列的模块会出现congestion,如果你将没有必要的异步复位去掉,往往能直接解决这个问题。这就是为什么Ram一般不加异步复位信号的原因。
2.减小面积。也许你会跟我算,一个不带异步复位的寄存器可能只能节省2门,但是为了省掉的异步复位要加同步复位或valid信号不是又把节省下来的逻辑门加回来了吗?要算这笔账还得了解后端的实现。由于异步复位往往是全局驱动信号,为了保证异步复位信号对每个寄存器都有足够的驱动力,是会一路插着buffer连过来的,要算上这些buffer可能最后还是节省了。另外,一些大块的寄存器阵列,为了要把异步复位信号绕出来,可能会导致你最后PR出来的面积成倍增加(相比于没有异步复位)
所以,依我的设计经验:数据流寄存器一般可以不要异步复位端,大块的寄存器阵列尽量不要用异步复位
发表于 2018-11-17 15:31:31 | 显示全部楼层
谢谢楼主
发表于 2018-11-17 17:42:45 | 显示全部楼层
interesting
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-22 06:59 , Processed in 0.022103 second(s), 6 queries , Gzip On, Redis On.

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