我是靠谱客的博主 殷勤裙子,最近开发中收集的这篇文章主要介绍数字电路静态时序分析基础三建立静态时序分析的环境,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

数字电路静态时序分析基础

  • 建立静态时序分析的环境
    • 1. 时钟约束
      • 1.1 建立时钟 creat_clock
      • 1.2 时钟不确定性 set_clock_uncertainty
      • 1.3 时钟延迟 set_clock_latency
      • 1.4 生成时钟 creat_generate_clcok
    • 2. 外部约束
      • 2.1 输入延时 set_input_delay
      • 2.2 输出延时 set_output_delay
    • 3. DRC
    • 4. Virtual clock
    • 5. Refining the Timing Analysis

来源:IC创新学院 方便自己查看

建立静态时序分析的环境

  • 目的:建立静态时序分析的约束 (.sdc)

1. 时钟约束

1.1 建立时钟 creat_clock

  • clock source 时钟的源点
  • period 时钟的周期
  • Duty cycle 占空比
  • Edge times 边缘翻转的时间

creat_clock -name SYSCLK -period 20 -waveform {0 5} [get_ports SCLK]

在这里插入图片描述

creat_clock -period 5 [get_ports CLK]
creat_clock -name BDYCLK -period 15 -wave {5 12} [get_ports GBLCLK]

在这里插入图片描述

1.2 时钟不确定性 set_clock_uncertainty

set_clock_uncertainty -setup 0.2 [get_clocks CLK_CONFIG]
set_clock_uncertainty -hold 0.05 [get_clocks CLK_CONFIG ]

在这里插入图片描述

set_clock_uncertainty -from VIRTUAL_SYS_CLK -to SYS_CLK -hold 0.05
set_clock_uncertainty -from VIRTUAL_SYS_CLK -to SYS_CLK -setup 0.3
set_clock_uncertainty -from SYS_CLK -to CFG_CLK -hold 0.05
set_clock_uncertainty -from SYS_CLK -to CFG_CLK -setup 0.1

在这里插入图片描述
set_clock_uncertainty 来源

  • clock skew时钟偏差
  • clock delay时钟延迟
  • clock jitter 时钟抖动
    在这里插入图片描述

1.3 时钟延迟 set_clock_latency

两部分组成

  • source latency: PPL-> 定义的时钟点
  • network latency : 定义的时钟点->触发器

set_clock_latency 0.8 [get_clocks CLK_CONFIG]
set_clock_latency 1.9 -source [get_clocks SYS_CLK]
set_clock_latency 0.851 -source -min [get_clocks CFG_CLK]
set_clock_latency 1.322 -source -max [get_clocks CFG_CLK]

在这里插入图片描述

1.4 生成时钟 creat_generate_clcok

  • 二分频时钟:由主时钟生成二分频的时钟,需要保持继承性

creat_clock -name CLKP 10 [get_pins UPLL0/CLKOUT] //master clock
creat_generate_clcok -name CLKPDIV2 -source UPLL0/CLKOUT -divied_by 2 [get_pins UFF0/Q] //generated clock

在这里插入图片描述

2. 外部约束

2.1 输入延时 set_input_delay

set Tclk2q 0.9
set Tcl 0.6
set_input_delay -clock CLKA -max [expr Tclk2q + Tcl] [get_ports INP1]

在这里插入图片描述

  • 设置最大最小,分别针对建立时间和保持时间
    在这里插入图片描述

2.2 输出延时 set_output_delay

out到输出的时间

set Tc2 0.9
set Tsetup 1.1
set_output_delay -clock CLKQ -max [expr Tsetup + Tc] [get_ports OUTB]

在这里插入图片描述

  • 最大延迟7.4 = Tsetup + Tc2

  • 最小延迟 6.8 = Tc2 - Thold
    在这里插入图片描述

  • 时序路径分组

  • 终点属于哪个时钟就输入哪个时钟的path
    在这里插入图片描述

  • 属性设置

  • 指定端口的时候还会有一些额外属性。
    对于input这些属性主要包括:
    set_drive
    set_driving_cell
    set_input_transition

  • 对于output要指定以下属性:
    set_load
    在这里插入图片描述

在这里插入图片描述

  • 通过库参数设置
    在这里插入图片描述
  • output 的负载默认是0(理想)
  • 在这里插入图片描述

3. DRC

  • set_max_transition
  • -set_max_capacitance
    在这里插入图片描述
  • set_max_fanout
  • set_max_area

在这里插入图片描述

4. Virtual clock

  • 指定input或output相关的一个时钟
    在这里插入图片描述
  • 定义 :不需要指定管脚
    在这里插入图片描述

5. Refining the Timing Analysis

让静态时序变得更精细化

  • set_case_analysis
    在静态时序分析过程不分析DFT的TEST时钟相关
    在这里插入图片描述

  • set_disable_timing
    设置不分析非时序路径
    在这里插入图片描述

  • set_false_path
    伪时序路径:如跨时钟域
    在这里插入图片描述

  • set_multicycle_path
    设置多周期约束,前端人员指定
    在这里插入图片描述

最后

以上就是殷勤裙子为你收集整理的数字电路静态时序分析基础三建立静态时序分析的环境的全部内容,希望文章能够帮你解决数字电路静态时序分析基础三建立静态时序分析的环境所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部