在同步电路设计中,各功能逻辑单元之间的数据传输由一个同步信号控制,这个执行统一指挥的信号就是时钟信号,因此需要在设计之初创建时钟,基于该时钟频率进行优化设计,使设计性能达到时序收敛的目的。
创建时钟
时钟信号为一个周期性信号,定义时钟需要包括以下主要信息:
(1)时钟源点
时钟源点可以根据情况定义为设计中一个端口,一个网络,也可以是一个逻辑单元的PIN脚。为端口时用[get_ports 端口名],为网络时用[get_nets 网络名],为PIN脚时用[get_pins 引脚名]。
(2)时钟周期
时钟周期定义为时钟的震荡周期,为时钟频率的倒数。时钟周期是时序分析中最基本的、最小的时间单元。用{-period period_value}表示
(3)时钟占空比
时钟占空比主要定义时钟高低电平在一个时钟周期内的分布情况。用-[waveform edge_list]表示
通过使用SDC命令creat_clock来创建时钟,比如通过该命令定义一个从CLK端口输出并且时钟周期为10、占空比为50%的时钟信号,命令如下。
creat_clock -period 10 -waveform { 0 5 } [ get_ports clk ]
如上图所