全定制设计SRAM单元电路概诉Word文档格式.docx

上传人:b****5 文档编号:17095936 上传时间:2022-11-28 格式:DOCX 页数:23 大小:1.35MB
下载 相关 举报
全定制设计SRAM单元电路概诉Word文档格式.docx_第1页
第1页 / 共23页
全定制设计SRAM单元电路概诉Word文档格式.docx_第2页
第2页 / 共23页
全定制设计SRAM单元电路概诉Word文档格式.docx_第3页
第3页 / 共23页
全定制设计SRAM单元电路概诉Word文档格式.docx_第4页
第4页 / 共23页
全定制设计SRAM单元电路概诉Word文档格式.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

全定制设计SRAM单元电路概诉Word文档格式.docx

《全定制设计SRAM单元电路概诉Word文档格式.docx》由会员分享,可在线阅读,更多相关《全定制设计SRAM单元电路概诉Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。

全定制设计SRAM单元电路概诉Word文档格式.docx

(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连接出来。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 畜牧兽医

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1