ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:1.04MB ,
资源ID:10242813      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10242813.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(TimeQuest使用步骤.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

TimeQuest使用步骤.docx

1、TimeQuest使用步骤Timequest timing analyzer使用方法步骤1:执行初始编译在应用时序约束设计之前,创建一个初始数据库:post-map。表 1-1. 执行初始编译(1)Quartus II软件GUI命令行在Processing菜单上,指向Start,点击Start Analysis & Synthesis。quartus_map filtrefr表 1-1注释:1. quartus_map用于创建一个post-map数据库。2. Analysis & Synthesis阶段生成post-map数据库。3. 也可为初始数据库创建一个post-fit网表。不过,创建一

2、个post-map网表耗时较少。图 1Analysis & Synthesis步骤2:运行TimeQuest Timing Analyzer通过表 2-1中的程序,运行TimeQuest Timing Analyzer来创建和验证所有时序约束和例外。此命令将打开TimeQuest shell。表 2-1. 运行TimeQuest Timing AnalyzerQuartus II软件GUI命令行在Tools菜单中,单击TimeQuest Timing Analyzer。quartus_sta srproject_open fir_filter -revision filtrefr当您直接从Qu

3、artus II软件中运行TimeQuest Timing Analyzer时,当前工程将会自动打开。如果使用GUI,那么当出现下面的消息时,请选择No:No SDC files were found in the Quartus Settings File and filtref.sdc doesnt exist. Would you like to generate an SDC file from the Quartus Settings File?图 2TimeQuest Timing Analyzer步骤3:创建一个Post-map时序网表在指定时序要求之前,请创建一个时序网表。表

4、3-1. 创建一个Post-Map时序网表TimeQuest Timing Analyzer GUITimeQuest Timing Analyzer Console1.在Netlist菜单上,点击Create Timing Netlist。 出现 Create Timing Netlist对话框。2.在Input netlist中,选择Post-Map。create_timing_netlist post_map注意:不要在Tasks面板中使用Create Timing Netlist命令来创建一个post-map时序网表。默认情况下,Create Timing Netlist创建一个pos

5、t-fit数据库。图 3 Create Timing Netlist图 4 Input netlist图 5waiting步骤4:指定时序要求(时钟、IO)表 4-2. 创建时钟并分配时钟端口TimeQuest Timing Analyzer GUITimeQuest Timing Analyzer Console1.在Constraints菜单中,点击 Create Clock。出现Create Clock对话框。对25 MHz时钟指定参数。单击RUN。输入:#create the 25 MHz (20 ns) clock create_clock period 20 get_ports C

6、psl_Clk25M_i2. 在Constraints菜单中,点击Drive PLL clocks。出现Drive PLL clocks对话框,前面指定了PLL基时钟,什么都不选直接单击RUN即可。默认情况下,如果未使用-waveform选项,那么create_clock命令假设50/50的占空比。时序包括以下方面:时钟:create_clocks / derive_pll_clocks / derive_clocks_uncertainly(手动添加)IO: set_input_delay / set_output_delay (此处用延迟0参数,步骤10进行调整)完成表 4-2中显示的程序

7、后,时钟定义完成。图 7Create clock图 8设置参数图 9指定时钟图 10 Create clock设置完毕图 11Drive PLL clocks步骤5:更新时序网表(timing Netlist)在您创建时序约束或例外后,通过表 5-1中的程序,对时序网表进行更新,将所有时序要求应用到时序网表(新的clk和clkx2时钟约束)。只要应用了新的时序约束,就必须对时序网表进行更新。表 5-1. 更新时序网表(Timing Netlist)TimeQuest Timing Analyzer GUITimeQuest Timing Analyzer Console在Tasks面板中,双击

8、Update Timing Netlist命令。输入:update_timing_netlist图 12Update Timing Netlist步骤6:保存到SDC文件在为设计指定时钟约束并更新时序网表后,您可以通过表 6-1中的程序来选择创建SDC文件。通过TimeQuest Timing Analyzer GUI或者在控制台(console)中指定的约束不会自动保存。因此,Altera建议单独保存利用文本编辑器可以手动编辑的一个golden SDC文件。这使您能够根据自身的规范输入注释并组织文件。如下图:而不是从TimeQuest GUI的Constraints下拉菜单输入约束:虽然看起

9、来很相似,但这些约束将直接应用于计时数据库,而不会放入.sdc文件中。高级用户可能会找到理由这样做,用于修改配置确定参数。建议初学者打开.sdc文件并从Edit - Insert Constraint访问它们。表 6-1. 保存SDC文件TimeQuest Timing Analyzer GUITimeQuest Timing Analyzer Console1.在Tasks面板中,双击Write SDC File命令。出现Write SDC File对话框。2.在File Name栏输入名称。输入:write_sdc -name.sdcr新的.sdc文件包含步骤4:指定时序要求中定义的时钟约

10、束。Write SDC File命令可以覆盖任何现有的SDC文件。当这种情况出现时,新的SDC文件没有保持顺序或注释。(建议拷贝粘贴至SDC文件中)步骤7:对初始时时序网表生成时序报告通过表 7-1中的程序定义的时钟,在指定时序约束和更新时序网表后,生成时序报告,这验证了时钟被正确地定义并应用到正确的节点。1. SDC报告表 7-1. Report SDC命令TimeQuest Timing Analyzer GUITimeQuest Timing Analyzer Console在Tasks面板中,双击Report SDC命令。输入:report_sdc图 13生成SDC约束报告(SDC A

11、ssignments Report)SDC Assignments报告了在指定设计中包含的所有时序约束和例外。生成两个报告:一个用于时钟和一个用于时钟组。2. clock报告表 7-2. 生成报告时钟报告(Report Clocks ),总结设计中所有的时钟。TimeQuest Timing Analyzer GUITimeQuest Timing Analyzer Console在Tasks面板中,双击Report Clocks命令。输入:report_clocks图 14时钟报告3. Clock Transfers报告通过表 7-3中的程序,使用Report Clock Transfers

12、命令生成一个报告来验证所有的时钟到时钟传输都是有效的。这种报告包含设计中所有的时钟到时钟传输。表 7-3. 生成报告时钟传输(Report Clock Transfers)TimeQuest Timing Analyzer GUITimeQuest Timing Analyzer Console在Tasks面板中,双击Report Clock Transfers命令。输入:report_clock_transfers图 15时钟传输报告(Clock Transfers Report)4. 伪路径设置(两条路径不相关)本环节只是告诉这个部分伪路径可以作为例外不进行分析。实际的时序要在做设计时保证

13、其正确。Clock Transfers报告表明在clk(源时钟)和clkx2(目的时钟)之间存在跨时钟域路径。共有16条路径,其中clk为源节点提供时钟,clkx2为目的节点提供时钟。在fir_filter设计中,不必分析clk至clkx2的时钟传输,因为它们是忽略路径。通过表 7-4中的程序声明clk至clkx2的路径为伪路径。当完成该程序后,TimeQuest Timing Analyzer表明Clock Transfers报告是过时的。表 7-4. 声明伪路径TimeQuest Timing Analyzer GUITimeQuest Timing Analyzer Console1.在

14、Clock Transfers报告中,在From Clock列选择clk。2.右击并选择Set False Paths Between Clock Domains。这个命令表明将所有由clk驱动的源寄存器到由clkx2驱动的目的寄存器之间的路径设为伪路径。set_false_path -from get_clocks clk -to get_clocks clkx2r5. set_clock_groups设置(两个时钟域不相关)另外,也可以使用set_clock_groups命令来声明两个时钟域之间的路径为伪路径。例如,set_clock_groups -asynchronous -group

15、 get_clocks clk -groupget_clocks clkx2。该命令表明clk到clkx2以及clkx2到clk的所有路径为伪路径。此方法是优选的,可以不必每个路径设置。6. 更新报表由于您添加了一个新的时序约束,通过表 2-14中的程序更新时序网表(timing netlist)。表 2-14. 更新Timing NetlistTimeQuest Timing Analyzer GUITimeQuest Timing Analyzer Console在Tasks面板中,双击Update Timing Netlist命令。输入:update_timing_netlistr在GU

16、I中输入set_false_path后,所有生成的报告面板上都标有Out of Date,这表明报告面板不包含反映TimeQuest Timing Analyzer中当前状态的约束或者例外的结果。要更新报告面板,必须重新生成所有的报告。在命令行,重新输入命令。在GUI中,右击报告面板列表中任何过时(out-of-date) 的报告,并选择Regenerate或Regenerate all。步骤8:保存约束到SDC文件在指定设计中所有的时钟约束和伪路径后,通过表 8-1中的程序将时序约束和例外保存到SDC文件。(建议拷贝粘贴至SDC文件中)表 8-1. 保存约束到SDC文件TimeQuest T

17、iming Analyzer GUITimeQuest Timing Analyzer Console1.在Tasks面板中,双击Write SDC File。出现Write SDC File对话框。2.在File name栏,输入-name.sdc.输入:write_sdc -name.sdc1这一过程覆盖之前所创建的filtref.sdc文件。如果通过Write SDC File命令覆盖SDC,那么在新的SDC文件中移除了定制的格式和注释。.sdc 文件包含时钟约束和伪路径。步骤9:执行Timing-Driven全编译保存约束到SDC文件后,在设计上运行一个全编译以优化布线,从而符合约束。

18、不过,在开始全编译之前,通过表 9-1中的程序将SDC添加到工程中。表 9-1. 添加SDC文件到工程中TimeQuest Timing Analyzer GUITimeQuest Timing Analyzer Console1.在Project菜单中,点击Add/Remove Files In Project。出现Add/Remove Files In Project对话框。2.通过浏览来选择.sdc。set_global_assignment -name SDC_FILE -name.sdc将SDC添加到工程后,通过表 9-2中的程序,在设计上运行一个全编译。表 9-2. 运行一个全编译

19、TimeQuest Timing Analyzer GUITimeQuest Timing Analyzer Console在Processing菜单中,点击Start Compilation。输入:quartus_sh -flow compile -name完成编译后,TimeQuest Timing Analyzer在Compilation Report中生成时钟建立和时钟保持的检查总结报告。步骤10:在TimeQuest中验证时序要获得指定路径中详细的时序分析数据,请查看TimeQuest Timing Analyzer中的时序分析结果。完全执行布线布局功能(place-and-rout

20、e)后,运行步骤2:运行TimeQuest Timing Analyzer中所介绍的TimeQuest Timing Analyzer,生成一个post-fit时序网表,通过表 10-1中的程序,读取SDC文件并更新时序网表来生成关于最新编译的报告。#1. Summary报告: 表 10-1. 生成关于Latest Compilation的报告TimeQuest GUITimeQuest Timing Analyzer Console在Tasks面板中,双击所需报告的命令。例如:Report All Summaries。create_timing_netlistread_sdc filref.

21、sdcupdate_timing_netlistreport_clockscreate_timing_summary -setup create_timing_summary -hold create_timing_summary -recovery create_timing_summary -removal report_min_pulse_width -nworst 10当双击其中一个报告命令时,Create Timing Netlist、Read SDC和Update Timing Netlist命令依次在Tasks面板中执行,自动生成时序网表。#2. Clock setup报告: 时

22、钟建立检查确保每个寄存器至寄存器的传输不违反SDC指定的时序约束。通过表 10-2中的程序,生成一个时钟建立总结,对设计中的所有时钟进行检查,来验证没有出现违规。表 10-2. 生成时钟设置总结检查(Clock Setup Summary Check)TimeQuest Timing Analyzer GUITimeQuest Timing Analyzer Console在Tasks面板中,双击 Report Setup Summary。输入:create_timing_summary setupSummary (Setup)报告clkx2时钟没有出现在Summary (Setup)报告中,

23、这是因为clk和clkx2之间所有的时钟路径已经声明是伪路径。此外,fir_filter设计不包含任何寄存器到寄存器的路径,其中目的寄存器路径由clkx2来驱动。Summary (Setup)报告中的Slack列表明clk能满足约束,并有11.588 ns的余量。End Point TNS列是指定时钟域中所有的总负裕量(TNS)的总和。使用这个值来测量指定时钟域中失败路径的总数。#3. Clock Hold报告: 生成Summary (Setup)报告后,通过表 2-21中的程序,生成一个时钟保持检查总结。表 10-3. 生成Summary (Hold) ReportTimeQuest Tim

24、ing Analyzer GUITimeQuest Timing Analyzer Console在Tasks面板中,双击Report Hold Summary。输入:create_timing_summary holdr图 16Summary (Hold)报告Summary (Hold)报告表明clk时钟节点符合时序约束,并有0.661 ns的余量。#4. Unconstrained Paths报告: 在执行全编译之前,通过表 10-4中的程序指定所有的时序约束和例外。这样可以确保 Fitter优化设计中的关键路径。您可以使用Report Unconstrained Paths命令来验证已经

25、约束fir_filter设计中的所有路径。表 10-4. 指定时序约束和例外TimeQuest Timing Analyzer GUITimeQuest Timing Analyzer Console在Tasks面板中,双击Report Unconstrained Paths。输入:report_ucpr图 17Unconstrained Paths总结报告#5. Set_input_delay / set_output_delay设置: Unconstrained Paths总结报告表明有大量的未约束路径,并详细介绍了这些路径的类型。要充分约束此设计,利用由TimeQuest Timing

26、Analyzer所提供的整套SDC约束。要充分约束fir_filter设计,约束所有的输入和输出端口。使用Set Input Delay和Set Output Delay对话框,或set_input_delay和set_output_delay约束来指定输入和输出延迟值。由于附加约束应用于设计,通过文本编辑器(例如:inout_delay.sdc)创建仅包含输入和输出约束的额外SDC。添加表 10-5所示的输入和输出延迟分配到步骤8:保存约束到SDC文件创建的新SDC中。表10-5.输入和输出延迟分配The TimeQuest Timing Analyzer GUIThe TimeQuest

27、Console1.在Constraints菜单中,点击Set Input Delay。出现Set Input Delay对话框。2.输入以下内容:Clock name: clkDelay value: 2Targets: get_ports d0 d1 d2 d3 d4 d5 d6 d7 newt reset3.在Constraints菜单中,点击Set Output Delay。出现Set Output Delay对话框。4.输入以下内容:Clock name: clkDelay value: 1.5Targets: get_ports yn_out0 yn_out1 yn_out2 yn_

28、out3 yn_out4 yn_out5 yn_out6 yn_out7 yvalid followset_input_delay -clock clk 2 get_ports d* newt resetrset_output_delay -clock clk 1.5 get_ports yn_out* yvalid followr记住读取新的约束后更新时序网表,并重新生成Unconstrained Paths Summary 报告。#6. Report Timing报告: 通过表 10-6中的程序,对设计的时钟或节点生成特定的时序检查报告。表 10-6中的程序生成一个报告,其中clk驱动目的

29、寄存器,并且目的寄存器为acc:inst3|result,报告10条最差路径。表10-6.生成Report Timing报告TimeQuest Timing Analyzer GUITimeQuest Timing Analyzer Console1.在Tasks面板中,双击Report Timing。出现Report Timing 对话框。2.输入以下内容:To Clock: clkTo: acc:inst3|result*Report number of paths: 103.剩下其它的栏使用默认的设置。report_timing -to_clock clk -to / acc:inst3|result* -setup -npaths 10图 2-10显示了Report Timing报告。使用Tasks面板中的Report Top Failing Paths命令来生成一个报告,该报告详细介绍了设计中的最差的失败路径。也可以通过菜单设置。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1