VLSI结构范文(精选6篇)
VLSI结构 第1篇
JPEG 2000是为了弥补JPEG的不足而提出的新一代静止图像压缩国际标准[1]。其目标是对多种类型的静止图像实现高效压缩, 并要求压缩码流具有较好的抗误码性能, 用户可对图像进行多种形式的累进传输, 还可以对压缩码流进行随机访问和处理。
JPEG 2000用基于上下文的自适应算术编码取代JPEG系统中的赫夫曼编码, 对量化后小波变换系数的二进制位平面进行算术编码[2]。算术编码对每一小波子带分块独立进行位平面编码, 并将每个位平面分在3个子位平面通道内进行编码[3]。虽然现有算术编码在算法上做了很多改进, 但算法的复杂性和大量的编码数据导致MQ编码器的实际工作效率仍然很低。为了提高MQ编码器的编码速度, 对编码流程进行优化, 提出一种基于三级流水线的MQ编码器的VLSI结构。
1MQ编码器原理
JPEG 2000的编码系统流程[2]如图1所示。
在JPEG中, 作为无损压缩DCT系数的熵编码方法, 采用了霍夫曼编码[5] (算术编码为选项) 。霍夫曼编码因按DCT系数大小来分配可变码长, 所以查表处理形成主体, 能够简单实现霍夫曼编码。但是, 由于预先调查了解符号系列的统计性质后制表, 所以此后一旦有与其性质相违背的符号输入进来, 就难免使压缩特性恶化, 这个不足限制了其应用范围[6]。
补救霍夫曼编码这一缺点的就是JPEG 2000中被采用的自适应算术编码。算术编码的构思是作为Elias编码, 依据为人们所熟悉的划分递归概率区间的设想, 在Elias编码中, 对于具有“0”或“1”值的二进制符号系列, 以各自概率值比率将当前概率区间划分成两个子区间, 被分配给实际产生符号的概率值区间下限值构成代码串。即代码串按二进制符号系列的输入逐次被递归地修正下去。
JPEG 2000中采用算术编码, 其基本规则像Elias编码那样, 不是以符号“0”和“1”的实际值来区别, 而是分别作为MPS (大概率符号) 或LPS (小概率符号) 中一个子区间来区别的。而且, 将当前概率区间划分成两个子区间时的顺序是MPS子区间可配置到LPS子区间的上面。因此, 若符号是MPS, 就在给代码串附加LPS子区间的同时, 设概率区间宽度为MPS子区间;若符号是LPS, 就不改变代码串, 设概率区间宽度为LPS子区间。按判决输入将此处理递归地重复下去。
MQ编码器的输入/输出框图[7]如图2所示。其中, D是二进制判决;CX是上下文索引;D和CX二者均事先由算术编码之前进行的系数位建模确定。CD是输出的压缩数据。
在MQ算术编码器中, 用寄存器A表示当前子区间的宽度, 寄存器C表示子区间的起始位置。它们均具有16 b有效长度, 在发生重新归一化时, 为了避免16 b的C寄存器溢出, 而采用28 b表示。通过采用重新归一化方案, 使A的取值范围保持在[0.75, 1.5]。 当编码器接收到一个新的待压缩码, 编码器从概率估值表查找相应的概率Qe。根据接受的待压缩码类型, 寄存器A的值和寄存器C的值被进行更新, 从而区间更新可近似为:当编码MPS时, A=A-Qe, C=C+Qe;当编码LPS时, A=Qe, C=C, 避免了乘法运算[8]。
同时, 由于MQ算法在进行区间计算时省略了乘法的近似, 使得可能发生LPS子区间大于MPS子区间的情况。为了避免这种情况, 采用区间条件交换, 即将MPS与LPS互换。MQ编码器通过重归一化方法解决计算的有限精度问题[9]:当A<0.75时, 对A进行左移直至不小于0.75为止, 同时C也左移同样位数, 并按一定间隔将不再变化的高位移入存储区。
MQ编码器所使用的概率估值表是一个可以对原始数据快速适应的复杂概率自动估计模型。该模型是一个具有47个状态的有限状态机。每个状态包含小概率符号LPS的概率Qe、下一个状态的索引NMPS和NLPS, 是否需要交换MPS和LPS所代表符号的标志SWITCH。
MQ编码器中设置了一个专用计数器CT作为已压缩字节输出控制。当A左移1位时, CT也同时减1;当CT=0时, 输出1个字节。为避免区间更新过程中产生的进位向前传播, 在MQ编码器中, 采用位填充技术来处理进位问题。根据字节缓冲B及C进位位的值, 编码器选择是否进行位填充。
2MQ编码器的优化
MQ编码器采用串行执行方式, 且编码算法复杂、耗时, 从而导致编码器执行速度慢, 效率低下。为了提高MQ编码器的运行速度, 利用FPGA的大容量和并发执行等特性, 对MQ编码器进行设计, 在不改变原算法理论的条件下, 对整个流程进行改进和优化。
只有当前一输入的结果被输出后才能读入下一输入的串行执行方式, 极大地限制了编码速度的提高。为解决这个问题, 将整个编码流程分成三个大的模块 (如图3所示) 串接起来, 采用流水线的方式进行工作。
其中, GLGJ模块为概率估计模块, 其功能是根据上下文索引CX选择, 判决D编码所必需的概率估值和相关数值, 在各个上下文自适应更新数值;PJENCODER模块为判决编码模块, 其功能主要是进行MPS编码或LPS编码、重新归一化等主要数据处理进程;ENCODER模块为编码输出模块, 主要完成压缩数据的输出及编码终结等功能;由这三个模块组成三级流水线。
2.1 判决编码的化简
判决编码中先判断D的取值是“0”还是“1”, 如果D=0, 就进行0的编码;如果D=1, 那就进行1的编码。在“0”或“1”的编码中, 又要根据MPS (CX) 的取值, 判断是进行MPS编码, 还是进行LPS编码;在MPS和LPS编码中, 先更新区间宽度A的值, 即A=A-Qe[I (CX) ], 再判断A是大于还是小于Qe[I (CX) ], 由此与其他的一些条件决定最后的赋值方式。
上述过程包括ENCODE, CODE0/CODE1, CODELPS/CODEMPS五个子流程, 6个条件判断, 多次赋值, 降低了编码速度。对编码的判决条件进行整理, 减少不必要的赋值, 其Verilog代码如下:
由此可有效地减少不必要的寄存器和位数赋值, 加快模块的工作效率, 从而提高整个系统的工作频率。
2.2 重新归一化的加速
MQ编码器一方面在编码MPS时, 给代码C加上Qe值, 将概率区间A减为A-Qe;另一方面, 在编码LPS时, 代码C不变, 将概率区间A置换成Qe。如果将这样的区间划分运算进行下去, 在某一时间点上, 概率区间A就会比必要精度范围 (0.75A<1.5) 小, 这时就要通过重新归一化A与C维持精度范围。
重新归一化过程是根据条件 (A<0.75) :当条件成立时, 将区间寄存器A和代码寄存器C再左移1次, 使其大小加倍, 直到概率区间A的大小超过0.75。由此可见, 如果A的值很小, 则左移操作将会反复进行, 大大降低了编码速率。同时因编码中有MPS编码和LPS编码两种, 根据D的不同以及编码方式的不同, 重新归一化时移位的次数也不同。
因此为了提高速度, 并充分利用硬件的优势, 将Qe的移位次数作为寄存器数, 加入到概率估计表中 (表1所示) 。无论输入数据D为何值, 编码的判决都是以LPS或MPS为标准, 所以当判决为LPS编码时, LZEROS中的数据就决定了左移位的次数;当判决为MPS编码时, MZEROS中的数据就决定了左移位的次数。通过编程将扩展后的概率估计表, 以寄存器的方式固化在芯片内部[10], 虽然这样增加了硬件电路中寄存器的数量, 但可以通过一次性的直接查表得到判决编码和重归一化所需的数据, 提高了查找效率。由于每次编码都要用到该表, 访问效率很高, 这样大大加快了编码的速率, 同时便于流水线结构的实现。
2.3 编码输出模块的改进
标准MQ编码器中当输出计数器CT=0时, MQ编码器输出1个字节。标准中字节输出流程是串行执行的, 造成效率低下。又由于重新归一化过程采用了一次性的移位方式, 最大的移位次数可达15次, 且过程中伴随着字节输出。有三种可能情况:不需要进行字节输出, 需要进行1个字节或2个字节的字节输出。因此需要对字节输出机制作改进。这里将减法记数器CT改为5位的加法记数器, 并使用一个16位的数据缓存器。根据CT的取值, 判别输出的是0字节还是1字节或者2字节, 由此达到加速字节输出的目的。
3实验结果及分析
对所实现的MQ编码模块用Verilog HDL硬件描述语言进行RTL级描述, 在Xilinx ISE 7.1和Modelsim 6.1平台下进行功能验证和时序仿真。按字节输入测试码流:00 02 00 51 00 00 00 C0 03 52 87 2A AA AA AA AA 82 C0 20 00 FC D7 9E F6 BF 7F ED 90 4F 46 A3 BF, 得到结果码流为:84 C7 3B FC E1 A1 43 04 02 20 00 00 41 0D BB 86 F4 31 7F FF 88 FF 37 47 1A DB 6A DF FF AC。得到的结果与理论结果一致, 仿真波形如图4所示。
图4中D为输入的测试码流, CDH为输出码流。该设计在Xilinx的XA2C32A-6VP44器件上进行验证, 结果表明, 最高工作频率可达95.47 MHz, 较大地提高了编码速度, 能够满足JPEG 2000对高速编码的要求。
4结语
综上所述, 为了满足现在对JPEG 2000高速编码的需求。在对MQ编码器的流程及相关算法进行分析后, 利用现有FPGA的优势, 在采用三级流水线结构的同时, 对编码进行了优化;经Xilinx的FPGA器件实现, 不仅验证了该设计在功能上的正确性, 同时表明在编码速度上得到了很大的提高, 且最高工作频率可达95.47 MHz。
摘要:MQ编码器是JPEG 2000标准中重要的无损压缩算法, 可获得很高的压缩效率。但因其算法复杂度高, 执行速度慢, 使其应用受到很大限制。为了获得高速处理能力, 设计一种高速MQ编码器的VLSI结构, 采用三级流水线结构, 对算法进行优化, 并改进概率估计表内容。设计使用Verilog进行编程, 最后通过Modelsim 6.1进行仿真。实验结果表明, 该设计极大地提高了编码速度。这里的研究对于JPEG 2000在实际中的应用有着重要的意义。
关键词:JPEG2000,MQ编码器,VLSI,算术编码
参考文献
[1]Taubman David S, Marcellim Michael W.JPEG 2000图像压缩基础、标准和实践[M].魏江力, 柏正尧, 译.北京:电子工业出版社, 2005.
[2]Pennebaker W B, Mitchell J L, Langdon G G, et al.An Over-view of the Basic Principles of the Q-Coder Adaptive BinaryArithmetic Coder[J].IBM Res.Develop., 1988, 32 (6) :717-726.
[3]陈美丽、黄士坦.JPEG 2000中的EBCOT并行处理方法研究[J].计算机技术与发展, 2006 (6) :104-106.
[4][日]小野定康, 铃木纯司.JPEG 2000技术[M].强增福, 译.北京:科学出版社, 2004.
[5]Fang Chanchan, Ye Bing, Wu Biao.Design and Implementa-tion of the Parallel Huffman Decoder[J].Journal of HefeiUniversity of Technology, 2007, 30 (7) .
[6]Brady, Bosse F, Murphy N.Context-based Arithmetic Enco-ding for Compressing 2D Shape Sequences[A].IEEE Inter-national Conference on Image Processing[C].1997, 1 (10) :29-32.
[7]杜伟娜, 孙军.新一代静止图像编码系统JPEG 2000[J].电路与系统学报, 2002 (3) :72-76.
[8]王菊花.JPEG 2000中MQ算术编译码器的研究[J].空间电子技术, 2003 (1) :27-30.
[9]梁宏程, 陈常谦.自适应算术编码及其在JPEG 2000中的应用[J].计算机与数字工程, 2005 (7) :56-59.
[10]宋乾暾, 黄普明, 孙献璞, 等.JPEG 2000中MQ编码器的硬件高速实现[J].空间电子技术, 2005 (4) :25-29.
[11]王超, 曹鹏, 李杰, 等.一种基于提升的二维离散小波变换VLSI架构[J].现代电子技术, 2007, 30 (14) :114-118.
VLSI低功耗设计方法的研究 第2篇
近年来, 随着电路规模逐渐扩大, 其处理数据速度越来越快, 而其集成度也不断提高, 功耗越来越大。如今人们对便携式设备越来越依赖, 但其不给力的电池续航能力, 以及设备大功耗带来的温度过高而致系统不稳定的问题, 都迫使我们就如何降低大规模集成电路的功耗进行思考。选择合适的低功耗方法, 必须首先要对VLSI中芯片的功耗进行预估分析, 通过早期的分析, 我们可以使用不同设计层次的技术来降低大量的功耗, 从而更容易达到功耗的要求。下面本文主要对VLSI进行功耗分析, 并重点研究降低其功耗的设计方法。
2 VLSI功耗分析
VLSI中CMOS电路的功耗来源主要有两种:动态功耗和静态功耗。
2.1 动态功耗
(1) 开关功耗
开关功耗是指当反相器的输入是理想阶跃波时, 纯电容负载CL进行充放电所消耗的功耗。其公式为:
公式中, f为时钟频率, a为翻转活动因子, 也就是每个时钟周期中, 状态发生变化的器件的个数, Vdd为供应电压, CL为负载电容, 不仅依靠电路结构, 还依靠系统的输入类型。如图1所示为CMOS电路的开关功耗。
(2) 短路功耗
反相器输入是非理想阶跃波时, 会在输入波上升或下降沿的瞬间, 有一个N管与P管同时导通的区域存在, 这一过程引起的功耗我们称为短路功耗。其公式为:
公式中, IST为电路的短路电流值, VDD为电源电压值。如图2所示为CMOS电路的短路功耗。
2.2 静态功耗
静态功耗在理论上讲是不存在的, 因为在稳定状态下, CMOS电路不存在电源到地的直接路径。然而, 实事上, 扩散器与衬底间的PN结上会存在反向泄漏电流, 而造成一定的功耗。CMOS电路主要存在以下几种泄漏电流:栅泄漏电流、亚阈值泄漏电流、反偏结泄漏电流, 以及门栅感应漏极泄漏电流。这些泄漏电流所引起的功耗之和就是芯片的静态功耗。其计算公式为:
公式中, Ileakage为泄漏电流的值, Vdd为电源电压值。
通过上述分析, 动态功耗与静态功耗之和就是电路的总功耗:
其中, 短路功耗PS和静态功耗PL占总功耗的比例很小, 而且PS和PL与工艺密切相关, 在进行系统设计时很难控制, 因此本文主要是对如何降低电路的开关功耗进行讨论。
3 VLSI低功耗设计实现方法
降低VLSI功耗有很多方法, 主要分为对其系统层、算法层、结构层、逻辑层以及物理层的设计方法研究。其中对系统层、算法层和结构层的设计改善, 对VLSI整体功耗的降低有着非常明显的作用, 也是本文下面重点研究的内容。
3.1 动态功耗管理
动态功耗管理是系统层的低功耗设计技术, 主要是指对电路在正常工作状态时产生的功耗进行管理。在电路正常工作时, 由于各模块的活动级别有所不同, 因此有的会被系统调用, 有的不被调用。动态功耗管理的核心思想就是:在执行某一操作时, 将电路中不被调用的模块挂起, 来降低电路功耗。如在进行浮点运算时, 整数运算单元处于不被调状态, 我们可以将其挂起以降低功耗。
3.2 算法层设计技术
在这一算法级设计层面上, 我们通过使用恰当的编码技术来降低翻转活动, 从而来降低功耗。事实证明, 这是一个比较有效的方法, 对于如总线这种结点电容较大的信号线, 效果尤为明显。总线的编码技术有多种:如独热编码 (OneHot) 、格雷码 (Gray2code) 、T0编码等, 其中One-Hot编码通过对二进制数进行编码, 实现在一个二进制数中, 仅允许有一位不同于其它位的值。如表1所示, 为独热编码 (One-Hot) 与三位二进编码的比较。
从表1可知, 在连续变化时, 二进制编码可能会有多个数位同时发生变化, 而One-Hot编码仅有一个数位发生变化。这样在访问相邻两个地址内容时, 总线的翻转活动次数比较少, 从而来降低功耗。
在算法级设计中, 还存在一种基于减少翻转电容的设计方法, 主要是对执行算法所需的操作类型和操作个数进行充分考虑。不同类型的操作, 其所消耗的功耗也不同, 如乘法器操作的功耗要比加法器操作的功耗大, 因此我们既要减少算法的操作个数, 也要考虑操作的类型。
3.3 结构层设计技术
结构层也称为RTL (Register Transfer Level, 寄存器传输层) , 在这一层的设计中会常用到加法器、乘法器、存储器以及寄存器堆等。结构层的优化设计技术有并行结构、流水线结构等。
(1) 并行结构
如图3所示, 为16位乘法器应用参考结构与并行结构的比较图。
由图3可知, 并行结构是通过牺牲芯片面积来降低功耗的, 与参考结构具有相同的计算速度的前提下, 其工作频率能够降为原来的1/2, 而且电源电压也可以降低。并行结构将一个功能模块“复制”为N (N≥2) 份, 因为有N个同样的模块同时工作, 所以每个模块的时钟频率就成为1/N分频, 每个模块的工作速度同样降为原来的1/N, 基于上面公式中延时与工作电压的线性关系, 电路面积增长N倍, 同时电容增长N倍, 但电压和频率却下降N倍, 则最后功耗降低了N2倍。
并行结构可以应用多个单元并行, 但同时随着单元数的增加, 则可能会出现一些问题:一是芯片面积增大, 造成成本增加;二是布线长度增加, 造成线电容增加;三是电压的降低会受阈值电压的限制, 因此电压接近阈值电压时, 会造成延迟退化。基于以上问题的影响, 如果并行单元过多, 反而会使功耗增加, 所以在设计时要充分考虑这些因素, 从而使并行效果达到最优。
(2) 流水线结构
流水线结构的核心思想是:控制通过数据通路指令流, 来获得最大的吞吐量, 从而提高电路性能。这种结构将指令分为多个步骤, 利用模块的时钟周期来并行处理多条指令, 从而提高电路的性能。如图4所示为CPU的流水线结构图。
图4中将CPU数据通路分为5段流水作业, 其中每段由一个模块完成, 模块与模块之间插入寄存器来驱动这些模块。利用这种方法, 我们可以实现与并行结构相似的低功耗结果, 而电路面积其本保持不变。但流水线结构也有其自身的缺陷:一是这种结构设计具有较高的复杂性, 需要插入流水线寄存器, 从而会导致芯片面积增加, 而且由于寄存器还需要增加时钟控制, 这样就会造成时钟单元负载增大;二是在一些算法的流水线结构设计中, 会出现“管道冒险”现象, 损害流水线的操作效率。
4 结语
除了上面分析到的技术, VLSI低功耗设计技术还有多种, 如:阈值电压设计技术、门控时钟技术、SOI (硅绝缘体) 设计技术等。由于篇幅问题, 本文就不再详述。总之, 随着技术的发展, 人们已不只关心设备的运行速度, 还很关注设备的工作寿命。而高功耗必然会导致低寿命, 因此对器件的低功耗设计研究具有战略意义, 它关系到企业产品的市场竞争力, 甚至是企业的生死存亡。
由于作者水平有限, 本文还有很多不足之处, 希望通过今后不断的学习进步, 能对VLSI的低功耗设计方法有更深的理解与研究, 弥补本文的缺憾。
摘要:针对近年来VLSI功耗问题越来越被关注, 尤其是在电池供电的便携式设备中CMOS电路的功耗问题尤为重要。本文对VLSI的低功耗设计方法进行了研究, 首先对VLSI作了简介, 其次分析了VLSI的功耗来源, 最后就如何实现VLSI开关功耗的低功耗设计, 着重讨论了几项技术。本文对电子行业从业人员有一定的积极意义。
关键词:VLSI,CMOS,低功耗,设计方法
参考文献
[1]陈秀华.基于图论的VLSI中最小斯坦纳树问题及其改进算法[J].南京师范大学学报:工程技术版, 2015 (4) :47-52.
[2]许斌, 罗俊.VLSI CMOS模拟集成电路可靠性仿真设计技术[J].微电子学, 2013 (2) :250-256.
VLSI结构 第3篇
在AVS解码过程中,插值滤波是主要的运算和访存瓶颈,如何在保证预测准确性的前提下,提高插值运算的速度成为重要的研究课题。目前文献中所提到插值算法的硬件实现一般采用基于片上的SRAM或者外部的DRAM存储单元,依靠增加流水线使性能提高、这种方法主要通过提高系统的工作频率来提高性能[1][2]。但是,当频率提升到一定程度后,单纯依靠增加流水线改善系统的性能效果不再明显。本文采用并行处理方法,设计了一种新的基于移位寄存器的寄存器文件作为插值器内部像素存储器,提高了并行处理时对内部存储的存/取效率,同时将脉动阵列结构引入到AVS插值滤波器实现中,有效提高了插值运算的速度。为了能得到更高的性能,本文最后完成了详细的布局规划,并给出了布线后的版图。
1 AVS分数像素插值算法
AVS标准采用1/4像素精度的运动估计与补偿。由于1/4像素精度编码效率明显比1/2像素精度高,而1/8像素精度除了在高码率情况外编码效率相对于1/4像素精度没有明显提高,并且1/8像素内插更复杂,因而采用1/4像素精度的运动矢量模型在不影响性能的情况下减小了运算复杂度,降低了数据存取带宽需求。
AVS视频编码标准中,首先对亮度进行1/2样本和1/4样本的插值,然后根据运动矢量得到相应的参考样本。参考图像整数样本、1/2样本和1/4样本的位置如图1所示[3]。
计算分数样本位置预测值时,使用两步四抽头(Two Steps Four Taps,TSFT)插值算法[4]。第一步使用滤波器F1 (-1,5,5,-1)对整数样本进行滤波得到1/2样本位置预测值;第二步使用滤波器F2(1,7,7,1)对整数样本及1/2样本滤波得到水平或垂直1/4样本位置预测值。对角1/4样本位置预测值由整数像素和对角1/2样本位置预测中间值相加得到。
2 AVS插值器的VLSI结构设计
2.1 运动补偿插值器整体结构
运动补偿插值过程对数据的处理采用块处理方式,每次处理一个88子块。由于对外部存储器的读取相对较慢,而插值过程需要频繁地对块中的数据进行读取,所以需要在插值器中设置存储单元来存放这些数据块。另外,在插值过程中会有许多中间结果需要存储,如求1/4样本位置预测值过程中产生的1/2样本(bh类、j类像素)位置预测值,因此还需要设置一些存储单元来暂存这些数据。
系统的架构如图2所示。插值器根据运动矢量MV(motion vector)从外部SDRAM帧存储器读取整数样本数据存入内部存储器,根据传输位宽的不同,需要几个到一百多个时钟周期。为了减少运算单元对整数数据传输的等待时间,使用2个存储单元整数像素存储器0和整数像素存储器1存放输入的整数数据,每个存储单元存放一个用于插值的块。2个存储器进行“乒乓”操作,当其中一个接收从外部SDRAM帧存储器输入的数据时,另一个输出数据到运算单元进行插值运算。反之亦然。这样有效地减少了运算单元等待数据传输的时间。bh类像素存储器和j类像素存储器用于暂存水平/垂直1/2像素中间值和对角1/2像素中间值。
在图2的结构中,为了使设计能够满足高清视频的处理要求,采用并行处理的方式来提高整个插值过程的处理速度,以降低对系统时钟频率的要求。计算单元1/2像素插值滤波器与1/4像素插值滤波器从相应的存储器(整数像素存储器0,整数像素存储器1,bh类像素存储器、j类像素存储器)中读取4行/列数据进行4路并行计算。计算结果经4路调整与限幅单元处理后得到最终插值结果。通过以上方法,采用88的块插值运算,每个宏块最多只需要84个周期就可以完成。
为了进一步提高插值器的性能,对结构中存在较长的组合路径,通过在其中插入寄存器组(register bank)构成流水线来缩短这些关键路径上的延迟。
2.2 基于移位寄存器的寄存器文件设计
当前AVS解码器中插值电路使用的内部像素存储器都是基于片上SRAM存储器或者片外DRAM,存取相应的块单元时需要复杂的地址产生逻辑并且需要频繁地访问RAM。为了有效满足系统并行处理的要求,避免产生复杂的地址逻辑,并且减少对外部存储器频繁的访问,设计了一种基于移位寄存器的多端口寄存器文件实现整数像素存储器以及bh类像素存储器与j类像素存储器,其结构如图3所示。
系统采用4路并行运算,整个寄存器文件能够根据输入的行/列地址信号选择某4行/列,在读/写信号及时钟的控制下,进行行移位或者列移位。在读信号有效时,采用循环移位的方式,在将4行/列数据并行输出的同时,数据仍保留在存储器中,当4行/列数据完全输出时,寄存器文件中的内容恢复到与输出前相同;在写信号有效时,采用非循环移位的方式,移入新数据的过程中将旧的数据移出,4行/列新数据全部移入时旧数据全部清除。支持行/列移位的寄存器文件的基本存储单元结构如图3右上角圆圈中电路所示。寄存器文件存储单元可以根据行列选择信号及行列使能信号控制寄存器D的输入信号选择行输入或者列输入并控制使能信号有效/无效,从而实现行/列移位或者保持。
2.3 插值运算单元结构设计
在插值处理过程中,对处理速度影响最大的是对4抽头插值滤波器F1 (-1,5,5,-1)和4抽头插值滤波器F2(1,7,7,1)的设计。
对于4抽头插值滤波器F1,输出为:
为了提高处理速度,减少结构中的关键路径延迟,同时得到规则的数据流,使用脉动阵列形式实现F1滤波器。
脉动阵列表示一种有节奏地计算并通过系统传输数据的处理单元(processing elements,PE)网络。这些处理单元规则地泵入泵出数据以维持规则的数据流。脉动阵列的特征是模块化和规则化,这对VLSI设计是很重要的性质[5]。
使用线性空间映射技术将插值滤波器F1的依赖图映射成脉动阵列[6],得到脉动阵列边的映射表,如表1所示。
根据表1,此脉动阵列结构权重保持,输入广播,输出有1个延迟且逆PE的方向传播,得到F1脉动阵列结构的框图如图4(a)所示。
由于权重保持,权重边的一个延迟时间可以去掉,同时由于在AVS标准中滤波器F1的系数/权重为(-1,5,5,-1),相乘可以化为加/减法与移位相加,最终实现架构如图4(b)所示。
插值滤波器F2完成TSFT算法的第二步,即计算1/4样本位置预测值。F2的输出为:
其中,x(n)为第n点输入,Y2(n)为第n点的输出。
对于某一位置的1/4样本预测值,x(n-3)的值必须为确定类型点的值(如求图1中a点时x(n-3)的值必须为水平1/2像素点),Y2(n)的输出才是所求点的预测值,故Y2(n)每2个周期才能输出一个预测值。为了与F1的输出速率(每个周期输出一个值)相适应,需要将F2的输出速率提高到每个周期输出一个值。将F2的表达式展开[6],取其偶数项输出,得到:
在这种结构中,求1/4像素精度所用到的2种类型的位置点同时输入到F2滤波器,滤波器每个周期输出1个值,提高了处理速度。
3插值器性能分析及设计实现
将插值器放入AVS解码器环境中,采用forman、mother及suzie3个经典码流进行测试。不考虑块像素数据存入内部寄存器文件的延时,使用VCS-C2009.6仿真,结果如表2所示。
从数据的比较上可以看出,采用本文提出的架构所实现的AVS插值器,能够极大地减少插值所需时钟数,系统的性能提高了70%左右。
分别使用TSMC 0.13μm工艺库与TSMC 65 nm工艺库综合后得到性能参数如表3所示。
根据表3,系统在使用130 nm工艺实现时,时钟频率可以达到400 MHz,每秒处理宏块1 190 476~2 777 776块。而在65 nm工艺下,频率可以达到800 MHz,每秒处理宏块2 378 570~5 550 000块,远高于数字高清视频所要求的每秒处理244 800宏块。所以系统能够非常高效地实现高清视频的插值运算,这样就留出足够的时序冗余来进行数据传输等相关操作,以及后续的低功耗优化和面积优化。
深亚微米下,电路的互连线延迟已经超过标准单元本身的延时,所以只有仔细进行版图规划以及布局布线,才能确保电路正确地工作在系统所要求的频率下。
采用此种布局规划,经过仔细的布局布线后,将本设计作为硬IP应用到AVS顶层模块中,整个电路能够工作在300 MHz频率下。
AVS高清视频编解码插值模块需要非常高的性能,本设计通过采用并行处理,设计了一种新的基于移位寄存器的寄存器文件,有效提高了系统的并行度。同时,将脉动阵列应用到AVS插值滤波器设计中,提高了系统的处理速度。仿真与综合结果表明,设计能够非常高效地完成宏块的插值运算,很好地满足了AVS高清视频实时解码的要求。
参考文献
[1]王俊,张盛兵,黄晁.AVS解码中插值算法的硬件实现.火力与指挥控制[J],2008(12):140-143.
[2]邵楠,刘佩林,周大江,等.AVS运动补偿电路的VLSI设计与实现.信息技术[J],2006(12):22-24.
[3]2004GB/T200090.2-2006.信息技术-先进音视频编码,第二部分:视频[S].
[4]WANG Rong Gang,HUANG Chao,LI Jin Tao,et al.Subpixel motion compensation interpolation filter in AVS[C]. IEEE international Conference on Multimedia and Expo (ICME),2004:93 -96.
[5]PAN Sung Bum,PARK Rae-Hong.New systolic arrays for computation of the 1-D discrete wavelet transform[C]. Acoustics,Speech,and Signal Processing,1997.ICASSP-97., 1997 IEEE International Conference,1997,5(4).
VLSI结构 第4篇
可变尺寸块运动估计VBSME (Variable Block Size Motion Estimation) 是MPEG4/H.264标准中一项新的编码技术。它通过将宏块划分为更小尺寸的像素块进行运动估计,能够精准地捕捉每个方向的运动,相较于传统的固定尺寸块运动估计能够大大减小误差,达到更准确的预测效果。以H.264为例,它将一个1616的宏块划分成44, 48, 84,88,816,168,1616 ,7类41个小块进行运动估计,最终选中Rate-Distortion(即率失真理论,研究不同类型的信源在各种失真限度下所需的最小信息率)最优的块模式作为该宏块运动估计的结果。传统的固定块运动估计需要大规模的运算且需占用较大传输带宽,目前脉动阵列和片上寄存器组已被应用于解决这些问题。但是随着VBSME的应用,ME结构需要解决的问题,就变得更为复杂。
1 VBSME算法及结构设计的主要考虑因素
固定块匹配的运动估计,是对当前帧中的每一宏块,在先前帧的一定搜索范围内(通常水平范围为-Px~Px,垂直范围为-Py~Py)找到其最匹配的块所在的相对位置。这个相对位置就是最后要找的运动矢量。计算公式为:
SAD(m,n)=∑∑|C(i,j)- S(i+m, j+n)|
其中,(m,n)表示候选块相对于当前块的偏移量,SAD(m,n) 表示候选块在偏移量为(m,n)时与当前块的偏差值。运动向量为:MV={(u,v)|SAD(u,v)SAD(m,n); -Pm, nP} 其中-P到P表示水平和垂直方向的搜索范围。而VBSME的计算方法则是将模块分成7类不同尺寸的小块分别进行计算,其中每一个小块都是由不同规模的PE阵列组成。将不同规模的PE阵列值累加能分别得到各种尺寸划分下的运动估计结果,这就是VBSME的思想。本文对近年提出的一些典型可变块运动估计结构进行分析,总结出下面几个VBSME结构设计的主要考虑因素。
1.1 阵列维数的选择
对文献[1,2]研究发现,一维阵列使用inter结构将SAD部分和存储于每个PE中,设计原则简单,但是该类设计普遍具有高延迟、低吞吐率的问题,不适合高质量的实时编码。二维阵列多属于intra型结构,一个周期通常可以完成一个宏块的SAD计算,具有低延迟、高吞吐率的特点。若将二维阵列应用到VBSME中,也会继续保持这些高性能的处理特性。
1.2 传播寄存器开销的选择
SAD部分和的流水会带来传播寄存器的开销。为实现可变块的运动估计,这一开销被进一步加大。以文献[3]为例, 率先生成的SAD部分和需要在传播寄存器中延迟一段时间, 以等待其他SAD部分和的产生。然后再由累加器将各部分的SAD值进行累加。共需要的延迟寄存器为64+96=160个。作为改进,新近文献开始倾向于没有SAD部分和传播的结构。例如文献[4],通过实现同一搜索位置各像素SAD的同步计算,能在每一拍得到同一个搜索位置全部像素的SAD偏差。但是因每拍都需向阵列更新全部参考像素,如果每次都直接从内存取数会带来严重的带宽负担,因此考虑加入额外的缓存来存储参考像素。但如果数量过大又会在面积、功耗和延迟方面带来较大开销,因此需要在设计时进行权衡。这也是本设计所优化的一个方面。
1.3 数据重用的选择
数据重用率是指在一帧运动估计的过程中,单个参考像素从内存读入阵列的次数。数据重传次数越多,占据的存储带宽、功耗都越大,所以降低重传率也是性能优化的主要指标。例如文献[4]将搜索块数据用蛇形移动的方式传输,能实现列方向100%的数据重用率。文献[5]用FIFO取得相邻搜索位置的数据重用,且缓存阵列的规模越大数据重用效果越好。但是缓存本身也会带来相应的开销。所以如何折中也是设计需要考虑的重要因素。
1.4 存储带宽设计
存储器带宽和数据重用设计紧密相关。数据的重用率越高,带宽需求就越小。这两个因素需一起考虑以做出最优的设计折中。
综上所述,VBSME结构的设计需要对阵列维数,传播寄存器开销,搜索数据重用以及存储带宽四个因素作出安排。本文基于上述4个因素,提出一种新的应用于VBSME的VLSI结构:选择适用于高质量实时编码的二维intra型结构,并将输入端口扩展到16个以大大减少对同步延迟寄存器的依赖。而面对增加输入端口所带来的带宽增加,则通过在存储器和PE阵列之间引入中间Cache而得到有效缓解。并且每个输入端口在输入时依然采用蛇形串行输入,在保持列方向数据重用率的同时也实现了每一个时钟节拍都输出一个宏块7类41个SAD值,实现了并行计算。
2 改进后结构的原理,架构分析
2.1 整体结构
如图1所示,共需要用到13个模块,分为3层。最核心的计算模块是VBSME,它内部有3个主要的模块。其中VBSME_ARRAY模块是1616的脉动阵列(256个PE),由16个负责44阵列计算的PE_ARRAY组成,通过相应的SAD累加计算,生成H.264可变块运动估计需要的41个MV。这些MV会被送入MV Comparator模块产生最终的运动估计结果,再送入相应的MV Memory模块以供视频编码系统的下一个流程使用。而与VBSME相互作用的几个重要模块还包括:负责全局时钟生成的Counter,负责阵列控制信号生成及数据流向控制的CTL,负责内存访问地址生成的AGU,负责在内存与寄存器供数阵列之间提供缓存区域的Cache以及直接给VBSME阵列输送数据的DF模块等。最外围的还包括存储当前帧、先前帧以及MV结果的Memory等模块。以上过程能在每个时钟节拍完成7种块模式的计算组合并找出每种模式下最小的SAD以及完成41个运动向量的记录,最后将比较后的最佳运动向量输出作为运动估计的结果。
2.2 脉动阵列基本结构
以44PE阵列为例,其采用的脉动阵列当前宏块和先前宏块都用一个端口送数。当前宏块数据被预先存储在相应PE的RAM中,先前块数据可以在PE阵列中横向和纵向循环移动。因此,当前和先前搜索块的数据只需要输入一次,横向和纵向相邻当前块的搜索区数据都能够重用,达到100%的数据重用率,存储器I/O带宽最小。
2.3 延迟寄存器优化
不难发现,上述结构需要为PE_Array之间的组合和同步付出巨大的延迟寄存器代价。上文提到-P到P表示水平和垂直方向搜索范围,那么每个PA所需延迟寄存器个数为 Cnt1=(2P+2)3=343=102,再将16个PA同步为48, 84, 88, 816, 168, 1616的组合需要延迟寄存器总数为Cnt2=8n+(2P+2)48+4n+2n2+(2P+2)28,累加总和为3328。仔细观察可以发现正是2P+2这个因子成为全局延迟寄存器数目下降的瓶颈。对应阵列结构的调度可以发现因子(2P+2) 的物理意义为相邻2列PE的计算启动延迟,所以如果能让尽可能多的相邻PE同时启动计算,则延迟寄存器总开销会进一步下降。不少研究提出了经过改进的脉动阵列结果,以优化对延迟寄存器的利用,见文献[6,7,8]。本文结构提出将输入总线增加到极限16根。如图2所示,这样用于水平方向同步的延迟寄存器开销将降低至0,只需要保留用于纵向同步的延迟寄存器,数量为12n=48这样延迟寄存器的使用量变为原来单端口送数情况下的15%的带宽负担。
2.4 PE结构的优化
对于当前块像素的存储,在当前参考块运动估计前,其像素值被预存到PE寄存器中,在进行当前参考块运动估计的时候,下一参考块的对应像素值就要被预存入相应的PE中,其中RA1和RA2就是两个用来交替存放当前和下一个参考块的相应像素数据的寄存器,这样在相邻参考块切换时可以达到运动估计切换无停顿的效果。而先前宏块数据,经由存储器->Cache ->DF广播->寄存器阵列,每一拍都接受从DF实时传过来的数据。
2.5 存储器、带宽的优化和Cache的引入
能否充分利用存储器的IO,是减少存储器面积和功耗的重要因素。前面已经提到,当前宏块的数据(1616像素大小)是提前一定时钟节拍预存在PE阵列中的,其所对应的搜索范围是(32+16) (32+16)。为了在边界像素搜索时便于总线切换和带宽利用,参考文献[9],将搜索区域上半部分的数据存在Mem0,下半部的数据存在Mem1中,分别对应1套总线中的2根线,这样能实现边界切换无停顿。由于本结构需要16套总线同时送数,而总线条数的增加会同时增加访问内存的带宽负担,所以在内存和寄存器阵列之间添加了一个Cache,能够缓存从memory取出的搜索区像素,分别延迟相应的时钟节拍后再从Cache并行输出。这样每个时刻不需要从内存并行读出16列搜索区域的值,而可以只从memory串行读出相应数据到Cache缓存后再输出。数据调用如图3所示,搜素区域所对应的存储器空间被分为Mem0和Mem1两个部分,分别存储了(32+16)(32+1)和(32+16)15个像素值,存储器里数据读取的地址则按照图3(a),图3(b)箭头指示的方向增加,每个时钟节拍分别读取一个像素值输入右边的Cache。如图3(c),3(d)所示,Cache实际由寄存器组构成。从Mem中取出的数在Cache中分别延迟32n或16n个时钟节拍后输出(n=1,2,48)。从而使得存储器中相邻位置的像素列能通过Cache并行输出,再广播给PE阵列使用。数据的采用,控制是通过Controller和Counter来实现的。
2.6 优化后的脉动阵列数据流调度
当前帧的每一宏块被划为1616=256像素大小,对应参考帧里面(16+32)(16+32)的搜索区域。每次当前宏块切换前,下一宏块的数据都被提前一定时钟节拍存入PE阵列的RA1或RA2中,根据时序控制选择RA1或RA2输入SAD进行累加。而参考帧相应搜索区域的列像素则被串行从Memory中读出,经过Cache阵列后将对应列数据并行输出,并经DF广播后输入寄存器阵列。相当于当前列所对应的每一先前列都被广播成16行以水平方向输入当前列,使得PE阵列中的每一列PE都按照一拍启动一个的时序从上到下启动。而水平相邻的PE列相互间同时启动。从起始时刻开始,每一拍都能计算一位像素的SAD,每4拍完成一个44SAD的计算并累加,到第16拍时完成第一个1616阵列的7类41个SAD累加,之后每一时钟节拍都能算出41个MV。对于相邻列的搜索区域数据还通过Cache间隔32或16个时钟节拍的延迟后输出使得相邻列的数据能够达到100%数据重用。在当前宏块从搜索区域的MEM0切换到MEM1时,以44PE阵列为例,2根总线切换对PE阵列供数,实现了边界切换无停顿。搜索块和当前块数据如此配合调度,能使PE阵列规整流畅地处理数据,且中间没有任何停顿和等待。
3 结束语
本文针对以上硬件结构,完成了C语言级功能仿真和Verilog的RTL级设计,选择2帧CIF图像进行处理,实验结果表明,设计功能完善。
本文给出一种用于H.264全搜索可变块匹配算法的运动估计电路的改进结构,并完成了VLSI设计的仿真验证。在传统脉动阵列,全流水线设计的基础上,通过引入片内Cache, 增加输入端口,实现搜索区数据100%重用率,且大大减少了对延迟寄存器的依赖,进一步降低了功耗,具有较强的实用价值。
参考文献
[1]Liu K and Feig E.A Block-Based Gradient Descent Search Algo-rithm for Block-Based Motion Estimation in Video Coding[J].IEEETransactions on Circuits and Systems for Video Technology.1996,6(4):419-422.
[2]Yang K M,Sun MT,Wu L.A family of VLSI Design for the Mo-tion Compensation Block-Matching Algorithm[J].IEEE Transac-tions on Circuits and Systems.1989,36(10):317-325.
[3]Huang Y W,Wang TC,Hsieh B Y,et al.Hardware architecturedesign for variable block size motion estimation in mpeg-4 avc/jvt/itu-t h.264[C]//Proceedings of ISCAS 2003,2003,2:796-788.
[4]Chen C Y,Chien S Y and Huang Y W,et al.Analysis an architec-ture design of variable block-size motion estimation for h.264/avc[J].IEEE Circuits and Systems,2006,53(3):578-593.
[5]Wei C,Gang M Z.A Novel VLSI Architecture for VBSME inMPEG-4 AVC/H.264[J].IEEE Int.Sym.on Circuits and Sys-tems(ISCAS’05),2005,11:1794-1797.
[6]Liu Li-Chang,Chien Jong-Chih,Henry Y-H Chuang,et al.AFrame-Level FSBM Motion Estimation Architecture with LargeSearch Range[C].Proceedings of the IEEE Conference on Ad-vanced Video and Signal Based Surveillance,2003:1-6.
[7]Masoud Mohammadzadeh,ECE Faculty.An Optimized Systolic Ar-ray Architecture for Full Search Block Matching Algorithm and itsImplementation on FPGA chips[Z].IEEE,2004:1-5.
[8]金涛.全搜索运动估计结构的研究与设计[D].上海交通大学硕士论文,2008:46-50.
VLSI结构 第5篇
互连线电迁移是VLSI电路最重要的失效机理之一[1], 随着VLSI技术的不断发展, 电路集成度不断提高, 特征尺寸不断减小, 流过互连线横截面的电流密度急剧增大, 使得电迁移失效问题更为突出。为了可靠性工程的应用, 新型的VLSI互连线电迁移损伤的表征技术就变得越来越重要了[1]。
以往研究主要是通过寿命试验[2]或者是电阻测量[3]来表征电迁移。已经通过实验证实了互连线中空洞的形状、大小与电阻变化的关系[3], 并发展出了多种测量金属互连线电迁移早期电阻变化的技术[3]。其中最先进的就是高分辨率电阻测量 (HRRM) 方法[4]。这种方法可以在较短时间内获取关于互连线电迁移的信息, 并对互连线中期失效时间 (MTF) 做出预测。但由于HRRM方法测试条件苛刻, 设备复杂, 要求精度高, 因此妨碍了它的广泛应用。而且这种方法具有破坏性, 不能用于内建可靠性的SPC工艺控制过程中。
研究发现, 互连线初始电阻低频噪声幅度与其寿命存在反比关系[5,6]。随着互连线电迁移损伤程度的不断加深, 1/fγ噪声参数会出现较大变化, 其中功率谱幅度急剧增大, 频率指数γ从1增大到2[5,6]。这些实验现象都表明, 1/fγ噪声测量极有可能成为一种敏感的互连线电迁移的有效监测手段。而且与传统的HRRM相比, 低频噪声表征方法具有速度快、非破坏、设备简单等优点, 因此引起了人们的广泛兴趣。
比较HRRM方法和低频噪声表征方法, 判断哪种方法在表征电迁移损伤方面更敏感, 首先要判断2种检测方法的敏感对象是否就是电迁移所引起的损伤, 其次就是要比较2种表征方法的相对敏感性问题。
对电迁移过程中电阻的变化, 一般认为有2个原因[3], 其一是由于金属条自加热效应所引起的电阻增大, 这个过程主要发生在实验的开始阶段, 等系统达到热平衡以后, 这种变化趋于稳定;其二是由于电迁移过程所产生的空洞引起的电阻增大, 这一部分的变化能真实反映电迁移损伤的情况。对于低频噪声, 大家一般都认为, 金属薄膜中的1/fγ噪声起源于金属互连线中杂质或缺陷的随机运动[7], 这些随机运动会改变它们的散射截面, 从而引起被散射载流子运动的涨落。随着电迁移损伤程度的增大, 金属中的缺陷浓度也会不断增大, 低频噪声参数也会因此而产生变化。
本文在深入了解电迁移和噪声产生物理机制的基础上, 结合逾渗理论[8], 建立了电迁移过程的偏置逾渗模型和噪声产生的随机扩散逾渗模型。并在二维随机电阻网络上模拟了Al基互连线的电迁移过程, 计算了电迁移过程中互连线电阻和电迁移噪声参数的变化趋势。通过对实验结果比较, 发现低频噪声参数变化对电迁移损伤更敏感。它有望作为一种更敏感的新型电迁移损伤检测方法。
1电迁移的逾渗模型
电迁移是互连线中金属离子在电子风力的作用下, 产生的质量输运过程[9]。当电流流过互连线时, 其中的金属离子会受到电场力和电子碰撞力的同时作用。在这种作用下, 金属离子可能离开平衡位置, 产生空位。随着空位浓度的增大, 会出现空位成团效应, 产生较大体积的空洞。这样互连线会出现电阻急剧增大或者断路现象。
逾渗理论是处理几何相变问题强有力的工具, 根据逾渗理论, 将金属薄膜中对电迁移起主导作用的一块面积等效成NN的二维随机电阻网格。如图1所示, 把互连线的导电问题等效成一个几何连接性问题, 整个网格的总电阻数为Nt=2N2, 每个单元电阻的初始阻值为r0。在电迁移过程中, 产生一个空位即等效为电阻网络中产生一个阻值为R的缺陷电阻。其中, R≫r0。
在环境温度T0, 给网络加上恒流偏置I, 这时网络将发生电迁移。在电迁移过程中, 每个单元电阻的阻值随其所处格点位置的温度变化而变化:
式中:rn (Tn) 为第n个格点位置温度为Tn时的电阻值。由于金属薄膜的自加热效应, 第n个格点位置的温度受3个因素影响, 即环境温度T0、电阻的自加热以及与相邻电阻之间的热交换, 因此:
式中:A, B为常数;N为与第n个格点单元电阻的最近邻电阻数;in为流过rn的电流。根据电迁移机理, 这时第n个电阻处产生一个非导电缺陷的概率为:
式中:ED为不存在电流作用时, 缺陷产生的特征激活能;H为一个与材料、微观结构、空洞特征尺寸有关的常数;in为流过第n个电阻的电流;kB为波尔兹曼常数。缺陷一旦产生, 将会由于机械应力作用以及原子的热运动而复合, 使该空位重新被填充, 位置恢复到原来的状态。缺陷复合的概率为:
式中:ER为缺陷复合的特征激活能, 由于这个复合过程主要是由于机械应力和原子热运动驱动, 所以特征激活能是一个与微观结构有关的常数。
通过以上的迭代过程, 就可以得到每次循环后网络的电阻分布。应用传输矩阵方法, 可以计算得到网络的总电阻RZ。通过多次循环, 就可以计算得出RZ随着电迁移过程的变化曲线。
2噪声模型
金属薄膜中的1/fγ噪声起源于金属互连线中杂质或缺陷的随机运动。在电迁移过程中, 金属离子在电子风作用下会离开平衡位置产生空位。这些空位形成的散射中心会随机运动, 随机改变散射截面, 引起被散射载流子运动的涨落, 从而产生1/fγ噪声。
通过电迁移损伤过程的模拟, 就可以得到不同损伤时刻, 互连线中缺陷的浓度和分布。这样通过以下的噪声模型, 就可以模拟得到电迁移噪声。
在电迁移过程中, 随着缺陷的产生, 电阻网络中出现2种电阻。一种是常规电阻, 另一种是缺陷。金属薄膜中的1/fγ噪声起源于金属互连线中杂质或缺陷的随机运动, 这些随机运动会改变它们的散射截面, 从而引起被散射载流子运动的涨落。在随机电阻网络中, 将空位的随机运动等效为以下过程。对于随机电阻网络中的每一个缺陷, 每隔一个时间段τ0, 都按照概率与相邻电阻交换位置。缺陷一旦移动到某一位置, 将在该处的停留
对于一个缺陷浓度和分布一定的网络, 按照以下算法计算电阻噪声:首先计算计算网络的总电导G0。然后每隔一个时间段τ0, 让缺陷进行一次随机运动。接着计算缺陷随机运动以后的网络的总电导Gn。这时网络电导净涨落ΔGn=Gn-G0。重复该过程100 000次, 就可以得到互连线电导涨落ΔG的时间序列。对该时间序列进行傅里叶变换, 就得到了噪声功率谱, 再通过曲线拟合可得到频率指数。这样就可以求得电迁移过程重任一时刻的噪声功率谱极其参数。
3模拟结果与分析
根据以上模型, 应用蒙特卡罗方法对电迁移过程进行模拟。每执行100个循环的损伤过程加以模拟, 计算一次网络总电导, 同时用该时刻得到的电迁移损伤网络进行1次电阻噪声模拟。这样就可以得到电迁移损伤不同时刻的网络总电导以及噪声时间序列。并由此计算出噪声的功率谱幅度和频率因子。
根据Al互连线的相关特性, 模拟过程中各常数取值如下[6]:N=100, r0=1 Ω, R=100 000 Ω, α=10-3 K-1, T0=300 K, A=5105 K/W, B=3/4, N=6, I=1.8 A, H=0.003 5 eV/A, ED/kB=2 000 K, ER/kB=2 500 K。为了消除数值计算误差和不确定性, 在模拟过程中, 计算的每一个量都重复进行30次, 并取平均值作为最终结果。
图2所示为模拟得到的电迁移过程中电阻相对变化曲线。
从图2中可以看出, 随着电迁移应力时间的增加 (模拟中以循环次数来表示) , 金属互连线的电阻不断增大。从微观机理上讲[3], 这是因为随着电迁移的不断进行, 金属互连线中不断产生空位, 空位的出现会在金属晶格中增加相应的势垒, 对导电电子产生散射作用。空位浓度越大, 散射作用越强。随着应力时间的增加, 金属互连线中的空位浓度也不断增大, 从而导致互连线电阻不断增大。从宏观上来讲, 随着电迁移的不断进行, 在金属条中空洞的浓度不断增大, 减少了金属条的有效导电横截面积, 使电阻不断增大。从逾渗理论的角度来说电迁移过程中在电阻网络局部出现绝缘性的缺陷电阻, 随着电迁移的不断进行, 电阻网络中缺陷电阻浓度不断增大, 致使导电电阻产生逾渗的几率不断下降, 使缺陷电阻产生的不导电逾渗几率不断增加, 最终导致系统的电导性能下降, 电阻增大。
由于低频1/fγ噪声对电迁移损伤很敏感, 因此选取3 Hz下的点频噪声功率谱作为研究对象。图3所示为模拟得到的点频噪声功率谱幅度的变化曲线。从图3中可以看出, 随着电迁移应力时间增加, 点频噪声功率谱也不断增大。而且其变化范围很大, 在10-9~10-4之间。金属薄膜中的1/fγ噪声起源于金属互连线中缺陷的随机运动[4], 随着电迁移的发展, 金属条中的缺陷浓度不断增大, 缺陷总的随机运动也不断增强, 从而被散射载流子运动的涨落也不断增强, 此时的点频噪声功率谱幅度不断增大。
图4所示为电阻和点频噪声功率谱幅度相对变化的比较。其中矩形点曲线为点频噪声功率谱密度变化曲线, 椭圆形点曲线为电阻相对变化曲线。从图中可以看出, 随着电迁移的进行, 点频噪声功率谱密度和电阻变化率都都不断增大。但是其在变化幅度上相差很大, 电阻变化率的变化在一个数量级以内, 相对变化量约为4%;而点频噪声功率普密度的变化超过3个数量级, 从10-9数量级增大到10-5数量级。而噪声点频功率谱的变化量为电阻相对变化量的105倍以上。这说明在电迁移过程中, 对于电迁移引起的缺陷, 点频噪声功率谱密度的变化要远远敏感于电阻的变化。加之电阻变化测试条件苛刻, 设备复杂, 要求精度高, 而低频噪声测量方法具有速度快、非破坏性和设备简单等优点, 因此是一种极具潜力的金属互连线电迁移损伤检测方法。
4结语
本文在深入了解电迁移和噪声产生物理机制的基础上, 结合逾渗理论, 建立了电迁移过程的偏置逾渗模型和噪声产生的随机扩散逾渗模型。并在二维随机电阻网络上模拟了Al基互连线的电迁移过程, 计算了电迁移过程中互连线电阻和电迁移噪声参数的变化趋势。发现随着电迁移应力时间的增加, 互连线电阻和点频噪声功率谱密度都不断增大, 前者的相对变化在一个数量级以内, 变化量约为4%, 而后者的相对变化超量过3个数量级, 从10-9数量级增大到10-5数量级, 是前者相对变化量的105倍以上。加之电阻变化测试条件苛刻, 设备复杂, 要求精度高, 而低频噪声测量方法具有速度快、非破坏性和设备简单等优点, 因此是一种极具潜力的金属互连线电迁移损伤检测方法。
摘要:在电迁移物理机制的基础上结合逾渗理论, 建立了一种金属互连线电迁移的逾渗模型。基于该模型, 采用蒙特卡罗方法模拟了超大规模集成电路 (VLSI) 金属互连线电迁移过程中电阻和低频噪声参数的变化规律。结果表明, 与传统的电阻测量方法相比, 低频噪声表征方法对电迁移损伤更敏感, 检测的效率更高。该研究结果为低频噪声表征VLSI金属互连线电迁移损伤的检测方法提供了理论依据。
关键词:电迁移,LF噪声,逾渗模拟,敏感性
参考文献
[1]OATES Anthony S.Electromigrationfailure of contacts andvias in sub-micron integrated circuit metallizations[J].Mi-croelectronics and Reliability.1996, 36 (7) :925-953.
[2]KAZUHIKO S, KAZUSHI N, HIROYUKI K.Experi-mental verification of prediction methodfor electromigrationfailure[J].Polycrystalline Lines, 2000 (4) :72-78.
[3]JONATHAN C D, JOHN C B.The evolution of the resist-ance of aluminuminterconnects during electromigration[J].Microelectronics Reliability, 2000, 40 (6) :981-990.
[4]庄奕琪.微电子应用可靠性技术[M].北京:电子工业出版社, 1996.
[5]马仲发, 庄奕琪, 杜磊.栅氧化层击穿的统一逾渗模型[J].西安电子科技大学学报, 2004 (1) :54-58.
[6]MA Z F, ZHUANG Y Q, DUL, et al.Apercolation studyof RTS noise in deep sub-micron MOSFET by Monte Carlosi mulation[J].Chinese Physics, 2005, 14 (4) :808-811.
[7]LABIE R, WEBERS T, BEYNE E.A modified electromi-gration test structure for flip chip interconnections[J].Components and Packaging Technologies, 2006, 2 (3) :508-511.
[8]马仲发, 庄奕琪, 杜磊, 等.栅氧化层介质经时击穿的逾渗模型[J].物理学报, 2003 (8) :2046-2051.
VLSI结构 第6篇
相对于单码字、单天线传输,双码字、双天线的TD- LTE下行链路中的MIMO系统通过采用适当的预编码技术对两个码字的数据流进行空间复用,能够显著提高频谱利用率[1]。 同时,LTE系统下行链路采用OFDM多址方式,能够在整个时域和频域上进行灵活的资源分配和调度[3]。 资源映射将物理信号和预编码处理后的各个物理信道,根据规则映射在时、频域资源上,实现用户资源分配的灵活性和高效性[3]。
双码字、双天线的TD-LTE下行链路串行实现结构需对两个码字进行分时串行处理, 而传统的空间复用预编码模块无法实现两个码字的串行分时处理, 导致在预编码之前需要添加缓存模块,增加了系统的存储器开销。
本文针对双码字、 双天线的TD-LTE下行链路串行实现结构设计了一种新型的空间复用预编码和资源映射模块。 本设计解决了传统的预编码模块无法对两个码字进行分时处理的问题,同时改进资源映射模块并对其存储器进行复用, 节省了传统实现结构中的额外缓存, 降低了系统的存储器开销。
1预编码和资源映射
1 . 1空间复用预编码算法
空间复用预编码分为开环空间复用和闭环空间复用[4,5,6]。
1 . 1 . 1闭环空间复用
闭环空间复用在发射端利用反馈的信道状态信息, 然后根据一定的最优化准则对传输信息进行预编码[8]。 对于无循环延迟情况, 双码字、 双天线的闭环空间复用预编码定义为:
其中,y(0)(i) 和y(1)(i) 表示预编码处理后天线端口0和1上的数据,x(0)(i) 和x(1)(i) 表示层映射输出的层0和1上的数据。 预编码矩阵W ( i ) 的大小为2 × 2 , i = 0 , 1 , … ,为天线端 口上数据 的个数为层数据的个数。 在双天线模式下,e Node B根据反馈回得预编码矩阵指示从参考文献[4]中选择中选取W(i)。
1 . 1 . 2开环空间复用
如果发射端不需要信道反馈的信道状态信息,这种空间复用称为开环空间复用。对于长延时的循环延迟分集的情况,双码字、双天线的开环空间复用预编码被定义为:
其中,W(i) 是预编码矩阵, 大小为2×2 ,i=0 ,1 , … ,D ( i ) 表示循环 延迟分集 , 为2 × 2的对角阵 ,U的大小也 是2×2 。 D(i)和U从参考文 献[4] 表6.3.4.2.2-1中选择 。 在双天线模式下 , 开环空间复用只能从参考 文献[4]表6.3.4.2.3-1中选择索 引为0的W(i)。
1 . 2资源映射
TD - LTE下行链路基于OFDM技术, 其帧结构是一个时、频二维资源格。 该时、频二维资源格的定义可参照参考文献[4]。
资源映射将物理信号和预编码输出的不同天线端口上的物理信道按照各自的规则及时有效地映射在上述时、 频二维资源格上[4]。 各个物理信道和物理信号的映射地址算法见参考文献[4]。
2预编码与资源映射的设计与实现
2 . 1 TD - LTE下行链路串行结构
双码字、 双天线的TD-LTE下行链路的串行结构如图1所示。
码字0和码字1依次分时经过加扰和调制模块, 生成调制符号,层映射模块分别将码字0和码字1的调制符号映射到层0和层1上,预编码模块选用合适的空间复用方式将层0和层1的数据变换到天线端口0和天线端口1上,接下来资源映射模块将不同天线端口上的数据根据规则映射在OFDM时、 频资源块上, 最后形成OFDM信号输出。
2 . 2预编码的实现
对于双码字、 双天线的情况, 统一式(1) 和式(2), 空间复用预编码算法可以表示如下:
其中,N为2×2的矩阵, 当表示开环空间复用时, N=W(i)D(i)U ; 当表示闭环空间复用时,N=W(i) 。
对于双码字、 双天线的情况, 经过层映射处理后的数据与码字对应的关系为:
其中 ,i=0,1,… ,为码字0和1的数据的 个数 ,d(0)为码字0的数据 ,d(1)为码字1的数据 。
将式(4)、式(5)带入式(3)可得:
从式(7) 可以看出, 天线端口0上的数据y(0)需要同时得到码字0的数据d(0)和码字1的数据d(1),进行系数相乘后做加法操作;同理,天线端口1上的数据y(1)也一样。
根据式(7),可以设计出传统的空间复用预编码模块实现结构框图,如图2所示。 传统的预编码模块将经过调制之后串行而来的码字d(i) 通过选择器进行分配, 如果是码字0, 则将其存入缓存中; 如果是码字1, 则直接将其送入乘法器与系数b和e相乘,同时将缓存中的码字0取出送入乘法器与系数a和c相乘。 最后将结果按照式(7) 所示分别送入加法器0和1进行加法操作, 最终输出得到天线端口0和1上的数据。 其中控制单元作为主控制器,控制各个模块的工作方式。
但是, 传统的空间复用预编码模块并不能对码字0和码字1进行分时处理,2.1节中串行结构的预编码模块需要增加缓存用以存储先期到达的码字0。 在TD - LTE下行链路中, 经过调制之后的单个码字包含的最大数据量可以达到1 200×12个调制符号[4],本设计中采用调制符号位宽为16位,数据为I/Q两路, 因此预编码模块中增加的缓存大小为2×1 200×12×16=0.460 8 Mb , 显著增加了该模块的存储器开销。
为了解决额外存储器开销的问题, 对空间复用预编码算法进行改进。 将式(7)进行矩阵变换得到:
通过变换后, 预编码将码字0与码字1的处理分开, 剥离出两者的加法操作, 这样便不需要两个码字的数据同时到达, 可以实现对两个码字的分时串行处理。 令:
将式(7)~式(10)代入式(6)得到:
根据式(8) ~ 式(13) 并剥离加法操作, 可以设计出改进后的新型空间复用预编码模块, 其实现结构框图如图3所示。
相对于传统预编码模块, 改进后的新型预编码模块去掉了缓存单元和最终的加法器。 串行而来的码字0、码字1经过选择器分别乘以系数a、c和b 、 e , 得到天线 端口0和1上的中间 变量y( 0 )0( i ) 、 y( 0 )1( i ) 和y( 1 )0( i ) 、 y( 1 )1( i ) , 然后再经 过选择器 输出 。 码字间的 加法操作 将会被移 植在随后 的资源映 射模块进 行 。
2 . 3资源映射的实现
根据资源映射的算法,可以设计出传统的资源映射模块的实现结构框图,如图4所示。
资源映射模块用一块存储器作为OFDM时、 频资源的实体, 其包含四块同等大小的缓存0-4, 每两块对应一个天线端口的时、频资源格,在写入、读取时做乒乓操作以让帧数据流水处理[9]。 控制单元按照各个物理信道和信号的映射地址算法在写地址生成模块生成相应写地址, 将天线端口0和1的数据写入对应缓存中, 完成资源映射,最后控制单元按要求控制读地址生成模块生成读地址,将缓存中两个天线端口上的数据读出并输出。
传统的资源映射模块并不能进行分时串行处理, 但是注意到其特有的存储器资源可以作为分时串行处理两个码字所需的缓存。 因此,根据新型空间复用预编码模块的工作特性, 通过复用资源映射模块的存储器资源, 设计了改进后的新型资源映射模块, 其实现结构框图如图5所示。
新型资源映射模块增加了加法模块, 其输入是新型空间复用预编码模块输出的天线端口0和1上的中间变量。 当中间变量是由码字0产生时, 将其直接写入对应天线的缓存; 当中间变量为码字1时, 将缓存中码字0的中间变量取出, 与码字1的中间变量对应相加, 此时的相加结果即为预编码的完整输出, 完成预编码的操作, 最后将此结果写入对应缓存, 完成资源映射操作。 这样, 新型预编码模块不仅实现了对两个码字的分时串行处理, 同时节省了传统预编码模块的额外存储器开销。
3仿真与验证
3 . 1仿真结果
本设计采用基于Altera Stratix IV系列的EP4SGX530- KH40C3 FPGA芯片平台进行综合。 系统采用的工作时钟频率为122.88 MHz,调制符号位宽为16位,分别对传统和新型的空间复用预编码、资源映射模块进行综合并将其资源开销进行比较,结果如表1所示。
从表中可以看出,改进后的新型实现结构相较传统实现结构在组合逻辑和寄存器逻辑开销上有略微减小, 而存储器开销显著降低了16.4%。
3 . 2系统验证
本设计中的新型空间复用预编码模块和资源映射模块已应用到图1所示的双码字、双天线的TD-LTE下行链路的VLSI系统架构中。
为验证设计的功能与性能, 搭建了如图6的硬件验证平台, 采用了Altera公司Stratix IV系列的FPGA芯片EP4SGX230KF40C3 , 同时为TD - LTE下行链路设计了基于AD9361芯片的射频系统, 并设计了整体系统的测试软件,通过TD-LTE协议框架下多种业务层面的系统级测试项,完成了对该TD-LTE下行链路系统的功能和性能的验证, 系统指标完全满足协议36.141的测试指标要求。
4结束语
本文针对双码字、 双天线的TD-LTE下行链路串行结构设计了一种新型空间复用预编码和资源映射模块。 该设计解决了传统实现结构无法对两个码字进行分时串行处理的问题, 同时节省了实现中的额外缓存, 将模块中存储器开销降低16.4%。
参考文献
[1]张振东.MIMO-OFDM基带收发机关键模块研究与VLSI实现[D].北京:中国科学院大学,2012.
[2]ABBAS S S A,SHEEBA P A J,THIRUVENGADAM S J.Design of downlink PDSCH architecture for LTE using FPGA[C].IEEE-International Conference on Recent Trends in Information Technology,2011:947-952.
[3]张乐,张玉艳.基于通用处理器的TD-LTE资源映射的设计与实现[J].软件,2011,32(10).
[4]3GPP TS 36.211,Evolved Universal Terrestrial Radio Access(E-URRA):Physical channels and modulation[S].2009.
[5]3GPP TS 36.212,Evolved Universal Terrestrial Radio Access(E-URRA):Multiplexing and channel coding[S].2009.
[6]3GPP TS 36.213,Evolved Universal Terrestrial Radio Access(E-URRA):Physical layer procedures[S].2009.
[7]朱瑞茂.TD-LTE下行链路预编码技术研究[D].北京:北京邮电大学,2010.
[8]王映民,孙韶辉等.TD-LTE技术原理与系统设计[M].北京:人民邮电出版社,2010.







