数字后端零基础入门系列 | Innovus零基础LAB学习Day6
今天没有具体的数字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,in2out(feedthrough)。
四种基本时序路径
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 Flop:Launch Flop就是指发送数据的寄存器,而Capture Flop是指接收(采样捕捉)数据的寄存器。值得注意的是这是相对某一条path来说的。对于input到reg的时序路径,这颗reg是capture flop,但对从这颗reg到下一个reg的路径来说,这个reg就是launch flop(Flop就是寄存器的意思)。
Launch clock path & Capture clock path:有了上面这些铺垫后,launch clock path和capture clock path就很清晰了。对于下图所示的这条timing path来说,UFF0就是launch Flop,UFF1是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;
(1)Setup 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_launch:CLKM到UFF0时钟端CK的延时
T_ck2q:UFF0的CK->Q的传输时间
T_dp:组合逻辑延时
T_margin:设计裕量
T_setup:UFF1的setup时间要求
T_capture:CLKM到UFF1时钟端CK的延时
T_clk: 时钟周期
由此可见,setup检查发生在不同时钟边沿,与时钟频率有关。
(2)Hold 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_launch:CLKM到UFF0时钟端CK的延时
T_ck2q:UFF0的CK->Q的传输时间
T_dp:组合逻辑延时
T_hold:UFF1的hold时间要求
T_margin:设计裕量
T_capture:CLKM到UFF1时钟端的延时
T_clk: 时钟周期
由此可见,hold检查发生在同一时钟边沿,与时钟频率无关。
相关文章:

数字后端零基础入门系列 | Innovus零基础LAB学习Day6
今天没有具体的数字IC后端lab实验。今天的重点是熟悉掌握静态时序分析STA中的几类timing path以及setup和hold检查机制(包含setup和hold计算公式)。 芯片流片失败的那些故事 数字后端零基础入门系列 | Innovus零基础LAB学习Day5 等大家把今天内容学习…...

(Linux驱动学习 -13).SPI驱动实验
目录 一.SPI驱动相关结构体与函数 1.struct spi_master 结构体 2.申请 spi_master - spi_alloc_master 3.释放 spi_master - spi_master_put 4.向内核注册 spi_master - spi_register_master 5.注销掉 spi_master 6.struct spi_driver 结构体 7.向内核注册 spi_driver -…...
Angular 框架入门教程:从安装到路由、服务与状态管理详解
一、引言 在前端开发领域,Angular 是一个强大且流行的框架。它由 Google 维护,基于 TypeScript,采用模块化设计,提供了组件化开发、依赖注入、路由、表单处理等丰富功能,旨在帮助开发者构建高效、可维护的单页应用程序…...

【华为HCIP实战课程十八】OSPF的外部路由类型,网络工程师
一、外部路由类型: 上节讲的外部路由类型,无关乎COST大小,OSPF外部路由类型1优先于外部路由类型2 二、转发地址实验拓扑 我们再SW3/R5/R6三台设备运行RIP,SW3即运行RIP又运行OSPF SW3配置rip [SW3-rip-1]ver 2 [SW3-rip-1]network 10.0.0.0 AR5去掉ospf配置和AR6配置rip…...
oss 简单命令(已亲测)
1、 服务器本地文件复制到OSS指定目录 ./ossutil cp -r /opt/post/afc/afcServer/afcenter/logs/ oss://oss-name/ScBak/20230608/ -c /opt/post/ossconfig 2、在oss服务器上创建文件夹 ./ossutil mkdir oss://oss-name/ScBak/20230608/dam -c /opt/post/ossconfig 3、查…...

申请https证书
引入证书: 当服务器使用HTTPS之前都会申请一份证书,证书是为了证明服务端公钥的权威性,服务器向浏览器传输证书,浏览器再从证书里获取公钥,证书明文数据签名。 如何理解CA签发证书的过程 a.CA会有自己的公钥 和 私钥ÿ…...

trtexec 工具使用
本文介绍trtexec工具的使用,trtexec可以实现onnx模型导出trt模型、耗时分析和模型优化分析等功能,本节将对 trtexec的运用进行介绍。 1.trtexec trtexec是官方提供的命令行工具,主要用于一下三个方面 生成模型序列化文件:由ONNX文…...

