1、第三章:设计过程 43.1电路设计 43.2电路仿真 63.3版图设计 12第五章:总结 17第六章:心得体会 17一.题目要求 1.1设计要求按照所给D触发器原理图,设计D触发器。要求: (1)给出满足题目要求的电路图。(2)给出MOS管的尺寸。(3)利用L-EDIT完成电路的版图设计,设计规则使用SMIC0.35um CMOS工艺规则或L-EDIT默认规则,要求电路布局合理、面积尽量做小。二.设计原理触发器是一种时钟控制的记忆器件,触发器具有一个控制输入讯号 (CLOCK),CLOCK 讯号使触发器只在特定时刻才按输入讯号改变输出状态。若触发器只在时 钟 CLOCK 由 L 到 H (H
2、到 L) 的转换时刻才接收输入,则称这种触发器是上升沿 (下降沿) 触发的。触发器可用来储存一位的数据。通过将若干个触发器连接在 一起可储存多位元的数据,它们可用来表示时序器的状态、计数器的值、电脑记 忆体中的 ASCII 码或其他资料。D 触发器是最常用的触发器之一。对于上升沿触 发 D 触发器来说,其输出 Q 只在 CLOCK 由 L 到 H 的转换时刻才会跟随输入 D 的状 态而变化,其他时候 Q 则维持不变。 。本课程设计要求设计 D 触发器电路及其版图,利用 Tanner Tools Pro 工具完成电路原理图的设计,仿真,以及版图设计。三.设计过程3.1 电路设计打开S-Edit程
3、序,从spice文件中调用NMOS和PMOS,之后要加入输入端与输出端口得到如下图的电路。图1 D触发器原理图3.1.2符号模式换至符号模式,建立D触发器符号如下图所示。图2 D 触发器符号3.1.3 生成SPICE文件输出成SPICE 文件,用于以后的仿真,将设计好的S-Edit 电路图输出成SPICE格式,可借助T-Spice来分析与模拟此设计电路的性质,得到下图1.3输出文件。图3 D触发器 SPICE 文件3.2 电路仿真包括直流仿真与瞬时分析3.2.1直流仿真操作流程:编辑S-Edit-输出SPICE文件-进入T-Spice-加载包含文件-电源设定-输入设定-分析设定-显示设定-执行
4、模拟-显示结果。 加入输入电源和输入信号,确定此模块在电路设计模式(Schematic Mode)下,再选择Module Symbol Browser 命令,打开Symbol Browser对话框,在Library列表框中选择spice 组 件库,其内含模块出现在Modules列表框中,其中有很多种电压源符号,选取出直流电压源 Source_v_dc 作为此电路的工作电压源。直流电压源Source_v_dc符号有正(十)端与负(一)端。 在 此 模块 编辑窗 口中将 直流电 压源 Source_v_dc 符 号的正 (+) 端接 Vdd ,将直流电压源 Source_v_dc符号的负(一)端接
5、Gnd。之后与同样的方法给输入D加上正电源5V,负极接Gnd。加入电源和输入信号 输出电路网表文件,加载包含文件,分析设定、输出设定之后,得到如下图2.2所示网表。图4 直流分析输出网表文件在得到网表文件之后,进行模拟。选择Simulate-Start Simulation 命令,或单击按钮,打开Run Simulation对话框,单击Start Simulation 按 钮,将出现模拟状况的窗口Simulation Status,并会自动打开w-Editor窗口来观看模拟波形图,得到如下图5的波形图。图5直流分析输出波形图由上图结果可以知道,当输入RST由0到5V以1V步距变化时,输出信号Q
6、和XQ在0V到5V之间变化,这个得到的结果和实际D触发器工作相符,直流分析验证了此电路设计的正确 性。3.2.2 瞬时分析进入T-Spice-打开d_chufaqi.sp文件-加载包含文件-参数设定-电源设定-输入设定-分析设定-显示设定-执行模拟-结果显示。 首先要加载包含文件。由于不同的流程有不同特性,在模拟之前,必须要引入MOS 组件的模型文件,此模型文件包括电容电阻系数等数据,以供T-Spice模拟之用。 然后加入电源Vdd,确定模块在电路设计模式。选择Module-Symbol Browser 命令,打开Symbol Browser 对话框,在Library 列表框中选择spice
7、组件库,其内含模块出现在 Modules 列表框中,其中有很多种电压源符号,选取直流电压源Source_v_dc作为此电路的 工作电压。直流电压源 Source_v_dc 符号有正(+)端与负(一)端。在此模块编辑窗口中将直 流电压源Source_v_dc符号的正(+)端接Vdd, 将直流电压源Source _v_dc 符号的负(-)端接 Gnd。此时电压源设定的电压值为5.0v。然后设定CLK,D和RST的输入信号。对于时钟信号CLK和输入D信号,我采用脉冲信号。 可以编辑电路来实现,具体步骤如下:选择Module-Symbol Browser 命令,打开Symbol Browser 对话框
8、,在Library 列表框中选取spice 组件库,其内含模块出现在Modules 列表框 中,选取脉冲电压源Source_v_pulse 作为反相器输入信号,将脉冲电压源Source_v_pulse 符 号的(+)端接输入端口IN,将脉冲电压源Source_v_pulse 符号的负(一)端接Gnd。之后将电路 输出为网表文件。也可以使用网表文件直接写入。其方法如下:选择Edit-Insert Command 命 令,在出现的对话框的列表框中选择Voltage Source 选项,在对话框右侧将出现10个选项, 再在Voltage Source选项下选择Pulse选项,在对话框右侧的Volta
9、ge source name(电压源名称) 文本框输入“vclk”,在电压峰值中填入5.0,初值中填入0,之后填入波形输入的上升下降 时间即可完成。设定D的信号和RST信号与上面A的方法类似,在此就不再赘述。完成之后的 网表文件格式如下。vd D Gnd PULSE (0 5 190n 5n 5n 50n 200n)vclk CLK Gnd PULSE (0 5 90n 5n 5n 50n 100n)vrst RST Gnd PWL (0ns 0V 200ns 0V 895ns 0V 900n 5V)接下来进行分析设定。对D触发器的瞬时分析,必须下瞬时分析指令。将鼠标移至文文件尾,选择Edit
10、-Insert Command 命令,在出现的对话框的列表框中选则Analysis 选项,在对 话框右侧出现8个选项,可直接单击Transient 瞬时分析按钮,也可展开左侧列表框的Analysis 选项,并选择Transient 选项。在对话框右侧有几项设定需要选择,并设定其时间间隔与分 析时间范围,这里我们将模拟时间间隔设定为1ns, 总模拟时间设定为1100ns。首先在 Modes 选项组中选择Standard (from DC op.point)单选按钮,在Maximum tinge 文本框输入“1n”, 在Simulation 文本框输入“1100n”,在Methods 选项组中选择
11、Standard BDF单选按钮,单 击Insert Command 按钮后,则会出现默认以红色字开头的“.tran/op 1n 1100n method =bdf”。 接下来输出设定.若要观察瞬时分析的结果,首先要设定观察瞬时分析结果为哪些节点的电 压或电流,在此要观察的是输入节点D,RST,CLK电压模拟结果。将鼠标移至文件尾,选择 Edit-Insert Command 命令,在出现的对话框的列表框中选择Output 选项,在对话框右侧 出现7个选项,可直接单击Transient results 按钮,也可展开列表框的Output 选项,并选择 Transient results 选项,
12、在右侧出现的Plot type 下拉列表中选择Voltage 选项,在Node name 文本框中输入节点名称“Q”,单击Add 按钮。重复该操作将XQ,RST,D加入.单击Insert Command 按钮,则会出现默认以红色字开头的.print tran v(CLK) v(D) v(RST) v(Q) v(XQ) 选择Simulate-Start Simulation 命令,或单击按钮,打开Run Simulation 对话框,单击Start Simulation 按钮,则会出现模拟结果的报告窗口Simulation Status,并会自动打开W-Editor 窗 口来观看模拟波形图,如下
13、图6所示图6 瞬时分析波形图观察上面的波形图,我们可以很明显的看到此触发器是下降沿有效,复位端高电平有效,输出端低电平有效。当时钟信号CLK下降沿到来时,并且复位信号RST为低电平时,输出信号 与输入信号D相同,否则输出信号保持不变。这组波形图很好的证明了电路的功能,验证了此设计的正确性。3.3 版图设计3.3.1版图设计流程(1) 打开L-Edit软件,选择“FileSave as”命令,在打开的对话框中选择文件存取位置和文件名“DFFC”。(2) 设计规则。选择File Replace setup命令,单击出现的对话框的From file 下拉列表右侧的Browser按钮,选D:Tanne
14、rEDAL-Edit90SemplesSPRexamplelights.tdb文件,单击“ok”,出现一个警告对话框,点击“确定”,就可以将lights.tdb文件的设定选择性应用在当前的文件,包括格点的设定,图层的设定。(3) 设计环境设定。绘制图层,必须有确定的大小。选择SetDesign命令,打开Set design对话框,进行相应的,合适的环境设置。(4) 用LVS进行检查,将布局图与电路图所描述的电路进行对比,具体的操作流程 如下:进入LVS软件环境 建立新文件 设定相关参数 电路对比。3.3.2 元件布局完整的元件布局包括两个部分,一个是核心逻辑电路,另一个是输入输出压焊点,其中的
15、输入输出压焊点部分也要包括在标准元件库中。四位加法器的核心逻辑电路在上两章已经讲述。在动手对版图进行布局之前,我们应该了解版图的基本设计规则,主要包括以下六个方面:最小宽度(minimum width);最小间距(minimum spacing);标准宽度(exact width);最小环绕距离(minimum surround);最小延伸(extension),重叠规则(overlap)。之后开始着手进行版图布局布线。以下为PMOS版图绘制的步骤:1)绘制N阱,如图4.1(a);2)绘制P Select,如图4.1(b);3)绘制有源区,如图4.1(c);3)绘制栅极多晶硅,如图4.1(d)
16、;4)绘制有源区接触孔,如图4.1(e)。 (a) (b)(c) (d)(e) 图3.1 PMOS的版图设计步骤这样,PMOS的版图就完成了,如图4.2 (e)所示。NMOS版图的设计步骤与PMOS基本相同。3.3对于晶体管选择合适尺寸,在本课程设计中,我选择 NMOS 和 PMOS 尺寸如下。NMOS L=0.6u W=1.2u AD=66p PD=24u AS=66p PS=24uPMOS L=0.7u W=2.8u AD=66p PD=24u AS=66p PS=24u。 图7 D触发器版图 图8 通过DRC检查3.4进行仿真验证。程序如下:加载包含文件Vdd 电压值设定设定 A 的输入
17、信号分析设定输出设定进行 模拟。设定内容为:.include C:Program FilestannertannerTSpice70modelsml2_125.md vd D Gnd PULSE (0 5 190n 5n 5n 50n 200n)vvdd Vdd Gnd 5.tran/op 1n 1100n method=bdfprint tran v(CLK) v(D) v(RST) v(Q) v(XQ)模拟结果在 W-Edit 中的状态如图 3.3 所示。图 9 D 触发器布局图模拟结果由上面的电路的瞬时仿真、直流分析、版图的瞬时仿真,LVS比对,我们可以发现此设计完全以能够完成其基本功能
18、,可以满足课程设计题目的要求,并 且具有很好的稳定性,算是一次较为成功的设计。五.总结本次D触发器设计包括电路图设计、网表的仿真、版图的实现,涵盖了集成电路整个设计流程。将电路图转化为网表的形式,添加电源、激励信号,用H-Spice进行了仿真,从结果波形图中可以看出实现了D触发器的功能,然后,在L-Edit中完成版图的设计,同样采用标准模块的方法,设计完成后进行DRC检查,未发现错误。说明版图设计通过。同时,通过进行分析,发现瞬时特性等都符合要求,因此D触发器电路设计及版图实现就完成了。六.心得体会本次课程设计做的是D触发器,刚拿到题目时候,一开始无从下手。老师给了电路图,但参数等看的却不是很
19、清晰,因此用S-Edit画电路图时候,费了不少力气。在后续仿真中,也遇到了一些问题。加上本学期学习集成电路版图设计没有重视,因此再用L-Edit画版图时候,感觉很棘手。从廖裕评等编.Tanner Pro 集成电路设计与布局实战指导这本书开始,耐心的学习了tanner软件:S-Edit,L-Edit以及相关的直流仿真,瞬态仿真。慢慢的我对题目有了一定的想法,于是开始试着完成课设。虽然依旧遇到了很多问题,通过向同学老师请教,不断修改,完善,最终完成了版图设计通过这次的课设,我明白了,学任何东西要有踏实,细心,不能急躁,而且遇到问题首先要自己尝试去解决,要充分利用网络资源和图书馆资源,要具备一定的搜集资料的能力,这对于我们以后的学习来说具有很大的意义。通过这次课程设计,我深深的感觉集成电路设计是非常实用的科目,这也增加了我对集成电路学习的兴趣。学习不仅仅是要学理论知识,更重要的,是要学会动手,通过实践加深对理论知识的理解。本次课程设计激发了我动手实践的热情, 提高了我的分析和实践能力,也让我体会到了自己设计的快乐,收获颇多!课设仍有待完善,请老师不吝赐教。 评 语