我的数字IC学习路线
文章目录引言1、准备入门IC的全局观念系列1.1 [准备入门IC的全局观念系列-上](https://blog.csdn.net/ciscomonkey/article/details/103717582)1.2 [准备入门IC的全局观念系列-中](https://blog.csdn.net/ciscomonkey/article/details/103732114)1.3 [准备入门IC的全局观
引言
很多朋友和我一样也是从FPGA转行入到数字IC,所以对数字IC很多知识也不是很清楚,我也一样不清楚,我想把我的数字IC学习路线记录在此, 全网也没有博客能如此详细的汇总这条路线并且分享出来,本博主希望开一个第一次,方便日后查阅和各位同道中人学习分享。另外,知识也需要不断巩固。经常回头看看,才能加深对知识的理解,当然我并不会写下所有理解的东西,因为有的需要你去探索,感悟,才属于自己。这只是一段历程,经历,学习IC并非一两天,几个月的事。尤其是网上视频资源模糊、各种资源都是英文,但我觉得不应该受到这些限制而退步,甚至任何东西都不应该成为阻挡的借口,且lab也不像互联网那样顺畅,更需要一份耐心,和等待,只要你有一颗不放弃IC的心,就会逐步突破,哪里不懂查哪里,哪里不会补习哪里,简单来说,比如有人一开始一个makefile文件或者tcl文件就难倒了,更要有一份耐心, 比如说有的视频其实我在不同的时间节点累计起来看过5遍~,但真正到了越后面,你才能抓住一些细节,领会到视频中说的意思,此外,新手不要只看视频,要多看userguide,学会自己研究阅读英文文档的能力,另外我的以下博文也并非按照顺序书写,而是以模块建立各个分支,然后每个分支都在不断前行。随着本人不断对知识的深入,本博客在不断更新,并可能删除一些含金量不高的文章,以及之前现在觉得并不太好的一些建议。另外一些公司培训的Lab感想,仅作为个人纪录,不对外公布。另外,还有自己本人研究的一些具有较高价值的文章,不对外公布。部分个人感悟文章,感兴趣,可以读者根据标题自行去研究,暂缓不公开,每篇文章都cost博主大量时间版权所有,请勿抄袭转载
1、准备入门IC的全局观念系列
1.1 准备入门IC的全局观念系列-上
1.2 准备入门IC的全局观念系列-中
1.3 准备入门IC的全局观念系列-下
2、前期准备
2.1 ubuntu18.04安装VCS+verdi错误集锦
2.2 一文搞懂Linux基本操作(上)
2.3 一文搞懂Linux基本操作(下)
2.4 一文深入搞懂Linux(实用篇)
2.5 一文搞懂VIM基本操作
2.6 添加内存条,加快你的笔记本
2.7 三星SSD T5 装ubuntu随身携带即插即用
3、重新开始认识数字电路和Verilog吧
3.1 一文重新认识Verilog
4、IC工具使用篇-VCS
4.1 IC-工具篇–VCS使用教程-卷一(20200328)
4.1 补充 VCS官方指导读书笔记
4.2 IC-工具篇–VCS使用教程-卷一(20200413)
4.1 VCS-bilibili教程篇1-Simulation Basics
4.2 VCS-bilibili教程篇2-Debug Basic
5-1、IC工具使用篇-DC
5.1 DC使用教程系列1-.synopsys.dc.setup的建立
5.2 DC使用教程系列2-时钟的概念与约束脚本
5.3 DC使用教程-command(持续更新)
5-2 、IC工具bilibili视频教程篇-DC
5.1 DC课程笔记-数字逻辑综合工具-DC Environment Attributes
5.2 DC课程笔记-数字逻辑综合工具-DC Synthesis Optimization Techniques
5-3 、IC工具使用-DC 官方workshop篇
5.1 DC workshop指导篇1- Setup and Synthesis Flow
6-1、DFT视频系列 概念篇
6.2 DFT DRC
6.3 DFT command
6-2 、DFT实训课程笔记篇-bilibili版
6.1 DFT实训教程笔记1(bibili版本)- introduction to DFT& DFT Architecture
6.2 DFT实训教程笔记2(bibili版本)- Scan synthesis practice
6.3 DFT实训教程笔记3(bibili版本)-SOC Scan Implementtation(后半部分待再看)
6.4 DFT实训教程笔记4(bibili版本)- ATPG(137后需再看D算法等理论)
6.5 DFT实训教程笔记5(bibili版本)- ATPG Practice&ATPG Practice II (93后因lab采用mentor ,暂未看)
6-3、关于DFT相关问题的思考
6.2.3、如何真正理解DFT的一些概念想法?
6-4、DFT ug读书笔记篇
DFTug -Getting Started (DFT basic flow) -上篇
DFTug -Getting Started (DFT basic flow) -下篇
DFTug - Architecture Your Test Design
DFTug - Architecture Test Clocks
DFTug - Introduction to Test Models
DFTug - Test_point
DFTug - Pipelined Scan Data
DFTug - change_names With Verilog Rule
DFTug - Scandef
DFTug - OCC support
DFTug - Configuring Clock-Gating Cells(ICG)
ATPG (TMAX ug篇)
S1 violation - Troubleshooting a Scan Chain Blockage
TMAX使用【GSV&pin data】
6-5 、DFT axr理论与实践视频教程笔记篇
6-5.1 Scan Chain的原理与实现(理论)
6-5.2 Scan Chain的原理与实现(实践) - TOP Down Flow(上)
6-5.3 Scan Chain的原理与实现(实践) - TOP Down Flow(下)
7、Training感想篇
7.1 Memory Test 概念与Flow Lab (不公开)
7.2 DFT-TDS Flow(不公开)
7.3 Review DFT Lab1 training (不公开)
8、工作中Linux/VIM技巧补充
Linux如何显示文件数目的技巧&比较两个文件夹是否相同
强大的grep命令使用
VIM实际工作技巧
Linux实际工作技巧
9、Design for Test读书思考
9.1 为什么要做scan extraction?
9.2 深入理解Scan_replacement
10、Tmax ATPG ug系列
IEEE STIL文件语法总结
TMAXug - getting start
TMAXug ATPG Design Flow
11、Verdi 篇
11.1 Verdi GUI技能操作 Before you start
11.2 Verdi GUI技能操作-nwave部分
11.3 Verdi GUI技能操作-nschema部分
11.4 Verdi GUI技能操作-Application Tutorials部分
11.5 Verdi .rc操作(不公开)
11.6 Verdi与TCL脚本(不公开)
12、TCL项目实战
12.1 TCL基础语法篇
12.2 TCL实际项目应用篇
13、IC前端设计系列(bilibili版)
13.1 DC的理论与实践操作【task 9、10】
14、DFT project实训经验篇(保密不公开)
关于block_setting里面的疑惑点
XX33项目(2021/2月-2021/5月):
DFT projectXX44项目经验总结篇1
DFT projectXX44时间流程笔记
XX44项目bug经验总结
XX39项目bug经验总结
XX39项目FINAL总结
XX39项目 chip try版总结
15、project经历
待看资料&疑问问题
DFT sign-in Form
XX30 scan plan
XX30:block - otp_top
获取netlist的方法以及co-work注意事项
16、工作篇(大部分保密不公开)
待看资料与疑问
Slide制作技巧
聊天记录
Linux快速使用工作经验(公开:持续更新)
关于verdi使用的需求和技巧(公开: 持续更新)
公司组织架构和业内新闻
导入verdi的symbol library
工作中的FLOW中的注意事项INT&mail&qrsh&
scan设置易出错点
chip设置易出错点
IC co-work mail Flow
workcareer DFT关键经验篇(不公开)
make it - 如何处理1‘b0和1‘b1
搞懂所有的report文件
如何查看当前的pattern环境是否有测到哪些fault?(不公开)
如何查看当前instance覆盖了多少或者哪些faults
How to improve Scan Test Coverage to An Acceptable Level
为什么正常产生的pattern的SE信号并没有每次拉低?
为什么dump waveform的时候serial至少要设定为2以上
如何理解c39 violation?
PSD - Debugging Parallel Simulation Failures for Combined Pattern Validation(CPV)
验证STIL的pattern的输入顺序
验证force_PI&measure_po是否有实现
为什么netlist post之后我们还需要跑ATPG?
为什么要开启SDFF/Q与test_mode相&的功能?
how to achive scan_replacement during scan insertion?
Error: can‘t find OCC toggle in patterns!
根据所有OCC drive的faults_list提取指定OCC测到的AN
Auto Latch Insertion Flow
验证insert lockuplatch at pipehead/pipetail
探索在compression架构下lockup的插入位置
checklist机制
为什么scan_clk与function_clk不可以共用
为什么不推荐正沿+lockup+负沿的scan chain?
彻底弄懂理解ICG的基础概念
DFTug - Configuring Clock-Gating Cells(ICG)
pindata =load的含义
Modify inout port
PAD改为buf的高效style
ATE上机测试co_work
sub_module加wrapper提升testcov
指定DFT logic insertion的位置(DFT Logic insertion Location)
SPC(shift power control)基础知识
DFTC与TMAX的差异认知 - clock edge的认知差异& function aware insertion
read_faults XX.list -force_retain_code的作用
使用SNPS TCL 快速修改D1/D3 violation进行验证ATPG
Netlist/SPF 匹配 for ATPG的使用说明
SAF coverage improvement to Target 实际项目经验
SAF coverage improvement to Target 实际项目经验2
ATPG Faults归类深度分析
intl pattern count 限制减少测试时间
LIB cell命名与组合逻辑关系汇总
如何快速生成OCC_info相关的信息以及注意事项
ug setting timing variable设置时序参数
对target_lib的映射限制HVT&LVT的理解
如何切出指定的pattern进行debug分析
在TMAX simulation里什么是 “unload 2“ ?
postsim mismatch
Error: check OCC ATE connection
17 、ATPG DRC深度研究(暂不公开)
ATPG Z系列错误 Tristate rules
ATPG S系列错误 Scan Chain Rules
ATPG C系列错误 clock rules
ATPG B系列错误 build model
奇怪的Error系列
18 、advaned DFT Techology(保密不公开)
DFT高级处理方法与实现 – 在com架构insert_dft时候禁用某些cell
DFT高级处理方法与实现 – classify port or cell
DFT高级处理方法与实现 – 对PIPO的处理让cov提升
DFT高级处理方法与实现 – 对PIPO的处理让cov提升2
19 、周末学一点TCL系列(公开)
TCL incr的含义和用法
TCL foreach的用法
TCL proc的用法
TCL with SNPS - collection
TCL with SNPS - get_object_name&sizeof_collection&string
TCL with SNPS info exists&create_cell&create_net&connect_net
TCL with SNPS sizeof_collection&get_object_name&find&get_libs&list_attributes
TCL with SNPS collection_limit&get_lib_pins
TCL with SNPS get_attribute&get_lib_attribute&list_attributs&report_attribute
TCL with SNPS llength&lappend&get_cells
TCL with SNPS file exists&file rename/copy & redirect & lsearch & split
20、DFT 中的Python开发
python速学 2021/12/31
python速学 2022/1/2
Python excel 转 csv 的自动化
Python理解 if name == ‘main‘
Python 在shell模式写写for循环进行debug
[python] import后的模块是否能del移除掉
Python sys.argv[ ] 用法
Python 如何在linux下面调试
python开发IC utility 一些常用的方法和函数和语法规则
Formality使用篇
Formality篇 - 基于DFT验证新手基础使用篇
Ncverilog 使用篇
NCverilog 篇 - 基于DFT presim基础使用篇
VCS 使用篇
VCS篇 - 基于DFT presim基础使用篇
VCS篇 - 基于DFT sim pattern
STA系列
STA系列 – STA的基本概念
STA系列 — 如何理解标准单元 library
STA系列 — 建立时间和保持时间的check
STA系列 — multicycle path/半周期时序分析和falsepath约束
DFT 进阶
异步时钟setup与hold的彻底理解以及multicycle
Timing model
DFT 扩展 — Memory BIST
bottom_Up multimode 下stitch/atpg研究
Top down Flow
DFTMAX 架构基础
How to speed up scan shift frequency
如何去modify shift testbench for fixing timing
上机scan debug 指导
关于DFT的问题一年汇总
职业发展第二阶段
1、基础概念
1.1 什么是Harden
1.2 常见的config文件用法解析
1.3 Tessent shell T系列 - Scan chain Trace Rules经验积累
1.4 项目中的注意和潜在规定
1.5 I/O pad reuse EXCEL
1.6 内部命令研究
1.7 PDL的语法概念
2 Tessent TestKompress系列
2.1 EDT技术 ug - 第一章节 Getting Start
2.2 EDT技术 ug - 第二章节 The Compressed Pattern Flows(持续更新)
2.4 EDT技术 ug - 第四章节Creation of the EDT Logic (持续更新)
3、疑问以及实验论证
3.1 test pattern和simulate pattern有啥区别呢
3.2 tessent pdl&proc文件关系
3.3 如何搭建原汁原味的实验去验证一些想法
3.4 tessent 命令研究 - stil2mgc的使用
4、项目经验
4.1 如何做feedthrough
4.2 mem自动实现分组
4.2 交付时候sdc的处理
4.3 内部Flow流程研究
4.4 tessent ATPG 使用flatten model保存文件
4.5 验证ATPG中如何处理非scan的端口以及delete_pin的原则
4.6 ATPG仿真时如何初始化寄存器的值以及test_mode上电自解
4.7 如何正确的remove design,避免反复吃入db浪费时间
4.8 如何知道子模块的hierarchy
4.9 异步复位同步释放的原理
4.10 insert_dft时候有UPF相关错误(MV-090)
5、 Tessent ATPG ug系列
5.1 Tessent Atpg系列 第七章 Running ATPG Patterns
5.2 Tessent Atpg系列 第七章 Running ATPG Patterns ug
5.2 Tessent Atpg系列 第八章 Test Pattern Generation - Verify Test Pattern
5.3 Tessent Atpg系列 第八章 Test Pattern Generation - ATPG Tool Pattern Types(sequential pattern概念)
6、 仿真环境问题经验
6.1 stuck at presim环境建立
6.2 VCS仿真环境 - 如何解组合逻辑环loop
6.3 VCS报告大量Timing violation in mem?
6.4 postsim如何进行反标SDF
7、Tessent JTAG/IJTAG - ug系列
7.1 Tessent Ijtag 第一章节介绍篇
7.2 Tessent IJtag 第二章 什么是ICL?
7.3 JTAG标准协议介绍
7.6 Tessent IJTAG课程笔记 - IEEE1687 Introduction
7.7 IEEE 1687标准协议介绍
8、 Tessent Error 系列
8.1 Tessent test_setup mismatch Error: E14解法
8.2 Tessent ATPG ATPG - R2解法与pad方向
8.3 Tessent ATPG - D1 violation
8.4 Tessent ATPG - C1 violation
8.5 Tessent ATPG C22 violation
8.6 Tessent ATPG EDT Error: F10解法
8.67 Tessent ATPG EDT Error: F9解法
8.8 Tessent ATPG EDT Error: T24解法
8.9 Tessent ATPG mismatch debug经验
8.10 tessent ATPG TDF mismatch PLL配置完毕后引入X态
8.11 Tessent ATPF SAF mismatch debug经验 D/Q来源于同一个时钟
8.12 Tessent ATPG P1错误
9、ECO系列
9.1 ECO系列 — 防止输入pin悬空
10、formality系列
10.1 formality系列 - 对比dft之后的网表与PR吐出来的网表
10.2 formality系列 - 设置dont verify之后的影响
10.3 formality系列 - clock gating输入确定,输出X
11 、Prime Time系列
11.1 走进Prime Time系列 - 走进PT - 01
11.2 走进Prime Time系列 - PT的constraint - 02
11.3 走进Prime Time系列 - PT的Timing exception 03
11.4 STA系列 - 特殊时序分析multicycle/half-cycle/false path
11.5 STA系列 - 特殊时序分析 across clock domain分析/multiple clocks分析
11.6 STA系列 - 特殊时序分析 异步复位信号的recovery和remove time
11.7 STA系列 - 芯片的复位POR
11.8 STA系列 - 如何看懂时序报告
11.9 STA系列 - 芯片的鲁棒性OCV之set_time_derate
11.10 STA系列 - 为什么要对最小信号脉宽检查
11.11 STA系列 - clock transition\input transition\max transition的含义和区别
11.12 STA系列 - data to data check
12 STA命令系列
12.1 STA命令系列 - set_ideal_network
12.2 STA命令系列 - set_input_transition
13、mbist系列
13.1 shared_in_controller与per_interface的区别
13.2 Tessent MBIST课程笔记 - MBIST flow Introduction
13.3 Tessent MBIST课程笔记 - MBIST flow Introduction(2)
13.4 MBIST错误收集系列 - 与期待时钟不匹配
13.5 MBIST错误收集系列 - 与期待时钟不匹配2
14、Tessent Kompress系列
14.1 Tessent ATPG系列 - EDT Dual结构
14.2 Tessent ATPG系列 - EDT Bypass结构
15、IDDQ测试系列
15.1 IDDQ guide 入门
17 、library学习篇
17.1 library库学习篇 - libcomp将.v转.mdt的方法
19、全新课程系列培训篇
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)