10款具备强大数据报告功能的电脑监控工具,办公电脑怎么监控
数据报告功能是电脑监控软件的重要特性,它能够帮助管理者全面了解员工的工作行为、应用使用情况,并生成详细的生产力分析报告。以下是10款具备强大数据报告功能的监控工具推荐,帮助企业有效管理和提升工作效率。 1. 固信软件 固信软件不仅是…...
如何理解Linux中的进程名
目录 一:程序的概念二:进程的概念三:线程的概念四:Linux中的进程名 一:程序的概念 程序就是采用某种特定格式编写的文本文件,该文件可以给编译器或者解释器编译和解释。编写好的程序平时存放在硬盘中。 二…...

微信红包设计流程讲解与实战分析
#1024程序员节 | 征文# 前言 微信红包作为大家耳熟能详的一种互动方式,其背后的技术支持包含多个方面。从用户发出红包到红包被抢完,涉及到的流程包括发红包、红包存储、红包拆分以及抢红包等。本文将详细介绍这一系列流程,并通过代码案例来…...

AI智能体:AI智能体(Agent)是什么?为什么要学?99%的人不知道!
为什么要学? 我们先搞清楚为什么? 最近看到 AI 创新力五问,我们日常生活中有使用 AI 来融入到我们的学习工作流嘛? 值得我们日常反省。 未来企业人才招聘测试AI创新力的五问: 您是否处于每天习惯使用 AI 的状态&am…...

NVR小程序接入平台/设备EasyNVR多个NVR同时管理的高效解决方案
在当今的数字化安防时代,视频监控系统的需求日益复杂和多样化。为了满足不同场景下的监控需求,一种高效、灵活且兼容性强的安防视频监控平台——NVR批量管理软件/平台EasyNVR应运而生。本篇探讨这一融合所带来的创新与发展。 一、NVR监测软件/设备EasyNV…...
APS开源源码解读: 排程工具 optaplanner II
上篇 排产,原则上也就是分配时间,分配资源;保证资源日历约束,保证工艺路线约束。我们看一下如何实现optaplanner 优化的 定义一个move, 一个move可能改变了分配到的资源,也可能改变了一个资源上的顺序。改变即意味着优…...

科技是把双刃剑,巧用技术改变财务预测
数字化和全球化的双向驱动,引领我国各行各业在技术革新的浪潮中不断扬帆。这一趋势不仅带来了前所未有的突破与创新,推进企业迈向数据驱动决策的新未来,同时也伴随着一些潜在的问题和挑战。科技的普及就像是一场革命,在财务管理领…...

vscode默认添加python项目的源目录路径到执行环境(解决ModuleNotFoundError: No module named问题)
0. 问题描述 vscode中编写python脚本,导入工程目录下的其他模块,出现ModuleNotFoundError: No module named 错误 在test2的ccc.py文件中执行print(sys.path) 查看路径 返回结果发现并无’/home/xxx/first_demo’的路径,所以test2下面的文…...

【每日刷题】Day143
【每日刷题】Day143 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 200. 岛屿数量 - 力扣(LeetCode) 2. LCR 105. 岛屿的最大面积 - 力扣&…...

基于Springboot智能学习平台的设计与实现
基于Springboot智能学习平台的设计与实现 开发语言:Java 框架:springboot JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:idea 源码获取:https://download.csdn.net/downlo…...

黑马javaWeb笔记重点备份11:Web请求与响应
请求 SpringBoot内置Servlet 在Tomcat这类Web服务器中,是不识别我们自己定义的Controller的,但在tomcat中是可以识别 Servlet程序的。在SpringBoot进行web程序开发时,它内置了一个核心的Servlet程序 DispatcherServlet,称之为 核…...
H5对接海康硬盘录像机视频简单说明
开发过程中使用HTML5(通常是通过Web技术栈,如HTML、CSS、JavaScript)与海康威视(Hikvision)的硬盘录像机(DVR)进行视频对接,通常涉及以下步骤: 获取DVR的RTSP流地址:海康威视DVR支持RTSP协议,你可以通过DVR的管理界面获取每个摄像头的RTSP流地址。 使用视频播放器库…...

测试人必备的Linux常用命令大全...【全网最全面整理】
Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...

算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...