STA环境
创始人
2024-06-01 03:49:04
0

目录

  • 1. CMOS逻辑门
  • 2. 波形
  • 3. 时钟
    • 3.1. 指定时钟`create_clock`
      • 时钟延迟`set_clock_latency `
      • 时钟不确定度`set_clock_uncertainty `
      • 跨时钟域`set_false_path`
    • 3.2. 衍生时钟
    • 3.3. 虚拟时钟
  • 4. 时序路径
    • 2.1. 输入路径
    • 2.2. 输出路径
    • 2.3. 点对点约束

本文介绍在执行静态时序分析(Static Timing Analysis, STA)前需要配置的环境,其实就是作SDC约束


1. CMOS逻辑门

CMOS逻辑门使用NMOS和PMOS晶体管搭建而成。如下图给出了CMOS非门的示例。

什么是MOS晶体管?MOS晶体管工作原理和VI特性详解

CMOS非门有两种稳定状态,具体取决于输入的电平状态。

当输入A为低电平(Vss或逻辑0)时,NMOS晶体管截止、PMOS晶体管导通,输出Z电平被上拉至逻辑为1的Vdd。
当输入A为高电平(Vdd或逻辑1)时,NMOS晶体管导通,而PMOS晶体管截止,输出Z电平被下拉至逻辑为0的Vss。

在这里插入图片描述
上述特性可以扩展到任何CMOS逻辑门。

在CMOS逻辑门中,输出节点通过上拉结构(由PMOS晶体管构成)连接至Vdd,并通过下拉结构(由NMOS晶体管构成)连接至Vss,来构成输出的高电平和低电平。同时上拉和下拉结构是互补的,如果上拉结构开启,则下拉结构将关闭,反之相反。以此保证输出电平只有高电平和低电平两种情况,无一例外。

基于此,可将各种CMOS逻辑门级联起来以实现更复杂的逻辑功能。

而这些CMOS逻辑门可以组合成各种基本逻辑块或称标准单元,例如与或非门、异或门、触发器等等。这些标准单元是预先设计好的,可供设计人员搭积木式的组合拼凑,实现各种功能。

2. 波形

CMOS单元电平随时间变化构成了波形,波形如下图所示,

在这里插入图片描述

而在STA中则需要根据电平变化来判断上升沿、下降沿和电压转换速率。由于上图中实际波形存在的弧形,我们用阈值来定义上升沿或下降沿的起始终止点。

例如

#下降沿的阈值点,即下降沿的终止点和起始点
slew_lower_threshold_pct_fall:30.0	
slew_upper_threshold_pct_fall:70.0#上升沿的阈值点,即下降沿的起始点和终止点
slew_lower_threshold_pct_rise:30.0
slew_upper_threshold_pct_rise:70.0

即从Vdd的70%-30%为下降沿,Vdd的30%-70%为上升沿。

在这里插入图片描述

因此有转换时间的定义

过渡时间(transition time): 阈值电压的起始点到终止点所需的时间。压摆率(Slew rate)则
是过渡时间的倒数。

当然在实际仿真和分析中,经常直接使用如下图的理想波形进行时序分析,将电平转换时间近似成零。

在这里插入图片描述

3. 时钟

时钟是时序电路的驱动源

3.1. 指定时钟create_clock

时钟树: 时序电路中从时钟源到各触发器CK端时钟路径构成的结构。

数字芯片中,触发器CK端的时钟有可能是锁相环PLL锁定出的时钟,也有可能是从外部直接输入的时钟(例如SPI的SCK),都可约束。

配置的SDC如下

# 名称: SYSCLK
# 周期: 20ns
# 占空比: 20ns内上升沿时刻为0ns,下降沿时刻为5ns
# 端口: SCLKcreate_clock -name SYSCLK -period 20 -waveform {0 5} [get_ports SCLK]

时钟延迟set_clock_latency

分为网络延迟和源延迟。

网络延迟(network latency): 表示芯片内部时钟定义到第一级触发器CK端的时钟延迟,即input2reg。

源延迟(source latency): 表示芯片外部时钟源(比如晶振时钟、数据随路时钟)到时钟定义的时钟延迟,如下图所示。

在这里插入图片描述
理论上这些时钟延迟都为0,可以在STA时使用set_clock_latency 指令指定所有终点的时钟延迟

一般指定网络延迟即可,SDC如下

# 时钟CLK_CONFIG的上升沿和下降沿时钟延迟均为0.8ns
set_clock_latency 0.8 [get_clocks CLK_CONFIG]# 时钟MAIN_CLK的上升沿时钟延迟为1.8ns
set_clock_latency 1.8 -rise [get_clocks MAIN_CLK]# 所有时钟定义的下降沿时钟延迟为2.1ns
set_clock_latency 2.1 -fall [all_clocks]# 时钟SYS_CLK的上升沿和下降沿源时钟延迟均为1.9ns
set_clock_latency 1.9 -source [get_clocks SYS_CLK]

时钟不确定度set_clock_uncertainty

从PLL出来的时钟信号周期存在一定程度的抖动。

当然理想情况下抖动为0,可以在STA时使用set_clock_uncertainty 指令设定一个时间窗口,该窗口内任何时候都有可能产生时钟沿,这样的时间窗口就可以表示抖动量。

如下图

在这里插入图片描述

时钟偏斜(clock skew): 时钟信号从时钟源PLL到达不同终点的时间差。时钟延迟和时钟抖动导致了时钟偏斜。

跨时钟域set_false_path

时钟域(clock domain): 同一个时钟驱动的一组触发器就为同一个时钟域。

在这里插入图片描述

跨时钟域: 即一个时钟域的触发器Q端到另一个时钟域的D端存在数据路径。

由于两个时钟关系不确定,必然会导致信号传输不满足setup time和holdup time,因此作STA时可以使用set_false_path设置伪路径不去分析这样的路径

在这里插入图片描述

跨时钟域行为会导致亚稳态问题产生,所以一般需要通过同步器、异步FIFO等方式作同步。

3.2. 衍生时钟

3.3. 虚拟时钟

4. 时序路径

时序路径: 信号从发起触发器(Launch Flip-Flop)D端起始,到捕获触发器(Capture Flip-Flop)D端结束构成的路径

注意“发起”和“触发”不是绝对的,一定是相对于某一条时序路径才能决定触发器到底是发起数据还是捕获数据

对于数字电路来说,需要STA分析的时序路径包括

  1. input2reg:从电路输入端到第一级触发器D端,组合逻辑,如下图路径1
  2. reg2reg:电路中发起触发器D端到捕获触发器D端,时序逻辑,如下图路径2
  3. reg2output:电路中触发器D端到输出端,组合逻辑,如下图路径3
  4. input2output:从电路输入端到电路输出端,组合逻辑,如下图路径4

时序检查就是针对以上几个时序路径的,显然最具代表性的时序路径就是第2条触发器到触发器路径
在这里插入图片描述

最大/小时序路径: 指整个电路中信号延迟最大/小的时序路径。

2.1. 输入路径

2.2. 输出路径

2.3. 点对点约束

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...