Quartus II时序优化策略
Quartus II时序优化策略
物理综合优化
n
在布局布线阶段 Quartus II也可以 对设计网表进行 优化
− 改进某些布局的结
果 − 补偿适配器的布线 延时
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 10
Together, the setup time and hold time form a Data Required Window, the time around a clock edge in which data must be stable.
Hold:
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 19
异步信号流水线工作
n
在非常快的时钟域,加入流水线寄存器,以减小 延时。
Added pipeห้องสมุดไป่ตู้ine stage
D aclr aclr aclr Q
aclr
aclr
D
Q
D
Q aclr aclr
Global clock delay
D
Q
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 13
03_Quartus II时序优化策略
Optimize for Speed
Apply globally Apply hierarchically Apply to specific clock domain
Enable netlist optimizations Enable physical synthesis
© 2008 Altera Corporation—Public Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 4
Physical Synthesis
Re-synthesis based on fitter output
Makes
incremental changes that improve results for a given placement Compensates for routing delays from fitter
© 2008 Altera Corporation—Public Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 7
WYSIWYG Primitive Resynthesis
3rd-party synthesis attributes
may be lost
Preserve/keep
Some registers may be
synthesized away
QuartusII时序约束
03
动态时序分析的优点是准确度 高,适用于精确分析和优化电 路性能。
时序分析的步骤
01
02
03
04
建立时序模型
根据电路的逻辑功能和结 构,建立相应的时序模型 ,包括建立时间、保持时 间和时钟周期等参数。
时序约束设置
根据时序模型,设置相应 的时序约束,包括时钟源 、时钟网络、触发边沿、 建立时间和保持时间等。
时钟策略优化
选择适当的时钟策略,如多源 时钟、时钟分频等,以满足时 序要求。
参数调整
调整编译器的参数设置,如设 置更严格的时序约束或调整时
序例外等。
优化工具
Quartus II 软件
Altera(现Intel)提供的集成开发环境(IDE),包含多种时序约束 和优化的工具和功能。
逻辑合成工具
如Yosys、ABC等开源逻辑合成工具,可以用于优化设计的逻辑结构 。
时序约束的分类
建立时间(Setup Time):指信号在时钟边沿前应该 稳定的时间。
时钟周期(Clock Period):指时钟信号的周期性时间 间隔。
保持时间(Hold Time):指信号在时钟边沿后应该保 持稳定的时间。
偏斜(Skew):指时钟信号或数据信号在不同路径上 的延迟差异。
02
CATALOGUE
时序约束是数字逻辑设计和 FPGA编程中的重要概念,它确 保了电路在时序上的正确性。
时序约束的重要性
1
时序约束是确保数字电路正常工作的关键因素。
2
在FPGA设计中,如果不进行正确的时序约束, 可能会导致时序违规、数据传输错误等问题。
3
通过合理的时序约束,可以优化设计,提高电路 的工作效率,降低功耗和减小面积。
采用Quartus II 5.0软件编译增强技术,提高高密度FPGA设计工作效率
采用编译增强技术,提高高密度FPGA设计工作效率Robert Kruger, Jennifer Stephenson Altera现场可编程门阵列(FPGA)体系创新以及向90nm工艺技术的过渡显著提高了FPGA的密度和性能。
FPGA设计人员不仅需要更高的逻辑密度和更快的性能表现,还要求具有嵌入式处理器、数字信号处理(DSP)模块以及其他硬件IP结构等复杂的器件功能。
但是,由于FPGA设计规模越来越大、越来越复杂,为了能够抓住稍纵即逝的市场机会,设计人员必需尽快完成其设计。
FPGA器件供应商一直努力提高编译时间效率,改善时序逼近流程,但是却无法满足设计人员更高效工作的要求。
Altera Quartus® II软件5.0增强编译技术明显缩短设计迭代时间,在关键性能通路上进行设计优化,保持性能已达到要求的区域特性不变,该技术是前所未有的,极大的提高了设计效率。
编译增强优势现在的一个高级FPGA标准编译流程包括RTL综合、布局布线等,高密度FPGA 的每次设计编译在任何情况下都要耗费45分钟到4个多小时的时间,这显然限制了设计人员每天所能进行的迭代次数,可能会少至两次,明显减缓了设计过程。
设计人员采用标准编译设计流程来优化部分设计时序性能时也会降低设计效率。
这种优化通常不利于逻辑布局,影响设计中其他部分的性能,不得不进行额外的多次设计迭代。
对于当今的高密度、高性能FPGA设计,必需具有设计和调试阶段快速迭代的能力。
Altera Quartus II软件5.0为高密度FPGA设计提供了最先进的技术,如以前只有专用集成电路(ASIC)才具有的增强设计和编译能力等。
与相应的ASIC相比,FPGA编译效率更高,ASIC即使采用增强方法,仍需要几小时到几天的时间来完成编译,而FPGA编译只需要几分钟到几小时的时间。
设计人员采用Quartus II增强编译技术,可以逐步编译其设计分区,比进行全部设计的标准编译时间缩短近70%。
Quartus 时序优化指南(中文)
通常
表 3. 指南比较 指南 1:流水线
3 个时钟延迟 利用 DSP 模块之内的加法器的 DSP 模块
指南 2:并行 DSP 模块 4 个时钟延迟 额外的 LE 来实现加法器逻辑
Altera 公司 2011 年 11 月
Arria V 时序优化指南8Biblioteka DSP 模块和核心逻辑接口
DSP 模块和核心逻辑接口
0 0
AV
AX
ADDNSUB_B
0 0
AV
AX
ADDNSUB_B
Data_Out
BY
BY
BX
BX
时序分析
本章节显示对于级联的 DSP 模块的关键时序路径的时序分析。设计示例约束在 312.5 MHz。
fMAX 和裕量
图 2 显示利用表 1 的设置来实现级联的 DSP 模块设计示例的 fMAX 和裕量。
f 对于一个 DSP 模块和核心逻辑接口的设计示例,请参考 Parallel DSP Blocks Interfacing Core Logic Design Example。
表 4. DSP 模块和核心逻辑接口的 ALTMULT_ADD 宏功能选项 (1/2)
部分
设置
乘法器的数量是多少?
A 输入总线应该有多宽?
f 对于一个级联的 DSP 模块的设计示例,请参考 Cascaded DSP Design Example。
表 1. ALTMULT_ADD 宏功能选项
部分 通常
乘法器表示法 输入配置 输出配置
设置 乘法器的数量是多少? A 输入总线应该有多宽? B 输入总线应该有多宽? “ 结果 ” 输出总线应该有多宽? 为每个时钟创建一个相关的时钟使能 乘法器 A 输入的代表格式是什么? 乘法器 B 输入的代表格式是什么? 乘法器的寄存器输入 A 乘法器的寄存器输入 B 乘法器的输入 A 与什么相连接? 乘法器的寄存器输出
基于quartusii时序约束
关于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+II时序优化策略
©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。
芯片设计中的时钟与时序优化策略
芯片设计中的时钟与时序优化策略在芯片设计的过程中,时钟与时序优化策略起着至关重要的作用。
时钟和时序是芯片设计中的两个关键概念,它们不仅决定了芯片的稳定性和性能,也对整个芯片系统的功能实现起到了至关重要的影响。
本文将介绍时钟与时序的概念,并详细探讨芯片设计中的时钟与时序优化策略。
一、时钟的作用和优化策略时钟是芯片设计中的重要组成部分,它负责驱动芯片内各个模块的工作。
时钟信号的频率和稳定性直接影响到芯片的性能和功耗。
为了优化时钟的作用,芯片设计者可以采取以下策略:1. 时钟频率优化:在芯片设计的过程中,可以通过分析芯片的工作负载和需求,合理地选择时钟频率。
高频率的时钟信号可以提高芯片的性能,但也会增加功耗和热量。
因此,需要在性能和功耗之间寻找一个平衡点,选择适当的时钟频率。
2. 时钟分配优化:对于大型芯片来说,时钟信号需要被准确地传递给各个模块。
合理的时钟分配可以减少时钟信号路径的长度,并降低时钟信号的延迟和损耗。
通过优化时钟布线和时钟网络的结构,可以提高芯片的运行稳定性和性能。
3. 时钟电源噪声优化:时钟信号与电源噪声之间存在着较大的相关性。
电源噪声会影响时钟信号的稳定性和质量,从而对芯片的性能产生不利影响。
因此,在芯片设计中,需要采取相应的措施来降低电源噪声,例如使用合适的电源滤波器和电源隔离技术。
二、时序的作用和优化策略时序是指芯片内各个时钟驱动模块工作时间的先后顺序。
时序设计的好坏对芯片的正常运行和性能有着至关重要的影响。
以下是一些时序优化策略的简要介绍:1. 时序约束优化:在芯片设计的过程中,需要对时序进行约束,以确保芯片的各个模块能够在正确的时间完成相应的操作。
通过细致的时序约束优化,可以最大程度地减少时序故障和互连延迟,提高芯片的工作效率和稳定性。
2. 时序路径优化:时序路径是指数据信号从输入端到输出端所经过的逻辑路径。
时序路径的优化可以通过合理的电路设计和时钟分配来实现。
通过减少时序路径的长度和延迟,可以降低芯片的功耗和时序故障率,提高芯片的性能和可靠性。
时序分析之3优化策略
Quartus II Software Design Series : Optimization Optimization Techniques –Timing Optimization© 2009 Altera CorporationTiming Optimizationn General Recommendationsn Analyzing Timing Failuresn Solving Typical Timing Failures© 2009 Altera CorporationGeneral Recommendationsn Clocksn I/On Asynchronous Control Signalsn Many of these suggestions are found in Timing Optimization Advisor & Quartus II Handbook© 2009 Altera CorporationClocksn Optimize for Speed-Apply globally-Apply hierarchically-Apply to specific clock domainn Enable netlist optimizations n Enable physical synthesis© 2009 Altera CorporationGlobal Speed Optimizationn Select speed-Default is balanced-Area-optimized designs may also show speed improvements n May result in increased logic resource usage© 2009 Altera CorporationIndividual Optimizationn Optimization Technique logic option -Use Assignment Editor or Tcl to apply to hierarchical block n Speed Optimization Technique for Clock Domains logic option-Use Assignment Editor or Tcl to apply to clock domain or between clock domains© 2009 Altera CorporationSynthesis Netlist OptimizationsnFurther optimize netlists during synthesis n Types-WYSIWYG primitive resynthesis-Gate-level register retimingCreated/modified nodesnoted in Compilation Report© 2009 Altera CorporationWYSIWYG Primitive Resynthesis n Unmaps 3rd-party atomnetlist back to gates &then remaps to Alteraprimitives-Not intended for use withintegrated synthesisn Considerations-Node names may change-3rd-party synthesis attributesmay be lostl Preserve/keep-Some registers may besynthesized away© 2009 Altera CorporationGate-Level Register Retimingn Moves registers across combinatorial logic to balance timingn Trades between critical & non-critical pathsn Makes changes at gate level© 2009 Altera CorporationPhysical Synthesisn Re-synthesisbased on fitteroutput-Makesincrementalchanges thatimprove resultsfor a givenplacement-Compensates forrouting delaysfrom fitter© 2009 Altera CorporationPhysical Synthesisn Types-Targeting performance:l Combinational logicl Asynchronous signal pipeliningl Register duplicationl Register retiming-Targeting fittingl Physical synthesis for combinatorial logicl Logic to memory mappingn Effort-Trades performance vs. compile time-Normal, extra or fastn New or modified nodes appear in Compilation Report© 2009 Altera CorporationCombinational LogicnSwaps look-up table (LUT) ports within LEs to reduce critical path LEsf gab -criticalc d ef ga e c d b© 2009 Altera CorporationAsynchronous Control Signalsn Improve Recovery & Removal Timingn Make control signal non-global-Project-widel Assignments ÞSettings ÞFitter Settings ÞMore Settings -Individuallyl Set Global Signal logic option to Offn Enable “Automatic asynchronous signal pipelining” option (physical synthesis)© 2009 Altera CorporationAsynchronous Signal PipeliningnAdds pipeline registers to asynchronous clear or load signals in very fast clock domainsaclraclrD Q aclraclr D QDQD QaclraclraclrAdded pipeline stageGlobal clock delay© 2009 Altera CorporationDuplicationn High fan-out registers or combinatorial logic duplicated & placed to reduce delayN© 2009 Altera CorporationRegister Retimingn Uses fewer registers than pipelining-Trade off the delay between timing-critical and non-critical paths -Reduce switching-Does not change logic functionalityD Q10 ns D QD Q 5 nsD Q7 ns D QD Q8 ns© 2009 Altera CorporationTiming Optimizationn General Recommendationsn Analyzing Timing Failuresn Solving Typical Timing Failures© 2009 Altera CorporationAnalyzing Timing FailuresnTypical synchronous path-Registers can be internal or external to FPGAREG1REG2Input Failure External Internal Output Failure Internal External Failure within Clock DomainInternalInternal© 2009 Altera CorporationSlack Equations Setup Slack Equation:(latch edge + T clk2 –T su ) –(launch edge + T clk1+ T co + T data )Hold Slack Equation:(launch edge + T clk1+ T co + T data ) –(latch edge + T clk2 + T h )Data ArrivalData RequiredT su , T h , T co are usually fixed values; Function of siliconData ArrivalData Required© 2009 Altera CorporationSlack Equations (cont.)Setup Slack Equation:(latch edge + T clk2 –T su ) –(launch edge + T clk1+ T co + T data )Hold Slack Equation:(launch edge + T clk1+ T co + T data ) –(latch edge + T clk2 + T h )Data ArrivalData RequiredData ArrivalData RequiredTiming issues show up here© 2009 Altera CorporationTypical Timing Errors n Clock delays (T clk1 or T clk2)-Ripple/gated clocks-Non-global routingn Data path delay (T data ) -Fan-out-Too many logic levels-Poor placement-Physical limitations© 2009 Altera CorporationExploring Failures in Quartus II Softwaren Technology Map Viewer-Graphically shows number of logic levelsn Chip Planner-Graphically shows placementn TimeQuest path analysis-Highlights clock/path delays-Highlights fan-out-Highlights number of logic levels-And just about everything else© 2009 Altera CorporationTechnology Map ViewernAccessing Technology Map Viewer -Right-click in TimeQuest report and choose Locate Path or Locate Endpoints nView number of logic levels in failing paths© 2009 Altera CorporationChip PlannerChoose Chip Plannerand the Chip Plannerdisplays the placement,routing & timinginformation for that pathn Accessing Chip Planner-Right-click in TimeQuest report and choose Locate Path or Locate Endpoints n View placement of nodes in timing path as well as chosen routing© 2009 Altera CorporationTimeQuest Path AnalysisLogic Delay Path DelaysInterconnect Delay ClockDelayn Provides ALL detailed information pertaining to timing path© 2009 Altera CorporationFurther Path Analysisn Always start with worst slack path(s)-Fixing worst path(s) may give Fitter freedom to fix other failing pathsn In TimeQuest reports, list top 50-100 failing paths and look for common source, intermediate or destination nodes-Sometimes start or end nodes are bits of same bus-Sometimes paths with different source or destination nodes have common intermediate nodes© 2009 Altera CorporationTiming Optimizationn General Recommendationsn Analyzing Timing Failuresn Solving Typical Timing Failures© 2009 Altera CorporationSolving Typical Timing FailuresWe’ll look at some cases of timing failures, how to identify them and possible solutions. It is possible for you to have several at once.1)Too many logic levels2)Fan-out signals3)Conflicting physical constraints4)Conflicting timing assignments5)Tight timing requirements© 2009 Altera CorporationCase 1) Too Many Logic Levelsn Increases T data, thus increasing data arrival time n How to verify-Technology Map Viewer on failing path-TimeQuest detailed path analysis© 2009 Altera CorporationCase 1) Technology Map ViewerRight-click on failing path and select Locate Endpoints or PathThis path has 8 levels of logic© 2009 Altera CorporationCase 1) TimeQuestNote number oflevels of logic in data arrival path© 2009 Altera CorporationCase 1) Possible Solutionsn Add multi-cycle assignments if design allows n Add pipeline registers-Reduces logic levels-Adds latencyn Enable register retiming (physical synthesis) -Redistributes logic around registers reducing number of levels-Increases compile timen Recode logic to be more efficient-Reduces logic levels-May need to focus on implementation Changes Launch & Latch EdgesChanges Tdata Changes T dataChanges Tdata© 2009 Altera CorporationCase 1) Pipeline Registersn Add pipeline registers to reduce Tdata© 2009 Altera CorporationCase 1) Focus on Implementation n HDL coding decisions will greatly impact resulting synthesis-May need to code with resulting synthesis in mindn See Quartus II handbook chapter, “Recommended HDL Coding Styles”n Great material on HDL coding© 2009 Altera CorporationTip #1 -Reduce Embedded IFs n Don’t embed IF statements-Use CASE statements insteadVHDLVerilog© 2009 Altera CorporationTip #1 -Reduce Embedded IFs (cont.)nResulting hardware interpretation© 2009 Altera CorporationTip #2 -Use System Verilog Unique Casen Verilog CASE implies one-to-many relationshipn Verilog CASE statement is implemented as a priority encoderi.e. embedded IF statementsn System Verilog is a superset of Verilogn Use “unique” qualifier to prevent priority encoder© 2009 Altera CorporationUnique and Priorityn unique and priority keywords apply to case statements or if/else chainsn unique implies non-overlapping case items or conditional expressionsn priority implies just the oppositeunique case(state)S0:S1:S2:endcaseNo more parallel_case!© 2009 Altera CorporationEnabling SystemVerilog-2005 n GUIn Source-level control (for IP etc) n Per-file basis Verilog-2001remains the default// synthesis VERILOG_INPUT_VERSION SYSTEMVERILOG_2005module(input byte a, b, output logic);set_global_assignment –name VERILOG_FILE –rev SYSTEMVERILOG_2005© 2009 Altera CorporationTip #3: CASE synthesis directivesn Don’t use synthesis directives -parallel_case-full_casen Great paper discusses the perils of CASE synthesis directives-"full_case parallel_case",the Evil Twins of Verilog Synthesisl(http://www.sunburst-/papers/CummingsSNUG1999Boston_FullParallelCase.pdf)© 2009 Altera CorporationCase 2) Fan-Out Signalsn Timing failures from fan-out are more often a matter of where than of how many-High fan-out in itself can force nodes to spread out or can result in slow routingl Increases routing delay and thus T datal Proximity is key in FPGAs & newer CPLDsn Typical problem cases:-Memory control signals-Clock enables© 2009 Altera CorporationCase 2) Fan-Out Signals (cont.)n How to verify-Locate high fan-out signals as possible causesl TimeQuest path analysisl Non-Global High Fan-Out Signals table in Compilation Report (Fitterfolder ÞResource section)-Use Chip Planner to verify locations of nodes© 2009 Altera CorporationCase 2) TimequestFanout of 4108 with interconnect delay of 4.429 ns InterconnectDelay© 2009 Altera CorporationCase 2) Possible Solutionsn Add multi-cycle assignments if design allowsn Put high fan-out signals on globals -Reduces delays-Subject to resource availability-Global insertion delay may make thisoption not validn Turn on physical synthesis-Duplicates logic to reduce fan-out-Longer compilation time & higher utilization Changes Launch & Latch EdgesChanges TdataChanges Tdata© 2009 Altera CorporationCase 2) Possible Solutions (cont.) n Use max_fanout constraints -Simple to do-Trial & error process, multiplecompilesn Manual duplication of logic-Reduces fan-out-Allows user to intelligently controlhow each copy is used in design-May be a time intensive process depending on how signal is distributed Changes Tdata Changes Tdata© 2009 Altera Corporationn Examine Fitter report for global & non-global signalsn Fixed number of global signals in a given devicen Fitter algorithms may auto-promote high fan-out signals (see fitter messages)© 2009 Altera Corporationn Manually promote signals with global assignmentn Thru TCL interfaceset_instance_assignment -name GLOBAL_SIGNAL ON -to inst1nThru GUI© 2009 Altera CorporationCase 2) Physical Synthesisn Options to try-Combinational physical synthesisl Performs duplication for combinatorial nodes -Register duplicationn See Quartus II handbook chapter “Netlist Optimizations & Physical Synthesis”-Explains features in detail-Lists caveats and exceptions© 2009 Altera CorporationCase 2) MAX_FANOUT Constraintn Controls the number of destinations so the fan-out count does not exceed the value specifiedn Thru TCL interfaceset_instance_assignment -name MAX_FANOUT <integer>-to <instance>nThru GUI© 2009 Altera CorporationCase 2) Manual Duplication n Two methods:1.Manual duplication in source code 2.Manual Logic Duplication assignmentnManual Logic Duplication Assignment -Duplicates the source node, and uses the new duplicated node to fanout to the destination node。
quartus 2时序约束fpga
时序约束当程序编译出现时序问题,并且影响具体功能实现时采取更强的时序约束,如下图所示:具体解决方式是进行时序约束,以调整时序。
具体操作步骤如下:1.右击TimeQuest Timing Analyzer选择open。
打开TimeQuest Timing Analyzer如下图所示。
右击Create Timing Netlist,生成网表如下图所示。
2.生成网表后进行时序约束。
在TimeQuest Timing Analyzer菜单栏下选择constraints下的Create Clock。
依次进行时钟设置,Targets需要进行选择。
设置完毕如下图,点击Run设置完毕。
在次选择TimeQuest Timing Analyzer菜单栏下选择constraints下的Create Generated Clock,对约束时钟进行设置。
设置完毕点击Run。
3.运行完毕后右击Write SDC File选择Start,如下图将文件保存为comLogic.out。
扩展名为.sdc的文件。
4.将3步骤中产生的文件加入工程,重新编译。
编译结果如下图,可以看到红色文字全部消失。
则时序约束完成。
5.但是在实际应用过程中此时有可能在Fast 1200mV 0C Model的HoldSummary仍然出现问题(本次结果没有出现问题)如下图所示:此时需要将主菜单下的Assignments的setting进行设置。
由于芯片工艺等问题需要更强的约束,如图所示需要将Fitter Setting中的Optimize multi-corner timing勾选上等操作。
这样简单的时序约束就可以完成。
应用QuartusII完成基本时序电路的设计 (1)
应用QuartusII完成基本时序电路的设计【实验目的】熟悉QuartusⅡ的VHDL文本设计过程,学习简单时序电路的设计、仿真和测试。
【实验内容1】根据课本实验4-1的步骤和要求,设计含异步清零和同步加载与时钟使能的计数器(使用例3-20),给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。
【例3-20】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT (CLK,RST,EN,LOAD : IN STD_LOGIC;DATA : IN STD_LOGIC_VECTOR(3 DOWNTO 0);DOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT : OUT STD_LOGIC );END CNT10;ARCHITECTURE behav OF CNT10 ISBEGINPROCESS(CLK, RST, EN,LOAD)VARIABLE Q : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF RST = ‘1’THEN Q:= (OTHERS =>‘0’) ; --计数器异步复位ELSIF CLK‘EVENT AND CLK=‘1’THEN --检测时钟上升沿IF EN = ‘1’THEN --检测是否允许计数(同步使能)IF LOAD = ‘0' THEN Q:= DATA;ELSE --由LOAD=‘0'装载新数据IF CQI < 9 THEN Q:= Q + 1; --允许计数,检测是否小于9ELSE Q:= (OTHERS =>‘0’); --大于9,计数值清零END IF;END IF;END IF;END IF;IF Q = “1001”THEN COUT <= '1'; --计数大于9,输出进位信号ELSE COUT <= '0';END IFDOUT <= Q; --将计数值向端口输出END PROCESS;END behav;第一步,新建工程文件夹写入程序:参数的设定:运行程序:时序仿真设置:时序仿真结束。
quartus中的时序约束常用方法
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默认的时钟有两类:独⽴时钟和衍⽣时钟。
时钟域对应的是独⽴时钟,对于衍⽣时钟,则依附于对应的独⽴时钟的时序。
对两类时钟的声明也是不⼀样的,独⽴时钟需要时钟频率和占空⽐,⽽衍⽣时钟则需要相位差、频率倍数等关系约束。
基于QuartusII的设计优化
2018/10/14
3
本章提出了设计优化的基本流程。根据设 计优化的流程介绍各种优化技巧以及所要解决 的问题。包括资源利用优化、 I/O 时序优化、 内部最高时钟频率优化。针对一些大规模设计 编译时间长的问题,还介绍了一些技巧和设置 选项,帮助用户如何减少编译时间,加快设计 的进度。
2018/10/14
2018/10/14 16
设计优化的一般流程
2018/10/14
17
注意:最基本也是最主要的设计为时钟相关 项设置。 全局性时钟:输入预期时钟频率,在布局布 线时,软件会优化。可以增加点余量。 个别性时钟:
其他按照默认编译后再进行设置。
2018/10/14 18
2018/10/14
4
6.1 设计分析
用户的设计千变万化,每个设计都有其独特的 地方。有单时钟域设计,有多时钟域设计;有同步 的设计,也有异步的设计。同时,每个逻辑芯片外 围接口的电路和芯片都不尽相同,可编程逻辑器件 需要尽量利用自己的资源来满足外围电路的要求。 在对设计进行优化的时候,需要充分理解设计 的特点,作出“合理而且完备”的约束,找出设计 真正的瓶颈所在,才能在对设计的优化工作中有的 放矢,事半功倍。相反,如果对设计的结构特点不 熟悉,约束不合理或不完备,都会使EDA工具把器 件中宝贵的资源用在不必要的地方,这样既牺牲了 设计本身的性能和经济性,同时也会使整个设计周 期加长,影响产品开发进度。
2018/10/14
11
6.1.3 平衡资源的使用
在一个设计中,需要用户充分了解其中的各项资源利 用情况,包括逻辑单元(LE),RAM块、IIO单元(IOE ), IaSP 块等,以在各种资源利用之间达到一种平衡,从而最大限 度地发挥器件的功用。一般建议用户尽量使用器件中的这 些专用硬件模块,不用也是一种浪费。如果某些专用硬件 模块(如RAM, DSP )资源不够用,而LE资源丰富,同样可 以用LE去实现这些专用硬件模块,以平衡设计的资源使用。 同时,在专用模块(RAM, DSP, IOE)中都有专用的触发 器资源,建议用户尽量使用这些专用模块中的触发器资源, 不仅可以显著提升设计的性能,同时可以减少内部逻辑阵 列块(LAB)中触发器的消耗。
芯片设计中的时序约束分析与优化策略
芯片设计中的时序约束分析与优化策略芯片设计中的时序约束分析与优化策略是保证芯片设计正确性和性能的关键步骤。
本文将介绍时序约束分析的基本概念和流程,并探讨常用的时序约束优化策略。
一、时序约束分析:时序约束是芯片设计中用于定义电路中各个时序要求的规范。
它包括信号延迟、时钟频率和时序要求等信息。
时序约束分析的目标是通过对设计中的各个元素的时序要求进行分析和验证,确保芯片在正确的时间内执行正确的操作。
1.1 时序约束分析流程:时序约束分析的流程主要包括以下几个步骤:1. 定义设计目标:明确芯片设计的目标和性能要求,包括时钟频率、信号延迟等;2. 收集时钟信息:确定设计中各个时钟域及其频率,并建立时钟树模型;3. 定义时序要求:根据设计目标和性能要求,为各个时钟域中的信号定义时序要求,如最大延迟、最小间隔等;4. 进行时序约束分析:使用专业的时序约束分析工具对设计进行分析,检查是否存在时序冲突或不满足要求的情况;5. 优化时序约束:根据分析结果,对时序约束进行调整和优化,以满足设计要求;6. 验证时序约束:对优化后的时序约束进行验证,确保设计能够满足时序要求;7. 更新时序约束:根据验证结果,不断调整和更新时序约束,以实现最佳性能。
1.2 时序约束分析的重要性:时序约束分析是芯片设计中不可缺少的环节,它对芯片的性能和正确性都有着重要影响。
合理的时序约束可以减少电路的功耗和面积,并提高芯片的时序容限。
同时,时序约束分析可以帮助设计人员发现设计中的潜在问题,避免设计错误。
二、时序约束优化策略:时序约束优化是通过调整时序约束来改善芯片设计的性能和正确性。
以下是几种常用的时序约束优化策略:2.1 时钟域划分优化:合理的时钟域划分可以减少不同时钟域之间的时序问题。
设计人员可以根据时序约束分析的结果,将芯片划分为多个时钟域,并通过适当的时钟域划分策略,来减少时序问题的影响。
2.2 约束松弛优化:约束松弛是指在时序约束中增加一定的容限,允许一定的时序误差。
QuartusII时序约束方法
3
触发边沿不匹配解决策略
通过调整触发器的触发边沿,使触发器正常工作。
THANKS FOR WATCHING
感谢您的观看
时钟周期约束
用于指定时钟信号的周期,以 限制电路的工作频率。
偏斜约束
用于指定时钟信号的偏斜,即 时钟信号的上升沿和下降沿之
间的时间差。
02
时序约束设置
建立时序约束
建立时序约束是确保数字电路设计满足时序要求的关键步骤,它定义了设计中信号 的传输时间、时钟偏斜和时钟抖动等参数。
在Quartus II中,可以通过在原理图或Verilog/VHDL源文件中设置时序约束来控制 时序。
时序约束通常应用于输入/输出端口、内部节点和时钟信号。
约束的参数设置
01
建立时序约束需要设置一系列参 数,包括时钟周期、时钟偏斜、 时钟抖动等。
02
时钟周期是时钟信号的基本周期 ,它决定了电路的工作速度。
时钟偏斜是指时钟信号在上升沿 和下降沿的时间差,它会影响触 发器的建立时间和保持时间。
03
时钟抖动是指时钟信号的不确定 性,它会影响触发器的翻转时间
时钟树综合
对电路中的时钟网络进行综合,生成满足时序要 求的时钟树。
ABCD
时钟域划分
根据电路的功能和时钟信号的特性,将电路划分 为不同的时钟域,以便进行时序分析。
时序验证
通过仿真测试或静态时序分析,验证电路的时序 性能是否满足设计要求。
时序分析工具
Quartus II软件
Altera公司开发的FPGA设计软件,包含强 大的时序分析和约束工具,可以方便地进行 时序分析和约束。
。
04
约束的优先级
在Quartus II中,可以对不同的时序约束设置优先 级,以确保某些约束被优先考虑。
Quartus II软件使用简明教程
3.4
3.5
习
题
3.6 基于 基于Quartus II,用74194(4位双向移位寄存器)设 位双向移位寄存器) , ( 位双向移位寄存器 计一个“ 序列产生器电路, 计一个“00011101”序列产生器电路,进行编译和仿真, 序列产生器电路 进行编译和仿真, 查看仿真结果。 查看仿真结果。 3.7 基于 基于Quartus II软件,用D触发器和适当的门电路实现 软件, 软件 触发器和适当的门电路实现 一个输出长度为15的 序列产生器 进行编译和仿真, 序列产生器, 一个输出长度为 的m序列产生器,进行编译和仿真,查看 仿真结果。 仿真结果。
全加器工程f_adder的仿真波形 的仿真波形 全加器工程
3.2 Quartus II的优化设置 的优化设置
1. Setting设置 设置 在Quartus II软件菜单栏中选择 软件菜单栏中选择 中的“ “Assignments”中的“Setting…”就可打开 中的 就可打开 一个设置控制对话框。可以使用Setting对话框 一个设置控制对话框。可以使用 对话框 对工程、文件、参数等进行修改, 对工程、文件、参数等进行修改,还可设置编 译器、仿真器、时序分析、功耗分析等等。 译器、仿真器、时序分析、功耗分析等等。
第 3章
Quartus II集成开发工具 II集成开发工具
基于Quartus II进行 进行EDA设计开发的流程 基于 进行 设计开发的流程
3.1 Quartus II原理图设计 原理图设计
1. 为本项工程设计建立文件夹 2. 输入设计项目和存盘
元件输入对 话框
3. 将设计项目设置成可调用的元件
3.4.3 计数器模块
计数器输出端口宽度和计数方向设置
计数器模和控制端口设置
基于QuartusII的设计优化资料
3)选择More setting选项,可以看到更多 的可优化项。
2018/7/23
31
6.4 时钟频率优化
优化系统最大时钟频率,主要有以下两大 方式: 1.设计阶段优化,设计架构的优化和设计 代码的优化; 2.利用软件达到系统的时序优化
2018/7/23
32
6.4.1 设计优化 时钟频率优化最有效的方法是对设计的优 化,设计的优化从整体的模块设计到代码的实 现的技巧都能极有效地提高系统的时钟频率。 总的来说是使用面积换速度,在面积和速度中 间寻找平衡点。
2018/7/23 12
6.1.4 最差路径分析
FPGA 编译完之后会输出编译报告,通过编 译报告可以协助设计人员完成工程的时序等 分析。
实例:
2018/7/23
13
6.2 优化设计基础
设计定义
6.2.1 设计优化基础流程
设计优化流程与设计流 程紧密相关,一般整个设计 流程可以按如下图所示顺序 进行。
2018/7/23
3
本章提出了设计优化的基本流程。根据设 计优化的流程介绍各种优化技巧以及所要解决 的问题。包括资源利用优化、 I/O 时序优化、 内部最高时钟频率优化。针对一些大规模设计 编译时间长的问题,还介绍了一些技巧和设置 选项,帮助用户如何减少编译时间,加快设计 的进度。
2018/7/23
4
6.1 设计分析
用户的设计千变万化,每个设计都有其独特的 地方。有单时钟域设计,有多时钟域设计;有同步 的设计,也有异步的设计。同时,每个逻辑芯片外 围接口的电路和芯片都不尽相同,可编程逻辑器件 需要尽量利用自己的资源来满足外围电路的要求。 在对设计进行优化的时候,需要充分理解设计 的特点,作出“合理而且完备”的约束,找出设计 真正的瓶颈所在,才能在对设计的优化工作中有的 放矢,事半功倍。相反,如果对设计的结构特点不 熟悉,约束不合理或不完备,都会使EDA工具把器 件中宝贵的资源用在不必要的地方,这样既牺牲了 设计本身的性能和经济性,同时也会使整个设计周 期加长,影响产品开发进度。
第6章基于QuartusII的设计优化
第6章基于QuartusII的设计优化Quartus II是一款由美国Intel公司开发的综合设计工具,广泛用于数字电路设计和FPGA(现场可编程门阵列)编程。
在第6章中,我们将介绍Quartus II的设计优化功能以及如何在数字电路设计中利用它来提高设计性能和效率。
Quartus II的设计优化功能主要包括逻辑优化、时钟优化和布线优化。
逻辑优化主要通过对数电路的逻辑结构进行优化,减少逻辑门的数量和延迟,提高电路性能。
时钟优化主要通过优化时钟分配和时钟控制电路,减少时钟延迟和时钟抖动,提高电路时钟性能。
布线优化主要通过对逻辑门的物理位置进行优化,减少布线长度和延迟,提高电路布线性能。
在进行设计优化之前,我们首先需要对设计进行详细的分析和仿真。
通过分析设计的逻辑结构和时钟约束,我们可以找到设计中存在的性能瓶颈和不足之处。
然后,我们可以利用Quartus II中的优化功能来解决这些问题并提高设计性能。
在逻辑优化方面,Quartus II提供了多种优化算法和技术,例如综合优化、布尔运算优化和逻辑缩减。
综合优化可以将设计中的冗余逻辑合并或删除,减少逻辑门的数量和电路延迟。
布尔运算优化可以通过优化逻辑门之间的逻辑运算,减少逻辑门数量和电路延迟。
逻辑缩减可以通过重新组织逻辑门之间的连接关系,减少逻辑门之间的布线长度和延迟。
在时钟优化方面,Quartus II提供了时钟分析和时钟控制功能。
时钟分析可以帮助我们分析时钟约束和时序关系,找到时钟延迟和时钟抖动的问题。
时钟控制功能可以通过优化时钟分配和时钟控制电路,减少时钟延迟和时钟抖动,提高电路时钟性能。
在布线优化方面,Quartus II提供了通用布线和特定布线优化功能。
通用布线优化可以通过优化逻辑门的物理位置,减少布线长度和延迟,提高电路布线性能。
特定布线优化可以根据特定的布线约束和需求,进行特定的布线优化,例如时钟布线优化和高速布线优化。
综上所述,Quartus II的设计优化功能可以帮助我们提高数字电路设计的性能和效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
速度优化设置
n n
选择速度优化
− 默认是速度和面积均衡balanced选项
可能导致逻辑资源增加
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 5
WYSIWYG 基元重新综合
n
将第三方原子网表去映射回 逻辑门,然后重新映射到 Altera基元
−
使用集成综合时,不需要
n
需要考虑的
−
节点名称会变化 − 第三方综合属性可能会丢失 l 保留/保持 − 某些寄存器可能会被综合掉
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 7
Tclk1 Tco
Data Valid
Data Arrival Time = launch edge + Tclk1 + Tco +Tdata
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 20
时序优化议题2
n n n n n
一般建议 分析时序问题 解决典型时序问题 优化实例 优化总结
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 16
Clock Arrival Time
n
The time for clock to arrive at destination register ’s clock input
REG1
PRE
REG2
D
Q
Comb. Logic
PRE
D
Q
CLR
CLR
Tclk2 Latch Edge CLK
Tclk2
REG2.CLK
REG2 Internal External Internal
External Internal Internal
Launch & Latch Edges
Launch Edge
CLK DATA Data Valid
Latch Edge
Launch Edge: Latch Edge:
the edge which “launches” the data from source register the edge which “latches” the data at destination register (with respect to the launch edge, selected by timing analyzer; typically 1 cycle)
物理综合优化
n
优化类型选项
− 性能优化 l 组合逻辑 l 异步信号流水线工作 l 寄存器复制 l 寄存器重新定时 − 面积优化 l 组合逻辑 l 逻辑至寄存器映射
n
努力等级
− 综合考虑性能和编译时间 − 正常、额外和快速
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 11
时序问题分析
n
典型的同步时序模型
−
寄存器可以是FPGA内部的或外部的
REG1 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 17
组合逻辑
n
LE内部交换查找表 (LUT), 以减少关键通路LE级 数
a b - critical c d e f g
LUT
LUT
a e c d b f g
LUT
LUT
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 12
Clock Arrival Time = latch edge + Tclk2
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 21
异步信号流水线工作
n
在非常快的时钟域,加入流水线寄存器,以减小 延时。
Added pipeline stage
D aclr aclr aclr Q
aclr
aclr
D
Q
D
Q aclr aclr
Global clock delay
D
Q
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 13
寄存器重新定时
n
比流水线使用更少的寄存器
− 权衡关键路径和非关键路径的延时 − 在逻辑单元(LE)级进行操作 − 不改变逻辑功能
D Q
10 ns
D Q
5 ns
D Q
D Q
7 ns
D Q
8 ns
D Q
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 15
物理综合优化
n
在布局布线阶段 Quartus II也可以 对设计网表进行 优化
− 改进某些布局的结
果 − 补偿适配器的布线 延时
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 10
门级寄存器重新定时
n n n
在组合逻辑之间移动寄存器,以均衡时序 综合考虑关键和非关键路径 在门级进行改动
D Q >
10 ns
D Q >
5 ns
D Q >
D Q >
7 ns
D Q >
8 ns
D Q >
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 8
Data Arrival Time
n
The time for data to arrive at destination register ’s D input
REG1
PRE
Tdata
Comb. Logic
REG2
PRE
D
Q
D
Q
Tclk1
CLR
CLR
TCO Launch Edge CLK REG1.CLK REG1.Q
时钟信号
n n n
逻辑综合速度优化 网表优化 物理综合
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 4
综合网表优化
n n
在综合期间进一步优化网表 优化类型选择
− WYSIWYG 基元重新综合 − 门级寄存器重新定时
建立/修改编译报告中指出的节点
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 6
DATA
D PRE Q
CLK