维特比译码算法[1-2]是1967年由Viterbi提出的一种最大概率译码算法。作为卷积码的最优译码算法,维特比译码算法被广泛地应用于2G、3G以及卫星通信等多种通信系统中。加比选迭代运算是维特比译码算法的核心,但是其非线性反馈环制约着整个译码速率[3]。为了对抗译码速率瓶颈,以60 GHz无线个域网为代表的新一代吉比特通信系统 [4]不得不并行大量单路译码器。因此,提高单路译码器的译码速率,可以有效提高系统吞吐率,并能够大幅度降低硬件复杂度。
1 维特比译码器原理
根据编码生成多项式的不同,卷积码可以被划分为(n,k,m)型,其中n是指编码输出的比特数,k是指输入的信息比特数,而m为卷积编码的深度又称编码约束长度,码率为k/n[5]。通常情况下,(n,k,m)型卷积码就是由k×(m-1)位移位寄存器和异或逻辑电路组成。作为卷积码的最大概率译码算法,维特比译码算法由分支度量计算、路径度量的更新判决以及最大似然译码序列输出组成。因此,维特比译码器分成四个部分[2]:分支度量单元、加比选单元、路径度量寄存器和幸存路径存储单元。
加比选是一种非线性的迭代更新运算,传统流水线算法无法直接插入[4]。由于运算需要在一个时钟周期内完成,因此加比选迭代运算是维特比译码器实现的关键路径,它限制着译码器的工作时钟。对于吉比特维特比译码而言,打破加比选译码器速率瓶颈是其需要面对的关键挑战。
2 吉比特维特比译码器设计
作为第一个支持吉比特毫米波短距离的标准,IEEE 802.15.3c标准[6]已经被60 GHz无线个域网领域广泛采纳。该标准规定采用8路独立并行(3,1,7)卷积码。每路卷积码的约束长度为7,生成多项式为(1338,1718,1658),基本码率为1/3。基于删余处理,系统支持1/3、1/2、4/7、2/3、4/5五种码率,最大吞吐率为3.807 Gb/s。本文基于此标准给出了吉比特维特比译码器设计, 整体结构如图1所示。
2.2 平衡加选延比单元
传统维特比译码器加比选单元的结构,如图2(a)所示。关键路径包括了加法-比较-选择运算。为了降低关键路径的延迟,加选延比式[3]结构采用运算展开和拆分的思想,通过增加一倍的寄存器和加法器,将加法和比较运算分到两个时间周期中运算,其结构如图2(b)所示。具体来说,该单元在完成n时刻的加法运算之后,并没有对其直接进行比较判决,而是进行数据的存储。在n时刻,比较单元输出的是n-1时刻的状态路径度量的比较结果,输出的判决信息指示了n时刻有效加法运算路线。在没有消耗过多硬件资源的情况下,加选延比式结构实现了加比选运算的有效分离。
由于辅助进位运算的电路延迟相对较低,从而可以很好地完成平衡处理的任务。因此,在嵌入的辅助进位比特的帮助下,进位加法运算被后移到比较运算中,从而实现了加选单元与比较选择单元的建立时间的平衡。在该模式下,比较判定运算转化如下式(6):
这里PM1R和PM2R(由辅助进位加法运算得到)表示着正常意义下的状态路径度量值。针对(3,1,7)维特比译码器S0状态,推荐结构如图3所示。
由图3(b)可见,平衡加选延比结构的辅助进位模块的建立时间延迟为四输入与非门和异或电路,路径延迟时间在13μm CMOS工艺中可以控制在0.5 ns以内。刚好平衡了加法运算和比较运算的延时。因此与原始加比选电路相比,该方法将原本9 bit加法、9 bit比较以及选择延迟下降到了仅为5 bit加法和选择延迟(如图3(a)中粗线所示),有效缩短了关键路径。
2.3 幸存路径存储单元
本设计回溯译码长度定为64、存储位宽为64 bit,采用2-pointer回溯算法[2]。由于并行卷积码是独立的,因而图1中各路译码的判决数据输出相互独立的并行执行的。基于RAM块合并共享的思路,本文给出存储管理单元,通过将输入输出数据经寄存器缓存整合后对更大的RAM进行读写操作。将相邻维特比译码器核的两个64 bit判决信息存取RAM合并成一个128 bit位宽RAM,将8个用于回溯译码反相的1 bit位宽RAM块合并成一个8 bit位宽RAM。因此,该方法将RAM块个数从原始各自独立模式下24个降低到了9个,易于ASIC芯片设计。
3 实现与分析
基于Verilog HDL语言,本文完成了上述译码器的实现,并对1/3、1/2、4/7、2/3、4/5五种码率分别进行Modelsim仿真验证,误码率与Matlab维特比译码函数性能基本相同,其中1/3码率下的译码性能比较如图4所示。
本文采用TSMC.13 CMOS工艺,供电电压为1.2 V。DC compiler门级综合工具给出了芯片的综合报告,如表1所示。该译码器的逻辑面积为4.33 mm2,支持两种工作模式。在工作模式1全速运行模式中,芯片工作时钟为500 MHz,译码器最大吞吐速率为4 Gb/s,功耗为416 mW;在工作模式2低功耗模式中,工作时钟调整为250 MHz,功耗降低为208 mW。本设计满足IEEE 802.15.3c标准指标要求,其在高速前向纠错信道编译码领域有着广阔的应用前景。
参考文献
[1] 陶杰,王欣,张天辉. 基于VHDL语言的卷积码和Viterbi译码的实现[J]. 微型机与应用, 2012,31(16):3-5.
[2] BLACK P J, MENG T H. A 1 Gb/s, four-state, sliding block viterbi decoder[J].IEEE J. Solid-State Circuits,1997,32(6):797-805.
[3] LAI K Y. A high-speed low-power pipelined Viterbi decoder: breaking the ACS-bottleneck[C]. Int. Conf. on Green Circ. and Syst., 2010:334-337.
[4] ZHANG X, LU L, FUNADA R, et al. Physical layer design and performance analysis on multi-Gbps millimeter wave WLAN system[C]// IEEE Int. Conf. on Comm. Syst.,2010:92-96.
[5] 阮峥,景为平. IEEE 802.11p下删余卷积编码译码方法的研究[J]. 电子技术应用, 2012,38(8):116-118.
[6] IEEE 802.15.3c: Wireless medium access Control (MAC) and physical layer(PHY) specifications for high rate wireless personal area networks(WPANs)[S]. Sep. 2009.