微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 菜鸟请教切割流水线问题

菜鸟请教切割流水线问题

时间:10-02 整理:3721RD 点击:
高速设计时候,流水线的切割有什么依据么?是在每个块的in 和out都拿寄存器存一下吧。
不太懂得这方面的东东 大家能讨论下么。

关键路径上,如果时序不过,或者是时序已经紧张,那么就要寄存一拍,减小DFF到DFF上的延迟。一般来说,模块out都寄存出去好些。
也不一定,有一定数字设计经验后,可以通过一些组合逻辑的RTL代码技巧(完全看个人对综合器的领悟了),实现相同的功能,减少组合逻辑的级联数目,来达到改善长线延迟的目的,因为在有些情况下,突然改成pipeline,会修改周边的很多逻辑时序。

要考虑的还挺多的。在满足timing的前提下,流水线级数越少越好,因为加入的pipeline register会增加面积;同时尽量使每一级的timing一致,因为流水线的频率由timing最差的一级决定;同时还要考虑到pipeline后一级往前一级的bypass通路的设计(如果需要的话)
建议看看处理器设计类的书,里面会有比较详细的介绍

为了实现流水,中间插入寄存器,会使寄存器到寄存器之间的组合逻辑级数变少,进而提升电路的时钟频率;但是代价是改变了时序,增加了处理延时,多消耗寄存器;而且在组合逻辑只需要1级组合逻辑时,再插入寄存器,也不会提升性能,这时的时延大部分都在布线上;对一般默认综合,不会优化模块到模块之间的组合逻辑,加入输入输出寄存器可以解决这个问题,当然也可以改变综合设置,不保留模块分界,从而消除这个问题。

学习了 ,谢谢几位兄台的回答 我在自己看看论文

大家说的都挺好的,学习了

大家说的都挺好的,学习了

谢谢分享

插入流水线就要调整时序

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top