第5章LogicLock优化技术000001

上传人:s9****2 文档编号:568481966 上传时间:2024-07-24 格式:PPT 页数:149 大小:1.17MB
返回 下载 相关 举报
第5章LogicLock优化技术000001_第1页
第1页 / 共149页
第5章LogicLock优化技术000001_第2页
第2页 / 共149页
第5章LogicLock优化技术000001_第3页
第3页 / 共149页
第5章LogicLock优化技术000001_第4页
第4页 / 共149页
第5章LogicLock优化技术000001_第5页
第5页 / 共149页
点击查看更多>>
资源描述

《第5章LogicLock优化技术000001》由会员分享,可在线阅读,更多相关《第5章LogicLock优化技术000001(149页珍藏版)》请在金锄头文库上搜索。

1、第第5 5章章 LogicLock LogicLock优化技术优化技术 第第5章章 LogicLock优化技术优化技术 5.1 LogicLock技术的基本内容技术的基本内容 5.2 未用未用LogicLock的数字滤波器设计的数字滤波器设计 5.3 应用逻辑锁定技术应用逻辑锁定技术 5.4 顶层设计优化顶层设计优化 樱遍逝删根鼻均聚巳捌怎节这懊姿应属辰瘟舌包皑烩责翔衔趁近淌腰亢藉第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.1 LogicLock技术的基本内容技术的基本内容

2、5.1.1LogicLock技术解决系统设计优化有FPGA开发经验的人都会有这样的体会:原来在硬件测试上十分成功的FPGA设计,在源代码并没有任何改变的情况下,仅仅是增加了一点与原程序毫不相干的电路描述,或甚至只改变了某个端口信号的引脚锁定位置,结果在综合适配后,原来设计的硬件性能将大为下降,如速度降低了,有时甚至无法正常工作。饼挝姚依狭岿痈几伟堑饲只弄瓤倪绘苫苯帐揍允嚏着乘醋傅双避巴砧劣蝎第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 这时,如果比较改变设计前后的Floorplan

3、图,会发现芯片内部资源的使用情况发生了巨大的变化。这表明,即使对原设计作极小的改变(更不用说对适配约束条件的改变),都会使适配器对原设计的布线(Routing)和布局(Placing)策略作大幅改变和调整。同时,当设计规模比较大时,人为很难直接介入布线/布局的优化。草悔涪祭夫几痰滑隘根搂惨蛊煌枚幻韶塘次躬候表详侦奉图襟升崎卷惋邀第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 对于由许多基本电路模块构建成的顶层系统的FPGA开发,类似的问题将更加突出。例如,原来某一基本模块的FPGA硬

4、件测试十分成功,包括工作性能、速度以及资源利用率等,但当将这些基本模块连接到一个顶层设计后,即使在同一FPGA中进行测试,也常发现各模块以及总系统的性能有所下降甚至出现无法工作的情况。事实上,如果能在设计基本模块时,就固定其布线/布局的原方案,即使在顶层文件的总体适配时,也不改变原来基本模块的布线/布局及其原来的优化方案,就能很好地解决上述棘手的问题。曲色涅坝元寿备吞梦贿谬辩珍狭慈可皑葛俄欢写径弗挚滨礁疟觅泽峨多佬第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 对此,QuartusI

5、I提供了一个优秀的设计技术,即逻辑锁定技术。使用这一技术,可以将设计好的电路系统或某一底层模块约束到FPGA中某个指定的区域上,并固定原来的布线/布局方案。这样一来,对于一项较大设计中的某一底层模块,不但在顶层的软件描述上是一个子模块(如例2-1),而且在FPGA芯片的总体适配中,此模块在硬件上便类似于ASIC设计中的一个标准模块,始终能保持自己原来的布线/布局方案,从而在任何大系统中都能保持原有的电路性能,就像一个被调用的独立的元件一样,不会由于顶层系统布线/布局的改变而改变基本模块的布线/布局结构了。潭蛆滨歼乏液褥捧嗡嫉抄羽熔蘸上箔向凝隆画沁参即撰胶变静镭藉角证搬第5章LogicLock优

6、化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 有了逻辑锁定技术,面对大系统的设计,工程师们就可以将构成大系统的各模块进行分别设计,分别优化他们的布线/布局;适配约束,逐个地使它们分别获得最佳的工作性能,逐个优化并锁定它们的布线/布局方案;最后把它们连在一起形成性能优良的顶层系统。显然,逻辑设计锁定技术是SOPC单片系统优化设计及IP核成功拼装应用的有力保证。大规模系统的设计本身就已十分困难,而对大规模系统的优化将更加困难。优化工作在增加或更改内部设计元件时要进行大量的修改工作。颁妈徽犁侗扇城徘身漳铝乌瞒涉鼠

7、墩拭秘偷嘘鸦挪讫镍给委齿罐镇济脏臣第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 一般地,对付复杂的大系统的设计的方法有:(1)使用模型设计、层次设计或递增设计方法;(2)使用好的EDA工具,使得整个设计和优化更容易;(3)使用已经优化好的IP核;(4)使用先前已优化好的被锁定了布局/布线的设计模块。比较图5-1所示的FPGA的传统设计流程与使用了逻辑锁定(LogiclLockMethodology)优化技术的流程可以发现,皑毋狰松桩疟胸蔡楞沛础隆殿沈运野父肺胳赘毫耳处衙酗执道服辱篇

8、豁脑第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 两种设计流程都是把整个设计系统分成若干个模块(这些模块可以是一个单独的电路功能块,或是电路中的部分元件,或是部分设计层次),在对每一模块单独设计好后,再把它们拼起来形成一个完整的系统。所不同的是,前者将系统中的各模块分别设计,并集成为系统,然后对整个系统进行优化和测试;而后者则将系统中的各模块分别设计和优化,并保持优化结果,最后进行模块集成和系统测试。宦衷雷黑袒瞄研冤缀波眠彬脖宜刽质眼淑臣侄橇民胰东椅础问糙僵枚天绢第5章LogicL

9、ock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-1FPGA的传统设计流程与使用了逻辑锁定优化技术的流程的比较讥斩询纵碱卯侗拜辩氰嘻伺痞俐绣年粥祈螟恒檬所挣廉筹符港怖驹书汀迂第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 如上所述,在传统设计流程中常常发生的情况是,对于每个模块来说,它们都能满足设计要求(良好的功能和速度指标等),但当将它们合成系统后,却不能达到原来的要求了。即使有时有的

10、模块的功能满足要求,但当修改其它模块后,整体编译后会导致其它模块性能的改变,甚至下降。这是由于在传统设计流程中,EDA工具并不会对系统中的各模块单独优化及单独布局/布线。笺废纱丢敏嚎绘吝群渣耪锹却六合姿譬煞往尿湿每藉槽楚端出叉殿尤味妖第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 QuartusII的LogicLock技术则能很好地解决这一问题。它能很容易地完成对每一模块的设计、测试和优化,再将这些模块集成为一个系统,进行系统优化设计,同时又能很好地保持原来已设计好的每一单个模块的优

11、化特性。当把这些模块集成为一个系统后,只需对模块之间的逻辑行为进行优化就可以了。显然,LogicLock技术通过允许设计者自主地控制特定模块在FPGA中指定的区域中的布线与布局,以及单独的优化,并能在更高层次的设计中保留模块原有的性能特点,从而大大加强了DSP的SOC设计的优秀性能和灵活性。噪纬创锗违忌彻磅额押揭哭滨傣勃词合勒烛聂参摔熔黍悬壶空膳开洞矗沁第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.1.2LogicLock的基本内容使用LogicLock设计流程,首先要求建立逻

12、辑锁定区域,这就是设计模块放置的区域,即所谓的LogicLock区。其中应包含能完成此模块电路构成的逻辑资源,如逻辑宏单元LCs、ESBs、EABs等。一旦确定了这个区域,QuartusII就会把指定模块适配在这个区域中。设定LogicLock区域的方法有3种:镇敦阉占贱格衙财狗畅驯变眩恶叹希婴虫娄奥秉壬诫疲茶烛招需兴皖哗渠第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 使用Tcl脚本命令;使用QuartusII的Floorplan编辑器;使用LogicLock窗。LogicLock

13、区域的特性主要有两个标志:“大小”和“位置”。“大小”是指此区域的高和宽,其单位不是距离而是逻辑单元;而“位置”是指在目标器件中锁定区域在Floorplan图上所处的位置。区域的位置状态有两种:“锁定”状态和“浮动”状态。冻蛛壕詹稿豺期喀颅轩诀衬咐闸即产扣涵验捂虚纱满烦测警晦筛醋区盔英第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 如果区域是浮动的,则由QuartusII在优化过程中确定具体位置所在。如果区域的大小设定为“自动”,QuartusII将自动调整大小,以便将设计模块正好能

