时序逻辑电路设计_第1页
时序逻辑电路设计_第2页
时序逻辑电路设计_第3页
时序逻辑电路设计_第4页
时序逻辑电路设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

桂林电子科技大学课程设计论文第5页共16页PAGE2PAGE5引言人类社会进步,各种仪器测试设备的以电子设备代替成为趋势,各类测试仪器都希望通过电子设备来实现。电子设备在实现相应参数的测量时,具有简单容易操作,而且数据便于计算机处理等优点。目前科技的飞速进展与集成电路的发展应用,有密不可分的关系。十九世纪工业革命主要以机器节省人力,二十世纪的工业的革命则主要以电脑为人脑分劳。而电脑的发展归于集成电路工业。集成电路是将各种电路器件集成于半导体表面而形成的电路。近年来集成电路几乎成为所有电子产品的心脏。由于集成电路微小化的趋向,使电子产品得以“轻、薄、短、小”。故集成电路工业又称微电子工业。差不多在同时数字计算机的发展提供了应用晶体管的庞大潜在市场。20世纪90年代以后,电子科学和技术取得了飞速的发展,其标志就是电子计算机的普及和大规模集成电路的广泛应用。在这种情况下,传统的关于数字电路的内容也随之起了很大的变化,在数字电路领域EDA工具已经相当成熟,无论是电路内容结构设计还是电路系统设计,以前的手工设计都被计算机辅助设计或自动设计所取代。通过长期的学习微电子专业理论知识,我们应该多动手实践把理论知识与实践相结合,加强对理论知识的把握。本文是十进制同步计数器的设计,对十进制同步计数器的设计进行电路原理图设计以及仿真,版图设计,版图验证。1设计技术要求(1)项目名称:十进制同步计数器的设计(2)使用工艺:2.0um硅栅工艺(tanner)或者1.0um硅栅工艺(cadence)(3)供电电源:5V(4)输入要求:异步清除,CMOS电平(5)进行原理图设计,并完成电路的仿真(6)版图设计,完成LVS一致性检验,生成相应的GDSII文档2设计构思及理论2.1设计思路十进制同步计数器的设计可以细化成下列步骤:建立最简原始状态图。确定触发器级数,进行状态编码。用状态装换卡诺图化简,求状态方程和输出方程。查自启动特性。确定触发类型,求驱动方程。画逻辑图。时序逻辑电路的设计就是根据给出的具体逻辑问题,求出实现其功能的电路,所得到的结果应力求简单。当选用小规模集成电器设计时,电路简单的标准是所用的触发器和门电路的数目最少,而且触发器和门电路的输入端数目也最少。而使用中、大规模集成电路时,电路简单的标准使用的集成电路数目、种类最少。而且互相间的互连线也最少。在进行原理图的设计时应该遵循组合逻辑电路的设计规律和方法,避免出现不必要的错误。组合逻辑电路的设计过程,一般分为如下三步进行:由逻辑问题抽象出真值表由真值表写出逻辑表达式并通过卡诺图进行化简由化简后的逻辑表达式设计出最后的组合逻辑电路图1时序逻辑电路设计过程2.2设计构思的理论依据计数器是利用电子学的方法测出一定时间内输入的脉冲数目将结果以数字显示。计数器的种类也非常繁多,根据计数器中触发器时钟端的连接方式,分为同步计数器和异步计数器;根据计数器方式分为二进制计数器、十进制计数器和任意进制计数器,根据计数器的状态变化规律分为加法计数器、减法计数器和加/减计数器。十进制同步计数器计数从0~9,当输出为9时,在下一个脉冲作用下,进位输出为1,如果预置ABCD大于二进制数1001,在几个CLK作用下也能回到计数状态,即同步十进制计数器具有自启动功能。十进制同步计数器输入输出端口及功能:时钟CLK,当CLK的上升沿到来时,计数器加一;清零端CLRN即复位端,当CLRN为0时,输出、、及置0;预置控制端口LND,当LND为0时,计数器输出值等于预置输入值,当LND为1时,计数器计数从预置数开始;预置输入A、B、C及D,即实现任意进制的必要输入;计数保持输入ENT及ENP,当二者有一个为零时,停止计数,保持计数值;计数器输出、、及;进位端,当计数值到达9时进位输出为一,否则为0。十进制同步设计都是个模块,它可以是个基本单元,如晶体管;可以是个逻辑单元,如反相器;可以是个功能区块,如算数逻辑运算单元;也可以是我们的目标系统。在设计文件数据库中不必包含我们所有设计上会使用到的模块,当然必须要有包含这些模块的一个(或多个)文件,当成我们设计时的单元库。该设计文件中包含三个模块,每个模块的构成包括电路符号与电路本身,当所设计的模块是最基本的单元,如电阻晶体管等,它是不需要有电路部分的,该模块用符号来表示该单元。如果我们所设计的模块希望能被其他模块电路调用使用,在设计完电路后面还要设计输入输出端口相对应的电路符号,这样才能被正常使用。当设计的模块太大,要一次将所有的设计显示在窗口中会显得不适用,并且在处理上会使速度变慢,这时就要通过TannerToolsPro提供的页面功能。I.模块(Module)模块是S-Edit设计文件中的主要单元,它可以是所设计的一个功能单元,如晶体管、基本逻辑门、功能区块、放大器电路,甚至是你的全部系统。模块包含以下两种基本单元:Primitivbes利用绘图工具所绘制的几何对象;instances使用设计文件中的其他模块。=2\*ROMANII.页面(Page)页面功能提供使用者将设计的电路分成数个区块,以便窗口的显示。当你的模块设计太大或太复杂时,要一次将所有的电路显示在窗口中时,会显得不容易观看,而且在处理的速度上会变慢,这时就需要考虑将设计分散到不同的页面中,让窗口一次只显示适当大小的电路,方便设计的进行与处理。TannerToolsPro就提供了页面的功能,方便使用者处理页面间电路的连接问题。TannerToolspro内定的页面命名是从Page0依次往上递增,使用者可以通过>Rename来更改页面名称。当使用者要建立另一个新的页面时,使用>New命令会打开新页面的对话窗口,这时你可以使用内定名称,也可以输入你要的名称。当模块的设计有好几个页面时,可以通过>Open来打开该模块中的某个页面。=3\*ROMANIII.显示模式S-Edjt有两种显示模式,电路图模式和符号图模式。当创建一个基本元件(如晶体管)或较大的功能单元(如反向器)的例化体时,我们用符号来代表在较大的模块中的较小的元件或单元。要创建或修改符号,须在符号图模式下工作。在建立模块的连接时,要在电路图模式下工作。电路图表示基本元件(如晶体管)与较大的功能单元(如反向器或门)的连接关系。要创建或观看线路图,须在电路图模式下工作。用view->SymbolMode命令和View->SchematicMode命令来实现在两种显示模式问转换。也可以用问号键(?)来实现这种转换=4\*ROMANIV符号图模式符号由几何体,端口,与属性组成。要创建一个符号,Modul->new命令),并进入符号图模式。用注释工具条中的Box·(长方形),Polygon(多边形)以及Comment(注解)等工具创建模块的图形表示。先创建一个新的模块(用Line(线段),Circle(圆),用电路图工具条上的端口工具放置端口,作为模块与其它设计对象的连接点。属性工具用来规定模块在输出网表中的描述。模块的属性可以表征像长度,宽度,以及周长之类的物理参数:也可以描述如器件类型和注解之类的非物理量;还可以用来指定元件在S贝CE,NetTIgn,或TPR等网表中输出字符串的精确形式,以及注释模块在网表输出是否处在等级结构的最低级别。=5\*ROMANV电路图模式电路图定义模块中的原始体和较低级别模块的连接。电路图表示较小的单元或基本元件(如晶体管)怎样连成较高级别的单元(如反向器)。电路图由五种基本元件组成:以符号形式出现的模块例化体。模块例化体有管脚。管脚是用来与其它对象连接的连接点。连线:连线用来完成模块间的连接。端口:端口表示电路图对外的输入和输出。在电路图中的端口必须与该端口在符号图中的名称和类型相对应。端口还起注释电路图中节点的作用。注释对象,包括boxes(长方形),circles(圆),polygons(多边形),1ines(线段),以及comments(注解)。注释对象用来说明电路图。Labels(标号),用来注释和命名电路图中的节点。与端口不同,由标号注释的节点不表示模块的输入和输出,不与模块符号的端口相对应。3.3原理图仿真电路原理图计好后,其功能是否正确,性能是否优越,必须通过电路模拟才能进行验证。在电路原理图上,通过添加移位/置入STLD信号,控制输入端;添加串行数据输入控制端SER,控制输出端;添加时钟CLK;添加输入数据信号A到H(各信号情况见附图2)。保存文件后点击编译进行仿真,若原理图或者仿真的测试设置有误,仿真会中断并提示错误,根据软件的提示对仿真设置进行修改,修改完成后,保存文件,再次进行仿真,直到设置正确出现仿真波形为止。调用T-spice仿真软件进行仿真(仿真时间长度为5000ns,maximumtimestep为:100ns。),得到输出信号Q和Q_为下图3所示。通过分析,电路功能是正确的,能很好的实现十进制同步计数器计数功能,但输出存在毛刺。仿真结果分析:如图3所示。当CLRN为零时,计数器输出为零,当CLRN为高电平时计数器从零开始计数。当LDN出现低电平时,输出为预置值1100,且计数值保持不变,当LDN高电平到来时计数开始,计数开始后,经过两个时钟,计数输出又回到正常计数当中。计数器计数从0~9,输出为9时,在下一个脉冲的作用下,进位端输出为一。ENT和ENP保持计数功能,二者有一个为0时,计数器保持输出值,但此时,LDN的低电平可控制去输出为预置值,直到ENT、ENP及LND都为一时才开始计数。主要由、决定,当二者都为一时,输出为一。当预置端,为小于或等于1001的二进制数时,可以等到2进制、3进制直到十进制的不同进制的计数器。将多片同步十进制进行级联就可以等到任意进制的计数器。图3仿真结果输出波形图4版图设计集成电路版图设计是指将前端设计产生的门级网表通过EDA设计工具进行布局布线和进行物理验证并最终产生供制造用的GDSII数据的过程。其主要工作职责有:芯片物理结构分析、逻辑分析、建立后端设计流程、版图布局布线、版图编辑、版图物理验证、联络代工厂并提交生产数据。作为连接设计与制造的桥梁,合格的版图设计人员既要懂得IC设计、版图设计方面的专业知识,还要熟悉制程厂的工作流程、制程原理等相关知识。IC版图是一组相互套合的图形,各层版图相应于不同的工艺步骤,每一层版图用不同的图案来表示,根据逻辑与电路功能和性能要求以及工艺水平要求来设计光刻用的掩膜版图,实现IC设计的。复杂的集成电路系统的设计问题分解为复杂性较低的设计级别,这个级别可以再分解到复杂性更低的设计级别;这样的分解一直继续到使最终的设计级别的复杂性足够低,也就是说,能相当容易地由这一级设计出的单元逐级组织起复杂的系统。一般来说,级别越高,抽象程度越高;级别越低,细节越具体。从层次和域表示分层分级设计思想:1.域,有行为域:集成电路的功能;结构域:集成电路的逻辑和电路组成;物理域:集成电路掩膜版的几何特性和物理特性的具体实现2.层次:系统级、算法级、寄存器传输级(也称RTL级)、逻辑级与电路级。4.1版图设计思路对照电路原理图,初步形成版图设计的思路:1、整体设计:确定版图主要模块和焊盘的布局。这个布局图应该和功能框图或电路图大体一致,然后根据模块的面积大小进行调整。布局设计的另一个重要的任务是焊盘的布局。焊盘的安排要便于内部信号的连接,要尽量节省芯片面积以减少制作成本。焊盘的布局还应该便于测试,特别是晶上测试。2、分层设计:按照电路功能划分整个电路,对每个功能块进行再划分,每一个模块对应一个单元。从最小模块开始到完成整个电路的版图设计,设计者需要建立多个单元。这一步就是自顶向下的设计。这样做有很多好处,最为突出的优点是当在整个电路多次出现的某一个模块需要修改时,直接在下一层次修改该模块,上一层的所有同样单元就一并得到修改,结构严谨、层次清晰。4.2布局经过考虑一番,把整个版图划分为8个小模块,再把8个小模块划分为2个大模块,每个小模块都是相同的模块,因此作完一个后,其他用到的3个小模块就可以直接复制使用了。同理做好一个大模块后,另一个大模块也可以直接复制使用。采用标准单元设计方法,根据逻辑原理图,将相应的标准单元从单元库中调出,先做一个模块,采用行式结构,排列成行。具体步骤:首先,直接调用单元库里面已经设计好的NAND2(二输入与非门)逻辑单元门INV(反相器)、NOR2(二输入或非门)和DFF(D触发器),做成一个模块。然后,把做好了的小模块直接复制使用,作成另外3个模块。接着,以花费最小面积,方便布线为目的,摆放好这4个模块。以上已制做好一个大模块,直接复制使用放置在它的右边,以花费最小面积为准。4.3布线了解一些规则:1:metal1最小线宽是3Microns,Metal2最小线宽是3Microns;2:Metal1之间的最小距离是3Microns;Metal2之间的最小距离是4Microns;3:Metal1跟Ploy的接触孔是2Microns的方块,Metal1和Metal2覆盖接触孔2Microns;Metal1跟的Metal2接触孔是2Microns的方块,Metal1和Metal2覆盖接触孔2Microns。首先始在模块内部进行布线,Metal1走水平方向,Metal2走垂直方向。然后就是模块跟模块之间的布线,Metal1走水平方向,Metal2走垂直方向。最好是电源线的互连及地线的互连。经过布局和布线后得出的版图如图4所示:5DRC(设计规则检查)版图编辑要按照一定的设计规则来进行,也就是要通过DRC(DesignRuleChecker)检查。编辑好的版图通过了设计规则的检查后,有可能还有错误,这些错误不是由于违反了设计规则,而是可能与实际线路图不一致。版图中少连了一根铝线这样的小毛病对整个芯片来说是致命的,所以编辑好的版图中要不时地进行设计规则检查。运行DRC,程序就按照Diva规则检查文件运行,发现错误时,会在错误的地方做出标记(mark),并且做出解释(explain)。设计者就可以根据提示来进行修改。需要注意的是,DRC要在画图过程中经常进行,及时发现问题及时修改,不要等到版图基本完成后在做,这时再出现的错误往往很难修改,因为各个器件的位置已经相对固定,对于电路一处的改动往往牵连到多个相邻的器件,从而造成更多的问题。执行完DRC出现了以下的提示框:还要通过LVS(LayoutVersusSchematic)验证。同时,编辑好的版图通过寄生参数提取程序来提取出电路的寄生参数,电路仿真程序可以调用这个数据来进行后模拟。执行DRC程序,对每个单元版图进行设计规则检查,并修改错处。在画版图的过程中根据提示框的内容可以知道执行DRC程序没有发现版图设计规则错误,可以转入下一阶段的版图验证工作。图4十进制同步计数器计数存器版图图5DRC结果报告6LVS(版图与原理图的对比)编辑好的版图通过了设计规则的检查后,有可能还有错误,这些错误不是由于违反了设计规则,而是可能与实际线路图不一致。版图中少连了一根铝线这样的小毛病对整个芯片来说是致命的,所以编辑好的版图还要通过LVS(LayoutVersusSchematic)验证。在电路方面的错误,要用到Tanner提供的另外两种功能:Extract和LVS。首先执行EXT程序,对版图进行包括电路拓扑结构、元件及其参数的提取。设计规则检查只检验几何图形的正确与否。Extract是系统根据版图和工艺文件提取版图的电路特性,也就是“认出”版图代表什么电路器件,NMOS或是PMOS,还是其他。电路提取后的版图作为单元的另外一种试图(Extracted)保存下来。接着,执行LVS程序,将提取出的版图与电路图进行对照,并进行修改直到版图和电路图完全一致。LVS就是把Extracted与单元的另外一种视图schematic比较,检查版图实现的电路是否有错。结果如下:图6十进制同步计数器LVS结果7设计心得体会从TANNER电路原理图设计,仿真到版图设计以及版图验证,做了一次全定制电路设计流程,得到充分锻炼。组合逻辑电路设计就是在给定逻辑功能及要求的条件下,通过多方面的设计方法,得到满足功能要求,而且是最简单的逻辑电路。在版图设计方面,关于layout布局布线经验总结:(一)布局前的准备1.查看捕捉点设置是否正确。2.Cell名称不能以数字开头。否则无法做DRACULA检查。3.布局前考虑好出PIN的方向和位置4布局前分析电路,完成同一功能的MOS管画在一起。5.对两层金属走向预先订好。一个图中栅的走向尽量一致,不要有横有竖。6.对pin分类,vdd,vddx注意不要混淆,不同电位(衬底接不同电压)的n井分开.混合信号的电路尤其注意这点。(二)布局时注意事项1.DEVICE的个数是否和原理图一至(有并联的管子时注意);各DEVICE的尺寸是否和原理图一至。一般在拿到原理图之后,会对布局有大概的规划,先画DEVICE,(DIVECE之间不必用最小间距,根据经验考虑连线空间留出空隙)再连线。画DEVICE后从EXTRACTED中看参数检验对错。对每个device器件的各端从什么方向,什么位置与其他物体连线必须先有考虑(与经验及floorplan的水平有关)。2.如果一个cell调用其它cell,被调用的cell的vssx,vddx,vssb,vddb如果没有和外层cell连起来,要打上PIN,否则通不过diva检查.尽量在布局低层cell时就连起来。3.尽量用最上层金属接出PIN。4.接出去的线拉到cell边缘,布局时记得留出走线空间。4.金属连线不宜过长。5.小尺寸的mos管孔可以少打一点。6.LABEL标识元件时不要用y0层,mapfile不认。7.栅上的孔最好打在栅的中间位置。8.Contact面积允许的情况下,能打越多越好,尤其是input/output部分,因为电流较大.但如果contact阻值远大于diffusion则不适用.传导线越宽越好,因为可以减少电阻值,但也增加了电容值。9.金属连接孔可以嵌在diffusion的孔中间。10.两段金属连接处重叠的地方注意金属线最小宽度。11.连线接头处一定要重叠,画的时候将该区域放大可避免此错误。12.摆放各个小CEL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论