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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2858|回复: 8

[讨论] rtl 组合逻辑时序违约时如何高效插入寄存器

[复制链接]
发表于 2016-1-9 08:41:20 | 显示全部楼层 |阅读模式

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

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

x
一般来说一个乘法结束后插一拍,一个大位宽的加法结束后插一拍,插拍的依据是根据dc报出来的延迟表来决定的。比如300m时,将不同位宽的加减乘放到dc里面,它会给出一个延迟,从而可以制作一个延迟表。在将算法翻译为rtl的时候,如何根据这个延迟表快速的插入寄存器?先不考虑除法。
 楼主| 发表于 2016-1-9 08:47:34 | 显示全部楼层
沙发。传统的方法是手工的一级一级的插拍。有没有根据工具来辅助插拍的?
比如我将没有插寄存器的代码画成rtl图,在图上进行排列,然后在某一段上一刀切下去就可以方便的插一拍?有这样的辅助工具吗?
发表于 2016-1-9 10:57:19 | 显示全部楼层
回复 2# luoyanghero

DC有一个功能叫retiming 他会重新排列你的rtl组合逻辑和寄存器的位置,使他从整体上来看,功能跟你写的rtl是一样的,并且满足时序。但是这么做,一致性检查根本过不了,因为这就相当于重新写了rtl代码,所以这功能基本不会用。要想做到整个项目工程的完整与一致,请仔细分析各个路径,自己决定在哪插入寄存器,毕竟工具在聪明,也没有你聪明,这样整个项目,可控可追。
 楼主| 发表于 2016-1-9 23:05:09 | 显示全部楼层
回复 3# 南宫恨


   我不需要它给我插入寄存器。dc能计算出每个位宽的加减乘延迟,他能不能给我一个插入寄存器的建议,并生成rtl图,我自己再微调
发表于 2016-1-9 23:07:30 | 显示全部楼层
請問樓主您是希望由tool來處理還是你想在gate level 時,自己手動在netlist 裡面插入些cell 來處理呢?
 楼主| 发表于 2016-1-10 18:56:19 | 显示全部楼层
回复 5# kka
我希望使用tool辅助帮我处理,然后我再人为的微调
发表于 2016-1-10 22:24:28 | 显示全部楼层
很多时候工具只是提供给关键路径,在关键路径中寻找延迟最大的组合逻辑可以人工来找,也比较方便。
 楼主| 发表于 2016-1-11 08:55:53 | 显示全部楼层
回复 7# tangchaodefeng


   关键路径对于优化rtl模块还可以,如果设计人员认为这个模块没发再优化了,在关键路径上需要插入10级寄存器(10级有些多,这里举个例子(),那有没有什么工具根据关键路径来给其他路径插入寄存器呢?
发表于 2016-1-16 23:34:00 | 显示全部楼层
回复 6# luoyanghero


   樓主,目前tool的能力還無法這樣100%的做到.   以下是小弟我的建議:
    1. 先思考清楚RTL架構的效能
    2.  再透過tool的分析...自己手動的來修改netlist符合您想要達到的效能
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-23 03:13 , Processed in 0.024684 second(s), 7 queries , Gzip On, Redis On.

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