VLSI

2024-06-08

VLSI(精选6篇)

VLSI 篇1

0 引言

自1974年N.Ahmed等人提出了离散余弦变换(Discrete Cosine Transform,DCT)算法后,很多学者对DCT算法的实现进行了研究。陈禾等人[1]总结了前人的研究,将DCT算法的结构归纳为5类,其中基于乘法器的DCT结构一直是很多学者研究的对象,具有代表性的有W.H.Chen、LLM[2]、AAN[3]等算法。LLM算法将1-D DCT所需的乘法器个数减小到理论最小值11个。

在编解码器应用方面,Xvid的MPEG-4编解码器使用LLM算法的12个乘法器形式,而很多JPEG编码器用AAN算法。李晗等人[4]利用加法和移位器代替乘法器,在提高频率上取得了比较好的效果,但是即使将其运用到LLM算法中,2-D DCT仍需要使用184个加法器。

本研究通过引入整数变换矩阵和增加缩放模块,设计面积小、速度快、频率高的且可复用多个标准的2-D DCT。

1 离散余弦变换DCT原理

离散余弦变换DCT,是指对一帧图像以块为单位(通常是8×8或4×4像素块),通过2维DCT变换将图像从空间域变换到频域的过程,目的在于去除像素间的相关性。

二维N×N图像块的DCT变换的定义[5]如下:

2 二维DCT的VLSI结构优化设计

2.1 算法优化

整数矩阵的引入,一方面有效地减少计算量,另一方面由于Ef的运算被放到量化端和量化同时考虑,其矩阵系数由量化步长QP的大小决定。所以H.264标准对于DCT的处理和别的标准不同,很难用于其他标准中,即不具有普遍性。笔者考虑将Cf矩阵引入,得到Ef矩阵:

其中,a,b,c,d,e,f都是浮点数,由于在VISI中运算不方便,将其转化为定点数,经过扩展放大216得到a=8 192,b=7 740,c=10 486,d=7 346,e=9 777,f=13 159。

如果直接乘以缩放矩阵式(3)的64个元素需要64个乘法,耗费时钟多,面积大。本研究考虑引入流水线技术,具体有以下两种方案:

(1)通过在乘法器前面增加选择器可以压缩到8个乘法器。例如,如果2-D DCT按列输出,则每一列相应的元素都乘以上面矩阵中对应列的相应元素,由于对称性,可以在让每个乘法器在3个数之间选择,送出乘数,进行相乘,如第1个乘法器在a,b,c之间切换,如果当前输入列为第1列或者第4列,则输出到第1个乘法器的一个乘数为a,另一个乘数为相应列的第

写成矩阵形式为F=AfAT,其中A矩阵为浮点数矩阵,在H.264 High Profile标准中,将A阵进行整数化,矩阵形式等效为:Y=(CfXCfT)Ef,其中Cf矩阵[6]为:

1个数据,如果是第2、4、6、8列,则选择相应的乘数为b,如果是第3、7列则选择乘数为c。同理,其他6个乘法器类似。

(2)如果对频率要求比较高,考虑到乘法器的延迟比较大,将乘法器用加法器和移位寄存器替代。根据3种乘数并行计算出乘法结果。例如,由于第2维DCT送出的某一列的第1个像素结果,有可能进行的乘法是“×a”、“×b”、“×c”。为了取代这个乘法器,先用加法器和移位器取代这些乘数,如:b=213-29+26-22。这样可以通过加法和移位来计算出当前数据经过3种乘法之后的结果。通过计数当前列数即可选出最后的结果。由于每个系数最多有3个加法器即可实现,因此,方案1需要的一级乘法器延迟可以变成2级加法的延迟,提高了工作频率。取代8个乘法器所需加法器数量如表1所示。

由表1可知,每组改成2级加法提高工作频率后,用66个加法器取代8个乘法器。针对不同的应用需求(频率、面积)可以考虑不同的方案。

2.2 算法验证

对以上算法进行C语言建模,并将其移植到Xvid的MPEG-4的开源代码[7]编码器的DCT中。在不改变其他模块(包括IDCT)的前提下,通过输入不同的YUV原始视频序列(格式为4:2:0),先用标准代码进行编码,再用改进后的代码进行编码,分别通过Xvid的MPEG-4解码器进行解码。最后分别将解码得到的YUV文件和原始YUV文件,在亮度Y、色度Cb和Cr分量上进行PSNR值对比。统计每个序列300帧中每种成分的均值和所有序列在Y、Cb、Cr上的均值。本研究所用YUV原始视频序列均为标准测试序列,图像大小为CIF,比特率设为512 Kbps时统计所得结果如表2、表3所示。

YUV序列1~9视频序列分别是akiyo,coastguard,container,mother_daughter,stefan,tempete,flower,vectra,footbal,帧数为300。表中Y0,Cb0,Cr0分别代表Xvid标准算法编码所得视频序列的亮度Y和色度Cb,Cr分量的PSNR值,而Y1,Cb1,Cr1,Y2,Cb2,Cr2分别为方案1和方案2在各分量的PSNR值。

两种方案相对于Xvid标准算法信噪比变化如表4所示,数值如果为正,表明PSNR值有所改善,如果为负,表明PSNR值有所损失。由表4可以看到本研究的两种方案图像质量损失不超过0.015 d B,而且方案2显示出本研究算法在色度分量上分别改善了0.004 d B和0.015 d B。经过大量统计,结果表明本研究提出的算法保证了图像质量,精度满足要求。

3 二维DCT的硬件实现

3.1 整体结构

本研究采用行列分解法进行二维DCT的设计,其硬件实现框图如图1所示。

整个2-D DCT采用流水线设计,每个时钟输入为8个数据,输出也是8个数据,中间除了流水深度需要的时钟外,不需要任何多余的等待,速度快。同时可以根据不同的应用需求以及对频率和速度要求更改流水节拍,实现速度和频率的最优化。

3.2 一维DCT的实现

这里一维DCT要实现的是式(2)中的Cf矩阵,其硬件实现如图2所示。硬件实现的时候可以设计成4级流水或2级流水。

8×8块的一行数据经过4级加法器之后输出。如果对频率要求比较高,考虑用4级流水,图2的1、2、3、4分别为1D-DCT的对应4级加法,在第3级的加法中上半部分的数据需要进行寄存以保证数据的同步。如果需要时钟周期少,则用2级流水,图中5和6分别对应2级加法。图中的“”为右移操作。

为了保证数据不溢出,对于第1级一维DCT输入的数据精度为9 bit,输出数据精度为13 bit。对于第2级一维DCT输入的数据精度为13 bit,输出为17 bit。

3.3 转置的实现

为了保证速度,流水作业不能被打断,如果用单口RAM乒乓操作则实际所需要的RAM数为16个深度为1、宽度为104 bit的RAM,所以无论从RAM的产生还是面积的角度来考虑都不现实。A.Aggoun等人[8]使用2组三角矩阵堆实现了矩阵转置的功能,通过控制8个8选1选择器来连接,这种结构需要72个寄存器,流水的深度为9 clk。李晗等人实现4×4块只用了16个寄存器,节省了面积和时钟。

本研究使用64个寄存器的寄存器组进行转置的硬件实现方案,如图3所示。图中每个方框(如r00)都是由一个选择器和一个寄存器组成。举例说明,如果输入的数据是按照8×8的列顺序输入,依次是x0,x1,…,x7。在第1个时钟将x0~x7依次存入寄存器r70,r60,…,r00中,第2个时钟,第2列的寄存器将第一列r70~r00的数据依次存入r71~r01中,而r70~r00的数据还是从输入端取数据存入。如此执行下去,直到第8个时钟,整个8×8块的数据已经存入寄存器组中,此时寄存器r77,r76…r70的值已经有效,依次从中取出数据,经过选择器按顺序排好输出,此时输出的是上个矩阵的第1列。在第9个时钟,r77~r70从r67~r60中取数据并且更新寄存,而r67~r60从r57~r50中取数据并且寄存,其他行的数据类似操作,唯独r07~r00分别从输入端取数据x0~x7并且寄存。第16个时钟时第2个8×8块的数据已经寄存完毕,可以依次从r77~r07的寄存器中取数据。如此流水下去,便完成了行列转换,流水深度为8 clk,中间不需要等待,每个时钟每个寄存器都处于工作状态,提高了寄存器的利用率,并且节省了面积,提高了速度。

