西安电子科技大学硕士学位论文16-bit 100Ksps Sigma-Delta模 ...

77
西安电子科技大学 硕士学位论文 16-bit 100Ksps Sigma-Delta模数转换中数字滤波器的设计 姓名:丁晓燕 申请学位级别:硕士 专业:微电子学与固体电子学 指导教师:张义门 20090101

Transcript of 西安电子科技大学硕士学位论文16-bit 100Ksps Sigma-Delta模 ...

西安电子科技大学

硕士学位论文

16-bit 100Ksps Sigma-Delta模数转换中数字滤波器的设计

姓名:丁晓燕

申请学位级别:硕士

专业:微电子学与固体电子学

指导教师:张义门

20090101

摘 要

摘 要

本文的内容是Sigma-Delta模数转换器中的数字滤波器的研究与设计。

近些年音视频已经进入了数字时代,CD、DVD、MP3等大量数字电子设备进入

市场,成为消费电子的热点。同时随着超大规模集成电路技术的发展,在单片电

路上集成复杂的数字信号处理能力已经成为可能,因此研究音频系统中的模数转

换芯片具有很大的现实意义。

Sigma-Delta模数转换器是一种低速、高精度的过采样模数转换器,主要应

用于音频和部分视频频段的信号处理,非常适合用来实现数字通信系统和信号处

理系统中的模拟接口部件。这类模数转换器可充分利用现代

VLSI(Very~large-scale integration)的高速、高集成度的优点,同时避免了元

器件失配对A/D转换器精度的限制,已成为实现高精度模数转换主要技术。

Sigma—Delta模数转换器中,虽然模拟调制器部分决定了模数转换器的设计精度

以及转换速率,但数字滤波器很大程度上决定了模数或数模转换器的速率、功耗

和面积。

本文对数字低通滤波器的原理和设计技术进行了研究,就如何优化电路结构、

提高电路性能作了具体分析。采用各种技术以节省硬件开销和降低功耗,如采用

了多相位结构、结构复用、分时复用等设计方法:采用非递归型CIC

(cascaded—integrated—comb)滤波器用以逐级降低时钟,在己有技术的基础上,

利用半带滤波器的冲激响应的对称性,改善了滤波器的速率、功耗等性能达到减

低功耗的作用;提出了一种采用CSD(Canonic Signed-Digit)码表示量化后的系数,

实现移位相加(或减)的方法来实现滤波器中的乘法功能。

本文在针对滤波器的特点,在模拟电路三阶调制器的基础之上,实现128倍

过采样、16bit信噪比98db的Sigma-Delta模数转换数字滤波器。该滤波器由一

个32倍抽取级联积分梳状(CIC)滤波器和两个窄带有限冲击响应半带滤波器级联

而成.整个系统设计经过Matlab系统仿真、Verilog HDL RTL级代码编写、Modelsim

SE RTL级代码前仿真和门级代码后仿真、Synopsys Design Compiler综合、SOC

Encounter布局布线,并通过FPGA(Field Programmable Gate Array)开发板验证。

本滤波器可以作为ASIC(Application SpecifiC Intergrated Circuits)库的标准

单元模块反复使用;设计采用O.35 um标准CMOS工艺i布局布线后的芯片面积

2.5X2.5mm2,信噪比达到98.0378db。

关键词:Sigma—Delta ADC梳状滤波器半波滤波器CSD编码FPGA

Abstract

一_———————————————————————————————一Abstract

The research锄d desi萨of digital filter in Sigma-Delta ADC is introduced in the

paper.

h1 recent years,audio and video has entered the digital area.CD,DVD,MP3 and

