SDC时序约束 - create_clock

在写.sdc约束文件时,要做的第一件事情就是使用create_clock对进入FPGA的时钟进行约束。其语法格式如下:

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

参数解释:

-name表示生成的时钟名称

-period表示时钟周期,单位为ns

-waveform可以详细描述时钟占空比及其上下移位置

端口列表

-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_portsfpga_clk]将执行一个命令找到设计中与fpga_clk名字相符的端口。

注2:

Tcl与SDC是大小写敏感的,因此需确认fpga_clk与设计中的端口名称完全一致的

ref
常用时序分析SDC:http://wenku.baidu.com/view/a70221d543323968001c92dc.html?re=view

静态时序分析基本原理:http://wenku.baidu.com/view/36a7978ad0d233d4b14e6930.html

#Crete clock
crete _clock-period 20 [get_port clk];
约束输入为50MHZ全局输入时钟。

发布了415 篇原创文章 · 获赞 251 · 访问量 68万+

猜你喜欢

转载自blog.csdn.net/qq_35608277/article/details/104800528