什么是standard cell (标准单元) ?

参考文章:

聊一聊芯片后端的标准单元-standard cell - 知乎 (zhihu.com)

standard cell中的7T和9T中的"T"指的是什么?或者是什么的缩写? - Layout讨论区 - EETOP 创芯网论坛 (原名:电子顶级开发网) -

 数字后端基本概念介绍——Standard Cell_Tao_ZT的博客-CSDN博客


为什么会需要standard cell?

Standard cell,标准单元,或者简称cell,是数字芯片后端最基本的概念之一。我们为何要设定标准单元呢,以及这些cell是怎么应用到我们的后端设计中的呢?

首先,在芯片设计最早期门电路不多,晶体管都靠手画在图纸上,所有芯片都是一些逻辑简单的全定制芯片的时代,是不存在什么标准单元的概念的。那时的工程师们只需要把一个一个的晶体管摆好,电路就可以正常工作了。但是随着集成化越来越高,所有的门电路都靠一个个手画变得非常不现实,一个非常朴素的想法就是把一些用过很多次的电路打包,就比如最基本的与或非门,我们要用的时候直接调用这个包就行了,就像复制粘贴一样,这就非常方便了。比如一个二输入与门,我只要设计好它的电路画出它的版图提取出来它的各项参数,就可以无限次的在整个芯片上复制了。而后,更进一步,我们可以把整个芯片所有可重用的部分都打包起来,为了方便我们摆放和连线,我们会制定一些规范化的rule,比如我们规定每个包要有固定的高度,称为row,宽度可以以一个CPP(栅极间距,contacted poly pitch)的距离变化,称为site。这样就成为了一个std cell。

Std cell可以大大简化我们的设计复杂度,它的意义,就像盖楼房的砖头,构成生物的细胞,画画的颜料一样。如果对于任何一个逻辑门都要求后端从头晶体管开始设计,那是真的无法想象的。目前所有的芯片已经全部采用了这种设计方式。但是,不可避免地,它会有一些资源的浪费,因为每一个cell都是有统一的设计规则,必然不能针对性的在一些小的方面进行优化。举个例子,在芯片的某个地方可以把pin出在cell左侧比较好route,但是这种cell设计的都是在右侧。当然,类似这样的影响在大型design中可以忽略了。

设计std cell是一件非常复杂的事,不亚于设计一款芯片的复杂程度。首先是电路的设计,schematic design。有一些具有相对复杂逻辑功能的cell,它的逻辑电路如何设计,如何兼顾PPA地进行设计,其实是很难的,设计结束后还要进行许多的验证之类。而后layout工程师要设计画出cell的版图。我们后端设计一般绕线层十几层顶天了,版图工程师要面对的是数不清的各种各样的层,有metal,有oxide,有poly,有n区有p区,应有尽有,还要考虑尽可能出pin M1或者M2出,低一点,给我们APR预留更多的绕线资源。而后还要有专门的工程师来进行cell 参数的提取,一般就是指power和timing的提取。Power应该主要就是leakage,timing就很麻烦了,需要在各个corner下,每个corner出一套它的各项参数。举个例子,一个cell的delay信息,基本需要在各个PVT条件下,测出各个引脚在各种逻辑状态下,input transition和output load各种情形下,cell的delay值。更别提一些OCV的信息,还有POCV的lvf信息了。最终所有这一切做好后,就可以生成cell的LIB文件了。结合cell的LEF文件(物理信息),我们后端就可以愉快的用这些cell搭积木啦。

我们后端在用的时候,这些cell就是一个一个的黑匣子,看不见内部,只能看到它的大小和出pin的信息。读入网表文件后,相应的cell就出现在我们的GUI界面了。对了,前端在综合的时候也需要读cell的lib。他们拿到的RTL代码不会指定一个与门要用哪种cell,比如我们目前有两种不同的与门cell,逻辑功能一样,但是有一些别的差异,综合工具就会全面考虑这一块电路,选用相应的cell作为那一段verilog代码里表示的与门。


standard cell中的7T和9T中的"T"指的是什么?或者是什么的缩写?

Q:

对标准单元所说的9 track和12 track是什么意思?(同一种工艺下)这两种单元有什么区别?

A:  7T指7个track, stand cell的高度。

P.S.,

一般site width就是metal 2 pitch ,比如SMIC18 的 0.56 x 5.04 ,  0.56 就是metal 2 pitch,
因为std cell pin基本上都是由metal 2 连接出来的,  

高度一般都是 site width的整数倍,比如7, 8, 9 , 10 ,12 倍,也就叫做7/8/9/10/12 track单元,
比如 0.56 x 5.04 的就是9 track,  0.56 x  3.92 的就是 7 track,
0.2 x  2.4 ( SMIC 65 ) 是12 track,  0.2 x 1.8 ( TSMC65) 是9 track,

