我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 2351|回复: 2

对Quartus II Fitter中寄存器打包的理解

[复制链接]

该用户从未签到

159

主题

185

回帖

212

积分

二级逆天

积分
212

终身成就奖社区居民

QQ
发表于 2014-2-1 09:46:30 | 显示全部楼层 |阅读模式
寄存器打包是Quartus II软件布图工具中的一个优化选项,由AUTO_PACKED_REGISTERS控制。所谓寄存器打包就是将寄存器和组合逻辑LUT、DSP、I/O或者RAM块组合到一起。有些器件如果使用第三方综合工具,会将那些扇出到同一个寄存器的组合逻辑单元组合成一个逻辑单元。当然,如果需要,Quartus II的Fitter可以执行额外的寄存器打包来对面积进行优化。

          下面我们针对四输入查找表来举例说明寄存器和LUT打包的类型,如图2所示,对于4输入查找表来说,最常见的就是LUT和寄存器一同打包进同一个LE之中;第二种是所谓的寄存器Q端反馈模式,我们看到LUT虽然并未驱动寄存器,但是寄存器的输出反馈到LUT的某个输入端,这也是一种正常打包;第三种属于设计优化时将毫不相干的LUT和寄存器打包在一起;最后一种是有寄存器级联的时候,那么LE中的寄存器用于寄存器级联,那么这些LE中的LUT就处于未使用状态,这是可以考虑将一些独立的LUT打包进来。
图2:寄存器和LUT打包的类型
       所有寄存器打包都是在QuartusII的布图工具中实现,对于Stratix II及以后的高级器件,就是将“Comb”和“FF”元件组合进ALM和LAB之中。在布图工具中,这个选项默认是“Auto”,在布局布线的时候将执行总体打包处理,这将有益于设计的时序以及布通性。假如器件已经过满,这时候布图工具会自动执行更积极的打包处理。表1显示了寄存器打包各种设置下对应设计性能以及资源消耗状态的影响因子。

表1:寄存器打包设置影响
寄存器打包设置
F[sub]max[/sub]相关
LE资源消耗相关

Off

0.95

1.29

Normal

1.0

1.0

Minimize Area

0.98

0.97

Auto(Default)

1.0 直到器件非常满,然后 0.98

1.0 直到器件非常满,然后 0.97

        从表1可以看到,寄存器打包设置为“Off”的时候,对器件产生非常不利的影响,关闭寄存器打包意味着阻止所有寄存器被打包。阻止90纳米工艺后器件中两个LCELL_FF和LCELL_COMB元素放置在一起,这样会增加逻辑消耗,降低F[sub]max[/sub]以及增加布线压力。对于之前的器件,比如Stratix、Cyclone等LUT和寄存器都使用LCELL元素,所以基本的打包处理已经在综合的时候完成。所以,这里的建议是全局保持寄存器打包的默认设置。

       那么现在问题是既然如此,为何布图工具中还要为寄存器打包保留“Off”这个设置呢?这是因为寄存器打包算法并不是完美无缺的,也不能包治百病。保留这个设置,可以使设计者可以针对某些特定节点、模块关闭寄存器打包处理,这样可以帮助提高设计的性能。寄存器打包算法位于整个布图流程的前端,所以我们可以在布图前期对于设计的时序及可能导致的错误有一个粗略的看法。假如我们发现寄存器打包执行错误的权衡,那么我们就能对某些选定的节点或模块关闭寄存器打包。
回复

使用道具 举报

该用户从未签到

8

主题

487

回帖

511

积分

二级逆天

积分
511

终身成就奖原创先锋奖社区居民忠实会员社区劳模

QQ
发表于 2014-2-1 10:01:23 | 显示全部楼层
回复

使用道具 举报

该用户从未签到

12

主题

1738

回帖

2532

积分

二级逆天

积分
2532

社区居民忠实会员社区劳模优秀斑竹奖终身成就奖最爱沙发原创达人

QQ
发表于 2014-2-2 07:13:37 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

论坛开启做任务可以
额外奖励金币快速赚
积分升级了


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

平平安安
TOP
快速回复 返回顶部 返回列表