购物网站建设思维导构图,网站建设简单合同模板,网站搭建设计 是什么,小米4路由器可以做网站嘛今天没有具体的数字IC后端lab实验。今天的重点是熟悉掌握静态时序分析STA中的几类timing path以及setup和hold检查机制#xff08;包含setup和hold计算公式#xff09;。
芯片流片失败的那些故事
数字后端零基础入门系列 | Innovus零基础LAB学习Day5
等大家把今天内容学习…今天没有具体的数字IC后端lab实验。今天的重点是熟悉掌握静态时序分析STA中的几类timing path以及setup和hold检查机制包含setup和hold计算公式。
芯片流片失败的那些故事
数字后端零基础入门系列 | Innovus零基础LAB学习Day5
等大家把今天内容学习完建议做下下面这道数字后端经典时序计算题每年秋招必考题目。
对于如下电路图
1.求出该电路所能达到的最大频率? 10分
2时钟频率为50M该电路是否有时序违规?如果有写出计算过程并给出修改意见.10分
图中Timing参数解释
Thold Hold time最小时间
TSu Setup time最小时间
TCq Clock- Q delay
输入IN的Input Delay恒为0.5ns. 静态时序分析STA中四种基本Timing Path: 静态时序分析时工具会把设计拆成四种基本path来做时序分析。无论设计有多复杂也只有这四种情况。它包含in2reg,reg2reg,reg2out,in2outfeedthrough。
四种基本时序路径
PATH1: 输入端口input----------- 寄存器的数据输入端 in2reg path
PATH2: 寄存器CLK------------ 寄存器的数据输入端 reg2reg path 内部路径
PATH3: 寄存器CLK------------- 输出端口output reg2out path
PATH4: 输入端口input------------- 输出端口output feedthrough path直通路径 所以知道了这四种基本timing path后我们就知道每种路径对应的起点和终点即timing report中的start point 和endpoint。
EndPoint: 时序path上的终点。
从上面的介绍我们就可以知道有效的endpoint必须是以下几种情况
1寄存器/macro的数据输入端
2输出端口port
StartPoint: 时序path上的起点。
与之对应startpoint必须是以下几种情况
1寄存器/macro的时钟输入引脚(或输出端)
2输入端口port
Clock Path: 时钟路径它是指时钟树上的clock tree。
Data Path: 数据路径它包括数据路径上的组合逻辑。
Clock path和Data path对应的路径已经标注在下图。
从时钟定义端口到寄存器macro和IP时钟端的路径我们称之为时钟路径即Clock path。
除了clock path外其他都属于数据路径即data path。比如上面两个寄存器之间的逻辑路径就是data path。
Launch Flop Capture FlopLaunch Flop就是指发送数据的寄存器而Capture Flop是指接收采样捕捉数据的寄存器。值得注意的是这是相对某一条path来说的。对于input到reg的时序路径这颗reg是capture flop但对从这颗reg到下一个reg的路径来说这个reg就是launch flopFlop就是寄存器的意思。
Launch clock path Capture clock path有了上面这些铺垫后launch clock path和capture clock path就很清晰了。对于下图所示的这条timing path来说UFF0就是launch FlopUFF1是capture Flop。
所以launch clock path就是从CLKM port到UFF0/CK 的路径。capture clock path就是从CLKM port到UFF1/CK的路径这里是举同步的例子寄存器的时钟源头都是CLKM。
那么自然而然所谓的common clock path就是launch clock path和capture clock path共同的部分即下图所示的前面两颗clock inverter(buffer)。 Setup Time: 静态时序分析中最基本的就是setup和hold时序分析其检查的是触发器时钟端CK与数据输入端D之间的时序关系。Setup time是指在时钟有效沿下图为上升沿之前数据输入端信号必须保持稳定的最短时间。setup time值工具是根据查找时序库lib来获取的它和两个input transition值有关。 Hold time: 它是指在时钟有效沿下图为上升沿之后数据输入端信号必须保持稳定的最短时间。hold time时序检查确保新数据不会在触发器稳定输出初始数据之前过早到达D端而覆盖其初始数据。
Setup Hold详细分析
以下图电路为例来分析建立时间及保持时间。发送数据的触发器称为Launch flip-flop接收/捕获数据的触发器称为Capture flip-flop。两触发器时钟端信号为同一时钟。
如下图所示launch_path为
CLKM→BUF(launch)→UFF0/CK→UFF0/Q→Comb_logic→UFF1/D;
capture path为 CLKM→BUF(capture)→UFF1/CK;
1Setup Time
两触发器间的数据传输通常需要在一个时钟周期内完成。
数据到达UFF1/D所需时间Arrival time为
Ta T_launch T_ck2q T_dp
满足setup要求时所允许的最长时间Required time为
Tr T_capture T_clk - T_setup
因此setup time要求可表示为Tr - Ta T_margin 0。
根据setup time要求还可表示为
T_launch T_ck2q T_dp T_margin T_setup T_capture T_clk
其中
T_launchCLKM到UFF0时钟端CK的延时
T_ck2qUFF0的CK-Q的传输时间
T_dp组合逻辑延时
T_margin设计裕量
T_setupUFF1的setup时间要求
T_captureCLKM到UFF1时钟端CK的延时
T_clk: 时钟周期
由此可见setup检查发生在不同时钟边沿与时钟频率有关。
2Hold Time
数据到达UFF1/D所需时间Arrival time为
Ta T_launch T_ck2q T_dp
满足hold要求时所允许的最短时间Required time为
Tr T_capture T_hold
因此hold time要求可表示为Ta - Tr T_margin 0。
hold time还可表示为
T_launch T_ck2q T_dp T_capture T_hold T_margin
其中
T_launchCLKM到UFF0时钟端CK的延时
T_ck2qUFF0的CK-Q的传输时间
T_dp组合逻辑延时
T_holdUFF1的hold时间要求
T_margin设计裕量
T_captureCLKM到UFF1时钟端的延时
T_clk: 时钟周期
由此可见hold检查发生在同一时钟边沿与时钟频率无关。