收藏 分销(赏)

FPGA时序分析基本步骤.docx

上传人:a199****6536 文档编号:3561076 上传时间:2024-07-09 格式:DOCX 页数:22 大小:2.46MB
下载 相关 举报
FPGA时序分析基本步骤.docx_第1页
第1页 / 共22页
FPGA时序分析基本步骤.docx_第2页
第2页 / 共22页
FPGA时序分析基本步骤.docx_第3页
第3页 / 共22页
FPGA时序分析基本步骤.docx_第4页
第4页 / 共22页
FPGA时序分析基本步骤.docx_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、3.7.2 时序分析基本步骤(1)复制并打开工程。为了操作方便,先将Quartus安装目录中自带的fir_filter工程复制到新建的某个工程日录中,如本例复制到D:fir_ttilter目录下。在Quartus软件中打开Fir_filter.qpf工程文件。打开工程后,双击filterf.bdf,出现下面图。 (2)编译工程。选取Quartus菜单proeessingStart AnalysisSynthesis或者点击快捷按钮对该工程进行分析和综合。(3)启动TimeQuest Timing Analyzer工具。在Quartus中选取菜单Tool-TimeQuest Timing Ana

2、lyzer命令,因为TimeQuest Timing Analyzer需要SDC文件(Synopsys Design Constrain)。如果打开TimeQuest Timing Analyzer没有.sdc,则Quartus会出现询问窗口。若使用GUI,则选择 NO。打开的TimeQuest Timing Analyzer工具如图3.75所示。(4)创建Timing Netlist。在TimeQuest Timing Analyzer软件中,选取菜单NetlistCreate Timing Netlist命令,出现Create Timing Netlist对话框,如图3.76所示。在Inp

3、ut netlist处选择Post-map选项,其他保持默认设置,按OK按钮。在TimeQuest Timing Analyzer软件中,用鼠标左键双击左侧tasks子窗口中的CreateTiming Netlist,则开始创建时序分析网表,建立成功后左侧task子窗口中的Create Timing Netlist变成绿色,如图3.77所示(在点击图3.76所示对话框的OK按钮后同时会完成该操作) (5)确定时序需求(Timing Requirements)。此范例示范两个时钟的时序需求,如表3.4所示 (6)设定clk时序需求。在TimeQuest Timing Analyzer窗口,选取菜

4、单选项ConstraintsCreate Clock命令,弹出Create Cloek对话框,如图3.78所示。在Clock name处输入clk,在Period处输入20。在waveform egdes处的Rising:与Falling:处不输入任何值,则为默认值工作周期为5050(即占空比为50)。点击Targets栏右侧的按钮,出现Name Finder对话框,如图3.79所示,点击List按钮,会出现工程顶层模块的所有引脚名称; 在clk引脚名称上双击鼠标左键,将clk选择到右侧列表中,按OK按钮关闭Name Finder对话框,返回到Create Clock对话框; 再按Run按钮,

5、可以看到TimeQuest Timing Analyzer窗口最下方Console子窗口中有加入时钟时序要求的脚本命令。 create_clock -name clk -period 20.000 get_ports clk(7)设定clkx2时序需求。在TimeQuest Timing Analyzer窗口,选取菜单选项Constraints Create Clock命令,出现Create Clock对话框。n 在Clock name处输入clkx2;n 在period处输入10;n 在waveform egdes处的Rising输入O;n 在Waveform egdes处的Falling输

6、入6,则可以设定占空比为60。再点击Targets栏右侧的按钮,出现Name Finder对话框(如图3.79所示,设置同clk),点击List按钮,会出现工程顶层模块的所有引脚名称,在clkx2引脚名称上双击鼠标左键,将clkx2信号选择到右侧列表中; 按OK按钮回到Create Clock对话框。clkx2设定完成画面如图3.50所示。点击Run按钮,可以看到TimeQuest Timing Analyzer窗口最下方的console子窗口有加入时钟时序要求的脚本命令,同时可以看到在左侧task子窗口中的Read SDC File变成绿色。task子窗口中的Reports双击Tasks子窗

7、口中的Report Clocks,会开始执行并在Report Clocks处呈勾选状态,在Report Clocks窗口中会出现如图3.83所示的结果。双击Tasks子窗口中的Report Clock Transfers,会开始执行并在Report Clock Transfers处呈勾选状态,在RePort窗口中将出现如图3.84所示的结果。(10)设定False path。将clk到clkx2的路径设定为False path。在TimeQuest Timing Analyzer窗口,选择菜单Constraints - Set False path命令,则弹出Set False path对话框

8、,如图3.85所示。点击From右侧的按钮,出现Name Finder窗口,如图3.86所示;Collection下拉列表默认设置为get_clocks,点击List按钮,工程中创建的时钟信号(如clk、clkx2)会出现在List下方的列表中;在clk引脚名称上双击鼠标左键,会将clk选择到右侧列表中,按OK按钮则返回到Set False Path窗口;同理,点击To右侧的按钮,在弹出的Name Finder窗口中点击List按钮,在clkx2引脚名称上双击鼠标左键,会将clkx2选择到右侧列表中;按OK按钮则返回到Set False Path窗口,结果如图3.85所示按Run按钮执行。将c

