| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> [静态时序分析简明教程(二)] 基础知识:建立时间、保持时间、违例修复及时序分析路径 -> 正文阅读 |
|
[嵌入式][静态时序分析简明教程(二)] 基础知识:建立时间、保持时间、违例修复及时序分析路径 |
静态时序分析简明教程一:基础知识:建立保持时间,时序分析路径一、写在前面一个数字芯片工程师的核心竞争力是什么?不同的工程师可能给出不同的答复,有些人可能提到硬件描述语言,有些人可能会提到对于特定算法和协议的理解,有些人或许会提到对于软硬件的结合划分,作者想说,这些说法,其实对也不对,硬件描述语言,翻来覆去无非是always和assign这几个语句的反复使用,而一些基础的协议算法,深究起来其实也并不复杂,于作者而言,在常规的技能以外,有两项额外的技能颇为重要,其中之一便为sdc/STA的分析能力,它的重要之处在于作为桥梁建立了前端和后端的连接,虽然对于DE工程师而言,初版交付的sdc往往不甚准确,也没有办法通过这份sdc生成一份无误的timing report,但sdc的内容体现却是完完整整的将时序约束从行为级的描述映射到了gate level这样一个真实的电路层次上面。 1.1 快速导航链接·静态时序分析简明教程(一)绪论 二、建立时间2.1 什么是建立时间建立时间是在时钟信号有效沿到达之前,输入信号需要保持稳定的时间,假如不满足建立时间的要求,就可能产生亚稳态,这种现象被称作建立时间违例 2.2 建立时间违例的修复
其中tclk-q是数据从前一个寄存器的clk到q的时间,tlogic是寄存器间的组合逻辑,tskew是前后寄存器时钟边沿到达的时间差,T是时钟周期,移项
因此,解决建立时钟违例的方法,就是使等式的右边尽可能的大一些。 2.3 最大分析建立时间的检查可以确保移动最慢的数据也能及时到达并满足建立的标准,因此,它又被称为最大分析(max analysis)。由于建立检查考虑了最晚到达的数据,所以也被称为晚期分析(late analysis) 三、保持时间3.1 什么是保持时间保持时间是在时钟信号有效沿到达之后,输入信号需要保持稳定的时间,假如不满足保持时间的要求,也有可能产生亚稳态,这种现象被称作保持时间违例 3.2 保持时间违例的修复在考虑保持时间违例的极限情况,我们需要保证数据改变的时间比时钟沿到来的时间,至少晚一个holdtime。数据改变所需的时间,对于前一个寄存器而言,是指第二个时钟边沿到来时的数据移动的时间,对于第二个寄存器而言,也是指第二个时钟边沿到来的时间,因此我们可以列出式子如下:
其中tclk-q是数据从前一个寄存器的clk到q的时间,tlogic是寄存器间的组合逻辑,tskew是前后寄存器时钟边沿到达的时间差,移项,为了解决违例,我们的目标是使右边的值尽可能大。
我们可以增加tclk-q的值,换一些更慢的DFF,也可以增加tlogic的时间,这就是我们在本专栏绪论中所说的未必一定要减少组合逻辑delay的原因,当然,减少skew也可以解决holdtime violation的问题。 但是,修hold time violation比修setup time violation更简单,因为只需要在组合逻辑路径上插入buffer,我们就可以很迅速的解决hold time violation问题。 3.3 最小分析保持时间的检查可以确保即使是移动最快的数据也不应该干扰其他数据,同时期望数据保持稳定。因此,数据路径计算最小延迟,被称为最小分析(min analysis)由于保持检查考虑了最早到达的数据,所以也称其为早期分析(early analysis) 四、时序分析路径STA分析能够进行的基础,是任何的同步电路,时序路径都可以进行拆分,拆分成几类,统一进行建立时间、保持时间的检查,根据约束,来判断是否有违例发生。 起点:原始输入|寄存器时钟输入 不管分析什么样的电路,STA的路径都可以根据上面的起点终点进行拆分,如下列表所示,这四条时序路径就是所有STA分析时需要检测的路径。
五、裕度(slack)裕度是指:满足电路最低建立时间、保持时间以外的额外的冗余量,因此:我们通常情况下希望,首先,电路是不能有违例的,其次,冗余量越大越好。 5.1 建立slack建立slack = 数据建立要求 - 最后一个到达的信号 5.2 保持slack保持slack = 最早到达的信号 - 数据稳定的要求 六、总结STA的核心就是对电路,尤其是寄存器进行建立时间和保持时间的分析,计算分析路径的裕度,因此我们在基础知识的介绍中,也是就此方面介绍有关setup time/hold time/violation repair/slack等内容,其实抛开STA/SDC外,这些知识在面试笔试中也是属于经常见到的常见考点,需要读者们重点掌握,而在基础知识外,下一节,我们会拿出真实的timing report,来看一看报告上面能读出什么有价值的信息。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 21:37:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |