SDC 时序约束(1) - create_clock

[复制链接]
5323|9
手机看帖
扫描二维码
随时随地手机跟帖
ifpga|  楼主 | 2013-3-19 15:14 | 显示全部楼层 |阅读模式
在写 .sdc 约束文件时,要做的第一件事情就是使用 create_clock 对进入 FPGA 的时钟进行约束。其语法格式如下:

create_clock [-add] [-name <clock_name>] -period <value> [-waveform <edge_list>] <targets>

参数解释:
-name 表示生成的时钟名称
-period 表示时钟周期,单位为 ns
-waveform 可以详细描述时钟占空比及其上下移位置
<targets> 端口列表
-add 用于为一个端口添加多个时钟约束

例子:
create_clock -period 10  -name clk_100 [get_ports clk]
生成了一个周期为 10ns 占空比为 50% 的时钟,其名字为 clk_100,其端口名为 clk

create_clock -period 10 -waveform {8 12} -name clk [get_ports clk]
生成一个周期为 10ns 上升沿 8ns,下降沿 2ns 的时钟

create_clock -period 10 -name clk_100 [get_ports clk]
create_clock -perioid 6.6 -name clk_150 -add [get_ports clk]
在 clk 一个端口上生成两个时钟,其周期分别为  10ns 和 6.6ns 。如果一个系统中同一个端口在不同时刻会有多种时钟输入,可以使用 -add 参数。否则,如果不添加 -add 参数,后面定义的时钟无效。

注1:
在 Tcl 语法中 [] 表示命令替换,因此 [get_ports fpga_clk] 将执行一个命令找到设计中与 fpga_clk 名字相符的端口。
注2:
Tcl与SDC是大小写敏感的,因此需确认 fpga_clk 与设计中的端口名称完全一致的

参考资料:
[1] SDC and TimeQuest API Reference Manual
[2] TimeQuest User Guide
[3] Tcl/Tk 入门经典

相关帖子

jakfens| | 2013-3-19 15:15 | 显示全部楼层
:lol

使用特权

评论回复
jahnson066| | 2013-3-19 20:11 | 显示全部楼层
菜鸟来此学习一下

使用特权

评论回复
GoldSunMonkey| | 2013-3-19 22:54 | 显示全部楼层
感谢分享啊

使用特权

评论回复
904461272| | 2013-3-19 23:06 | 显示全部楼层
感谢分享啊

使用特权

评论回复
904461272| | 2013-3-19 23:07 | 显示全部楼层

使用特权

评论回复
GoldSunMonkey| | 2013-3-21 21:41 | 显示全部楼层
:)

使用特权

评论回复
1072978274| | 2014-1-4 01:44 | 显示全部楼层

使用特权

评论回复
yghanwuji| | 2014-1-4 11:08 | 显示全部楼层
感谢分享

使用特权

评论回复
loushaofeng| | 2014-4-2 22:40 | 显示全部楼层
呵呵!看看!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:面朝大海,春暖花开! www.i-fpga.com

13

主题

909

帖子

1

粉丝