原来电路最高工作频率是这么算出来的(STA基础篇)

文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点。点击进去后出现任何损失与社区无关。

近期不断收到各位粉丝的提议,希望小编多讲些数字 IC 设计实现中的基本概念。小编想了想,干货太多了,可能有的人会觉得口渴,甚至消化不了,后续会在保持干货的同时,陆续讲些比较基础的概念。小编的公众号的内容会涉及到数字 IC 设计实现中的各个环节,从逻辑综合,布局布线,物理验证,静态时序分析,IR drop 等方面。干货多多,就看你爱不爱学习了,还没关注公众号的小伙伴们,赶紧关注了,机不可失!今天吾爱 IC 社区的小编给各位介绍 STA 中最基本的概念以及教你如何计算 setup,hold slack 以及如何计算电路的最高工作频率。想要加入吾爱 IC 微信技术交流群的朋友,请添加小编微信后,邀请入群(目前人数高于 100 人,只能邀请入群)。

什么是 STA(Staic Timing Analysis)?

  • 静态时序分析是用于验证数字设计时序的技术之一

  • STA 是静态的,因为设计的分析是静态执行的,并且不依赖于在设计的输入所施加的数据值

  • STA 是对设计的所有时序检查的完整和详尽的验证

为什么要做 STA ?

  • 时序分析方法只能验证由 simulus 执行的设计部分

  • 通过时序仿真进行验证只与使用的测试向量一样详尽。

  • 为了模拟和验证具有 10-100 万个门的设计的所有时序条件非常缓慢并且不能完全验证时序。

所以,STA 提供了更快,更简单的方法来检查和分析设计中的所有时序路径,以防止任何时序违规。

Dynamic Timing Analysis (DTA) :

  • 动态时序分析需要全面的输入向量来检查设计中的时序路径

  • 它确定给定输入向量集合的电路的完整行为

  • 动态仿真可以验证设计的功能以及时序要求

动态时序分析和静态时序分析的区别如下图一所示。

图 1 DTA 和 STA 的对比

举个例子, 如果我们有 100 个输入,那么我们需要 2 的 100 次方次才能遍历完成整个分析。与静态分析相比,分析量简直是天文数字。

图 2 静态时序分析的输入和输出文件

静态时序分析中的一些专业术语:

  • Setup Time : 在时钟有效沿之前,输入数据必须保持稳定的最小时间,称之为建立时间。

  • Hold Time : 在时钟的有效沿之后,输入数据必须保持稳定的最小时间,称之为保持时间。

图 3 setup time 和 hold time

Launch 和 Capture edge :

·

  • Launch edge 是指时钟通过触发器来发射数据的沿 edge

  • Capture edge 是指时钟通过触发器捕获数据的沿 edge

Setup timing checks:

setup 检查确保数据在时钟的有效沿之前在触发器的输入端可用。

在时钟的有效边沿到达触发器之前,数据应该稳定一段时间,即触发器的建立时间,以便将数据可靠地捕获到触发器中。

setup 检查可确保从前一时钟周期启动的数据,在一个周期后能够正确捕获。

图 4 setup 检查波形图

Setup 万能套用公式:

[Tlaunch + Tck2q + Tdp] <= [Tcapture + TCLK – Tsetup]

Hold timing checks :

hold 检查是确保时钟有效沿来临之后的一段时间内,数据仍然保持稳定,从而确保 capture 时不至于采集到不稳定或者错误的数据。

图 5 hold 检查波形图

Hold 万能套用公式:

[Tlaunch + Tck2q + Tdp] >= [Tcapture + Thold]

setup 和 hold 的检查机制,也可以阅读之前推送的文章。

深入浅出讲透 set_multicycle_path,从此彻底掌握它

Slack(裕量) :

Slack 是指数据需要达到时间和实际达到时间之差。

Data Arrival Time : 数据在 datapath 上传输的时间

Data Required Time : 时钟在 clock path 上传输的时间

Setup Slack = Data Required Time – Data Arrival Time

Hold Slack = Data Arrival Time – Data Required Time

有了 setup 和 hold 概念和计算公式后,很容易就能知道如何去 fix setup and hold violation。这个很简单,大家自己多多总结。之前推送的文章数字芯片设计实现中修复 setup 违例的方法汇总 系统全面介绍过修复 setup violation 的方法,各位可以前往复习下。

介绍这些基本概念后,我们来个实战。下面这道题是某公司应届生校园招聘的笔试题目,大家做做看。计算电路最高工作频率的面试题数不胜数,几乎一大半的公司都会考这种题。目的是考察应聘者是否熟悉 setup,hold 检查的方式,是否具备基本的时序分析能力。这道题如果你还不会做或者会做错,请给自己敲个警钟。其实这道题还算简单的,如果存在多条路径到 FF2 的情况,你是否也能正确算出电路的最高工作频率呢?反正原理是一样的。

