03_Quartus II时序优化策略
Quartus_II_时序仿真步骤-余华-2014-10-14
设置信号周期 设置信号相位
设置信号 占空比
选择生成功能 仿真网表
选择仿真 设置工具
选择进行功能仿 真还是时序仿真
开始仿真
4.2.3 功能仿真
开始仿真
4.2.3 功能仿真
引脚分配
引脚分配
选择pin标 签
选择对应的 FPGA引脚
选择对应的输 入输出引脚
FPGA系统设计与实践
基于QuartusII 功能仿真和时 序仿真
4.2.1 建立Vector Waveform File文件 新建文件 打开工程div3 新建波形文件
ok
信号窗口
波形窗口 设置信号属性
双击信号窗口
添加节点
列出所有节点 OK
选择所有节点
ቤተ መጻሕፍቲ ባይዱ
单击鼠标右 键,在弹出 的菜单中选
择 ValueÆClock
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核进行修改和定制,以满足特定设计要求。
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. 时序路径优化:时序路径是指数据信号从输入端到输出端所经过的逻辑路径。
时序路径的优化可以通过合理的电路设计和时钟分配来实现。
通过减少时序路径的长度和延迟,可以降低芯片的功耗和时序故障率,提高芯片的性能和可靠性。
03_Quartus+II时序优化策略
General Recommendations
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 4
Global Speed Optimization
Clocks
Optimize for Speed
Apply globally Apply hierarchically Apply to specific clock domain
Enable netlist optimizations Enable physical synthesis
Clocks I/O Asynchronous Control Signals
Many of these suggestions are found in Timing Optimization Advisor & Quartus II Handbook
© 2009 Altera Corporation Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 3
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的 Hold Summary仍然出现问题(本次结果没有出现问题)如下图所示:此时需要将主菜单下的Assignments的setting进行设置。
由于芯片工艺等问题需要更强的约束,如图所示需要将Fitter Setting中的Optimize multi-corner timing勾选上等操作。
这样简单的时序约束就可以完成。
quartusii编程语法
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 文件。
时序分析之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。
QuartusII操作简略入门
5. 将设计项目设置成工程和时序仿真
f_adder.bdf工程设置窗
5
5. 将设计项目设置成工程和时序仿真
加入本工程所有文件
6
5. 将设计项目设置成工程和时序仿真
全加器工程f_adder的仿真波形
7
步骤6:引脚锁定
8
4.4 设计实例
第5步:给输入、输出引脚分配引脚号码,编程下载
(1)对顶层图形文件counter_7seg.bdf 进行引脚锁定;
键2则对应 10K10的第 6脚,可输 入ain,依 次 类推。
13
根据电路结构模式NO.5 查上表,EPF10K10器件对应:
加数 ain : PIO1 -> 键2 \D10对应引脚 -> 6 被加数 binB : PIO0 -> 键1 \D9对应引脚 -> 5
和 sum : PIO8 -> D1对应引脚 -> 17 低位进位 cin : PIO2 -> 键3 \D11对应引脚 -> 7 高位溢出位 cout : PIO9 -> D2 对应引脚 -> 18
键1定义 为:bin
11
显示cout 这里插上的是 10K10目标板
显示电路 模式NO.5
显示sum
按此键选择 电路模式
输入cin
输入ain 输入bin12
对于10K10器件 选此列
对于电路 模式5,键 1对应于 10K10的第 5脚,可输 入bin
19
引脚锁定(实验1)
模式:NO.1
加数a[7..0] : 键4,键3 : PIO15 ~ PIO8 (25,24,23,22,21,19,18,17) ——显示于数码管4,3
QuartusII软件操作
Quartus II 软件操作
第二步 根据电路图综合电路 电路图输入到CAD系统之后,许多CAD工具会对其进行处
理。流程的第一步是使用综合工具,将电路图编译成逻辑表 达式,然后,电路综合的下一步是工艺映射,通过使用可用 的逻辑元件,确定每个逻辑表达式如何在目标芯片中实现。
使用编译器。选择Processing/Compile tool 命令,打 开对应窗口,共包括四个模块。分析与综合模块执行 Quartus II 中的综合步骤,它产生逻辑元件组成的一个电路。 装配模块(Fitter)模块决定芯片上各电路元件的精确布局。 其中综合模块产生的每个元件都将在芯片上实现。每个模块 也可以单独运行。也可以使用其他命令启动编译。编译完成 时,可以查看编译报告。出现错误时,点击错误信息,可以 突出显示错误出现的位置。
Quartus II 软件操作
第三步 对设计的电路进行仿真 Quartus II包含仿真工具,它
们用于仿真已设计电路的行为功能。 在电路仿真之前,必须先创建输入 波形文件。
1) 使用波形编辑器。 选择File/New命令,在弹出的对 话框中选择Vector Waveform File 选项,单击OK按钮。将文件 命名为example_schematic.vwf并保 存。
Quartus II 软件操作
① 功能仿真 选择Assignments/settings命令,打开settings窗口。
在该窗口的左面,单击Simulator项,在弹出的窗口中,选 择fuctional选项作为仿真模式。为了完成仿真器的设置, 需要选择Processing/Generate functional simulation Netlist命令。 Quartus II根据测试输入,产生 example_schematic.vwf文件中定义的输出。选择 Processing/start simulation(或使用快捷图标),开始 运行电路的功能仿真。仿真结束之后, Quartus II指出仿 真完成,并给出仿真报告。
第6章基于QuartusII的设计优化
第6章基于QuartusII的设计优化Quartus II是一款由美国Intel公司开发的综合设计工具,广泛用于数字电路设计和FPGA(现场可编程门阵列)编程。
在第6章中,我们将介绍Quartus II的设计优化功能以及如何在数字电路设计中利用它来提高设计性能和效率。
Quartus II的设计优化功能主要包括逻辑优化、时钟优化和布线优化。
逻辑优化主要通过对数电路的逻辑结构进行优化,减少逻辑门的数量和延迟,提高电路性能。
时钟优化主要通过优化时钟分配和时钟控制电路,减少时钟延迟和时钟抖动,提高电路时钟性能。
布线优化主要通过对逻辑门的物理位置进行优化,减少布线长度和延迟,提高电路布线性能。
在进行设计优化之前,我们首先需要对设计进行详细的分析和仿真。
通过分析设计的逻辑结构和时钟约束,我们可以找到设计中存在的性能瓶颈和不足之处。
然后,我们可以利用Quartus II中的优化功能来解决这些问题并提高设计性能。
在逻辑优化方面,Quartus II提供了多种优化算法和技术,例如综合优化、布尔运算优化和逻辑缩减。
综合优化可以将设计中的冗余逻辑合并或删除,减少逻辑门的数量和电路延迟。
布尔运算优化可以通过优化逻辑门之间的逻辑运算,减少逻辑门数量和电路延迟。
逻辑缩减可以通过重新组织逻辑门之间的连接关系,减少逻辑门之间的布线长度和延迟。
在时钟优化方面,Quartus II提供了时钟分析和时钟控制功能。
时钟分析可以帮助我们分析时钟约束和时序关系,找到时钟延迟和时钟抖动的问题。
时钟控制功能可以通过优化时钟分配和时钟控制电路,减少时钟延迟和时钟抖动,提高电路时钟性能。
在布线优化方面,Quartus II提供了通用布线和特定布线优化功能。
通用布线优化可以通过优化逻辑门的物理位置,减少布线长度和延迟,提高电路布线性能。
特定布线优化可以根据特定的布线约束和需求,进行特定的布线优化,例如时钟布线优化和高速布线优化。
综上所述,Quartus II的设计优化功能可以帮助我们提高数字电路设计的性能和效率。
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
通过合理的时序约束,可以优化设计,提高电路 的工作效率,降低功耗和减小面积。
QuartusII时序约束方法
3
触发边沿不匹配解决策略
通过调整触发器的触发边沿,使触发器正常工作。
THANKS FOR WATCHING
感谢您的观看
时钟周期约束
用于指定时钟信号的周期,以 限制电路的工作频率。
偏斜约束
用于指定时钟信号的偏斜,即 时钟信号的上升沿和下降沿之
间的时间差。
02
时序约束设置
建立时序约束
建立时序约束是确保数字电路设计满足时序要求的关键步骤,它定义了设计中信号 的传输时间、时钟偏斜和时钟抖动等参数。
在Quartus II中,可以通过在原理图或Verilog/VHDL源文件中设置时序约束来控制 时序。
时序约束通常应用于输入/输出端口、内部节点和时钟信号。
约束的参数设置
01
建立时序约束需要设置一系列参 数,包括时钟周期、时钟偏斜、 时钟抖动等。
02
时钟周期是时钟信号的基本周期 ,它决定了电路的工作速度。
时钟偏斜是指时钟信号在上升沿 和下降沿的时间差,它会影响触 发器的建立时间和保持时间。
03
时钟抖动是指时钟信号的不确定 性,它会影响触发器的翻转时间
时钟树综合
对电路中的时钟网络进行综合,生成满足时序要 求的时钟树。
ABCD
时钟域划分
根据电路的功能和时钟信号的特性,将电路划分 为不同的时钟域,以便进行时序分析。
时序验证
通过仿真测试或静态时序分析,验证电路的时序 性能是否满足设计要求。
时序分析工具
Quartus II软件
Altera公司开发的FPGA设计软件,包含强 大的时序分析和约束工具,可以方便地进行 时序分析和约束。
。
04
约束的优先级
在Quartus II中,可以对不同的时序约束设置优先 级,以确保某些约束被优先考虑。
时序优化的方法
时序优化的方法
以下是 6 条关于时序优化的方法:
1. 合理规划任务顺序呀!比如说,你在准备一顿丰盛的晚餐,难道不是应该先洗菜切菜,然后再炒菜吗?就像建房子,得先打好基础才能往上盖呀。
把任务按照重要性和紧急程度合理安排,这样不就能让时序更优嘛!
2. 避免多任务并专注一项啊!你想啊,你能一边看电视一边认真写作业吗?肯定不行呀!就像跑步的时候,你一心一意往前冲才能跑得更快呀。
一次只专注做一件事,这样才能提高效率,实现时序优化呀!
3. 学会利用碎片时间呢!等公交的那几分钟,你难道不能背几个单词?这就像零钱,积攒起来也能有大用处呀。
把这些零散时间利用起来,时序不就更好啦!
4. 别拖延,立刻行动呀!今天能做完的事,干嘛要拖到明天?就像治病,早发现早治疗效果才好呀。
果断行动,不浪费时间,时序自然就优化啦!
5. 定期休息很重要呀!你一直工作不休息,能保证效率一直高吗?这就好像汽车没油了要加油一样。
适当休息一下,恢复精力,才能让时序更顺呀!
6. 要不断反思和调整呢!像走路一样,发现走错路了得赶紧调整方向呀。
看看自己的计划和行动,哪里不行就改进哪里,这样时序还能不优吗?
总之呀,时序优化就是要合理安排、专注做事、利用零碎、拒绝拖延、适当休息和持续改进,做到这些,你的生活和工作肯定会更高效更精彩呀!。
Quartus II 时序仿真步骤
基于QuartusII 功能仿真和时 序仿真
4.2.1 建立Vector Waveform File文件 新建文件
打开工程div3
新建波形文件ok信号口波形窗口设置信号属性
双击信号窗口 添加节点
列出所有节点
OK
选择所有节点
单击鼠标右 键,在弹出 的菜单中选 择 ValueClock
1建立vectorwaveformfile文件新建文件打开工程div3新建波形文件ok信号窗口波形窗口双击信号窗口设置信号属性添加节点列出所有节点选择所有节点ok单击鼠标右键在弹出的菜单中选择value?clock设置信号周期设置信号相位设置信号占空比选择生成功能仿真网表选择仿真设置工具选择进行功能仿真还是时序仿真开始仿真4
设置信号周期
设置信号相位
设置信号 占空比
选择生成功能 仿真网表
选择仿真 设置工具
选择进行功能仿 真还是时序仿真
开始仿真
4.2.3 功能仿真
开始仿真
4.2.3 功能仿真
引脚分配
引脚分配
选择pin标 签
选择对应的 FPGA引脚
选择对应的输 入输出引脚
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 与什么相连接? 乘法器的寄存器输出
Quartus时序约束与时序分析剖析
管脚到管脚延时
管脚到管脚延时tPD:指信号从输入管脚进来,穿过纯组合 逻辑,到达输出管脚的延迟。由于CPLD的布线矩阵长度 固定,所以常用最大管脚到管脚延时标准CPLD的速度等 级。 tPD (pin-to-pin delay) :The time required for a signal from an input pin to propagate through combinational logic and appear at an external output pin.
建立时间
建立时间:在触发器的时钟信号有效沿到来以前,数据 和使能信号必须保持稳定不变的最小时间。如果建立时 间不够,数据将不能在该时钟沿被正确打入触发器。 tSU = Data Delay + MicrotSU -Clock Delay
Tips
tSU (clock setup time) : The length of time for which data that feeds a register via its data or enable input(s) must be present at an input pin before the clock signal that clocks the register is asserted at the clock pin. tSU = <pin to register delay> + <micro setup delay> - <clock to destination register delay> tSU slack = <required tsu> - <actual tsu>
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
© 2008 Altera Corporation—Public Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 8
© 2008 Altera Corporation—Public Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 5
Individual Optimization
© 2008 Altera Corporation—Public Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 3
Clocks
Register Retiming
aclr
aclr
D
Q
D
Q aclr aclr
Global clock delay
D
Q
© 2008 Altera Corporation—Public Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 14
Gate-Level Register Retiming
Moves registers across combinatorial logic to balance timing Trades between critical & non-critical paths Makes changes at gate level
Synthesis Netlist Optimizations
Further optimize netlists during synthesis Types
WYSIWYG primitive resynthesis
Gate-level register retiming
Created/modified nodes noted in Compilation Report
Asynchronous Control Signals
Improve Recovery & Removal Timing
Make control signal non-global
Project-wide Assignments Settings Fitter Settings More Settings Individually Set Global Signal logic option to Off
General Recommendations Analyzing Timing Failures Solving Typical Timing Failures
© 2008 Altera Corporation—Public Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 2
Asynchronous Signal Pipelining
Adds pipeline registers to asynchronous clear or load signals in very fast clock domains
Added pipeline stage
D aclr aclr aclr Q
Unmaps 3rd-party atom netlist back to gates & then remaps to Altera primitives
Not intended for use with
integrated synthesis
Considerations
Node names may change
Optimization Technique logic option
Use Assignment Editor or Tcl to apply to hierarchical block
Speed Optimization Technique for Clock Domains logic option
Use Assignment Editor or Tcl to apply to clock domain or
between clock domains
© 2008 Altera Corporation—Public Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 6
© 2008 Altera Corporation—Public Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 10
Physical Synthesis
Enable ―Automatic asynchronous signal pipelining‖ option (physical synthesis)
© 2008 Altera Corporation—Public Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 13
Global Speed Optimization
Select speed
Default is balanced Area-optimized designs may also show speed improvements
May result in increased logic resource usage
D Q >
10 ns
D Q >
5 ns
D Q >
D Q >
7 ns
D Q >
8 ns
D Q >
© 2008 Altera Corporation—Public Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 9
General Recommendations
Clocks I/O Asynchronous Control Signals
Many of these suggestions are found in Timing Optimization Advisor & Quartus II Handbook
Duplication
High fan-out registers or combinatorial logic duplicated & placed to reduce delay
N
© 2008 Altera Corporation—Public Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation 15