【STA】(1)引言

news2024/11/29 22:39:50

目录

1. 纳米级设计

2. 什么是STA

3. 为什么要进行STA

4. 设计流程

5. 不同阶段的STA

6. STA的局限性


1. 纳米级设计

        在半导体器件中,金属互连线通常被用来连接电路中的各个部分,进而实现整个芯片。随着制造工艺的进一步缩小,这些互连线对芯片性能的影响开始显现。对于深亚微米(≤0.25um)或者纳米级(≤0.1um)的工艺,互连线之间的耦合电容会引起噪声串扰,而这两者都会限制芯片的运行速度。在老旧工艺中,噪声和耦合效应都是可以忽略不计的,而现在它们在纳米级工艺中扮演重要的角色。所以物理实现(Physical Design,或者叫后端设计)和设计验证(Design Verification)都应该考虑串扰和噪声的影响。

2. 什么是STA

        STA(Static Timing Analysis,静态时序分析)是多种验证数字电路时序方法中的一种。另一种验证时序的方法是时序仿真(Timing Simulation),它不仅可以验证时序,还可以验证功能。“时序分析”这个词通常被用来指代这两种方法——STA,或者时序仿真中的一种。所以简单地说,时序分析就是指分析电路的时序问题。

        STA中的“静态”是指整个电路的分析是静态进行的,不依赖于输入端口的激励(Stimulus)。这和基于仿真的时序分析形成了鲜明对比。时序仿真时,在输入端口施加激励,电路的行为被观察和验证,然后随时间进行施加新的激励,新的电路行为被观察和验证,诸如此类。

        STA的目的就是去验证1个电路是否可以在给定的1组时钟、给定的电路外部环境下,正常工作在额定速度上。也就是说,这个电路可以安全地工作在指定的时钟频率上而没有任何时序违例(Timing Violations)。我们平常主要关注的就是建立时间检查(Setup Timing Check)。建立时间检查保证了数据可以在给定的时钟周期内到达触发器(Flip-Flop)。而保持时间检查则是保证了数据至少稳定了一段时间,没有预料之外的数据到达触发器。上述这些就保证了触发器可以采到正确的数据并且为新的状态保持好这些数据

相对于时序仿真来说,STA的特点有:

        ①速度快;

        ②基于形式化,数学技术而非测试向量,可以彻底验证;

        ③验证同步时钟之间的时序,不验功能。

        总的来说,STA的意义在于整个设计只需要分析一次就可以对所有的场景和路径进行必要的时序分析。因此,STA是一种完备的验证设计时序的方法。

3. 为什么要进行STA

        STA可以对设计中所有时序进行完备的验证。而时序仿真只能验证被激励执行到的部分时序,且对于大型设计来说,速度很慢。

        设计的功能和性能都会受到噪声的限制。噪声产生的原因有:信号线之间的串扰、主要输入端口或电源引入的噪声。噪声的影响会限制设计的频率,也可能会造成功能错误。所以,设计的物理实现必须验证设计具有鲁棒性(健壮性),这意味着设计可以运行在额定频率并容忍一定的噪声。

        基于逻辑仿真的验证无法处理串扰、噪声和片上变化的影响。