图 6 电路最高工作频率思考题

如果你对这答题的答案比较困惑,如果你很迫切想知道答案,可以转发本文到朋友圈,集齐 50 个赞,将截图发送到公众号,可以快速获取正确答案。

相关文章推荐(不看保证后悔)

数字后端面试问答 No.1-3(每日三问)

秒杀数字后端实现中 clock gating 使能端 setup violation 问题

教你轻松调 DCT 和 ICC 之间 Timing 与 Congestion 的一致性

数字芯片设计实现中修复 setup 违例的方法汇总

数字 IC 设计中 ECO 的那些事,其实并不是事!

Scan chain reordering 怎么用你知道吗?

如何评价数字后端设计中 floorplan 的好坏?

数字后端实现时 congestion 比较严重,你 hold 得住吗?

数字后端实现 place 过程进阶

Final netlist release 前,你应该做好哪些工作?

基于 Physical Aware 的动态功耗优化实现方案

深入浅出讲透 set_multicycle_path,从此彻底掌握它

【大师必备】最全的数字 IC 设计经典书籍电子版下载

你与数字后端大神的差距在这里,快来瞧瞧!

数字后端实现时 congestion 比较严重,你 hold 得住吗?

时钟树综合(clock tree synthesis)基础篇

【福利】数字 IC 后端各种 Userguide 下载

好了,今天的内容分享就到这里。另外,因为公众号更改推送规则,小编分享的每篇干货不一定能及时推送给各位。为了避免错过精彩内容,请关注星标公众号,点击 “在看”,点赞并分享到朋友圈,让推送算法知道你是社区的老铁,这样就不会错过任何精彩内容了。

如果你想和小编有更进一步的沟通交流的机会,欢迎加入小编知识星球,让我们一起学习成长,共同进步。相信在这里能让你成就一个更完美的自己

小编知识星球简介(如果你渴望进步,期望高薪,喜欢交流,欢迎加入 ****):

在这里,目前已经规划并正着手做的事情:

  • ICC/ICC2 lab 的编写

  • 基于 ARM CPU 的后端实现流程

  • 利用 ICC 中 CCD(Concurrent Clock Data)实现高性能模块的设计实现

  • 基于 ARM 四核 CPU 数字后端 Hierarchical Flow 实现教程

  • 时钟树结构分析

  • 低功耗设计实现

  • 定期将项目中碰到的问题以案例的形式做技术分享

  • 基于 90nm 项目案例实现教程(ICC 和 Innovus 配套教程)

  • 数字 IC 行业百科全书

吾爱 IC 社区知识星球星主为公众号” 吾爱 IC 社区” 号主,从事数字 ic 后端设计实现工作近八年,拥有55nm,40nm,28nm,22nm,14nm等先进工艺节点成功流片经验,成功tapeout 过三十多颗芯片

这里是一个数字 IC 设计实现高度垂直细分领域的知识社群,是数字 IC 设计实现领域中最大,最高端的知识交流和分享的社区,这里聚集了无数数字 ic 前端设计,后端实现,模拟 layout 工程师们。

在这里大家可以多建立连接,多交流,多拓展人脉圈,甚至可以组织线下活动。在这里你可以就数字 ic 后端设计实现领域的相关问题进行提问,也可以就职业发展规划问题进行咨询,也可以把困扰你的问题拿出来一起讨论交流。对于提问的问题尽量做到有问必答,如遇到不懂的,也会通过查阅资料或者请教专家来解答问题。在这里鼓励大家积极发表主题,提问,从而促进整个知识社群的良性循环。每个月小编会针对活跃用户进行打赏。

最重要的是在这里,能够借助这个知识社群,短期内实现年薪百万的梦想!不管你信不信,反正已经进来的朋友肯定是相信的!相遇是一种缘分,相识更是一种难能可贵的情分!如若有缘你我一定会相遇相识!知识星球二维码如下,可以扫描或者长按识别二维码进入。目前已经有 881 星球成员,感谢这881童鞋的支持!欢迎各位渴望进步,期望高薪的铁杆粉丝加入!终极目标是打造实现本知识星球全员年薪百万的宏伟目标

欢迎关注 “吾爱 IC 社区

微信号:ic-backend2018

https://mp.weixin.qq.com/s/lovW_PCK_xn2mYMUy3hgoA