14、放进此区域中。区域是一个长方区域,区域的起点定义为左顶角处,位置状态定义为“锁定”和“浮动”,大小定义为“自动”和“固定”两种,表5-1给出了详细说明。湿螟椒光咖醋呼展靛遮痒叔注狈奉锦榆怕鹿翌逻系纽椎士线赘剁凌绽庚脑第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 表5-1锁定区域分区类型位置大小说明浮动自动这是逻辑锁定约束条件中最灵活的一种,在适配中QuartusII自动根据优化情况确定最终的锁定区域的大小与位置浮动固定这种方式中是假设定义的锁定区域的大小是合理的,否则不利于逻辑资源

15、的有效利用锁定固定这种约束条件具有最小的灵活性,由设计者确定锁定区域的一切具体情况痰塑街向耀恫邓拂膘邱贬攒码这佳任抖木苛萤坯向待赛疲蝗哭模讥对嫂坡第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.1.3锁定区域的基本方式如果将一个基本模块锁定于一个区域中并进行了成功的适配后,还要将其使用于更高层次的设计中,设计者对于此模块的锁定方式有两种选择:倪摈拄赔韵将婴盼符导赋诚掏拙防率臼臼轴班沦悯角岛泥距止稻怯肝拥呢第5章LogicLock优化技术000001第5章LogicLock优化技术

16、000001第第5 5章章 LogicLock LogicLock优化技术优化技术 1.仅锁定区域的大小和位置(包括选取表5-1中的任何一种方式)在这种情况下,QuartusII在顶层设计的适配中,只负责将原模块放置在所定义的锁定区域中,而在此区域中,此模块的电路放置不固定,即只能保证在更高层的设计锁定区域的大小和位置不变,但不保证原模块在此锁定区域中的电路的布线/布局方式不变,从而无法保证在此后的更高层设计适配后模块的电路性能不变。濒吞拴判账雄吮都藉邢族毛讥胰糜细出沂诉鞘恶托列惹诀蛋溃然儡盾公逼第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5

17、章章 LogicLock LogicLock优化技术优化技术 2.对原锁定区域的模块电路布线/布局信息进行“反注”(Back-annotate)通过“背注”操作,QuartusII根据背注信息完全锁定在指定的LogicLock区域中该模块电路中各元件的电路结构的确定位置。即能很好地保持在锁定区域中各电路元素的适配位置,从而在当将此模块集成到高层乃至顶层设计适配后,能最大程度地保持此锁定模块原来的工作性能。手烹戒揉得浆饼熟潦舱儡靴蛔饱柠袱蚜羊诛齿继饱讼股至鸽餐祝托苗酥栋第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock Lo

18、gicLock优化技术优化技术 较好的设计方法可以这样:为了确保锁定区域中的电路模块优化后其特性不致在以后的高层设计适配中发生改变,同时高层设计适配中又有较好的灵活性,以利于系统级适配的优化,可以首先将模块在锁定区域中的电路设置的基本元件的布线/布局固定下来,从而不仅锁定了逻辑区域,同时也锁定了模块的电路性能,然后在高层的设计中令含有此模块的锁定区域为浮动状态。这样以来,在QuartusII对高层的设计将各模块统一进行适配和优化中,为各模块找到了最合适的位置,从而有利于顶层系统的优化。督会奠屹厩郭汝眷节潮吻桌巾邓嚼宙捡幽氛划泌赁功利滇困谬犁践娇似海第5章LogicLock优化技术000001第

19、5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 在系统适配中,虽然原设计模块的锁定区域是浮动的,但在该区域中构成该模块的电路元件与该区域的相对位置是不变的。因此,只要高层电路系统的适配与原低层模块的锁定适配是在同一系列的FPGA中,就能保证原模块的性能不变。此外,这种保持了原特性的浮动模块的作用类似一个已优化好的独立的电路元件,它不仅能作为原高层设计中的一个电路模块,还能进行多模块例化(同模块复制,或能移植到其它电路系统中)。列社育乳践睡拙醇堪嫁怎壕颅哺更漏酒镐类帛厕鸵几锡啸匝池丛箍荤月怕第5章LogicLock优化技术0000

20、01第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 这种方式产生的“电路元件”与仅仅以VHDL设计实体代码构成的“元件”是不一样的。前者是一个成熟的、已优化好的电路模块,只要在同种系列的目标器件中实现,不论是单独使用,还是用作更大系统的一个例化元件,都能保证原模块的技术性能不变;而后者不具有这样的特性,因为后者即使在同一系列的目标器件中,由于不同的外部条件和不同的高层次设计,或由于顶层设计的微小改变,它们都会表现出不同的电路特性。秘献辞渝嘲枪靛俺鲸帘冰拌贿漏靠广磁层鲁仪冻流榜垦缉匡彰加扦凰针介第5章LogicLock优化技术0

21、00001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 假如一个子区域是浮动状态的,QuartusII就会在优化过程中为此子区域在母区域中确定一个合适的位置;假如一个子区域是锁定状态的,QuartusII也将保持子区域在母区域中的相对位置不变。设计者必须注意,逻辑锁定区域的层次与工程设计的层次概念是不同的。前者是一组定义了“母子”关系的锁定区域,这个区域只能由QuartusII的区域锁定工具划定逻辑布局位置间的关系,而后者则不同。后者反映的是设计源代码中的结构层次,以及模块间的例化关系。一般地,LogicLock区域不一定反

22、映设计中的逻辑层次。阵剁思桶涪榜末紊胡渭掌湘逞辞郧媚堰赚梯癣蕉撒舅靶获俘哎岩城石防喉第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-2和图5-3是两个不同的设计层次示例,其中图5-2的顶层设计是B,它包含两个模块:IP核与A模块。设计者是在定义了设计层次后再确定逻辑锁定层次的。逻辑锁定设计中,可以先建立一个LogicLock母模块区域,将顶层设计B定义于此区域中,然后建立两个子区域,把IP模块和A模块分别设定放置在两个子区域中。这样以来,锁定区域的划分正好反映了设计的层次。但是

23、,设计者也可以将IP核模块放在主区域中,而把顶层设计B放在子区域中,并将模块A中的部分内容放在这个子区域中,这当然也不失为一种锁定区域的定义方法。但最佳的区域定义应根据模块组织情况及电路的特性来具体确定。袍梆驰哇磋肘向据嫩丹赶倦刑奔纵选朱剧帘肋嫡夜串投保收傅钎旱拜巧噬第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-2模块设计层次赠妄蜜缚柑赃全肃天国被湘缚玫甸测运蒋犁蜕锌界鉴廉牧噪封寇二习待肥第5章LogicLock优化技术000001第5章LogicLock优化技术000001

24、第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-3层次化设计流程看伪斡蝴差碘榨粱月天押拇蹭叭自硷鄂精豆魁雏兔柒霜葡洪荒乾嗽触硼姿第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.1.5LogicLock技术的不同应用流程如上所述,在传统的设计流程中,同样一个模块在单独适配与在顶层设计中适配,其性能有可能不一样。为了解决这个问题,LogicLock提供了一种增量适配方法,步骤如下:1)由逻辑综合器产生“原子级”网表文件。原子级网表文件就是该文件中以最基本

25、的元件(如与门、非门、触发器等)和基本连线方式表达的工程设计。所谓“原子级”就是指底层基本逻辑文件在原子级网表文件中,所有的“原子”的结构与名称(如某逻辑门)是不会随着对系统的编译适配而改变的。募扭司摧揍腕女陕滨彝家脐环累悼炼追押递婪扣险射窃娱陛孜洱烷退晕霓第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 2)使用LogicLock设置确定设计模块在锁定区域中的具体放置位置模块在该区域中的特性以信号节点的设置和层次安排。原子级网表的名称规定了信号节点的设置。于是,在含有这些模块的顶层设

26、计编译适配中,QuartusII将完全遵循原模块中的所有约束条件。在以下叙述的模块化、层次化、增量法和分组法的所有设计流程中,都将使用上述保持模块特性的方式进行适配。恍曰荒改泌斥汀底黍兔混雇绸拍扎仅串寒薪挂戚赌劳哄莎肖萎就菏肥杨靡第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 1.模块化设计流程以图5-2为例,这里显示的是一个模块化的设计流程。顶层设计B仅仅是对IP和A作了例化,即B只是确定了这两个子模块的连接关系,没有其它的逻辑设计内容。设计者可以首先分别对这两个底层模块进行优化(

27、主要对A模块,因为IP核是一个已被优化了的设计),以便在顶层设计中保持原有的优化特性。翰秦威瘟瘸修蜀糙褥玩毒饵想幽错随钝炊愚拜克勒姐亚孔绚虫葵壁续雌鬼第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 具体方法是,在层次化设计中,设计者首先将IP核与A模块设定为工程,然后再分别对各工程进行设计和优化。优化中利用逻辑锁定技术将各模块放置在LogicLock区域中,或放在设计者决定的锁定区域中的某个锁定层次中,分别使各模块在自己的锁定区域中优化,以便满足原设计的要求。然后,设计者将这些优化并

28、锁定了区域的设计模块所对应的原子级网表文件输入到顶层系统B中,接着由QuartusII在B中确定此2模块的锁定位置(区域)。最后,设计者就可以对整个系统进行编译和测试了。魔茫晤铁些俱淤扫滞仔综噬巩芳学毗纲焙胳芍殷哈苦彩皱周楞羊捆馅壬存第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 2.层次化设计流程LogicLock技术允许层次化的设计流程。图5-3是一个层次设计流程的示例,其中包含模块D、E和F。模块E还包含来自图5-2的模块B。如果模块D对于整个系统的性能并不很重要,那么可以首先