3.4 缩放模块的实现

(1)方案1:使用乘法器。

采用方案1的缩放模块的硬件实现如图4所示,使用8个乘法器来实现。通过8个3选1选择器分别选择不同的乘法器系数,control通过计数确定当前输出的数据是8×8块中的第几列。如果是第1、5列,则8个选择器依次选择8 192,7 740,10 486,7 740,8 192,7 740,10 486,7 740。如果是第2、4、6、8列,即依次选7 740,7 346,9 777,7 346,7 740,73 46,9 777,7 346。如果是第2、4、6、8列,则依次选择10 486,9 777,13 159,9 777,10 486,9 777,13 159,9 777。本方案的延时主要是1级乘法器。

(2)方案2:使用加法器和移位器代替乘法器。

采用两级的加法器和移位器代替乘法器,提高电路的工作频率,如图5所示。第1个数据经过并行的3路输入,每一路都由移位器和加减法器组成,通过control模块对输入的数据所在8×8块的列数进行选择,以面积换速度,通过3路并行工作,最后控制选择输出。本方案的延时主要在2级加法器。

两种方案都需进行缩放,由于这些系数都经过放大216倍来保证中间计算值的精度,最后DCT结果需要经过右移16 bit,需要注意数据的截断。

3.5 性能对比

本研究用Verilog HDL语言描述电路,分别用VCS和DC进行了仿真和综合,下面将本研究与其他文献所设计的2-D DCT进行性能对比。2-D DCT算法使用乘法器和加法器个数对比如表5所示。

由表5可见,本研究提出的2种方案计算复杂度比其他文献都小。其中,将文献[4]应用于LLM的24个乘法器和64个加法器2D-DCT方案需要184个加法器。若应用于理论上最低乘法器(11个)的结构时,也需要168个加法器。AAN算法中1D-DCT蝶形中用了5个乘法器,但每次一维DCT后要乘以8个缩放系数需要额外的6个乘法器,或二维DCT后乘以一个缩放矩阵,对于除JPEG外的其他标准不适用。

ASIC设计实现2-D DCT性能对比如表6所示[9,10],本研究所设计的2-D DCT完成单个8×8像素块的周期被降到20个时钟频率能达到510 MHz。在90 nm CMOS工艺下,DC综合最高可以达到840 MHz。若数据保持流水送入,则只需要经过3.09μs可完成一帧高清1 080 pixels图像的数据处理,满足工程应用需求。

FPGA原型验证采用的器件为Xilinx Virtex-5XC5VLX220-1 FF1760,综合工具采用Xilinx ISE。对于2-D DCT,计算周期为20 clk时,方案1综合频率为180 MHz,方案2为200 MHz,周期为25 clk时方案2为290 MHz。

4 结束语

本研究旨在通过设计适用于MPEG-4,H.263,JPEG,H.264等编码器芯片的快速8×8 DCT的IP核,研究并设计了适合于VLSI实现的快速2-D DCT结构,利用行列分解法,通过引入整数变换矩阵、增加缩放模块实现,经算法验证满足精度要求。转置的实现方案提高了寄存器的利用率,并且减小了流水深度。提供了2种实现方案实现缩放模块,可以根据不同的应用需求在面积、速度、频率之间权衡。采用流水线设计,并减小了流水深度,提高了速度和频率。具有灵活性和实用性。

用Verilog HDL进行硬件设计,并用VCS进行了仿真,在90 nm CMOS工艺下电路综合频率达到840 MHz,FPGA模拟验证频率达到290 MHz,完全满足设计要求。与其他文献2-D DCT算法结构相比,本研究提出的结构具有面积小、速度快、频率高的特点。不仅可以很好地应用于MPEG-4和H.263和JPEG等标准,还将H.264 High Profile中的8×8整数DCT进行了复用,是一个基于多标准的2-D DCT的IP核,可以很好地应用于支持多标准的编码器中。

摘要:针对多标准图像视频编码器中二维离散余弦变换的复用问题,设计了适用于MPEG-4,H.263,JPEG,H.264 High Profile编码器芯片的快速8×8 2-D DCT IP核,并完成了RTL设计、仿真和FPGA原型验证。通过引入H.264 High Profile 8×8整数变换矩阵和增加缩放模块,完成了多个标准中2-D DCT的复用。经Xvid MPEG-4编解码器验证,满足精度要求。设计采用流水线技术,并优化了速度和频率,在90 nm CMOS工艺下频率达到840 MHz。研究结果表明,该技术能很好地应用于多标准编码器中。

关键词:离散余弦变换,多标准图像与视频编码,JPEG,MPEG-4,H.264

参考文献

[1]陈禾,毛志刚,叶以正.DCT快速算法及其VLSI实现[J].信号处理,1998,14(A12):62-70.

[2]LOEFFLER C,LIGHTENBERG A,MOSCHYTZ G S.PracticalFast 1-D DCT Algorithms with 11 Multiplications[C]//Int ConfAcoustics,Speech and Signal Processing.Glasgow:[s.n.],1989:988-991.

[3]ARAI Y,AGUI T,NAKAJIMA M.A fast DCT-SQ schemefor images[J].Transactions of Institute of Electronics,Information and Communication Engineers,1988,E71(11):1095-1097.

[4]李晗,孙义和,向采兰.二维离散余弦变换及其逆变换的VLSI实现[J].微电子学,2008,38(3):326-329.

[5]毕厚杰.新一代视频压缩编码标准—H.264/AVC[M].北京:人民邮电出版社,2005:112-114.

[6]GORDON S,MARPE D,WIEGAND T.Simplified use of8×8 transforms[S].JVT Doc,JVT-K028,Munich,2004.

[7]XVID MPEG-4 VIDEO CODEC[DB/OL].[日期不详].www.xvid.org.

[8]AGGOUN A,JALLOH I.Two-dimensional DCT/IDCT ar-chitecture[J].IEEE Proc.Computer Digital Technolo-gy,2003,150(1):2-10.

[9]KURODA T.A 0.9 V,150 MHz,10 mV,4 mm2,2-D dis-crete cosine transform core processor with variable threshold-voltage(VT)scheme[J].IEEE J.SSC,1996,31(11):1770-1779.

[10]KRISHNAN R,GANGWAL O P,EIJNDHOVEN J,et al.Design of a 2D DCT/IDCT Application Specific VLIW Pro-cessor Supporting Scaled and Sub-sampled Blocks[C].16th International Conference on VLSI,2003.

谈VLSI在通信系统中的应用 篇2

超大规模集成电路 (VLSI) , 是几毫米见方硅片上集成的上万甚至上百万晶体管、线宽1微米以下集成电路。使用一定的工艺能够将电路需要的晶体管、二极管、电阻等电器元件相互连接在一小块或者几块介质上, 并封装在管壳内, 形成具有需要电路功能的微型结构, 所有元件新城结构上的整体, 减小了电路的体积, 是电子元件小型化的重要措施。VLSI在通信系统中的应用, 能够大幅度减小通信设备的体积和功耗, 是通信设备小型化必要的技术手段, 研究VLSI在通信系统中的应用, 是非常必要的。

1 实时数字信号处理的 VLSI 实现

VLSI实现是从单纯算法逐渐转向实用的必要途径, 从一维走向多维, 从静态走向动态。高速实时信号处理的关键在于能够提供高性能的专用数字系统, 专用数字系统的实现, 则高度依赖VLSI。

最直接的提高器件运行速度的方法是提高时钟频率, 但是时钟频率的提高要求半导体物理和工艺的重大突破, 器件速度的提高难以满足现代数字信号处理技术的要求, 所以采取并行处理结构, 大幅度提高信号处理能力, 才是可行性较高的方案。