区别主要是:
1)带不带tap (n/p well pickup) ,但是也不是绝对的,
比如SMIC18  sc-x 9 track带tap,  sc-m  7track不带tap,不带tap的要用tapcell来偏置电位,
但是比如 TSMC40 nm的 12 track TCBNBWP12T ,也不带tap,  
TSMC65  tcbn65bwp  9 track 带 tap,  

2)一般来说9 track是 属于标准size, 7 track属于小size,也就是低功耗一些,速度慢些,
10、12 track 是高速,  一般 metal1的rail做的更宽, 管子好像没啥区别,  rail做的宽,自然能走更多的电流,自然速度就快了, 功耗大了,有的还添加metal2 rail比如65nm以下的库,  这样速度更快了,
选几个track 是由设计目标决定的,如果简单些 ,就选9 track标准带tap的, 比较方便
低功耗选7 track,timing不够就选12 track的,

ARM的9 track叫sage-x ,  7 track叫metro,  12 track叫POP (performance optimization packets),


Standard Cell在lib和lef中的表现形式 

Standard cell是设计中最基本的逻辑单元了,是基本门和简单逻辑电路。我们平时常用的buffer, inverter, register等都属于标准单元。

standard cell的时序信息记录在.lib文件中:

 cell (INVX12_CSC28SL) {area : 0.86528;cell_footprint : "inv";                                                                                                                            threshold_voltage_group : "LVT";pg_pin (VDD) {pg_type : primary_power;voltage_name : "VDD";}...

物理信息记录在lef文件中:

MACRO INVX12_CSC28SL      CLASS CORE ;ORIGIN 0 0 ;FOREIGN  0 0 ;SIZE 1.26 BY 0.64 ;SYMMETRY X Y ;SITE unit ;PIN VDDDIRECTION INOUT ;USE POWER ;SHAPE ABUTMENT ;PORTLAYER M1 ;RECT  -0.052 0.6 1.612 0.68 ;

standard cell在netlist中完成例化,INVX12_F_CSC28SL是cell名字,U28是例化以后的名字。

INVX12_F_CSC28SL U28(

      .Z(n21), .A(n24)

  );

下图就是stardand cell在软件中的样子。他们被安放在row上

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/68110.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023年7月京东彩妆市场品牌销售排行榜(京东数据挖掘)

鲸参谋监测的京东平台7月份彩妆市场销售数据已出炉! 鲸参谋数据显示,7月份彩妆市场整体呈现下滑趋势。从大盘数据可知,京东7月的销量将近350万,环比下滑约38%,同比下滑约22%;销售额为5.1亿,环比…

JVM垃圾回收机制和常用算法(简洁版)

垃圾收集 (Garbage Collection,GC) 垃圾收集主要是针对堆和方法区进行。程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后就会消失,因此不需要对这三个区域进行垃圾回收。 判断一个对象是…

数据结构前言

一、什么是数据结构? 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。 上面是百度百科的定义,通俗的来讲数据结构就是数据元素集合与数据元素集合或者数据元素与数据元素之间的组成形式。 举个…

操作系统(OS)与系统进程

操作系统(OS)与系统进程 冯诺依曼体系结构操作系统(Operator System)进程基本概念进程的描述(PCB)查看进程通过系统调用获取进程标示符(PID)通过系统调用创建进程(fork)进程状态&…

解决解析maven依赖加载卡住问题

首先找到用户设置文件的位置&#xff1a; 根据位置查找文件&#xff0c;没有则创建。 修改maven的默认镜像为阿里云镜像。 <mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/pub…

【C++】STL-函数对象 + 谓词

1.函数对象使用 #include <iostream> using namespace std;//STL-函数对象&#xff08;仿函数&#xff09;class MyAdd { public:int operator()(int v1, int v2){return v1 v2;} }; //1、函数对象在使用时&#xff0c;可以像普通函数那用调用&#xff0c;可以有参数&am…

视频汇聚/视频云存储/视频监控管理平台EasyCVR接入海康SDK协议后无法播放该如何解决?

开源EasyDarwin视频监控/安防监控/视频汇聚EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;在视频监控播放上&#xff0c;视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放&#xff0c;可同时播放多路视频流&#…

基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic)

Mesh网络抓包解析 准备说明配置过滤解密分析 准备 1&#xff09;nRF52840 Dongle 2&#xff09;Mesh节点 3&#xff09;手机作为配网器&#xff08;苹果手机安装nRF Mesh APP&#xff09; 说明 1&#xff09;节点使用的例程目录&#xff1a;nrf5sdkformeshv500src\examples\…

java八股文面试[多线程]——阻塞队列