29、使用硬件描述语言描述这个模块的功能,而在设计中不必专门对此项设计规定什么布线/布局的约束信息。泼眉泼野焉湿肋仓宠棘歹切伪野挨丈舷立烽淤译旋卞羚按篷待赊淆哪拟惦第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 如果已经确定模块E和F的性能对于总系统来说比较重要,设计者就可以分别对它们进行优化设计。考虑到模块E是由多个模块层次构成的,而模块F比较简单,设计者可以首先对模块F进行逻辑锁定、优化设计和适配,并得到对应于F的原子级网表文件。为了获得模块E的原子级网表文件,需要分两步来走:第一步,

30、先按上节方法获得B的原子级网表文件,然后将此网表连同C输入模块E中;第二步,对E进行优化设计,最后将E的网表文件连同G和F输入进顶层设计G中进行全系统设计。梅槛工烤愉菇迟楼瞳俄末茧谊钩瓜潮桑渺姥柠械峙涂票耐善爬黄砸菜谐才第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 3.增量法设计流程逻辑锁定技术使得增量法设计流程方便、有效。如图5-4所示,顶层设计G含有4个模块,设计一开始就可以从顶层设计入手,但可以逐个加入模块进行区域锁定、优化和布局/布线。完成以后,再加入下一个模块。如前所述,

31、由于对每一模块都使用了锁定技术,所以,当在顶层中加入新模块后,原来已存在的模块的性能不会由于整个系统的编译、综合和适配优化而有所改变。扫失催傻谴坠带灿弗疏厌山酮芋篓第敦无市柴焉锌健积卵硅沤霹亮健祥涡第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-4增量法设计流程材狄非毅组涨揖皱絮砾涯仇表咕阀拨私蝴隅笑捎箱粳搏抠肤卷梳换妹氛捧第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技

32、术 4.分组法设计流程分组法设计流程就是允许设计者为系统模块布置建立一个Floorplan(如图5-5),由不同的工程师分别设计各子模块,最后由系统工程师完成集成设计。具体步骤如下:(1)将设计系统分成模块A、B和C。(2)通过例化模块A、B和C建立一个顶层设计工程,此顶层设计中规定各模块间的连接关系,并设定工程的时序要求和布局约束。如果设计者知道每一模块的逻辑资源占用的大致情况,则可将每一模块放置在各自定义的逻辑锁定区域中。腕椭病咬陈唤敲明瞳兆硬腆勺寿皇萤棒滋肯材瞳晓哪厨姓颧鳃霸恶胀礁陷第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 L

33、ogicLock LogicLock优化技术优化技术 (3)为每一模块单独设定一个工程,并且对每一工程使用系统级的设计中给定的设置(包括优化要求的设置)。(4)分别综合、编译适配和优化这些模块,并仿真测试这些模块的性能,了解是否达到最初的要求。(5)如果必要,可以增加一些逻辑锁定的约束条件,以便能在总的系统设计中保持这些模块的优化结果。(6)一旦完成对单个模块的设计,就将这些模块连同设定的约束条件输入顶层设计中。(7)最后由系统工程师完成对顶层设计进行总体的编译和仿真。么汇魁母痹殃夸竟缅箱鸯娄由接曝毕集慕衬祈泵抱吹端冕棕篓朽头漾数怂第5章LogicLock优化技术000001第5章LogicL

34、ock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-5分组设计流程睦路弗东俘颂掀辙后斌热狈斤起刨鼎酥脐西核尿镣柯岳槐岁枕血级用每谱第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.1.6系统性能强化策略事实上,逻辑锁定技术也能直接改善系统的性能,即这些系统并不必按如前所述的由多个模块组成。对于这种系统,QuartusII的逻辑锁定功能通过合理组织放置和固定系统电路中的基本元件,同样能优化系统的性能。利用逻辑锁定技术实现这一目的的方

35、法,就是所谓的系统性能强化策略。这一策略的有效性取决于系统特定的电路结构特点。具体策略如下(定义锁定区域的原则):眼洗寻月蓉剧子妖辗颇悦瘩退靡绑直或申柒铆嚎读漏村况练喜侍镊缕四界第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 (1)如果电路结构与设计层次十分相似,锁定区域就可以根据设计层次来设定。通常,这些设计系统是由关系十分紧密的模块构成的,而且其中每一模块的构成逻辑是独立的,模块间的信号联系是由良好的通信界面实现的。(2)根据关键通道路径来定义锁定区域。一般地,这些通道路径比较长

36、,且跨越多个其它模块。这要确保被锁定的节点在关键路径上,或者模块包含关键路径。这种设计策略能达到改善系统性能的目的。炔芦乍蓝稳促搁垒芥但铃阔覆恨俯留着毯散芯么寐肠瑰娘铲苟减狭枣祥稗第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 (3)为了降低电路连接处的延时以及连线的密度,可以将具有高扇出和高扇入的电路结构设定为锁定区域。这往往是一种有效的方法。由上可见,利用逻辑锁定技术是可以选择多种方式的。可单独对各个模块进行优化锁定再集成,也可以将所有的模块一开始就集成在顶层系统,再根据结构情况

37、进行锁定优化。侄入箔捉疹榷工碑赵蹬毙设搭媒处腻奉筐滤伺宴扒权舒艰懈邵赏丘硕赦阁第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 在实际设计中,可以根据具体情况使用不同类型的锁定技术和锁定流程或是混合方法进行系统适配和布局/布线的控制,达到优化的目的。但一般最好将锁定区域定义为自动大小和浮动位置,这样,QuartusII就能在适配中为系统设计,为锁定区域找到最合适的高宽尺寸和定位。减鼻什宋溢苹枚叮惰卓汉匙拂嘿问彤怒淬卜超部眶猜桌诉搀舔趣兴告冤倘第5章LogicLock优化技术000001

38、第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 如果各模块是在单独锁定、优化后输入顶层设计的,就可以按照上述的4个设计流程来进行系统设计。需要注意的是,对于每一优化的模块而设定的逻辑锁定的各项设置包含两个重要内容:一是逻辑锁定区域的信息;二是“背注”后的所谓原子级网表的信息。着吐词柱鼠葫哟酿睁元框吝抹在傲俘躯愚熔垢爽革揉蒂彰孝粉杯拽靴琶钥第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 另一种利用逻辑锁定技术进行优化设

39、计的方法,就是以上提到的不经过对底层单个模块进行单独锁定优化,而是直接从顶层系统出发,根据具体结构情况确定锁定部分后进行优化。这种方法可使QuartusII将某些特定的节点放在锁定区域中,并可在器件中定义为浮动而允许QuartusII在适配中可移动。利用这种方法,设计者可以将来自不同模块的电路元素(节点、元件、连线)放在锁定区域中,最后由QuartusII对整个系统进行优化设计。驶进捡咕宿篮寿拆站兽挪宵砧擞喜汤阁毒降哗滴揭歌履剥炊斯衔妹子垛盼第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化

40、技术 熟悉Max+plusII的读者会发现LogicLock区域十分类似于Max+plusII中的“打包”(Cliques)。因为打包允许LCs(逻辑宏单元)组合在一起应用。设定锁定区域为“自动”时,就类似于Max+plusII中称为“最佳打包”(BestClique)的功能设置。而标志着对“行”与“列”的锁定区域的固定大小则类似于行或列的打包。此外,LogicLock区域也类似于“定制区域”的概念。因为一个可定义的区域可以被设定为实体和节点。因此,如果LogicLock区域的位置是锁定的,则这个区域便类似于一个定制区域(Customregin)。乍碴羚匿弊磨液捅唤抨澄声尺腰镐允逐钳蒜展门帆捂

41、纱阮或剁捞镰岁砸木第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.1.7锁定区域的移植与再利用逻辑锁定技术使得设计模块的移植和有效再利用变得十分方便。这是因为已被优化和布线/布局锁定的模块能很容易地被其它的设计工程调用,并能保持原有的性能。对于那些比较常用的模块,由于已经作了锁定和优化,可以组织一个模块库,用于其它更大系统的设计,提高系统设计的效率和性能。这是由于这些 库 中 包 含 针 对 这 些 模 块 的 原 子 级 网 表 文 件 、LogicLock的设置信息,以及详细

42、的使用报告(包括模块的性能指标和逻辑资源的占用情况等)。狮场素秘亢会灰仿臂九隶捍连淘爱近芋拎绍模结悯落鄂掷图东盂恤浦淫嵌第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 需要注意的是,虽然这些优化模块在与其诞生的目标器件同种系列的器件中都能获得好的工作特性,但只有将其用在最初设计的同型号器件中才能获得最好的性能。这是因为,同系列而不同型号的目标器件的结构特点毕竟与原来的器件的结构是有一定差别的。因此,要实现完全相同的布线/布局是不可能的。不过如果在设计中选用的目标器件属于同系列器件,若

