建设一个网站最低消费,我想创建一个网站,网站的开发流程分哪几步,wordpress secondary title参考文章#xff1a; 聊一聊芯片后端的标准单元-standard cell - 知乎 (zhihu.com) standard cell中的7T和9T中的T指的是什么#xff1f;或者是什么的缩写#xff1f; - Layout讨论区 - EETOP 创芯网论坛 (原名#xff1a;电子顶级开发网) - 数字后端基本概念介… 参考文章 聊一聊芯片后端的标准单元-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应该主要就是leakagetiming就很麻烦了需要在各个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 tracktiming不够就选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上