SDC时序约束(1)- create_clock

来源:互联网 发布:java国际象棋棋盘棋子 编辑:程序博客网 时间:2024/06/05 19:14

扩展:http://wenku.baidu.com/link?url=akY_aflyoIkbmsuXXcIOs99iPGX1KvMhJaQy7lW1HNudc-0tInCosJVuc-R_iB8y9Y2M2E4uC503RiXlPS5rDoddK27AlnqYCYSBCA96d1S

STA : http://wenku.baidu.com/view/966cd84ffe4733687e21aa76.html

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

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






在写.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一个端口上生成两个时钟,其周期分别为10ns6.6ns。如果一个系统中同一个端口在不同时刻会有多种时钟输入,可以使用-add参数。否则,如果不添加-add参数,后面定义的时钟无效。

 

1

Tcl语法中[]表示命令替换,因此[get_portsfpga_clk]将执行一个命令找到设计中与fpga_clk名字相符的端口。

2

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

 

参考资料:

[1]SDC and TimeQuest API Reference Manual

[2]TimeQuest User Guide

[3]Tcl/Tk入门经典

0 0
原创粉丝点击