并行处理是动用多个运算单元进行同一任务处理的工作方式, 主要使用空间重迭相对应的任务分配法和时间重迭运算法进行任务分配。并行处理技术并不是数字信号处理中的新技术, 但是VLSI中并行算法的结构需要和VLSI技术相适应才能真正实现并行计算, VLSI技术队算法结构设计产生的约束是需要克服的主要技术问题。并行处理技术主要有三个不同的结构层次, 第一级是将算法或者运算分解成为若干运算模块, 运算系统同时处理多个运算模块, 第二级并行使将运算模块内部的处理单元分解, 进行并行运算或者流水作业, 三级并行则是同时处理每个字的每个位, 这一级并行已经实现。

1.1 脉动阵列处理器

脉动阵列是按照一定的拓补结构形成的阵列处理器, 使用简单的通信控制结构和流水线传递方式, 将整体数据迭代之后, 采用局部甚至临近PE之间通信, 阵列和外界沟通主要通过边界PE完成, 按照同步方式运作。脉动阵列基本运行原理如图所示:

这种阵列形式具有明显的模块化趋势, 是实现VLSI的重要基础。

脉动系统工作和人体血液循环类似, 数据有节奏的进入脉动阵列, 经过PE处理之后流出。使用VLSI做并行处理时会出现系统I/O能力和运算能力的不平衡, 虽然芯片运算能力, 很强, 但是数据的I/O通信能力却不能与之匹配, 导致系统吞吐率不高, 而脉动阵列中的数据在时刻运用, 流动过程中也得到了应用, 实现了运算速率和I/O带宽之间的协调, 所以脉动阵列是提高VLSI并行处理I/O矛盾的主要措施。

数字信号处理和图像处理运算运算量大, 是运算首先算法, 而现代信号处理中为了最求更高性能使用的直接优化的代数方法复杂性甚至达到了O (N4) , 另在实时计算机视觉处理系统中, 对每个像素平均进行10次运算则要求系统运算速率要达到10ops/pirelx (512x512) pirel/framex1000frames/s=MOPS。运算同时具有归整性、迭代性和局部数据相关性, FIR/IIR滤波、线性变化和矩阵乘法能够转化为内积运算:

每次迭代运算都是前一次乘法的累加, 局部数据相关性主要表现为数据传输只限于相邻两次迭代。算法特征和机构脉动阵列结构自然对应, 使用脉动阵列进行数字信号处理能够将VLSI的优势充分发挥, 并且解决了VLSI的缺陷, 实时灵活性很大。

1.2 波前阵列处理器

脉动阵列同步工作, 可能会造成时钟畸变、系统峰值功耗较大和应用容错技术比较困难等, 其中时钟畸变是最严重的问题, 阵列规模增加, 全局时钟分配网络扩大, 时钟的负担增加, 长度不同的时钟线之间存在相位差, 最终造成时钟定时能力的破坏, 而采用异步工作方法, 则能够克服这些问题。

波前阵列算法结构要求数据传输的局部性同时还要具有局部性, 以数据传递控制阵列工作, 使数据像“波”一样在阵列中前进, 全部数据流过阵列, 运算结束。波前阵列和脉动阵列的数据驱动特性不同, PE连接全部操作数之后再启动运算操作, PE之间是异步的, 相邻PE之间采用握手的方式进行, 提高了阵列的秩序性, 拜托了对时钟的依赖, 即便阵列规模增大, 系统同样能够保持相当的稳定性, 而阵列中PE异步启动, 降低了系统峰值功耗, 容错技术相对容易。

在系统吞吐率方面, 波前阵列同样优于脉动阵列, 数据驱动操作的数据传输时间相对于运算时间较短, 甚至可以忽略, 而且PE基本运算时间可变的场合浮点加法运算需要的一维次数随着不同数据变化而变化, 运算时间也发生变化, 波动阵列中总的运算时间要短于脉动阵列。

2 CMOS

通信用MOS工艺主要用于实现模拟功能, CMOS工艺功耗更小, 并且构成的运算放大器增益高, 结构相对简单, 占用空间更小。

2.1 n 阱 CMOS 工艺

n阱CMOS和nM OS工艺兼容性良好, 相同芯片上取其所长, 集成要求较高的位置选择nM OS电路, 要求功耗较低的位置选择CMOS电路, 而且n阱工艺能够对p MOS短沟道效应产生有效的抑制作用, 在n阱中使用p MOS管, n阱中杂质浓度更大, 反偏pn消耗层向沟道内扩展得到了削弱。

2.2 高压工艺

通信电路数字交换过程中往往要求用户接口电路能够传送高压并且能够承受外来高压, 过去电路功能通常通过独立的电路完成, 电路中存在的有缘器件是双极型晶体管, 使用LOMOS结构能够在高压电路上实现MOS, 从而将低压控制和高压控制集成在同一芯片上。

高压器件和CMOS的兼容需要通过隔离实现。主要有自隔离、pn结隔离、介质隔离等, 隔离方式的选择需要考虑到电路性能要求。介质隔离的隔离性能最好, 但是工艺过程比较复杂, 而自隔离工艺制作比较方便, 能够满足一般情况下的高低压隔离, 设计成环形的LDMOSFET漏区被栅/源区所包围, 能够有效防止场反型。

3 结束语

VLSI通信系统在通信系统中的应用将大幅度减小通信设备的体积和功耗, 通信系统逐渐向着小型化的方向发展, 符合人们对通信设备便携性和低碳环保节能的要求。

参考文献

[1]赵德春, 彭承琳.无线内窥镜中高效电磁感应连接[J].清华大学学报, 2012, 48 (9) :1519-1521.

[2]马官营, 颜国正, 何秀.基于电磁感应的消化道内微系统的无线供能[J].上海交通大学学报, 2012, 42 (5) :789-802.

VLSI 篇3

与以前的视频标准相比,H.264/AVC标准[1,2]能够达到至少2倍的视频压缩效果。与此同时,编解码的复杂程度也大大增加。

图1中列出了H.264/AVC实时解码过程中各个主要功能模块在整个解码器中所占的比例。可以看到,运动补偿的处理最为复杂,占到了整个解码器的将近2/5,主要原因是:1)H.264/AVC中要求运动补偿精确到1/4像素位置,而不是传统的整像素或者1/2像素位置;2)相对复杂的像素计算过程,通常需要6阶滤波器。由此带来2个方面设计难度的增加:1)像素计算的复杂度增加,因为1/4像素不能直接从参考帧中得到,需要根据参考像素进行一系列的滤波运算;2)存储器访问,尤其是片外存储器访问频繁。这些都加大了对解码系统的硬件和功耗要求。

针对以上设计难点,笔者提出了一种新颖的运动补偿模块设计,首先,对系统及流水线结构进行了优化,接着,对存储器访问及像素计算2个瓶颈问题进行了性能和功耗的改进。

2 系统结构及流水线

2.1 系统结构

在运动补偿过程中,首先,需要从码流中对运动矢量进行解码;其次,根据当前模块划分及运动矢量,从片外存储器参考帧中获得相应的参考像素,对这些参考像素经过适当的计算获得当前像素的解码值。

在像素计算过程中,提出并采用了4像素并行的方法:以4×4模块为单位,每个4×4的模块进一步分成4列,每列包括4个像素,可以在同一个时钟周期进行处理,为了支持这种4像素的并行结构,亮度部分需要9个水平6阶滤波器,4个垂直6阶滤波器,以及4个均值滤波器;色度部分需要4个并行的滤波器。

2.2 自适应流水线

笔者提出了一种自适应流水线结构,如图2所示,可以根据运动矢量来自动调整流水线中各个阶段的时钟数。

以亮度为例,根据宏模块的划分及运动矢量的位置,宏模块运动补偿所需的参考像素在64~208个时钟周期从片外存储器中读取到片内参考像素缓存中,根据这些参考像素,亮度计算单元在64~144个时钟周期内完成亮度像素计算。色度信号的处理与亮度类似,但是由于色度计算比较单一,因此每个8×8的色度模块能够在固定的16个周期内完成。

为了提高系统性能,存储器访问和像素计算可以并行。只要当前像素列解码所需的参考像素已经从片外存储器读入片内像素缓存,该列像素计算可以立即开始,而不用等到整个宏模块所需要的参考像素完全读入才开始所有的像素计算。

