西工大2017年数字集成电路设计实验课实验一

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四 译码器的设计及延迟估算

1、 设计译码器并估算延迟

设计一个用于16bit 寄存器堆的译码器,每一个寄存器有32bit 的宽度,每个bit 的寄存器单元形成的负载可以等效为3个单位化的晶体管(后面提到负载都为单位化后的负载)。

译码器的结构可参考典型的4-16译码器

译码器和寄存器堆的连接情况(Output 输出为1的一行寄存器被选中)

① 假定4个寄存器地址位的正反8个输入信号,每个信号的输入负载可以等效为10。确定 译码器的级数,并计算相关逻辑努力,以此来确定每一级中晶体管的尺寸(相当于多少个单位化的晶体管)及整个译码电路的延迟(以单位反相器的延迟的本征延迟Tp0为单位)。

解: 96332,10int =⨯==ext g C C C ,9.696/10F ==⇒

假定每一级的逻辑努力:G=1,又因为分支努力(每个信号连接8个与非门):

81*8*1B ==, 路径努力8.7686.91=⨯⨯==GFB H 所以,使用最优锥形系数就可得到最佳的电路级数39.36.3ln 8.76ln 6.3ln ln ===H N ,故N 取3级。

因为逻辑努力:2121G =⨯⨯=,路径努力:6.15386.92=⨯⨯==GFB H 则使得路径延时最小的门努力 36.5)6.153(3/1===N H h 。

所以:

.

36.5136.5,68.2236.5,

36.5136.5132211=========g h f g h f g h f

故第一级晶体管尺寸为7.68

1036.5=⨯; 第二级尺寸为956.1768.27.6=⨯;

第三级尺寸为96244.9636.5956.17≈=⨯。

故延迟为:0008.22)36.5136.5436.51(p p p t t t =+++++=

② 如果在四个寄存器地址输入的时候,只有正信号,反信号必须从正信号来获得。每个正信号的输入的等效负载为20,使用与①中同样的译码结构,在这种条件下确定晶体管的大小并评估延迟(以单位反相器的延迟的本征延迟Tp0为单位)。

解:因为输入时通过两级反相器,使这两个反相器分摊原来单个反相器的等效扇出,将两级反相器等效为一级,故其逻辑努力32.236.5h ==,

故36.5,68.2,32.2,32.24321====f f f f

所以:

第一级尺寸为:()9.2832.210=⨯;

第二级尺寸为:728.632.29.2=⨯;

第三级尺寸为:03.1868.2728.6=⨯;

第四级尺寸为:65.9636.503.18=⨯

正信号通路的延迟为:()0036.2236.5136.5436.5132.2132.2p p p t t t =++++++++= 反信号通路情况与上问相同,延迟为0008.22)36.5136.5436.51(p p p t t t =+++++=

2、 根据单位反相器(NMOS:W=0.5u L=0.5u PMOS:W=1.8u L=0.5u),设计出实

际电路,并仿真1题中第一问的路径延迟。

设计出实际电路如下:

仿真图如下:

代码如下

.title hubucmos

.options probe

.protect

.lib'D:\synopsys\Hspice_D-2010.03-SP1\lib\cmos25_level49.lib' TEST .vec'D:\Users\lenovo\Desktop\6\t1.vec'

.unprotect

.global VDD

Mng out g 0 0 NMOS w=1um l=0.5um

Mnf out f one 0 NMOS w=2um l=0.5um

Mna one a two 0 NMOS w=4um l=0.5um

Mnb two b 0 0 NMOS w=4um l=0.5um

Mnc one c three 0 NMOS w=6um l=0.5um

Mnd three d four 0 NMOS w=6um l=0.5um

Mne four e 0 0 NMOS w=6um l=0.5um

Mpg out g six vdd PMOS w=6um l=0.5um

Mpf six f vdd vdd PMOS w=6um l=0.5um

Mpa six a five vdd PMOS w=12um l=0.5um

Mpb six b five vdd PMOS w=12um l=0.5um

Mpc five c vdd vdd PMOS w=12um l=0.5um

Mpd five d vdd vdd PMOS w=12um l=0.5um

Mpe five e vdd vdd PMOS w=12um l=0.5um

CL out 0 10pf

vvdd vdd 0 2.5v

.tran 1n 2u start=0n

.measure tran tdelay1 trig v(g) val=1.25 td=0ns fall=1

+targ v(out) val=1.25 td=0ns rise=1

.measure tran tdelay2 trig v(g) val=1.25 td=0ns fall=2

+targ v(out) val=1.25 td=0ns rise=2

.measure tran tdelay3 trig v(g) val=1.25 td=0ns rise=2

+targ v(out) val=1.25 td=0ns fall=2

.measure tran tdelay4 trig v(g) val=1.25 td=0ns rise=3

+targ v(out) val=1.25 td=0ns fall=3

.print v(out) v(a) v(b) v(c) v(d) v(e) v(f) v(g)

.end

tt.vec:

radix 1111111

io iiiiiii

vname a b c d e f g

tunit us

相关文档
最新文档