9、lk到clkx2的路径设定为False Path的脚本命令会在Console窗口中出现。set_false_path -from get_clocks clk -to get_clocks clkx2(11)更新Timing Netlist。因为在前一个步骤中增加了一个新的设置项目,因此要更新Timing Netlist。双击TimeQuest Timing Analyzer窗口左侧的update Timing Netlist,会看到开始执行并且Update Timing Netlist变成绿色。(12)验证并保存。要确认前一步骤设定是否成功,可以使用Report SDC指令。双击Tasks窗

10、口中的Reports,在展开的目录中展开Diagnostie目录,如图3.87所示。双击Report SDC命令,执行后在TimeQuest Timing Analyzer窗口右侧出现如图3.88所示的结果。再双击Diagnostic目录中的Report Clock Transfers命令,执行后在TimeQuest TimingAnalyzer窗口右侧出现如图3.89所示的结果。从RR Paths栏位下可以看到false path的文字出现,则表示已经设定成功。在TimeQuest Timing Analyzer窗口的Tasks子窗口最下方,有一个write SDC File功能选项。可以直

11、接双击Tasks子窗口中的Write SDC File命令,或者选取菜单Constrain-WriteSDC File命令,打开Write SDC File窗口,如图3.90所示。在SDC file name处输入时序约束文件名称,如firtref.sdc,点击OK按钮退出。在TimeQuest Timing Analyzer窗口下方的Consofe子窗口中会显示出对应的脚本命令。(13)查看TimeQuest时序约束文件。可以使用文本编辑工具打开.sdc文件(也可以在Quartus中打开),如本例打开前面写入的firtref.sdc文件,其内容如表3.5所示。超链接:filtref.sdc(

12、14)将SDC文件添加到Quartus工程中。在TimeQuest Timing Analyzer中保存好SDC文件后,返回Quartus环境,选取菜单projeetAddRemove Files In project命令,弹出Settings对话框,并选中Category中的Files。在Settings对话框右侧Files界面中,点击File name右侧的按钮并选择firtref.sde文件,点击Add按钮firtref.sde文件加入工程中,然后点击OK按钮返回Quartus环境。(15)编译工程。在Quartus 11中选取菜单processing-Start Compilation

13、,对项目进行编译,最后出现编译成功信息提示窗口,按OK按钮。(16)Timing in the Timing Analyzer验证。在Quartus 11环境中选取菜单选项Tool-TimeQuest Timing Analyzer,打开TimeQuestTiming Analyzer窗口查看结果。(17)创建Timing Netlist。在TimeQuest Timing Analyzer窗口中,选取菜单Netlist-Create Timing Netlists命令,出现Create Timing Netlists对话框,如图3.91所示。在Input netlisr处选择post-fit

14、,点击OK按钮返回。创建成功后会在TimeQuest Timing Analyzer窗口的task子窗口中看到Create Timing Netlists变成绿色。 (18)读入SDC文件。在TimeQuest Timing Analyzer窗口,选取菜单(Netlist错)Constraints-Read SDC File,出现Open对话框选filtref.sdc文件,选定好后按Open按钮。在TimeQuest Timing Analyzer左侧Tsks子窗口中会看到Read SDC File变成绿色。在TimeQuest Timing Analyzer窗口下方的信息窗口中可以看到相关信

15、息。双击Tasks子窗口中的Update Timing Netlist命令更新Timing Netlisrs,执行后Update Timing Netlist变为绿色。(19)查看报告。在TimeQuest Timing Analyzer窗口双击Tasks子窗口中的Report,在展开的目录中展开Macros子目录,如图3.92所示。双击Report All Summaries命令,执行后在TimeQuest Timing Analyzer窗口右侧出现如图392或下图所示的结果。双击其他Report命令,在TimeQuest Timing Analyzer窗口右侧将显示相应的结果,读者可以自行

16、验证。3.7.3 查看时序分析报告运行完时序分析之后,可以在Quartusll的编译报告窗口(选择菜单processingCompilation Report命令)的TimeQuest Timing Analyzer中查看时序分析结果。也可以从时序分析报告部分通过右键菜单Locate Locate in Assignment Editor、Locate in Chip planner等命令进行个别时序分配和查看延时路径信息。下一面我们就介绍如何用TimeQuest获取时序报告。一般比较关注的是建立时间(setup time)和保持时间(hold time)的相关信息。例如,TimeQuest左侧的Tasks子窗口中,在Slack目录下面有各种报告的总结(summary),如图3.93或下图所示。如果要获取某一个项目的时序报告的总结信息,用鼠标双击这一条目就一以了。比如说要查看Setup的summary,那么双击Report setup summary,TimeQuest软件会在右侧的主窗口给出setup time的summary信息,如图3.94或下图所示。 22

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服