Chapter5 --Clocks(时钟及虚拟时钟)

5.3 create_clock

5.3.1 Specifying Clock Period

  • -period选项用于定义时钟周期。时钟周期的单位由库时间单位推导得出,set_units命令可查看SDC文件中使用的单位。

5.3.2 Identifying the Clock Source

在这里插入图片描述

  • creat clock通常在时钟源的设计对象中进行声明。这些源对象可以是端口、引脚或网络。
  • 例如,在图5.4中,源对象可以是端口A、网络N或者触发器的引脚P如果在网络中定义时钟,则要确保网络中有驱动信号(引脚或端口),否则时钟信号将没有信号源。
# Represents the port as clock source
create_clock -period 10 [get_ports A]
OR
# Represents the net as clock source
create_clock -period 10 [get_nets N]
OR
# Represents the pin as clock source.
# Assuming, fl op instance name is FF
create_clock -period 10 [get_pins FF/P]

5.3.3 Naming the Clock

  • 用-name选项可以指定一个字符串作为时钟名称。
  • 当-name选项没有明确指定字符串并且时钟已被声明时,工具将指定自己的名字给时钟信号命名。对于create_clock -period 10 [get_ports A],时钟信号的名称将设定为A。

5.3.4 Specifying the Duty Cycle

  • 时钟信号的占空比用-waveform选项来指定。
  • 如果不指定这个选项,则时钟信号默认的占空比为50% ,这等价于时钟信号占空比为{0 周期/2}。
    在这里插入图片描述
create_clock -period 10-name CLK -waveform {5 10} [get_ports A]

在这里插入图片描述

create_clock -period 10 -name NEW_CLK -waveform {0 7} [get_ports C]

在这里插入图片描述

create_clock -period 10 -name CLK -waveform {3 5 8 9} [get_ports C3]

5.3.5 同源多时钟—More than One Clock on the Same Source

在这里插入图片描述

create_clock -name C1 -period 10 [get_ports CLK]
create_clock -name C2-period 15 [get_ports CLK] -add
  • 需要为同一个源对象中的时钟指定一个-add选项每个时钟信号需要唯一的名称来区分,当使用-add选项时,由于工具不知道如何命名这两个时钟信号(应用于相同源对象),因此需要强制使用-name选项。
  • 当用户在同一个对象中指定多个时钟信号,但是没有指定-add选项时,最后一个时钟定义将覆盖之前的时钟定义。

5.3.6 Commenting the Clocks—注释时钟

  • 从SDC1.9开始,包含create_clock在内的一些SDC指令增加了一个新的选项。该选项为-comment选项。该选项用一个字符串作为变量,主要用于显示时钟信号的文档信息,以帮助理解、复用、增强SDC的可移植性,并不影响综合和时序。
create_clock -period 10 -name clk [get_ports clk] \
-comment “Clock for USB block generated by PLL”

5.4 Virtual Clocks—虚拟时钟

  • 虚拟时钟是指物理上在特定电路单元中不存在的时钟,但它表示影响该电路单元时序的外部触发器。虚拟时钟没有指定的时钟源。
    实际上虚拟时钟可能有时钟源,该时钟源可能是在约束的电路单元外部。
  • 用creat_clock模拟虚拟时钟的时候只有period、waveform和name选项,而没有源对象
  • 在第9章中介绍虚拟时钟如何与set_input_delay和set_output_delay协同工作
create_clock -period 10 -name v_clk -waveform {0 5}

5.5 Other Clock Characteristics

  • 大部分设计都需要多个时钟。为每个时钟信号都设置一个独立的时钟信号发生器是不可行的,因此这就需要利用基本时钟生成多个时钟信号。
  • 当多个时钟信号在设计中交互时,设计者需要模拟时钟信号之间的偏离、延迟、相位关系等特征。这使得时钟信号的描述和分析变成了非常复杂的问题。

5.6 Importance of Clock Specifi cation

  • 通常情况下,大多数路径都是同步路径,这意味着路径的起点和终点都用同一个根时钟触发。因此,当我们定义好一个时钟后,设计中的无数路径就都得到了它们的时序需求。现在我们考虑两个触发器F1和F2,它们都由同一个时钟的上升沿触发。

在这里插入图片描述

  • 在图5.7中,该时钟信号源为CLK端口。我们在此时钟源定义一个周期为10ns的时钟,然后马上就能获得时序需求,数据从F1启动,在10ns内到达F2。我们进一步假设F2是下降沿触发的。时钟信号的占空比为50%,现在F2的有效边沿将在F1有效边沿到达后5ns出现。

  • 因此,该路径的时序需求变为了5ns,而不是10ns。以上两个实例对于时钟规格如何定义两个同步元素之间时序路径的需求提供了一个非常简单的说明。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值