原来电路最高工作频率是这么算出来的(STA基础篇)相关推荐

  1. 计算机硬件技术 教案,教案07-计算机硬件技术基础.doc

    教案07-计算机硬件技术基础 计算机硬件技术基础第 次课 在8位CPU组成的微机系统中,CPU可访问的地址为64KB,地址范围为0000H-FFFFH存储器容量的扩充 存储器的总容量通常比单个芯片容量 ...

  2. 大数据应用之双色球算奖平台总体设计大纲篇一

    大数据应用之双色球算奖平台总体设计大纲篇一 作者:张子良 版权所有,转载请注明出处 引子:双色球延期开奖,你Hold住了吗 福利彩票走进百姓生活,每期的500w大奖吸引了千万彩民的眼球和关注,备受争议 ...

  3. 文献调研——存算一体的一些基础知识

    SSD课程背景知识学习 主要包含: Part 1 存算一体的相关概念 Part 2 SSD基本结构 一.Why 人工智能芯片: 边缘市场-终端推理手机,可穿戴智能家居 要求低成本低功耗 -推理芯片 云 ...

  4. 数据结构与算法之美笔记——基础篇(下):图、字符串匹配算法(BF 算法和 RK 算法、BM 算法和 KMP 算法 、Trie 树和 AC 自动机)

    图 如何存储微博.微信等社交网络中的好友关系?图.实际上,涉及图的算法有很多,也非常复杂,比如图的搜索.最短路径.最小生成树.二分图等等.我们今天聚焦在图存储这一方面,后面会分好几节来依次讲解图相关的 ...

  5. 【单片机基础篇】rc延迟电路

    rc延迟电路 电路的延时时田可通过R或C的大小来调整,但由于延时电路简单,存在着延时时间短和精度不高的缺点.对于需要延时时间较长并且要求准确的场合,应选用时间继电器为好. 功能实验演示 首先我们将电容 ...

  6. 5.深入浅出:多级放大电路种类及动态分析——参考《模拟电子技术基础》清华大学华成英主讲

    学习了晶体管和场效应管的单级放大电路,但是我们会发现很多时候单级放大电路不能同时满足多个条件时,比如: 此处放大倍数很大,单级放大电路明显不能满足要求.此时就需要耦合连接多个放大电路.: 直接耦合 T ...

  7. 12.深入浅出:交流负反馈对放大电路性能的影响——参考《模拟电子技术基础》清华大学华成英主讲

    本节内容主要帮助大家理解引入交流负反馈会对放大电路的性能产生哪些影响,如何影响的:学习本节之后,将学会如何根据需求引入合适的负反馈,更加深入理解各种反馈的作用! 目录 反馈能提高稳定性(以发射极电阻R ...

  8. 【FPGA——基础篇】如何理解时序电路

    一.概述 时序逻辑示意图,如下图所示.数据从一个寄存器出来,经过组合逻辑到达下一个寄存器. 在学习数字电路的过程中,我们都知道时序逻辑,但是大家对时序逻辑真的了解吗? (1)纯组合逻辑电路的缺点在哪? ...

  9. 并不算复杂的正则表达式基础

    定义:正则用于规定在文本中检索的内容,它是对字符串执行模式匹配的强大工具 RegExp(正则表达式) 对象的语法: new RegExp(pattern, attributes); pattern为一 ...

  10. 要用计算机才能算的题,计算机基础题精选,要考90分以上的同学进考场前必看 -电脑资料...

    一.单选题练习 3.用一个字节最多能编出( D )不同的码, A. 8个                B. 16个          C. 128个           D. 256个 7.RAM代 ...

最新文章

  1. andorid 启动模式面试题
  2. Java动态代理代码快速上手
  3. php mysql 性能测试工具_高性能MySQL–MySQL基准测试
  4. 我作为开发者犯过的两次愚蠢的错误
  5. 【CV】图像分析用 OpenCV 与 Skimage,哪一个更好?
  6. Eclipse 内置浏览器
  7. Linux--date命令 date命令
  8. Wince6.0 cleartype
  9. 2020 q5l使用手册电子版_关于2020下半年自考本科毕业生论文预答辩题目查询的通知...
  10. 慎用 supportedRuntime
  11. jQuery和CSS3炫酷滚动页面内容元素动画特效
  12. linux中如何解决文件已删除但空间不释放的案例
  13. 69-Python的匿名函数1
  14. 2021-08-30缺失的第一个正数
  15. 操作抖音取名项目日赚 500 实战案例分析
  16. 苹果id可以彻底注销吗_如何注销苹果id账号
  17. 【逻辑思考】有时评论比内容更精彩
  18. latex教程——读书笔记整理(三)——数学公式
  19. kafka指定偏移量拉取与偏移量半自动提交
  20. Java中的魔法值介绍及解决办法

热门文章

  1. 异数OS 织梦师-水桶(三)-- RAM共享存储方案
  2. 中国低线城市洞察综述
  3. 解决谷歌浏览器 Google Chrome不能拖拽安装离线插件的办法
  4. 统计字符数 —— C++
  5. LOAP its implimenlation
  6. SPSS实现距离分析
  7. 使用hexo+github搭建免费个人博客详细教程
  8. php请求传感器数据流通道号,一汽大众发动机数据流与通道号 匹配设定数据
  9. python滤波器处理数据的优点_使用Python对原始信号应用合适的butterworth滤波器
  10. Postfix权威指南阅读笔记