全定制设计SRAM单元电路概诉Word文档格式.docx
- 文档编号:17095936
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:23
- 大小:1.35MB
全定制设计SRAM单元电路概诉Word文档格式.docx
《全定制设计SRAM单元电路概诉Word文档格式.docx》由会员分享,可在线阅读,更多相关《全定制设计SRAM单元电路概诉Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
(1)电路面积最优,
(2)1bit存储,位线、字线作为端口,(3)访问速度0.2ns,(4)三态总线输出,(5)采用gpdk0.18通用工艺模型库,(6)完成全部流程:
综上,本设计内容及设计较为简单,结构和功能原理易懂,易于仿真设计的实现。
所有设计是在cadence公司全定制平台IC5141工具下完的,IC5141工具主要包括集成平台designframeworkII、原理图编辑工具virtuososchematiceditor、仿真工具spectre、版图编辑工具virtuosolayouteditor、以及物理验证工具diva。
功能上可以模拟1bitSRAM的具体工作原理。
关键字:
SRAM;
全定制;
designframeworkII;
目录
1电路设计1
1.1电路分析1
1.2SRAM单元电路实现1
1.3模拟设计原理图输入3
1.3.1环境配置3
1.3.2建立设计库4
1.3.3电路原理图输入5
1.3.4创建symbol6
1.3.5创建仿真电路图6
1.4SRAM单元电路性能指标分析7
2电路仿真与分析9
3电路版图设计11
3.1建立pCell库版图11
3.2pCell库器件参数化13
3.3器件板图绘制16
4物理验证19
4.1设计规则检查DRC19
4.2LVS检查20
结论23
参考文献24
1电路设计
1.1电路分析
根据SRAM单元电路的工作原理,1bit的SRAM单元电路的核心电路为一个D触发器,D触发器是由两个PMOS管,四个NMOS管构成;
其中字线WL作为控制端,位线bit作为输入端口。
由于题目要求三态输出,故需要在D触发器输出上接一个CMOS三态反相器,该CMOS三态反相器有两个PMOS管和两个NMOS管串联而成;
该CMOS三态反相器的使能端由一个接在CMOS反相器上的的输入EN及其输出~EN分别接在三态反相器的相应位置,该CMOS三态反相器的输出作为总的输出[1]。
1.2SRAM单元电路实现
三态输出的SRAM单元电路可分为三部分:
D触发器,CMOS三态反相器,CMOS反相器。
(1)D触发器
D触发器是由两对儿互补的CMOS并联而成,两侧各接一个NMOS管以字线WL
连接这两个NMOS的栅极,其中一个NMOS与位线相连作为输入,另一个NMOS管的一侧作为D触发器的输出与下面的CMOS三态反相器的输入端相连,具体电路如图1.1所示。
(2)CMOS三态反相器
该CMOS三态反相器有两个PMOS管和两个NMOS管串联而成;
该CMOS三态反相器的使能端由一个接在CMOS反相器上的的输入EN及其输出~EN分别接在三态反相器的相应位置,该CMOS三态反相器的输出作为总的输出。
具体电路如图1.2所示。
(3)CMOS反相器
CMOS反相器由一个NMOS和一个PMOS串联而成,使能端EN与两个管的栅极相连,反相器的输出与三态反相器的相应位置相连,具体电路如图1.3所示。
图1.1D触发器电路图
图1.2CMOS三态反相器电路图
图1.3CMOS反相器电路图
1.3模拟设计原理图输入
根据芯片的功能要求与性能指标,选择合适的集成电路工艺库,使用电路图编辑工具绘制电图。
1.3.1环境配置
使用Cadence,必须在自己的计算机上作一些相应的设置,这些设置包括很多方面。
作为初学者,只需进行以下几项设置[2]:
1).cshrc文件设置:
.cshrc文件是用户启动LINUX的配置文件,指定LINUX系统和EDA工具软件的环境变量,以及LINUX、EDA工具软件和Licence文件所在的路径。
.cshrc必须放在用户的home(家目录)下。
2).cds.lib文件设置:
.cds.lib文件是Cadence的库管理文件,通常存放在启动目录下。
icfb&
启动时,会自动将启动目录下的.cds.lib文件载入。
对于初次使用Cadence的用户,Cadence会在用户的启动目录下生成一个.cds.lib文件,用户通过CIW生成一个库时,Cadence会自动将其加入启动目录下的.cds.lib文件中。
如果用户需要加入自己的库,则可以修改自己的库管理文件.cds.lib。
3).cdsenv文件设置:
.cdsenv文件包含了Cadence软件的一些初始设置。
4).cdsinit文件设置:
与.cdsenv一样,.cdsinit中也包含了Cadence软件的一些初始化设置,在icfb&
启动时,会首先自动调用.cdsinit文件和.cdsenv文件并执行其中的语言。
若仅为初学者,可以不编写这两个文件,Cadence会自动调用隐含的设置。
.cdsenv和.cdsinit这二个文件可存在于ic5141平台的安装目录、用户目录和启动目录下。
启动时,优先载入的次序是启动目录、用户目录和IC5141安装目录。
5)工艺文件(technologyfile)设计:
本设计版图会用到工艺库gpdk180_v3.2,务必保证工艺库的添加。
6)显示文件设置:
显示文件文件控制Cadence工具的显示,一般位于工作目录下。
环境配置主要包括添加工作目录和环境参量的设置。
IC5141的启动经过上述准备,在工作目录下键入icfb&
IC,IC514界面即可启动。
1.3.2建立设计库
无论画电路图还是设计版图,都和建库有关,技术文件库对于IC设计而言是非常重要的,其中包含了很多设计中所必需的信息。
对于版图设计者而言,技术库就显得更为重要了。
要生成技术文件库,必须先编写技术文件。
技术文件主要包括层的定义,符号化器件的定义,层、物理以及电学规则和一些针对特定的Cadence工具的规则的定义,例如自动布局布线的一些规则,版图转换成GDSII文件时所用到的层号定义。
在ic5141中,设计的管理以库的方式进行。
库管理器中包含有设计使用的工艺库和ic5141软件提供的一些元件库,如analogLib,basic等。
用户在工作过程中建立的库也放在库管理器中。
所需要的库添加完成以后就可以进行电路原理图的绘制了[3]。
1)CIW界面点击File菜单,出现下拉菜单,选命令→New→Library,出现“NewLibrary”对话框。
2)在对话框Library的Name项中输入新库名mylib。
在TechnologyFile项中提示:
“如果要在这个库中建立掩模版图或其他物理数据,需要技术文件”若只要用电路图或HDL数据,则不需要技术文件。
由于新建库后面还将用于版图绘制,选第二个选项,即“Attachtoanexistingtechfile”,单击“OK“按钮,选择工艺库gpdk180。
下面可以进行电路原理图绘制了。
1.3.3电路原理图输入
电路图编辑界面中,主要有三个区域:
菜单栏,工具栏和电路图绘图区域。
这些工具栏可以画出需要的电路图[4]。
下来就可以开始画电路原理图,具体过程如下:
1)建立设计原理图:
在CIW中选菜单项File→New→Cellview,出现“Create
→NewFile”对话框,填写、选择相应的选项,点击OK按钮,进入原理图编辑器virtuososchematiceditor界面。
2)例化并添加器件:
在原理图编辑器中选择菜单项Add→nstance,出现添加器件对话框点击Browse按钮,进入器件选择对话框,选中相应的pmos和nmos器件的和后,点击close按钮关闭该librarybrowser对话框。
随后出现pmos和nmos器件参数表,按照设计要求添上相应的参数。
点击Hide按钮,在原理图编辑器中出现随鼠标移动的pmos和nmos管的symbol,放置到相应的位置即可。
按同样的方法找到Cap和其他相应器件的放置窗口,填入参数值,然后完成放置。
3)放置输入输出端口。
从电路图编辑窗口菜单中,选择“Add”->
“Pin”或点击工具栏中的放置端口或用快捷键P,填好端口名(IN和OUT),并使之与端口方向(分别为input和output)的选项一致,即可完成输入输出端口的放置。
到此我们已经完成了电路图里的所有元件的放置,剩下的就是元件的合理安排放置和元件之间的连线了。
4)连线。
从电路图编辑窗口菜单中,选择
“Add”->
”Wire(narrow)”或点击工具栏中的放置细线或用快捷键w,便可以将已经放置好的元件连接起来。
5)检查与保存。
选择“Design”->
“CheckandSave”,如果电路图有绘制问题,会报告出错。
至此我们就完成了整体电路图绘制。
整体原理图如下所示:
图1.4SRAM单元电路原理图
1.3.4创建symbol
完成原理图之后,为便于进行仿真,需要进行symbol的创建。
(1)生成符号图:
在原理图编辑窗口,点击菜单项Design→CreateCellview→FromCellview,出现symbol生成选项表,点击OK按钮出现图下部分。
在的表项中只采用默认值,直接点击OK按钮,即可看到symbol编辑窗口。
1.3.5创建仿真电路图
完成电路原理图的输入之后,为了对设计进行仿真和性能分析,需要建立一个仿真平台,将电源、各种激励信号输入待测的电路inv,然后采用仿真器进行分析。
在命令解释器窗口CIW中选菜单项File→New→Cellview,出现“CreateNewFile”对话框,填写、选择相应的选项,点击OK按钮,进入原理图编辑器virtuososchematiceditor界面。
(同前述电路原理图输入时的操作一样)。
在原理图编辑器中选择菜单项Add→Instance(或者按快捷键i,或者点击编辑器左侧的工具栏Instance按钮均可)。
3)器件互联:
连线这里不详述,操作同电路原理图输入。
最后得到的仿真电路图如下图所示一致。
图1.5SRAM单元电路图
1.4SRAM单元电路性能指标分析
(1)存储容量
这里指的是存储器芯片的存储容量,其表示方式一般为:
芯片的存储单元数*每个存储单元的位数。
本设计采用的是1bit存储,故其容量为1*1bit,即它有1个单元,每个单元存储1bit(一个字节)数据。
(2)存取时间
存取时间就是存取芯片中某一个单元的数据所需要的时间。
当拿到一块存储器芯片的时候,可以从其手册上得到它的存取时间,CPU在读/写RAM时,它提供给RAM芯片的读/写时间必须必RAM芯片所要求的存取时间长,如果不能满足这一点,则微型机无法正常工作。
本设计采取的读/写时间为0.2ns。
(3)可靠性
微型计算机要正确的运行,必须要求存储器系统具有很高的可靠性,因为内存的任何错误都可能使计算机无法工作。
而存储器的可靠性直接与构成它的芯片有关。
目前所用的半导体存储器芯片的平均故障时间间隔(MTBF)大概为5*106~1*108小时。
2电路仿真与分析
对于ic5141模拟设计环境ADE来说,默认的仿真器是spectre,这里直接采用spectre对设计进行仿真和分析。
(1)启动模拟设计环境ADE(AnalogDesignEnvironment):
选择菜单项Tools→AnalogEnvironment,随即启动ADE。
我们的电路仿真与分析就要在该平台下进行。
启动ADE之后,就要进行仿真与分析的设置。
注意到窗口左侧Design条目下的相关内容(Library、Cell、View),因为是在ivnTest编辑窗口启动的ADE,因此这些内容正是需要仿真分析的,这里不做改变[5]。
(2)添加模型与仿真文件:
选择菜单项Setup→ModelLibraries,进入ModelSetupLibrary窗口。
然后点击右下角的Browse…按钮,进入模型库的选择。
点击OK按钮选中模型文件gpdk.scs,窗口回到ModelLibrarySetup界面。
在Section(opt)下的框中填入stat,点击Add按钮添加模型文件。
最后点击OK选中模型文件并退出。
(3)设置分析类型:
根据不同的需要,可以对电路进行不同类型的分析。
在此我们选择瞬态(transient)分析。
在ADE界面中,选择菜单项Analyses→Choose,选择仿真参数和类型,这里选择最简单的瞬态分析Trans,分析时间相对于激励适当即可。
(4)信号分析输出捕捉:
这里选择需要查看的信号。
在ADE界面中,选择菜单项Output→Tobeplotted→SelectOnSchematic,此时invTest的原理图窗口变成活跃的,直接用鼠标点击需要查看的信号即可。
电路图中选择连线会在输出中添加该线的电压;
选择一个器件的端口则会添加这个端口的电流作为输出;
直接选择一个器件则会把该器件的所有端口电流都加以输出。
这里选择inv的输入和输出信号线,可以看见这两个信号线的颜色发生了变化,表示被选中。
(5)选择菜单项Simulation→Netlistandrun(或相应工具栏按钮),运行仿真,直接点击OK关闭弹出的欢迎页(Welcometospectre)。
随即出现仿真文字输出和波形输出。
波形图如下所示:
图2.1SRAM单元电路输出波形
3电路版图设计
本课程设计采用工具软件为cadence平台ic5.1.41,主要为Virtuoso,用于原理图、版图输入,DIVA本示例的过程是这样的:
首先建立一个基本器件版图库,再将器件加上参数,使之成为参数化单元库(ParameterizedCell)。
然后在参数化器件基础上,绘制设计的版图(称之为层次化)。
最后对设计版图进行版图提取、DRC/LVS验证。
3.1建立pCell库版图
软件工具启动后,关闭“what’snew”窗口,新建参数化器件库pCell。
在CIW(CommandInterpreterWindow)界面选择菜单项File→New→Library。
1)完成建库后就可以在该设计库pCell中设计器件。
在CIW界面选择菜单项File→NewCellview,弹出窗口,按照要求填写与选择,点击按钮OK完成mypmos器件文件创建。
随后出现的界面就是版图编辑器窗口。
2)N阱绘制:
回到编辑窗口中,选择菜单项Create→Rectangle(或工具栏Rectangle,或快捷键r),直接点击Hide按钮隐藏弹出窗口。
在编辑窗口移动鼠标,查看窗口菜单项上方的坐标显示,在位置(0,0))单击鼠标,向右上方拉伸至(2.78,1.6)再次单击,完成N阱绘制。
当点击位置不正确时,可以采用键盘中的退格(Backspace)键取消当前点击位置,且可连续取消。
绘制完成后,按键盘中的退出(Esc)键退出绘制Rectangle的命令。
3)在LSW界面点击下方Nimp条形栏,选中Nimp作为当前绘图层。
回到编辑窗口中,仍采用Rectangle形状绘制,点击起点(0.3,0.3),拉伸至(1.0,1.3)点击完成绘制。
4)同样方法绘制Pimp,选中LSW图层后,在编辑窗口点击起点(1.0,0.3),拉伸至(2.48,1.3)点击完成绘制。
完成注入区(Nimp、Pimp)的绘制
5)然后要进行Poly层制作。
在LSW窗口选中Poly,回到编辑窗口中,选择菜单项Create→Path(或工具栏Path,或快捷键p),出现弹出窗口,宽度Width项填入0.18,即可进行Poly的绘制。
最后应该注意的是,Oxide的起点坐标为(0.5,0.5),终点坐标为(2.28,1.1);
两处Metal1,左侧为(0.6,0.6)à
(1.4,1.0),右侧为(1.78,0.6)à
(2.18,1.0);
三处Cont的起讫点,左侧(0.7,0.7)à
(0.9,0.9)、中间(1.1,0.7)à
(1.3,0.9)、右侧(1.88,0.7)2.08,0.9)。
最后得到完整的PMOS绘图如下图所示:
图3.1PMOS单元版图
在版图编辑窗口,选中菜单项Designà
SaveAs…,将当前设计mypmos的PMOS版图另存于同一库中,并命名mynmos。
然后选中菜单项Windowà
Close,关闭mypmos。
再在CIW窗口选中菜单项File→Open,以编辑方式打开mynmos版图。
(1.58,0.4)à
(1.78,0.6)在版图编辑器中,删去mynmos的Nwell图层;
在保持几何尺寸不变的条件下,将原来Pimp图层改成Nimp,将原来Nimp改为Pimp;
其余的图层保持不变。
这样就得到了一个NMOS的版图,如下图所示:
图3.2NMOS单元版图
3.2pCell库器件参数化
(1)为长度length和宽度width设置参数:
这里对MOS器件所设的参数为管子长度length和宽度width。
首先在CIW中选菜单项File→Open,以编辑方式打开mypmos版图,开始进行参数设置。
在版图编辑器窗口,选菜单项Tools→Pcell,则在编辑器中多出一菜单项Pcell。
先进行宽度参数设定。
选菜单项Pcell→StretchinY…启动命令,然后移动鼠标在点(-0.15,0.8)附近单击一下,会看到一条以单击点为起点的水平直线,向右拉伸,穿过三个cont,在点(3,0.8)附近双击鼠标(仍可用Backspace取消前一单击点),出现弹出Y向拉伸参数窗口,并参照图示填写、选择相关内容,点击按钮OK完成设定。
(2)编译:
设定width参数后,要进行编译:
Pcell→Compile→ToPcell,在弹出窗口中选择transistor,并按钮OK完成设置(只在第一次编译中出现)。
编译完后就要实际验证一下。
在CIW窗口,选择菜单Fileà
Newà
Cellview,任意命名一个cell(单元),比如pcellTest,主要用来测试刚刚编译过的pcell。
在pcellTest的版图编辑界面,例化pCell库中的pmos版图,可见width参数项。
对参数width分别给以不同的数值,这里是0.6和1.2,查看例化结果,从下图3.3width参数变化见cont的尺寸发生变化,这是不希望的。
图3.3不同参数导致cont尺寸变化
尺寸问题的变化是这样解决的,在mypmos版图编辑界面,执行菜单命令Pcell→Repetition→RepeatinY…,然后在窗口中用鼠标分别单击三个cont,三个cont随即高亮表示被选中。
若有别的图层被选中,可按住键盘的Ctrl键再在多余的图层单击鼠标左键即可。
单击选中三个cont之后按键盘Enter键,或者选中最后一个cont时双击鼠标,就会出现如下图所示的表单项。
完成这个参数设置之后点击OK按钮。
先编译,再查看总结。
图3.4Y向重复选项参数
同样要进行例化验证,将参数width分别设为默认值和1。
至此,参数width设置完成,下面来进行参数length的设置。
在版图编辑窗口,执行菜单命令Pcell→StretchinX…,移动鼠标至点(1.59,1.8)附近单击,垂直垂直拉伸至点(1.59,-0.2)附近双击,会有弹出窗口。
图3.5X向伸展和length参数设置
照上图填写、选择之后按OK键。
然后进行编译、查看参数总结。
图3.6参数总结
下图是将参数length分别设为默认值和0.36的例化结果。
图3.7length参数例化验证
PMOS管的两个参数width和length已经设置完成,可以正常使用了。
更复杂得参数化单元参见联机帮助文档。
和PMOS的参数化一样,NMOS做法步骤完全一样。
至此,pCell库中的两个单元(cell)pmos和nmos版图已经参数化完成,拥有长度length和宽度width两个参数,并且cont在宽度方向上随width参数改变
而重复,这些在设计中都可以直接使用。
注意在今后的设计当中,应尽量使用
厂商提供的pdk中的参数化器件。
下面就利用pCell库中的参数化单元进行电路版图制。
3.3器件板图绘制
要求为设计单独建一个库,例示中命名为mylib。
操作同前述所有的建库操作一样。
在设计库mylib中创建cell,使用菜单命令File→New→Cellview,弹出如下窗口,填写、选择完成点击OK按钮,进入名为sub单元(cell)的版图编辑界面。
1)PMOS和NMOS的例化:
在版图编辑界面中,直接按下键盘中i键,弹出例化cell的窗口,如下图填写、选择,完成例化PMOS单元。
图3.8PMOS的表单与摆放
当点击Hide按钮后,CreateInstance窗口消失,在版图编辑窗口出现一个随鼠标移动的PMOS管。
同样例化一个NMOS管,见下图3.9。
图3.9NMOS的表单与摆放
2)整体版图构思:
完成PMOS管和NMOS管的例化以后,就可以按照我自己设计的电路版图要求进行绘制。
首先应把例化好的PMOS管和NMOS管放到编辑窗口界面,由于我的整个设计需要12个管子,其中包括5个PMOS管和7个NMOS,整个电路版图可以由一个D触发器,一个CMOS三态反相器,一个CMOS反相器构成。
3)CMOS反相器版图的绘制:
反相器由一个PMOS管和NMOS管构成,先摆放PMOS管和NMOS,然后主要采用Metal1和Poly进行连接,接口pin用Metal1连接出来。
其中电源、地线、输出的漏极直接采用Metal1连接就可以了,输入的连接需要在Poly上做一个cont,再通过Metal1。
绘图的最后一步是添加pin,也就是在版图上相应的位置加标识。
4)D触发器版图的绘制:
一个D触发器由两个PMOS管和四个NMOS管构成,和绘制反相器一样先摆放PMOS管和NMOS,然后主要采用Metal1和Poly进行连接,接口pin用Metal1连接出来。
5)CMOS三态反相器版图的绘制:
一个CMOS三态反相器由两个PMOS管和两个NMOS管构成,和绘制反相器一样先摆放PMOS管和NMOS,然后主要采用Metal1和Poly进行连接,接口pin用Metal1连接出来。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 定制 设计 SRAM 单元 电路