4. 设计流程

        在CMOS数字设计流程中,STA可以在物理实现的各个阶段中进行来确定最差的时序路径。

        当RTL级设计综合到门级网表,就可以用STA来验证设计的时序。

        STA在逻辑优化之前运行,这是为了提前确定最差或关键的时序路径。STA也可以在优化之后再次运行,这是为了检查是否还有遗留的时序违例路径需要再次优化,确定关键的时序路径。

        在物理实现的开始,时钟树被认为是理想的,即时钟树上的延迟为零。一旦物理实现开始,时钟树被综合好,STA将再次检查时序。事实上,在物理实现的过程中,可以在每个阶段执行来确定最差的时序路径

        在物理实现过程中,所有的逻辑单元被金属互连线连接起来。金属绕线的寄生RC(电阻和电容)会影响经过这些绕线的信号路径延迟。在典型的纳米级设计中,互连线的寄生参数是造成延迟和功耗损失的主要原因。所以,对设计的任何都应该评估互连线对性能(频率、功耗等)的影响。综上所述,信号线之间的耦合效应带来噪声,验证时必须考虑噪声对性能的影响。

        在逻辑设计阶段,因为没有关于布局的物理信息,可以假设互连线是理想状态的,此阶段更关注是哪些逻辑造成了最差的时序路径。还有一种技术在此阶段被用来估计互连线长度,那就是线负载模型(Wireload Model)。线负载模型会基于单元的扇出(Fan-out)估算出RC值。 (DC就是基于线负载模型的,而DCG则是在后端反馈def后运行,多了物理的东西,更加准确)

        在完成绕线之前,后端工具会预估绕线的距离来得到该绕线的RC寄生参数。因为没有最终确定,这一阶段被称为全局布线(Global Route),和它对应的阶段是最终布线(Final Route)。在全局布线阶段,用简化的绕线来估计绕线长度,而估计的绕线则用来电阻和电容值。这些电阻和电容值又被用来计算线延迟(Wire Delay)。在这一阶段,耦合效应是无法分析的。当精细绕线完成后,就可以提取实际的RC值来分析耦斜应的影响了。但是,物理实现工具在计算RC值时,可能仍然会使用近似值来缩短运行时间。

        提取工具是用来从绕线完成的设计中提取详细的寄生参数(RC值)。提取工具通有以下选项:在迭代优化时,用较少的运行时间得到相对较低精度的RC值;在最终验证时,用更长的运行时间得到非常精准的RC值。

        总结一下,在门级网表运行STA,需要考虑以下条件:

        1)互连线是如何建模的:理想互连线,线负载模型,具有近似RC值的全局布线,者具有精准RC值的真实布线。

        2)时钟是如何建模的:理想时钟(零延迟)或者传播时钟(真实延迟)。

        3)是否考虑信号之间的耦合效应,也就是说是否分析串扰噪声。

        图1-2似乎暗示STA是在实现过程中每个步骤以外完成的,也就是说STA是在综逻辑优化以及物理实现的每个步骤之后进行的。但实际上,这些步骤在实现功能时都进行集成的(递进的)STA。比如,逻辑优化步骤中的时序分析引擎就负责找到关键时序路径并对其优化。类似地,布局工具集成的时序分析引擎就负责在逐渐布局的过程中保持时序质量。

5. 不同阶段的STA

逻辑级(门级,没有布局布线),STA要用到以下模型:

        1)理想互连线或者基于线负载模型的互连线。

        2)带有预估时钟抖动(Clock Jitter)和时钟延迟(Clock Latency)的理想时钟。 

物理实现阶段,除了以上模型,STA还会用到:

        1)互连线:可以是使用预估RC值的全局布线,可以是提取近似RC值的真实布线,也可以是使用签核(Sign off)精度的真实布线。

        2) 时钟树:真实时钟树。

        3)包括或不包括串扰的影响。

6. STA的局限性

        虽然时序和噪声分析在任何情况下都可以很好地分析设计中的时序问题,但在最先进的工艺中仍然无法用STA来完全替代时序仿真。这是因为STA仍然无法捕捉和验证时序验证的某些方面。

