集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 976|回复: 2

寄存器路径,Register Path

[复制链接]
小舍YZ 发表于 2017-7-15 19:46:26 | 显示全部楼层 |阅读模式
寄存器路径,Register Path

16位加法器,当这个加法器是纯组合逻辑时,这个电路的延时(即输出从65536跳变到0时)所对应的最高频率为56MHz,但是把它首位加上寄存器之后,发现这个时序电路的最高频率达到大约120MHz,速度提升了一倍!但是根据STA的最高频率计算公式:1/Fmax = tb -tg + tsu1 ,似乎这个时序电路最高频率是不可能提高一倍的,
请问如何理解这个问题呢?或者说为什么纯组合电路首尾加上寄存器之后速度提高一倍呢?
还有就是一个纯组合电路,首尾加上寄存器之后,把它看成是1个节点还是2个节点呢?

首先,“似乎”并不准确,有计算Tb和Tg吗,但EDA(QuartusII)会,它报告中的Fmax就是这样计算出来的。问题是,仅在首尾加上寄存器,并没有查入流水线,如何就能够提速呢。这是问题的重点。
流水线Pipeline,是将一份工作,分成两个更短用时的工作,分批次作业,从而提高系统的流速(吞吐量)。这里的确没有将16位的行波进位加法器分成两个部分(或更多的部分),用流水作业完成,并没有这样做,但确提速了。关于这个问题,我是解释过的。这也关乎你的第二个问题,即首尾寄存器(IR和OR),是一个节点还是两个节点呢。Node,是FA+REG的结构,IR寄存器与之前的路由FA构成第一个节点,即源节点;OR和RCA16则构成第2个节点。这两个节点之间是有路由关系的,即存在TimeQuest所要求的“寄存器路径,Register Path”。

现在,可以回答第一个问题了。或者要回顾什么是约束Constrain,约束即验证Verification-调制Adjustment-验证Verification的自动迭代过程。
当没有寄存器路径时,STA是无能为力的,它帮不了你,此时就无法执行上述的自动约束(EDA约束),EDA在布局和路由的过程中,是无法向你希望的方向努力。这就是没有首尾寄存器时的数十M的延迟原因。
当加上了首尾寄存器(IR和OR)后,STA则具备执行上述约束的条件,在布局和路由时,将会向你希望的目标努力,这样努力的结果,就是由数十M增加到1百多M。
当电路有速度潜力时,约束仍然是非常重要的提速手段。或者说,没有约束的电路是没有发挥潜力的电路。

综合而言,问题的答案是:
1. 加上首尾寄存器后,能够形成寄存器路径,并且有时钟,EDA得以实现约束,从而提速了。
2. 首尾寄存器加入后,是2个节点。是当前设计中唯一的一个寄存器路径。

本帖子中包含更多资源

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

x
晓灰灰 发表于 2017-7-16 09:44:56 | 显示全部楼层
寄存器路径,Register Path
d643189658 发表于 2017-8-11 18:40:48 | 显示全部楼层
谢谢楼主的分享
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-4-20 12:44 , Processed in 0.076996 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表