关于quartus ii时序约束
- 格式:doc
- 大小:3.21 MB
- 文档页数:7
QuartusII 中Tsu/Tco 的约束方法
Tsu/Tco 在Quartus II 的报告中有两种不同含义.
1. 片内的Tsu/Tco 是指前级触发器的Tco 和后级触发器的Tsu, 一般来说都是几百ps 级别的. 可以通过List Paths 命令查看。
这里的Tsu/Tco 主要由器件工艺决定, 工作时在受到温度,电压的影响略有变化.(如下图所示)
2. 管脚上的Tsu/Tco 它是保证系统Famx 重要的TIming 元素(如下图示). 比如: 两个芯片之间工作在100MHZ, 因为100M 的周期为10ns, (现忽略PCB 走线的延迟), 如果某信号对FPGA 来说是输入, 那幺前级芯片的Tco 加上FPGA 的Tsu 就不能够超过10ns. 如果某信号对于FPGA 来说是输出,那幺FPGA 的Tco 加上后级芯片的Tsu 也不能够超过10ns. 只有这样,。
关于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的信号。
©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera CorporationPhysical SynthesisTypes− Targeting performance during synthesis and/or fitting Combinational logic Register retiming Asynchronous signal pipelining Register duplication Effort− Trades performance vs. compile time − Specifies location (synthesis and/or fitting) of compilation time impact − Fast, Normal, or Extra− Targeting fitting Physical synthesis for combinational logic Logic to memory mappingNew or modified nodes appear in Compilation ReportTcl: set_global_assignment –name PHYSICAL_SYNTHESIS_EFFORT <Effort Level>© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 11 11Combinational LogicSwaps look-up table (LUT) ports within LEs to reduce critical path LEsa b - critical c d e f gLUTLUTa e c d b f gLUTLUT© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 12 12Gate-Level Register RetimingMoves registers across combinatorial logic to balance timing Trades between critical & non-critical paths Makes changes at gate level Does not change logic functionalityD Q >10 nsD Q >5 nsD Q >D Q >7 nsD Q >8 nsD Q >© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 13 13Asynchronous Control SignalsImprove recovery & removal timing Make control signal non-global− Project-wide Assignments ⇒ Settings ⇒ Fitter Settings ⇒ More Settings − Individually Set Global Signal logic option to OffEnable Automatic asynchronous signal pipelining option (physical synthesis)© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 14 14Asynchronous Signal PipeliningAdds pipeline registers to asynchronous clear or load signals in very fast clock domainsAdded pipeline stageD aclr aclr aclr QaclraclrDQDQ aclr aclrGlobal clock delayDQ© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 15 15DuplicationHigh fan-out registers or combinatorial logic duplicated & placed to reduce delayN© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 16 16Timing OptimizationGeneral Recommendations Analyzing Timing Failures Solving Typical Timing Failures© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 17Analyzing Timing FailuresTypical synchronous path−Registers can be internal or external to FPGAREG1 Input Failure Output Failure Failure within Clock Domain© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 18REG2 Internal External InternalExternal Internal InternalSlack Equations Setup Slack Equation:(latch edge + Tclk2 – Tsu) – (launch edge + Tclk1 + Tco + Tdata)Data Required Data Arrival Tsu, Th, Tco are usually fixed values; Function of siliconHold Slack Equation:(launch edge + Tclk1 + Tco + Tdata) – (latch edge + Tclk2 + Th)Data Arrival Data Required© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 19Slack Equations (cont.) Setup Slack Equation:(latch edge + Tclk2 – Tsu) – (launch edge + Tclk1 + Tco + Tdata)Data Required Data Arrival Timing issues show up hereHold Slack Equation:(launch edge + Tclk1 + Tco + Tdata) – (latch edge + Tclk2 + Th)Data Arrival Data Required© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 20©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation©2009 Altera Corporation。
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通信的正常进行。
希望这些信息能够对你有所帮助。
quartusii编程语法摘要:一、quartusii 编程语法简介二、quartusii 编程基础1.设计输入2.逻辑电路描述3.编译和仿真三、quartusii 编程进阶1.高级功能模块2.优化设计3.时序分析四、quartusii 编程实践1.实例分析2.常见问题及解决方法五、quartusii 编程在我国的发展与应用正文:quartusii 是一款由Altera 公司开发的FPGA 设计开发软件,广泛应用于数字电路设计、ASIC 设计等领域。
本篇文章将为您介绍quartusii 编程语法。
一、quartusii 编程语法简介quartusii 编程语法主要包括设计输入、逻辑电路描述、编译和仿真三个方面。
设计输入是指通过文本或图形方式描述数字电路的设计需求;逻辑电路描述则是指通过文本或图形方式实现逻辑电路的描述;编译和仿真是指将设计输入转化为可执行的硬件描述语言,并进行仿真验证。
二、quartusii 编程基础1.设计输入在quartusii 中,设计输入主要包括原理图、文本和波形文件等。
原理图是一种通过图形方式描述数字电路的方式,可以直观地表示数字电路的结构和连接关系。
文本输入则是一种通过文本方式描述数字电路的方式,可以详细地描述数字电路的逻辑功能和时序关系。
波形文件则是一种通过图形方式描述数字电路的时序波形,可以用于验证数字电路的时序功能。
2.逻辑电路描述在quartusii 中,逻辑电路描述主要包括逻辑门、触发器、寄存器、计数器等功能模块。
逻辑电路描述时,需要遵循一定的语法规则,例如使用“module”定义模块,使用“input”和“output”定义输入和输出端口等。
3.编译和仿真在quartusii 中,编译和仿真是指将设计输入转化为可执行的硬件描述语言,并进行仿真验证。
编译时,quartusii 会将设计输入转化为Verilog 或VHDL 等硬件描述语言,并生成对应的.v 文件。
关于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的信号。
约束名称:input delay。
约束条件的影响主要有4个因素:外部芯片的Tco,电路板上信号延迟Tpd,FPGA的Tsu, 时钟延迟Tclk. Tco的参数通常需要查外部芯片的数据手册。
计算公式:input delay =
Tco+Tpd+Tsu-Tclk。
FPGA的Tsu也需要查FPGA芯片的手册。
FPGA速度等级不同,这个参数也不同。
Tpd和Tclk需要根据电路板实际的参数来计算。
通常,每10cm的线长可以按照1ns来计算。
例如:系统时钟100MHz,电路板上最大延迟2ns,时钟最大延迟1.7ns,Tco 3ns,FPGA的Tsu为0.2ns。
那么输入延迟的值:max Input delay = 2+3+0.2-1.7=3.5ns. 这个参数的含义是指让FPGA的设计工具把FPGA的输入端口到第一级寄存器之间的路径延迟(包括门延迟和线延迟)控制在10ns-3.5ns=6.5ns以内,其中10ns是系统时钟。
2. 寄存器到寄存器:
这种路径的约束是为了让FPGA设计工具能够优化FPGA内寄存器到寄存器之间的路径,使其延迟时间必须小于时钟周期,这样才能确保信号被可靠的传递。
由于这种路径只存在于FPGA 内部,通常通过设定时钟频率的方式就可以对其进行约束。
对于更深入的优化方法,还可以采用对寄存器的输入和寄存器的输出加入适当的约束,来使逻辑综合器和布线器能够对某条路径进行特别的优化。
还可以通过设定最大扇出数来迫使工具对其进行逻辑复制,减少扇出数量,提高性能。
3. 寄存器到输出:
这种路径的约束是为了让FPGA设计工具能够优化FPGA内部从最后一级寄存器到输出端口的路径,确保其输出的信号能够被下一级芯片正确的采到。
约束的名称:output delay。
约束条件的影响主要有3个因素:外部芯片的Tsu,电路板上信号延迟Tpd,时钟延迟Tclk。
Tsu 的参数通常需要查外部芯片的数据手册。
计算公式:output delay = Tsu+Tpd-Tclk。
例如:系统时钟100MHz,电路板上最大延迟2ns,时钟最大延迟 1.7ns,Tsu 1ns,输出延迟的值:max output delay = 1+2-1.7=1.3ns。
这个参数的含义是指让FPGA的设计工具把最后一级寄存器到输出端口之间的路径延迟(包括门延迟和线延迟)控制在10ns-1.3ns=8.7ns 以内。
4. 从输入端口到输出端口:
这种路径是指组合逻辑的延迟,指信号从输入到输出没有经过任何寄存器。
给这种路径加约束条件,需要虚拟一个时钟,然后通过约束来指定哪些路径是要受该虚拟时钟的约束。
在Synplifypro 和Precision中都有相应的约束来处理这种路径。
QuartusII软件中时钟Fmax约束步骤
作者:Altera中国区代理――骏龙科技武汉办事处
使用QuartusII软件对设计中的时钟进行约束的步骤如下:(这里以QuartusII5.0为例说明)1.如果实际中仅仅用到单个时钟按照图一所示约束即可。
例如,设计主时钟是19.44M,按照下面图一及图二中所示步骤约束即可,一般来讲,约束尽量留一些余量,如设计主时钟为19.44M,我们可以设置主时钟为25M。
图一:Timing Settings菜单
执行完图六所示步骤后跳出图七所示窗口,在图中相应位置输入相应的时钟频率即可,(可以根据设计需要选择时钟的占空比,一般设计50%的占空比)完成后点击OK。
此时即完成了对一个时钟的设置,如图八所示。
我们可以使用以上类似步骤继续把设计中其余时钟进行相应设置。
另外,对多个时钟设置后
我们可以根据需要修改或者删除。
图八:成功设置一个时候后的界面
说明:1.这里对时钟的约束仅仅针对输入管脚的时钟或者内部的时钟,不能应用于对输出时钟(管脚输出时钟)的约束。
2.这里仅仅说明的仅仅是对设计时钟的Fmax的约束步骤,很多时候由于设计复杂或者时钟要求比较高的场合,同时还需要对Tsu及Tco进行设置。
对
于Tsu及Tco的设置请参考另外一片文档。