ASIC时序约束、时序分析
TimeQuest就一定要搞定 完整版

一、为什么一定要搞定为什么一定要搞定时序分析在ASIC设计中的重要性毋须多说(我也不甚了解)。
在FPGA设计中,很少进行细致全面的时序约束和分析,Fmax是最常见也往往是一个设计唯一的约束。
这一方面是由FPGA的特殊结构决定的,另一方面也是由于缺乏好用的工具造成的。
好的时序约束可以指导布局布线工具进行权衡,获得最优的器件性能,使设计代码最大可能的反映设计者的设计意图。
花些功夫在静态时序分析上既可以保证设计质量,也可以促使设计者再认识自己的代码。
这后一点,对于我们这些逻辑设计初学者来说,尤为重要。
从门级(在Altera的FPGA 器件中是LE级)再认识自己的代码,可以更深入地体会语言的特点,也可以更深入地理解综合工具对语言的处理,对于设计能力的提高帮助很大。
TimeQuest是Altera在6.0版的软件中加入的具备ASIC设计风格的静态时序分析(STA)工具。
通过初步试用和观看网络教程,我感觉TimeQuest确实比Timng Analyzer 功能强大一些,而且使用界面比较友好,易于进行深入的时序约束和结果分析。
TimeQuest采用Synopsys Design Constraints(SDC)文件格式作为时序约束输入,不同于Timing Analyzer采用的Quartus Settings File(QSF)约束文件。
这正是TimeQuest 的优点:采用行业通用的约束语言而不是专有语言,有利于设计约束从FPGA向ASIC设计流程迁移;有利于创建更细致深入的约束条件。
二、时序分析基本概念时序分析基本概念以下内容译自Quartus II Version 10.0 Handbook, Volume 3:Verification的SectionII 7.3:Timing Analysis Overview部分。
TimeQuest需要读入布局布线后的网表才能进行时序分析。
读入的网表是由以下一系列的基本单元构成的:1. Cells:Altera器件中的基本结构单元(例如,查找表、寄存器、IO单元、PLL、存储器块等)。
FPGA时序分析时序约束知识

FPGA时序分析时序约束知识一、FPGA时序分析的基本概念1.时序分析的定义时序分析是指通过计算和模拟来评估数字电路在不同条件下的时序要求是否能够满足。
它主要包括时钟周期、时钟偏移、时钟抖动、信号传输延迟等方面的考虑。
2.时序要求时序要求是指数字电路在设计中必须满足的时序条件。
常见的时序要求包括时钟频率、最小信号保持时间、最小信号恢复时间等。
3.时序路径时序路径是指数字电路中信号从输入到输出所经过的所有逻辑门和寄存器。
4.时序违规时序违规是指数字电路在设计中无法满足时序要求的情况。
时序违规可能导致电路功能失效,甚至硬件故障。
二、FPGA时序分析的关键步骤1.时序约束的设置时序约束是在FPGA设计中非常重要的一部分,它用于定义时钟频率、时钟边沿以及其他关键参数。
时序约束通常以SDC(Synopsys Design Constraints)的格式提供。
时序约束的设置需要综合考虑到电路的功能需求、时钟分频、时钟域划分以及时钟边沿和信号的传输延迟等各种因素。
时序约束应该准确地描述信号的起始时间、到达时间和关系,以确保设计满足时序要求。
2.时序路径分析时序路径分析是指通过分析不同信号路径的延迟和时间关系来评估设计是否满足时序要求。
时序路径分析可以通过静态分析和动态仿真两种方式进行。
静态分析主要是利用逻辑综合工具对电路的时序路径进行分析和计算。
动态仿真则是通过对电路进行时钟驱动的行为级仿真来评估时序路径。
两种方法都可以获得电路的路径延迟和时间关系,以判断设计是否满足时序要求。
3.时序修复当时序分析发现设计存在时序违规时,需要进行时序修复来解决问题。
时序修复主要包括时钟域划分、时钟频率调整、逻辑重构等方法。
时钟域划分是指将设计划分为不同的时钟域,确保时钟边沿的一致性。
时钟频率调整是通过逻辑优化和时序约束调整来改善设计的时序性能。
逻辑重构则是通过改变电路的结构和时序路径,以使设计满足时序要求。
三、时序约束的知识1.时钟频率设置时钟频率设置是指设置时钟的工作频率,以控制电路的运行速度和性能。
电脑芯片分析中的时序约束和时钟分析技术

