原创 TimeQuest就一定要搞定——由QSF生成SDC

2008-7-24 22:18 9034 7 7 分类: FPGA/CPLD

QSF是Quartus Settings File的缩写,包含了一个Quartus工程的所有约束,包括工程信息、器件信息、引脚约束、编译约束和用于Classic Timing Analyzer的时序约束。 riple


SDC是Synopsys Design Constraints的缩写,该文件用于TimeQuest Timing Analyzer的时序约束和定制报告。 riple


在TimeQuest中把Classic Timing Analyzer的约束语句转换为SDC是很容易的。在Constraints菜单下,执行Generate SDC File from QSF即可。 riple


 


以Quartus II安装路径下的\qdesigns\fir_filter项目为例,QSF文件中关于时序约束的语句如下: riple


# 约束clk为100MHz的时钟。 riple
set_global_assignment -name FMAX_REQUIREMENT "100 MHz" -section_id clocka
set_instance_assignment -name CLOCK_SETTINGS clocka -to clk


# 约束clkx2为clk的二倍频时钟,相位偏移0.5ns riple
set_global_assignment -name BASED_ON_CLOCK_SETTINGS clocka -section_id clockb
set_global_assignment -name DIVIDE_BASE_CLOCK_PERIOD_BY 2 -section_id clockb
set_global_assignment -name OFFSET_FROM_BASE_CLOCK "500 ps" -section_id clockb
set_instance_assignment -name CLOCK_SETTINGS clockb -to clkx2


# 约束所有从clk到clkx2的时序路径为Multicycle,取值2 riple
set_instance_assignment -name MULTICYCLE 2 -from clk -to clkx2


 


由该组QSF约束转换得到的SDC约束如下: riple


# Original Clock Setting Name: clocka
create_clock -period "10.000 ns" \
             -name {clk} {clk}
# Original Clock Setting Name: clockb
create_generated_clock -multiply_by 2 -offset "0.500 ns"  \
                       -source clk \
                       -name {clkx2} \
                       {clkx2}
# ** Multicycles
# QSF: -name MULTICYCLE 2 -from clk -to clkx2
set_multicycle_path -end -setup -from [get_clocks {clk}] -to [get_clocks {clkx2}] 2
set_multicycle_path -end -hold -from [get_clocks {clk}] -to [get_clocks {clkx2}] 1


从上面的例子可以看出,SDC比QSF简洁了些,在Multicycle的约束上也清晰明确了些。 riple


 

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户1542249 2010-4-2 17:05

前辈你好,我是新手,想请教一下 set_multicycle_path -end -setup -from [get_clocks {clk}] -to [get_clocks {clkx2}] “2”,最后一个2,以及下面一行的最后1表示什么意思?

用户131589 2008-8-1 05:06

有关于SDC比较好的入门材料么?
相关推荐阅读
ash_riple_768180695 2015-12-18 11:06
学习示例程序:FPGA快速系统原型设计--敏捷实践
        学习与开发板配套的示例程序,是敏捷实践的起点。示例程序是厂商针对开发板上提供的硬件资源和接口量身定做的工程,可以展示其FPGA芯片的功能和性能特点。从示例程序入手最大的好处就是:示...
ash_riple_768180695 2015-11-03 16:46
开发板选取:FPGA快速系统原型设计--敏捷实践
    既然是“实践”,就不能只谈编码和仿真,必须要上板运行、调试。这个虚拟项目的目标是实现一块兼容Intel82574L以太网控制器的千兆网卡,需要运行在一块具备PCIe接口和10/100/10...
ash_riple_768180695 2015-10-22 12:41
开篇:FPGA快速系统原型设计--敏捷实践
    虽然借用了 “系统原型开发”的标题,本系列文章将围绕FPGA IP级别的开发这个主题展开,如果可能的话,将扩展至FPGA System级别的开发。     先上一篇PPT:RSPwFP...
ash_riple_768180695 2013-08-26 10:21
学习SystemVerilog(二)——学习它的理由
    学习SystemVerilog的理由也很多,我在阅读SystemVerilog for Design 和 SystemVerilog for Verification两本书前言的过程中,总...
ash_riple_768180695 2013-08-26 10:19
学习SystemVerilog(一)——不学习它的理由
    想要学习SystemVerilog已经很久了。曾经尝试通过Accellera网站上给出的LRM学习,怎奈内容众多,找不出入手点和重点,只能望而却步。虽然手头有三本SystemVerilog...
ash_riple_768180695 2011-06-26 23:20
Hardware-Assisted IEEE1588 Implementation Analysis
06/18/11 11:00:05 PM         最近一段时间在研究IEEE1588-2008精确时间同步协议(PTP)。该协议可以在软件中实现,如果需要提高时间同步...
EE直播间
更多
我要评论
2
7
关闭 站长推荐上一条 /3 下一条