3 存储器优化

3.1 3层存储器结构

笔者提出了3层存储器结构,将运动补偿中高度相关、可能会被反复使用的参考像素存放在访问速度快、功耗小的片内缓存中,而将完整的参考帧存放在片外存储单元上。将很大一部分对片外参考帧的操作转移到片内缓存中,不仅提高了系统性能,更降低了功耗要求。笔者提出的3层存储器结构如图3所示。

第1层为流水线级与级之间的缓存,用于存放运动补偿过程中产生的中间值。由于该级缓存仅暂存流水线产生的中间数据,因此只与像素计算单元有数据交换。

第2层为片内参考像素缓存,用于存放当前划分运动补偿所需要的参考像素。由于运动补偿计算过程中需要大量的参考像素(最大432 bit),32 bit的片外存储器带宽不能满足实时计算要求。这些参考像素需要事先从片外存储器中读出并存储到片内参考像素缓存中。

第3层为片外存储器,用于存储完整的参考帧。

3层存储器结构意义在于尽量将与片外存储器有关的访问操作转移到片内缓存来进行,这样,虽然片内缓存的功耗略微增加,但片外存储器及I/O单元的功耗可以大大减少,如表1所示。对10个QCIF测试视频序列功耗仿真结果显示,3层存储器结构平均能够减少37.9%的系统功耗。

3.2 自适应模块形状

根据H.264/AVC标准要求,如果当前划分为4×4,运动补偿中需要大小为4×4~9×9的参考像素(具体大小根据运动矢量位置决定)。如果划分大小增加到8×8,所需的最大参考像素则增加到13×13。而且,并不是所有划分所需要的参考像素都是标准的矩形。以4×4划分为例,如果运动矢量指向的参考像素是整像素位置,只需要4×4的参考像素;文献[1]图8-4中的位置a,d,f则需要规则的参考像素形状,但是大小不同(4×9,9×4,9×9等);而位置e,g,p,r则需要不同大小,不同形状的参考像素,如图4所示。

笔者提出了自适应模块形状的设计,电路可以根据运动矢量的大小,自动计算出图4所示的参考像素的大小和形状,并据此对片外存储器进行访问。与JM程序[3]相比,平均可以减少33.6%的片外存储器访问,如表2所示。

4 像素计算优化

4.1 亮度计算

4.1.1 6阶滤波器实现

亮度部分计算需要2种滤波器,一种是6阶的,另一种是2阶的,也称均值滤波器。6阶滤波器的直接实现需要5个加法器和4个乘法器,但是通过简单的操作数组合,可以将乘法器数量降低到2个:

笔者设计的6阶滤波器如图5所示。与直接实现相比,本设计只使用了6个加法器和2个移位器,大大降低了硬件开销。

4.1.2 流水线实现

在没有数据相关的前提下,水平滤波和垂直滤波可以同时进行。而均值滤波器由于需要前面2个滤波器产生的结果,因此要延后一个周期。

以像素位置j为例,图6说明了本文流水线的设计。在第一个周期中,使用了4个水平及4个垂直滤波器来对参考像素计算,它们的输出存放在流水线级间缓存中。第2个周期中,水平和垂直滤波窗口向右移动一格,以对第2列像素进行计算;与此同时,通过均值滤波计算得出第1列像素运动补偿的最后结果。这样的过程持续5个时钟周期,直到最后一列像素计算完成。其他位置像素的计算与此同理。表3总结了通过笔者提出的流水线结构计算4×4模块所需要的时钟周期数。

4.2 色度计算

与亮度计算相比,色度计算相对直接。为了提高系统性能,设计中采用4个滤波器并行处理一个2×2色度模块,这样对于同一个宏模块下的8×8的Cb和Cr两部分,总共只需32个周期实现。对文献[1]是的公式(8-274)可变换为

最后实现的色度滤波器如图7所示。与原始设计相比,加法器数量大大减少。

5 设计实现

5.1 设计实现过程

整个运动补偿模块的设计实现过程如图8所示。

首先,利用SystemC对整个运动补偿模块进行建模,以保证模块功能以及与其他解码器中模块接口的正确性。接着,用Verilog-HDL语言对设计进行了RTL级的描述,并利用Modelsim进行了仿真,将仿真结果与SystemC的输出进行对比,确保HDL设计的准确。在仿真完全通过后,用Synopsys Design Compiler将整个设计综合到0.18μm的标准CMOS库中。

为了获得运动补偿模块的实时功耗,首先对综合后的网表用Modelsim进行仿真,得到逻辑门的翻转率。将翻转率和门级网表提供给Synopsys Prime Power,就可以得到模块的动态功耗。

5.2 实现结果

5.2.1 面积

在0.18μm的CMOS标准库中综合结果如表4所示。

与参考文献[4]中的运动补偿模块(80 555逻辑门)相比,本文设计面积(46 790逻辑门)仅为其58%。

5.2.2 性能

图9中比较了本文设计与其他参考设计的性能。其中,ARM7和Tensilica都是通用处理器结构,而其余设计都是专用ASIC设计。本文能在400个时钟周期内完成一个宏模块的运动补偿,性能大大超过其他ASIC实现方案。而且,如果将亮度计算和色度计算并行处理,还能进一步提高系统性能,可以在300个时钟周期内完成一个宏模块的计算。

5.2.3 功耗

通过Prime Power对整个设计的功耗分析,得到各模块的动态功耗分布如图10所示。可以看出,尽管亮度和色度计算复杂度较高,但由于对其使用了门控时钟技术,其功耗不如包含存储器访问的模块大。这从另一个角度说明了随着工艺的不断缩小,存储器访问逐渐成为功耗瓶颈,而计算单元所占比例逐步减小。

为了进行合理的比较,将本文功耗与参考文献[5]的功耗都归一化到1 s运动补偿1 Mpixel,可以看到,在相同的工艺、电压及性能指标下,本文设计的功耗减少35%。结果参见表5。

6 小结

文中给出了H.264/AVC视频解码运动补偿模块的VLSI设计。针对该模块存储器访问量大,计算复杂的特点,对整个系统进行了优化。VLSI实现结果表明,本设计取得了较好的面积/性能/功耗指标,适合应用在高性能低功耗的H.264/AVC视频解码芯片中。

摘要:提出了针对H.264/AVC视频解码运动补偿模块的VLSI优化实现。首先,提出了运动补偿模块的自适应流水线结构以及4像素并行处理的方式以提高系统性能;其次,提出并设计了3层存储结构,不仅降低了整个存储器系统的功耗,也降低了对片外存储器的带宽需求;最后,针对宏模块中亮度和色度的计算,计算了复杂度并优化了系统性能。

关键词:H.264标准,运动补偿,VLSI优化

参考文献

[1]ITV-T.Advanced video coding for generic audio visual serviced[S/oL].[2008-11-01].http://www.itu.int/rec/T-REC-H.264-200711-I/en.

[2]WIEGAND T,SULLIVAN G J,BJONTEGAARD G,et al.Overview of the H.264/AVC video coding standard[J].IEEE Transactions on Circuits and Systems for Video Technology,2003,13(7):560-576.

[3]Joint Video Team(JVT)reference software JM13.2[EB/OL].[2008-11-12].http://iphome.hhi.de/suehring/tml/download/.

[4]PARK S,CHO H J,JUNG H,et al.An Implemented of H.264video decoder using hardware and software[EB/OL].[2008-11-20].http://ieeexplore.ieee.org/iel5/10489/33245/01568659.pdf?arnumber=1568659.

[5]LIN T A,LIU T M,YEE C Y.A low-power H.264/AVC de-coder[J].IEEE International Symposium on VLSI Design,Automa-tion and Test,2005(4):283-286.

[6]HU Y,SIMPSON A,MCADOO K,et al.A high definition H.264/AVC hardware video decoder core for multi-media SoC's[J].IEEE Interna-tional Symposium on Consumer Electronics,2004(9):385-389.

VLSI 篇4

关键词:H.264,运动估计,半像素插值