阻塞队列大纲&#xff1a; 什么是阻塞队列 阻塞队列&#xff1a;从名字可以看出&#xff0c;他也是队列的一种&#xff0c;那么他肯定是一个先进先出&#xff08;FIFO&#xff09;的数据结构。与普通队列不同的是&#xff0c;他支持两个附加操作&#xff0c;即阻塞添加和阻塞删…

【校招VIP】产品分析之活动策划宣传

考点介绍&#xff1a; 产品的上线运营是非常重要的。应该来说好的产品都是运营出来的&#xff0c;在一运营过程中难免会依靠策划活动来提高产品知名度、用户数。用户粘度等等指标一&#xff0c;如何策划一个成功的活动就显得非常重要。 产品分析之活动策划宣传-相关题目及解析…

存储数据恢复- raid5多块硬盘出现坏道的数据恢复案例

存储数据恢复环境&#xff1a; 某单位一台存储&#xff0c;1个机头4个扩展柜&#xff0c;有两组分别由27块和23块硬盘组建的RAID5阵列。其中由27块磁盘组建的那一组RAID5阵列崩溃&#xff0c;这组RAID5阵列存放是Oracle数据库文件。存储系统上层共划分了11个卷。 存储故障&…

爬虫到底难在哪里?

目录 爬虫到底难在哪里 怎么学习爬虫 注意事项 爬虫工具 总结 学习Python爬虫的难易程度因人而异&#xff0c;对于具备编程基础的人来说&#xff0c;学习Python爬虫并不困难。Python语言本身比较简单易学&#xff0c;适合初学者使用。 爬虫到底难在哪里 爬虫的难点主要包…

DevOps理念:开发与运维的融合

在现代软件开发领域&#xff0c;DevOps 不仅仅是一个流行的词汇&#xff0c;更是一种文化、一种哲学和一种方法论。DevOps 的核心理念是通过开发和运维之间的紧密合作&#xff0c;实现快速交付、高质量和持续创新。本文将深入探讨 DevOps 文化的重要性、原则以及如何在团队中实…

Vue中的指令

指令 指令 (Directives) 是带有 v- 前缀的特殊 attribute。指令 attribute 的值预期是单个 JavaScript 表达式。指令的职责是&#xff0c;当表达式的值改变时&#xff0c;将其产生的连带影响&#xff0c;响应式地作用于 DOM。 常用指令预期简短介绍v-showany显示隐藏元素&…

K8S:K8S自动化运维容器

目录 一.k8s概述 2.为什么要用K8S 3.作用及功能 4.k8s容器集群管理系统 二.K8S的特性 1.弹性伸缩 2.自我修复 3.服务发现和复制均衡 4.自动发布和回滚 5.集中化配置管理和秘钥管理 6.存储编排 7.任务批量处理运行 三.K8S的集群架构 四.K8S的核心组件 1.Master组件 …

PXE网络批量装机(centos7)

目录 前言 一、实验拓扑图 二、PXE的组件 三、配置PXE装机服务器 1、设置防火墙、selinux 2.安装、启动vsftp 3、拷贝系统文件到/var/ftp用于装机 4、配置tftp 5、准备pxelinx.0文件、引导文件、内核文件 6、配置本机IP 7、配置DHCP服务 8、创建default文件 四、配…

Python VScode 配置

在上一章节中我们已经安装了 Python 的环境&#xff0c;本章节我们将介绍 Python VScode 的配置。 准备工作&#xff1a; 安装 VS Code安装 VS Code Python 扩展安装 Python 3 安装 VS Code VSCode&#xff08;全称&#xff1a;Visual Studio Code&#xff09;是一款由微软…

应用案例 | 3D视觉引导解决方案汽车零部件上下料

Part.1 行业背景 三维视觉引导技术在国内外汽车零部件领域得到了广泛应用。随着汽车制造业的不断发展和创新&#xff0c;对于零部件的加工和装配要求越来越高&#xff0c;而三维视觉引导技术能够帮助企业实现更精确、更高效的零部件上下料过程。 纵览国外&#xff0c;部分汽车…

如何使用GPT引领前沿与应用突破之GPT4科研实践技术与AI绘图

GPT对于每个科研人员已经成为不可或缺的辅助工具&#xff0c;不同的研究领域和项目具有不同的需求。例如在科研编程、绘图领域&#xff1a; 1、编程建议和示例代码: 无论你使用的编程语言是Python、R、MATLAB还是其他语言&#xff0c;都可以为你提供相关的代码示例。 2、数据可…

车规微控制器的ECC机制及EMU外设

车规微控制器的ECC机制及EMU外设 文章目录 车规微控制器的ECC机制及EMU外设引言ECC的基本原理ECC RAM的访问方式ECC RAM的初始化SRAM ECC错误注入及EMU外设Flash ECC校验参考文献 引言 ECC是微控制器系统中&#xff0c;用于保障信息安全的常用机制&#xff0c;主要是避免存储设…