43、设定这些加入的模块为浮动状态,则能获得相似的性能指标。这种方式比较适用于一个较大的系统设计在同系列目标器件中的情况。即当用这种目标器件无法获得该模块与在原器件中的完全相同的布线/布局且还有许多模块有待例化连接的情况下,设定这些模块为浮动状态较好。站腥承唐忱叉颇武诸沁昆虚钻诣阐杜锤之枣惺衫凤碑采雕去谨洋膜凉生疆第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.2 未用未用LogicLock的数字滤波器设计的数字滤波器设计5.2.1数字滤波器结构及其VHDL描述图5-6是一个16阶滤波

44、器的电路框图,它由4个4阶滤波器组成,即由4个4阶滤波器例化而成,其RTL电路图如图5-8所示。其中每一个4阶滤波器的结构如图5-7所示,其RTL电路图如图5-9所示。它们的源代码是例5-1、例5-2、例5-3和例5-4,其中例5-4是滤波器顶层设计,例5-3是4阶滤波器模块的顶层设计。粪删磊械隘抱饮甜问却惊辈扩审颊朽唉拭逆耙才背诣霸甲貌江熄伤泳昨运第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-616阶滤波器顶层结构矫察悸剑联饵诧歼波棋槽津褐胎砚怒秘研说国雇味猪办刀辊颈垮俺喷

45、杉峰第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-74阶滤波器疲猛组竹掩米椰犹器在螺辖番眯宋践迹所皆锌号叉隧阴户蜂空忽共候教堵第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-816阶滤波器RTL电路图辉活龙怠醋涧钎扰棺港悔奇伍坍机组搞镰钮铝粘褥赋酱启如涸册籽侧湖摊第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5

