Quartus时序约束与时序分析剖析教学提纲
- 格式:ppt
- 大小:1.87 MB
- 文档页数:34
关于quartus ii时序约束(1)2012-06-17 09:46:07| 分类:默认分类|举报|字号订阅一直以来都只是简单地理解了一下关于时序约束的内容,而工具也有默认classic的约束,加上目前的设计对时序没有很高的要求,所以就一直都没真正地自己做过一次约束,但是我知道,这部分是不可以跳过的,这部分也算是搞FPGA必须掌握的内容。
今天下午对这部分进行了初次探究,收获有如下:常用的约束有三种:1.时序约束2.区域约束3.位置约束时序约束的作用有:1.提高设计的工作频率2.获得正确的时序分析报告需要复习前面博文《FPGA学习之时序分析基础(7)》记住,堵塞原则是HDL语言的精髓,也就是说触发器是有延时作用的,虽然两个触发器使用的是同一个时钟,但是当第二个触发器接收第一帧数据的时候第一个触发器在发第二帧数据,而当第二个触发器接收第二帧数据的时候第一个触发器在发第三帧数据,依此类推,也就是说每一帧数据在两个触发器之间都有一个clk的时间前进,如果前进的时间太长,也即是系统给的时钟太快,就会出现无法满足第二个触发器setup的时间。
setup time 就是第二个触发器在接收到由第一个触发器上一个时钟发送的数据之前应空闲的时间。
公式:CLK+TCLK2-Tsu > Tclk1 + Tcd + Tdata所以系统CLK是和Tsu息息相关的,所以看时序报告的时候也是从Clock Setup‘clk’看最差路径等信息。
在FPGA设计工具中包含有4种路径:从输入端口到寄存器,从寄存器到寄存器,从寄存器到输出,从输入到输出的纯组合逻辑。
通常,需要对这几种路径分别进行约束,以便使设计工具能够得到最优化的结果。
下面对这几种路径分别进行讨论。
1. 从输入端口到寄存器:这种路径的约束是为了让FPGA设计工具能够尽可能的优化从输入端口到第一级寄存器之间的路径延迟,使其能够保证系统时钟可靠的采到从外部芯片到FPGA的信号。
quartus i2c时序约束
I2C(Inter-Integrated Circuit)是一种常见的串行通信协议,用于在数字集成电路(IC)之间进行通信。
在Quartus软件中,对
于I2C通信时序的约束,需要考虑到I2C总线的时钟频率、数据传
输的时序要求以及外部器件的特性等方面。
首先,我们需要考虑I2C总线的时钟频率。
根据I2C标准,标
准模式下的时钟频率为100 kHz,快速模式下的时钟频率为400 kHz,高速模式可达到3.4 MHz。
在Quartus中,我们需要根据所使用的
I2C设备的时钟频率要求来约束I2C时钟的频率,以确保通信的稳
定性和可靠性。
其次,对于I2C通信的时序要求,需要考虑起始条件、数据传
输和停止条件的时序约束。
起始条件包括START信号的保持时间和
起始条件到第一个数据位的延迟时间;数据传输包括时钟脉冲的高
电平和低电平时间、数据线上数据稳定的时间等;停止条件包括STOP信号的保持时间和停止条件到下一个START条件的延迟时间。
这些时序约束需要根据I2C设备的规格书和Quartus支持的约束语
法来进行设置。
此外,还需要考虑外部器件的特性,例如I2C设备的上升沿和下降沿的时序要求、数据线的负载能力等。
这些特性也需要在Quartus中进行时序约束的设置,以确保I2C通信的稳定性和可靠性。
总的来说,针对I2C通信时序的约束,在Quartus中需要考虑时钟频率、起始条件、数据传输、停止条件以及外部器件的特性等多个方面,通过合理的约束设置来保证I2C通信的正常进行。
希望这些信息能够对你有所帮助。
时序分析与时序约束(基于TimeQuest Timing Analyzer)一、基础篇:常用的约束(Assignment/Constraints)分类:时序约束、区域与位置约束和其他约束。
主要用途:1、时序约束:规范设计的时序行为,表达设计者期望满足的时序条件,指导综合和布局不同阶段的优化算法等。
简而言之就是规范和指导的作用。
倘若合适的话,它在综合、影射、布局布线的整个流程中都会起指导作用,综合器,布线器都会按照你的约束尽量去努力实现,并在静态时序分析报告中给出结果。
2、区域与位置约束:指定芯片I/O引脚位置以及指导实现工具在芯片中特定的物理区域进行布局布线。
3、其他约束:主要作用:1、提高设计的工作频率:通过附加时序约束可以控制逻辑的综合、映射、布局和布线,以减少逻辑和布线的延时。
其实,综合后的结果只是给出你的设计一个大概的速度范围,布线后的速度比综合后给出的结果要低,这是因为综合后只有器件的延时,而布线后除了器件的延时还要加上布线上的延时。
至于低多少就看设计者的约束能不能很好的指导布线器进行优化了。
2、获得正确的时序分析报告:在QuartusII 中,内嵌的是静态时序分析工具(STA, Static Timing Analysis),他的作用就是设计进行评估,只有在正确的输入时序约束的情况下,才能得到可靠的报告。
同时也是做FPGA设计时是必须的一个步骤,事实上大家一般都已经做了这一步,我们在FPGA加约束、综合、布局布线后,会生成时序分析报告,设计人员会检查时序报告、根据工具的提示找出不满足setup/hold time的路径,以及不符合约束的路径,这个过程就是STA。
此外,STA是相对于动态时序仿真而言的,它通过对每个时序路径的延时分析,计算出最高的设计频率(fmax),发现时序违规(Timing Violation)。
注意:静态时序分析仅仅聚焦于设计时序性能的分析,而不会涉及逻辑性能。
在STA中主要分析的路径有:时钟路径,异步路径,数据路径。
集成电路设计中的时序约束分析随着科技的不断发展,集成电路在许多领域得到广泛应用。
集成电路设计中的时序约束分析是保证电路正确运行的关键之一。
本文将从什么是时序约束,时序约束的分析方法和时序约束优化三个方面进行阐述。
一、什么是时序约束时序约束是指在完成集成电路设计之前对其进行的规定性的要求,用来保证在实际应用中电路的正确性和性能稳定性。
这些要求包括输入和输出电平的稳定性、时钟频率和同步信号的稳定性等。
在集成电路设计中,时序约束是非常重要的,它可以保证电路的正常运行和避免潜在的故障。
此外,合理的时序约束可以帮助设计人员在尽量缩短电路设计时间的情况下实现高性能的电路。
二、时序约束的分析方法在集成电路设计中时序约束的分析包括单个时序分析和时序路由分析两种类型。
单个时序分析主要是通过分析电路中的各个信号之间的时间关系,并根据这些关系来确定电路中的时序约束。
这种方法可以帮助设计人员在保证电路稳定性的前提下尽量提高电路性能。
另外,单个时序分析还可以检测电路的故障,并对电路进行排查和修复。
时序路由分析又称为时序优化,它是在单个时序分析的基础上,通过对电路的布局和路由进行优化,进一步提高电路的性能。
时序路由分析主要是通过改变电路中的信号路径,以满足不同的时序约束要求。
三、时序约束优化在集成电路设计中,时序约束优化是提高电路性能的关键之一。
合理的时序约束优化可以最大程度地利用电路资源,提高电路的工作效率和性能,降低电路的功耗。
对于时序约束的优化,主要需要考虑以下几个方面:1、资源利用率:合理的时序约束可以充分利用电路中的资源,避免浪费,提高电路的资源利用率。
2、功耗:合理的时序约束可以降低电路的功耗,提高电路的效率。
3、可靠性:合理的时序约束可以保证电路的正常运行,并降低电路故障率。
总之,时序约束分析是集成电路设计中的重要环节,它直接影响到电路的性能和可靠性。
通过对时序约束的分析和优化,可以最大程度地利用电路资源,提高电路的性能和稳定性,同时也可以提高电路的可靠性。
一、准备工作首先需要EDA综合工具生成用于功能或时序仿真的网表文件(VHDL 为.vho,Verilog为.vo),以及使用EDA仿真工具进行时序仿真时所需要的包含时序延时信息的标准延时格式输出文件(.sdo)。
这里我们以EDA工具为ALTERA的Quartus II 9.0为例,使用Verilog DHL,讲解如何使用Quartus II 9.0生成ModelSim 6.2b时序仿真所需的.vo及.sdo文件。
这里我们先使用EDA工具对工程进行综合,综合通过后进行如下操作。
1、设置仿真工具的路径。
设置用户存放ModelSim的路径,选择菜单栏的Tools-->Options,如下图所示:在Options窗口下,选择左栏Category下的General-->EDA Tools Options,则右栏出现相应的仿真工具。
我们选择ModelSim,并设置路径(该路径为用户存放ModelSim的路径),完成后单击OK。
如下图所示:选择菜单栏的Assignments-->EDA Tools Settings,如下图所示:此时我们进入相应的状态栏,选择左栏Category下的EDA Tools Options-->Simulation,在Tool name选择ModelSim,其他Format for output netlist选择Verilog,其它使用默认参数。
完成后单击OK。
如下如所示:至此,再次进行综合,在工程路径下的simulation/modelsim将生成后仿真(也称时序仿真)所需的网表文件(.vo)及延时文件(.sdo)。
二、ModelSim进行时序仿真1、打开ModelSim,修改存放编译后库文件的位置。
选择菜单栏File-->Change Directory,如下图所示。
第一次需要编译,以后只需要调用该库文件就行,不需要重新编译(前提是使用该库支持,后面将介绍我们编译的库支持资源)。
quartus中的时序约束常⽤⽅法quartus中的时序约束常⽤⽅法⼀、约束操作quartus中有三种时序约束⽅法:1 Timing Setting2 Wizards/Timing Wizard3 Assignment/Assignment Editor⼀般来说,前⾯两种是全局约束,后⾯⼀种是个别约束。
先全局,后个别。
约束操作的⽬标就是得到合理的时序报告。
⼆、指定全局时序约束(1)时序驱动的编译(TDC)Fitter Setting,约束设置,可以调整时序的优先策略并⾃动提供解决⽅案。
时序编译的主要操作有:优化时序:将关键路径的节点放置地更近,降低延时,提⾼余量优化保持时间:修改布局布线,满⾜保持时间和最⼩时序要求优化IO单元寄存器放置:为了满⾜时序,⾃动将寄存器移到IO单元中。
其中优化保持时间,还可以选择优化IO路径保持时间与最⼩tPD路径的时间,或者是所有路径。
优化的⽅法就是在关键路径上添加布线延时以满⾜保持时间的要求。
(2)全局时钟设置在timing setting 中即可设置全局时钟,⽤于⼀个时钟域的全局时钟约束。
在timing requirements & options的中间位置。
(3)全局IO时序约束在全局时钟设置的上⾯就是IO的最⼩时序设置。
设置的参数包括:tSU,tCO,tPD和最⼩延时要求的tH、Min tCo、Min tPD共六个参数,具体的使⽤⽅法需要在实际的⼯程中体现。
(4)时序分析和时序报告quartus中在综合后会⾃动⽣成时序分析报告,可以通过时序分析报告查看设计的时序要求是否符合预期。
(5)时序向导(Timing Wizard)由⾃带的软件向导设置全局时钟。
三、指定个别时序约束(1)指定个别时钟要求quartus默认的时钟有两类:独⽴时钟和衍⽣时钟。
时钟域对应的是独⽴时钟,对于衍⽣时钟,则依附于对应的独⽴时钟的时序。
对两类时钟的声明也是不⼀样的,独⽴时钟需要时钟频率和占空⽐,⽽衍⽣时钟则需要相位差、频率倍数等关系约束。