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%。
QuartusII软件使用及设计流程
时序优化
时序分析
在Quartus II中进行时序分析,确保设计满足时序要求,找出关键 路径并优化。
延迟调整
通过调整逻辑单元的时序参数,减小关键路径的延迟,提高时钟频 率。
布局优化
合理安排逻辑单元的位置,减小信号传输延迟,提高时序性能。
面积优化
优化算法
采用高效的算法和优化策略,减小设计规模, 降低面积成本。
低功耗硬件选择
选择低功耗硬件器件和IP核,从硬件层面降低功 耗。
06
Quartus II实际应用案 例
数字钟设计案例
总结词
数字钟设实现数字钟的原理图 设计和编程。
详细描述
首先,在Quartus II软件中创建一个新的工程,选择合适的FPGA芯片型号。然后,使 用原理图输入方式设计数字钟电路,包括分频器、计数器、译码器等模块。接着,进行 仿真测试以确保设计正确。最后,将设计文件下载到FPGA芯片中,完成数字钟的硬件
保存配置
完成配置后,保存配置文件以便以后使用。
许可证激活与验证
获取许可证文件
从Altera官网或授权合作伙伴处获取Quartus II软件 的许可证文件。
激活许可证
运行许可证激活程序,输入许可证文件中的激活码进 行激活。
验证许可证
启动Quartus II软件,验证许可证是否有效,确保软 件正常使用。
完成串口通信的硬件实现。
THANKS FOR WATCHING
感谢您的观看
Quartus II软件中提供了大量的IP核,用户可以直接调用这些IP核进行设计, 避免了重复造轮子,提高了设计效率。
IP核定制
对于一些特殊需求,用户可以通过定制IP核的方式实现。Quartus II软件提供了 IP核定制工具,用户可以根据需求对IP核进行修改和定制,以满足特定设计要求。
基于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的信号。
芯片设计中的时钟与时序优化策略
芯片设计中的时钟与时序优化策略在芯片设计的过程中,时钟与时序优化策略起着至关重要的作用。
时钟和时序是芯片设计中的两个关键概念,它们不仅决定了芯片的稳定性和性能,也对整个芯片系统的功能实现起到了至关重要的影响。
本文将介绍时钟与时序的概念,并详细探讨芯片设计中的时钟与时序优化策略。
一、时钟的作用和优化策略时钟是芯片设计中的重要组成部分,它负责驱动芯片内各个模块的工作。
时钟信号的频率和稳定性直接影响到芯片的性能和功耗。
为了优化时钟的作用,芯片设计者可以采取以下策略:1. 时钟频率优化:在芯片设计的过程中,可以通过分析芯片的工作负载和需求,合理地选择时钟频率。
高频率的时钟信号可以提高芯片的性能,但也会增加功耗和热量。
因此,需要在性能和功耗之间寻找一个平衡点,选择适当的时钟频率。
2. 时钟分配优化:对于大型芯片来说,时钟信号需要被准确地传递给各个模块。
合理的时钟分配可以减少时钟信号路径的长度,并降低时钟信号的延迟和损耗。
通过优化时钟布线和时钟网络的结构,可以提高芯片的运行稳定性和性能。
3. 时钟电源噪声优化:时钟信号与电源噪声之间存在着较大的相关性。
电源噪声会影响时钟信号的稳定性和质量,从而对芯片的性能产生不利影响。
因此,在芯片设计中,需要采取相应的措施来降低电源噪声,例如使用合适的电源滤波器和电源隔离技术。
二、时序的作用和优化策略时序是指芯片内各个时钟驱动模块工作时间的先后顺序。
时序设计的好坏对芯片的正常运行和性能有着至关重要的影响。
以下是一些时序优化策略的简要介绍:1. 时序约束优化:在芯片设计的过程中,需要对时序进行约束,以确保芯片的各个模块能够在正确的时间完成相应的操作。
通过细致的时序约束优化,可以最大程度地减少时序故障和互连延迟,提高芯片的工作效率和稳定性。
2. 时序路径优化:时序路径是指数据信号从输入端到输出端所经过的逻辑路径。
时序路径的优化可以通过合理的电路设计和时钟分配来实现。
通过减少时序路径的长度和延迟,可以降低芯片的功耗和时序故障率,提高芯片的性能和可靠性。
FPGA设计中优化时序的原则与方法
图 1 通过逻辑复制减小路径延时
在 R ISC处理器设计中就存在这样的情况 。例 如在译码器模块的设计中 ,根据指令的分类需要多 个不同类型的译码器 ,在向这多个译码器发射指令 的过程中就出现了多扇出的情况 ,即一个当前指令 信号要驱动多个译码器单元 。对此我们对当前指令
信号进行逻辑复制 ,由此减少信号扇出 。修改后对 译码器模块进行了综合 ,与修改前的综合情况比较 如表 1所示 。
2 面积和速度平衡和互换原则
这里的“面积 ”是指一个设计所消耗的 FPGA
3 基金项目 :国家自然科学基金资助项目 (60573143) ;西北工业大学研究生创新种子基金 ( Z200646) 作者简介 :林昌辉 (1982 - ) ,男 ,海南乐东人 ,硕士研究生 ,主研方向 :计算机体系结构和 ASIC系统设计 。 收稿日期 : 2006 - 06 - 14
表 1 修改前后的综合结果比较
时间 修改前 修改后
使用面积 (LE单元数 ) 825 869
综合速度 (MHz) 387. 1 422. 12
比较结果显示通过逻辑复制 ,虽然设计的面积 增加了 ,但是工作频率得到了一定的提升 。
当然也不是所有有多级扇出的信号都需要被复
制 ,只有当信号的扇出值大到扇出时延不能被忽略 时才需要信号逻辑的复制 。
3 设计思想和技巧
3. 1 逻辑复制 逻辑复制是一种最基本的通过增加面积改善时
序条件的优化手段 。这种方法最常用的场合是调整 信号的扇出 。当一个信号要驱动后级的许多单元
时 ,也就是有多级扇出时 ,可能会出现如图 1中左图 所示的一些扇出路径的长延时 。此时的解决方法就 是通过信号逻辑的复制来减少路径延时 ,如右图所 示。
L IN Chang - hui, FAN Xiao - ya (A via tion M icroelectron ics Cen ter, N orthw estern Poly techn ica l U n iversity, X i’an 710072, Ch ina)
时序分析之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)中触发器的消耗。
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的设计优化功能可以帮助我们提高数字电路设计的性能和效率。
Quartus 时序优化指南(中文)
altmultadd
Two “Sum-of-2-Mult” DSP Blocks Connected in Parallel
dataa_1[17..0] datab_0[18..0] datab_1[18..0]
result[37..0]
altmultadd2
dataa_0[17..0] dataa_1[17..0] datab_0[18..0] datab_1[18..0]
值 4 个乘法器
18 位 19 位 39 位 禁用 有符号 有符号 使能 使能 乘法器输入 禁用
101 Innovation Drive San Jose, CA 95134
© 2011 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at /common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
©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。