论STA | 工艺、工具、分析的本与末
人类从漫长的蒙昧中觉醒之后,不再依靠着奇装异服的巫师通灵来指导生活,巫师进化成了科学家,他们试图对周遭的一切进行概括、分类、抽象,于是有了化学、物理、数学等基科。比如一粒沙,它的化学组成是什么,物理特性是什么,可抽象成什么样的数学公式。
用沙子做成的芯片亦如此,从设计实现到生产制造,每一步的背后都是化学、物理、数学。这些对一线工人硅农而言太过深奥,即使大部分的他们在人生曾有的高光时刻可以倒背元素周期表,可以随手写出力、电、热的公式,可以徒手开根号。抛开这些高深的基础理论,仍有如山一样的『知识技能』等待着硅农去熟撸,人生有限而学海无涯,面对如山的信息,重要的是分清本末,用力抓住本轻轻抚摸末,让它们一个也逃不脱。
工艺
末:在每一个工艺结点,代工厂都会给出一个叫"sign-off recommendtion " 的文档,该文档详细描述了setup 跟hold 分别需要在哪些corner (library PVT + RC corner) 下做timing check, 及在每个corner 下cell Process OCV, cell voltage/temperature OCV, Spatial OCV, wire OCV, 额外的margin 都分别设多少。对,这些都是末,在做STA 时只要把对应值关联到对应corner 上即可,保证不犯低级错误就行,没必花太多精力去抠每个值是怎么来的,也没必要花心思去想这样设会不会过紧或过松,只要记住一句话:在sign-off 这件事上,代工厂就是独裁者,它让你干啥你就干啥,它让你怎么干你就怎么干。
本:setup/hold 为什么分别要在这些corner 下sign-off? PVT 是什么?RC corner 是什么?Variation 是什么?cell 跟 wire 的OCV 都在模拟什么效应?IR-drop 用什么来体现?额外margin 在模拟什么?为什么launch path 跟capture path 要设不同的derate? 为什么data path 跟clock path 要设不同的derate? 为什么data path 跟clock path 对transition 的要求不同?flat ocv, AOCV, SOCV 是什么,从哪来,各有什么特性,如何选择?对应工艺结点都有哪些VT cell, 每一类型VT cell 各有什么特性,不同类型VT cell 之间的特性趋势是什么?
工具
末:数字设计实现中接触到的每个工具都是一个死胖子,有巨多无比的变量,有巨多无比的命令,有巨多无比的option, 而且每家工具都很臭不要脸的有一系列的隐藏变量,然并卵,这些都是末,没必要刻意去记变量命令跟option, 常用的不用记也可以熟能生巧,不常用的记了也会忘。通常,代工厂跟EDA 厂在每个工艺结点,都会给出推荐的工具版本及对应的一组推荐setting, 大部分时候双方给出的是一致的,少部分时候会有些许差别,老驴建议听独裁者代工厂的,但是要跟EDA 厂确认工具版本,及对应工具版本跟代工厂推荐的工具版本之间有没有默认设置的更改,通常都会有,按照建议做对应更新就行。没必要花太多精力去纠结为什么推荐这些变量这么设,还是那句话,听独裁者的。
本:所有涉及到工具端的本都在方法学跟模型建立上,方法学从宏观上指导整个设计实现的过程,模型建立支撑过程中每一个结点的实现及量化。就STA 而言,从方法学上要知道:STA 是什么?STA 的基本原理跟数学支撑是什么?STA 要吃什么拉什么?STA 的流程是什么?检查STA 的方法是什么?检验STA 的标准是什么?如何分析STA 的结果?timing ECO 的方法有哪些?从模型建立上要知道:如何将一个设计切分成可量化的timing path? cell delay 的计算模型是什么?net delay 的计算模型是什么? GBA 跟PBA 是什么?CRPR 是什么?crosstalk 的模型是什么?不同OCV 对应的模型是什么?waveform propagation的模型是什么?Glitch 的模型是什么?
分析
末:所有目所能及的结果都是末。STA 过程是:在一定的PVT + RC-corner 下,在SDC 约定的范围内,来检查 netlist 的timing 质量。所以要保证:所有的library 都在对应PVT 下,SPEF 是在对应RC-corner 下抽取的,SDC 是准确无误的,所有工具端的设置都是按照代工厂或EDA 厂或以往经验得来的。在这样的保证下,run 出的任何结果都是现实,心平气和地接受它,再丑的孩子也是自己家的,该爱还是要爱。
本:所有结果背后的根因才是本。有了结果之后的分析大多是依据工艺跟工具所涉及的本,再加上一点命令的熟练使用就能在timing 的海洋里催起肚子蹭光头发,一路飞扬了。
论STA | 工艺、工具、分析的本与末的更多相关文章
- 使用MAT(Memory Analyzer Tool)工具分析dump文件--转
原文地址:http://gao-xianglong.iteye.com/blog/2173140?utm_source=tuicool&utm_medium=referral 前言 生产环境中 ...
- Oracle logmnr工具分析日志脚本
在oracle:对logmnr工具分析日志这个不陌生:对数据恢复应用场景经常用到:这里为了方便对归档日志进行分析: 当然网上有一个logmnr界面的工具:感觉很人性化:下载需要积分:为此写一个脚本. ...
- 攻击者利用的Windows命令、横向渗透工具分析结果列表
横向渗透工具分析结果列表 https://jpcertcc.github.io/ToolAnalysisResultSheet/ 攻击者利用的Windows命令 https://blogs.jpcer ...
- 几种常见的JavaScript混淆和反混淆工具分析实战
几种常见的JavaScript混淆和反混淆工具分析实战 xiaix2016-03-05+8共1195751人围观 ,发现 5 个不明物体WEB安全 信息安全常被描述成一场军备竞赛,白帽与黑帽,渗透测试 ...
- android ARM 汇编学习—— 在 android 设备上编译c/cpp代码并用objdump/readelf等工具分析
学习 android 逆向分析过程中,需要学习 Arm 指令,不可避免要编写一些 test code 并分析其指令,这是这篇文档的背景. 在目前 android 提供的开发环境里,如果要编写 c / ...
- JVM之工具分析
JVM分析工具有很多; jdk自带工具:jconsole.jvisualvm 其他工具:jprofile ,yourkit等 不要在线上用,影响性能,在测试环境中使用. 一.jconsole ——jd ...
- 使用ANTS Performance Profiler&ANTS Memory Profiler工具分析IIS进程内存和CPU占用过高问题
一.前言 最近一段时间,网站经常出现两个问题: 1.内存占用率一点点增高,直到将服务器内存占满. 2.访问某个页面时,页面响应过慢,CPU居高不下. 初步判断内存一点点增多可能是因为有未释放的资源一直 ...
- 使用KRPano资源分析工具分析动态网站资源
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
- .Net加密保护工具分析介绍
本文主要介绍一些dotNet加密保护工具的原理以及就其脱壳进行简单探讨. remotesoft protector.maxtocode..Net Reactor.Cliprotector.themid ...
随机推荐
- linux - 异常:安装包冲突 conflicts with
问题描述 解决方案 删除冲突的包 命令格式:yum -y remove 包名 yum -y remove httpd24u yum -y remove httpd24u-tools
- Eclipse项目工程导入到IDEA继续开发-超详细
现在Java开发的主流工具是IDEA,不是说Eclipse,各有各的特色.不过我现在深深的爱上了idea这个工具. 但是之前很多项目都是用eclipse开发的,现在就转入到idea中进行继续开发. 1 ...
- 2个月,我从编程小白成为了Python研发工程师
从编程小白,到Python研发工程师,需要多久呢? 答案就是:91门课,450个小时. 听起来似乎难以实现,但其实如果每天抽出八小时学习,两个月的时间,就能由编程小白转变成为Python工程师,听起来 ...
- Docker最全教程——从理论到实战(十一)
前言 容器教程的路还很长,笔者尽量根据实践来不断地完善.由于在编写的过程中还会有完善和补充,后续可能会以番外来补充. 接下来会分享TeamCity.树莓派等内容,节奏可能会有点跳脱. 另外,长沙.NE ...
- 理解 nodeJS 中的 buffer,stream
在Node.js开发中,当遇到 buffer,stream,和二进制数据处理时,你是否像我一样,总是感到困惑?这种感觉是否会让你认为不了解它们,以为它们不适合你,认为而这些是Node.js作者们的事情 ...
- vue项目出现Module not found: Error: Can't resolve 'stylus-loader'错误解决方案
因为没有安装stylus和stylus-loader npm install stylus stylus-loader --save-dev 安装成功后,使用npm install重新建立依赖 打开项 ...
- SequoiaDB报告创建线程失败的解决办法
1.问题背景 对于分布式数据库和分布式环境,高并发和高性能压力的情况下,出现线程创建失败等等问题也是十分常见的,这时候就十分考虑数据库管理员的经验,需要能快速的定位到问题和瓶颈所在,快速解决.本文也是 ...
- PP: UMAP: uniform manifold approximation and projection for dimension reduction
From Tutte institute for mathematics and computing Problem: dimension reduction Theoretical foundati ...
- 使用validate进行表单验证时土方法(appendTo)改变error显示的位置
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...
- 第一篇,VScode插架以及配置项
由于在开发的时候我们经常因为ESLint规范把自己搞的头晕眼花,修改起来又很浪费时间.所以我特别做个记录,如下代码可以轻松搞的. 工欲善其事必先利器,如果想要在开发的道路上如履平地必须要有得心 ...