电脑芯片分析中的时序约束和时钟分析技术时序约束和时钟分析技术在电脑芯片分析中起着至关重要的作用。
时序约束是指对于电路中信号的时间要求,而时钟分析技术则是用于检测和优化电路中的时钟信号。
本文将对时序约束和时钟分析技术进行详细讨论。
一、时序约束分析时序约束分析是芯片设计中非常重要的一环,它可以确保电路中各个信号在正确的时间满足要求。
时序约束通常由设计工程师根据芯片规格书和设计要求制定。
在实际分析中,常用的时序约束分析工具有Timing Analyzer和PrimeTime等。
在时序约束分析中,设计工程师需要对每个时序约束进行确定和设置。
主要包括以下几个方面:1. 时钟频率约束:确定芯片的时钟频率,并设置对应的约束。
时钟频率约束直接影响到芯片的性能和功耗。
2. 输入到输出延迟约束:确定信号从输入到输出的传输延迟,并设置对应的约束。
这是确保信号传输时间在可接受范围内的重要约束。
3. 状态转换约束:定义芯片在各个状态下的时序要求,如输入到输出的延迟、输出的保持时间等。
这些约束非常重要,因为芯片在不同状态下的时序要求可能不同。
时序约束分析需要考虑到芯片中各个信号的传输时间、数据的稳定性以及功耗等多方面因素。
合理的时序约束设置可以提高芯片的性能和可靠性。
二、时钟分析技术时钟分析技术是指通过对芯片中的时钟信号进行综合分析和优化,以确保芯片的正常工作。
常用的时钟分析技术有时钟树分析、时钟偏移分析和时钟路径分析等。
1. 时钟树分析:时钟树分析主要用于分析时钟信号在芯片内的传输路径和延迟。
时钟树分析可以帮助设计工程师找出时钟网络中的问题,并进行相应的优化。
2. 时钟偏移分析:时钟偏移分析主要用于分析芯片中不同时钟域之间的偏移情况。
时钟偏移可能导致芯片中的时序错误,因此需要进行分析和调整。
3. 时钟路径分析:时钟路径分析主要用于分析时钟信号在芯片中的传输路径,并评估时钟的时序约束是否满足。
通过时钟路径分析,设计工程师可以找出潜在的时序问题,并进行相应的优化。
asic的设计流程

asic的设计流程ASIC(Application Specific Integrated Circuit)是指应用特定集成电路,其设计流程通常包括以下几个步骤:需求分析、架构设计、逻辑设计、物理设计、验证和测试等。
首先是需求分析阶段。
这一阶段的目标是明确ASIC的功能需求和性能指标。
设计团队与客户或项目发起人进行充分的沟通,了解客户的需求,并根据需求制定相应的规格说明书。
规格说明书包括ASIC 的功能、性能、接口、功耗等要求。
在需求分析阶段,还需要考虑ASIC的制造工艺和成本限制。
接下来是架构设计阶段。
在需求分析的基础上,设计团队开始制定ASIC的整体架构。
架构设计决定了ASIC的功能模块划分、模块之间的接口和通信方式等。
设计团队需要根据性能和功耗要求进行权衡,选择合适的架构方案,并进行详细的设计文档编写。
然后是逻辑设计阶段。
在逻辑设计阶段,设计团队根据架构设计的要求,将ASIC的功能模块进行详细的逻辑设计。
逻辑设计使用硬件描述语言(如Verilog或VHDL)来描述电路的逻辑功能和时序要求。
设计团队需要考虑电路的时序约束、时钟域划分、数据通路设计等问题,并进行逻辑仿真和优化。
物理设计阶段是将逻辑设计转化为物理电路布局的过程。
物理设计包括芯片的布局设计和布线设计。
布局设计决定了各个模块的位置和相互之间的关系,布线设计则将逻辑电路转化为实际的物理连线。
物理设计需要考虑芯片的面积、功耗、时钟分布等因素,并进行电磁兼容性分析和时序收敛等。
验证和测试是ASIC设计流程中非常重要的一步。
验证的目标是确保设计的正确性和功能的完整性。
验证过程包括功能验证、时序验证和电气验证等。
功能验证通过对设计的功能模块进行仿真和测试,验证其是否符合规格说明书的要求。
时序验证则是验证时序约束是否满足,以确保电路能够正常工作。
电气验证则是验证电路的电气特性,例如功耗、噪声等。
测试阶段主要是通过实际的芯片测试来验证设计的正确性和性能指标。
高速数字电路设计中的时序分析方法