随着多媒体、无线通信技术的快速发展, 视频的无线传输技术也得到了深入的研究和广泛的应用, 例如可视化手机、无线监控等。数字视频原始数据规模庞大, 必须进行压缩后方可进行有效传输。目前, H.264/AVC标准由于具有高压缩率与较好的网络亲和性, 故得到了广泛应用, 其与以往视频压缩标准相比提升约50%的压缩率, 但这一性能的提高是以远高于其他编码标准的运算复杂度为代价的, 其中运动估计占整个编码运算总量的60%~80%[1,2]。

运动估计是在搜索范围内使用SAD匹配准则获得最小运动矢量的过程。整像素的运动估计能够产生整像素的运动矢量, 但在实际运动中, 物体的位移和采样鲜有正好是整像素, 而整像素的运动矢量并不能较好地表征物体的实际运动方向。因此, 在大部分的视频编码标准中均支持半像素、1/4像素的运动估计, 进而提高运动矢量精度。H.264标准下规定运动估计包括整像素搜索和分像素搜索, 分像素搜索采用1/4像素精度的搜索方法, 有效提高了运动估计的准确度, 其中参考图像的半像素插值采用6抽头滤波器, 1/4像素插值采用双线性滤波插值。分像素运动估计在提高了编码效率的同时, 也带来了运算量大及存储操作频繁等问题。

文献[3]提出一种基于8×8块模式的插值结构, 其较好地解决了数据传输和存储等问题, 但其数据流变化频繁, 控制相对复杂。文献[4]提出一种新的分像素插值结构, 可降低10%的空间复杂度和9%的计算复杂度, 但却需要对中间数据频繁存储操作。本文在上述基础上, 提出一种快速半像素插值算法实现技术, 充分利用中间数据, 减少数据的存储, 有效地提高了半像素插值的效率。文中使用Verilog HDL语言完成插值器设计, 并在Altera FPGA (EP3SL340F1760C4) 中完成了插值器硬件实现和性能验证。测试结果表明, 集成新型插值器的H.264编码器可稳定工作在135 MHz时钟频率下, 并能实时编解码1080P@25fps的高清视频, 达到了预期实时性的要求。

1 半像素插值

在视频序列中, 若相邻帧间内容变换不剧烈, 相邻帧间就存在时间相关性, 即时间冗余。运动估计即利用这种时间冗余性, 将图像序列的每一帧分成众多互不重叠的宏块, 并认为宏块内所有像素的位移量一致, 然后在前一帧或后一帧的某一给定搜索范围内根据一定的匹配准则找出与当前帧中所对应最相似的宏块, 即匹配宏块[5,6]。在运动估计模块中, 最重要的是整像素搜索模块和分像素搜索模块。整像素搜索模块要反复读取当前帧的宏块数据和参考帧中的宏块数据进行比较获得当前宏块在搜索窗口中最佳匹配的整像素位置, 主要完成多参考帧, 大范围的搜索。分像素搜索是在整像素搜索的基础上进行插值搜索, 完成更高精度的1/2像素和1/4像素运动匹配搜索。而整像素搜索和分像素搜索相结合, 即可获得当前宏块的运动矢量。

在分像素运动估计中的第一步操作是像素插值, H.264/AVC标准中半像素插值采用6阶滤波器来实现。如图1所示, 4个整像素经半像素插值后变为10个像素, 所以对于一个4×4宏块的像素数据, 插值后变为10×10规模像素数据矩阵, 同理一个8×8宏块的像素数据经半像素插值后便形成一个18×18规模的像素数据矩阵。

对一个宏块分别进行水平和垂直方向6阶滤波器插值后, 可得到所需的半像素插值结果。即要得到一个插值像素, 必须用到水平或垂直方向上相邻的6个像素, 如图2所示。图中方框表示整像素位置, 圆圈表示半像素位置, 半像素a是利用水平方向6个整像素A0、A1、A2、A3、A4、A5插值得到的半像素, 半像素a0、a1、b、d、a4、a5是利用垂直方向的6个整像素插值得到的半像素值, 半像素h是利用水平方向的6个半像素a0、a1、b、d、a4、a5插值得到的半像素值。同理, 半像素c是利用水平方向6个整像素B0、B1、B2、B3、B4、B5插值得到, 而半像素i是利用水平方向6个半像素b0、b1、e、g、b4、b5插值得到, 其中半像素b0、b1、e、g、b4、b5是分别利用垂直方向的6个整像素插值得到。半像素点可分为两类, 一类是利用水平或垂直相邻的6个整像素点进行插值得到的半像素点, 如图2中a、b、c、d、e、f、g;另一类是利用水平或垂直方向相邻的6个半像素点进行插值所得到的, 如图2中h和i。

(1) 对1/2像素a、b、c、d、e、f、g:对水平或垂直方向6个相邻的整像素点使用式 (1) 滤波插值, 然后对插值结果进行归一化处理并取整, 使其取值范围限制在[0, 255]之间

式 (1) 中a表示在图2中半像素a位置的像素值, A0、A1、A2、A3、A4、A5表示在图2中相对于整像素位置的像素值。

(2) 对1/2像素点h、i:在水平或垂直方向6个相邻的半像素点使用式 (2) 滤波插值, 然后对插值后的值进行归一化处理并取整, 使其取值范围限制在[0, 255]之间

式 (2) 中h表示图2中半像素h的像素值, a0、a1、b、d、a4、a5表示图中同名位置的半像素值。

2 硬件实现

2.1 分像素运动估计

在H.264/AVC编解码器的系统芯片 (SOC) 设计与开发中, 执行帧间预测的运动估计模块是整个系统设计的关键, 运动估计部分由整像素运动估计 (IME) 模块和分像素运动估计 (FME) 模块组成, IME模块主要完成多参考帧, 大范围的粗精度匹配搜索。分像素运动估计模块是在整像素运动估计的基础上, 对宏块41×n (n个参考帧) 个分割子块进行小范围、率失真优化 (RDO) 控制下的、更高精度1/2像素和1/4像素运动匹配的搜索, 且要求在宏块的41×n个分割子块中, 完成其分割模式的选取和其帧间运动的补偿[7,8]。

2.2 快速半像素插值算法

在分像素运动估计中, 首先用6阶滤波器完成1/2像素插值, 再进行双线性的1/4像素插值。完成2次插值后, 4×4的宏块被扩展为21×21的新矩阵, 数据规模的增加意味着计算过程中需反复利用中间结果, 这对系统存储带宽提出了较高的要求。而充分有效地利用中间结果, 可减少数据的存储访问, 降低系统带宽要求, 进而提高系统整体的性能。

本文从降低系统带宽出发, 提出一种快速像素插值算法的结构, 以达到充分利用计算的中间结果减小系统存储带宽的目标。插值模块每个周期读取整像素存储器中连续相邻的7个像素值, 并送入6阶滤波器进行插值, 一次可计算出2个半像素值, 一个8×8的宏块, 经过半像素插值后形成18×18的新矩阵。插值后得到的半像素可分为3类:利用水平方向相邻6个整像素插值得到的半像素称为A类;利用垂直方向相邻的6个整像素插值得到的半像素称为B类;利用垂直方向相邻的6.5个像素插值得到的半像素称为C类。插值模块每个时钟周期读取7个整像素值利用水平方向插值出两个A类半像素值, 如图3所示。插值的同时将得到的两个A类半像素值 (图4中灰色圆圈位置) 和7个整像素中间位置的整像素 (图5中灰色方框位置) 存入到FIFO中, 再经6个周期后, 利用垂直方向插值得到两个C类半像素值 (图4中黑色圆圈位置) 和1个B类半像素值 (图5中黑色圆圈位置) 。