other digital electronic equipment become hot in the consumer electronic marl(et·

Meanwhile.along with VLSI(Very-large—scale integration)technology,on one s1班al

cbjp integrated complexity of the digital signal processing capabilities has become

possible.the study on the audio system DAC chip has great practical significance·

Si咖a.DeltaADConverter, a kind of oversampling Analog-to-Digital

Converter’with 11i幽resolution and low transition rate,is mainly applied in the field of

audio and video signal processing and well—suited to the implementation of analog

i11terf.aceS in digital communication and signal processing systems·These conv瞰ers

exploit the enhanced speed and circuit density of modem VLSI technologies and

overcome limitations on resolution that result from the component mismatching·Now

Sigma-DeIta AD Converters have been widely used for hip resolution A/D converslon·

Generally,the analog part in a Sigma-Delta AD Converter modulator mainly decides

desi印resolution and transition rate.While the transition rate,power dissipation and

chip area of a digital filter,which is the digital part,also has large influence on the

performance ofA/D or D/A Converters·

The principles and design methods of the decimation filter are studied·

Furthe肌ore,the ways to optimize the circuit architecture and improve the circuit

perfonnance,decrease the area and power consumption are analyzed,including the

desi趴methods of multi—phase structure,TDM(Time Division Multiplexing)and reused

module.The way to change normal CIC(Cascaded—Integrated—Comb)filter for

non.recursion CIC and Multi.stage multi-rate signal processing are used to implement

compensation low pass and half-band filters and the method to find the adder length

when the filterts coefficients are represented in CSD(Canonic Signed—Digit)·

FinallⅥa FIR filter used in 16bit 1 00KHZ Nyquist rate oversampled ADC with

sDecific SNR(Signal to Noise Ratios)at 98db is desighed.Based on an analog

Si甜na—DeIta modulator with 3-order cascaded structure,the filter consists of CIC filter

and narrow transition-band FIR(Finite Impulse Response)filter.The whole design stars

丘om Matlab system simulation、Verilog HDL RTL coding,Modesim SE RTL netlist

simulati。n觚d gate level rletlist simulation,Syn。psys Design c。mpiler

synthesis,Enc。unter place and r。ute.The system design is based Oil V甜fied with

FPGA(Field Programmable Gate Array)board,and implemented in the CHRT 0.3 5岬

CMOS pr。cess with chip at"ea 2.5×2.5mm2.All ab。Ve make decimati。n filter c。nsidered

aS a standal.d unit in ASIC library to work together withmodulators·

Key words: Sigma.Delta ADC CIC filter Halfband filter CsD FPGA

创新性声明

秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在

导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标

注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成

果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的

材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说

明并表示了谢意。

申请学位论文与资料若有不实之处,本人承担一切的法律责任。

本人签名:5硇已堕:

关于论文使用授权的说明

本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究

生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保

留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内

容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后

结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。

(保密的论文在解密后遵守此规定)

本人签名:J奁i唇 日期巡:[:!圭导师签名:乏复正厶 日期 。』战;:主:华

第一章绪论

第一章绪论

1.1引 言

自然界中的信号都是以模拟信号的形式存在,在对他们进行数字信号处理前需

要进行模拟量到数字量的转换,模数转换器又称为ADC或A/D转换器,是将在时

间上和幅度上连续的模拟信号转化为对应的时间上的幅度都是离散的数字信号的电

路系统【1】,随着整个工业界数字潮流的推进,AD/DA转换器作为一种面向移动设备

市场必不可少的器件,有着稳定的市场和广阔的发展前景,低功耗、高分辨率、高

性能以及高速化等都是开发新品的关键。

1.2 A/D转换器概述

Sigma-Delta模数转换器是一种低速高精度的过采样AD转换器,在过去的几十

年中,主要应用于音频和部分视频频段的信号处理。它采用了与传统AD转换器转

换方式不同的电路技术:△调制和Sigma-Delta调制器技术。delta调制最早是在1946

年的一份专利中出现的,1952年作为学术文献发表在PhilipsResearchReport上。由

于△调制在对直流信号和快速信号的传送上均存在问题,因此1961年由日本几位科

学家提出了Sigma-Delta调制。Sigma-Delta模数转换器发展到今天,已经相当成熟并在工业界的语音及音频信号处理方面得到广泛应用【1邓’4】。

近些年来微电子技术的发展和新型电子器件的不断问世,为Sigma—Delta模数转换器性能的提高奠定了坚实的技术基础。

1.3 A/D转换器的国内外发展现状

虽然模数转换器和数模转换器的发展在国内起步较晚,但是近年来也引起了重

视。国家近年在单片、混合及模块集成技术方面都投入了一定的研制力量,已研制

出8、10、12、14、16位的模数转换器和数模转换器产品或样品【¨。典型产品性能

参数为8位模数转换器的建立时间为400ns,10位模数转换器的建立时间25us

(SAD571),12.16位的模数转换器的转换时间也在US量级但是进入商品市场,批量

供应用户需求的产品则不多。

国外生产模数转换器的最著名的厂家主要有以下三家:TI(德州仪器)、ADI

2 16一bit 100Ksps Sigma-Delta模数转换中数字滤波器的设计

(Analog Device Inc:模拟器件公司)、 National semieonduetor([N家半导体),其中TI

在2000年成功收购了BB(Burr-Brown corporation:尔.布劳恩公司),成为全球高性

能数据转换器的主要供应商。除此之外,还有MAXIM(美信)、MOTOROLA(摩托罗

拉)、Fairehild(仙童)、NEC(日本电气)、Hitachi(!j立)等公司。表1.1、1.2分别是上

述公司的一些相关产品介绍(主要介绍TI公司和ADI公司的产品)【1捌。

表1.1 TI公司的ADC产品介绍

型号 分辨率 结构 电源电压 采样频率 功耗 lk片售价

TLVl572 10 SAR S|酬 1.25M 25/8MW 3.3

ADS5102 10 Pipeline 1.8V 65M 160 MW 6.74

AD$5522 12 Pipeline 3.3V 80M 660MW 16.7

ADSl625 18 Delta—Sigma 5/3V 1.25M 520MW 37.6

ADSl225 24 Delta-Sigma 5V 30K 38 Mw 8.25

表1.2ADI公司的ADC产品介绍

型号 分辨率 结构 电源电压 采样频率 功耗 lk片售价

AD9781 8 Pipeline 3.3V 250M 618.8MW 6.8

AD9224 12 Pipeline 5V 40M 450MW 10.95

AD7674 18 SAR 5V 800K 138 MW 30.92

AD7703 20 Delta-Sigma 5V 4K 37 MW 23.64

ADl556 24 Delta—Sigma 5/3V 16K 8.5 MW 27.5

通过和国外相应产品的性能比较,我国内的A/D水平和国外先进产品之间性能

还有很大的差距,而且国外优质A/D的价格不菲。所以,自行设计生产高速A/D器

件对于我国信号处理系统的发展,特别是国家安全有着举足轻重的意义。目前半导

体生产工艺技术的不断进步,2000年后,国内也迅速建立了十多家亚微米、深亚微

米的工艺线,为我国自行设计有自主知识产权的A/D、D/A提供了便利的流片条件。

近年来A/D、D/A转换器的市场成稳步增长的发展趋势,在现代军用和民用电子系

统中均显示出其重要的地位。

1.4本课题研究背景和意义

现代集成电路器件尺寸不断减小,速度不断加快,集成度不断提高。廉价、高

速的数字集成电路已经能够完成相当复杂的数字信号处理功能和任务。而且,数字

技术具有许多模拟技术不能比拟的优点,例如抗干扰能力强,便于传输、存储无损

失、精度高、多功能等。因此,许多采用传统的模拟方法实现的信号处理任务今天

都由数字技术来实现,以降低设计成本和设计难度。同时人们对信号处理系统提出

第一章绪论 3

了更高的要求,比如希望有更高的精度、速度以及更低的成本和功耗,能够采用标

准的数字CMOS工艺实现整个信号处理系统,来提高整个系统的可靠性、集成度,从

而降低成本。为了满足这~需求,并充分利用现代VLSI的高速、高集成度的优点,

过采样Sigma-Delta调制技术已经被广泛应用到模数转换器中。

在现代先进的电子系统前端和后端都要用到高性能(包括高分辨率、高速、低功

耗、小面积等等)的模数转换器和数模转换器,以改善数字处理技术的性能,因此,

研究宽带、高精度过采样Sigma.Delta模数转换器是非常有现实意义的。针对在数

字滤波器的速率、功耗和面积在很大程度上决定了A/D或D/A转换器的速率、功耗

和面积等问题,本论文就如何优化电路结构、提高电路性能做出了分析,有着很好

的研究意义。

1.5本论文任务及安排

本文在Sigma-Delta调制器的基础之上,按照模拟部分的要求设定指标,与模拟相配合,用在Sigma.Delta模数转换器设计中。主要目标是研制出16-bit 100Ksps

的Sigma-Delta模数转换数字滤波器、工作的采样速率为12.8M、数据精度为16bits,

实现128倍过采样。在Sigma-Delta模数转换器的研究中,虽然模拟调制器部分决定了A/D转换器设计精度以及A/D转换的速率,但是数字滤波器的速率、功耗和面

积在很大程度上决定了A/D或D/A转换器的速率、功耗和面积。乘法运算是数字滤

波,尤其是卷积等运算中占用时间和资源最多的运算过程。因此在本设计需要就运

算方面进一步改进数字滤波器的设计方案,减小了延时功耗积以及芯片面积。

基于以上任务,对本文各章内容做出如下安排:

第一章:绪论介绍了A/D转换器的分类,国内外发展现状,以及本课题研究意

思与论文任务的安排。

第二章:介绍了A/D转换器的基本原理和结构,并解释一般的A/D转化器中性

能指标和参数相关的定义。

第三章:整体性能指标以及整体结构,简单介绍了整个设计的指标采用

TOP.DOWN的设计思想实现这个指标的架构以及matlab仿真,verilog代码。

第四章:对整个系统进行FPGA验证,主要通过Xilinx SpaIt 3系列FPGA(Field

Programmable Gate Array)开发板验证了整个设计的可行性。

第五章:在系统验证的基础上进行系统VLSI综合与布局布线,采用chrtO.35

工艺实现版图;

第六章:对全文工作进行总结和展望;

第二章A/D转换器的基本原理和结构

第二章A/D转换器的基本原理和结构

2.1 A/D转换器基本原理

模数转换器的功能就是把模拟量转换成数字量,通常这种转换是线性的。由于

数字量与模拟量有着本质的不同,不可能把所有的输入模拟信号连续转化成数字信

号,所以A/D一定是对时间离散处理的电路I培,4’6】。

图2.1表示了一般的A/D的结构图,一个前置的滤波器也称为去伪滤波器,它

可以把输入信号中高于某一频率的频谱去除,以避免高频信号混叠到A/D的工作频

带中,前置去伪滤波器后面紧跟抽样/保持电路,它可以把输入的模拟信号取样在一

个时间点保持不变,以便让后级的电路把这个固定的电平转化成所需要偶的数字编

码,这个时间也叫做A/D的转换时间(conversion time)【31,转换的过程也就是量化

的过程,它有一个量化曲线,把基准电平分成很多小的区间。比如Nbit的A/D就有

2“个小区间,量化过程就是在转换时间内找到与输入的抽样电平相对应的量化区

间。找到了该量化区间,数字处理器就能够把它编码到对应的数字输出。因为数字

量取值是离散的,而模拟量是连续的,所以这种表示只能是逼近的,而无法完全再

现模拟量,因而转换结果对于原模拟型号总是会有是真的,这种失真称为量化噪声。

2.1.1增量调制原理

图2.1一般A/D的结构框图

在对A/D转换器理解之前,我们首先要理解的的是增量调制的概念(即△调

制),Sigma-Delta模数就是在这个概念的基础上建立起来的Ⅲ。

6 16-bit 100Ksps Sigma.Delta模数转换中数字滤波器的设计

图2.2A调制解调原理

图2.2是一个增量调制器以及与其相对应的解调器。增量调制原理的主旨是采

用远大于奈奎斯特采样速率对输入信号过采样,将该信号与上一时刻通过积分器对

这一时刻的输入波形预估值进行比较,将两者差值(估值误差)进行编码,并经解调

器输出,从而实现高的转换精度。具体描述为:上图2.2中x(t)是输入信号,x‘(t)是

估计信号,e(t)--x(t).x‘(t)是误差信号,对e(t)进行lbit量化,量化输入经D触发器,

延迟一个时钟周期再反馈到积分器的输入端,若e(t)为正,即x(t)>x‘(t),那么积分

器的输出将逐渐增加;反之,如果e(t)为负,即x(t)<x‘(t),那么积分器输出将线性

减少。D触发器的时钟频率远高于奈奎斯特频率。这样x(t)将以x(t)为中心上下波动,

x(t)张’(t)。D触发器的输出就可作为增量调制器的输出。

调制器是Sigma-Delta模数转换器中的模拟部分,ADC的最终输出精度取决于

调制器的阶数和在调制器阶段所使用的过采样率睛1。由于是对模拟信号进行过采样,

模拟电路的准确性取决于时钟速度。使用过采样方法的好处是在于在调制器阶段可

以将量化噪声推到高频M,这样在抽取滤波器阶段可以使用数字低通滤波器将量化

噪声滤除。Sigma-Delta调制器输出1-bit过采样数字信号,该信号作为抽取滤波器的输入。调制器的原理框图如图2.3所示,模拟信号的输入和模拟信号经过数模信

号经过数模转换后作为输出信号的区别是模拟信号经过一个积分器(A(Z)),信号被

量化成1-bit脉冲宽度的数字输出。

图2.3调制器原理图

调制器最终输出是周期和占空比都随输入信号变化的1位的数据流,而其占空

比与输入信号幅度对应,从滤波器的角度看,希望调制器的输出数据流的频率尽可

能高,这样噪声的能量主要集中在高频部分,远离正常信号带宽。

第二章A/D转换器的基本原理和结构

2.1.2过采样技术

在使用某种编码方式用N位二进制字符串对某一个模拟信号幅值进行编码时,

有2“种不同编码啼3,因而对于幅度在O.V的输入模拟电压范围,输出码的最低有效

位(LSB)为A=V/2N。对于单频输入的正弦信号,如果假定量化噪声与输入信号

不相关,即量化噪声为白噪声,则量化噪声e的功率谱密度均匀且分布在整个+fs

的范围(其中fs为采样速率),可以算得量化噪声功率为蹭J阳

《=%£e2de=A2/12 ㈣因此量化噪声功率谱密度Pe可以表示为

见=A2/12f, (2-2)

由于对于相同位数ADC量化噪声功率相同,过采样技术将量化噪声的范围扩

大到整个采样速率范围,从而减小了信号频带内的量化噪声。考虑到增加采样速率

对量化噪声的抑制,下面从信噪比的角度定量计算过采样率对调制器精度的影响。

根据信噪比定义

万2/SNR=10log(y,,) (2—3)

/6苟

其中8丫2和岛2分别为基带内信号和量化噪声的功率,假定输入信号为正弦信

号,则其无谐波失真的最大值2”(彩)对于最大正弦波形,矿J信号功率的值为

岛=(。茏)22≥(2-4)在信号频带内量化噪声的值为

弘王以2df=尘12学=尘12.土OSR (2-5)”

一;。。 ‘r。

其中,OSR定义为过采样率OSR兰丘/2f。,代入(2—3)式,计算信噪比得SNR=6.02N+1.76-I-10 log(OSR) (2-6)

由此可以看出,对于正弦输入信号,过采样率每增加一倍,即采样速率每增加‘

一倍,信噪比将近似提高3dB。因此,采用过采样可以提高Sigma.Delta模数的转

换精度。但是,采样速率的增加将使得硬件消耗呈指数增长,增大了工艺成本如果

将噪声整形技术与过采样技术相结合,采用提高过采样率改善信噪比这种方法将更

8 1 6一bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

为有效。此外,从公式(2.6)中还可以看到,精度每增加一位,信噪比近似增加6dB。

因此通常用SNR(Signal to Noise Ratios)衡量精度。对于两个模数转换器,如果

其中一个的SNR比另一个多6dB,则称其精度比另一个高1位;类似的如果SNR多

3dB,则称其精度高半位。当然,这是理想情况,这种改善完全是以噪声频谱在频

率轴上是均匀分布为条件的。输入信号小,和LSB相接近时,这一条件通常是不满

足的。在这种情况下,噪声会集中在限定的特定频率上,对于以往的A/D转换器将

集中在信号的高次谐波上。低频小振幅信号多时,往往噪声频谱也包含在转换频带

范围内,采用过采样方式的意义就消失了。解决这一问题的办法通常为在信号中附

加一方波或微小的白噪声。方波重复频率应低于1/2奈奎斯特频率,从而最终将干

扰分量转换到所需信号的频带之外。这种附加方波或噪声的方法叫高频振荡Dither。

将Dither输入信号振幅加大到某种程度以上就可防止噪声频谱局限在特定频率上的

问题。

在Sigma-Delta调制器中采用更多的积分与求和环节,可以提供更高阶数的量

化噪声成形。例如,一个二阶Sigma-Delta调制器在每两倍的过采样率可改善SNR

15dB。图2.4显示了Sigma-Delta调制器的阶数、过采样率和能够获得的SNR三者之问的关系。

过采样率

图2.4调制器阶数与过采样率SNR关系图

第二章A/D转换器的基本原理和结构 9

2.1.3噪声形成

图2.5一阶∑△调制器工作原理

通过图2.5所示的一阶Sigma-Delta调制器的工作原理,可以理解噪声成形的工

作机制。调制器包含1个差分放大器、1个积分器、1个比较器以及1个由lbitDAC

一个简单的开关,可以将差分放人器的反相输入接到正或负参考电压)构成的反馈

环。反馈DAC的作用是使积分器的平均输出电压接近于比较器的参考电平。调制

器输出中“l”的密度将正比于输入信号,如果输入电压上升,比较器必须产生更多

数量的“1”,反之亦然。积分器用来对误差电压求和,对于输入信号表现为一个低

通滤波器,而对于量化噪声则表现为高通滤波。这样,大部分量化噪声就被推向更

高的频段。和前面简单过采样相比,总的噪声功率没有改变,但噪声的分布发生了

变化。

2.1.4噪声整形技术

Sigma-Delta调制器实现高精度的另一有效方法是采用噪声整形技术‘91。对于如

图2.6所示的Sigma—Delta调制器的线性模型,输入信号和量化噪声是调制器的两个相互无关输入,设Hx和HE分别是信号和噪声的传递函数,

即r(z)=J(z归(z)+e(Z)IJ(Z) (2·7)

图2.6调制器传递函数框

通过图2.6中反馈关系可得

[X(z)一r(z)]tt(z)+F(z)=r(z) (2—8)

10 16-bit 100Ksps Sigma-Delta模数转换中数字滤波器的设计

对比式(2.7)和式(2—8)可以分别得到信号和噪声传递函数

胃,:丝盟3

l+H(z) (2—9)

%2而1西 (2.1。)

采用不同的电路结构,会相应得到不同的信号和噪声传递函数№J朝。但总的说来,

希望在基带的频率范围内,实现信号的无损失传递,同时对噪声尽可能抑制,即H(Z)

在(0~f。)范围内尽可能大,使得HE在此范围趋近于0;对于信号频带以外的噪

声,则通过后面的数字滤波器滤除。下面通过一个一阶调制器分析噪声整形对信噪

比的改善。对于一阶调制器结构,可以用离散时间积分器实现H(z),如图2.7所示,

此时白2西1S

(2—11)

从时域上看,由于此积分器的直流增益无穷大n2l,因此对于某一不超出输入信号量

程的恒定直流输入,输出的数字信号将在“0"、“1”间跳变,而积分器的输入将在

系统稳定后的一段时间内得到平均值为0,gP[X(n).Y(n)】的平均值为0。从频域上看,

可以算得信号和噪声的传递函数1/

H:上等尘:z_1川/(z一1) (2.12)

HE 2了%1 =1一z一1

。2.。3,

可以看到Sigma-Delta调制器对信号和噪声采取分别处理:对输入信号是无失真传输

(仅存在一个时钟周期的延迟),而对量化噪声则是以一阶差分的形式进行传输;通

过控制传递函数以增加频带外噪声为代价减小频带内的噪声功率,从而有效减小频

带内噪声,这一技术称为噪声整形技术(Noise Shaping)。

图2.7一阶调制器结构

为了得到噪声整形技术对信噪比的影响,下面分别计算一阶sigma—delta调制器

的信号和量化噪声在频带内的功率。设

第二章A仍转换器的基本原理和结构

z:PjwT一。J2Jr(f形fs) (2.14)

%㈤斗P坼万(纨sinc箬)x 2j x e-j2rc(f///ffs)

沼㈣

IHF(z)l:2sin(马对式子两边取模值,得到‘一

‘ Js (2—16)

因此可以通过积分得到信号频带内的量化噪声

%2篡矿一%cz,12矽2妥c参2井sinc等12 。2舶,

如果假定f0<<fs,即OSR>>I,则上式可改写为

_≈c西m2睁≯3=等c志y @㈣

综合式(2—18),计算加入噪声整形技术后的最大信噪比

SAg =6.02N一3.14+30 log(OSR)max (2.19)

由此可以看出,在采用噪声整形技术后,过采样率每增加一倍,即采样速率每增加

一倍,信噪比将增加9dB,即精度提高1.5bit。与没有考虑噪声整形技术的式(2-6)

相比, Sigma-Delta结构通过噪声整形技术提高了增加过采样率对信噪比精度改善

2.2 A/D转换器的分类

按照不同的分法可以将现有的各种模数转换器分为不同的类型,如果根据转换

速率的高低可以分为高速ADC、中速ADC、低速ADC三类。

高速ADC:这类的ADC可以在一个或者两个时钟内完成一次转换,以flash

和time.inter leaved结构为代表的高速ADC方向,广泛应用于移动通信所需的高带

宽领域,可以达到GHZ以上的带宽,安捷伦实验室用time.inter leaved结构实现了

高达20GHZ带宽的ADC,2004年Nathawad等人用SiGe的0.12um工艺实现了高

达40GHZ带宽的ADC。

中速ADC:这类ADC可在N个时钟周期内完成一次转换,如逐次逼近式ADC

(successive—approximationADC),它具有速度较快和能达到一定的分辨率,同时能

12 16一bit 100Ksps Sigma.Delta模数转换中数字滤波器的设计

保证较小的芯片面积,但它的精度取决于内部的D/A的精度,如果D/A没能产生准

确的模拟信号提供给比较器则会产生误差,典型的结构包括一个比较器,内部D/A,

数字逻辑控制。这类ADC主要用在远程通讯、控制和中低速测试等系统中。

低速ADC-这类ADC完成N位的模数转换,大约需要2州个时钟周期,如积

分ADC和技术ADC等, 它们的精度在15到24位之间。

如果按抽样方法划分又可以将模数转换器划分为基带抽样、带通抽样和过抽样。

基带抽样即乃奎斯特抽样,临界抽样。理想情况要求抽样频率等于输入信号最

高频率的两倍。因为抗混迭滤波器不可能具有理想的低通特性,必须有过渡频带,

所以抽样频率要高于乃奎斯特频频。例如:电话语音信号的最高频率为3400HZ,

抽样频率为8KHZ。采用标准的cmos工艺,转换带宽可以延展到几GHZ的范围,

而这种A/D的主要缺点是转换精度低,这是由于模拟元件匹配限制造成的,此外,

硬件结构的设计复杂度高和功耗高也是制约基带抽样A/D发展的重要因素。采用

pipeline或者折叠结构通常可以降低需要的比较器的数量和功耗,但是这种A/D对

于模拟部分匹配的敏感性却无法避免,除非采用附加的校准或者校正技术,否则很

难将其用于高精度应用。

与带通抽样而言,带通信号也可以用它的最高频率的二倍作为抽样频率,但必

然导致抽样频率过高。利用带通信号的频谱在频率轴上空余很多,可以使用比较低

的抽样频率,只要保证频谱不混跌即可。

过抽样的采样频率远远高于信号的奈奎斯特频率(故称oversampling)。故可以把

传统的A/D视为奈奎斯特A/D,而把该种A/D称之为过采样A/D。现在过抽样结构

A/D充分采用了数字信号处理技术,使得A/D的精度不再依赖组件匹配、精确的抽

样保持电路、微调过程,只要较少的简单的模拟电路即可以实现功能。过采样A/D

则每一个数字编码输出是从一系列量化的输入样值中提取的,这样就能在采样频率

的低频段抑制了量化噪声,但同时也增加了额外的采样率,+一般其过采样的频率是

信号奈奎斯特频率的8倍~256倍。

2.3 A/D转换器性能指标和参数

由于AD转换过程主要由两部分组成:抽取,即将信号变为离散的时间点上的

值;量化,即将信号的幅度变为离散值,因此,对于AD转换器而言,有两个重要

指标:转换速度和精度。转换速度的意思是指将输入模拟信号变为离散数字信号所

需要的时间。精度是指将模拟信号转换为离散的数值信号在幅度上的准确度。转换

精度常常用信噪比来衡量。对于一个有限带宽的模拟信号采样,采样速率至少为该

模拟信号最高频率的两倍,即乃奎斯特采样频率,从而使得信号可以无损重构。

第二章A/D转换器的基本原理和结构 13

数模转换器的精度(分辨率)定义为模数转换器中用以描述一个模拟信号值所

采用数字信号的位宽。因为N位精度的转换器用2Ⅳ个不同的数值代表全程量范围

的连续模拟信号值。通常用LSB(1east significant bit)表示。通过量化将连续量转

换成离散量,必然存在类似于四舍五入产生的误差,最大误差可达到1LSB的一半,

此误差叫做量化误差。

模拟转换器的性能参数分为静态参数和动态参数两种,静态参数主要包括微分

非线性性(DNL)、积分非线性(INL)、失调(offset)以及增益误差(gain error)等,

动态参数主要包括过采样速率(OSR)、信号与噪声加失真比(SNDR)、有效位数

(ENOB)、动态范围(DR)等。

2。3。1静态指标

微分非线性(DNL):

DNL,.:‘“一匕‰一删L-I'舯<f<2Ⅳ~ 协砌是指在输入轴上两个连续码转换点之间的差值与理想1LSB的值的最大偏差。

对于一个理想ADC,其微分非线性为DNL=0LSB,也就是说每个模拟量化台阶等

于1LSB,跳变值之间的间隔为精确的1LSB。若DNL误差指标≤1LSB,就意味着

传输函数具有确定的单调性,没有丢码。在ADC的转移曲线中,定义每个数字码i

对应的理想输入电压为V1,实际输入电压为V’1那么输出码i对应的差分非线性误

差是:其中VLSB—IDEAL为理想情况下使AD的输出变化一位的最小输入电压,整

个ADC的微分非线性误差就是所有DNL中i的最大值,即:0<i<2爿一1

增益误差(Gain Error):

增益误差定义为转换器实际线性增益G1与理想线性增益G之间的误差。测量

时,首先平移实际转移曲线,使V’。与V。重合,然后测量Vn’与Vn的差。

2.3.2动态指标

过采样率(OSR,Over Sampling Ratio):

定义为采样速率与信号奈奎斯特频率(Nyquist frequency)之比。

OSR:鱼:jL-2厶 2兀丁

信号噪声比SNR:

公式表示为:

(2—21)

14 16-bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

SNR是指输入频率为《踯正弦信号的功率与从直流到奈奎斯特频率之间的转换器噪声之间的比值。在调制器中,SNR涵盖了所有的噪声源(量化噪声和热)。

通常用dB表示为:D /

SNR=10log|o(‘|髀l/p) (2—22)/4 noise

信号噪声失真比SNDR:

P. ,

SNDR=10109———幽丝L一 (2.23)如 ,D P +∑PdistDrtion

嚣olS8

SNDR的定义与SNR类似,唯一的区别仅在于SNDR将谐波失真也考虑在内:

在小信号下,谐波失真对AD转换器精度的影响并显著。随着信号幅度增加,谐波

失真增大,从而使调制器性能变差,SNDR下降。通常SNDR<SNR。

动态范围(DR):

DR是指调制器可以处理的最大输入信号幅度的功率与可检测到的最小输入信

号幅度的功率之间的比值。经验表明,最大输入信号幅度在距SNDR峰值3dB处。

对AD转换器来说,如果信号太大,将会超出ADC的输入范围。如果信号太小,

则信号将会被量化噪声淹没。

第三章整体性能指标及结构

第三章整体性能指标以及结构

3.1.1整体性能指标

为:

3.1整体性能指标与结构

本课题就是基于CMOS工艺、高精度Sigma.Delta模数转换设计[5‘61,设计指标

输入信号采样频率:

输出信号采样频率:

输入数据:

输出数据:

信噪比:

过采样率OSR:

采用的工艺库:

面积:

3.1.2滤波器整体结构

12.8NⅡ亿

100KHZ

lbit

16bit

>98db

128倍

chrtO.35

2.5x2.5 mm2

Sigma-Delta调制器对量化噪声整形以后,将量化噪声转移到关心的频带以外。

对整形的量化噪声可采用数字滤波器滤除,该数字滤波器的作用有两个:一是相对于

最终的采样频率£,它必须起到抗混叠滤波器的作用;二是必须滤除调制器在噪声

整形过程中产生的高频噪声。

因为数字滤波器降低了带宽,所以输出数据速率应低于原始采样速率,直至满

足奈奎斯特定理,以去除数据中的多余信息。如果采样速率不满足奈奎斯特定理,

信号将发生混叠,但如果输出数据速率(即系统实际的采样速率)远大于2fs[4],会增

加系统处理数据的负担,对系统的硬件、软件要求更高,无谓地增大了系统的成本。

降低输出数据速率是通过对滤波器输出以原始采样速率的1/M进行重采样来完成

的,这种方法称为采样速率降为1/M的抽取(decimation),一般M小于等于过采样

倍率K。这种抽取率不会使信息产生任何损失,它实际上是去除过采样过程中产生

的多余信号的一种方法【5,6】。

在Sigma-Delta模数转换中,通常将抽取与数字滤波结合在一起。这样做可以

16 16.bit 100Ksps Sigma.Delta模数转换中数字滤波器的设计

提高计算效率。众所周知,有限脉冲响应(FIR--Finite Impulse Responce)滤波器简单

地对输入采样值进行流动加权平均计算(权值大小分别由滤波器的各个系数决定)。

在通常情况下,每一个输入采样值应对应一个滤波器输出。然而,如果希望对滤波

器输出进行抽取,即用较低的频率对滤波器输出进行重采样,就没有必要对每一次

采样输入都进行滤波输出计算。在这种情况下,只需按抽取的速率进行计算即可,

这样可以大大提高计算过程的效率。

调制器所输出的1位数据流的瞬时值只有O和1两种,几乎没有意义,必须经

过滤波器滤除其中的高频噪声才能得到与占空比成比例关系的高分辨率的N位数字

信号,如果过采样率足够高,理论上可获得任意分辨率,但在实际实现时,过采样

率和滤波器的长度都是有限的,因此其精度也是有限的。在滤波的过程中同时也使

信号频率恢复为奈奎斯特频率。

滤波器的作用是:

(1)滤除信号频带外的噪声:滤除后的基带只应剩下一小部分量化噪声,相当

于增加了数字输出的有效分辨率。

(2)抽取:将Sigma-Delta调制器的较高速率的输出恢复到奈奎斯特采样速率。

(3)抗混叠:在实际电路中,Sigma-Delta调制器的输入信号是非带限的,但

是过采样后,调制前的抗混叠滤波器要求大大降低,一般只进行粗糙滤波。所以在

将调制器输出速率降低到奈奎斯特采样速率时,必须滤除降低采样速率后可z习。匕l-,引起

的混叠噪声。

对于整体结构,模拟部分调制器将抽取滤波器噪声推至高频,必须通过后面的

滤波器部分将高频部分噪声除去,也就是需要将信号和噪声的带外部分在奈奎斯特

频率下滤除,因此,设计这样一个滤波器时,需要确保滤波器的通带足够平滑,从

而最大程度的减小包括相位失真在内的信号失真。在过采样速率下,实现这种滤波

器的代价非常大。实际设计中,考虑到速度面积功耗等多方面的因素,通常用的做

法是将滤波器设计为多级结构。本设计所采用的结构如图3.1所示:

图3.1整体滤波器结构图

对于L级的Sigma-Delta调制器需要K=L+I的梳状滤波器,对于本设计来说

Sigma-Delta调制器采用三级,所以梳状滤波器采用四级;数字滤波器要实现128倍

的降频,在CIC梳状滤波器部分实现32倍的抽取,之后的两级级联的halfband部

分降低2倍,则可以实现128倍的降频,使之达到采样频率要求。

第三章整体性能指标及结构 17

第一级采用梳状滤波器,将字的传输速度从过采样率从12.8MHZ将到400KHZ。

设计的主要目的是滤除调制器调制器噪声,因为量化噪声主要集中在高频段u。61,因

此第一级滤波器的通带边沿不需要非常精确。第二级滤波器主要的作用是滤除信号

的带外部分。这一部分主要集中在低频段。第二级滤波器要求过渡带更陡,避免信

号的带外部分在重采样后反折回信号频带。因此,如果对于系统相位的线性度有比

较严格的要求,第二级滤波器一般都采用I IR滤波器或过渡带陡峭的复杂FIR滤波

器。当信号经过滤波器和重采样级时,数字信号字长增加,从而在字的传输速率下

降时保证精度。将中间抽取频率选为4倍的奈奎斯特频率是因为采用4倍以下的比

率增加信号失真,而更高的倍数则无法满足第二级抽取滤波器的设计要求。实际设

计中,通常会采用一个近似4倍的数值。

3.2第一级滤波器的结构及实现

由于梳状滤波器(Cascaded.Integrated Comb Filter,CIC Filter)在硬件实现时具

体优点表现为:

①在实现中不需要乘法器电路,所需存储空间小。

⑦属于整系数滤波器,不需要电路来存储系数。

⑦通过在前面积分模块和差分模块之间的降频,与具有相同滤波性能的其它

FIR滤波器比较,减少了大量的存储单元。所以可以非常有效地减少电路的硬件开

销。所以本设计第一级采用该结构,可以高效的实现所需要的功能。

梳状滤波器是一种最简单的FIR滤波器,其单位脉冲响应函数为

H(n1=l+z一1+z-2+z-3⋯+z-31+⋯+z—D (3—1)

其中D为滤波器的节数,它的传输函数为:

刖^霉I M㈧.一力1--Z-o日‘z’2 n三0办‘门’水z一力2了= 1一z一1

其频率响应为:

(3—2)

Ⅳ(吕-,“)=Ⅳ(z)。:∥=兰瓣吕一.,叫Ⅳ-1)/2 (3—3)

式中co=2rrf么ffs f为数字频率,fs为抽样频率,(3-3)式表明梳状滤波器是一种

线性相位低通FIR滤波器,相位常数a·(N.1)/2。为了使得滤波器直流增益为1,可

在传输函数(3—2)式中加入一归一化因子(Ⅲ)。CIC幅频特性曲线图如图3.2所示:

18 16一bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

图3,2 CIC幅频特性曲线图

CIC级联型梳状滤波器是一种比较成熟的技术,它的最大优点是电路结构紧凑,

占用芯片面积小,因此,该电路结构出现后,立刻被大多数半导体厂家所采用,成

为目前梳状滤波器的经典实现方式。对于CIC级联型梳状滤波器来说由于微分部分

的工作频率降低了N倍(即抽取系数),并且频率抽取是在积分器之后差分器之前,

大大减少了需要的存储单元,电路的功耗可以大大降低,这种实现方式又称为递归

算法【l】,由于积分部分为IIR形式,微分部分为FIR形式,有时也称为IIR-FIR结构,

为避免积分器溢出,输入信号需要转换为补码进行运算,且每个积分器的字长都需

要满足一定要求。下面就滤波器有限字长的选择作进一步说明。理论上字长越长越

好,但字长增加意味着运算量增大,特别在硬件实现时,意味着电路的复杂度增加。

分析如果不计归一化因子,则滤波器系数均为正整数,且有

N—l Ⅳ一l

(∑力(力))‘=∑h’(用)=N膏n=0 m=0 (3-4)

b=膏log。N=KM因此:b位的二进制码来表示滤波器的系数。同时若

Sigma-Delta调制器的输出为lbit数(即滤波器的输入x(n)仅0,1两个状态),则滤波

器输出y(n)为

r(z)=Z-I】,(z)+X(z)

P—I

y(力)=∑h’(廖)石(,7一历)矗=0

(3—5)

(3-6)

因梳状滤波器的系数全是正整数,显然有os灭露)≤∥IN此(3.6)式的滤波运算亦可

用KM位的二进制数进行,不会出现截尾误差和溢出。积分器部分属于IIR结构,

其输出信号会反馈回输入端进行累加,为避免溢出,必须使用二进制补码运算。在

CIC滤波器中,即使采用二进制补码运算也需要考虑数据宽度问题,数据宽度的确

汀y∥Wi、:====露g§,●|

A

J,f,;●,,I‘f●●●●●●●●●●●l、、鞋iii|,,,;;;;●●●●●●●i●、1{ii《lV¨{|、~V0;l。、㈠W0{”

、。卜Ⅳ0il

毒t9雾

第三章整体性能指标及结构

定依据如F:

∥(z):(∑l‘'-1)t≤I窆z一一r≤(艺IZ-nZ-n 旷≤(艺1)Ⅳ:NⅣ∥(z)=(∑ )‘≤I∑z”I≤(∑I 1)七≤(∑1)Ⅳ=Ⅳ

一=0 t7---o I 一20。 n=0(3.7)

从这个表达式也可以看出,每进行N次采样,积分器数据最大增量为Gm戤=Ⅳ‘

如其对应二进制位数为吃=k logz,综上所述,可以选择滤波器系数和滤波运算的

字长为KM位。实际上这也是梳状滤波器输出的有效分辨率。在梳状滤波器传输函

数中的阶数N就是决定其零点处噪声抑制能力的参数,它的选取与调制器输出有一

定的关系。

3.2.1经典级联形结构

这种结构是1980年由Eugene B.Hogenauo"提出的【6】,优点是无需乘法器、如图

3.2所示,这种结构通常由一个在高抽样频率工作的积分器部分和一个在低抽样频率

工作的微分器部分以及一个时钟控制电路三部分组成,其中积分器和微分器中都有

z,在数字电路中z可以用寄存器(一个或多个D型触发器)实现,而寄存器中触发器

的个数是由信号的“位宽"决定的, 抽样器的作用是每间隔N个时钟周期,将积

分器的输出送给微分器进行一次运算。

q丑眦乎时出且

图3.2 CIC滤波器经典级联形系统结构图

数字积分器的实现方法:

一个数字积分器电路实际上是一个累加器,用来累加和存储输入的数据。它也

可以理解为一个单级无限脉冲响应滤波器。积分器的传递函数公式如下

y(,1)=r(n—1)+x(,z) (3—8)

对应的Z变换为

r(z)=Z-Ir(z)+X(z) (3-9)

因此单级积分器的系统函数为:

20 16-bit 100Ksps Sigma.Delta模数转换中数字滤波器的设计

马(z)一专 (3.10)

公式(3.8)描述了滤波器在某一时刻的输出等于此时的输入与上一个特定时间

区内输出的叠加如图3.3所示,j,(z)=z一1y(z)+J(z)。

累加

气延时

出Y(z)

图3.3数罕积分器

延迟单元可以通过寄存器实现,图33中的加法符号则对应一个加法器电路,

积分器的频率特性可以通过将Z域表示的传输函数转换为频域表示的传递函数后得

出,即用ej:石(,垆’代替z。积分器的响应可以在公式(3.10)中体现出来。响应图形

如图3.4所示。

IIt(f)1=1———』二—一 (3—11)

≮l卜cGS 12∞≮L

k(,)

fs/2 fs 3fs/2

图3.4积分器频率响应图

积分器的结构导致了积分器在DC和过样采样频率整数倍(fs)上具有无限增益,

该增益能导致积分器的不稳定,并且寄存器在用于延迟单元的情况下容易溢出以致

于导致数据的丢失。为了避免寄存器的溢出,必须在数据进入积分器之前,将其转

换为2进制补码,对于CIC滤波器来说,要将来自调制器的一位输入信号扩展为与

积分器相同的宽度,且对高阶CIC滤波器来说,所有积分器的“位宽”必须相同,

这样就可以避免因数据溢出产生错误。

除了图3-3外,积分器还有另一种实现方式,如图3.5所示:

第三章整体性能指标及结构 21

累加

YCz)

图3.5积分器结构2

对于CIC滤波器来说这种实现方式与上面的功能上没有本质区别(输出相差一

个时钟周期),但对于电路性能却有较大影响。多级级联时,图3.5恰好相当于插入

了流水线寄存器,因此也称为流水线结构,在级数较多时,其最高时钟频率远高于

图3.3的结构。

数字微分器的实现方法:

微分器部分,工作在低采样频率fs/D,其中D为整数抽取因子;该部分由N级

微分器组成,每级为M个样本的差分延时;差分延时为滤波器设计参数之一,用于

控制滤波器频率响应。通常情况下,差分延时取M=1或2。单级梳状器转

本设计取M=I。

所以数字微分器的时域和传输函数为。

Y(nT)=X(nT)一J{(刀一1),) (3—12)

黝=怒=(1-Z-1) (3.13)

从公式(3.12)00N以看出,微分器的输出是当前的输入与上一个输入之差。根据

公式(3—12),数字微分器的模型由图3.6实现,,(z):(I—z—t)石(z)。其频域传递

函数体如公式(3—13)所示。

lⅣ倒I=I l

景加

塑堂!(z)

弋延时

图3.6微分器结构图

(3.14)

16一bit 100Ksps Sigma.Delta模数转换中数字滤波器的设计

k,)I

图3.7微分器的响应

微分器的响应如图3.7如示,积分器的输出作为微分器的输入,并且微分器也

应用了二进制补码方法【1,s,61,所以,微分器的输出就是一个抽取滤波器,所以抽取

滤波器的最后输出是二进制编码形式,输出的信号可以用于下一步处理。应当注意

的是,微分器运行的时钟频率不同于积分器的时钟频率。

综上所述,CIC滤波器为积分器与微分器组成,所以可以得到CIC传递函数为

酢)-(冬1坳烨’Ⅳ:(《)Ⅳ (3-15)

,l=0 1一z一1

根据模拟部分调制器L-'3,可知滤波器阶数N=L+1=4所以CIC传递函数可

以改写为:

酢):(冬1坳烨1·:(《)4 (3-16)

/,/=0 1一z一1

该CIC滤波器在功能上等价于一个由N级相同FIR滤波器级联构成的滤波器。

传统的硬件实现由N级级联结构组成,每级需要DM个用于存储的寄存器以及一个

累加器。由于各级间的频率转换,每级不再需要DM个用于存储的寄存器,仅使用

M个寄存器就可以实现式(3.15)的结构。

抽样电路的实现:

抽样器的作用是每间隔N个时钟周期,将积分器的输出送给微分器进行1次运

算,这一功能可通过两种方式实现,一种对积分部分的时钟信号进行N分频作为微

分部分的时钟信号,另一种方式是采用“时钟门控"的方法对微分部分的时钟进行

控制,即每间隔N个周期产生一个微分部分的工作“使能”信号。两种电路都需要

注意时序配合问题。由于分频方式相对简单,故本文选择分频方式实现。

3.2.2非递归型结构

在经典级联型CIC滤波器中,积分器很大一部分工作在高频率,这对整个电路

的功耗来说占了很大的一部分,所以我们考虑到寻找一种具有同样功能的,但是功

第三章整体性能指标及结构 23

耗能够降低的一种结构,其在Z域的传递函数仍然不变,为:

酢).(冬1坳m1一:(骘)· (3-17)

n=0 l—z一1

我们将其进行变形,可以对经典型梳状滤波器进行改进,变为:

M—J『 .i4

日倒=兀∥+z叫) (3—18)

i=D

成为改进型梳状滤波器,即非递归型梳状滤波器,每一级都由相同的低阶FIR

滤波器构成,区别仅在于每一级滤波器的工作频率不同。这种高度规则的结构使结

构设计和版图设计变得更加容易。而且降低采样频率有助于尽早的降低工作负载,

从而降低功耗。我们可以得到非递归CIC结构的结构图【6】如图3.8所示弛匝珀岖孙呸丑刚翌峥时哪m图3.8非递归型CIC结构图

如图3.8所示为非递归型CIC滤波器结构令来自于过采样Sigma.De蛔调制器的

输入信号x(n)的字长为Bin bit,则经过每一级字长增加kbit而字率(采样速率)降

低为原来的1/2。所以,递规结构的频率限制放宽为输出字长Bin+kl092N位【15】,在

本设计中可以得至lJl+4xlog:2=21输出寄存器位数为其中而采样速率与CIC结构中

积分部分的过采样速率相同。

改进型梳状滤波器的实现方法主要是以作频率逐级降低,且每级滤波器都属于

FIR型,不存在累加关系,数据宽度可以逐渐增加,只要保证各级电路的单次求和

运算不发生溢出即可,因此功耗得以降低,但是它在不同程度上增加了电路复杂程

度,增加面积。这种结构也是我们比较之后所采用的结构,里面的细化功能实现与

前面的经典级联型CIC介绍的一样。

3.3第二级滤波器结构以及实现

第二级抽取滤波器需要实现的功能主要有:实现4倍的抽取,即将信号码流每

个字的传输频率从400KHZ降为IOOKHZ;精确滤波,即由于第一级CIC滤波器性

能受限,需提供良好边沿特性改善滤波性能,提高精度;滤除低频段的噪声及信号

带外部分【101。

我们可以采用的方法有:

1.一个工作在Nyquist频率的高阶经典FIR滤波器,相当于先实现4倍抽取,然后

24 16一bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

滤波;

2.先采用一个工作在400KHZ的高阶经典FIR滤波器,然后再实现4倍抽取;

3.两个级联的半带滤波器;

考虑到经典的高阶FIR滤波器缺点在于阶次较高,滤波器系数较多,占用存储

空间较大,实现起来芯片面积比较大;采用半带滤波器,其优点为约有50%的滤波

器系数为0,大大减少了硬件开销【13】,而且可以在抽取的同时滤波,极大的简化了

电路结构,减少了硬件开销,所以采取半带滤波器来实现接下来的滤波工作。

3.3.1半带滤波器的设计

半带滤波器是一种特殊的线性相位滤波器,它将近一半的系数精确为零【6】,因

此其实现滤波的运算量与同样长度的其它线性相位滤波器相比减少将近一半。根据

半带滤波器的频率特性和运算量少的优点,它可用来作为变换因子为2的抽取滤波

器,特别是用来作为多级抽取中的前面几级的抽取滤波器。此外它在数字信号处理

的其它领域【l列,例如子带编码和小波分析等应用中,也具有广泛应用。其中半带滤

波器的频率响应图如下所示:

l//(e”)l

1+万

1一艿

图3.9半带滤波器的频率响应图

半带滤波器满足下述约束条件:

69+∞ =万卢 s

6=6 :6占 口

(3.19)

(3.20)

式中COp co,分别表示通带边界数字频率和阻带边界数字频率,点疋分别表示带

纹波系数和阻带纹波系数。半带滤波器的频率响应具有如下特性:

脚∥’=1一H(oJx“曲) (3—21)

第三章整体性能指标及结构 25

即其频率响应关于(I)=11:12对称,且在甜=Ⅱ12处的频率响应等于O.5,和一般

的直接型FIR数字滤波器相比,它几乎有一半的系数为零。又考虑到FIR数字滤波

器的单位脉冲的对称性,它只有(N14+1)个非零系数,正因为如此它才广泛的被

应用于降采样滤波器的实现中。但因为它只能实现降2功能,所以需要两级级联才

能实现降4的功能。设计FIR数字滤波器的一种有效方法是等波动逼近法【6】,用这

种方法设计的FIR数字滤波器,其设计误差在整个频率范围内均匀分布,从而可用

较低的阶数逼近提出的设计目标,在下一章节里面我们具体介绍等波纹法的设计思

路。

3.3.2等波纹法

切比雪夫最佳一致逼近法也称切比雪夫等波纹逼近【16】,或者最大误差最小化准

则。主要优点是能得到严格的线性相位。由于在滤波器设计中通带与阻带误差性能

的要求是不一样的,为了同意使用最大误差最小化准则,因而采用误差函数加权的

办法,使得不同频段的加权误差最大值是相等的。设所有已给定滤波器的频率响应

的幅度函数为Hd(∞),用线性相位四种FIR滤波器之一的幅度函数H(∞)做逼近函

数,设逼近误差的加权函数为W(∞),则加权逼近误差函数定义为

E(co)=形(国)【%(缈)一H(co)】 (3—22)

利用三角恒等式,可以将H(∞)表示成两项相乘的形式,即

Ⅳ(∞)=p(∞)·尸(∞) (3.23)

代入上式(3.23)得:

E(co)川训%(咖∞M(国)】=m姒洲器叫训 (3-24)

这一等式除了在60_o和∞=Ⅱ的一处或同时在两处外,对其它任何频率都是正

确的。

令日dM 2蔷孑’州2州QM (3—25)

则公式(3.24)可以化为:

E(缈)=形(缈)=形(缈)Q(缈) (3.26)

这就是加权逼近误差函数的最终表达式。利用这一表达式,线性相位FIR滤波

器的加权切比雪夫等波纹逼近问题可以看成是求一组系数口【刀)使其在完成逼近的各

个频带上(指通带和阻带,不包括过渡带),E(脚)的最大绝对值达到极小,如果用忸w)0

16-bit 100Ksps Sigma.Delta模数转换中数字滤波器的设计

表示这个极小值,则

I[g<co>ll=mintm舅x lE(co>ll (3—27)

其中A表示所研究的各通带和阻带。

对于线性相位FIR滤波器设计的切比雪夫等波纹逼近法【161,调用

McClellan.Parks引进逼近理论的一个定理,得出如下的交错定理型

p(co)=≥:口(,z)cos(con)磊 (3—28)

A是(O,Ⅱ)内的一个闭区间(包括通带以(甜)和阻带p(甜),但是不包括过渡带),

日,(彩)是A上的一个连续函数,那么是的唯一地和最佳的加权切比雪夫逼近的充分

必要条件是:加权逼近误差函数及曲在A中至少有(什1)个极值点,即A中至少有(什1)

个点, 且使得E(q)=一E(cor+·)并且E(q)=max[E(co)]q<032⋯<q+t但是该算法

在进行优化时,并没有利用到半带滤波器的几乎有一半系数为零的特点,而是把这

些为零的系数当作未知数来看待,因此增加了算法的运行时间。为了利用半带滤波

器的特点,可将它的传递函数表示为【18】

盹)=学 (3.29)

式(3—29)中N/2为奇数,G(z)的哆通带边界数字频吐率为所要设计的半带滤

波器的通带边界数字频率的2倍,即2过渡带为2到Ⅱ,通带纹波亦为半带滤波器

的2倍。这样就可以先用McClellan.Parks算法设计出满足上述要求的G(z)t171,得到

其阶数N1和单位脉冲响应g(n),n=0,⋯⋯,N1。将N=2N代入式(3—28)中,可

得式(3.30)。

力(,7)=

墨g(冬), n even

o. n odd≠尘生2

l Ⅳ一1一. 11 2—2’ 2 (3.30)

等波纹线性相位FIR滤波器的Remez交换算法【19】

等波纹法在计算量上有很大的工作量,我们可以采用remez交换算法,在matlab

中采用remez函数来实现我们所需要的功能。给定单位抽样响应长度N、通带截至

频率∞。,和阻带截至频率∞。,来进行设计的,算法已由加权切比雪夫逼近来描述,

公式中逼近函数p(co)式中r个独立的余弦函数之和,利用交错定理,可给出加权逼

近误差函数EL∞)应满足的一组必要且充分条件,这样就可得到最大误差最小化的逼

近一等波纹逼近。

第三章整体性能指标及结构

基于交错定理,最优线性相位FIR滤波器的设计步骤如下:

(1)输入部分,包括滤波器性能要求及滤波器类型,前者指的是所需的频率响应

的幅度函数,加权函数形彻)和滤波器单位抽样响应长度N,后者是要指出所需设计

的是带通(包括低通、高通、带通、带阻等)滤波器或是微分器,或是希尔伯特转

换器;

(2)用公式表示逼近问题,也就是用(3.21)式来表示加权逼近误差尉国)【博1;

(3)用Remez多次交换算法【21】,求逼近问题的解;

(4)计算滤波器的单位抽样响应。

其流程图如图3。10所示:

图3.10 Remez交换算法流程图

采用上述方法并使用matlab设计出来的滤波器的系数为量化后的小数,可以得

到一部分半带滤波器的十进制以及转换成补码的二进制系数为:

h(0)=h(30)=-0.0023=111111111101101001010001000110

h(2)=.h(28)=0.0049=OOOOOOO00101000001001000000101

h(4)=h(26)=-O.0097=111111110110000100010011010000

h(6)=h(24)=0。0176=000000010010000001011011110000

h(8)_h(22)=一0.0301=111111100001001011010111011100

h(10)=h(20)=O。0518=000000110101000010110000111100

h(12)=h(18)=-0.0986=111110011011000010001001101000

h(14):h(16)=O。3157=000101000011010001101101110001

h(1 5)=O.5=001000000000000000000000000000

其中二进制后28位表示的小数部分,第一位为符号位。’

28 16-bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

综上所述,我们可以得到半带滤波器的结构如图3.11所示,

图3.11半带滤波器结构图

这种半带滤波器实现方法的主要特点有以下两点:分时复用和结构复用。以上

优点在硬件电路实现上能够有效的降低功耗。

3.3.3系数的处理

理想滤波器的系数是无限字长的,硬件上是无法实现的。因此这些系数只能有

限字长来表示【6’21'221。如果直接将系数值表示成二进制的形式,然后进行舍入或截尾,

将会引起大的误差。为了使误差较小,必然导致量化系数的字长较长,会引硬件规

模增大,因此必须对系数进行优化处理。

由于根据上述方法求得的半带滤波器皆为(.1,1)的小数(可能为无限小数),因

此,在实际实现中,必须对其量化。若采用定点制算法,则必须考虑系数有效位数

对运算中间寄存器字长以及输出精度之间的关系。

基本的量化方式有舍入与截尾两种【281。定点制的乘法以及浮点制的加法和乘法

在运算结束后都会使字长增加,因而都需要对尾数进行截尾或舍入处理,由此引入

的误差取决于所用二进制数的位数b、系数的运算方式(定点制或浮点制)、负数的

表示法以及对尾数的处理方法(舍入或截尾)。由于采用定点制补码截尾时,A/D转

换器的量化噪声有直流分量,从而影响信号的频谱结构,这里仅就定点制舍入方式

的量化进行讨论。

定点制舍入:舍入是按最接近的值取b位码,因而舍入后各数值按△=2一b的

间距被量化,即两个数间最小非零差是2一b,舍入是选择靠得最近的量化层标准值

为舍入后的值,因此不论是正数、负数,也不论是原码、补码、反码,其误总是在

+垒:+一2-b‘2—2之间我们用QR[·】表示舍入处理,ER表示舍入误差,则

第三章整体性能指标及结构

乞=oRIx]一X

一竺</%J2 ≤全2一——< 。S一

(3—31)

(3.32)

一全<F.<全2

斤2 f3.33)

即定点制舍入误差为:其舍入误差是对称分布的,因此,一般来说对系统造成

的舍入误差比较小。

在对系数进行优化处理时,既要使滤波器的频响满足要求,又要使其硬件实现

规模最小。在实现滤波器时,为了减少硬件开销,通常采用移位相加的方法来实现

乘法。这样在设计时,可以通过减少乘法系数的个数、系数的字长及系数中的非零

位个数,来节省硬件。

我们采用了CSD码(Canonie Signed Digit)来表示量化后的系数f21,22]。可以大

大节省硬件。所谓CSD编码是指是一种非零位最少的系数量化格式,它的定义是:

对于X(-2≤X<Z,n为整数)有:

n

z=y dr27篇‘0≤j≤/7 (3-34)

式中∥,∈{0,+l,一1}上式中所有的d,构成了X的CSD码。量化系数中的非零位不能

够连续出现。通常普通的二进制数表示法使用0和1逐次表示2的整数次幂,而直

观的说,CSD码的表示方法就是将这种普通表示法中出现连续的1用(X+1)一l的方

法进行处理,如:

【0111]=[100—1]

利用二进制数1+1即归0的特点,无论在普通二进制表示法中多长的连续非零

位都能在CSD码中用一个1和一个一1,两个非零位来表示,通过这种思路可以得到

普通二进制表示法到CSD码之间的转换。例如O.375=2~一2-3也可以写成

0.375=2-1—2_3,这样对于同样一个系数0.375[25捌,若使用第一个表达方式,要进

行三次移位加运算(减法作为补码的加法);而使用第二个表达方式,就只需要两次移

位加的运算,运算量得到了降低,从而在硬件实现上大大降低面积跟功耗。

一个数的CSD码可以由它补码转换而来。和二进制代码相比,它具有如下特点:

1.CSD码不仅采用0和1,还采用数字一1;

2.更少的非零位数;

3.每一个非零位的相邻位必为零。

30 16-bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

图3.12 CSD编码流程图

对应于图3.12流程图,CSD编码对应的matlab函数中的部分代码如下【28】:

function[Pxy,Pxyc, f】=csd(varargdn)

error(nargchk(2,8,nargin))

x=varargin{1);

Y=varargin{2};

[msg,n_fit,Fs,window,noverlap,P,dflag]=psdehk(varargin(3:end),X,y);

error(msg)

%compute CSD

window=window(:);

n2 length(x); %Number of data points

nwind=length(window);%length ofwindow

ifn<nwind

x(nwind)=0;

y(nwind)=0;

n---nwind;

end

可以得到我们所需要的CSD编码的系数为:

h(O)=h(30)=-O.0023=00.00000000—0—0+00牛O+000+OO+OO.

h(2)=h(28)=o.0049=00.0000000+0+00000+00+000000+0+

第三章整体性能指标及结构

h(4)=h(26)-----0.0097=00.000000.0—0000+000+0+O-o+000+

h(6)=-h(24)=0.0176=00.00000+00+00000+0.00—000-0000

h(8)=h(22卜一0.030 1=00.0000.0000+伊卜。一00—0—000—00一0+

h(10)=h(20)=O.0518=00.000+0—0+0+000+0—0一000+000一OO

h(12)=h(1 8)=-0,0986=00.OO一0+00—0.0000+000+0+0-0+00+

h(1 4)=h(1 61=0.3 1 57=00.O-+·0Hr000+0—0+00+00.00.00.000+

h(1 5卜O.5=00。+000000000000000000000000000

其中+表示此处为+1,.表示此处为.1。

3.4.1 Matlab仿真

3.4 Matlab仿真以及verilog代码实现

采用mmlab2007以及相关软件进行matlab代码仿真,包括cIc滤波器、Halfband

滤波器部分级联而成【23】,CIC滤波器采用32倍抽取,Halfband滤波器采用3l阶级和43

阶级联而成。整个滤波器部分的输入为模拟调制器的输出,我们可以由sigma—delta

的工具包得到,以仅t文件格式读入滤波器中,当作整体的设计的输入使用。仿真代

码见附录A,仿真得到其对应图为图3.13。

4∞

蕾4掘霸,●

-T

⋯⋯喜⋯⋯⋯l⋯⋯.. ⋯⋯⋯}⋯⋯.’|

-。t ,{●

!移譬协 。;

穰 肇⋯⋯‘一:⋯’⋯⋯⋯‘r⋯⋯⋯⋯

0 勰 棚 鲫 鲫 1蚴 1湘f

图3.13 Matlab仿真图

同时对图3.13结果的同时进行FFT分析,得以得到SNR=110.3573db,从频域

上我们可以看到结果是符合的,整个信噪比满足整个设计的预计要求。

3.4。2系统的VefilogHDL代码描述实现

目前对系统的描述分为行为级描述和寄存器传输级描述两种。对于行为级描述

0

g、-,f‘.6.:

32 16-bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

的综合目前还不是很成熟,而且对行为级描述的方法还没有一个确切的定义。而对

于寄存器传输级(RTL)的描述的综合目前己有多种成熟实用的商用软件,如

Synopsys,Synplify,Mentor等【11】。所以本文对滤波器全部采用的是寄存器传输级

的描述方法。

所谓寄存器传输级(RTL)是指在数字系统设计时,可以将数字系统简单的看作是

由寄存器(Register)和寄存器之间的组合逻辑(Combinational Logical RTL)的描述是采

用各种寄存器形式,然后在寄存器之间插入组合逻辑。组合逻辑由逻辑方程、顺序

控制语句(CASE,WTHENELSE等)和子程序描述,或者通过并行语句由寄存器之间

的逻辑关系来表示【7,14’321。我们采用verilogHDL硬件描述语言描述了所设计的电路

后,需要验证其正确性。验证的目的有以下几个方面:

验证原始描述的正确性:验证设计结果的逻辑功能是否符合原始规定的逻辑功

能;验证设计结果中是否含有违反设计规则的错误【30,321。在分阶段自上而下对大规模

集成电路进行设计的过程中,从最初的对电路功能、行为的描述,到每个层次的设

计结果,每个阶段都要进行正确性验证,以尽早发现和消除设计中的错误。常见的

验证方法有下列三种:(1)模拟或称仿真(simulation);(2)规则检查(design checking);(3)

形式验iiE(formal verification)[231。所谓模拟(仿真),是指从电路的描述(语言描述或图

形描述)抽象出模型,然后将外部激励信号或者数据施加于此模型,通过观察该模型

在外部激励信号作用下的反应来判断该电路系统是否实现预期的功能。模拟方法是

目前常用的方法。规则检查是分析电路设计结果中各种数据的关系是否符合设计规

则。在版图设计中有专用的设计规则检查软件,主要检查不同层次线条的相互关系,

线宽,以及电学性能等是否符合规定。在逻辑电路中如最小脉冲宽度,建立时间和

保持时间,信号值的配合关系和禁止情况等,都需要进行检查。通常这些检查也放

在模拟过程中进行。形式验证利用理论证明的方法和数学的方法来验证设计结果的

正确性。该验证方法基于严密的理论体系,理论上可以证明电路正确与否,但是目

前尚未见有比较成熟的,有效在任何设计流程中,必须首先编写设计电路的技术指

标和功能要求的细节,对电路的功能、接口和总体结构进行描述,在这一阶段无需

考虑电路的具体实现方式。接下来设计者使用行为级描述来分析电路的功能、性能、

标准兼容性以及其它的高层次的问题。行为级描述一般也使用HDL来编写。由行为

级描述向RTL级描述的转换是由设计者手工完成的。对于本设计,系统可以分为两

个模块:时钟产生模块,主处理模块。

1.时钟产生模块:该模块向主处理模块产生不同的时钟频率。各时钟频率采用

对主频直接2分频,4分频,8分频,16分频,32分频,64分频和128分频得到,尽量

减少时钟延迟对下级分频电路的影响。

部分仿真图形如图3.14所示:

第三章箍体性自E指标及结构

图3 14时钟树仿真结果

2.主处理模块:包括一个梳状滤波器和两级级联的半带滤波器。实现对数

据处理功能,工作原理如下:输入的lbitl2 8M采样速率的码流.经过梳状滤波还原

为21bit的并行数字信号,该信号进入工作频率400kllv,的半带滤波器进行精密滤波,

引入半带滤波器,其输出也为51bit。然后再进入下一级半带滤波器进行滤波,输出

采样速率为400Hz的数字信号,这时输出仍为最高位数20bm这样就实现了一个1blt到16bitgJ数字抽取””。

部分滤波器测试modelsira仿真示结果如图315所示:

图3 15滤波器仿真结果

所有以上代码仿真得到的数据进行频谱分析可以得到图3 16所示的频谱图,与

当初matlab仿真结果相差不多,SNR为104 0309fib符合我们最初的设计预想。

彩∥刚鳓~9【_—自 ‰ ∞r—ir—i——b

...................................:££J】:................,...,,,——....一图3 16代码仿真结果F阿分析

综上所述按照上述结构实现的滤波器是能够符合我们的要求的。

第四章系统FPGA验证 35

第四章系统FPGA验证

4.1 FPGA的简介以及优点

现场可编程门阵YO(FPGA:Field Programmable Gate Array)和通用数字信号处

理器(DSP)在芯片逻辑规模和处理速度等方面性能的迅速提高,是超大规模集成电

路(VLSI)技术和计算机辅助设计(CAD)技术发展的结果。使用FPGA器件设计数字电

路,不仅可以简化设计过程,而且可以降低整个系统的体积和成本,增加系统的可

靠性。它们无需花费传统意义下制造集成电路所需大量时间和精力,避免了投资风

险,成为电子器件行业中发展最快的一族汹蔺’3¨。

使用FPGA器件设计数字系统电路的主要优点如下:

1.设计灵活

使用FPGA器件,可不受标准系列器件在逻辑功能上的限制。而且修改逻辑可在

系统设计和使用过程的任一阶段中进行,并且只须通过对所用的FPGA器件进行重新

编程即可完成,给系统设计提供了很大的灵活性。

2增大功能密集度

功能密集度是指在给定的空间能集成的逻辑功能数量。可编程逻辑芯片内的组

件门数高,一片FPGA可代几片、几十片乃至三百篇百片中小规模的数字集成电路芯

片。用FPGA器件实现数字系统时用的芯片数量少,从而减少芯片的使用数目,减少

印刷线路板面积和印刷线路板数目,最终导致系统规模的全面缩减。

3.提高可靠性

减少芯片和印刷板数目,不仅能缩小系统规模,而且它还极大的提高了系统的

可靠性。具有较高集成度的系统比用许多低集成度的标准组件设计的相同系统具有

高得多的可靠性。使用FPGA器件减少了实现系统所需要的芯片数目,在印刷线路板

上的引线以及焊点数量也随之减少,所以系统的可靠性得以提高。

4.缩短设计周期

由于FPGA器件的可编程性和灵活性,用它来设计一个系统所需时间比传统方法

大为缩短。FPGA器件集成度高,使用时印刷线路板电路布局布线简单。同时,在样

机设计成功后,由于开发工具先进,自动化程度高,。对其进行逻辑修改也十分简便

迅速。因此,使用FPGA器件可大大缩短系统的设计周期,加快产品投放市场的速度,

提高产品的竞争能力。

5.工作速度快

36 16-bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

FPGA/CPLD器件的工作速度快,一般可以达到几百兆赫兹,远远大于DPS器件。

同时,使用FPGA器件后实现系统所需要的电路级数又少,因而整个系统的工作速度

会得到提高。

6.增加系统的保密性能

很多FPGA器件都具有加密功能,在系统中广泛的使用FPGA器件可以有效防止

产品被他人非法仿制。

7.降低成本

使用FPGA器件实现数字系统设计时,如果仅从器件本身的价格考虑,有时还看

不出来它的优势,但是影响系统成本的因素是多方面的,综合考虑,使用FPGA的成

本优越性是很明显的。首先,使用FPGA器件修改设计方便,设计周期缩短,使系统

的研制开发费用降低:其次,FPGA器件可使EP,届U线路板面积和需要的插件减少,从

而使系统的制造费用降低:再次,使用FPGA器件能使系统的可靠性提高,维修工作

量减少,进而使系统的维修服务费用降低。总之,使用FPGA器件进行系统设计能节

约成本。

FPGA允许电路设计者利用基于计算机的开发平台,经过设计输入、仿真、测试

和校验,直到达到预期的结果。使用FPGA器件可以大大缩短系统的研制周期,减少

资金投入。更吸引人的是,采用FPGA器件可以将原来的电路板级产品集成为芯片级

产品,从而降低了功耗,提高了可靠性,同时还可以很方便地对设计进行在线修改。

设计人员可以现场对器件进行编程。正是由于它的这些特性,使得电子系统的设计

工程师使用相应的CAD软件就可以设计自己的ASIC(专用集成电路)器件,实现用户

规定的各种专门用途。

许多公司都开发出了多种类型的可编程逻辑器件,FPGA是Xilinx公司1985年

首家推出的,它是一种新型的高密度PLD,采用CMOS-SRAM工艺制作。比较典型的

就是Xilinx公司的CPLD器件系列和Altera公司的CPLD器件系列阱1。FPGA的结构

与门阵列PLD不同,其内部由许多独立的可编程逻辑模块(CLB)组成,逻辑块之间可

以灵活地相互连接。FPGA通常包含三类可编程资源:可编程逻辑功能模块、可编程

I/0块和可编程互连。可编程逻辑功能是实现用户功能的基本单元,它们通常排列

成一个阵列,散布于整个芯片:可编程I/O完成芯片上逻辑与外部封装脚的接口,常

围绕着阵列与芯片四周,可编程内部互连包括各种长度的线段和编程连接开关,它

们将各个可编程逻辑块或I/O块连接起来,构成特定功能的电路口¨。· 近年来FPGA器件在工艺方面的进步和设计思想上的创新为之带来了前所未有

的逻辑规模和强大的处理性能。例如,Altera公司采用0.13 u m工艺的Stratix系

列FPGA逻辑资源最大达到8万个逻辑单元(Logical Element—LE),内置176个300MHz

的9X9乘法器,可组合成22个36X36乘法器,可专门面向DSP设计应用,片内

RAM容量最高达7,427,520 bits(928,440 bytes),完全可以用来实现一个高性

第四章系统FPGA验证 37

能的DDC:而最新的采用90nm工艺的StratixII系列FPGA其逻辑资源最大可达到18

万个LE,内置384个420MHz的18×18乘法器,已经可以在一片FPGA中实现一个

功能的系统。而且芯片逻辑资源相同时,StratixlI器件的价格比Stratix器件还要低。

随着FPGA性能越来越强,规模越来越大,成本不断降低,利用FPGA实现高速也已

经成为通信系统设计中常用的手段。在经过FPGA充分验证的基础上,还可以将FPGA

设计转为ASIC,降低芯片成本,使其市场化。Altera公司最新推出的Hardcopy II

技术,可以在1 0,--,12周内将一个成熟的FPGA设计转成量产的ASIC,并且保证

ASIC的功能和时序与FPGA芯片完全一致,pin to pin的管脚兼容,大大减少了设

计者验证和仿真的工

4。2 FPGA板的主要元器件介绍

本设计采用的是40万门(或20万门)Xilinx Spartan3系列FPGA。

Spartan.3系列基于成熟的Spartan。II E系列产品,不仅改善了时钟管理功能,

而且也增加了逻辑资源数量,内部RAM容量,YO总数和性能的总体水平。

Spartan.3中很多增强的特性来源于目前工艺水平的Virtex TM.II技术。Spartan-3

系列的结构由5个基本的可编程功能模块组成,分别是:可配置逻辑模块(CLB),

输入/输出模块(IOB),Block RAM,乘法器模块和数字时钟管理器(DCM)。

(1)CLB:CLB包含基于RAM的查找表(LUT),来实现逻辑和存储单元。一

个CLB单元含有4个互连的S1ice。

(2)IoB:10B模块控制着外部I/0管脚和器件内部逻辑之间的数据流。IOB具

有3个信号通路:输入通路,输出通路和三态通路。

(3)Block RAM:所有Spartan-3系列的FPGA中都提供了在18kb的双端口

模块中存储数据,也就是说Block RAM具有双端口结构,两个等同的数据端称为A

和B,允许独立访问共同的RAM模块。

(4)Multipliers:在Spartan.3系列中,乘法器模块允许两个18位的二进制

作为输入,并计算输出16位结果。乘法器输入总线接受两种数据类型(18位有符

号数据和17位无符号数据)

(5)DCM.在Spartan-3系列中,DCM模块提供了自激振荡,分布,延迟,

相乘,分频和相位偏移的时钟信号。DCM主要由4个功能部分组成(延迟锁相环,

数字频率同步器,相位移位器和状态逻辑)。 ‘

本实验开发板使用Spartan.3系列中较为基础的XC3S400和XC3S200型号,

采用PQ208表面封装,具体的器件特性如表4.1

38 16一bit 100Ksps Sigma-Delta模数转换中数字滤波器的设计

表4.1 FPGA芯片介绍

芯片特性 XC3S400 XC3S200

System Gates 400K 200K

Equivalent Logic Cells 8,064 4,032

Distributed RAM Bits 56K 30K

Distributed RAM Bits 288K 216K

Dedicated Multipliers 16 12

DCMS 4 4

Maximum User I/Os 141 141

支持XCF02S

XCF02S用来配置XC3S40,XCF01S用来配置XC3S200进行PROMS方式

下载,同时也可以兼容JTAG方式下载

·256KByte高速,异步SRAM

一片256Kxl6Bit的SRAM,独立的字节使能信号

●4MB/8MB高速SDARM

一片4xl MBitxl6的SDRAM,最高166MHz读写速度;

●4MB(32M bit)快速FLASH

一片4Mx8Bit或者12M×16Bit Flash读写速度为90ns;灵活的页面方式,可

以用来存储FPGA配置文件或者操作系统镜像文件;

●9针RS--232串口

实现与计算机的数据通讯;辅助调试,结果输出;

●512色的VGA接口

直接VGA显示器对接,实现多种演示的显示;用于验证VGA时序;

·七段数码管和8个LED

用来显示各种数字或者信号

●2×14位LCD

PS/2鼠标,键盘接口七段数码管

标准的鼠标、键盘接口,支持3.3V和5V设备,可以用来验证PS/2的接口

协议,实现一个IO设备扩展;

·USB2.0高速数据接口

采用了应用广泛,性能稳定的Cypress公司CY68013芯片实现了USB接口

的扩展,能够与计算机之间实现高速的数据传递;

●用户自定义串行接口

直接扩展FPGA的IO到USB接口,用于评估FPGA上实现USB PHY的

性能或用户自定义的串行标准;

第四章系统FPGA验证 39

一————————————————————————————————————————————————一●功能扩展接口

通过相应的扩展板,可以实现Video,AUSB—Dio和Wireless等应用。用户

也可以开发自己定义的接口板。

支持的功能扩展板

·音视频接口板(RCE—AV)

包括一个Video Decoder(SAA71 13),Video Encoder(SAA7129),音频的Codec

TL320AIC23来完成音视频的输入和输出。

开发板示意图如图4.2:

图4.2开发板示意图

4.3 FPGA板验证流程

FPGA设计的开发流如图4.3所示:

图4.3 FPGA设计流程图

如图4.3所示,系统划分、代码描述、程序仿真、便以综合、优化、布局布线、

下载到板子上,这一系列的流程是FPGA设计的主要思想,按照这个流程,将上一章

节的verilog代码下载到FPGA板上∞3,本课题中抽取滤波器最终实现采用了40万

门的xlinxspartan 3系列FPGA芯片口¨。综合得到的部分模块图如4.4所示,相关的

资源使用情况在下一小节中介绍。

图4.4 FPGA实现部分模块图

笫四章系统FPGA验证 41

4.4 FPGA使用资源相关情况

在使用xilinx spart 3 xc3s400系列板子采用synplify综合部分报告如图4.5

H0r5t patla liaror瞧Cion■tttttttt■ttttttttt’ttt

Pattil in土or珈咀七ion for pat.h number 1:

lkqUesCed PeriOd:

一Ser.U10 cime:

。Required cime:

一Propman:10n time:

-Slaclc enon—cricic童1) :

Nll曲er of logie

Start,ing,OinC:

Endj.ng poinC:

The sCart pOint

The end poin乞

levell5):

i5 clocked by

15 clOcked by

78.125

0.2q8

77.8''

29.391

4B.q86

2S

top一3.delay_3—1【0】/Q

t,op一3.del6y-3—4【1l】/DtreeI c1)c-哇一in士crrecLcloelc【ri苎ing】

on pin cLK

clk-tree lclk.哼一inflated

cloek[rising] on pin cLK

Type N-,- Dir Delay Time Fan out 15I

t.op 3.del^y 3 1【0】 DrFC Q ouc 0.200 0.Z00 一

delay 3 1【0】 Nec 一 一 1.060— 2

COp 3.adder3 1.adder OuC.^DD 9X9 5loH工1 C01 D a2^ND2 B In 一 1.260 —

tOp 3.量dder3 1.adder ollt,.▲DD 9x9 slO可11 C01 0 I_2^ND2 Y 01lC 0.:1.64 1.哇2q ·

N 51 Net · 一 i.060 - 2

top 3.aelder3 1.■dder out,.^DD 9x9 5low 11 C01 0暑3 0A12l C In 一 2.48乓 -

t.op 3.aclder3 1.adder Ouc.^DD 9x9 5lov 11 C01 0们 o^121 Y ou七 0.068 2.552 一

N 41 i NeC 一 -0.630 一 l

t,op 3.adder3 1.^dder OUt*.^DD 9x9 5Io膏Il C01 O D3 ^02lTTF C In 一 3.182 -

t.op 3.曩dder3 1.adder out,.^DD 9x9兽low 11 C01 0 03 ^02lrrr T Ouc 0.068 3.250 一

Ni32 Nec 一 一 1.060 · 2

cop 3.^dder3 1.adder out,.ADD 9x9 5low 12 unl C01 0 a3 0 OAl21 C In 一 哇.310 一

COD 3.绷曩aer3 1.^dder out.▲DD 9x9 5low 12 unl C01 0^3 0 OAl21 Y ouC 0.068 4.378-

N嘎’ NeC 一 一 0.630 — 1

tOp 3.adder3 1.adder ouc.▲DD 9x9 5.1.ow 12 unl C01 0 03 JoZlTTr C In 一 5.008 一

图4.5 synplify部分综合报告

图4.5为时钟树的部分时序的报告,通过查看整个Worst slack,最大时钟频率为

30.831MHZ,超过了12.8MHZ时钟的要求,因此可以认为时序上是没有问题的。设

计占整个资源的52%。输入采用将数据放入$ralil中的方式来进行加载,输出为16位

的数据流。在安捷伦逻辑分析中将数据保存为臼(t文档以便于后续的处理工作。

在4.5小节中将介绍matlab对结果分析的过程,数字滤波器仿真与测试出来的

结果是时域上的一串数字,我们无法分辨出来结果是否符合要求,要将时域的结果

放到频域上去分析,从频域上去认证设计的结果是否正确。

42 16-bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

4.5 FPGA验证结果

在之前modelsim前仿真结果符合条件的前提下,我们将设计拿到Xilinx FPGA

开发板上进行调试验证。采用Xilinx ISE软件将设计读入仿真以及设置约束条件,

管脚的设定以及布局布线下载一系列过程。上电测试,将逻辑分析仪中的结果导倒

出来进行结果分析啪3,时域上变换到频域上,调试结果进行FFT分析结果如图4.5

所示:

图4.5 FPGA测试结果

图4.5为FFT分析测得SNR为101.0309db,与仿真的结果相差不多,这是由于仿真

结果与实际的电路存在差别,符合模拟部分相匹配要求的98db。

第五章系统VLSI综合与布局布线 43

第五章系统YkS l综合与布局布线

5.1系统设计流程

基于FPGA验证结果我们采取了特许半导体公司的chrt0.35工艺实现ASIC设

计。在这个过程中,需要对实现电路功能的数据流进行详细描述。在以后的各个设

计步骤中,都可以借助工具软件来完成。其对应的设计流程以及工具如下图所示

图5.1 ASIC设计流程图

44 16-bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

如图5.1所示应用到的软件基本上为modelsim、synopsys DC、synopsys PT、

SOC ENCOUNTER、Calibre等[11,12]。对应于上面这个流程完成ASIC设计。

5.2综合的基本概念

综合是将比较高级别的抽象自动转换到更低级别抽象的一种方法【351。对高级别

抽象描述分为行为级抽象和寄存器传输级(RTL)的抽象,综合工具的作用是将RTL

级描述转换成门级网表。门级网表从逻辑门及其相互连接关系的角度来描述电路的

结构。综合工具需要保证综合出来的门级网表满足时序、面积以及功耗的要求№】。

目前已有多种可用的成熟的综合工具可以将RTL的描述转换成门级网表并进行优

化,但对行为级抽象描述的综合工具还不是很成熟。一般在描述某个系统时,先采

用RTL的描述,然后使用Synopsys公司的高层综合工具进行综合优化。

综合之后可以得到关于设计的一个网表(Netlist)文件,该文件定义了该电路逻

辑门及门之间的连接关系。综合之后的电路己包含了门单元的延时信息,此时可以

对电路进一步验证以确认综合过程是否符合要求,同时也可以确定系统的时序是否

能达到预定要求。逻辑综合是使用软件的方法来设计硬件,将门级电路实现与优化

的工作留给逻辑综合工具的一种设计方法。它是根据一个系统逻辑功能与性能的要

求,在一个包含众多结构、功能、性能均为已知的逻辑元件的单元库的支持下,寻

找出一个逻辑网络结构的最佳实现方案。即实现在满足设计电路功能、速度及面积

等限制条件下,将行为级描述转化为指定的技术库中单元电路连接的方法。

逻辑综合主要包括三个阶段:转换(translation)、优化(optimization)与映射

(mapping)t¨】。转换阶段逻辑综合工具将高层语言描述的电路用门级的逻辑来实现,

对于Synopsys的逻辑综合工具DC来说,就是使用gtech.db库中的门级单元来组成

HDL语言描述的电路,从而构成初始的未优化的电路。优化与映射是逻辑综合工具

对已有的初始电路进行分析,去掉电路中的冗余单元,并对不满足限制条件的路径

进行优化,然后将优化之后的电路映射到由制造商提供的工艺库上。逻辑综合是连

接电路的高层描述与物理实现的桥梁。

逻辑综合结果的好坏直接决定于HDL语言的描述,逻辑综合给定的限制条件

与逻辑综合之后的门级网表将送到后端工具用于布局布线:而且在使用HDL语言描

述电路以及在逻辑综合的过程中就需要考虑电路的可测试性,在逻辑综合之后需要

对电路的可测试性进行处理

第五章系统VLSI综合与布局布线 45

5.2.1综合进程

曰图5.2综合的进程

图5.2所示的是完成一个系统的RTL描述后进行综合的进程【321。在对RTL的

系统描述进行综合时要加入一定的综合约束条件,使系统的综合按照设计所期望的

目标进行。这些约束包括系统面积、速度、关键路径限制等。另外,系统的综合是

基于某一给定的综合工艺库来进行的综合。工艺库一般是由生产厂家或FPGA供应

商提供的。它是综合的基础,系统的综合实际上是将系统按照综合的约束映射到工

艺库上的一个过程,属于一种工艺约束。

从RTL Nf-J级网表一般分成三步【25’3刁:首先把RTL描述转换为未优化的通常为

原型门(如与门、或门、触发器和锁存器)组成的布尔描述,然后在布尔方程描述基

础上执行布尔算法,以便产生一个优化的布尔方程描述,最后按目的工艺采用的工

艺库把优化的布尔方程描述映射到实际逻辑。布尔优化是综合的关键过程。它采用

大量的算法和规则把非优化的布尔描述转化到一个优化的描述。在进行布尔优化前,

设计者要加入相应的综合约束条件和电路的属性。完成布尔优化后到门级网表的映

射过程,是产生最后优化结果的过程。在门级网表中包含了设计的面积和速度目标。

从RTL描述到布尔方程描述的转换并不是由用户控制的,所产生的中间格式一

般是为特定优化工具的格式,甚至是用户不可见的【11】。按照这种中间格式描述,所

有的条件语句、情况判断语句、循环语句、条件信号赋值语句和选择信号赋值语句

转换到它们的布尔表达式,或者由推论去做触发器或锁存器。

5.2.2综合约束的设置

为了控制优化输出和映射工艺,在进行系统综合时要加入综合约束。它为优化

和映射试图满足的工艺提供了目标,并且能控制设计的结构实现方式。目前综合工

具中可用的约束包括面积、定时、功率和可测性约束,将来我们或许会看到对封装

46 16-bit 100Ksps Sigma-Delta模数转换中数字滤波器的设计

的约束和对布图的约束等,但是,目前最普遍的约束是按面积和按时间方式的约束。

在RTL描述中某些可能约束的中有多种约束,其中包括最大延时约束、推迟到

达约束和对整个设计的面积约束。最大延时约束条件规定最近一次信号发生的时间,

用时钟约束条件规定时钟的工作频率,由时钟约束条件还能计算加到时钟控制寄存

器的每个信号的最大延时限制条件。面积约束条件规定该设计将花的最大面积。下

面将分别对这些约束条件进行讨论。

1)面约束条件

用面积约束条件规定设计的面积目标,它应在设计者希望该电路所占用的范围

之内,多数综合工具允许设计者按在工艺库中门级宏单元描述时所用的单位指定面

积目标。例如如果工艺库用等效门作为每个单元的测量单位,该面积目标应规定一

项有关门的等效数。通常情况下,综合工具允许设计者指定非零面积,当综合工具

满足面积约束条件时就停止优化。换言之如果指定面积约束条件为零,则综合工具

将试图用各种可能的规则和算法尽可能地减少设计的面积【141。这种面积约束条件的

设置在对面积要求非常苛刻时比较有效,但有可能会增加一些电路的延迟,使某些

模块电路的速度达不到设计的要求。因此,在初次优化时按照面积约束进行优化,

然后根据不同模块对速度的要求再进行速度优化.

2)时间约束条件

时间约束的典型用法是为电路中的特定通道指定最大延时。例如典型的时间约

束条件是输出端口的最大延时,为了产生一个满足时间约束条件的网表,用时间约

束条件引导优化和映射。当用综合工具时,满足定时约束通常是优化最难的任务之

一,有时可能得不到满足规定时间约束的设计。另外,在时间约束条件中还有对关

键路径(Critical Path)的时间约束,这在某些对速度要求非常高的模块的优化中有很

大的作用。基于关键路径的时间约束优化,可以进行多次优化,将每次优化的结果

进行比较可以看出其结果是一个反复波动的过程。实际上,时间约束优化是将一些

非并行方式的结构用并行的方式来实现,这样有可能增加电路的面积,所以在进行

时间约束优化时,要在速度与面积之间找出一个较为合理的均衡,这样才能使系统

工作在最佳状态。

综合中设置的基本的约束可以由图5.3看出:

第五章系统VLSI综合与布局布线 47

set._operating—。co

nditJorm On the

eet_max_capacitance

‘Jet_t搬lx trm硝tton妇mt n,,ax~fanout Oll

input Ikoutput ports傅Current_der49啦

Top leveI.网K

l7k篮壅I怕In掰硼。block

cell c弛j,lockIa矗毫

t

锚.t_wire..10ad

foe each block,

incil们linn ton

刚。哪蝴output

图5.3综合约束框图

本设计的综合约束部分脚本的如下:

群Define the target technology library, symbol library, and link libraries

set designer{xiaoyan}

set company{xidian}

set search___path{If.”

/eda/synopsys/libraries/syn/chrt_synopsys/chrt35/2000.3/cb35/v2.6/synopsys/1999.05

/models|

/eda/synopsys/libraries/syn/chrt_synopsys/chrt35/2000.3/cb35/v2.6/synopsys/1 999.0

5/icons}

set targetlibrary{cb350s142_max.db cb35i0122一max.db

cb35io 1 32一max.db)

set link_library{..削’cb35i0122_typ.db cb35i0122一max.db

cb35i0122一min.db cb35i0132』憎.db

cb35i0132一max.db cb35io 1 32一min.db

cb350s142_typ.db cb350s142一max.db

cb350s142一min.dbcb35i0122.sdb

cb35i01 32.sdb cb350s142.sdb}

set symbol_library{cb350s142.sdb cb35i0122.sdb

eb35i0132.sdb}

set verilogout————no——tri true

set verilogout_show__unconnected_pins true

48 16一bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

analyze·library WORK—format verilog“/home/sinano/work/filter/cic.V))

analyze—library WORK-format verilog“/home/sinano/work/filter/clock_tree.V))

