数字IC后端先进工艺设计实现之TSMC 12nm 6Track工艺数字IC后端实现重点难点盘点

ops/2024/12/18 2:48:28/

大家知道咱们社区近期TSMC 12nm ARM Cortexa-A72(1P9M 6Track Metal Stack)已经开班。这里小编要强调一点:不要认为跑了先进工艺的项目就会很有竞争力!如果你仅仅是跑个先进工艺的flow,不懂先进工艺在数字IC后端实现上的不同点,为何有这样的不同点,针对这些不同之处后端实现阶段如何考虑它们,那么你等于0经验!

在这里插入图片描述
TSMC 12NM TCD Dummy Cell添加原则及方法

PS: TSMC 12nm ARM A55低功耗设计实现后端训练营也开放预约啦!有需要的可以私信,名额限8人。

所以,小编觉得有必要列举下T12这个工艺后端实现上一些不一样的地方。大家可以针对本文所列的要点进行复盘,如果这些都搞透彻了,你就可以大胆把T12 nm的A72和A55项目写到你的简历中。初步估计这个T12工艺的A72项目会成为新一年IC秋招的标配项目。

在这里插入图片描述

1)Memory,模拟IP,子模块,IO必须摆放到Placement Grid(Fin Grid)上 (DPT Aware Floorplan )

所有各个子模块的形状,彼此之间的间距都是有严格的要求。这里面的48nm和96nm值是怎么来的?这些都要搞通透。

tsmc 12nm floorplan chip boundary尺寸要求

2)PPNN Placement and Filler Insertion

T12 6Track工艺引入了6T-Turbo的cell。为何要用这类cell?使用这类cell的优缺点分别是什么?

TSMC 12nm 6T 和6T-Turbo cell的Fin结构

使用这类6T-Turbo cell时应该如何插filler?这类6T-Turbo cell的density是否有严格的要求?

TSMC 12nm 6T Turbo插filler注意事项

3)Via Pillar(Via Stapling)

从T12nm开始powerplan就必须使用via pillar。这样打的目的以及整体powerplan结构需要搞清楚。

TSMC 12nm Double Pattern Via Pillar 或Via Stampling

4)M3 PG结构特殊处理

在12nm这个工艺中标准单元存在比较多的M2 short pin,所以在我们规划powerplan结构和PR flow过程中都需要提前考虑好这个情况。

TSMC 12nm  Via Pillar M3 Powerplan结构

5)M1&M2 Dual Power Rail

使用Dual Power Rail的目的是什么?对于T12工艺是否可以在powerplan阶段就把M1和M2之间的VIA1打上?为什么?

<a class=数字IC后端实现Dual Rail实现要点" />
在这里插入图片描述

6)模块级io port摆放需要摆放至高层Layer

T12这个工艺的M1-M3属于double pattern layer。在模块级摆放io port时尽量不要使用这些layer!

7)Colorless Placement (与pre-color有何区别?)

什么叫Colorless?它和pre-color有何区别?它们对数字IC后端实现流程有何影响?

CPODE.L.2这条DRC Violation的原因是什么?如何解决?

如何在placement阶段避免VT的min width,min area等DRC Violation?

在这里插入图片描述
在这里插入图片描述

8)VIA0 Align issue

VIA0是什么?它的作用是什么?VIA0特殊的Align要求,如何变成placement相关约束来guide工具做placement?

TSMC 12nm<a class=数字IC后端培训VIA0对齐" />

9)VT layer aware placement

在这里插入图片描述
TSMC 12nm cell edge定义和spacing constraint约束

10)New Routing Rule

T12这个工艺也是支持Preferred和Non-prefered两个方向来完成routing的,但是它对它们的最小线宽和最小线间距提出了更严格的要求。

在这里插入图片描述

在这里插入图片描述

11)M2 short pin延伸技术

在这里插入图片描述

12)MOPO Max Length Violation

TSMC 12NM<a class=数字IC后端设计实现MOPO Violation分析" />

13)Double Pattern Routing (G0 Loop Violation)

G0 Loop Violation的本质问题是什么?如何提前规避?Calibre出现G0 DRC Violation后应该如何修复?

在这里插入图片描述

14)M2_P48/M3_P48 marker layer generation

为何要有P48这一层?P48这一层应该在什么阶段添加?这层是否需要参与Tapeout?

<a class=TSMC12nm M2 P48和M3 P48 layer添加方法" />

15)Timing Signoff之SOCV

在这里插入图片描述


http://www.ppmy.cn/ops/25108.html

相关文章

【设计模式】简单工厂模式(Simple Factory Pattern)

工厂模式&#xff08;Factory Pattern&#xff09; 用于创建不同类型的奖品对象。您可以创建一个奖品工厂&#xff0c;根据配置的类型来实例化相应的奖品对象。 public interface Prize {void award(); }public class MoneyPrize implements Prize {Overridepublic void awar…

C++11:shared_ptr循环引用问题

一、shared_ptr的弊端 struct Listnode {int _val;std::shared_ptr<Listnode> _prev;std::shared_ptr<Listnode> _next;Listnode(int val ):_val(val),_prev(nullptr),_next(nullptr){}~Listnode(){cout << "~Listnode()" << endl;} }; in…

【个人博客搭建】(11)swagger添加jwt信息

这个主要是为了方便使用swagger时&#xff0c;能更好的带入我们的token。 ps&#xff1a;如果使用其他第三方api工具&#xff08;apipost、postman等&#xff09;则不需要。 &#xff08;当然&#xff0c;不用不能没有&#xff0c;是吧&#xff09; 1、在AddSwaggerGen内添加…

C++11

文章目录 前言1.统一列表初始化1.1 &#xff5b;&#xff5d;初始化2.2 std::initializer_list 3. 声明3.1 auto3.2 decltype3.3 nullptr 4. STL中一些变化5. 右值引用和移动语义5.1 左值引用和右值引用5.2 左值引用与右值引用比较5.3 右值引用使用场景和意义&#xff08;移动拷…

LeetCode55:跳跃游戏

题目描述 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 解题思想 每次…

Kafka 3.x.x 入门到精通(08)——对标尚硅谷Kafka教程

Kafka 3.x.x 入门到精通&#xff08;08&#xff09;——对标尚硅谷Kafka教程 5. Kafka优化5.1 资源配置5.1.1 操作系统5.1.2 磁盘选择5.1.3 网络带宽5.1.4 内存配置5.1.5 CPU选择 5.2 集群容错5.2.1 副本分配策略5.2.2 故障转移方案5.2.3 数据备份与恢复 5.3 参数配置优化5.4 数…

Docker在linux安装步骤超详细

官网 Install Docker Engine on CentOS | Docker Docs yum -y install gcc yum -y install gcc-c 安装工具 sudo yum install -y yum-utils 设置国内的镜像 yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yu…

怎么做视频二维码更方便?在线一键生成视频活码二维码

现在经常会发现很多的二维码可以用来展示视频内容&#xff0c;通过这种方式来实现视频的快速分享与传播。二维码是一种成本低传播快的内容传播方式&#xff0c;很多的内容都可以通过生成二维码的方式来分享给其他人&#xff0c;可以同时扫描相同的二维码来获取内容&#xff0c;…