46、章章 LogicLock LogicLock优化技术优化技术 图5-94阶滤波器RTL电路图怯因俏掖打霜卒闹料瞧礁七疏叠祖躇绿羔教权鼻扰寅朔跋圭揽锌殖革今噶第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 【例5-1】16位加法器源代码。libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityadderisport(clock:instd_logic;r1x:instd_logic_vect

47、or(15downto0);r2x:instd_logic_vector(15downto0);r3x:instd_logic_vector(15downto0);r4x:instd_logic_vector(15downto0);y:outstd_logic_vector(15downto0);湘捎棚过酉诀杀锈出治爬女婶坍归捅坊痊集瞬汗姻嘱穗恳紊渔惺肝愚川瞳第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 end;architecturertlofadderissignaltmp:s

48、td_logic_vector(15downto0);beginprocess(clock)beginifrising_edge(clock)thentmp=(r1x+r2x)+(r3x+r4x);endif;endprocess;y=tmp;end;尾搪凄亏鸽富论峰拂毋敖凰冒燥亥膊溺蛾妨广殿躬难重及麓饯乘雍悠卧拾第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 【例5-2】8位乘法器源代码。libraryieee;useieee.std_logic_1164.all;useieee.

49、std_logic_unsigned.all;entitymultisport(clock:instd_logic;a_in :instd_logic_vector(7downto0);b_in :instd_logic_vector(7downto0);a_out :outstd_logic_vector(7downto0);亭五缕硼衰瞥巢整缚农邱椅抒遇嘛众锭疚畏钓融幕迈俱谨飞白求坊茶能狂第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 b_out :outstd_logic_vec

50、tor(7downto0);r:outstd_logic_vector(15downto0);end;architecturertlofmultissignaltmp_a,tmp_b:std_logic_vector(7downto0);beginprocess(clock)beginifrising_edge(clock)then锄雹阉耕港命街扮桨窃裳秦梦纪睹魁惯芬衣郁谭蛊迟刨豢谅诧棺臼帕垫巷第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 tmp_a=a_in;tmp_b=b_in

51、;r=tmp_a*tmp_b;endif;endprocess;a_out=tmp_a;b_out=tmp_b;end;瓜袜课狱烩雅徊敏浙佛眨耘鳞渡延妄疗顿因闺了裁帮槐州渴霹源坡硅剿剁第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 【例5-3】4阶滤波器顶层设计代码。libraryieee;useieee.std_logic_1164.all;entityfilterisport(clock:instd_logic;din0x:instd_logic_vector(7downto0)

52、;coef0x:instd_logic_vector(7downto0);din4x:outstd_logic_vector(7downto0);振蒸斌抱闷牢终抠烬虏稻列铭毙商慢豢蜡忧掸瓤之湃耿州亮作溶朗卡已痢第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 coef4x:outstd_logic_vector(7downto0);result:outstd_logic_vector(15downto0);end;architecturertloffilteriscomponentmu

53、ltport(clock:instd_logic;a_in:instd_logic_vector(7downto0);b_in:instd_logic_vector(7downto0);a_out:outstd_logic_vector(7downto0);b_out:outstd_logic_vector(7downto0);r:outstd_logic_vector(15downto0);丈份刀眺哑祈浇吱挞琵爆拙剃褪宝釜愈藩冠隅昭淖狸猾陆匡资诸榴粤霉雨第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLoc

54、k优化技术优化技术 endcomponent;componentadderport(clock:instd_logic;r1x:instd_logic_vector(15downto0);r2x:instd_logic_vector(15downto0);r3x:instd_logic_vector(15downto0);r4x:instd_logic_vector(15downto0);y:outstd_logic_vector(15downto0);诽掌瞅雪惦惭惹狰蜜咒伺辞茁誓擞哼射励氧摆录坛捞涪札荫话畴疽冷吠抠第5章LogicLock优化技术000001第5章LogicLock优化技术0

55、00001第第5 5章章 LogicLock LogicLock优化技术优化技术 endcomponent;signalcoef1x,coef2x,coef3x,din1x,din2x,din3x:std_logic_vector(7downto0);signalr0x,r1x,r2x,r3x:std_logic_vector(15downto0);begin排吁剥迟嚷号索把掇裸似咎熔蔷眉例营剩平傍庸壶鱼词孽庞扳原吧慌篱淳第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 mult_i0

56、:multportmap(clock,din0x,coef0x,din1x,coef1x,r0x);mult_i1:multportmap(clock,din1x,coef1x,din2x,coef2x,r1x);mult_i2:multportmap(clock,din2x,coef2x,din3x,coef3x,r2x);mult_i3:multportmap(clock,din3x,coef3x,din4x,coef4x,r3x);adder_i:adderportmap(clock,r0x,r1x,r2x,r3x,result);end;占淖过烛梢腥凳器漠献汪殖酚爱臂默爹鬃敢吩锗游有子

57、颐液籽匹冀楞猪癣第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 【例5-4】16阶滤波器顶层设计代码。libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitylargefilterisport(clock:instd_logic;din0x:instd_logic_vector(7downto0);coef0x:instd_logic_vector(7downto0);result:out

58、std_logic_vector(15downto0);搬淮龙烃指骚滋监剖哼胃地均货次黔洋麓搁傣鼠煎孕差揍狄疟洪赔研薯彝第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 end;architecturestroflargefilteriscomponentfilterport(clock:instd_logic;din0x:instd_logic_vector(7downto0);coef0x:instd_logic_vector(7downto0);din4x:outstd_logi

59、c_vector(7downto0);coef4x:outstd_logic_vector(7downto0);result:outstd_logic_vector(15downto0);市宫矮码悸膀杖笋犹云溅寝肉恃在吼帮才基恤郝凡杜熏褒瘸酝帝灾目六毅第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 endcomponent;signalcoef4x,din4x,coef8x,din8x,coef12x,din12x,coef16x,din16x:std_logic_vector(7d

60、ownto0);signalr0x,r4x,r8x,r12x:std_logic_vector(15downto0);beginfilter_i0:filterportmap(clock,din0x,coef0x,din4x,coef4x,r0x);filter_i1:filterportmap(clock,din4x,coef4x,din8x,coef8x,r4x);filter_i2:filterportmap(clock,din8x,coef8x,din12x,coef12x,r8x);幢要窘曲盛谍仪枚矣镍爪沼松裸镣量梦猖佩毋肋鹏蒋涡埠脉六胎箍励洋某第5章LogicLock优化技术000

61、001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 filter_i3:filterportmap(clock,din12x,coef12x,din16x,coef16x,r12x);process(clock)beginifrising_edge(clock)thenresult=r0x+r4x+r8x+r12x;endif;endprocess;end;祈拿叫水享趴钮酚墅莎坝佑危纬碱右独加势吨蔷第榔某凋厚孤钉喳蔷蜗喧第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 L

62、ogicLock LogicLock优化技术优化技术 5.2.2滤波器设计和结果观察滤波器设计流程如下:1.在QuartusII中输入源文件并建立工程根据第2章介绍的方法,首先对例5-1、5-2、5-3和5-4进行编辑输入,然后分别存在D:largefilter文件夹中,并设largefilter.vhd为工程。目标器件选为EP20K200EQC240-3。铡冻洼庸惜倾阑的恼菜脾浑痘舍旭楔帽似妇孪住脖翁绍讯胁聊亏棠彼俺馒第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 2.设定时钟约束

63、并编译在Assignments菜单中选“Settings”,然后在Settings窗中的TimingSettings项中选中“Clocks”,并在“Defaultrequiredfor”栏键入“50”,选择“MHz”,如图5-10所示。最后进行编译,即启动Processing?StartCompilation。剐阜儒冻粗抡宅扳绳易曹色翔损骸码女院古豹糙瞅燥重玖校襟役耀吗苯冤第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-10设定设计要求最高时钟频率尺办风凉骤氖砰幅烯明甘逻航喇詹

64、茶塔喂邪磊栽沧旧博匝产玄愚嘎鹏浇奸第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 3.了解编译结果编译结束后,可在编译处理信息栏处看到内部寄存器间最高时钟频率fmax=48.5MHz,不能达到原设定的50MHz的要求(图5-11)。为进一步了解本项设计的结果,打开菜单Processing中的“CompilatinReport”窗,首先点击左栏TimingAnalyses左侧的“+”号,并点击“fmax”项,于是将显示如图5-12所示的信息,这些信息表明未能达到50MHz的要求。绥驮佐

65、篡梭稗矿伙咕谷氮这船餐裳贺辜榆艘滁可葫址豢测胜初韶啸馏愚装第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-11编译处理信息窗壬俩综躲腹便瑶万焰励业目驶熊车虫哩接胁计批蓄吟雾甲悲恭狡元龄岩取第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-12最高时钟频率时序分析窗都昏什厕馈旷酷洛拧夹幅拿西肉钨疲筋手绳诞呐投巳岸赦奉脯卸霄扮泼禹第5章LogicLock优化技术000

66、001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 4.观察Floorplan最 后 点 击 编 译 报 告 “Compilatin Report”栏 的“FloorplanView”,以便了解适配器在FPGA中的版图的资源利用情况(图5-13)。由FloorplanView中可见,本项设计所用的逻辑宏单元在整个Floorplan中都无序地散布着,这显然是没有进行逻辑锁定的结果,这种布局(Placement)方案常常不利于资源和时钟速度的优化。谅浦濒秤野诅负死云钵厘写灼湘啄钳明峡咽风容芝丹毖灌寻碱裤泼期戳铺第5章LogicL

67、ock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-13Floorplan中的逻辑资源应用情况丘换寐猛肪玛舞雏抗木魄燕浓衔易晒诚禄顽斌仿铸举针悔葛逊颖鬃颓渠融第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.3 应用逻辑锁定技术应用逻辑锁定技术 在此,以上面给出的数字滤波器的结构方案为例,详细说明QuartusII的逻辑锁定技术的使用方法。如上所述,逻辑锁定形成适配布局约束,从而可以分别

68、优化并固定顶层设计中各层次中的模块,以便在后续的设计编译中,或在更高层次的编译调用中,使得设计项目在适配中保持原模块的布局结构以及相应的硬件特性。在利用逻辑锁定技术的过程中,一旦将设计模块以某种方式进行逻辑锁定后,即可以VerilogQuartusMapping文件形式(*.vqm)将其优化综合的结果存盘,以便在必要时输出给更大(更顶层)的设计调用。食嘶混篙杠档硫鉴谍腹眷鲤腔滑败徊吐急赃耐恐却瘁铜检贺下跪橡刷末韶第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.3.1底层模块设计及

69、其VQM文件保存以下将给出顶层设计Largefilter的底层模块filter的逻辑锁定设计流程,以及以VQM文件方式存盘的方法。最后可以将此VQM文件输入到更顶层的设计Largefilter工程中进行总体优化设计。VQM文件属于原子级网表文件。1.建立待优化模块filter为工程由上节可以知道,filter是大滤波器largefilter的底层基本模块,对这个模块的锁定、优化有利于对整个设计系统的优化。为此,应该首先解决其逻辑锁定方面的适配。靳茅怒巴缅异反亡暖谐俱琅此咖滋旨眨冶皋潜响处盟酥撮侣簧管农砖旺摸第5章LogicLock优化技术000001第5章LogicLock优化技术000001

70、第第5 5章章 LogicLock LogicLock优化技术优化技术 为了设定filter模块为工程,首先将源程序例5-1、例5-2、例5-3存入一单独文件夹中,如D:filter,然后打开QuartusII,按照第2章介绍的方法设定D:filter中的filter.vhd为工程,并选EP20K200EQC240-3为目标器件,最后的工程设置信息如图5-14所示。2.设置默认需求的最高时钟频率在编译前,需对filter工程作一些设置。这里首先根据上一节介绍的方法设置默认需求的最高时钟频率,即在如图5-15所示的窗口选择TimingSettings项下的“Clocks”,然后在Defaultr

71、equiredfrequency栏键入“50”,并选择“MHz”。巫爷街挑戚勒橇愚雾执百跋蟹色饰溜极祸怯褂藏陷斑辈房进坠庄泼僵肇俯第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-14filter工程设置信息缸何昌车巧瞪心卯甘粤敌眩惮酱樊峭锯潦勒荡宫皆嫡匠哟游黍浙投靳沈鄙第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-15设定设计要求最高的时钟频率堰箔栅娃笺矗都幼

72、席键韩行武滩赋颇橱烫玫柜枚尔西剖介段纽跺以慷皆连第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 3.设置Settings对话框在 Assignments菜 单 中 选 择 “Settings, 在Settings对话框的Category栏中选择CompilerSettings项目下的“Fitting”,显示出的“Fitting”框如图5-16所示。在Settings的“Timing-drivencompilation”栏,确认已选定“Opitimizetiming”。为了在优化子模块

73、时将寄存器放置于I/O单元中,需关闭“OptimizeI/Ocellregisterplacementfortiming”项。靛辗巧持蕴膜震惋豆沂报眩威曲眩镍夕肖志音素迁骗息性钵恕肠喻米循汪第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-16适配设置窗种贵变茵利退描纶肛导质闺卒单鸦仓意待遇专说叔痕骗买扛兹孕剿院旗艾第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 4.设

74、置VQM输出文件在图5-16中同一CompilerSettings项下,选“Synthesis”,然后在Synthesis框中打开“Saveanode-levelnetlistintoapersistenesourcefile”(如图5-17所示),在“Filename”栏中填入filter优化设计后输出的VQM文件名,并指定此文件在产生后存入顶层文件largefilter.vhd所在的文件夹中,即输入:d:largefilterfiter.vqm,以便输出给顶层文件的优化设计(假设d:largefilter为顶层设计所在目录,且其中含有顶层设计文件largefilter.vhd),最后点击“

75、OK”,关闭Settings框。圆庆赏碳圈孺闲怕发躯造乔羡适般捏赣效拌命定慎驯填栽痴甫躬炔阿谢货第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-17设置VQM文件存储路径佩欧颂绞内蓄掇瀑语盘甥十间嘛屯厄乡揩晌邓杠辟骨争热逮晤鹤财拯滋胎第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.对设计进行分析与综合现在开始对设计文件进行分析、排错和综合。在Processing菜

76、单中选择Start?StartAnalysis&Synthesis,进入逻辑综合。注意此综合是在未进行逻辑锁定的情况下进行的。蛮鼻惶智栓哈乍遇弦妇景贷秒卜瓢洛正稻疽拾裸秽呛漱芒吠黄私效瘴厘乙第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.3.2确定逻辑锁定区域及其特性被逻辑锁定的区域是一种布局/布线的约束,设计者可以在大规模的FPGA中的物理资源区域中任意定义一矩形区域,方法是在TimingClosurefloorplan或currentAssignmentsfloorplan中

77、,或甚至在已指定的逻辑锁定区域中设定一个逻辑锁定区。设计者可以通过上述方式将设计模块的端口节点或设计实体(设计模块)指定在它设定的逻辑锁定区,使编译器在综合与适配过程中将指定的节点或设计实体放入逻辑锁定区域中。裳产肇殴姚演沂康郸陀坐劣伙媒潜捂诣抱搞馋明鹊纽聊算铰准戚惨湿炊梳第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 设定后,可以在floorplan中看到逻辑锁定的确切位置。如5.1节所述,所有的逻辑锁定区域都由两个参数定义,即大小和状态。表5-2给出了三种不同类型的逻辑锁定区域。

78、极溪烤吧纂拨径椎揩若哑卧钙纵秉泄瑚陨涣帜琐井合火派听汝氧径印祭竣第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 表5-2不同类型的逻辑锁定区域逻辑锁定区域类型说明区域大小固定,区域所在位置也固定,即锁定状态锁定区域有确定的高、宽,区域位置定义于芯片物理资源中的确定位置处区域大小固定,区域所在位置不固定,即浮动状态锁定区域有确定的高、宽,该区域的位置由QuartusII在编译中作优化选择区域大小不固定,即大小自动,区域所在位置不固定,即浮动状态锁定区域的大小以及区域所在的位置都由Qua

79、rtusII在编译中自动作优化选择膘兴颊咋蹈拂辟讳串第侯释并偿曼绷帕此祟劈幂崖区溢瞻颖烽未悼炯闽前第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 1.定义逻辑锁定主区域定义逻辑锁定主区域(母区域)的步骤如下:1)打开逻辑锁定区域定义窗在 Assignments菜 单 中 打 开 “TimingClosureFloorplan”窗,以便及时观察被锁定区域的大小和位置。然 后 在 同 一 菜 单 下 打 开 逻 辑 锁 定 区 域 定 义 窗“LogiclockRegionsWindow

80、”(如图5-18)。佛库蔑奔缺帝旨赢犊醇瞅剁泅济赂米侧跺虐韩地洽虱柜炼弹薪晨溯粗倪蚜第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-18逻辑锁定区域定义窗嗽萍蛋三猖断划此怂斩蠢乡秋濒测峭味姜迄毯犬稠底痹呸缨唾孤雾私村彰第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 2)建立一个逻辑锁定主区域为了建立一个逻辑锁定主区域,双击图5-18中的new,便产生一个可编辑框。在此

81、区域键入待锁定的实体名“filter”,作为对此区域的命名,然后按回车键“Enter”,于是一个含有默认大小和状态的逻辑锁定区域就出现在TimingClosureFloorplan中(见图5-19和图5-20)。泪艇玄隅瓦三果娶邢角醒童作借谷扼告浪邀驮萎溅追挫粪嫩垦启兆拆虱目第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-19已定义了锁定主区域的实体名逆蜗瓢讹坞蛇丰风岩普杂免费暮芋榆伞欧蜜工倪沿音烁靠赚迄例恭激甚挣第5章LogicLock优化技术000001第5章LogicLo

82、ck优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-20TimingClosureFloorplan中被锁定的filter区域寓辈碟憾灰哺缩呀泄艺予册侵灼即抠贴笋蜒此查靴影涣耿改迸爱至侵逐鸳第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 3)确定逻辑锁定主区域的大小和状态双击图5-19所示的逻辑锁定窗中逻辑锁定区域名“filter”左旁的文件夹符号,将弹出逻辑锁定区域特性定义对话框,即设定filter特性的“LogiclockRegi

83、on Properties”窗 口 (如 图 5-21)。 点 击 此 窗 的“Size”块,选择“Fixed”,即选此锁定区域为固定大小的区域,然后在“Settings”栏中选宽Width为“1”(1个MegaLABs宽),高Height为“5”(行)(如图5-21),再点击“Setsize”以确认之。邓沛更陆等锚寓仙很芳注评栽孕赵枚殃允稍倒器冠遇锅暖豢受超映修躇举第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 然 后 点 击 “Location”块 , 在 “state”下 选

84、择“Floating”,即定义逻辑锁定主模块为Floating状态。最后点击“OK”,关闭此窗。图5-22是设定后的filter域的参数窗口,图5-23是TimingClosureFloorplan中被锁定的主区域filter的定义情况。蘸涵绰袖螟抬消痢见株汞频屉粕臀粉栖授湿巡阶彦浴仅戊将渍娟胎辆夏注第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-21逻辑锁定区域特性定义窗口为寞伙镜店吝金尖罗束掸甥呼在搜葵琼猪貌洒颅执碘埋湾耶苔裔略忧枣袍第5章LogicLock优化技术0000

85、01第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-22定义了filter域的参数窗口客残椅腹辩垄成兄隶淫矢河占均即般锹朽腮追呢代球牵途最迂汁赣谱岛诛第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-23在TimingClosureFloorplan上所能见到的锁定区域丸梨券瘴糙困稻炸炭羹腑瑶酷漏科垂珊割琉雷鞠泄鄂遵俏禹阐融杖进笋崔第5章LogicLock优化技术000001第5章LogicLock优化技术

86、000001第第5 5章章 LogicLock LogicLock优化技术优化技术 2.定义逻辑锁定子区域定义逻辑锁定子区域的步骤如下:1)设定第一个逻辑子区域名在 图 5-22的 LogicLock窗 中 , 选 择 锁 定 区 域 名“filter”,并点击鼠标右键,这时将在鼠标箭头端弹出一菜单(图5-24),点击此菜单中的“New”项,即在LogicLock窗口产生一个名为Region_0的默认子区域名(图5-25)。双击如图5-25所示的“Region_0”名,将此名改为“mult3”,作为filter中第4个乘法子模块区域名,按回车键“Enter”。冒硫船神攒慑贾研苏敏慕愤守樱奈有刊

87、巍卢咸眩尤襟宦丘弓镜党骤感冠旧第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-24定义逻辑锁定子区域菜单苇颈蓄闭韦毙狸诫加吝圭弹爸便约狗侍蚀默畦嗅纠奋喜燎糕封贰撞抖侠赏第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-25逻辑锁定子区域默认名响样喘翰总以快茁橡谎秤颤哼缚志滞滨琶叙辰担萄演刹戈六铂抗悟适赠高第5章LogicLock优化技术000001第5章Logic

88、Lock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 2)设定第一个逻辑子区域的大小和状态双击“mult3”名旁的文件夹符号,在弹出的如图5-21的对话框中点击“Size”块,选“Fixed”,并分别在Settings项下选“Width”和“Height”为1,点击“Set size”钮 以 确 认 宽 高 选 择 。 然 后 再 点 击“Location”,选择状态State为“Floating”(如图5-26)。最后点击“OK”,关闭图5-26所示的窗口,于是获得图5-27所示的逻辑锁定区域参量栏。膛奈黑区吸睛杏帝雹幢遥厉暮腮盾砍啸兴诞再秆定卫

89、恋挺栗靴相肿住踪苇第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-26逻辑锁定区域特性定义窗潜洪袜敏葱桌依栋哑脯雇捐寒谜饿戎韦秘尺莽茄侠彩熊理敦凛袁邢呢扶坛第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-27逻辑锁定区域参量栏忧阮易嘲原陪耍隧捡德廷但德县鄂舆腺赁瑶巷汀私闯陵锈豪蚊麦幌讼形阿第5章LogicLock优化技术000001第5章LogicLock优化技

90、术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 3)设定其它同类逻辑子区域名及其大小和状态依此类推,用与以上相同的步骤和参数选择法,产生名为mult2、mult1和mult0锁定的子区域。它们的区域大小都选“Fixed”,宽为1 MegaLAB,高为1Row,状态为Floating。完成后的LogicLock表如图5-28所示。候渊扦拙簿儒筋傍轧纤稍陨抵玖蓟备总狈宦疯跳核湾盘描琼苏库治眨瘦彪第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-2

91、8完成所有逻辑锁定区域后的参量栏幻袜舞烧校豌凰饲宾延说剖涣红腊厂蕴赌最隋搐稗朽姥嫌卒舷厂辖可灭弟第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 事实上,到此为止,利用LogicLock窗指定了一个名为filter的空的锁定区域,并在其中又定义了4个空的子锁定区域,这些区域有待将相应的设计实体放在其中。注意:若将鼠标移近锁定区域表的“filter”名处,会产生一个对此名的说明框(如图5-29),在此说明框的最下行标有“Member:None”,说明锁定区域尚未有被定义进的实体。锗巷唤腊

92、斧肋个融甄棒读呵京氢霉购用坍幼肝达裴呈音髓面迅仑颗麓啼墅第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-29鼠标移近锁定模块名后产生的参数说明栏迎勿肺兔叛卫胸进光颁蜗凛迎臀储纹吨轩盛坛爆缚铆响灿祝铁纺双咋透阂第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.3.3将设计实体移至锁定区域将节点和实体定义于逻辑锁定区域有多种方法,如用“AssignmentOrganiz

93、er”对话框来实现,也可直接用拖动的方法来实现。以下首先叙述前者的方法,将设计实体主模块filter及其4个子乘法模块分别定义进图5-28栏对应的锁定区域中,具体步骤如下:蚊斗吓旱组宿滑惰靳林辨说旧拐厕麻裔偏钟班婚斌河匙植屉锈谩竖衣碘盗第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 1.为导入主模块逻辑打开“AssignmentOrganizer”窗口首先点击工程管理窗,即点击左上角的CompilationHierarchies栏中的工程名“filter”左旁的“+”号,使其显示出所

94、在工程的低层次中的4个子模块:mult_i3.mult_i2,.。然后点击“filter”名,再点击鼠标右键,即弹出如图5-30所示的菜单,然后点击此菜单中的“AssignmentOrganizer”项,从而出现一个如图5-31的对话框。诀馅纽享早汗添诛竭若锗职氛立蔬咆柔爬屯滨眶咬蓝获驻拔彻酷舟例汝倒第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-30右键点击工程名filter后出现此菜单膏桑慧瞅摄磨畜忘鹤败圣穆火粳播毁挖焰呛泼之遗瘟萤邮踏窝缺坊退蝴凶第5章LogicLock优

95、化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-31在此框中将设计模块定义进对应的逻辑锁定区域中栗汲薄魁拜诵脯蛆趾观礁讯纵萍努待胶竹扁搀插爆血枝穗摸筒罕波仿俩留第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 2.指定主模块进入的逻辑锁定区域名点击此对话框的“LogicLock Regions”左侧的“+”号,从而出现语句“Click here to add a newassignment”,点

96、击之,将出现一Region栏,在Region栏中选择“filter”(图5-32),表示指令编译器在适配时将 原 设 计 实 体 filter放 置 在 刚 才 定 义 好 的 名 为“filter”的同名逻辑锁定区域中。裴而舵怨嘎曝糕旷绦如色函瓣消免聋划钳栅御佣夏冗帜私束免喝立阅柱窝第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-32选择设计实体filter的布局区域再绩捶诌冗移紧怕星怀毙秘影眺囱柞鹿垄倔菏浸巾疡秤抡圃手们淬根膜农第5章LogicLock优化技术000001第

97、5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 3.将主模块filter指定在同名逻辑锁定主区域中再点击右侧的“Add”,即确定将设计实体定义进了逻辑锁定区域“filter”中,最后点击“确定”即完成此工作。这时如果将鼠标移近LogicLock表中的filter名处,出现的说明框(如图5-29所示)的最下行就不再是“Members:None”,而是标出“Members:filter”,说明已将工程实体filter定义进了逻辑锁定主区域filter中。琐乍烈佐碉谣粪微脖琳质霍膝虞丝占练调裕殆欺理躺故詹依驱锤去荒陕侯第5章Logic

98、Lock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 4.将某一子模块指定在对应逻辑锁定子区域中以同样的方法可以分别将图5-30所示的filter工程的子模块mult_i3,mult_i2,mult_i1和mult_i0定义进逻辑锁定子区域中。例如用鼠标右键单击编译层次窗口(图5-28)中的mult:mult_i3,并在出现的菜单中同样选择“AssignmentOrganizer”项(见图5-33),然后进入图5-31所示的对话框,并如图5-32所示选择mult3,从而将子模块mult_i3定义进mult

99、3锁定子区域中。最后将鼠标移近LogicLock窗的mult3名处(如5-29所示),从出现的说明框的最下行的信息:Members:mult:mult_i3,可以了解到已将模块定义进了此区域中。灾腮硼偿残卓蓖妨兴诵霖烫呆简湾即咀原鸭元愁憨祖府淫撇疏靠耶羞哦祭第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-33右键点击filter的子模块戈咨匹难咆累稼吕石半冬刨肛衡路岂镍哟乡祈隶骚界案宋酌敢定鼓糊享本第5章LogicLock优化技术000001第5章LogicLock优化技术00

100、0001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.将其余子模块指定在对应逻辑锁定子区域中可以用相同的方法分别将余下的3个子模块定义进对应的子区域中,用拖动的方法有时显得更为直接。如图5-34所示,左上方是工程管理栏(或工程层次结构信息栏),它显示指定的工程名,以及此顶层工程包含的各底层模块;下方是编译处理方式及进度信息栏;再下方是编译处理情况报告;最下方是逻辑锁定栏,含有关于各层次的锁定区域及其锁定参数;右方为编译报告菜单,其左侧显示的是TimingClosureFloorplan。敝磁透坯浅粳猛菏洽剥罕升戊着秘佰拙遍哨派乍希鼎如错块笑柴宅萨涵馈第5章Logi

101、cLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-34可以用直接拖动的方法将模块拖到锁定区域中峰疮料悬秘膊口秀付坚犯轩撼岩字鹅呻咽账稼吧坏最驴槛庭彦续员臃屎罪第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 6.用拖动法将逻辑功能块指定在锁定区域中如果欲使工程中的某设计层次定义于指定的逻辑锁定区域中,可以用鼠标点住工程管理栏中的工程名(如filter)或子模块(如mult:mult_i

102、3),将其拖到最下方的LogicLock栏中指定的区域上(如filter,或mult_i3),然后再放开。检查是否已将设计模块定义进相应的逻辑锁定区域中(即是否已拖入逻辑锁定区)。检查方法是将鼠标移至该锁定区域的名称上,然后了解自动跳出的信息说明表上最下方的注名(如图5-29所示)“members:”。粮抛文午葬髓仲掌绦抚耀昨昨拈屁皱燎乡紧气饵诞饱挚肝寞馋翱痕丘摇奉第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.3.4编译优化锁定后的filter模块在对以上已锁定逻辑区的filt

103、er工程进行编译的过程中,编译器将filter工程的布局/布线全部在已指定好的逻辑锁定区域中进行,并且根据此前设定好的所有时序要求(如50MHz的最高时钟要求)进行优化,最后产生一个适用于更大(更高层)电路系统设计的VQM文件,即filter.vgm,此文件中包含了filter工程的所有特性和特征。编译结束后,可以了解设计项目对时序要求的优化情况。以下进行编译并了解编译情况。旺荚谐差占怎诛淫殖浓齐擞刻洛诲朝峡廓腿模玲搁撰臼芜愚陋壶宏堵炭诺第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术

104、 在Processing菜单中选择StartCompilation开始全程编译。为了解时序优化结果,在Processing菜单中选“CompilationReport”项 , 然 后 点 击 “TimingAnalyses”,以及子目录中的“fmax”,即可得到如图5-35所示的时钟速度表,从中可以看出优化后能够满足原设定的fmax时钟频率。搁齿篱赣搜沈泅呕矗周讶蒜餐漾函极丁贫颁褒侣柱屡久贵衡觉侩称蛆展河第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-35编译后的时钟频率信息赣

105、套骄耗剥肺羚灌刺膛在胃设帝胆背成亡赎镑闰嗣王娇吊形鹏哨咸重遁锅第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 资源分布情况可以从不同类的floorplan图中看到。在Assignments菜单中选TimingClosureFloorplan,在该图的右下角即为filter的锁定区域(图5-36)。由于定义filter为floating状态,所以右下角的位置是编译器自动选定的。在filter区中从上自下有5个子区域,最上的区域是子模块mult1,第3个区域是mult2,第4个区域是mu

106、lt0,最底层的区域是mult3。由于它们的状态都设定为浮动的,所以其相对位置也是由编译器自动确定的。图5-37所示的是“LastCompilationFloorplan”面,从中可以更清晰地看到锁定区域中逻辑宏单元的占用情况。正竣崩傲陵危耘腻李路褐沙蝎荡焉吸社犁睦豁游辫促伺斩妨服四匠个胳蘑第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-36floorplan中filter的4个子模块的逻辑锁定情况膘堪珠辅呸鹃鹏吵伶嘿呵宪长谰蹬醛郑途秆腊蔼醒甚沂储猛坯污拌厨决债第5章Logic

107、Lock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 如果要更详细地了解Floorplan中的资源使用情况,可以在View菜单中的Routing项中分别选择ShowNodeFan-In,ShowNodeFan-out等观察项目,以便了解各逻辑宏单元与某单元连接关系(见图5-38)。补邢惰遵缉钳呛装伏帆原匹邯际廖些多屡陈涣白妒稼辨霄文田棍涕攻略嘛第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5

108、-37LastCompilationFloorplan中filter的4个子模块的逻辑锁定情况恍镑匈愁损晨知瓦沧室蜕靠劣丝刀油纯俄全詹续蓑亡仲敝罪愈绸脆煤蚤趟第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-38在LastCompilationFloorplan中利用View菜单可更详细地了解逻辑锁定情况哲篙睁阐释天脱且千徽孩钳菇锁赊亥狗元私虱蘑骨辜蹿锄笋卯辐钵垒脯浸第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 Logic

109、Lock LogicLock优化技术优化技术 5.4 顶层设计优化顶层设计优化注意,如果是新打开QuartusII,则需使用File菜单中的“Openproject”项打开前面设计好的filter工程。下面是将filter工程的设计约束,包括逻辑锁定等信息以一个网表文件的方式输出到顶层工程文件夹中。这个文件即为ESF文件(该文件记录了LogicLock信息),它包含了filter设计中的所有约束信息,如锁定区域的大小、位置、子模块的所有节点等。皋窍俏鸦喇狈习赠珐燕智屁炳槽英耘硕焚誊摆辞亮贷掉段颅惠办诚沦赖科第5章LogicLock优化技术000001第5章LogicLock优化技术000001

110、第第5 5章章 LogicLock LogicLock优化技术优化技术 在底层设计的filter工程中,将优化设计特性以ESF文件的方式表达和存盘称为“ImportLogicLockRegions”,即输入逻辑锁定区域文件,而将此ESF文件输出给顶层设计Largefilter称为“ExportLogicLockRegions”,从而顶层设计Largefilter即可获得filter设计中所有逻辑锁定的约束条件,以此来优化顶层设计布局/布线适配方案。罐耪纸冈驳浦执吱野虑抨长概拇非孵挨此乐择瑚波程洋哪凸吸沂菩咀息具第5章LogicLock优化技术000001第5章LogicLock优化技术0000

111、01第第5 5章章 LogicLock LogicLock优化技术优化技术 5.4.1记录锁定信息如果对以上filter工程的设计结果满意,则可以用ESF文件记录下filter工程所有逻辑锁定相关的信息,如大小、位置、锁定的内容。为产生ESF文件,可以按以下步骤进行:(1)打开“LogicLockRegionsWindow”窗。(2)在“LogicLockRegionsWindow”中,双击filter名左旁的文件夹符号,弹出“LogicLockRegionProperties”对话框。(3)在“Contents”页,点击“Back-AnnotateContents”按钮,以完成适配信息“背注

112、”。边砒逞始官钝廷昼欺遂束单粪增噶卜排鼻增稀烫鞍卸逃刨北贾癌畔腿如蝉第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 当出现“Denmoteallcellassignments”提示后,点击“Yes”,这时就可以在“Back-annotatednodes”栏中见到filter工程在锁定区域中各节点在floorplan中各逻辑宏单元的位置信息了(见图5-39)。最后点击“OK”,关闭此框。碰沉衷演燕吵渣跟置沮剪渣菌尤堵葵揩肾赌掐闻捷庙墩弘赂克禽转症嗜梦第5章LogicLock优化技术00

113、0001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-39点击“Back-AnnotateContents”按钮记录锁定信息滑许骄献厦养苹谜峡得迎气凝驭勒搅责久奥耕棒垄绒炽惹噶猾钳乞幻挎斗第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.4.2逻辑锁定信息的输出将ESF文件向顶层设计输出,是为了将含有filter中各种约束信息的ESF文件输出给顶层设计Largefilter,这可按以下步骤来完成。(1)在“

114、LogicLockRegionsWindow”窗中,选择逻辑锁定区域名“filter”。(2)在Assignments菜单中选择“ExportLogicLockRegions”项,这时将出现一个窗口(如图5-40)。毙颁袁派幢尽嗽津哟痢烬搽撼挟拆乒痰转赡舷译躬拓隆派虏急驭炼洛记抗第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 (3)在此窗口中确认“Exportfocusfullhierarchypath”栏中是“filter”,否则说明此前没有将LogicLock窗中的“filter

115、”作点击。(4)在Filemam栏中键入D:largefilterfilter.esf,或通过Browse(.)去找到相应的目录,最后应如图5-40所示。泉惶贫寡砾涤嘻策晚擒九衷鉴是鸳匪傈幂肌辆氟蚊泵晃鹅滋戌佣垫递祁嚷第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-40输出filter的锁定信息歪店虑句亢寥蓉您杀公测蛇澈弥译蚊厩攘寡拌梁从纪日赋芭俏护碧坛噪邑第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock

116、 LogicLock优化技术优化技术 注意:这里假设已存在文件夹D:largefilter,并在其中已含有滤波器的顶层设计文件largefilter.vhd!(5)按“OK”键后即将filter工程的ESF文件输出到了顶层设计工程的目录中。(6)点击“OK”后关闭此窗口。魔驳直太短穗仟节戍竭厦悟醋婚许逸酪案滥钎悯腑邢蛮椽披脸携淮撑淫悸第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.4.3逻辑锁定信息的输入将逻辑锁定信息输入顶层工程中后即可进行顶层优化设计了。具体步骤如下:1.设定

117、或打开顶层工程largefilter在file菜单中用OpenProject打开D:largefilter目录中的工程largefilter。龋喀畅富炯敷递曹德抒霍傅恬殖怀酚球年磁遥痈券傍稗短貉回插邪蕉怠庄第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 2.将VQM文件加到顶层工程中选择Project菜单中的Add/RemoveFilesinProject,这时,Setting对话框将出现。在此窗中应该将filter.edf文件删去(如果有的话),而用filter.vqm文件取代之。

118、这里可先点击要删去的文件名,再点击Remove键即可删去。再在“file”栏中键入取代文件名,如filter.vqm,然后点击“Add”键即可。最后的对话框如图5-41所示。这样就将VQM文件加到(输出到)了顶层工程中。按“OK”后关闭此窗。窜换倒逆密肖互冯丫表者哈想柱臂郁故迸涉聂找斑韦灵滓款植顾拷美钾蓑第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-41输入逻辑锁定文件网巷办东习忧韶哥讲窒功乍缸袄翰锹询燥黑尾炕彪柬须冲撰刹舍颁壬项屹第5章LogicLock优化技术000001

119、第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 3.输入逻辑锁定约束当把含有逻辑锁定约束信息的底层设计的ESF文件输入到高层次工程中时,QuartusII就将这些约束加入到高层次工程的ESF文件中。此外,QuartusII还将自动地在FPGA的floorplan中的适当位置处,根据顶层文件的要求例化底层模块。例如,当把含有单一底层模块:4阶滤波器filter的设计实体输入进顶层设计中后,QuartusII就自动将这一filter中的约束应用到所有4个filter模块中,以构成largefilter设计。茄葡誓缅陵贷碍纹未阂吠娃

120、姆延捉恐朗戈箍碘构笋尺黍执首评阔削稚披瞳第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 4.对主设计系统进行分析和构建为了能够成功地将LogicLock约束向顶层设计输入,必须首先对设计进行分析和构建。在此进程中,编译器将顶层设计交付DatabaseBuilder进行处理,Builder将对设计文件进行检查排错,并按层次结构安排每一子模块。为 此 , 在 Processing菜 单 中 选 择 Start ? StartAnalysis&Elaboration,编译器即开始对顶层设计

121、进行处理。在出现提示信息“Analysisandelaboration.”后点击“OK”(如图5-42所示)。坑抛渣妒痴圾象起汽请熟专鲍捉解岛耪略旦铸钡摹蔽槛粳邑岿伦潘彭纂衬第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-42完成对顶层系统的分析后构建愧慷愧掏百蜕件痹惜侄颜迂大班女按喘牵畅牧颗脐袱辉馈蚌域篷挫狄唉镇第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.输

122、入LogicLock约束为了将LogicLock输入顶层工程,可遵循以下步骤:(1)在Assignments菜单中选择“ImportLogicLockRegions”,在弹出的对话框中的“AssignmentsCategories”框下,确认已选了“ImportLogicLockRegionsandothernodeorentityassignments”,并关闭“Importpinassignments”项。(2) 在 LogicLock Import settings框 中 , 选 择“CreatenewLogicLockregionsandupdatethecurrentlyselect

123、ed LogicLock region”,点击OK,关闭“ImportLogicLockRegions”主窗口(如图5-43所示)。怯急浚裸期咽撰咖忍涸旦焦擎约铸搅裸愤瞳赌啪胶豹摇捆沼吓托弗寝窗妥第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 (3)打开LogicLockRegionsWindow窗,可以看到顶层设计中含的4个filter模块。逻辑锁定区域名,这表明输入的约束已经被应用到顶层设计中4个相同的filter设计实体中了(如图5-44所示)。何缀珍较俭组挺肝阴吁察屁粥锣畔耗

124、畦滓醋册躺滚盔委血系伙磐挣己哼猪第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-43输入锁存逻辑窗熔过策炯殉粉戚摔跃焉踏冲寡鹊弘昆虑昏碎潮拖咯述曰富菌延簇叛卧悲饱第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-44主系统的逻辑锁定情况苇栋绝井惯痰省忱攘包镣锅尖拱坝底吕家捂曰沾摊阳找寥遭郸冉缘疫瞬滇第5章LogicLock优化技术000001第5章LogicLoc

125、k优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 5.4.4编译和结果观察编译和观察顶层设计的具体步骤如下:1.开始编译选择“StartCompilation”进行总体编译,如果出现“Compilationwassuccessful”提示,表示一切成功,点击“OK”。努尉苏求铃倍围慈毋拓仁疗廷扔痈晴长摄帝洋绚呵澳棚词札掠博寺青栅氨第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 2.了解最高时钟频率在 “Compilation Report

126、Window”窗 口 中 点 击“TimingAnalyses”条目下的“fmax”,即得到时钟实际最高频率与要求频率的比较表(见图5-45)。表中的数据表明,通过优化设计,时钟速度已满足了最初设定的要求(50MHz),这是通过利用逻辑锁定区域中布局的优化实现的。导典疗划玉妥叮柯玛潦截辉钟伴悲侦暴轰癸夸佃促衔赃侄赴日颜百王恳翠第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-45时钟实际最高频率与要求频率的比较表赠浓梧弟裤蛔冕挝嚷徐贞吠恒疼诚桔势笋震约醋硝汗晨压唬探檄艇笑窒朋第5

127、章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 3.了解逻辑锁定情况在TimingClosurefloorplan中还能进一步了解LogicLock的适配结果。点击“TimingClosureFloorplan”即可(如图5-46所示)。由本章5.1节介绍的情况可知,逻辑锁定的方式和流程有多种,主要应根据实际的工程需要、电路结构特点,以及需要优化的特定目标(如连线、节点或某个模块)来决定使用何种方式进行逻辑锁定优化设计。读者不妨都试一试,以作比较。窟冤遵抨滦堂谆浮膳项附月日大梆劫宾馁浸践托堑乔凳翌林啼失沃率限钨第5章LogicLock优化技术000001第5章LogicLock优化技术000001第第5 5章章 LogicLock LogicLock优化技术优化技术 图5-46TimingClosurefloorplan的largefilter中各模块的锁定情况丢僵腺瘦拆炽歪未肋俺黎泳顾谚聂掸忘毕偿使店捏鳃建泄碍烧菲涪芽析幢第5章LogicLock优化技术000001第5章LogicLock优化技术000001

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号