STA的局限性:

        1)复位序列(Reset Sequence):要检查是否所有的触发器在收到异步或同步复位信号后都复位到所需的逻辑值,STA是做不到的。芯片可能无法退出复位状态。这是因为一些特定的声明,比如某些信号的初始值,没有被综合,且只能在仿真时验证。

        2)X状态处理:STA只能处理逻辑0和逻辑1(或者高电平/低电平)的逻辑域,或者电平上升和下降。设计中1个未知的状态X会造成不确定的值在设计中传播,STA无法进行这种检查。即使STA的噪声分析可以分析并传播设计中的毛刺,但这一类型的毛刺分析和传播与未知状态X的处理也是非常不同的,后者是纳米级设计的基于时序仿真的时序验证的一部分。

        3)PLL(Phase-Locked Loops,锁相环)设置:PLL的配置可能没有被正确读取和设置。

        4)跨异步时钟域(Asynchronous Clock Domain Crossings):STA不能检查是否使用了正确的时钟同步器,需要其他工具来保证在跨异步时钟域的地方都有正确的时钟同步器。

        5)IO接口时序:仅依靠STA的约束来指定IO接口的需求是不太可能的。举例来说,工程师可能用SDRAM仿真模型,为DDR接口选择精细的电路级仿真。这种仿真可以保证读取和写入存储器都有足够的余量,也保证在必要时可以用DLL (Delay Locked Loop,延迟锁相环) (如果有)来对齐信号。

        6)模拟和数字块(Block)之间的接口:因为STA不能处理模拟块,需要相应的验证方法来确保两种块之间的连接是正确的。

        7)伪路径:STA确保逻辑路径的时序满足所有的要求,并且标记出那些不满足要求的逻辑路径。在很多情况下,哪怕逻辑值永远不可能传播到这条路径,STA还是标记了这条路径为违例路径。这种情况的发生,通常是由于系统应用使用不到这条路径,或者互相冲突的情况发生在这条违例路径上。这些时序路径被称为伪路径,因为它们永远不会被用到。如果使用了正确的包括伪路径和多周期的时序约束,STA的结果会好很多。在大多数情况下,设计者可以运用他们对设计的内在理解来指定约束,这样在STA的过程中删除伪路径。

        8)FIFO指针不同步:当2个应该是同步的有限状态机(Finite State Machines)不同步时,STA不能发现该问题。在功能仿真时,2个有限状态机是可能一直同步并且在锁步(Lock-Step)时一起改变。但是,考虑到存在延迟,1个有限状态机可能会和另1个不同步,通常是由于1个有限状态机的复位(Reset)信号比另1个更早。STA检测不到这种情况。

        9)时钟同步逻辑:STA不能发现时钟生成逻辑和时钟定义不符。STA会假定时钟生成器会提供时钟定义里指定的波形。时钟生成逻辑可能会被错误地优化,比如,1条没有被正确约束的路径被插入1个巨大的延迟。再比如,添加的逻辑可能会改变时钟的占空比 (Duty Cycle)。STA不能检测到任何一种可能的情况。

        10)跨时钟周期的功能性行为:STA不能建模或仿真那些跨时钟周期的功能性行为变化。

尽管存在以上局限性,STA依然广泛用于验证设计的时序,而仿真(带有时序或单位延迟)则作为备用手段检查极端情况,或作为更简单的验证设计的普通功能模式。

        下一篇学习STA的具体概念。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/41393.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【电源专题】案例:不导这颗MOS管的原因是在电路上不通用?

本案例发生在MOS管替代料导入时。正常情况下在替代料导入、部品导入的时候,我们需要查看规格书。怎么查找规格书可以看文章【电子通识】芯片资料查询方法 对于一些关键的信息我们要做对比,一般来说要通过列表进行对比。但因为不同的供应商的测试标准不同,有很多是很难对比的…

信号与系统2——LTI

信号与系统2——LTI一、Introduction1. Representation of LTI systems2. Significance of unit impulse二、DT-LTI:Convolution Sum1. Output2. Impulse response of LTI system H3. Convolution sum4. Convolution Sum Evaluation Procedure5. Sequence Convoluti…

Python 数据容器(1) - list(列表)

文章目录什么是数据容器?Python中的数据容器数据容器:list(列表)基本语法案例演示列表的下标(索引)列表常用操作list容器操作总结什么是数据容器? 一种可以容纳多份数据的数据类型,容…

算法学习 | 回溯算法之深度优先搜索常见题型练习