(1) 半像素插值模块每个时钟周期读取7个整像素值并利用水平方向插值出2个A类半像素值, 如图3所示, 第一个时钟周期, 插值出第一行2个A类半像素值 (图3中阴影区圆圈位置) , 第二个时钟周期也插值出第二行的2个A类半像素值。经6个时钟周期, 插值出2×6范围矩阵的A类半像素值。 (2) 此时启用垂直整像素6阶滤波器和垂直半像素6阶滤波器进行插值, 分别得到2个B类半像素值 (图3中阴影区第二行灰色圆圈位置) 和2个C类半像素值 (图3中阴影区第二行黑色圆圈位置) , 此时已插值的范围为4×2矩阵 (图3中阴影区) , 以后的每个时钟周期均可插值出2个A类、2个B类和2个C类的半像素值。经7个时钟周期插值出4×4范围的矩阵, 以此类推, 经14个时钟周期可插值出4×18范围的矩阵 (图6中阴影区) 。重复一次操作 (1) 、 (2) , 插值出8×18范围的数据矩阵 (图7中阴影区) 。循环5次 (1) 、 (2) 操作, 如图4所示, 插值出18×18的半像素数据矩阵 (图4中阴影区所示) 。

2.3 6阶滤波器设计

插值模块中的基本单元是6阶滤波器, 输入6个像素点插值输出一个半像素点, 滤波系数为 (1, -5, 20, 20, -5, 1) 。设计中的半像素插值6阶滤波器共分为3种, 利用水平方向的6个相邻整像素插值得到A类半像素值;利用垂直方向6个相邻整像素值插值得到B类半像素值;利用垂直方向6个相邻半像素插值得到C类半像素值。由式 (1) 和式 (2) 可知6阶滤波器主要有两种结构, B类半像素和A类半像素均可利用式 (1) 完成, C类半像素可利用式 (2) 完成, 因此已有的插值器的6阶滤波器采用两类设计, 本文设计出一种可复用的硬件滤波器结构, 如图5所示, 利用Half_mode信号控制选择相应的一种滤波器。滤波器中包含加法、减法、乘法和除法操作, 乘法器占用较大的硬件资源, 因此, 用移位操作来实现常数乘法运算, 减小系统的硬件资源消耗。滤波器根据Half_mode来选择加16或512, 同时也选择最后结果右移的位数。最终, 还需对半像素的结果进行归整化处理。由于8 bit表示一个像素点, 其取值范围为[0, 255], 对于<0的结果, 统一归为0;对于>255的结果, 统一归为255。

3 硬件实现与性能测试

本文使用Verilog HDL完成了半像素插值器的设计, 并通过所设计模块的测试结果表明完成4×4宏块的半像素插值需30个时钟周期;完成8×8宏块的半像素插值需70个时钟周期。表1给出了分像素运动估计器 (IME) 在Altera Stratix III FPGA (EP3SL340F1760C4) 开发板中得到的硬件消耗和系统可稳定工作的频率。

设计的半像素插值模块被集成到H.264硬件编码中, 该编码器GOP的长度为4 (IPPP) , 采样格式为YUV420, 分辨率为QCIF (176×144) , 对测试序列CITY (远景移动缓慢) 、FOOTMAN (近景移动较快) 和FOOTBALL (画面移动较快) 的3种视频流前50帧进行编码得到的压缩比如表2所示。

4 结束语

本文在运动估计全搜索算法基础上, 根据块匹配像素搜索方法, 提出了一种快速的运动估计半像素插值方法。经实验结果表明, 本文所提的VLSI结构在FPGA上实现基本档次H.264/AVC视频编码电路, 该系统可稳定工作在135 MHz时钟频率下, 能实时编解码1080P (1 920×10 80) @25fps的高清视频, 并可满足视频实时显示的需求。

由于H.264/AVC硬件编码架构, 文中只给出了一种快速的半像素插值算法的VLSI硬件实现方法, 后续工作还可通过改变硬件编码和运动估计的架构, 对运动估计的访存机制加以改进, 以便进一步提升运动估计模块的性能, 并减少编码的时间。

参考文献

[1]KIM S, HAN J, KIM J.An efficient scheme for motion estimation using multireference frames in H.264/AVC[J].IEEE Transactions on Multimedia, 2006, 8 (3) :457-466.

[2]KIM N, SARP ERTRK, HYUK-JAE L.Two-bit transform based block motion estimation using second derivatives[J].IEEE Transactions on Consumer Electronics, 2009, 55 (2) :902-910.

[3]LEI Deng, WEN Gao, HU Mingzeng, et al.An efficient VLSI architecture for MC interpolation in AVC video coding[C].Proceedings of the International Conference on Embedded Systems and Applications, ESA'04&Proceedingsof the International Conference on VLSI, VLSI'04, 2004:564-568.

[4]周敬利, 杨先勇.一种新的半像素插值滤波方法[J].微处理机, 2009, 1 (1) :89-91.

[5]方健, 郑伟, 李炳博, 等.针对H.264的基于平坦区域预测的分像素运动估计[J].中国图象图形学报, 2008, 13 (12) :2286-2290.

[6]王庆春.H.264/AVC编码器中分像素运动估计的VLSI设计与FPGA验证[D].北京:北京大学, 2007.

[7]王睿, 林涛, 林争辉, 等.一种H.264运动估计的VLSI设计[J].微电子学与计算机, 2004, 21 (11) :153-157.

VLSI 篇5

1 教学现状与主要问题

1.1 选课学生专业背景不同, 具备的专业基础知识各不相同

我校选修《数字信号处理VLSI设计》课程的学生按专业可分为三大类: (1) 微电子学与固体电子学专业:这是该专业的专业核心课程, 但该专业的学生根据学校的不同又分为两种情形, 一种是本校培养的应届本科毕业生, 具备集成电路方面的专业知识, 但对数字信号处理方向的专业知识了解甚少;另一种是外校培养的应届本科毕业生, 具备一定的数字信号处理方面的专业知识, 但基本上不了解集成电路方向的专业知识。 (2) 电路与系统专业:该专业的学生主要从事电子系统方面的研究工作, 部分学生集成电路方向的专业知识, 但是有关数字集成电路设计方面的基本技能, 尤其是采用FPGA设计数字系统的方法对今后的课题乃至科研工作的开展提供了有力的技术支持, 因而这门课程也受到该专业学生的高度关注。 (3) 其它电子信息类专业:这门课程是集合了集成电路设计技术、数字信号处理、计算机算法和微电子器件等多学科为一体的综合性工程技术类课程, 相关的原理和技术在很多领域都有广泛的应用, 因而《数字信号处理VLSI设计》课程受到了校内很多其他专业学生的关注, 例如通信工程、自动控制等。由此可以看到:尽管学生所学的专业方向不同, 但学习的目的都非常明确, 自主学习能力较强;具备一定的前期基础理论知识, 例如信号与系统的知识;但大多缺乏专业的基础知识, 例如数字集成电路设计、数字信号处理等方面的系统学习;专业需求强烈, 但需求方向因专业差别而各有不同。

1.2 无合适的教材

《数字信号处理VLSI设计》课程的教学, 早期用的是Uwe Meyer-Baese著, 刘凌, 胡永生译的《数字信号处理的FPGA实现》, 该教材出版于2003年, 该书较为全面地介绍了利用现场可编程门阵列 (FPGA) 进行数字信号处理的方法, 主要介绍了计算机算法的概念、FIR和IIR滤波器的实现、多级信号处理和傅立叶变换等, 并给出了一定的实例, 对基于FPGA的数字系统设计介绍的较为完整, 但存在着一些不足, 如对数字集成电路系统设计的优化设计考虑不足, 仅仅给出了流水线设计的概念, 对于高速电路系统设计、低功耗设计及面积最小设计的相关理论都没有介绍。因而结合我校微电子学与固体电子学专业的培养特色, 与时俱进地对教学内容进行调整与改革, 增加了有关全定制设计的数字集成电路系统设计的相关理论知识, 对教学内容进行了进一步的优化和完善。

2 教学方法改革

《数字信号处理VLSI设计》课程的特点是理论性、概念性比较强, 涉及到大量的数学公式和理论推导, 并且涉及到多个领域的交叉, 学生学起来普遍感觉吃力, 对很多内容的理解似是而非。为了提高教学效果, 必须改进满堂灌的传统教学方法, 采用多种教学方法相结合来丰富课程的教学过程。在教学过程中, 结合学习的规律性, 激发学生的兴趣, 针对在不同阶段所遇到的知识点的不同, 灵活运用不同的教学方法, 充分调动学生参与教学的主动性。

