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

news2024/12/23 0:35:00

参考文章:

聊一聊芯片后端的标准单元-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 VDD

    DIRECTION INOUT ;

    USE POWER ;

    SHAPE ABUTMENT ;

    PORT

      LAYER 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.coloradmin.cn/o/974672.html

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

相关文章

qemu-system-x86_64 命令创建虚拟机,报gtk initialization failed的

因为是ssh命令行启动,增加--nographic # /opt/debug/bin/qemu-system-aarch64 -machine virt-6.2 -qmp tcp:localhost:1238,server,nowait --nographic configure accelerator virt-6.2 start machine init start cpu init start add rom file: virtio-net-pci…

GIT实战篇,教你如何使用GIT可视化工具

系列文章目录 手把手教你安装Git,萌新迈向专业的必备一步 GIT命令只会抄却不理解?看完原理才能事半功倍! 快速上手GIT命令,现学也能登堂入室 GIT实战篇,教你如何使用GIT可视化工具 系列文章目录一、GIT有哪些常用工具…

漆包线工厂云MES解决方案

漆包线行业老板痛点: 1.漆包线比较传统的行业,一般都是靠人工去管理,老板想及时知道工厂的生产,销售、出入库、库存情况; 2.型号多称重打印易错,没有系统前 :称重打印,出入库&#x…

解决github连接不上的问题

改 hosts 我们在浏览器输入 GitHub 的网址时,会向 DNS 服务器发送一个请求,获取到 GitHub 网站所在的服务器 IP 地址,从而进行访问。 就像你是一名快递员,在送快递前要先找中间人询问收件人的地址。而 DNS 就是这个告诉你目标地址…

java开发之个微机器人的二次开发

简要描述: 取消消息接收 请求URL: http://域名地址/cancelHttpCallbackUrl 请求方式: POST 请求头Headers: Content-Type:application/json 参数: 参数名类型说明codestring1000成功,1…

顶尖211“小清华”!强过985,不要错过它!

一、学校及专业介绍 西安电子科技大学(Xidian University),简称“西电” ,位于陕西省西安市,是中央部属高校,直属于教育部,为全国重点大学,位列国家“双一流”“211工程”&#xff…

宝塔面板开心版出问题升级到正版的解决方案,有效解决TypeError: ‘NoneType‘ object is not subscriptable

服务器之前图开心装了个宝塔面板的开心版,前几天突然出现问题,报错TypeError: ‘NoneType’ object is not subscriptable。没法正常打开软件商店,也没法修复和升级系统,很烦躁。因为里面很多业务还在跑,实在不想重装。…

呜呜呼呼无无话

姓名和手机号脱敏 function nameDesen(value) {if (!value) return return value.substring(0, 1) new Array(value.length).join(*) } const bklnameDesen(宝矿力) console.log(bkl) //宝**function telephoneDesen(value) {if (!value) return value value.toString()ret…

伦敦金投资中挂单的优势

在伦敦金交易中,其实挂单具有无可比拟的优势?首先,如果我们不是全职的投资者,我们在交易时间内可能有其他的工作,那么挂单就可以帮助我们捕捉到市场的机会,即便我们不一定会坐在电脑面前,也可以…

Vue中的指令

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

旅游攻略APP外包开发功能

旅游攻略APP是帮助旅行者计划和享受旅行的工具,下面列出了一些常见的旅游攻略APP功能,以及在上线这类应用时需要注意的问题,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 常见…

6517B|吉时利keithley 6517B高阻表

181/2461/8938Keithley 6517B 静电计 / 高阻表是全球科研实验室灵敏测量的标准。吉时利在弱电测量方面拥有 60 多年的专业经验,吉时利静电计能够可靠地测量最低 10 aA (1010-18A) 电流、最低 1 fC 电荷,并支持最高 1018Ω 的电阻测量。6517B 还能够测量高…

自动化驱动程序管理

在部署操作系统时,每次都从下载和分发所需的驱动程序中实现真正的独立性可能是一场艰苦的战斗。特别是具有硬件多样化的环境,并且需要支持新的硬件类型时。借助 OS Deployer,可以对所有端点使用一个映像,无论品牌和型号如何&#…

Java版本工程行业管理系统源码-专业的工程管理软件

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示1…

机器学习算法详解1:基础知识合集

机器学习算法详解1:基础知识合集 前言 ​ 本系列主要对机器学习上算法的原理进行解读,给大家分享一下我的观点和总结。 本篇前言 ​ 开一个新系列,另外现在开学了,忙起来了,所以更新会很慢。 目录结构 文章目录 机器学…

SI24R1/NRF24L01P引脚及软硬件中文开发资料

NRF24L01P芯片兼容通信。从而被打上了国产NRF24L01P的标签,更有甚者居然磨掉芯片原本的SI24R1的LOGO打成NRF24L01P,给很多客户产生了很多不必要的损失。大家定向的理解,国产的东西总是会比国外进口的相差到哪里哪里,如此云云。其实…

冠达管理:融创中国获纳入港股通标的,股价涨幅超20%

到发稿,港股融创我国股价报1.53港元,涨21.43%。 9月5日,港股融创我国高开,到发稿,股价报1.53港元,涨21.43%。 ​ 消息面上,根据上交所、深交所公告,港通下港股通标的名单发生调整…

电商为什么要做小程序商城?

微信小程序出现之后,便迅速在网络上走红,并且开放很多接口,最重要的是,微信小程序可以和公众号密切关联消息,这样给企业带来了更多商机。特别是微信小程序商城得到了微信平台的大力扶持,这样一来&#xff0…

企业做微信小程序开发的好处

一、引言 在移动优先的时代,微信小程序为企业提供了新的营销方式和用户交互方式。微信小程序具有轻便、易用、可跨平台等特性,使得企业可以快速触达广大用户。本文将详细探讨企业做微信小程序开发的好处。 二、微信小程序对企业的好处 增加品牌知名度&…

mysql 大表如何ddl

大家好,我是蓝胖子,mysql对大表(千万级数据)的ddl语句,在生产上执行时一定要千万小心,一不小心就有可能造成业务阻塞,数据库io和cpu飙高的情况。今天我们就来看看如何针对大表执行ddl语句。 通过这篇文章,…