数字后端知识点扫盲——标准单元-standard cell

Standard cell,标准单元,或者简称cell,可以说是数字后端最基本的概念之一了。

甚至可能没有接触过后端的同学也有所耳闻,那么它到底是什么呢?我们为何要设定标准单元呢,以及这些cell是怎么应用到我们后端的设计中的呢?我就来以我个人的理解阐述一下这几个问题。

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

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

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

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

         我是一个前端设计人员,文章只是以科普的形式介绍后端的一些知识,在实际工作中也会涉及到这些知识点,所以转载学习,文中如有不正确的地方,希望后端的前辈斧正。

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PCIE(Peripheral Component Interconnect Express)是一种计算机扩展总线标准,用于连接外部设备与计算机主板之间的数据传输。PCIe连接的设备可以是显卡、声卡、网卡等。 Flow control(流量控制)是PCIE中的一种基础机制,用于在设备之间传输数据时确保数据的可靠传输。 PCIE的flow control可以分为两种方式:Credit-based Flow Control(基于信用控制)和Acknowledgment/Negative Acknowledgment Flow Control(确认/否定确认控制)。 基于信用控制是PCIE中最常用的流量控制机制。发送方设备在发送数据之前会向接收方设备发送一个信用(credit)值,表示发送方设备可以发送的最大数据量。接收方设备在接收到数据后会发回一个更新的信用值给发送方设备,发送方设备根据接收到的信用值确定下一次可以发送的数据量。通过这种方式,可以有效控制不同速度的设备之间的数据传输,避免数据丢失或信道阻塞。 确认/否定确认控制是PCIE中的一种备用方式,当发送方设备发送数据后,接收方设备会发回一个确认或否定确认信号给发送方设备,以告知是否成功接收数据。如果发送方设备收到否定确认信号,则会重新发送数据,确保数据的可靠性。 总结来说,PCIE中的flow control机制是为了确保数据的可靠传输而设计的。基于信用控制和确认/否定确认控制是两种常用的流量控制方式,可以根据不同的需求选择适合的方式来控制数据的传输。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值