story · 2020年06月03日

数字IC设计基本概念之创建时钟

时序分析的一个重要部分是准确地指定时钟和相关属性,例如延迟(latency)和不确定性(uncertainty)。

EDA工具可以分析以下类型的时钟信息:

时钟网络latency:时钟网络终点相对于时钟源的延迟(latency)

时钟网络skew:时钟网络中到达各个终点的时间偏差(skew)。

对于多时钟设计,还可以指定时钟之间的偏差。

在生成时钟树之前,一般设置时钟网络为ideal

门控时钟:门控时钟是一个由门控逻辑(除了简单的缓冲器或反相器)控制的时钟信号。

生成时钟:生成时钟是由另一个时钟信号产生的,例如分频器。

创建时钟

使用create\_clock命令指定设计中的所有时钟。
这个命令在指定时钟源创建时钟。时钟源可以在输入端口(input port)或内部引脚(internal pin)。EDA工具会自动跟踪时钟网络到达其扇出的所有寄存器。

使用create\_clock命令创建的时钟是理想的。所以在创建时钟后,必须准确地描述时钟网络以执行准确的时序分析。
create\_clock命令同时也创建了一个与时钟同名的路径组(path group)。

在端口C1和CK2上创建时钟周期为10,上升沿为2,下降沿为4:

create_clock -period 10 -waveform {2 4} {C1 CK2}

63.png

EDA工具通常支持分析多个时钟设计。使用create\_clock命令的**-add**选项在同一端口或引脚上定义多个时钟。

创建虚拟时钟

可以使用create\_clock命令为外部时钟器件定义虚拟时钟(Virtual Clock)。 虚拟时钟在当前设计中没有实际时钟源,但可以使用它来设置输入或输出延迟。

要创建名为vclk的虚拟时钟

create_clock -period 8 -name vclk -waveform {2 5}

63.png

选择时钟对象

get\_clocks命令选择时钟,例如,report周期小于等于5的时钟PHI1*的属性

report_clock [get_clocks  -filter “period <= 5.0” PHI1 * ]



all\_clocks命令等同于**get\_clocks ***命令。该命令返回所有时钟对象的集合。 例如,

set_max_time_borrow 0 [all_clocks]

删除时钟对象

可以使用remove\_clock命令删除时钟对象。
例如,

remove_clock [get_clocks CLKB *]

要删除所有时钟:

remove_clock –all

reset\_design命令除了删除时钟还删除了设计中其他信息。

本文转载自公众号:芯片数字实验室
原文链接:
https://mp.weixin.qq.com/s/JsOFW0yqwguQrTx4XU1ItQ
未经作者同意,请勿转载!

推荐阅读
想了解更多内容,欢迎关注芯片数字实验室专栏
推荐阅读
关注数
12316
内容数
220
前瞻性的眼光,和持之以恒的学习~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息