数字后端知识点扫盲——版图设计

版图前的准备

软件上设计的电路是如何在代工厂加工成有一定功能的芯片呢?电路设计芯片之间是通过版图联系的,电路设计只是一个形式,而版图是电路的具体表现。通俗来讲,代工厂就是按照设计者提供的版图制造掩膜版,再通过掩膜版的形状结合工艺流程实现芯片制造。

上图展示的是CMOS工艺实现的反相器截面图,图中n+和n+区域的分布决定着NMOS和PMOS的区域,版图设计就是确定这些区域如何分布,以及NMOS和PMOS之间的连线是如何实现的。

了解完版图是做什么的之后,再回到之前遗留的一个问题:PDK如何包含工艺信息?

先解释一下what is PDK ?

这个问题深入来说不太好讲,大家刚开始接触也无法深入理解,以后会随着对工艺流程的深入学习渐渐熟悉,这里稍作解释,当做科普来看吧,内容不一定严谨,还请各位勿深究。

首先工厂对PDK使用的工艺有一个定义,这个文件叫做techfile.tf, 大家可以去自己使用的PDK中查找,应该都会找到这个文件,在这个文件中对工艺中使用的各个层的名字显示颜色等都有定义,除此之外每一层都会对应一个数字编号,可以这么打比方:

工艺中的一个加工层就好比一个人,层的名字对应人的名字,层的显示颜色对应人的穿衣,层的编号对应人的身份证号码。人与人之间的日常交流只需要知道这个人的姓名和穿了什么样的衣服即可,而不会在意他的身份证号码,只有在核实一个人的身份时才需要提供身份证号码。

版图设计中设计者看到的也是每一层的名字和颜色,不会纠结对应层的编号,因为那个编号是给工艺厂用来确定这一层具体对应哪一个加工步骤的,与设计的人关系并不密切。

当然,实际PDK会对techfile.tf文件进行编译,让它变成不可随意编辑的内容然后提供给使用者,否则万一用户不小于改变了techfile.tf的内容,那么PDK中的工艺信息岂不是会改变,工厂在加工时就无法确认工艺!

PDK会在提供工艺信息的同时提供给用户一个显示文件,文件名为:display.drf,这个文件中定义的是不同工艺层的“衣服”。正如一个人的身份证号码不能更改,但是穿什么样的衣服却没人干预一样。工艺厂不会让用户改动每一层对应的编号,但是每一层该如何显示全看用户习惯,用户可以修改display.drf文件中的内容,改变层的显示颜色和显示方法,这个文件在PDK中也可以找到,大家可以打开阅读一下内容。

在开始版图前,需要向软件声明本次设计采用的是哪个工艺。还记得在新建设计库的时候我们跳过了一个跟工艺有关的步骤吗?这里到了不得不确定设计工艺的时候了。

在CIW窗口,选择:Tools->Technology File Manager->Attach, 然后在弹出框内选择把自己的设计库关联到PDK提供的工艺库上,如下图所示,这个步骤也可以在新建库的时候实现。

如此在打开版图文件的时候软件就会根据PDK中层的定义显示层的名称,同时在给版图层编号的时候就会与选择的PDK中层编号一致。

另外,为了保证版图显示文件与PDK的techfile.tf文件保持一致,在开始版图前需要把PDK中display.drf文件拷贝到Cadence软件的启动目录

有些工艺中display.drf文件还会跟原理图的显示有关,如果在原理图中发现连线等显示不正确的问题,可以先拷贝工艺库中display.drf文件到工作目录,再考虑其他原因。

熟悉版图设计环境

首先了解一下版图设计工具,同时通过打开PDK中提供的器件版图了解一下版图设计。在软件Library Manager窗口中找到PDK提供的库,选择提供layout View的器件,并打开对应的layout.

小目同学使用的库是smic18mmrf,选择器件n33, 并打开对应的版图,如下图中所示。

查看PDK中提供的器件版图

NMOS版图及软件工作界面介绍

在版图界面左侧有一个显示工艺层的窗口(LSW),这是画版图过程中使用率最高的窗口,在其中可以设置选择某一层显示哪些层以及哪些层可以被选中等,也可以更换层的显示形状及颜色。

版图界面的上方是工具栏,与原理图界面功能相似,包括新建内容调用器件等内容。除此之外是版图工作区域,用户调用、绘画的版图都在其中显示。

结合上面的版图示例和本文最初给出的CMOS反相器截面图来初步认识一下版图,同时熟悉一下版图中对某些层的一些常用叫法。

版图中常用层的叫法和意义

习惯叫法实现功能显示名称(smic18mmrf)
poly定义MOS管的栅极或者电阻区域等GT
metal所有金属互连M1、M2、M3...
active area定义离子注入区域AA
n plus(p plus)定义离子注入类型SN(SP)
contactactive area(poly)与M1的过孔CT
via金属之间的过孔V1、V2、V3...

版图工具使用过程中也有很多快捷键来提高工作效率,下面介绍常用的快捷键,用户可以自己尝试每个快捷键的功能。

版图设计中常用快捷键

