QuartusII Design partion and logic lock

  Design partion

  Design partion常用于“增益变量(QIC)”,通过Design Partition对子模块进行“逻辑分区”,在Design Partition Window中最关键的一个设定是Netlist Type,它有四个可选值——Source File,Post-Synthesis,Post-fit,Empty(如上图中所标1,2,3,4,上图是为了将各Type全面的显现出来,而不是最终设定)。它们各自的含义是:

Source File:如果源代码未修改,则仅不重新Analysis,还需进行Synthesis和Fitter;

Post-Synthesis:如果源代码未修改,不需重新Analysis、Synthesis,结果只进行Fitter;

Post-Fit:如果源代码未修改,保留前次Analysis、Synthesis、Fitter结果;

Empty:标志为空分区,编译时将忽略此分区。

这样我们就很明白了,其实要想达到“增量编译”的目的,只需将各个子模块设置在Design Partition里,并将未进行修改的各个模块设定成Post-fit,而修改过的模块设定为Source File。需要注意的是,顶层模块TOP的状态也需设定为Post-fit。

  合理创建分区(partion)

  Quartus II中,设计中任何层次中的任何一个设计模块,可以作为一个设计分区;一个设计中也可以包含不止一个设计分区;即使是在设计的同一层次,也可有多个分区。同时,请注意:分区之间没有层次关系,任何逻辑只能归属于某一个分区。以图5为例,A模块由A1、B1、C1三个子模块组成。如果A模块被设置为分区,Quartus会用模块名来为此分区命名:A分区。那么,A分区中就会包含A1、B1、C1三个子模块的所有逻辑。但如果把B1子模块也创建为分区,那么,A分区中就只包含A1、C1两个子模块的逻辑,B1子模块的逻辑只属于新的B1分区了。

  对包含多个功能模块的多层次复杂设计,可以有许多种设置分区的方案。但需要注意的是:不是任何一种分区方案都能带来编译时间的节约,恶劣的设计分区甚至能够导致编译失败!如何得到高效合理的设计分区呢?我们需要遵从以下原则

a. 不要创建太多的分区,一般性的设计建议分区的数量控制在4~8个之间;

b. 不要创建太小的分区,一般建议不要小于1000个LE或者ALM;

c. 外设接口逻辑和内核处理逻辑放到不同的设计分区;

d. 相同或相近功能的外设接口,如果管脚位置相邻,可以放在同一个分区,否则创建不同的设计分区;

e. 不同的分区方案中,分区之间的联接少的方案更优。

 Exported Partition file(.qxp)

  从安全角度考虑,我们常希望保证我们设计的私有性。一个有效的方法就是利用QuartusII Exported Partitionfile(.qxp)创建用于综合或布局布线网表文件(不包括源代码。这种增量编译的特点需要一个完整QuartusII 许可的支持(比如免费的web版本的许可不支持的)。 

A、产生qxp文件

1、  进行第一次工程的综合;

2、  将需要锁定的模块设置: set as design partition、netlist type(source file),然后进行第二次综合;

3、  修改netlist type为post-fit,然后进行第三次综合;

B、导出qxp文件

1、Export design partition:导出锁定模块的qxp文件;

C、导入qxp文件

1、用qxp文件代替rtl代码;

2、inport design partition:导入qxp文件

3、综合就可以了

  Logic lock

  LogicLock的作用,是对设计进行“物理分区”,Logiclock windows里面有两个主要的参数,Size和State:Size有两个选项,Auto、Fixed;而State也有两个选项,Locked、Floating。但是并不是有着四个组合,其实只有着下面三种状态:

第一种,Auto+Floating:由编译器自动选择区域大小和位置;(在Chip Planner里面由虚线显示)

第二种,Fixed+Floating:由编译器选择位置,但由用户设定区域大小;(在Chip Planner里面由短实线显示)

第三种,Fixed+Locked:区域大小和位置都由用户来设定。(在Chip Planner里面由实线显示)

那我们来说说LogicLock在增量编译里面有什么作用呢?还是需要强调一下,增量编译不是一定非要用到LogicLock,但Quartus推荐在增量编译时使用LogicLock!

时间: 2024-12-27 07:48:48

QuartusII Design partion and logic lock的相关文章

Logic BIST

Logic BIST is crucial for many applications, in particular for life-critical and mission-critical applications. Basic concepts and design rules of logic BIST Test pattern generation(exhaustive testing/pseudo-random testing/pseudo-exhaustive testing),

浅谈用ModelSim+Synplify+Quartus来实现Altera FPGA的仿真

浅谈用ModelSim+Synplify+Quartus来实现Altera FPGA的仿真 工作内容: Mentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器.它采用直接优化的编译技术.Tcl/Tk技术.和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件. Synplify.S

三种Dataase Mapping的系统架构

ORM - O/R M - Object/Relational Mapping: A technique/idea used to map objects and thier individual relations to an relational database(mysql, postgresql, mssql, oracle, db2, pretty much any major db today) DAO - Data Access Object: An object used as

Starting a New Project

Starting a New Project In most cases, your embedded processor system is part of a larger design being implemented in a FPGA, and you use both the PlanAhead™ software and the XPS tool chains to complete your development process. Even if you are develo

ARM MOV PC加8

缘由 今天在分析ARM伪指令ADR,书上说ADR通常会被一条ADD或SUB指令替代实现相同功能.我反汇编了一下确实如此会基于PC相对偏移的地址量读取到寄存器中,可是计算却发现对不上 如上图所示,ADR R2,BOB被指令SUB R2,PC,#0x0C替换. 计算 可是由图可知PC值应该为8,执行完这条语句后指向下一条指令的地址12.可是8-12=-4,得不到结果4.如果要得到4的结果,则PC值应该为16,比理论值大8. 为什么读取PC值时,比预想的大8 查阅手册http://infocenter

Microchip 125 kHz RFID System Design Guide

Passive RFID Basics - AN680 INTRODUCTION Radio Frequency Identification (RFID) systems use radio frequency to identify, locate and track people, assets and animals. Passive RFID systems are composed of three components – a reader (interrogator), pass

practical system design with mef & mef[ trans from arup.codeplex.com/]

Practical System Design using MEF MVVM RX MOQ Unit Tests in WPF Posted on May 21, 2015 by Arup Banerjee Prelude The project is a simple Temperature Converter WPF Application which will allow user to convert from Celsius to Fahrenheit and vice versa.

Tcl与Design Compiler (十一)——其他的时序约束选项(二)

本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 前面介绍的设计都不算很复杂,都是使用时钟的默认行为作为电路的约束,都存在有路径给你约束,即信号的变化要在一个时钟周期内完成,并达到稳定值,以满足寄存器的建立和保持的要求.此外进行可测性设计(design for test)时,为了提高测试的覆盖率,我们经常使用多路(multiplex,简称mux)传输电路的控制时钟,使电路的时钟信号可以由输入端直接

RESTful API Design With NodeJS & Restify

http://code.tutsplus.com/tutorials/restful-api-design-with-nodejs-restify--cms-22637 The RESTful API consists of two main concepts: Resource, and Representation. Resource can be any object associated with data, or identified with a URI (more than one