analyze-library WORK—format verilog{{/home/sinano/work/filter/adder.v}}

elaborate cic—module—architecture verilog—library WORK

elaborate clock—tree—module—architecture verilog—library WORK

elaborate adder—module—architecture verilog—library WORK

elaborate half—band—module—architecture verilog—library WORK

elaborate top_module-·architecture verilog--library WORK

lilll【

uniquify

≠}Define Design Environment

createclock-period 78.125 clk一12.8M

set_clock_latency 5.0 elk一12.8M

seLclock_uncertainty—setup 1.5elk一1

2.8M

set—clock—transition 1.5 clk一12.8M

set_input_delay 3.5一max—clock clk一12.8M[remove_from_collection[all_inputs】

[get_ports clk_1 2.8M]]

set—dont—touch—network{clk一1 2.8M rst_all}

set—fix—hold clk一12.8M

set——wire——load——mode enclosed

set_operating_conditionWCCOM

compile-map_effort medium

removeunconnected__ports[get_cell-hie木】

check_design

write—sdf—version 1.0一context verilog/home/sinano/work/filter filter_design.sdf

write—sdc/home/sinano/work/filter/filterdesign.sdc

write—f verilog-hierarchy—O/home/sinano/work/filter/filter—netlist.V

其中首先建立设计环境,技术库文件及其它设计环境设置,可以包括在DC

的.synopsys_dc.setup文件中,也可以在脚本的开头编写出来。Searc岫am:指明库文件的位置。Synopsys technology library由半导体制造商提供,定义cell的相关信

息及设计标准约束,分为两类:target libraries和link libraries【201。

target libraries在门级优化及映射时,提供生成网表的cell;既技术库,由生产

厂家提供,该库中的cells,被DC用于逻辑映射。target libraries的文件名应包含在

第五章系统VLSI综合与布局布线 49

Link library的文件清单中【201,用于DC读取门级网表。

Link libraries:提供设计网表中可引用的cell,DC不利用link libraries的cell做

综合:该库中的cells,DC无法进行映射,例如:RAM,ROM及Pad,在RTL设

计中,这些cells以实例化的方式引用。

Target library和Link_library为设计者提供了将门级网表从一种技术在映射到

另一种技术的方法,将旧的Target library文件名包含在Link library的文件清单中,

而Target fibrary包含新的Target library文件名,利用translate命令实现。

Symbol library:该库文件包含技术库中cells的图形表示,用于DA生成门级示

意图。

时钟的描述在设计中很关键【32】,传统上在clock source加很大的buffer去驱动

整个时钟网络,布线时,使时钟网络成鱼骨状,用于减少时钟网络延时和clock skew。

对于VDSM,传统的方法已不适用,而是由layout工具根据cell的位置综合时钟树,

以满足我们对时钟的需求,时钟的DC命令介绍:

Creme clock[2川:用于定义时钟的周期和波形(duty及起始沿);例如:create clock

-period40-waveform{0 20}CLK周期40ns上升沿0 as,下降沿20 nS;对于仅包含组

合逻辑的模块,为了定义该模块的延时约束,需创造一个虚拟时钟定义相对于虚拟

时钟的输入输出延时。例女1:1:create clock-name vTEMP CLK-period 20。

Set clock transition:在pre 必须设置一个固定的 值(由技术库提.1ayout transition

供),因为时钟网络有很大的fanout.这样可使DC根据该时钟计算实际的延时值。

Set—clock—skew:设置时钟的skew及delay,pre_layout和postlayout命令选项不一

样。-propagated选项让DC计算时钟的skew。

Set 定义信号相对于时钟的到达时间。指一个信号,在时钟沿之后.input delay:

多少时间到达。例如:set_input_delay-max 23.0-clock CLK{dataout)set_inputdelay

-min 0.0-clock CLK{dataout)。

Set_outpuLdelay:定义从输出端口数据不可用开始距后一个时钟沿的时间:既时

钟周期间去cell从上一个时钟沿开始的工作时间。如:set_output_delay-max 19.0

_clock CLK{dataom}用该命令对一些信号进行over-constrain,从而获得最大

setup—time.但可能导致面积和功耗的增加。一个负值(如:.O.5)可在layout后,被

in-place optimization用于为hold—time修正提供timing margm。

Set_false_path:指示DC不要对指定的路径按照时序约束优化,如:异步路径

或约束不可实现的路径。false path路径的鉴别在设计中很关键,-如果不对false path

路径进行标识,DC会对所有的路径进行优化,从而影响关键时序路径。此命令用

于当因为有false path关键逻辑时序静态分析失败时。

_Set multicycle 因为 假设所有的路径都是单周期的,为了满足时序,对.path:DC

多周期路径会做不必要的优化,从而影响相邻路径或面积。所以这个命令用于隔离

50 16一bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

多周期路径,通知DC通过这条路径所需的周期数。

线性负载模型(wire.10ad models):估计pre_layout电路中net的电容,电阻及

面积。Synopsys提供了几种不同的wire—load models以对相应的设计逻辑大小,它

给出了net fanout和net length的统计关系。

5.2.3综合报告

时钟综合报告

在设计完RTL级电路后,将所得Verilog文件导入DC综合器。根据上面介绍

的相关约束的设置设综合采用总时钟频率为12.8MHz,输入输出延时均为1.5ns,

Clock_uncertainty=0.5ns。根据设计需要,在主时钟频率下,系统内有七个子时钟域,

这七个子时钟域的时钟频率依次为主时钟的2、4、8、16、32、64、128分频,因此

可得如下的时序分析结果。水术掌宰凇木水,Icjlc水,Ic宰水木木宰水牛半宰,lc宰,Ic幸术宰术术,Ic木木堆木球水木木枣木术

Report:timing

-path full

-delay max

-max__paths l

Design:clk—tree

Version:2003.03

Date :Sun Sept 14 1 1:36:56 2008●■■■■■■●■■●■■●■■●■■■■●■■●■■●■■■■■一■一■●■■■■■●■■■■●●■■■■●■●■■■■■■■■■■●■■■■

Operating Conditions:WCCOM Library:cb35i01 22_typ

Wire Load Model Mode:enclosed

Startpoint:count_1 28reg[0】

(rising edge—triggered flip—flop clocked by cl蚰

Endpoint:countl 28_reg[5】

(rising edge—triggered flip-flop clocked by cU()

Path Group:elk

Path Type:max

Des/Clust/Port Wire Load Model Library

clk tree 8000

elk tree DW01 inc 6 0

ForQA

cb350s142 max

cb350s142 max

第五章系统VLSI综合与布局布线 51

Incr Path

clock clk(rise edge)

clock network delay(ideal)

count_128_reg[0]/CP(sdcrql)

count_128reg[0]/Q(sdcrql)

add_139/A[0](clk_tree_DW0 1_inc_6_0)

add一139/U1—1—1/CO(ahOldl)

add一139/U1—1—2/CO(ahOldl)

add一139/U1—1—3/C0(ahOldl)

add一1 39/U1—1—4/CO(ahO l d1)

add——139/U6/ZN(invOdl)

add一1 39/U5/ZN(xn02d1)

add_139/SUM[5](clk_tree_DW01 inc 6 O)

count__1 28_reg[5]/SC(sdcrq 1)

data arrival time

clock elk(rise edge)

clocknetwork delay(ideal)

clock uncertainty

count_128reg[5]/CP(sdcrq1)

library setup time

data required time

data required time

data arrival time

O.00

3.OO

O.OO

1.02

O.OO

O.51

O.51

O.51

0.50

0.15

O.61

O.OO

O.OO

78.12

3.00

-4.50

O.OO

.O.75

O.OO

3.00

3.00 r

4.02 f

4.02 f

4.53 f

5.04f

5.54 f

6.04 f

6.19 r

6.80 r

6。80 r

6.80 r

6。80

78.12

81.12

76.62

76.62 r

75.88

75.88

75.88

.6.80

Slack(MET) 69.08

由于各子时钟是主时钟的2N分频,因此可以将各子时钟域的关键路径归一化到

主时钟域,可知整个电路的关键路径为clk2子时钟域的关键路径,电路正常工作的

上限频率为69.08 MHz。满足设计要求。对应于综合生成的等效门数如表5.1所示。

表5.I综合等效门数

CIC滤波器 第一个半带滤波器 第二个半带滤波器

等效门数 3504.25 8031.75 9619.50

52 16-bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

5.3 SOC encounter自动布局布线

在综合完成之后接下来的一个工作就是布局布线,将综合生成的netlist等相关

文件导入到布局布线工具中,我们采用了cadence的SOC encounter自动布局布线工

具。作为一个综合的RTL.to.GDSH设计环境,Encounter平台提供了数字设计的完

整流程,从RTL级代码的导入,到芯片的布局布线以及时序分析,再到最终GDS

文件的生成,它提供最好的硅片质量(时序、面积、及线路功耗)、精确验证、SI监

控布线、及最新的对高级65纳米设计非常关键的高良品率及低功耗设计能力。

Cadence SOC Encounter数字IC设计平台提供了纳米级SOC设计所需的全方位的技

术,帮助逻辑设计和物理实现团队快速完成高质量的芯片。目前Encounter己经成

为数字设计布局布线中最为普遍的工具,同时工艺厂商也把Encounter作为其推荐

流程的使用工具。 SOC Encounter采用层次化设计功能将芯片分割成多个小块,以

便单独进行设计,再重新进行组装。SOC Encounter首先读入RTL或门级网表,并

快速构建可准确代表最终芯片(包括时序、布线、芯片大小,功耗和信号完整性)的

芯片“虚拟原型”。通过使用物理虚拟原型功能,设计师可以快速验证物理可行性

并在逻辑上进行必要更改【29】。

First Encounter能快速生成准确的物理设计“原型”,原型可以快速反馈芯片

性能与完整可行的功能和物理层版图。采用这个物理原型,工程师在进行前端设计

时就可以考虑到它们的实现细节对芯片性能和物理可实现性的影响。而且,后端工

程师也能生成经过优化的整体规划和布局。 First Encounter同时提供全层次物理设

计架构。它包括能自动生成模块(block)输入(如Pin分配和时序预算);生成顶层实现

(如芯片级时钟树综合、电源设计和自动buffer插入)。如果与传统的模块实现流程

结合,First Encounter提供一个完整的层次设计解决方案,可以自适应包含上百万门

的设计和上百个宏单元的设计。原型随后将被分割成多个模块,包括管脚分配和时

序预算。然后将在模块级上进行物理综合和详细的布局布线。最后,对整个设计进

行组装,并对信号完整性进行检测和修正。物理原型,物理综合及布局布线技术的

融合可以得到更好的设计质量,即更高的工作效率和更小的芯片面积。总而言之,

在很短的物理设计周期里得到更佳的芯片性能。

encounter布局布线主要包括下面几个步骤:布局,包括PAD的布局和电源地线

的布局,放置标准单元,其次就是布线以及CTS,

5.3.1 Soc encounter准备文件及介绍

对SOC encounter自动布局布线而言所需的数据主要有是Foundry厂提供的标准

第五章系统VLSI综合与布局布线 53

单元、宏单元和I/O Pad的库文件,它包括物理库、时序库及网表库,分别以.1et',.tlf

和.v的形式给出【29】。前端的芯片设计经过综合后生成的门级网表,具有时序约束和

时钟定义的脚本文件.sdc约束文件以及定义Pad的定义文件一tdf,tf文件

~technology file,Foundry厂提供的标准单元、宏单元和I/O Pad的库文件就与

FRAM,CELL view,LM view形式给t丑(MiUcway参考库and DB,LIB file)。

5.3.2 Soc encounter流程

1.数据准备(Data Preparation)

准备好后端设计所需要的数据:网表(netlist),时序约束文件(sdc),单元库(cell

library),时序库(tlf)等等。

2.I/0PAD放置

根据芯片外管脚的定义和模块数据流向手工放置I/O PAD的位置,也可以通过

编写TDF(top design format)文件,把PAD位置进行限制,用自动布局布线工具读

入这个文件即可【29】。IO举例如下:

Version:2

存⋯⋯.5 PADs on Weast⋯⋯⋯

Pad:top iopads/Pvin W

Pad:top_iopads/Pvcm W

Pad:top_iopads/PAVDD W

Pad:top_iopads/Pvrefia W

Pad:top_iopads/Pvrefp W

拈⋯~1 1 pads Oil north⋯一一

Pad:top_.iopads/Pvint N

Pad:topjopads/Pvfd N

Pad:top_iopads/Pagnd N

Pad:top_iopads/Pdgnd N

Pad:topj‘opads/Ps n dO N

Pad:top_mpads/Ps n dl N

Pad:topjopads/Ps n d2 N

Pad:top_10pads/Ps——n——d3 N

Pad:topJopads/Pout_analog N

Pad:top.)opads/Pc l clk N

54 16.bit lOOKsps Sigma—Delta模数转换中数字滤波器的设计

Pad:top_iopads/Pc2_clk N

我们可以在开始的时候直接导入该文件,SOC encounter会按照我们所写的顺序

把IO管脚布好,微调就可以了。也可以直接手动布IO管脚。

3。布局规划(Floorplanl

根据设计的数据流向和功能模块的考虑,以及经验值,给出“core utilization”

等参数的值的设置,如果之后的布线出现拥塞,可以适当调整这些参数的设置。

4.宏单元放置(Marco cell placement)

对模拟模块或者RAM,ROM等宏单元提前放置,一般根据数据流和功能要求

放置,如果没有要求可以放置在靠近外围,这样不会影响到标准单元的布线。

5.电源(Power)

在PAD连上电源环给I/O供电,芯片内部还要在水平和垂直方向给出多组电源

组,这些电源组都会连上沟道(row)的电源,以达到IR DROP的要求。

6.标准单元放置(Standard cell placement)

标准单元被放置在预先设置好的沟道(row)里面,这种放置可以时时序驱动的

(timing driven),也可以是功耗驱动的(power driven)。

7.时钟树生成(Clock tree synthesis)

由于时钟端的驱动能力有限,而且时序的好坏也是一个芯片的成败的关键,在

所有的时钟驱动端加入一些缓冲器(Buffer)。时钟树生成;布线;时续分析。其中对整

个布局布线有举足轻重作用的是时钟树生成,因为时钟树决定了整个设计的时序好

坏,整个时续也有很大的影响,特别是在小尺寸工艺的情况下。设计的时序是否符

合要求主要取决于生成的时钟树

8.布线(Routing)

芯片的布线有总体(Global routing)布线和详细布线(Detail routing)两步,如果布

线有很大的拥塞(congestion),需要重新布局。

9.寄生参数提取(RE extraction)

利用寄生参数提取软件提取线网的寄生电阻和电容,并转换为延时值存到

SDF(stand delay format)文件中。

1 O.静态时序分析STA(static timing analysis)

静态时序分析是运用软件计算芯片的时序是否符合设计所要求的时序,如果违

反可以进行工程变更(ECO)来修正。

1 1.工程变更ECO(engineering change order)【29】

工程变更是对版图的局部修改,并完成从布局到STA的步骤的统称,一般是加

入一些单元,或者替换一些单元来达到对时序的修改。

12.设计规则检查DRC(design rule check)茅EI版图与电路图比较LVS(1ayout

第五章系统VLSI综合与布局布线

veI$tl$schematic)

13 Tape out

在所有检查和验证都正确无误的情况下把最后的版图GDS II文件传递给

Foundry厂进行掩膜制造。

5.3 3布局布线对应结果

采用chrt0 35工艺,对应其库文件进行布局布线,芯片的整体面积为

2 5×2 5ram2,其中Core(砘含Pad)的面积为1.5x1.Smm2,芯片的管脚较多,占用的面积也比较大。图5.4,5.5,5.6分别为布局布线中的相关截图。其中图5.4为

floorplan后的截图,图5 5为时钟树优化之后显示的平衡结构,图5.6为最终的布局

布线图。

釜!翌翼!篓霉!!!黑羔 一“≥===::。=:翟。

国5.4 noo甲la【1示意幽 幽5.5时钟树平衡结构图

=号鼍霉号孚鼍P翟鼍黑孽罂0

图5.6总体布局布线

。》瀚秽紫4卜一≯。一:≯⋯。—‘—’

图5 7后仿分析结果

后仿的数据进行FFT分析得到的图形如5 7所示,计算得到的sNR为

—!三圳俐剐刚三三刚同

叱电州驯1jj

56 16-bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

98.0378db,由于工艺的实现,布局布线各种原因带来的误差得到的结果与最初的仿

真还是有一定的差距的,但这与我们最初预计的结果基本符合,所以我们可以认为

这个设计是合理的可行的。在前面的设计中系数量化带来的误差是较大的,这可以

作为今后的改进的一点,可以去做进一步的研究。

第六章结束语 57

第六章结束语

现代集成电路器件尺寸不断减小,速度不断加快,集成度不断提高。廉价、高

速的数字集成电路已经能够完成相当复杂的数字信号处理功能和任务。而且,数字

技术具有许多模拟技术不能比拟的优点,例如抗干扰能力强,便于传输、存储无损

失、精度高、多功能等。因此,许多采用传统的模拟方法实现的信号处理任务今天

都由数字技术来实现,以降低设计成本和设计难度。但自然界的信号都是模拟信号,

这就需要完成模数变换和数模变换功能的电路~模数转换器ADCSD数模转换器DAC。

和传统的Nyquist率转换器相比,过采样Sigma-Delta模数转换采用过采样

Sigma—Delta调制技术来实现模数转换,能避免对元器件匹配精度的较高要求,并可

充分利用现代VLSI的高速、高集成度的优点。

近几年来,由于多媒体的发展、无线移动通信设备的高速发展和宽带intemet接

入的需要要求开发出低功耗、高速、高精度ADC,同时尽量采用CMOST艺实现,以

提高系统集成度和降低成本。和其它高性能的ADC,如流水线ADC相比,过采样

Sigma-Delta模数C可以用更简单的电路来实现更高的精度,同时对前置滤波器的要

求也要低得多。因此,通常采用过采样Sigma-Delta模数C来实现上述高性能的ADC。

本论文讨论了利用过采样技术来实现模数转换的原理和方法。针对如何优化电

路结构、提高电路性能作了具体分析和仿真,采用了多级级联的滤波器结构,用以

减少整体的面积。

在第一级处理中提出了采用非递归型的算法,与传统的级联型相比能够减少计

算过程中误差,并且每一级滤波器的工作频率不同。这种高度规则的结构使结构设

计和版图设计变得更加容易。而且降低采样频率有助于尽早的降低工作负载,得到

的功耗为传统型功耗的1/3。

在半带滤波器的设计中采用简便方法,大大减少了工作量,而仍然能保持其特

性满足预定的目标。在已有技术的基础上,利用半带滤波器的冲激响应的对称性,

可以改善滤波器的速率、功耗等性能,更重要的是它使得芯片在半带滤波器部分的

面积与采用其它功能滤波器实现的面积相比较减少了一半。

在算法中非整数的滤波器系数均采用CSD编码实现,与一般的让综合工具去处

理滤波器中相乘除的方法相比,我们采用移位相加的表达式,采用位数从低到高的

加法器来实现,可以减少卷积等运算过程中的移位次数和加法次数,自然也会减少

所需的加法器数目。该设计过程充分降低了硬件复杂度,提高硬件利用效率。这种

设计技术也可以用在其它要求更为严格的数字滤波器中。多频率滤波器可以广泛用

于数字音频、通信、语音处理,以及其它可便携设备。

58 16-bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

由于时间等各方面的原因,本论文还有不少可以继续改进的地方,比如在滤波

器中的加法器部分可以进行加法器的优化以减少面积与功耗,滤波器中的系数量化

中可以采取更好的方法进行整合用以减少对噪声的影响。另外整个工作中对于设计

出来的结果进行相关的验证测试工作比较简单做的不是很充分,需要以后进一步加

强。

致 谢 59

致谢

本文是在导师张义门教授以及张玉明教授、张耀辉研究员的精心指导下完成的。

从论文的选题到论文进展以及定稿的各个阶段,自始至终都得到了老师们的指导,

关怀和鼓励。

感谢张义门老师的热心指导和帮助,他常在百忙的工作之中抽出时间给我回复

邮件,回答问题,张老师丰富的实践经验、渊博的专业知识、务实忘我的工作作风

使我受益匪浅;他严以律己、宽以待人、淡薄名利的人生哲学,让我看到了一种真

正的学者风范。每当我在学习中遇到困难的时候,张老师总是以广博的知识和开阔

的思维为我指明问题的关键所在;每当我在我生活中遇到困难的时候,张老师都会

给我无私的帮助。从张老师身上,我学到了许多科研方法,这对我以后的工作将大

有裨益;张老师严谨的生活态度也将是我以后工作学习生活的榜样。在此,谨向我

尊敬的导师表示最衷心的感谢!

同时我还要感谢一直指导我的张玉明教授。他严谨细致、一丝不苟、精益求精

的工作作风,深深地感染和激励着我。他对学生的理解和宽容常让我心生感动。他

开阔、敏捷、缜密的思维以及对问题的总体把握和对前沿领域的前瞻性思考,激发

了我的创造性思维。

在两年多的硕士研究生学习生活中,宽禁带所这个大集体中给了我很多的帮助,

张义门教授以身作则带领着这个大团队不断进步,他提倡民主、创新、自由的学术

风气,给我们提供了良好的学术工作氛围和舒适的学习环境。同时张老师渊博的知

识、务实的治学态度和对科学事业孜孜不倦的精神也使我受益终身。在这里我惟有

深深地表示谢意。

感谢郭辉师兄、单英艳、刘风梅、卢红利、廖宇龙、苏永富等同学,谢谢他们

营造了一个积极向上、宽松、和谐的良好氛围。他们纯真地友谊将是我一生最难忘

的美好回忆。

感谢实验室的全体老师和职工,感谢我们同一实验室的师兄弟姐妹的关心和帮

助,非常荣幸能和他们一起学习成长,共同度过这段美好而有意义的时光。

最后,我要特别感谢我的父亲、母亲、好友侯佳信,感谢他们对我学业的理解、

支持和鼓励,使我能够顺利完成学业。 .

回想过去的两年多时光,难忘师长、同学和亲友们的关怀和鼓励,再次向所有

伴随和帮助我走完硕士历程的所有人表示诚挚的谢意。

参考文献 6l

参考文献

【1]E.B.Hogenauer.An economical class of digital filters for decimation and

interpolation【J].IEEE Transactions on Acoustic, Speech and Signal Processing.

1981,V01.ASSP-29.ppl55—162.

[2]T.Saramaki,H.Palomaki,H.Tenhunen.MultiPlier-free decimators证m efficient

VLSI implementation for Sigma-Delta A/D converters.IEEE Workshop on VLSI

Signal processing(Monterey.CA).Nov 1 988,PP 523-534.

[3]J.Candy and G.Temes.Oversampling methods for A/D and D/A conversion.Over

sampling Delta-Sigma Data Converters, IEEE,1992,ppl-25.

【4]K.C-H.Chao,W.L.Lee, and C.G.Sodini, A Higher Order Topology for

Interpolative Modulators for over sampling A/D Conveners.IEEE Tram.On Circuits

and Systems,March,1990,V01.37.ppl08-123.

[5]R.GHarber, SC Bass, GW Neudeck.VLSI implementation of a fast rank

orderfiltering algorithm.Preceding of Intemational Conference a coust Speech Sign

al Processings.1985,ppl396—1399.

[6】 Richard, Schreier and Gabor C.Temes.Understanding DeRa-Sigma Data

Conveners.Hoboken:John Wiley&Sons.Inc, 2005.pp l 1 0-145.

【7】Clifford E.Cummings。State Machine Coding Styles for Synthesis.IEEE.2001.9.

[8]IEEE Standard Hardware Description Language Based on the Verilog Hardware

Description Language, IEEE Computer Society,IEEE,New Yorke,IEEE Std,

ppl364—1995.

[9】9 Behzad Razavi.Design ofAnalog CMOS Integrated Circuits(模拟CMOS集成电路

设计,陈贵灿,程军等译).第二版.西安:西安交通大学出版社, 2002.PP

291—305.

[10】黎烨等.一种用于过采样sigmadelta AD转换器的抽取滤波器.微电子学.

No.6, 2004, V01134.

[1 1】Synopsys.Guide to HDL Coding Styles for Synthesis.reference.1999.10

[12】Synopsys.Design Compiler Reference Manual.reference.1999.10.

[1 3】D.A.Kerth.D.B.Kasha,T.G.Mellissionos.A 1 20dB Linear Switched.capacitor

Delta-Sigma Modulator.ISSCC Digest of Technical Papers.Feb.1994,

PP.196—197.

[14】王金明.VerilogHDL程序设计教程.第一版.北京:人民邮电出版社,2004.

62 16.bit 100Ksps Sigma.Delta模数转换中数字滤波器的设计

PPl41’157.

[1 5】YiqunXie.Hi曲一Speed Decimation Filter for a Delta-Sigma Analog—to Digital

Converter.University of California:Dissertation for the degree of Doctor of

Philosophy.Berkeley, 1 998.

【1 6]LYNathawad,Ryohei Urata,BA.Wooley.A 3b 40GS/s ADC—DAC in 0.12larn

SiGe[J].ISSCC Dig Tech.Papers, Jun, 2004.

[1 7]J.G.Proakis.Introduction to Digital Signal Processing.NEW YORK:Macmillan

Publishing Company, 1989.pp341—351.

[1 8]Y.Geerts, M.S.J.Steyaert and W.Sansen.A High-performance Multibit

sigrnadelta CMOS ADC.IEEE Journal of Solid—State Circuits.Dec, 2000,

V01.35.PP.1 829—1 840.

[1 9]B.Razavi.Principles of Data Conversion System Design.IEEE Circuits and

Systems Society.1994,ISBN.0-7803—1093-4.

[20]夏宇闻.Verilog数字系统设计教程.第二版.北京:北京航空航天大学出版社,

2003.ppl77~202.

[21】 张欣著.VLSI数字信号处理.设计与实现.北京:科学出版社,

2003—07.ppl23—128.

[22】胡广书.数字信号处理理论、算法与实现.第二版[勘咽.北京:清华大学出版社,

2003.PP 95—251.

[23] A.v.奥本海姆,R.w.谢弗著.离散时间信号处理.第二版.西安:西安交通大学出

版社,2004.ppl56.158.

[24】J.C.Candy,B.A.Wooleyand0.J.Benjamin,A voice band codec witll di百tal

filter.IEEE Trans.Commun, v01.Commun,june,1 98 1, v01.COM一

29.PP.8 1 5-830.

[25】(美)Jorm P.Uyemura著.周润德译.超大规模集成电路与系统导论.第一版.北

京:电子工业出版社, 2004.1.pp98.359.

【26】盖鹏翱等.CIC滤波器的原理及FPGA实现.无线通信技术.2005, 第四期.

[27]A.Ghazel,L.Naviner, and F.Moatamri.FPGA-based architecture of decimation

filters for multistandard wireless transceiver.Tunisia:Smart Systems Devices,

Hammamet.Mar, 200 1.

[28]HengfangZhu,XiaoboWu,Xiaolang.Low-power and Hardware Efficient

Decimation Filters in Sigma—Delta A/D Converters.Electron Devices and

Solid—State Circuits 2005 IEEE Conference.19—21,Dec.2005,pp665—668.

[29]Cadence.Encounter User Guide.Version 4.Cadence Reference Book, 2004.

[30]李瑛,张盛兵等.Verilog Testbench设计技巧和策略.计算机工程与应用.2003

参考文献 63

V01.39 No.10.

[31】EDA先锋工作室.FPGA/CPLD设计工具)(ilill)【ISE使用详解.北京:人民邮电

出版社,2005.pp26—253.

[321[美]Michael D.Ciletti著,张雅绮,李锵等译.Verilog ItDL高级数字设计.第

一版.北京:电子工业出版社.2003.pp453—489.

研究成果 65

研究成果

在硕士学习期间发表的论文

[1】丁晓燕,张义门,张耀辉.((16-bit 100Ksps Sigma-Delta ADC中CIC滤波

器设计》.第十届科协年会集成电路设计与制造分会.中国郑州,2008年9

月.

硕士期间参与的项目

[1]16-bit 100Ksps Sigma-DeltaA/D中数字滤波器的设计.

[2]高速CMOS图像传感器时序控制电路的设计.

附录A 67

附录A

整体性能的matlab代码以及对得到的时域结果进行频域分析的代码

(1)性能仿真matlab代码:

OSR=128;

H=synthesizeNTF(3,OSR,1);

N=81 92宰4水4;

fB=ceil(N/(2宰OSR));

f=200;

u=O.5木sin(2宰pi术f/N木[O:N-1]);

v=simulateDSM(u,H);

a-1;

b=[1 4 6 4 1];

yl=filter(b,a,V);

yl_d=zeros(1,N/2);

for k=-I:N陀

yl_d(k)=yl(2木k);

end

y2=filter(b,a,y1_d);

y2_d---zeros(1,N/4);

fork=l:N汹

y2_d(k)--y2(2‰);

end

y3=filter(b,a,y2:_d);

y3_d=zeros(1,N/8);

fork=l:N/8

y3_d(k)=y3(2木k);

end

y4=filter(b,a,y3—由;

y州=zeros(1,N/16);fOrk=l:W16

yU(k)=y4(2木k);end

68

一 !!:旦兰!竺竺坠竺璺!璺竺!:里!!竺堡鳖堑垫!垫兰鲨鎏墨塑堡盐 一-————●————-————_———__———————————————————-_————————-—l———————————一。

y5-filter(b,a,y4_d);

y5_d=zeros(1,N/32);

for k---1:N/32

y5一d(k)=yS(2书k);

end

d=fdesign.halfoand(’n,tw’,1 0,.04);

hd=firls(d);

yh 1=filter(hd,yS d);

yhLd--zeros(1,N/64);

for k=l:N/64

yhl d(k)=yhl(2母k);

end

d=fdesign,.halfband('n,tw’,1 0,.04);

hd=firls(d);

yh2=丘lter(hd,yhl.d);

yh2 d-=zeros(1,N/128);

for k=l:1'4/128

yh2_d@》=yh2(2木k);

end

spec--m(yh2_d.*::hann(N/128))/(N/(128木4));

plot(dbv(spec))

yfin--abs(spec);

sum=0;

for k=l:N/(OSR'。2、)

sum=sum+yfin(k)'^2;

end

S啪

signal=yfin(D^2+yfm(f+1)^2+蜘re(r+2)^2

SNR=signal/(sum—signal);

SNR=1 0禾log l 0(SNR)

(2)对结果进行Matlab处理的代码:

clear all;

fid=fopen(I'modelsim.txt’,’r’);%read in the result ofmodelsim

f=l 5;%the frequency ofthe input signal

附录A 69

i:o;

while(fgetl(fid卜一1)

i=i+1;

end

frewind(fid);

a=fscanf(fid,%df,【3恤f]);%inf:Read to the end ofthe file.

a=aI;

b=a(:,3)’;

%w=ds_hann(i);

w--ds_hmm(i)’;

A=b.半w.;

x=abs(fft(A))/i;

x--x.^2;

%y=dbv(x);

y=lO水loglO(x);

plot(y);

x--x(1:(汜));

x(1:3)=median(x(4:10));

[smax,index]--max(x);

signal=sum(x((index一2):(i11deX+2)));

noise=(sum(x(1:1 oo))-signal)/1 00水i/2;

SNR=10木l091 0(signal/noise)

附录B 71

附录B

整个设计的verilog代码描述如下,其中包括时钟树部分,

半带滤波器部分,以及顶层模块的描述。

(1)时钟树代码描述:

、timescale 1 llS/1 Ils

moduleclk._仃ee(clk,rst—n,clk一2,elk一4,elk一8,clk一16,

input elk,rst_n;

outputcat.2,clk一4,elk一8,clk一1 6,clk_32;

reg clk一2,clk一4,elk一8,elk一1 6,clk_32;

reg count_4;

reg[1:O]count_8;

reg[2:0]count__16;

reg[3:0]count_32;

//⋯一一一clk——2⋯⋯⋯一-always@(posedge elk or negedge rst n)

if(1rst_n)

clk_2<=l'b1;

else

clk_2<=!clk_2;

∥⋯⋯⋯⋯一clk——4~⋯⋯⋯always@(posedge clk or negedge rst_n)

if(!rst_n)

count_4<=1"00;

else begin

if(count_4一l'b1)count__4<=l tbO;

else.

count_4<=count_4+1'b 1;

end

always@(posedge clk or negedge rst_n)

if(!rst_n)

CIC滤波器部分以及

cm_32);

72 16一bit 100Ksps Sigma—Delta模数转换中数字滤波器的设计

elk 4<=1.b1:

else begin

if(count_4—1b1)

clk 4<=!clk 4:

else

elk 4<=clk 4:

end

endmodule

(2)项层模块:

module top(rst_n,elk,cic—in,filter_out);

input rst_n;

input elk;

input cic;

output filter_out;

clk—tree cLks(.clk(clk),

.rst_n(rst_n),

.clk_2(clk_2),

.clk_4(clk 4),

.cⅡ已8(cⅡ乙8),

.clk_l 6(clk_l 6),

.c珏乙32(clk_32),

.clk_64(clk_64),

.clk_1 28(clk_128),);

cic一1 cic_top_l(.cic_in(cic_in),

.cic 1 out(cic 1 out),

.clk(clk),

.rst_n(rs-));Half—band hb top(.hb_in(cicout),

.hb_clk(clk_64),

.hbout(hbout 1));

(3)cic滤波器verilog部分代码:

module Adderl—l(delay,in,adder_out);

附录B 73

input delay,in;

output[1:0]adder_out;

assign adderout=del∞,+i11;

endmodule

module cic__l(tic_in,cic一1一out,elk,rst_n);

input cic_in;

output[4:0]cic一1一out;

input elk,rst_n;

wire[4:0]cic一1一out;

reg delay_l一1,cicin reg;

reg[1:0]delay_lj;

reg[2:0]delay_l-3;

reg[3:0]delay_l_4;

wire[1:0]adder 1_1;

wire[2:0]adder_l_2;

wire[3:0]adder 1_3;

Adder一1—1 adderl一1(.delay(delay 1—1),

.in(cic in reg),

.adder__out(adder_l-1));

Adder_l_2 adderl_2(.delay(delay_l一2),

.in(adder_l_1),

.adder_out(adder 1—2));

Adder一1—3 adderl一3(.delay(delay 1_3),

.in(adder_l-2),

.adder_out(adder_l_3));

Adder一1—4 adderl-4(.delay(delay_l_4),

.in(adder 1 3),

.adderout(cic 1 out));

always@(posedge elk or negedge rst_n)

if(!rst_n)begin

tic in reg<=l"00;

delay_l-1<-1屯O;

delay_Ij<=2奄O;

74 16-bit 100Ksps Sigma.Delta模数转换中数字滤波器的设计

delay_l_3<=3tbO;

delay_lj<_4bO;

end

else begin

cic in reg<=cic_in;

delay_l—.1<=cic——in——reg;

delay_l__2<=adder 1j;

delay 1—3<=adder一1j;

delay_l_4<=adder 1—3;

end

endmodule

(4)Haliband滤波器部分的verilog代码:

module hb_filter(clk,rst—n,cic—filter—out,hb__filter_out_.1);

input elk,rst_n;

input[20:O]cic_filter_out;

output[29:0]hb_filter_out_1;

reg[29:0]hb_filter_out__l;

reg f21:01 hb in 1:一L J 一一,

reg[29:0]el,c2,c3,e4,e5,e6,c7,c8,c9,e10,el 1,c12,c13,c14,

c15,

c16,c17,c18,c19,c20,c21,c22,c23,c24,c25,c26,

e27,c28,c29,c30;

reg[22:0]sumo_30,sum2—28,sum叩6,sum6-24,sum8—22,sumlo-20,

suml2-18,

suml4_16;

reg[52:0]productoj0,product2_28,product4_26,product6_24,product8_22,

productl0●0,productl2—18,productl4_16,productl5

reg[5 5:0]sum—all,sum all temp;

assign hb_filter in 1={{cic_filterout[21]),cic_filterout};

always@(posedge elk or negedge rst_n)

if(!rst_n)begin

{c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,e11,c12,c13,c14,

c15,

c16,C1 7,c1 8,e19,c20,c21,c22,c26,c24,c25,c26,c27,

一堕墨里——————旦c28,c29,c30}<=30'b0;

end

else begin

c1<=hb——filterin_l;

c2<=cl;

c3<=c2;

c4<一c3;

c5<--c4;

c6<=c5;

c7<=c6,

c8<=c7;

c9<=c8;

clO<=e9;

cl l<=clO;

c12<=cl 1;

c13<=c12;

c14<=c13;

c15<=e14;

c16<=c15;

c17<=c16;

c18<=c17;

c19<=c18;

c20<-=c19;

c21<=c20;

c22<=c21;

c23<=c22;

c24<=c23;

c25<=c24;

c26<=c25;

c27<=c26;

c28<=c27;

c29<=c28;

c30<=c29;

end

76 16.bit 100Ksps Sigma.Delta模数转换中数字滤波器的设计

always@(posedge clk or negedge rstn)

if(!rstn)begin

{sum0L30,sum2—28,sum4_26,sum6—24,sum8—22,

suml0 20,suml2 18,suml4 16}<=23"00;

end

else begin

sumO 30<=hb filter in 1+c30;

sum2 28<=c2+c28;

sum4 26<=c4+c26;

sum6-24<=c6+c24;

sum8 22<=c8+c22;

suml哩O<=c10+c20;suml2——18<=c12+c1 8;

suml4 16<=c14+c16:

end

||~⋯⋯⋯-multiplication with csd

always@(posedge elk or rst_n)

if(1rst__n)

begin

{productO_30,product2_28,product4__26,product6_24,

product8_22,productl0 20,productl2-18,productl4_16,productl5}<=53'b0;

end

else begin

productO_30<,=((((((s啪0j0<<3)+(sum0-30<<6))+(sumo_30<<1 O))+(sumo-30<<12))+

(surnO__30<<l 5))一(((sumo_30<<1)+(sumO_30<<1 7))+(sumO_3仇,<l9)));

product2_28<=(((((sum2_28+(sum2_28<<2))+((sum2_28<<9))+(sum2_28<<1 2))))+

((surn2_28<<l 8)+(sum2_28<<20)));

product4_26<=(((((sum4_26<<4)+(sum4_26<<8))+(sum4_26<<l O))+(surn4_26<<14))一

(((sum4_26<<6)+(sum4_26<<1 9))+(sum4_26<<21)));

product6 24<=((((s啪6.24<<1 3)+(sum6_24<<1 9))+(sum6_24<<22))-(((sum6_24<《)+

(sum6_24<<8))+(s啪6_.24<<11)));product8 22<=(((s啪8-22<<1 6)+(sum8_22<<1 8))-((((((sum8-22<<2)+(sum8_22<<5))

+(sum8__22<<9))+(s啪8j2<<1 1))+(sum8_22<<14))+(sumS_22<<23)));

productl0_20<=((((((sumlO_20<<6)+(suml0_20<<14))+(suml0_20<<18))+(suml0_20

附录B 77

<<20))+(s吼10_20<<24))-((((s啪10一20<<2)+(suml0_20<<10))+(sumlO_20<<12))+(suml哩o<<22)));productltl8<文(((((suml2_18<<3)+(suml2_18<<7))+(suml2_18<<9))+

(suml2—18<<13))+(suml2_18<<23))一((((s啪12_18<<5)+(suml2-18《18))+(sum l 2—1 8<<20))+(sum 1 2-1 8(<25)));

produetl4.16<=((((((((s啪14_16)+(suml4_16<<13))+(suml4_16<<16))+(suml4-16<<20)))+(suml4_16<<25))+(surnl4-16<<27))一((((s啪14_16<<4)+(suml4.16<<7))+(suml4_16<<lO))+(suml4-16《18)));

productl 5<=(c 15<<27);

end

always@(posedge elk or rst n)

if(!rstn)begin

sum_all<=53"00;

sum all temp<=53"00;

end

else begin

sum_all<=(((productl5+productl4_16)+(productl2 18+productlO-20))+(0roduct8_22+

product6_24)+0roduct4_26+produet2_28))+product0_30);sum all temp<=(sum_all>>30);

end

always@(posedge elk or rst_n)

if(!rst_n)

hb_filter_out_1<=30"00;

else begin

hb——filter——out——l<=sum——all——temp[55:27];end

endmodul e

16-bit 100Ksps Sigma-Delta模数转换中数字滤波器的设计作者: 丁晓燕

学位授予单位: 西安电子科技大学

相似文献(1条)

1.学位论文 詹陈长 低功耗音频ΣΔ模数转换器研究与设计 2007 随着半导体器件尺寸的缩小,片上系统成为低成本设计的发展趋势,模数转换器在片上系统中作为模拟信号和数字信号的接口,发挥了越来越重要

的作用。∑△模数转换器将过采样和噪声整形技术结合,能实现奈圭斯特转换器所难以做到的高精度数据转换,在众多模数转换器结构中占有重要的一

席之地。随着半导体工艺技术的迅速进步,∑△模数转换器也正在朝着低功耗、高精度的方向发展。

本文设计了一个针对数字音频应用的低功耗、高精度∑△模数转换器,其精度为16比特,信噪比为97dB,有效信号带宽为20KHz。围绕该模数转换器

的研究与设计,开展的主要工作有:设计了改进型单环三阶单比特∑△调制器,采用前馈和局部反馈相结合,保持了良好的噪声整形性能,同时降低了

积分器的输出信号幅度,从而降低了功耗;采用开关电容技术,在0.35um标准CMOS工艺下设计并用HSPICE在多工艺角下仿真通过了调制器的详细电路

;设计了多级级联型降采样数字低通滤波器,其主要部分通过了RTL行为级验证。

在创新性方面,本文在前人工作的基础上,主要取得了如下成果:改进了深亚微米混合信号电路设计流程,其中主要是提出了在电路设计验证中采

取SPICE搭建考虑非理想特性的运放、开关、比较器的宏模型,从而在适量增加仿真时间的基础上提高了行为级验证的精度;在模数转换器的系统行为验

证中,提出了“数据扩展法”,能够以较少的采样点数获得较精确的指标评估;在电路设计方面,提出并设计了一种新颖的带隙基准参考源,它在控制

部分仅采用单个PMOS晶体管,从而避免了传统结构中双晶体管的失配带来的误差,并且由于采用零温度系数电流产生参考电压,因而保持了在低电源电

压下工作的特性。

本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y1556756.aspx

授权使用:西安电子科技大学(xadzkj),授权号:541c3717-7cf7-47ec-a3a1-9da3010af56c,下载时间:2010年

6月28日