Quartus sdc设置
根据一配置quartus综合简单流程(一)
上次文章中,说了自己写sdc需要配置的分类点,这次将说明在UI界面配置sdc。
1. 在Quartus软件中,导入verilog设计之后,打开Tools/TimeQuest Timing Analyzer
界面大致分为上下两部分,上半部分左侧显示Report、Tasks,右侧显示欢迎界面;
下半部分显示Console和History,此处缺图,但是瑕不掩瑜。
2. 先介绍Tasks界面,在Tasks中,可以看到:
2.1 Open Project
2.2 Netlist Setup
在Netlist Setup中有二级下拉菜单:Create Timing Netlist、Read SDC File、Update Timing Netlist
如果有sdc文件,那么就可以直接选择Read SDC File,读取已有的sdc文件。
2.3 Reset Design
Reset Design,命令是将刚刚没有使用write sdc命令的设置,清除掉,已准备重新设置约束。
2.4 Set Operating Conditions
此设置用来配置操作环境,一般只用fpga来验证功能,而非验证时序性能,此配置根据默认即可。
2.5 Reports
此项配置下面,有二级菜单:Slack、Datasheet、Device Specific、Diagnostic、Custom Reports、Macros
这里只介绍长用命令
Slack中用来查看setup、hold、recovery、removal等约束信息。其他信息按需查看
Diagnostic中用来查看clocks、clock Tree、clock Transfers、Unconstrained Paths、SDC、Ignored Constraints、check Timing等信息。
其中report SDC可以查看自己已经配置好的sdc是否正确。
2.6 Write SDC File
此命令用来保存已设置好的sdc文件。
3. 设置约束
在打开的TimeQuest Timing Analyzer界面,可以看到菜单栏有以下功能:
File、View、Netlist、Constraints、Reports、Script、Tools、Windows、Help
使用最频繁的就是Constraints与Reports,Reports与第2小结中Reports功能相同。故这里只介绍Constraints界面。
Constraints的二级下拉菜单为设置约束的具体分类命令:
3.1 Create Clock
此命令用来设置port的时钟信号,设置clk_name,周期,目标port等。
3.2 Create Generated Clock
此命令用来设置内部的时钟信号,设置clk_name,源时钟,目标cell/register,分频或倍频倍数,相位,偏移量等等。也可以使用Edge list界面,设置非50%占空比的时钟。
3.3 Set Clock Latency
设置时钟延时
3.4 Set Clock Uncertainty
3.5 Set Clock Groups
设置异步时钟、同步时钟分组
3.6 Remove Clock
删除已添加的clock,包含clk和generated clk
3.7 Set Input Delay
设置port的input delay,根据自己的工程来配置;
可设置port的依赖时钟,可定义为clock的fall edge;
可设置max,min,both延时,也可设置数据变化的边沿延时,Rise、Fall、Both等;
可设置具体延时,单位为ns,建议勾选 Add delay,同一port重复设置max、min不会相互覆盖;
可设置port的目标端口,可在设计中检索。
3.8 Set Output Delay
设置port的output delay,根据自己的工程来配置;
可设置port的依赖时钟,可定义为clock的fall edge;
可设置max,min,both延时,也可设置数据变化的边沿延时,Rise、Fall、Both等;
可设置具体延时,单位为ns,建议勾选 Add delay,同一port重复设置max、min不会相互覆盖;
可设置port的目标端口,可在设计中检索。
3.9 Derive PLL Clocks
3.10 Derive Clock Uncertainty
3.11 Set False Path
设置不需要时序检查的路径,from、through、to等。
3.12 Set Multicycle Path
设置多周期路径,from、through、to之外,还可以设置setup、hold的检查,周期个数等。
3.13 Set Maximum Delay
设置内部逻辑的最大延时,from、through、to路径选择,delay value延时值。
3.14 Set Minimum Delay
设置内部逻辑的最小延时,from、through、to路径选择,delay value延时值。