- 博客(60)
- 资源 (2)
- 收藏
- 关注
原创 How to Delay the capture clock pulse in capture cycle
在扫描测试期间,由于SE是一个全局大扇出异步信号,在一个测试周期内SE可能没有足够的时间传递到所有的scan cell,shift和capture的频率可能造成SE还未完成状态转变就来有效采样沿;
2024-03-25 14:41:49 376
原创 wrapper cell & wrapper chain
参考:https://semiconshorts.com/2022/09/01/wrapper-chains/#:~:text=The%20sequential%20elements%20in%20the,in%20input%2Foutput%20wrapper%20
2023-12-08 14:26:48 1299
原创 openlava & perl,集群提交并等待任务结束后执行新任务 &打开新terminal执行任务
【代码】openlava & perl,集群提交并等待任务结束&打开新terminal执行任务。
2023-08-15 11:03:05 310
原创 Tessent Scan&ATPG appendix3 about dft signals
请求附加的静态,动态的DFT信号;也存在一些已经定义好的DFT信号可以用来控制电路;
2023-08-03 17:30:31 1003
原创 Tessent Scan&ATPG appendix2 deal with Pre-Existing chain
对于复用别的设计模块,或者使用第三方工具进行串链之后,设计中已经存在了扫描电路;如何做处理;
2023-08-02 16:52:29 489
原创 Tessent Mbist(5) 并行static Retention(静态保持)测试
PSRT和parallel retention test不同
2023-02-13 15:59:15 1984 1
原创 MBIST BAP(Bist Access Port)直接访问接口(1)
MBIST BAP(BIST Access Port)是在系统内部调用自测试的接口
2022-11-19 16:57:31 2649
原创 Tessent Mbist(2)Pattern Spec设置及Pattern产生
Tessent MBist test pattern的生成与仿真
2022-10-24 11:12:32 3900 1
原创 Tessent Mbist(1)Memory分组及DFTSpec编辑
DFTspec中 memoryInterface/data_bits_per_bypass_signal 属性用来指定组合到一个XOR tree中的数据输入信息的数量,此设置在为RAM创建bypass logic时十分有用,工具提供了一个灵活的区间,1对1到多对1;一些信息将你在报告DFTspec的时候才能看到,像 Memory的分组仅影响DFT的解决方案,但只能在创建之后才能看出结果,修改这些信息需要对DFTspec进大量的编辑,更简单的方法是直接改变输入的数据并重新创建DFTspec;
2022-10-22 14:46:25 4831 10
原创 Tessent scan&ATPG(9) simulation mismatch(debug向量仿真问题)
pattern simulation mismatch发生的原因 及debug方法
2022-09-06 10:51:25 4720 7
原创 DFT specification file & string
DFTSpecification的配置主要就是系的设计里面需要做什么,怎么做;然后tessent会根据文件或者string之中的信息 创建一系列的instruments 并将他们插入到设计中;上面的文件是加载tessent DFTspecification文件读入的;需要通过create_dft_specification;才能将配置信息存入变量中,方便之后进行修改和配置;...
2022-08-31 09:19:26 3341 4
原创 Tessent scan & ATPG(8) Debug low test coverage(低测试覆盖率的原因及debug方法)
如何利用工具debug测试覆盖率低的原因
2022-08-29 09:52:40 6006 6
原创 Tessent scan & ATPG(7) 设计规则检查 (DRC)
写在前面, DFT compiler 和Tessent 都有自己独立的DRC的检查, 可能在命名上有所重复,注意区别.Flat model的创建(不是fault model哦)这里的flat的意思 是 将设计中模块的接线打破,电路全部看成最基本的门电路组成;ATPG工具会使用verilog模型区创建自己的工具内部的设计模型;设计中的cell会转换成ATPG library中的标准单元;#使用analyze_control_signalscreate_flat_modelcheck_desi.
2022-05-01 20:31:56 8480 2
原创 Tessent scan&ATPG(6)测试向量配置 ,at-speed pattern的生成以及OCC的插入
Test pattern management 测试向量管理生成最佳的pattern#使用create_patterns#时会默认将所有的fault 类型加入到consider中;执行大量的设计分析和DRC;#创建所有必要的pattern 类型#监控pattern的生成(包括实时的coverage pattern count 以及执行时间等) 如果必要会修改参数#如果必要 自动运行top_up的方式##使用report_patterns#报告当前生成pattern的信息; 你可以展示所
2021-12-28 11:40:46 9733 8
原创 Tessent scan&ATPG (5) Additional test pattern types
Additional test pattern types附加的pattern的类型ATPG test pattern 的类型使用tessent shell 生成的pattern 大致分以下几种类型:1. basic Scan 对于 full-scan 的电路 生成的是basic scan的pattern2. clock Sequential 用于那些时序深度有限 存在no-scan latches /no-scan cell 的电路 在时序上: shift之后(或者说load之后)会有若干个cyc
2021-12-20 22:10:05 4905 5
原创 Tessent scan &ATPG (4) 额外的fault model‘
可测试性的几个指标test coverage检测到的fault 占所有可测fault 的百分比(DT +(PD * posedet_credit))/TEfault coverage检测到的fault 占所有test pattern设置测试的fault 的比重同等对待 untestable fault和 undetected fault(DT +(PD * posedet_credit))/FUATPG Effectiveness ATPG 的效率的衡量反应的是 ATPG tools 对于
2021-12-18 11:18:54 4856
原创 Tessent scan &ATPG (3) Fault 的分类
Fualt 的分类在使用 report_statistrics报告scan chain 的总结性的报告时,会出现每种fault的数量 以及对覆盖率的影响,TE(testable)Detect by implication (DI)隐含检测在scan chain 数据路径上的 faults被标记为 隐含可检测通过推算电路就知道这些点可以被测到,这些fault location是测试电路的一部分.扫描链的测试pattern (使用write_pattern 创建的)就可以检测到这些fualt;c
2021-12-14 22:21:24 6498
原创 MCMM 脚本编写
MCMM脚本MMmulti-mode 的脚本以最简单的两个mode为例, 一个func 一个test,肯定会分出来的两个mode;MM的脚本主要写什么:## 通过设置signal值,开启或者关闭mode# Enable DFT logic and OCC Controller:set_case_analysis 1 test_modeset_case_analysis 0 occ_bypassset_case_analysis 0 occ_reset# test mode 的时钟和
2021-12-04 19:04:07 2073
原创 Tessent scan & ATPG(2) ATPG basic flow
ATPG 的基本步骤DFT lib一般vendor会提供也可使用 tessent 的libcomp工具 将simulation lib转化为 DFT lib什么是 simulation lib ? 是仿真专用的库吗? 那仿真和综合 布局布线为什么要分开来?black boxes存在一些block 不需要做scan chain的 就可以定义为black box;#exampleadd_black_boxed -module core#改变black box 的输出行为add_black
2021-11-23 22:07:21 8344 4
原创 DFT1 - 概论
DFT是干什么的?物理瑕疵 Defectsilicon上的physical problems;1. contamination -causing open 污染造成开路;2. extra metal-causing shorts 额外的金属造成的短路3. 离子注入的时候 离子浓度不够 insufficient doping4. 金属层的 桥接的问题;5. CMOS stuck-on6. COMS stuck-open7. 制程上的一些问题导致MOS管的transition time很大;
2021-09-22 11:20:49 4189
原创 well tap cells的结构以及如何在物理设计流程中放置他们
well tap cell是为了防止CMOS设计中的闩锁效应well tap cell的N井连接VDD P衬底连接VSS,没有逻辑功能,是physical only cells之一;structure用处在早期没有well tap cell的时候,每个标准单元都要一个N井连VDD,P衬底连VSS(接地),但是这种结构很耗费面积,之后一种Tapless cell应运而生,也就是在标准单元上没有well taping;而为啥之前N井要接 power_supply 而P_sub要接ground 就是为
2021-07-24 21:38:02 7416
原创 创建DC时序约束文件
时序约束###1. clock# 在设计之初 并不知道设计所能跑的时钟周期能有多小; 根据DC ICC 都是多次迭代 获得最优解的原则 ; 一开始先给自己的估计值;# 对于180nm 的库来说, 由于IO pad 的限制 , 最多能跑100Mhz左右 当然单独综合core 的频率会更大一些;#一开始 我们设置5ns 一开始紧一些 可以更快的获得 设计的时钟顶;# set clock constrianscreate_clock -period 5 [get_ports clk]set_dont
2021-07-19 20:23:06 2980
原创 max_transition 违例 及解决办法
max_transitionmax_transition time 是指signal从一个逻辑到另一个逻辑中间net所用的时间,违例是节点电阻和电容的函数;net上的transition time是其driving pin改变逻辑值所需要的最长的时间; 决定于上升时间和下降时间,这个约束是基于library给的信息,对于NLDM 非线性延迟模型, 输出的transition time时输入的transition和输出负载的函数;如何去计算max_transition_timeCMOS delay m
2021-07-19 14:24:04 9615 3
原创 PNS相关
power ring:做TOP层才会用到吧;power mesh:一般指上层金属做成的power network,例如 M7、RDL;power straps: 条 带,指power netpower rail:和site row重叠的power net ,T28一般专指M2(具体看工艺了)power net逻辑上的连接,采用 derive_pg_connection,这个命令只会认到DB库中有power定义的std,如果没有定义就可能认不到,DSS和OCC。以INV为例,有六个PIN,in\ou.
2021-05-11 09:30:31 3639
转载 RAW WAR WAW 数据相关性
参考文章链接:https://east1203.github.io/2019/04/30/IC/others/%E6%95%B0%E6%8D%AE%E4%BE%9D%E8%B5%96RAW%20WAW%20WAR/RAW相关性RAW 是指数据依懒性中的 写后读依赖(read after write) 假设指令j是在指令i之后执行, RAW表示指令i将数据写入到寄存器后,指令j才能从这个寄存器读取数据. 如果指令j 在指令i写入寄存器前尝试读出寄存器的内容,得不到正确的数据;与此相关的数据依赖性 W.
2021-02-20 07:37:28 3681
原创 ICC II 9 Signoff(交付) 以及 ECO flow
终于他妈的写完了 前前后后一个月 希望这篇教程可以帮到正在集成电路设计道路上前进的你我;Signoff / DFM在route_opt 完成之后 有很多需要执行的 tasks,而且有一些tasks 是必须的:Required:timing sign-off 参数提取 静态时序分析,使用ECO Fusion 获得更快的timing signoffDRC Sign-off;插入 filler;(fill gaps between standard cells) 插完filler 之后 还需要再.
2020-12-27 10:02:24 5921
原创 ICC II 8 Routing & Optimization(布线优化)
Object:执行 布线前的检查和设置使用 route_auto 布线signal nets报告 修复 DRC 的违例优化设计使用route_opt布线阶段的目标 (routing phase goal)布局和时钟树综合此时应该是完成的;可接受的拥塞 setup/hold time 以及逻辑DRCs时钟树网络已经被布线了;布线阶段的目标是:在最小化物理DRC违例情况下 将所有的signal nets 布线选择性的执行 布线后的 时钟树优化或者CCD;优化数据路径逻辑的 时序 DRC
2020-12-25 10:47:01 11911 3
原创 ICC II 7 顶层设计的实现(Top level implementation)
objectives列举顶层实现的必要步骤;描述 什么是摘要 还有 摘要中包含什么描述怎样将block 集合到top level中去;顶层的实现对于规模比较的大的设计:在实现顶层设计时, blocks 可以是 design views (abstract view 摘要视图 boundary上的elements都是全的 但是内部是看不到的, 也就是说路径中 只保留了 in-reg reg-out in-out 而reg-reg 全部被隐藏起来)或者 ETM view : 正能看到一些 time
2020-12-20 09:30:44 2949 1
原创 ICC II 6 CTS setup(时钟树综合之前的设置)
本章介绍的CTS setup应该在 最前面就设置好的,最晚placement之前 也需要设置好了;object设置时钟树平衡约束;解决 预先存在的clock tree elements;指定时钟树布线的非默认的规则NDRs指定时序和DRC 的约束;clock tree balancing时钟树的开始点和结束点时钟开始于他们的时钟源,是由 create_clock 定义的;时钟的终点在于 寄存器 或者宏单元的 时钟引脚;时钟树综合平衡的点 就是 sink 以及不做平衡的点 ignore.
2020-12-19 10:26:56 9032 1
原创 ICC II 5 CTS(时钟树综合)
clock tree检查设计是否准备好 CTScheck_design -checks pre_clock_tree_stage检查 的内容有clock definition & propagation;reference cells有没有标记 dont touch的参考单元skew balancing : 多个时钟之间的 冲突 的平衡;multi_voltage :对于 multi voltage 的设计 需要插入 AON 的bufs / invs ; 会检查 这些bufs 是
2020-12-14 21:05:30 10429
原创 virtuoso 导入GDS 版图 /导入reference lib
此教程仅为 导入GDS 并为GDS 设置reference 库的方式的一种;导入reference lib以smic 180 的库为例shell> virtuoso #启动virtuoso gui选择工具中的 library path editor 以指定库路径的方式 将参考库导入下图中 蓝色字体 为人工添加的库在空白path一栏 右键 add_library一般参考库在PDK路径下,选择 PDK 中 reference lib 所在的路径 在右侧的library栏.
2020-12-07 11:34:38 20182 5
原创 ICC II 4 timing setup(MCMM的设置)
timing setupobject执行MCMM 的设置,根据分析和优化的需要定义Corner modes scenarios 加载 MCMM的约束;应用 时序以及优化 的控制.zero-interconnect timing sanity check (0互连的时序稳定性检查)MCMM (multiple modes multiple corners)今天的芯片必须适应多种工作模式standby mode(待机模式)\test mode(测试模式)\low power mode(低功耗模
2020-12-06 11:28:16 8149
原创 ICC II 3 从create_ndm开始design setup
NDM cell librarys NDM库ICC 中使用的MW 库而ICC II 中使用 NDM new data model;新的数据模型介绍 NDM 库的相关内容 以及 PR之前的设置;NDM 库ICC 使用的标准单元和宏单元 都是 NDM格式的, 被称作 CLIBs并不使用 .db Milkway GDS LEF的文件;整个NDM库也是包含四部分,用来替代上面的文件功能;每一个CLIB 都包含完整的布局布线优化需要的 物理 以及逻辑 时序 功耗的定义;逻辑 时序 功耗的信息保存在
2020-11-28 11:25:22 15277 3
原创 ICC II 2 placement
整个笔记比较长 建议搜索食用placement的关键步骤#mermaid-svg-fKPcKZjJunA9HX97 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-fKPcKZjJunA9HX97 .label text{fill:#333}#mermaid-svg-fKPcKZjJunA9HX97 .n.
2020-11-17 16:53:19 14494 9
原创 ICC II setup&floorplan
此笔记自synopsys官方 customer education service 的workshop,主要为ICC II workshop的中翻;此教程主要是block级的布局布线 一些细节 包括NDM库的创建, IO pad的floorplan ,以及PNS(Power net 综合)都没有详细描述。OverflowICC2 block级的布局布线的flowdesign & timing setupfloorplanplacementCTSroutingtop-level.
2020-11-11 09:59:39 8726 2
原创 使用virtuoso和calibre对版图进行DRC& LVS的检查
merge将ICC产生的GDSII版图文件,使用virtuoso的library manager,与标准单库的版图文件以及IO库的版图文件做merge;也可以使用华大的EDA工具aether,进行版图的merge和调用calibreDRC LVS的检查;简述工艺情况本项目所用的 SIMC的.18 的工艺,项目为纯数字电路,未使用RAM 等宏单元和其他IP; 添加IOpadDRC在virtuoso中调用 calibre 进行DRC的检查;前提是 ICC中已经不出现 DRC violated ne
2020-11-10 21:20:40 30007 3
原创 set_pad_physical_constraint
NAMEset_pad_physical_constraintsSets physical constraints per pad instance.SYNTAXstatus set_pad_physical_constraintsobjects | -pad_name pad_name[-side side_number]在那条边[-order order_number]顺序[-offset offset_distance]离chip边缘的的距离[-ring ring_number][
2020-10-20 14:29:13 779
Using Tcl With Synopsys Tools
2020-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人