tag 标签: 逻辑锁定

相关博文
  • 热度 15
    2014-2-25 17:19
    1352 次阅读|
    0 个评论
    逻辑锁定方法学(LogicLock Methodology)内容就是在设计时采用逻辑锁定的基于模块设计流程(LogicLock block-based design flow),来达到固定单模块优化的目的。这种设计方法学中第一次引入了高效团队合作方法:它可以让每个单模块设计者独立优化他的设计,并把所用资源锁定。 这样在合成顶层设计时就可以保持每个模块的性能,而且它还让逻辑模块可重复使用,提高了资源利用率,缩短了设计周期。逻辑锁定的基于模块设计流程与传统设计流程是有区别的。 逻辑锁定优势 性能不变,而设计周期更短。使用LogicLock约束,逻辑模块只需优化一次。通过约束达到性能要求后,LogicLock区域的回传机制将此性能指标保持不变。例如,设计人员可以在设计中使用一个PCI宏函数,锁定布局和性能指标。在设计中,加入其他逻辑模块或者在其他区域中改变逻辑都不会影响PCI核的性能。LogicLock流程减少了完成一个工程所需的设计周期数量。 更强的分层次设计流程。设计人员通过LogicLock流程,可以保持每个模块的特性不变,通过分层次区域实施很快地达到性能指标。采用LogicLock方法学,设计人员或者设计团队可以在设计中独立工作,完成布局布线,优化和对每个设计模块的验证。在集成阶段,只需对整个系统进行验证。布局和每个模块的性能保持不变。 优化的设计重复使用流程。LogicLock约束可以由外部输入。由于LogicLock方法允许将单个约束过的设计模块输入到多个设计中去,因此设计可以方便地重复使用。 逻辑锁定流程 首先,分析整体资源利用率,如果采用的FPGA芯片容量足够,理论上只要保证重点模块的资源利用率,就能保证整体设计的性能;然后采用逻辑锁定的基于模块设计流程(LogicLock block-based design flow)进行设计,步骤如下。 (1)在Quartus?中综合单个底层模块。 (2)优化重点模块,进行逻辑锁定。 (3)反标(back-annotaing)。 (4)导出模块逻辑锁定约束信息,包括原级网表(atom netlist)文件(.vqm)、布局信息(placement information)文件(qsf)和布线信息(routing information)文件(.rcf)。 (5)将这些约束文件导入顶层(top-level)工程中。 (6)编译和验证整个顶层设计。 (7)编译完成后,查看时序分析界面是否达到要求。 通过应用一种新的设计方法学——逻辑锁定方法学(LogicLock Methodology),采用了模块化、团队化的设计流程,对重点模块进行优化,解决了传统设计流程无法解决的问题,同时对其他FPGA设计工程中类似的问题提供了可借鉴的思路。
  • 热度 14
    2014-2-25 17:17
    1335 次阅读|
    0 个评论
    当你的设计做得越来越大,性能要求越来越高的时候,你就会发现,之前跑得好好的模块,怎么突然间不行了,其实这就是约束的问题,FPGA内部的布局布线就像我们画PCB时的自动布线,如果没有规则设置,那么软件将不能保证你能达到多大的Fmax,而且当你的设计变更的时候,其它没有改动的模块也会在重新综合后受到影响。 正文:   有两种方法来解决发生的这种意外,一个是时序约束,另一个就是逻辑锁定。时序约束是按照你的时序要求去布局布线。而逻辑锁定则是指设计者将某个模块或者某个网络指定在器件的某个位置。尽管有时序约束,但综合器也不能保证每次都能达到要求;而只有当逻辑锁定后,它能保证被锁定的模块在下一次综合不被改变。   事出有因,之前加进来的一个SPI模块,一开始是正常的,后来陆续在设计中加了一些模块,综合后,居然发现SPI模块工作不正常,奇怪的是,在我备份的几个版本中,有几个正常,有几个又不正常,而在这个过程中SPI模块从未被修改过。我想一定是综合器在捣鬼,后来我在SPI正常的版本上查看chip planner中spi的布局信息,然后将其逻辑锁定,再添加新的模块进来,结果发现,SPI果然没有受到影响。   下面在11.1 sp2版本下,介绍这个实例   首先编译SPI正常的那个工程,然后查看spi在chip planner中的位置   如下图   然后创建逻辑锁定   在chip planner中选择spi锁定的区域     选择逻辑锁定区域   综合后,查看结果如下:   在logiclock regions window中可设置类型及属性   Logiclock的区域类型   有时候,并不知道逻辑锁定区域应该放在哪里才算合适,这可以跟据器件pin的位置来安排,尽量保证每个模块集中放置,相关的模块也集中放置,这样综合器综合出来的效果都会要好一些。    结语:    如果当逻辑没问题,添加了时序约束,但仍不能满足时,为了保证系统能稳定的工作,逻辑锁定不失为一个好方法。