在教学过程的不同阶段采用不同的教学方法, 在前期主要采用引导式教学法, 即通过形象化的成果引导学生去了解相关理论知识在电子信息领域中的广泛应用, 激发学生学习兴趣。例如, 通过课堂讲授与课外专题讲座形式介绍DSP芯片技术的发展前沿, 开拓学生视野, 激发学习兴趣;或者在开始讲授新的内容体系之前, 通过多媒体等形式有针对性地介绍数字信号处理VLSI设计的工程设计实例及应用情况, 以调动他们学习的积极性和主动性, 提高教学效果。在教学的中间过程主要采用启发式、讨论式教学方法。这是一种以学生为主体、教师为主导的课堂讨论式教学方法, 鼓励学生积极投入到课堂教学的过程中, 由被动接受知识向主动学习转变, 改变单向灌输的教学模式。在课堂上, 教师根据授课内容设计一些思考题, 在课堂上以学生作报告的方式, 引导学生积极思考和讨论, 积极引导学生参与到教学过程中来, 教师根据学生的分析思路和结果进行点评、纠正和总结, 积极鼓励学生形成自我思考的意识、学会批判性思维和勇于质疑的精神。在教学的后期主要采用研究式教学方法。研究式教学就是将科学领域的研究方法引入课堂, 通过教师的激励、引导和帮助使学生去主动发现问题、分析问题、解决问题, 并在探究过程中获取知识、训练技能、培养创新能力。在教学过程中, 组织多名学生为一组, 围绕课程中一些主题, 独立搜集研究方向, 在课外依循一定的步骤开展研究性学习, 最终提供一份包含有课题题目、问题提出、程序、调试波形和结果说明的完整研究报告, 引导学生培养在数字信号处理算法研究、DSP算法的VLSI设计、VLSI系统构架设计等方面的知识分析、解决问题, 注重学生思维及创新能力的培养, 在研究中加深对课程所讲授的核心知识的理解, 提高利用理论知识解决实际问题的能力。

3 教学手段改革

本课程的特点是大量使用了数学的方法来表示算法设计的过程, 公式较多, 学生不容易掌握, 对学生的基础要求比较高。因此采用单一的教学手段很难提高教学效果, 必须针对学生的专业基础特点及授课内容, 有选择性地采用多种教学手段相结合的授课方式。其一, 采用多媒体课件教学手段, 使教案多媒体化、教学过程互动化。多媒体教学信息量大, 可以拓展学生的知识面, 精简课堂授课学时, 激发学生学习兴趣, 提高教学效果。但是多媒体教学存在不足是授课速度比较快, 因此对于数字信号处理的基本理论及算法的推导和证明, 宜配合板书的授课方式, 做详细讲解, 让学生能够有足够时间领会和理解。其二, 利用课外时间, 组织学生了解本实验室知名教授在该领域的一些前沿性的研究成果, 加深学生对相关理论知识的认识。其三, 建设和完善网络教学资源, 使教学资源共享化、教学方式多样化和教师答疑实时化。针对课后的复习、相关背景知识的学习以及课堂内容的扩展部分, 建立课程主页, 提供相关资源和讨论空间, 实现网络辅导、网上课程研讨、网上交付作业与实验报告等。

4 完善课程考核方式

成绩评定是研究生教学过程中一个重要的教学环节, 是检验教学效果的重要手段。研究生教学模式改革的要求, 使得课程考核方式应灵活多样, 已达到对学习效果客观评价的目的。评价方法应由传统单一性的期末考试转向平时成绩与期末考试成绩相结合、课内教学与课外自主学习相结合的全程评价, 考核的重点是学生对专业知识的领悟能力, 体现教学评价的全面性、导向性、实效性、过程性等特点。完善课程考核方式, 对素质教育的实施和学生自主学习能力和创新能力的培养非常有利, 使学生考试成绩更加具有层次性, 更加体现学生的综合素质。教师要加强学生平时学习情况考查, 采用平时大作业、小的专题论文和期末开卷考核等多样化的考核方式, 多方面地测量学生的综合素质和能力。课程综合评定成绩主要包括平时成绩、课程专题报告、期末考试成绩等几个部分。课程专题报告主要考查评估学生知识掌握程度、文献查阅调研能力、动手实践能力、论文撰写和表达能力。程序设计及结果分析考察学生对所学知识的理解和应用能力。期末考试主要考查学生对基本概念的掌握和知识的灵活运用能力, 避免过多公式推导与演算。几年的教学实践表明, 这种多模式相结合的考试方式获得了较好的教学效果。

5 结束语

针对《数字信号处理VLSI设计》课程本身所具有的特点, 结合我校电子科学与技术专业硕士研究生人才培养目标, 对课程的教学内容体系、教学方法和手段、教学评价方式都进行了大胆的改革, 有效地提高学生的学习兴趣, 激发了学生的潜能和学习主动性, 注重学生思维及创新能力的培养。通过收集研究生对本门课程的学习效果评价及后续的科研工作中对知识运用能力的评价, 表明课程的教学改革取得了很好的效果, 学生的实际动手能力和综合素质明显提高。

摘要:针对电子科学与技术专业研究生培养的特点, 结合目前电子工程类学科发展的实际需求, 以切实提高研究生培养质量为目标, 分析总结多年讲授数字信号处理VLSI设计课程的经验, 提出该类课程的改革实施方案。该方案主要从课程开设、电子课件、讲授方式和考核形式等方面, 详细论述了课程改革实施过程, 并通过培养成果验证了该方案的可行性和有效性。

关键词:电子科学与技术,研究生培养,数字信号处理,VLSI设计

参考文献

[1]张振慧, 《声纳信号处理》研究生课程教学探索[J], 教育教学论坛, 2011, (20)

[2]王国富, 数字信号处理课程建设与实践[J], 桂林航天工业高等专科学校学报, 2008年, (3)

[3]蓝会立, “数字信号处理”课程教学改革与实践[J], 中国电力教育, 2012, (3)

VLSI 篇6

IC(Integrated Circuit集成电路)的特征尺寸不断缩小,互连线的层数越来越多,多达十多层,互连线的总长也越来越长,相互间的距离越来越小,导线也由扁宽变得窄高,这使得互连线的寄生参数(寄生电阻、电容、电感)对IC性能(串扰、噪声、延迟及信号完整性)的影响日益明显,对电路性能的影响逐渐超过晶体管,准确提取互连线的寄生参数成为人们关注的一个热点[1]。而当前工艺又使得导线外形偏离设计尺寸,一是掩膜光刻工艺所用光波波长是193nm,目前工艺是65nm已经大范围生产,45nm也已经做出,远远小于所用光波波长,为了让光刻后的尺寸与设计尺寸保持一致,工艺上采取了OPC(optical proximity correction光学近似校正)及PSM(phase shift masking相偏移光罩),但即使校正后,光刻后的导线外形还是与设计尺寸有一定的偏差(如图1),可以看出校正后最大的变化就是所有的拐角都变成了近似的圆弧,线宽也不再准确;二是反应离子刻蚀使导线横断面不再是矩形,变成了梯形;三是CMP(chemical mechanical planarization化学机械抛光)过程在导线密度不同的地方导线被抛去的多少不同。然而,传统的建模过程中,参数提取是按照设计尺寸计算,这给寄生参数的提取精度造成影响,这对65nm及45nm工艺的性能校验可能带来严重后果。

Rong Jiang等人用统计学方法,把导体表面外形尺寸取为随机变量,求出寄生电容的概率分布,适用于电路性能的统计学分析[2];Ying Zhou等人则是在寄生电容模型库建立时,先用光刻模拟得出要计算的互连结构光刻后的形状参数,然后用这个仿真结构进行计算[3],但建模时就用光刻后的尺寸必然大量增加结构的复杂度,给剖分和场的计算增加时间成本;本文作者提出用有限元求导的方法计算敏感度[4],并验证了该方法的有效性,但只应用在对线宽,线厚度及线间距的敏感度,没有考虑边角圆化的问题。本文把该方法运用在直角圆化的问题上,提出了相应的处理方法,最后,用一种互连结构进行检验,可单独考虑直角圆化对寄生电容的影响,也可同时考虑对线宽等其它设计参数的影响,结果都证明该方法有很好的精度和灵活性,而处理过程又简单方便。

