1 引言
片上集成系统(SoC)是集成电路发展的重要方向。由于数字信号处理的诸多优点以及近年来数字集成电路性能的提高与成本的下降,数字电路在 SoC系统中的地位越来越重要。由于人们总是需要将数字信号转换为现实世界中对应的物理量,因此数模转换器(DAC)成为SoC系统中不可缺少的重要模块。随着数字信号处理速度的不断提高,SoC系统对高速DAC的需求也更加迫切。在通信、测量、自动控制、多媒体等诸多领域,高速DAC都有广泛的应用,并且其性能对系统的整体性能有重要的影响。高速DAC的设计,对于实现良好的高性能SoC系统的设计具有重要的意义。
本文选择了SoC芯片广泛使用的深亚微米CMOS工艺,实现了一个10位的高速DAC。该DAC可作为SoC设计中的IP硬核,在多种不同应用领域的系统设计中实现复用。[1]
2 高速DAC的设计
2.1 高速DAC的结构
高速高精度DAC设计普遍采用电流驱动型结构,以10位电流驱动型DAC为例,其结构如图1所示。

在电流驱动型DAC中,如果在内部使用温度计码代替二进制码进行开关控制,可以大大提高DAC的线性度与无杂散动态范围(SFDR)性能。但对于10位或更高精度的电流驱动型DAC来说,如果使用全温度计码,译码电路的面积和功耗会太大。大多数高精度电流驱动型DAC选择分段编码结构,以兼顾提高DAC性能和控制译码电路规模的需求。[2]本文的DAC设计选择了7+3的分段编码结构,即输入信号的高7位转换为温度计码,低3位直接使用二进制码。
2.2 高速译码器的设计
当DAC速度越来越快时,温度计码译码器的速度往往成为DAC速度的瓶颈。使用传统的数字电路设计方法虽然有利于简化译码电路,但难以实现高速译码,特别是当译码器位数较多时就更是如此[3]。为了有效的进行高速译码器的设计,本文将译码器与延时器组成一个统一的同步电路,按照同步电路的设计原则,使用自动综合与布局布线工具,完成高速译码器与延时器的设计工作。
高速译码器与延时器的电路结构如图2所示,图中标有‘D’的方框表示时钟边沿触发的D触发器。从图2中可以看到,7位温度计码译码电路和3位二进制码延时单元均被放置在D触发器之间,从而所有的输入-输出路径均可明确写出时序约束,这就为自动综合工具的使用创造了必要条件。本设计中高速译码器与延时器的具体设计流程为:首先使用Verilog HDL语言编写RTL级代码;然后编写时序约束文件,使用Design Compiler工具完成译码器与延时器电路的自动综合,得到门级网单,并进行门级后仿真;接下来使用Silicon Ensemble工具完成标准单元的自动布局布线,并在布局布线过程中使用Pearl软件进行静态时序分析;最后使用Calibre软件对最终版图进行 DRC和LVS检查,验证版图的正确性。通过以上设计方法,实现了最高译码速度达到300MHz的7位译码器。

2.3 开关单元的设计
开关单元的设计对DAC在高速情况下的性能有重要的影响。对于一个高速DAC设计来说,不仅要求DAC能够达到很高的转换速度,而且要求DAC在高转换速度下能够实现良好的性能,因此开关单元的设计在高速DAC设计中占据着重要的地位。

图3 电流源单元与开关单元的电路图
本文的DAC设计采用的开关单元如图3所示。开关单元主要包括同步锁存器和电流开关两部分。其中同步锁存器的主要功能是使DAC中各个开关单元中的电流开关的切换都与时钟同步,从而尽量减小由延时误差产生的输出杂散。此外,通过调节其中ML3、ML4与ML5、ML6的尺寸比,同步锁存器还能实现调节开关控制信号(一对差分信号)的交叉点电位,保证不会出现一对开关同时关断的情况,从而减小由此产生的输出毛刺[4]。本文的同步锁存器将时钟控制的MOS开关ML1、ML2管串接在ML3-ML6之前,从而降低了同步锁存器对电源电压的要求,有利于电路在深亚微米CMOS工艺下的实现。
开关单元中的电流开关由MSW1-MSW4组成。与常用的电流开关相比,加入MSW3和MSW4能够起到两方面的作用:一方面它们减小了数字控制信号通过MSW1、MSW2的Cgd直接馈通到输出端的毛刺电压,另一方面它们减小了输出电压变化对电流源内部节点电压的影响作用,从而从两方面提高了 DAC在高速条件下的SFDR性能。