人类从漫长的蒙昧中觉醒之后,不再依靠着奇装异服的巫师通灵来指导生活,巫师进化成了科学家,他们试图对周遭的一切进行概括、分类、抽象,于是有了化学、物理、数学等基科。比如一粒沙,它的化学组成是什么,物理特性是什么,可抽象成什么样的数学公式。

用沙子做成的芯片亦如此,从设计实现到生产制造,每一步的背后都是化学、物理、数学。这些对一线工人硅农而言太过深奥,即使大部分的他们在人生曾有的高光时刻可以倒背元素周期表,可以随手写出力、电、热的公式,可以徒手开根号。抛开这些高深的基础理论,仍有如山一样的『知识技能』等待着硅农去熟撸,人生有限而学海无涯,面对如山的信息,重要的是分清本末,用力抓住本轻轻抚摸末,让它们一个也逃不脱。

工艺


末:在每一个工艺结点,代工厂都会给出一个叫"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 | 工艺、工具、分析的本与末的更多相关文章

  1. 使用MAT(Memory Analyzer Tool)工具分析dump文件--转

    原文地址:http://gao-xianglong.iteye.com/blog/2173140?utm_source=tuicool&utm_medium=referral 前言 生产环境中 ...

  2. Oracle logmnr工具分析日志脚本

    在oracle:对logmnr工具分析日志这个不陌生:对数据恢复应用场景经常用到:这里为了方便对归档日志进行分析: 当然网上有一个logmnr界面的工具:感觉很人性化:下载需要积分:为此写一个脚本. ...

  3. 攻击者利用的Windows命令、横向渗透工具分析结果列表

    横向渗透工具分析结果列表 https://jpcertcc.github.io/ToolAnalysisResultSheet/ 攻击者利用的Windows命令 https://blogs.jpcer ...

  4. 几种常见的JavaScript混淆和反混淆工具分析实战

    几种常见的JavaScript混淆和反混淆工具分析实战 xiaix2016-03-05+8共1195751人围观 ,发现 5 个不明物体WEB安全 信息安全常被描述成一场军备竞赛,白帽与黑帽,渗透测试 ...

  5. android ARM 汇编学习—— 在 android 设备上编译c/cpp代码并用objdump/readelf等工具分析

    学习 android 逆向分析过程中,需要学习 Arm 指令,不可避免要编写一些 test code 并分析其指令,这是这篇文档的背景. 在目前 android 提供的开发环境里,如果要编写 c / ...

  6. JVM之工具分析

    JVM分析工具有很多; jdk自带工具:jconsole.jvisualvm 其他工具:jprofile ,yourkit等 不要在线上用,影响性能,在测试环境中使用. 一.jconsole ——jd ...

  7. 使用ANTS Performance Profiler&ANTS Memory Profiler工具分析IIS进程内存和CPU占用过高问题

    一.前言 最近一段时间,网站经常出现两个问题: 1.内存占用率一点点增高,直到将服务器内存占满. 2.访问某个页面时,页面响应过慢,CPU居高不下. 初步判断内存一点点增多可能是因为有未释放的资源一直 ...

  8. 使用KRPano资源分析工具分析动态网站资源

    软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...

  9. .Net加密保护工具分析介绍

    本文主要介绍一些dotNet加密保护工具的原理以及就其脱壳进行简单探讨. remotesoft protector.maxtocode..Net Reactor.Cliprotector.themid ...

随机推荐

  1. js集合

    var list = {};//声明 List[0] = 52;//赋值 List[1] = 57;//赋值

  2. RN开发-windows环境搭建

    1.安装jdk,sdk,C++运行环境(cygwin,Windows SDK,mingw),node.js和git 2.设置全局使用指定的镜像        打开git-cmd.exe         ...

  3. C# 读取webConfig配置

    获取百度URL  var url = System.Configuration.ConfigurationManager.AppSettings["BaiduUrl"]; < ...

  4. python:创建文件

    #!/usr/bin/python# -*- coding:utf-8 -*- open('a.txt','w+')

  5. 题解 【Codeforces988E】Divisibility by 25

    本题是数论好题! 首先我们需要了解一个关于数论的性质: 一个数只要后两位能被25(或4)整除,这个数就能被25(或4)整除. 同理,后三位:(或8).后四位:(或16)亦是如此. 所以,我们只需要判断 ...

  6. 其他-使用 ProcessExplorer 定位 win10 系统资源占用

    1. 概述 使用 ProcessExplorer 2. 环境 os win10 3. 背景 偶然在论坛上看到了一个工具 ProcessExplorer 作用是 定位当前桌面窗口 对应的 进程 我没有这 ...

  7. .htaccess详解

    http://www.cnblogs.com/adforce/archive/2012/11/23/2784664.html .htaccess是什么 .htaccess文件(或者"分布式配 ...

  8. [POI2000] 公共串 - 后缀数组,二分

    [POI2000] 公共串 Description 给出几个由小写字母构成的单词,求它们最长的公共子串的长度. Solution 预处理出后缀数组和高度数组,二分答案 \(k\) ,对于每一个连续的 ...

  9. 10个Spring Boot快速开发的项目,接私活利器(快速、高效)

    本文为大家精选了 码云 上优秀的 Spring Boot 语言开源项目,涵盖了企业级系统框架.文件文档系统.秒杀系统.微服务化系统.后台管理系统等,希望能够给大家带来一点帮助:) 1.项目名称:分布式 ...

  10. php核心技术与最佳实践 --- 错误与异常

    <?php /*php error*/ /* * 异常和错误的概念不一样 * 在PHP里,遇到任何自身错误都会触发一个错误,而不是抛出异常(对于一些情况,会同时抛出异常和错误) * 异常处理机制 ...