- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[农林牧渔]第8章 Logiclock技术
第8章 Logiclock技术 8.1 LogicLock技术的基本内容 有FPGA开发经验的人都会有这样的体会:原来在硬件测试上十分成功的FPGA设计,在源代码并没有任何改变的情况下,仅仅是增加了一点与原程序毫不相干的电路描述,或甚至只改变了某个端口信号的引脚锁定位置,结果在综合适配后,原来设计的硬件性能将大为下降,如速度降低了,有时甚至无法正常工作。 这时,如果比较改变设计前后的Floorplan图,会发现芯片内部资源的使用情况发生了巨大的变化。这表明,即使对原设计作极小的改变(更不用说对适配约束条件的改变),都会使适配器对原设计的布线(Routing)和布局(Placing)策略作大幅改变和调整。同时,当设计规模比较大时,人为很难直接介入布线/布局的优化。 对于由许多基本电路模块构建成的顶层系统的FPGA开发,类似的问题将更加突出。例如,原来某一基本模块的FPGA硬件测试十分成功,但当将这些基本模块连接到一个顶层设计后,即使在同一FPGA中进行测试,也常发现各模块以及总系统的性能有所下降甚至出现无法工作的情况。事实上,如果能在设计基本模块时,就固定其布线/布局的原方案,就能很好地解决上述棘手的问题。 对此,Quartus II提供了一个优秀的设计技术,即逻辑锁定技术。使用这一技术,可以将设计好的电路系统或某一底层模块约束到FPGA中某个指定的区域上,并固定原来的布线/布局方案。这样一来,对于一项较大设计中的某一底层模块,不但在顶层的软件描述上是一个子模块,而且在FPGA芯片的总体适配中,此模块在硬件上便类似于ASIC设计中的一个标准模块,始终能保持自己原来的布线/布局方案,从而在任何大系统中都能保持原有的电路性能,就像一个被调用的独立的元件一样,不会由于顶层系统布线/布局的改变而改变基本模块的布线/布局结构了。 使用LogicLock设计流程,首先要求建立逻辑锁定区域,这就是设计模块放置的区域,即所谓的LogicLock区。其中应包含能完成此模块电路构成的逻辑资源,如逻辑宏单元LCs、ESBs、EABs等。一旦确定了这个区域,Quartus II就会把指定模块适配在这个区域中。 设定LogicLock区域的方法有3种: ● 使用Tcl脚本命令; ● 使用Quartus II的Floorplan编辑器; ● 使用LogicLock窗。 LogicLock区域的特性主要有两个标志:“大小”和“位置”。“大小”是指此区域的高和宽,其单位不是距离而是逻辑单元;而“位置”是指在目标器件中锁定区域在Floorplan图上所处的位置。区域的位置状态有两种:“锁定”状态和“浮动”状态,大小定义为“自动”和“固定”两种。 锁定区域分区类型 如果将一个基本模块锁定于一个区域中并进行了成功的适配后,还要将其使用于更高层次的设计中,设计者对于此模块的锁定方式有两种选择: 1. 仅锁定区域的大小和位置 在这种情况下,Quartus II在顶层设计的适配中,只负责将原模块放置在所定义的锁定区域中,而在此区域中,此模块的电路放置不固定,即只能保证在更高层的设计锁定区域的大小和位置不变,但不保证原模块在此锁定区域中的电路的布线/布局方式不变,从而无法保证在此后的更高层设计适配后模块的电路性能不变。 2. 对原锁定区域的模块电路布线/布局信息进行“反注”(Back-annotate) 通过“背注”操作,Quartus II完全锁定在指定的LogicLock区域中该模块电路中各元件的电路结构的确定位置。即能很好地保持在锁定区域中各电路元素的适配位置,从而在当将此模块集成到高层乃至顶层设计适配后,能最大程度地保持此锁定模块原来的工作性能。进一步建议:在底层锁定逻辑区域,同时也锁定模块的电路性能,然后在高层令锁定区域为浮动状态,增加灵活性。 9.2 未用LogicLock的数字滤波器设计 一个16阶滤波器的电路可由4个4阶滤波器组成,即由4个4阶滤波器例化而成。 VHDL程序构成:--16位加法器源代码--8位乘法器源代码--4阶滤波器顶层设计代码--16阶滤波器顶层设计代码 设计过程:1. 在Quartus II中输入源文件并建立工程 首先对VHDL程序进行编辑输入,然后分别存在D:\largefilter文件夹中,并设largefilter.vhd为工程。目标器件选为EP20K200EQC24
文档评论(0)