论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 ...
随机推荐
- Fragment应用
使用母页和子页配合展示内容:母页和子页都有自己的activity. 母页是含有frameLayout控件的页面.子页通过配置,在frameLayout控件中显示:frameLayout本身没有任何内容 ...
- 使用Vue创建一个新项目
1.环境 保证已经安装好了node\npm\vue等工具,将路径设置为想要建立新项目的文件夹路径 2.关于npm与cnpm npm包管理器,是集成在node中的,node环境安装完成,npm包管理器也 ...
- php设计模式之适配器模式实例代码
<?php header("Content-type:text/html;charset=utf-8"); // 适配器模式 /** * 查看天气接口 */ class Ti ...
- New Skateboard
Max wants to buy a new skateboard. He has calculated the amount of money that is needed to buy a new ...
- 2D TOOLKIT备忘录
通过Clip名称更改动画片段 // 通过clip名称获取clip实例 tk2dSpriteAnimationClip clip = childrenAnimator.GetClipByName(&qu ...
- HTML连载61-焦点图、固定定位
一.焦点图 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- 阿里云的maven仓库 地址
<mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name&g ...
- Tomcat无法成功启动——双击startup.bat闪退
使用的Tomcat是免安装版本的.因为在启动tomcat是需要读取环境变量和配置信息,缺少了这些信息,就不能登记环境变量,导致了tomcat的闪退. 解决办法: 1:在已解压的tomcat的bin文件 ...
- 并发之ATOMIC原子操作--Unsafe解析(三)
Atomic 类的原子操作是依赖java中的魔法类sun.misc.Unsafe来实现的,而这个类为我们提供了访问底层的机制,这种机制仅供java核心类库使用,而不应该被普通用户使用. 获取Unsaf ...
- 期货、期权tick数据接收
功能: 1.开启之后,7*24自动运行. 2.在共享内存中存放当个交易日的tick数据,方便随时取用. 3.支持多行情源取数据.经过测试一个行情源峰值带宽要求为20M,所以使用时要配合带宽限制. 4. ...