D触发器设计.doc

上传人:hw****26 文档编号:2988801 上传时间:2019-05-16 格式:DOC 页数:10 大小:316.05KB
下载 相关 举报
D触发器设计.doc_第1页
第1页 / 共10页
D触发器设计.doc_第2页
第2页 / 共10页
D触发器设计.doc_第3页
第3页 / 共10页
D触发器设计.doc_第4页
第4页 / 共10页
D触发器设计.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、要求:采用 0.25um CMOS 工艺(SPICE 模型,BSIM3.1)设计一个基于传输门结构的 D 触发器,要求该 D 触发器带有异步高电平置位。1)用 HSPICE 仿真验证该 D 触发器功能的正确性。2)利用 HSPICE 仿真得出该 D 触发器的建立时间、保持时间和传输延时的值,假设 D 触发器的负载是该 D 触发器的数据输入端。3)请优化该 D 触发器的晶体管尺寸,使建立时间最小。4)优化尺寸使传输延时最小。仿真过程中,输入信号和 clock 的跳变沿(上升沿时间和下降沿时间)统一为0.2ns。如下面的 clock 的例子:vclk clock 0 pulse (0 2.5 0

2、0.2n 0.2n 4.8n 10n)建立时间定义含混,难以精确确定。一般减小寄存器数据到 clock 的时间不会使输出立刻出错,但它会使输出延时增大,所以一般建立时间的定义有两种方法:(b)1、定义成时钟之前数据输入必须有效的时间。 (但有效的含义是什么,难以精确确定)2、定义成使 D-Clk 时间差与 tc-q 延时的和最小时寄存器的工作点。这一点使触发器的延时总开销最小。即图(b)中斜率 45 度的点。X 轴和 Y 轴等比例!在全定制设计中这个值可以比较接近出错点,但在半定制标准单元设计中,寄存器的建立时间和保持时间定义成相对 tcq 增大一个固定百分比时(一般为5%) ,数据 -时钟的

3、时间差。注意,这些曲线在 0-1 和 1-0 翻转时不同,因此 0和 1 值得建立时间和保持时间是不一样的,另外建立时间和保持时间还和时钟与数据的斜率有关,在非线性模型中用一个二维表格表示。在本练习中,采用第二种建立时间定义方法。假定都采用使输出延时比原来增大 5%的时间点作为建立时间。分别测量输出“1”和输出“0”的不同的建立时间。保持设计的定义与此相似,,同样用输出延时增加 5%作为定标点。 主从 D 触发器电路图:图 1建立时间指信号 D 在 clk 上升沿之前必须稳定的时间。传输延迟指从 QM 到达Q 的时间;保持时间指信号 D 在 clk 上升沿之后必须保持稳定的时间。(1)从图 1

4、 可以看出,建立时间的路径为 I1、T1、I3、I2,忽略时钟反相器的延时。建立时间:tsetup=3tp_inv+tpd_tx。优化:由于 clk 的扇出较多,负载比较大,所以 clk 的两个本地反相器采用大的尺寸wn=2u,wp=4u 以提高驱动能力。I1 为数据输入管,采用中等尺寸wn=1.2u,wp=2.4u 为 T1 提供合适的驱动。I3 的负载接两个反相器,所以尺寸不宜太小,wn=1.2u,wp=2.4u。对于上升电路其负载为 T2, 为减小上升延时,T2 设置为最小尺寸。此外 I4 也是作为负载端也应将其管子都设为最小尺寸。(2)传输延时为信号通过T3、I6的时间,传输时间为tc

5、d=tpd_inv+tpd_tx。优化:传输延时为从 Qm 到达 Q 的时间。数据传输到 I2 的同时也传输到了 I4,所以 I4在 clk 的上升沿就稳定了。I5 可看作为输出的负载,所以 I5 采用最小尺寸。I6接 I5 和下一级 D 触发器的数据输入端,所以 I6 尺寸不能过小,wn=1.2u,wp=2.4u。故为了能更好地驱动 I6,T3 也不采用最小尺寸,wn=0.5u,wp=0.5u。(3)D在clk 上升沿后必须稳定, D和clk 都经过一个反相器后到达 T1,所以输入的变化不会比clk更快到达T1,保持时间为0,即thold=0。优化前 D 触发器的仿真波形:10 翻转传输时间