快捷键实现功能快捷键实现功能
p创建连线shift+p创建多边形
r创建矩形shift+r改变已有形状
o插入过孔shift+o旋转工具
i插入实例q编辑属性
c复制图形shift+c裁剪工具
m移动工具shift+m合并图形
l创建线名s拉伸工具
k创建标尺shift+k清除标尺
f显示全部n45°走线
u撤销操作shift+u取消撤销操作
t查看层名z区域放大
y复制区域shift+y粘贴区域
v绑定图形backspace撤销一次操作
a快速对齐shift+a区域选择
ctrl+z放大shift+z缩小
ctrl+f显示层次shift+f铺平显示
x原地编辑shift+x进入下一级
ctrl+b返回上一级ctrl+a选中所有
ctrl+w关闭视图shift+w下一个视图
tab移动视图delete删除内容
enter完成操作esc结束操作
方向键移动视角shift+方向键移动光标

以上是部分软件默认状态的快捷键,熟悉之后用户可以根据自己的操作习惯更改快捷键。快捷键的功能可能存在一定的翻译偏差,希望各位同学在实际操作中慢慢体会,熟练使用快捷键可以大大提高版图效率。

反相器版图设计

新建反相器的版图View, 在Library Manager界面:File->New->Cell View, 选出自己的工程库,Cell选择:inv, Type选择layout, 打开工具选择默认即可,确定之后会弹出版图设计窗口。

下面开始反相器版图设计,反相器中有两个器件,分别是NMOS和PMOS,所以首先完成两个器件,再考虑器件之间的互连。

版图设计中器件的版图实现有不同的方法:

  • 用户自行画器件版图:按照工艺中器件的定义和设计中器件尺寸,逐层画出器件中的所有层,以实现器件功能(适用于没有PDK的设计)。
  • 调用PDK中器件:从PDK中调用工艺库提供的器件,可以方便地更改器件尺寸(适用于基于PDK的设计)。
  • 从原理图导入器件:软件支持从原理图中导入器件版图,导入的器件属性与原理图中器件保持一致(适用于基于PDK的设计)。

因为我们是基于PDK的版图设计,所以可以直接使用PDK提供的器件版图,免除了自己设计器件版图的麻烦。

在版图设计界面使用快捷键i, 然后与原理图设计中调用器件类似,不过此时选择器件View为layout,然后填入器件参数,将调用的器件放在工作区域,例如调用一个n33的NMOS.

采用从原理图中导入器件的方法需要使用Layout XL工具,这个工具相比Layout L功能更齐全。

在版图设计界面中,选择:Launch->Layout XL,等待软件启动,然后在工具栏:Connectivity->Generate->Selected From Source, 点选之后回到原理图界面,选择需要导入版图的器件,再次回到Layout XL工作界面可以看到已经生成对应器件的版图。

使用Layout XL工具导入版图还有其他方法,使用:Connectivity->Generate->All From Source, 一次导入所有器件的版图,更多功能希望各位同学在具体设计中慢慢发现。

由于反相器版图设计简单,器件数量很少,所以本文后面的演示依然使用Layout L工具,关于Layout XL工具的使用大家可以自行试验。

调入NMOS和PMOS晶体管之后,选中器件,按下快捷键q按照原理图中的尺寸编辑器件属性,使MOS管的W、L与原理图中保持一致。

在编辑器件属性的时候可以根据器件尺寸调整器件形态,比如单个器件W太大时不利于版图布局,可以调整器件插指(Fingers)数量和插指宽度(Finger Width)之间的关系,只要器件的总宽度(Total Width)与设计值保持一致就可以。

调用PDK的器件也可以选择是否添加栅极接触孔(Gate Connection)和是否连接源漏(S/D Connection, 只对多插指结构有用),这些PDK提供的功能可以让用户方便地画版图。

调整好尺寸和布局的器件如图所示,下面开始实现器件间的连线,在LWS栏中选择M1, 然后使用快捷键p或者r, 完成MOS管之间的连线,把AVDD和AVSS的线分别预留在上下位置,最后使用快捷键l, 为连线节点命名(使用与metal相对应的txt层,比如:M1TXT层)。完成以上步骤之后,版图看上去应该和下图中的截图相似。

以上完成了器件之间的连线,剩下的一项内容可能不容易理解,也是很多初学者容易忽视的地方,就是给NMOS和PMOS加上衬底接触。那么何为衬底接触呢?

我们都知道MOS是一个四端器件,这个在原理图中也可以注意到,版图中的衬底接触就是MOS的第四端,这一端对于NMOS来说就是整个芯片的衬底(只对标准CMOS工艺来讲),对于PMOS就是NWell,所以NMOS的衬底接触做在p plus上,PMOS的衬底接触做在NWell上,衬底接触的实现在反相器的截面图中也可以清楚地看到。

完成的反相器版图如上图左侧所示,器件的衬底接触也可以直接在器件属性编辑栏中,选择:Bodytei Type类型,然后选择衬底接触的放置位置,这种衬底接触由PDK自动实现,用起来很方便。

完成以上步骤之后,可以在版图设计界面选择:Edit->Advanced->Move Origin, 选择版图的坐标原点,这样在以后需要调用的时候会更方便。

 

 

  • 4
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
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机制是为了确保数据的可靠传输而设计的。基于信用控制和确认/否定确认控制是两种常用的流量控制方式,可以根据不同的需求选择适合的方式来控制数据的传输。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值