目录 岛屿的最大面积 电话号码的字母组合 二进制手表 组合总数 活字印刷 岛屿的最大面积 题目链接:leetcode-695.岛屿的最大面积 示例 输入:grid [[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],[0,…

线程“八锁“ synchronized到底是对哪个对象加锁?

线程"八锁" synchronized到底是对哪个对象加锁? 习题一 class Number{public synchronized void a(){System.out.println("1");}public synchronized void b(){System.out.println("2");} } public class TestBlock {public static void main(…

从Zemax OpticStudio导入光学系统

摘要 ZemaxOpticStudio是一款广泛使用的光线追迹软件。VirtualLab Fusion可以从Zemax OpticStudio导入光学系统,包括完整3D位置信息和镜片玻璃。导入后,光学系统的结构数据将显示为单独的表面或可以组合成VirtualLab Fusion中的组件。VirtualLab Fusion可…

docker入门(一):在centOS虚拟机上安装docker

索引CentOS虚拟机安装1.下载CentOS镜像问题1-报错“您已输入用户名,客户机操作系统将保留此用户名”2.根据docker官方指导进行安装1.卸载旧版本(初次安装可以忽略)2.确保能联网后下载前置软件包3.设置镜像库(阿里版)4.…

CLIP后续--LSeg,GroupViT,ViLD

这个博客开了有两个月,一直没写成,最近封寝给它完成~躺平第三天 CLIP应用领域概览: 1. LSeg 原论文地址:https://arxiv.org/abs/2201.03546 代码:https://github.com/isl-org/lang-seg 这个图就很清楚的说明了zero…

mysql数据库管理

目录 一、MySQL数据库管理 1、库和表 2、常用的数据类型 3、char和varchar区别 二、查看数据库结构 三、SQL语句 1、SQL语句分类: 四、创建及删除数据库和表 五、管理表中的数据记录 六、修改表名和表结构 七、自增 八、填充 九、克隆表 十、清空表&am…

信号与系统1——Signals and Systems

信号与系统1——Signals and Systems一、Introduction1. Signals and Systems信号与系统(1) Signal信号(2) System系统2. Classification of Signals信号的分类(1) Continuous-time & discrete-time1) Continuous-Time signal连续时间信号2) Discrete-Time signal离散时间信…

【Hack The Box】linux练习-- Passage

HTB 学习笔记 【Hack The Box】linux练习-- Passage 🔥系列专栏:Hack The Box 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 📆首发时间:🌴2022年9月7日🌴 &#x1f36…

浅析数据仓库和建模理论

第一章 认识数据仓库 1.1 数据仓库概念 数据仓库,英文名称为 Data Warehouse,可简写为 DW 或 DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决…

BDD - SpecFlow SpecRun Web UI 多浏览器测试

BDD - SpecFlow & SpecRun 一个 Cases 匹配多个浏览器引言方案SpecFlow Runner profiles实现被测 Web Application创建一个 Class Libary 项目添加 NuGet PackagesSpecFlow & SpecRun 包添加 Selenium包其它包创建 Feature 文件配置 Default.srprofileDefault.srprofil…

MySQL的概念

MySQL的概念一.数据库的基本概念1、数据(Data)2、表3、数据库4、数据库管理系统(DBMS)4.1 关系数据库4.2 非关系型数据库 NoSQL5、数据库系统6、访问数据库的流程二.数据库系统发展史1.第一代数据库2.第二代数据库3.第三代数据库三…

JAVA多线程(MultiThread)的各种用法

多线程简单应用 单线程的问题在于,一个线程每次只能处理一个任务,如果这个任务比较耗时,那在这个任务未完成之前,其它操作就会无法响应。 如下示例中,点击了“进度1”后,程序界面就没反应了,强行…

类文件结构和初识一些字节码指令

文章目录类文件的结构为什么要了解字节码指令Class文件结构Java虚拟机规定的类结构魔数版本常量池访问标志类索引、父类索引、接口索引Ⅰ. interfaces_count(接口计数器)Ⅱ. interfaces[](接口索引集合)字段表集合**1. 字段表访问…

【React】使用 react-pdf 将数据渲染为pdf并提供下载

文章目录前言环境步骤1. 安装react脚手架2. 使用 create-react-app 创建项目 (首字母不要大写、不要使用特殊字符)3. 用 vscode 打开目录 react-staging4. yarn 启动项目5. 参考 react-pdf readme加入依赖6. 结合 github readme 和官方文档产出 demo 代码…

OpenGL 色彩替换

目录 一.OpenGL 色彩替换 1.IOS Object-C 版本1.Windows OpenGL ES 版本2.Windows OpenGL 版本 二.OpenGL 色彩替换 GLSL Shader三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录…

防抖debounce与节流throttle(63rd)

一、前言 当用户高频触发某一事件时,如窗口的resize、scroll,输入框内容校验等,此时这些事件调用函数的频率如果没有限制,可能会导致响应跟不上触发,出现页面卡顿,假死现象。此时,我们可以采用…

深度剖析NIKE Web3平台:为什么Web3对品牌很重要?

欢迎关注沉睡者IT,点上面关注我 ↑ ↑ 上周,NIKE 宣布了其新的 Web 3 平台 .SWOOSH,这是 NIKE Virtual Sudios (耐克虚拟工作室) 的一项新举措,将成为 NIKE 所有数字资产创作的“大本营”。继去年收购 RTFKT 之后,此次…