6、和建立时间的测量如图:传输时间 Tcqf 平均为 313ps,增大为 1.05 倍为 329ps,此时对应的建立时间Tsetf=129ps.01翻转传输时间和建立时间的测量如图:局部放大图:传输时间Tcqr平均为343ps,增大为1.05倍为361ps,此时对应的建立时间Tsetr=120ps.01翻转保持时间和传输时间的测量如图:传输时间Tcq平均为274ps,增大为1.05倍为287ps,此时对应的保持时间Thold=-86.4ps.优化后 D 触发器的仿真波形:01翻转传输时间和建立时间的测量如图:传输时间 Tcqr 平均为 222ps,增大为 1.05 倍为 234ps,此时对应的建立

7、时间Tsetr=118ps.10翻转传输时间和建立时间的测量如图:传输时间Tcqf平均为250ps,增大为1.05倍为263ps,此时对应的建立时间Tsetf=161ps.01 翻转保持时间和传输时间的测量如图:传输时间Tcq平均为224ps,增大为1.05倍为235ps,此时对应的保持时间Thold=-91.9ps.d触发器网表(测建立时间):*Name:data_flipflop*.lib “cmos25_level49.lib“ TT.global vdd.option post list.param tdtime=7n.param py=7n.ic q=0.subckt inv in

8、outmp out in vdd vdd pmos w=0.5u l=0.25umn out in 0 0 nmos w=0.25u l=0.25u.ends.subckt tg in1 in2 in0 outp mp in0 in1 outp vdd pmos w=0.5u l=0.25umn in0 in2 outp 0 nmos w=0.25u l=0.25u .ends.subckt trigger d clock qx1 clock 1 inv x2 1 2 inv x3 d 3 inv x4 4 5 invx5 6 4 inv x6 4 7 inv x7 q 9 inv x8 10

9、 q inv x9 1 2 5 6 tg x10 2 1 3 6 tgx11 2 1 9 10 tgx12 1 2 7 10 tg.endsx1 d clock q triggerx2 q clock q1 triggerc0 q1 0 0.5pvdd vdd 0 2.5vclk clock 0 pulse(0 2.5 tdtime 0.2n 0.2n 4.8n 10n)vd d 0 pulse(0 2.5 py 0.2n 0.2n 9.8n 20n).op.tran 0.01ns 50ns sweep tdtime 7.11n 8n 0.01n.dc vd 0 2.5 0.5.measure

10、 tran tsetr trig V(d) val=1.25 rise=1 targ V(clock) val=1.25 rise=1.measure tran tcqr trig V(clock) val=1.25 rise=1 targ V(q) val=1.25 rise=1.measure tran tsetf trig V(d) val=1.25 fall=1 targ V(clock) val=1.25 rise=2.measure tran tcqf trig V(clock) val=1.25 rise=2 targ V(q) val=1.25 fall=1.endd触发器网表

11、(测保持时间):*Name:data_flipflop*.lib “cmos25_level49.lib“ TT.global vdd.option post list.param tdtime=7n.param py=7n.ic q=0.subckt inv in outmp out in vdd vdd pmos w=0.5u l=0.25umn out in 0 0 nmos w=0.25u l=0.25u.ends.subckt tg in1 in2 in0 outp mp in0 in1 outp vdd pmos w=0.5u l=0.25umn in0 in2 outp 0 nm

12、os w=0.25u l=0.25u .ends.subckt trigger d clock qx1 clock 1 inv x2 1 2 inv x3 d 3 inv x4 4 5 invx5 6 4 inv x6 4 7 inv x7 q 9 inv x8 10 q inv x9 1 2 5 6 tg x10 2 1 3 6 tgx11 2 1 9 10 tgx12 1 2 7 10 tg.endsx1 d clock q triggerx2 q clock q1 triggerc0 q1 0 0.5pvdd vdd 0 2.5vclk clock 0 pulse(0 2.5 tdtim

13、e 0.2n 0.2n 4.8n 10n)vd d 0 pulse(2.5 0 py 0.2n 0.2n 9.8n 20n).op.tran 0.01ns 50ns sweep tdtime 6.5n 7.1n 0.01n.dc vd 0 2.5 0.5.measure tran thold trig V(clock) val=1.25 rise=1 targ V(d) val=1.25 fall=1.measure tran tcq trig V(clock) val=1.25 rise=1 targ V(q) val=1.25 rise=1.end优化后d触发器网表(测建立时间):*Nam

