【从零开始のIC学习笔记】时序分析相关指令

 记录常用指令,长期补充


1.Clk

创建时钟 -源时钟 (Mstaer Clock)     

creat_clock

  • -name clk_ref  (设置时钟名)
  • -period 10ns (设置周期)
  • -waveform{0,10} (设置占空比)
  • [get_ports ref_clk] (绑定管脚)

uncertainty

定义时钟时,可以对时钟的误差进行估计,时钟误差包括:时钟偏差(clock skew)、时钟延迟(clock delay)、时钟抖动(clock jitter)

若在最悲观的情况下,仍然可以满足建立保持时间,那么设计的安全性能够得到进一步的保证

set_clock_uncertainty -setup 0.3 [get_clocks {CLK_120M}]
set_clock_uncertainty -hold 0.2  [get_clocks {CLK_120M}]

Lantency 

时钟距离,分为从时钟源点到定义时钟距离Source Lantency以及从定义时钟到时钟网络的Network Lantency

 

#Specify a network latency(no-source option) of 0.8ns for rise,fall,max and min
set_clock+latency 0.8 [get_clocks CLK_CONFIG]
#specify a source latency:
set_clock_latency 1.9 -source [get_clocks SYS_CLK]
#Specify a min source latency:
set_clcok_latency 0.85 -source -min [get_clocks CFG_CLK]
#Specify a max source latency:
set_clock_latency 1.322 -source -max [get_clocks CFG_CLK]

生成时钟  -从时钟(generate Clock),例如自写的分频器,指定该时钟

creat_generate_clk

  • -name clk_ref  (设置时钟名)
  • -source[gets_ports ref_clk] (设置时钟源)
  • -div_by 2 (设置分频比)
  • [get_ports reg_clk] (绑定管脚)
  • -edge (沿对齐表示)
  • duty_cycle 50 (高电平所占比例)

时钟组       -指明时钟的同步异步,同步时钟可以不用太申明

set_clock_groups

  • -group CLK_1 -group CLK_2  (指定时钟)
  • -asynchronous (声明异步)
  • logically/physical exclusive(独占时钟,physical是物理上绝对不可能同时存在的时钟,logically是线路中可能一些地方可以用到)

虚拟时钟      

并不是实际存在的时钟,不绑定管脚,用来分析没有定义时钟域的部分(如串口的输入),写法与创建时钟相同,但不要绑定引脚


2.IO

分析input to reg、reg to output

设置延迟       

set_input_delay / set_output_delay

  • -clock CLK_1  (指明时钟域)
  • -max 12(延迟最大值,计算建立时间使用该值)
  • -min 12(延迟最小值,计算保持时间使用该值)
  • -from A_in -A_out (定义组合逻辑延迟,可替代虚拟时钟)
  • [get_ports ref_clk] (绑定管脚)

提示:若报错,需要单独写max,min

设置驱动      

set_input_transition(设置值)  /  set_driving_cell -lib_cell[] (选择驱动库)

set_load 10 (设置负载)


3.DRC 

通常使用max transtation和max capacitance来检查所有的ports和pins是否满足时序的要求

set_max_transition

set_max_capacitance

set_max_transition 0.6 IOBANK
#Sets a limit of 600ps on IOBANK.
set_max_capacitance 0.5 [current_design]
#Max caoacitance is set to 0.5ps on all nets in current design

4.Other

设置不检查       

set_flase_path -from A -to B  (A到B的线路不检查)

 

建立时间、保持时间检查    

set_multicycle_path - form A_q  -to B_d -setup 3 (A的输出端到B的输入端,每3个周期检查建立时间 - 0时刻A输出数据,第三个时钟沿检查)

set_multicycle_path - form A_q  -to B_d -hold 2 (A的输出端到B的输入端,每2个周期检查建立时间 -与上对应,set是n,hold为n-1 )

  • -source (-end)  (哪个时钟的边沿检查,source为输出端的边沿,end为输入端的边沿)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值