高速数字电路设计中的时序分析方法在高速数字电路设计中,时序分析方法是非常重要的一项工作。
时序分析主要是指在设计数字电路时,需要对电路中各个信号的传输时间进行准确的分析,以确保电路的正常工作和稳定性。
时序分析通常包括两个方面:时序约束的设置和时序分析工具的使用。
首先,时序约束的设置是时序分析的第一步。
时序约束是指在设计数字电路时,对各个输入信号和输出信号的传输时间做出的要求。
时序约束需要考虑到电路中各个逻辑门的延迟时间、传输线的延迟时间以及时钟信号的时间间隔等因素。
通过合理设定时序约束,可以有效地防止信号冲突和时序问题,确保电路的正常运行。
其次,时序分析工具的使用是时序分析的关键。
时序分析工具通常是指一些专门用于分析数字电路时序的软件,如时序仿真工具、时序分析器等。
通过这些工具,设计师可以快速准确地分析电路中各个信号的传输时间,检测潜在的时序问题并进行优化。
时序分析工具还可以帮助设计师通过仿真等方式验证电路的正确性,提高设计的可靠性和稳定性。
在使用时序分析工具时,设计师需要注意一些关键点。
首先,需要准确地进行信号传输路径的分析,确定信号从输入到输出的传输时间。
其次,需要合理设置时钟信号的频率和相位,以确保电路在正确的时钟信号下正常工作。
另外,还需要分析时序违反等问题,及时发现和修复潜在的时序问题。
总的来说,时序分析方法在高速数字电路设计中起着至关重要的作用。
通过合理设置时序约束和有效使用时序分析工具,设计师可以确保电路在高速工作时不会出现时序问题,提高设计的可靠性和稳定性。
因此,设计师需要不断学习和掌握时序分析方法,以应对日益复杂的数字电路设计挑战。
时序分析与时序约束

