现代DSP技术课件dspbuilder设计五至九章.ppt

  1. 1、本文档共487页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 LogicLock优化技术 5.1 LogicLock技术的基本内容 5.2 未用LogicLock的数字滤波器设计 5.3 应用逻辑锁定技术 5.4 顶层设计优化 5.1 LogicLock技术的基本内容 5.1.1 LogicLock技术解决系统设计优化 有FPGA开发经验的人都会有这样的体会:原来在硬件测试上十分成功的FPGA设计,在源代码并没有任何改变的情况下,仅仅是增加了一点与原程序毫不相干的电路描述,或甚至只改变了某个端口信号的引脚锁定位置,结果在综合适配后,原来设计的硬件性能将大为下降,如速度降低了,有时甚至无法正常工作。 这时,如果比较改变设计前后的Floorplan图,会发现芯片内部资源的使用情况发生了巨大的变化。这表明,即使对原设计作极小的改变(更不用说对适配约束条件的改变),都会使适配器对原设计的布线(Routing)和布局(Placing)策略作大幅改变和调整。同时,当设计规模比较大时,人为很难直接介入布线/布局的优化。 对于由许多基本电路模块构建成的顶层系统的FPGA开发,类似的问题将更加突出。例如,原来某一基本模块的FPGA硬件测试十分成功,包括工作性能、速度以及资源利用率等,但当将这些基本模块连接到一个顶层设计后,即使在同一FPGA中进行测试,也常发现各模块以及总系统的性能有所下降甚至出现无法工作的情况。事实上,如果能在设计基本模块时,就固定其布线/布局的原方案,即使在顶层文件的总体适配时,也不改变原来基本模块的布线/布局及其原来的优化方案,就能很好地解决上述棘手的问题。 对此,Quartus II提供了一个优秀的设计技术,即逻辑锁定技术。使用这一技术,可以将设计好的电路系统或某一底层模块约束到FPGA中某个指定的区域上,并固定原来的布线/布局方案。这样一来,对于一项较大设计中的某一底层模块,不但在顶层的软件描述上是一个子模块(如例2-1),而且在FPGA芯片的总体适配中,此模块在硬件上便类似于ASIC设计中的一个标准模块,始终能保持自己原来的布线/布局方案,从而在任何大系统中都能保持原有的电路性能,就像一个被调用的独立的元件一样,不会由于顶层系统布线/布局的改变而改变基本模块的布线/布局结构了。 有了逻辑锁定技术,面对大系统的设计,工程师们就可以将构成大系统的各模块进行分别设计,分别优化他们的布线/布局;适配约束,逐个地使它们分别获得最佳的工作性能,逐个优化并锁定它们的布线/布局方案;最后把它们连在一起形成性能优良的顶层系统。显然,逻辑设计锁定技术是SOPC单片系统优化设计及IP核成功拼装应用的有力保证。 大规模系统的设计本身就已十分困难,而对大规模系统的优化将更加困难。优化工作在增加或更改内部设计元件时要进行大量的修改工作。 一般地,对付复杂的大系统的设计的方法有: (1) 使用模型设计、层次设计或递增设计方法; (2) 使用好的EDA工具,使得整个设计和优化更容易; (3) 使用已经优化好的IP核; (4) 使用先前已优化好的被锁定了布局/布线的设计模块。 比较图5-1所示的FPGA的传统设计流程与使用了逻辑锁定(LogiclLock Methodology)优化技术的流程可以发现, 两种设计流程都是把整个设计系统分成若干个模块(这些模块可以是一个单独的电路功能块,或是电路中的部分元件,或是部分设计层次),在对每一模块单独设计好后,再把它们拼起来形成一个完整的系统。所不同的是,前者将系统中的各模块分别设计,并集成为系统,然后对整个系统进行优化和测试;而后者则将系统中的各模块分别设计和优化,并保持优化结果,最后进行模块集成和系统测试。 图5-1 FPGA的传统设计流程与 使用了逻辑锁定优化技术的流程的比较 如上所述,在传统设计流程中常常发生的情况是,对于每个模块来说,它们都能满足设计要求(良好的功能和速度指标等),但当将它们合成系统后,却不能达到原来的要求了。即使有时有的模块的功能满足要求,但当修改其它模块后,整体编译后会导致其它模块性能的改变,甚至下降。这是由于在传统设计流程中,EDA工具并不会对系统中的各模块单独优化及单独布局/布线。 Quartus II的LogicLock技术则能很好地解决这一问题。它能很容易地完成对每一模块的设计、测试和优化,再将这些模块集成为一个系统,进行系统优

文档评论(0)

35425 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档