2 有限元法求导原理

一个互连结构的寄生电容的求解,就是求解一个静电独立系统,用有限元法采用标量位v计算,grad v=e,就是要求解方程(1)得到 v∈{v∈L2,grad v∈IL2|v=v0 on Γe},

undefined

其中,L2标量平方可积空间,IL2矢量平方可积空间,Γe是Dirichlet边界,Ω是求解区域。离散后的方程可表示为:

undefined

其中,系数矩阵

undefined

(2)是求寄生电容的离散方程。

(2)式两边对离散区域内的某一点的坐标进行求导,s不随尺寸而变,求导后为零,于是有:

undefined

pi是要求导的工艺变量。

(3)式求导可以通过图2加以说明: 原来以A为顶点的四面体是离散区域的一个单元,对A点坐标求导,相当于A点有个虚位移移到B后在(2)式中引起的变化,A点坐标隐含在以A为顶点的四面体单元的单元矩阵中,这样,对A坐标求导只涉及到与A相连的单元[5]。(3)式左侧系数矩阵与求电容时的方程(2)的系数矩阵完全一样,v在求完方程(2)后成为已知,(4)式给出∂M(p)/∂pi计算公式,J 是 Jacobian矩阵,工艺变量隐含在J中,所以,求导只是与A点相连单元的Jacobian矩阵求导,可以很方便算出。

undefined

若想更精确的计算,可以采用有限元对偶方法求解,本文考虑针对光学效应的导数值比较小,精度满足要求的情况下,为节省时间,只采用标量位进行计算。

3 用敏感度计算互连线工艺变形后的寄生电容

以导线一端(如图3)为例,最外面的实线为设计尺寸,虚线是模拟光刻后的导线形状,假设Z方向没有变化,后面论述中所说的点,实际上都是垂直于纸面的边。如果只计算电容对线宽、线间距和线厚度的敏感度,只需输入矩形的四个顶点,对每条边上所有点求一个方向的导数;如果要计算电容对拐角尺寸的敏感度,根据图2所示原理,则对每个角要另外加入两个相对固定的点,如图中B1、B2、B3,加入的点只允许有一个方向的变化,另外,根据插入点的位置和线宽对比,新插入点和拐角点所围成的面积,小于剖分的最小面积,这样剖分后插入点和拐角点中间不会再插入新的点。两个直角的顶点A1、A2变形后分别移到了A1′和A2′,即认为要求的是端部是折线B2′A1′B1′A2′B3′的导线的电容值。A1′、A2′的位置原则上是与相邻的点连起来的折线与光刻后的导线外形最接近,但把它放在圆弧的中点精度已经够了。这里求导数也就是求电容对于A1、A2边x方向和y方向的导数,对B1只求y方向导数,对B2、B3只求x方向导数,求解过程是:先按设计尺寸用(2)式求出一个电容值,然后再分别计算电容对A1和A2的x及y方向导数(三维计算实际上是对A1、A2所在的Z方向的整条边上的所有点求导)。这样,每一种结构以设计尺寸为基础的电容模型(电容关于结构尺寸的解析表达式)再加上这些易变形点的导数信息,成为一个完整的模型。在需要提取某电路的寄生电容时,先按设计尺寸求出一个值,然后在光刻后的导线上找出变形后各点位置,最后算出两两对应点的尺寸差值乘以相应的导数,对前面求出的电容值加以修正,或用敏感度进行其它一些分析。

4 算例验证

因主要考虑边角圆化的问题,算例采用了与文献[3]类似的结构。算例所用结构如图4,为地平面上有两个肘形导体,1是主导体,2和3(地)是环境导体,导体1和2外形尺寸完全一样,呈对角对称放置,地与导体的距离H13=H23=1μm,W11=W12=0.12μm,T1=0.2μm, S12=0.23μm, L21=0.23μm,L22=1.22μm。

计算分两部分,一部分是按图4尺寸计算出各部分电容,以及电容对垂直于地面方向的导体1的六条边(E11、E12等)和导体2的六条边(E21、E22等)的导数,结果列在表1中,同时计算电容对线宽、线高,线间距的导数,为节省篇幅,没给出这部分导数信息,只在算电容时加以利用;第二部分是按图6,即模拟光刻后的形状直接由场的方法算出的电容(为了清楚显示,图5中去掉了地),线宽减小20%,端部减小10%(相对于线宽)后变圆化。两部分的结果对比在表2中,C11为导体1的总电容,C12为导体1和2的耦合电容。从表2的结果对比可以看出,用导数的方法考虑光学效应可以使由设计尺寸计算的电容值得到有效修正。另外,在这个算例中,还计算了线宽不变,只有直角变圆的情况,结果显示,如果用设计尺寸直接求解,仅直角圆化带给C11、C12的误差就达到3.0%和6.0%。可见直角圆化也是影响寄生参数提取的一个重要方面。需要说明的是,通过本算例和其它一些结构的算例看,在线宽减小30%时,通过该敏感度法算出的电容值和直接场求解得到的电容值相比,误差均在6%以内,这在工程上是可以接受的。但是,从表1可以看出,这种方法的弊端就是要额外求解若干导数,这无疑增加了时间消耗,由于求解导数时系数矩阵不变,这些求导的方程组可以通过一个多右端方程一次求解或者用一些方法加速求解[6],多右端方程求解将是下一个研究内容。

5 结论

IC特征尺寸越来越小,这使得导线的一些看似不大的工艺变形给电路带来灾难性的后果。本文采用有限元法求导的方法,在按设计尺寸进行建模时,同时求出电容对结构易变形点或边的导数,重点讨论了导线边角圆化的计算方法,在提取参数时,对由设计尺寸得到的电容值加以修正。与其它方法相比,可以得到较为准确的互连线寄生电容值,计算过程比较简单;不同部分的导数可以让设计人员清楚地看到不同地方的变形对寄生电容的影响程度;一次剖分即可计算出电容及相关导数,计算导数时,系数矩阵重复使用,达到省时的目的。工艺变形基本在30%以内,该方法完全可以满足工程精度要求。

对导体横截面变成梯形的问题,可以按照同样的方法考虑,只是变成电容对沿梯形高度方向不同剖分层上的几条边求导即可。

摘要:集成电路发展到当前纳米级的工艺水平,互连线的宽度已经远低于掩膜光刻工艺中所使用的光波长,使光刻后互连线的外形与设计尺寸不一致,其中一个重要特征就是导线边角圆化,这给准确提取互连线的寄生参数带来了困难。本文运用有限元求导的方法,求出互连线寄生电容对于其边角尺寸的敏感度,为设计后期电容的准确提取和分析提供支持。算例表明,这种方法计算出的电容完全满足工程上的精度要求,可以成为集成电路设计的一个辅助工具。

关键词:VLSI,互连寄生参数,敏感度,工艺变化

参考文献

[1]W H Kao,C Y Lo,M Basel,et al.Parasitic extraction:Current state of the art and future trends[J].Proc.IEEE,2001,89(5):729-739.

[2]Rong Jiang,Wenyin Fu,Janet Meiling Wang.Efficientstatistical capacitance variability modeling with orthogonalprinciple factor analysis[A].Proc.ICCAD[C].San Jose,CA,USA,2005.683-690.

[3]Ying Zhou,Zhuo Li,Yuxin Tian.A new methodology forinterconnect parasitics extraction considering photo-lithographyeffects[A].ASP-DAC’07[C].2007.450-455.

[4]Hui Qu,Li Kong,Yongsheng Xu.Finite element computationof interconnect parasitic capacitance sensitivities to processvariations in VLSI[A].Proc.16th Conference on Computationof Electromagnetic Fields[C].Germany,2007.1113-1114.

[5]Z Ren,ARazek.Local force computationin deformable bodiesusing edge elements[J].IEEE Trans.on Magnetics,1992,28(2):1212-1215.

【VLSI】推荐阅读:

上一篇:中医药新闻报道下一篇:转基因食品的发展趋势

本站热搜

    相关推荐