时序分析与时序约束(基于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、可靠性:合理的时序约束可以保证电路的正常运行,并降低电路故障率。
总之,时序约束分析是集成电路设计中的重要环节,它直接影响到电路的性能和可靠性。
通过对时序约束的分析和优化,可以最大程度地利用电路资源,提高电路的性能和稳定性,同时也可以提高电路的可靠性。
asic的设计流程

asic的设计流程ASIC(Application-Specific Integrated Circuit,应用特定集成电路)是一种根据特定应用需求而设计的集成电路。
ASIC的设计流程是一个复杂而严谨的过程,需要经历多个阶段和环节。
本文将从ASIC的设计需求、设计规划、设计实现和验证等方面,对ASIC的设计流程进行详细介绍。
一、设计需求阶段在ASIC设计流程中,首先需要明确设计的需求。
这包括对ASIC的功能、性能、功耗、面积等方面的要求进行规划和分析。
设计人员需要与客户或系统需求方充分沟通,了解应用场景和功能需求,明确所设计的ASIC的用途和目标。
二、设计规划阶段在明确设计需求后,设计人员需要进行设计规划。
这包括确定ASIC 的整体架构、划分功能模块以及模块之间的接口等。
设计规划阶段还包括对设计所需资源的评估,例如设计工具、验证环境、物理设计工具等。
三、前端设计阶段前端设计阶段是ASIC设计的核心阶段,主要包括逻辑设计、验证和综合等过程。
首先,设计人员进行逻辑设计,使用硬件描述语言(HDL)对ASIC的功能进行描述。
常用的HDL语言包括Verilog和VHDL。
在逻辑设计完成后,设计人员需要进行验证工作,以确保设计的正确性和可靠性。
验证工作包括功能仿真、时序仿真和形式验证等。
验证通过后,设计人员进行综合,将逻辑设计转化为门级网表。
综合工具会根据目标芯片的库文件和约束条件生成门级网表。
四、物理设计阶段物理设计阶段主要包括布局设计、布线设计和时序优化等过程。
布局设计是将门级网表映射到目标芯片上,确定各个功能模块的位置和布局规则。
布线设计是在布局的基础上,将各个功能模块之间的连线进行布线,以满足时序和面积等约束条件。
时序优化是通过对时序路径进行优化,以提高ASIC的工作频率和性能。
五、后端设计阶段后端设计阶段主要包括物理验证、版图提取和静态时序分析等过程。
物理验证是为了验证物理设计的正确性和可靠性,包括DRC (Design Rule Check)、LVS(Layout versus Schematic)等验证。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ASIC时序约束、时序分析2009-11-13 22:13A 时序约束的概念和基本策略时序约束主要包括周期约束(FFS到FFS,即触发器到触发器)和偏移约束(IPAD到FFS、FFS到OPAD)以及静态路径约束(IPA 综合布线工具调整映射和布局布线过程,使设计达到时序要求。
例如用OFFSET_IN_BEFORE约束可以告诉综合布线工具输入信号在以根据这个约束调整与IPAD相连的Logic Circuitry的综合实现过程,使结果满足FFS的建立时间要求。
附加时序约束的一般策略是先附加全局约束,然后对快速和慢速例外路径附加专门约束。
附加全局约束时,首先定义设计的所有分组附加周期约束,然后对FPGA/CPLD输入输出PAD附加偏移约束、对全组合逻辑的PAD TO PAD路径附加约束。
附加专门约束时速例外路径和多周期路径,以及其他特殊路径。
B 附加约束的基本作用1. 提高设计的工作频率对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。
通过附加约束可以控制逻辑的综时,从而提高工作频率。
2. 获得正确的时序分析报告几乎所有的FPGA设计平台都包含静态时序分析工具,利用这类工具可以获得映射或布局布线后的时序分析报告,从而对束作为判断时序是否满足设计要求的标准,因此要求设计者正确输入约束,以便静态时序分析工具输出正确的时序分析3. 指定FPGA/CPLD引脚位置与电气标准FPGA/CPLD的可编程特性使电路板设计加工和FPGA/CPLD设计可以同时进行,而不必等FPGA/CPLD引脚位置完全确定,从成后,设计者要根据电路板的走线对FPGA/CPLD加上引脚位置约束,使FPGA/CPLD与电路板正确连接。
另外通过约束还特性。
为了满足日新月异的通信发展,Xilinx新型FPGA/CPLD可以通过IO引脚约束设置支持诸如 AGP、BLVDS、CTT、G LVPECL、LVDSEXT、LVTTL、 PCI、PCIX、SSTL、ULVDS等丰富的IO接口标准。
另外通过区域约束还能在FPGA上规划各个成模块化设计等。
C 周期(PERIOD)的含义周期的含义是时序中最简单也是最重要的含义,其它很多时序概念会因为软件商不同略有差异,而周期的概念确是最通用的,周期面要讲到的其它时序约束都是建立在周期约束的基础上的,很多其它时序公式,可以用周期公式推导。
周期约束是一个基本时序和具根据PERIOD约束检查时钟域内所有同步元件的时序是否满足要求。
PERIOD约束会自动处理寄存器时钟端的反相问题,如果相迟将被默认限制为PERIOD约束值的一半。
如下图所示,图1 周期的定义时钟的最小周期为:TCLK = TCKO +TLOGIC +TNET +TSETUP -TCLK_SKEWTCLK_SKEW =TCD2 -TCD1其中TCKO为时钟输出时间,TLOGIC为同步元件之间的组合逻辑延迟,TNET为网线延迟,TSETUP为同步元件的建立时间,TCLK_SD 数据和时钟之间的约束为了确保芯片数据采样可靠和下级芯片之间正确地交换数据,需要约束外部时钟和数据输入输出引脚之间的时序关系(或者内部是从采用了不同的参照系罢了)。
约束的内容为告诉综合器、布线器输入数据到达的时刻,或者输出数据稳定的时刻,从而保证这种时序约束在Xilinx中用Setup to Clock(edge),Clock(edge) to hold等表示。
在Altera里常用tsu (Input Setup Ti Out Delays)来表示。
很多其它时序工具直接用setup和hold表示。
其实他们所要描述的是同一个问题,仅仅是时间节点的定义E 关于输入到达时间Xilinx的"输入到达时间的计算"时序描述如下图所示:图2 输入到达时间示意图定义的含义是输入数据在有效时钟沿之后的TARRIVAL时刻到达。
则,TARRIVAL=TCKO+TOUTPUT+TLOGIC 公式1根据上面介绍的周期(Period)公式,我们可以得到:Tcko+Toutput+Tlogic+Tinput+Tsetup-Tclk_skew=Tclk; 公式2将公式1代入公式2: Tarrival+Tinput+Tsetup-Tclk_skew=Tclk, 而Tclk_skew满足时序关系后为负,所以TARRIVAL +TINPUT+TSETUP <TCLK 公式3这就是Tarrival应该满足的时序关系。
其中TINPUT为输入端的组合逻辑、网线和PAD的延迟之和,TSETUP为输入同步元件的建F 数据延时和数据到达时间的关系图3 数据延时和数据到达时间示意图TDELAY为要求的芯片内部输入延迟,其最大值TDELAY_MAX与输入数据到达时间TARRIVAL的关系如上图所示。
也就是说: TDELA 所以:TDELAY<TDELAY_MAX=TPERIOD-TARRIVALG 要求输出的稳定时间从下一级输入端的延迟可以计算出当前设计输出的数据必须在何时稳定下来,根据这个数据对设计输出端的逻辑布线进行约束,以的数据是稳定的。
计算要求的输出稳定时间如下图所示:图4 要求的输出稳定时间示意图公式的推导如下:定义:TSTABLE = TLOGIC +TINPUT +TSETUP从前面帖子介绍的周期(Period)公式,可以得到(其中TCLK_SKEW=TCLK1-TCLK2):TCLK=TCKO+TOUTPUT+TLOGIC+TINPUT+TSETUP+TCLK_SKEW将TSTABLE的定义代入到周期公式,可以得到:TCLK=TCKO+TOUTPUT+TSTABLE+TCLK_SKEW所以:TCKO +TOUTPUT+TSTABLE<TCLK这个公式就是TSTABLE必须要满足的基本时序关系,即本级的输出应该保持怎么样的稳定状态,才能保证下级芯片的采样稳定。
时间的时序约束关系。
只要满足上述关系,当前芯片输出端的数据比时钟上升沿提早TSTABLE 时间稳定下来,下一级就可以正确元件输出端的组合逻辑、网线和PAD的延迟之和,TCKO为同步元件时钟输出时间。
H 实施时序约束的方法和命令实施上述约束的基本方法是,根据已知时序信息,推算需要约束的时间值,实施约束。
具体地说是这样的,首先对于一般设计,已知量。
前面介绍公式和图中的TCKO和TSETUP(注:有的工具软件对TCKO和TSETUP的定义与前面图形不同,还包含了固有的一个时间量,一般我们选取典型值,对于FPGA,这个量值比较小,一般不大于1~2ns。
比较难以确定的是TINPUT和TO 约束输入时间偏移,需要知道TINPUT,TINPUT为输入端的组合逻辑、网线和PAD的延迟之和,PAD的延时也根据器件型号电路和网线的延时就比较难以确定了,只能通过静态时序分析工具分析,或者通过底层布局布线工具量取,有很大的经验和试探的约束输出时间偏移,需要知道TOUTPUT,TOUTPUT为设计中连接同步元件输出端的组合逻辑、网线和PAD的延迟之和,仍就比较难以确定,需要通过静态时序分析工具分析,或者通过底层布局布线工具量取,有很大的经验和试探的成分在里面。
约束的具体命令根据约束工具不同而异,首先说使用Xilinx器件的情况下,实施上述约束的命令和方法。
Xilinx把上述约束统称相关约束属性:OFFSET_IN_BEFORE、OFFSET_IN_AFTER、OFFSET_OUT_BEFORE和OFFSET_OUT_AFTER。
其中前两本功能相似,仅仅是约束取的参考对象不同而已。
后两个属性叫做输出偏移(OFFSET_OUT)约束,基本功能相似,也是约束取明。
输入偏移约束:时钟周期为20ns,前级寄存器的TCKO选择1ns,前级输出逻辑延时TOUTPUT为3ns,中间逻辑TLOGIC 可以在数据输入引脚附加NET DATA_IN OFFET=IN 14ns AFTER CLK约束,也可以使用OFFSET_IN_BEFORE对芯片内部的输NET DATA_IN OFFET=IN TDELAY BEFORE CLK其中TDELAY为要求的芯片内部输入延迟,其最大值与输入数据到达时间TARRIVAL的关系:TDELAY_MAX + TARRIVA TARRIVAL = 20 - 14 =6 ns。
输出偏移约束:设时钟周期为20ns,后级输入逻辑延时TINPUT为4ns、建立时间TSETUP为1ns,中间逻辑TLOGIC的延数据输入引脚附加NET DATA_OUT OFFET=OUT 15ns BEFORE CLK约束,也可以直接对芯片内部的输出逻辑直接TOUTPUT_DELAY AFTER CLK,其中TOUTPUT_DELAY为要求的芯片内部输出延迟,其最大值与要求的输出数据稳定时间T TOUTPUT_DELAY_MAX+TSTABLE= TPERIOD。
TOUT_DELAY< TPERIOD - TSTABLE = 20 - 15 = 5nsI Altera对应的时序概念下面主要介绍Altera对应的这些时序概念和约束方法。
前面首先介绍的第一个时序概念是周期(Period),这个概念是FPGA 至多是描述方式不同罢了,所有的FPGA设计都首先要进行周期约束,这样做的好处除了在综合与布局布线时给出规定目标外,还Altera的周期定义如下图所示,公式描述如下:图5 Altera 的Period 示意图Clock Period = Clk-to-out + Data Delay + Setup Time - Clk Skew即,Tclk= Tco+ B + Tsu-(E-C) Fmax =1/Tclk对比一下前面的介绍,只要理解了B 包含了两级寄存器之间的所有logic 和net 的延时就会发现与前面公式完全一致。
J Altera的其他基本时序概念Clock Setup Time (tsu)要想正确采样数据,就必须使数据和使能信号在有效时钟沿到达前就准备好,所谓时钟建立时间就是指间间隔。
如下图所示:图6 tsu示意图(注:这里定义Setup时间是站在同步时序整个路径上的,需要区别的是另一个概念Micro tsu。
Micro tsu指的是一个触发器内部型值小于1~2ns。
在Xilinx等的时序概念中,称Altera的Micro tsu为setup时间,用Tsetup表示,请大家区分一下。
回到Alte Data Delay – Clock Delay + Micro tsu)Clock Hold Time (tH)时钟保持时间是只能保证有效时钟沿正确采用的数据和使能信号的最小稳定时间。