14、e:data_flipflop:set_up_time*.lib “cmos25_level49.lib“ TT.global vdd.option post list.param load_c=0.5pf.param tdtime=7n.param py=7n.ic q=0.subckt inv in out wp=0.5u wn=0.25ump out in vdd vdd pmos w=wp l=0.25umn out in 0 0 nmos w=wn l=0.25u.ends.subckt tg in1 in2 in0 outp wp=0.5u wn=0.25ump in0 in1 o

15、utp vdd pmos w=wp l=0.25umn in0 in2 outp 0 nmos w=wn l=0.25u .ends.subckt trigger d clock qx1 clock 1 inv WN=2U WP=4Ux2 1 2 inv WN=2U WP=4Ux3 d 3 inv WN=1.2U WP=2.4Ux4 4 5 inv WN=0.25U WP=0.5Ux5 6 4 inv WN=1.2U WP=2.4Ux6 4 7 inv WN=1.2U WP=2.4Ux7 q 9 inv WN=0.25U WP=0.5Ux8 10 q inv WN=1.2U WP=2.4Ux9

16、 1 2 5 6 tg wn=0.25u wp=0.25ux10 2 1 3 6 tg wn=0.5u wp=0.5ux11 2 1 9 10 tg wn=0.5u wp=0.5ux12 1 2 7 10 tg wn=0.5u wp=0.5u.endsx1 d clock q triggerx2 q clock q1 triggerc0 q1 0 load_cvdd vdd 0 2.5vclk clock 0 pulse(0 2.5 tdtime 0.2n 0.2n 4.8n 10n)vd d 0 pulse(0 2.5 py 0.2n 0.2n 9.8n 20n).op.tran 0.01n

17、s 50ns sweep tdtime 7.11n 8n 0.01n.dc vd 0 2.5 0.5.measure tran tsetr trig V(d) val=1.25 rise=1 targ V(clock) val=1.25 rise=1.measure tran tcqr trig V(clock) val=1.25 rise=1 targ V(q) val=1.25 rise=1.measure tran tsetf trig V(d) val=1.25 fall=1 targ V(clock) val=1.25 rise=2.measure tran tcqf trig V(

18、clock) val=1.25 rise=2 targ V(q) val=1.25 fall=1.end优化后d触发器网表(测保持时间):*Name:data_flipflop:hold_time*.lib “cmos25_level49.lib“ TT.global vdd.option post list.param load_c=0.5pf.param tdtime=7n.param py=7n.ic q=0.subckt inv in out wp=0.5u wn=0.25ump out in vdd vdd pmos w=wp l=0.25umn out in 0 0 nmos w=

19、wn l=0.25u.ends.subckt tg in1 in2 in0 outp wp=0.5u wn=0.25ump in0 in1 outp vdd pmos w=wp l=0.25umn in0 in2 outp 0 nmos w=wn l=0.25u .ends.subckt trigger d clock qx1 clock 1 inv WN=2U WP=4Ux2 1 2 inv WN=2U WP=4Ux3 d 3 inv WN=1.2U WP=2.4Ux4 4 5 inv WN=0.25U WP=0.5Ux5 6 4 inv WN=1.2U WP=2.4Ux6 4 7 inv

20、WN=1.2U WP=2.4Ux7 q 9 inv WN=0.25U WP=0.5Ux8 10 q inv WN=1.2U WP=2.4Ux9 1 2 5 6 tg wn=0.25u wp=0.25ux10 2 1 3 6 tg wn=0.5u wp=0.5ux11 2 1 9 10 tg wn=0.5u wp=0.5ux12 1 2 7 10 tg wn=0.5u wp=0.5u.endsx1 d clock q triggerx2 q clock q1 triggerc0 q1 0 load_cvdd vdd 0 2.5vclk clock 0 pulse(0 2.5 tdtime 0.2n 0.2n 4.8n 10n)vd d 0 pulse(2.5 0 py 0.2n 0.2n 9.8n 20n).op.tran 0.01ns 50ns sweep tdtime 6.5n 7.1n 0.01n.dc vd 0 2.5 0.5.measure tran thold trig V(clock) val=1.25 rise=1 targ V(d) val=1.25 fall=1.measure tran tcq trig V(clock) val=1.25 rise=1 targ V(q) val=1.25 rise=1.end

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。