4:1复用器电路的Verilog实现的关键代码如下:
always @(posedge clk or posedge reset)
if(reset)
begin i <= 2'b0; sda_p <= 0; end
else begin
if(i==2'b0)
begin sda_p <= data[0]; d1 <= data[1]; d2 <= data[2]; d3 <= data[3]; end
else begin d2 <= d3; d1 <= d2; sda_p <= d1; end
i <= i+2'b1;
end
图3 1*复用器实现时序图
2.2.2 4:1复用器电路
4:1复用器采用树形结构实现,其实现如图2所示,它主要由三个2:1的高速复用器和一个主从D触发器(MSDEF)构成。2:1复用器由一个主从D触发器(由两个锁存器级连构成),一个主从主D触发器(由三个锁存器级连构成)和一个2:1数据选择器构成。
本文所设计的锁存器和2:1数据选择器均采用CML(电流模式逻辑)逻辑实现,其基本结构如图4(a)所示,按其功能可分为下拉逻辑网络、尾电流源和上拉电阻三个部分。它可以在电压摆幅较小的情况下正常工作。由于尾电流源的存在,CML电路的功耗近似为恒定值P=vdd*I,其中vdd是电源电压,I为直流尾电流。众所周知,传统CMOS电路的功耗为P=CL`*f*vdd2,其中f是电路的开关频率,CL`是输出节点的负载电容。因此,在高速率的条件下,CML电路的功耗比与其相似的CMOS电路的功耗要小得多。此外,降低CML电路的电压摆幅,还可以减小整个电路的延时,从而提高电路的工作速度。
图4 锁存器及2:1数据选择器电路图
3仿真结果
该电路采用SMIC 0.18?m工艺模型,使用Virtuoso AMS Simulator 工具进行了仿真。输入信号为16位156.25Mb/s并行数据,如图5(a)所示。仿真的corner包括:ff(fast model)、tt(typical model)、ss(slow model)。不同corner下的仿真输出波形如图5(b)-(d)所示。从仿真的结果可以看出,输入数据为156.25Mb/s时,能较好的实现复用功能,输出数据速率为2.5Gb/s,整个电路的功耗约为6mW。
4结论
随着CMOS工艺的发展,采用CMOS工艺已经可以设计出高性能、低功耗、成本低的高速电路。本次设计采用0.18?m CMOS工艺,采用CML电路设计技术和数模混合设计技术,设计出了2.5Gb/s 16:1复用器电路。该电路能够在电源电压为1.8V,工作温度范围为0-70。C时,工作速率可达到2.5Gb/s,功耗约为6mW。
本文作者创新观点:本文将16:1复用器电路进行了模块化分解,采用数模混合的设计技术分别用Verilog语言描述的方式和CML电路逻辑设计了1*复用器电路和4:1复用器电路,并采用混合信号仿真的验证方式对所设计的16:1复用器进行了验证。用该种方法大大缩短设计和验证所需要的时间。