论文部分内容阅读
卷积码是一类重要的前向纠错编码,它编码简单,易于实现最佳译码,是当今无线数字通信系统的一个十分重要的组成部分。Viterbi译码算法是一种用来解卷积编码的最大似然译码算法,它具有译码效率高、速度快及译码器实现结构简单的优点,被认为是卷积码的最佳译码算法。随着VLSI的飞速发展和便携通信设备的大量涌现,功耗越来越成为制约设计的一个主要问题。Viterbi译码器是移动通信系统中的主要耗能单元,因此如何降低Viterbi译码的复杂性和功耗,就成为一种迫切的需要,受到人们的普遍关注。本课题就是设计适用于移动通信系统的低功耗Viterbi译码器。电路的功耗分为静态功耗和动态功耗,对于CMOS电路,功耗主要是动态功耗,大约占总功耗的85—90%。动态功耗由负载电容、工作频率、工作电压和能耗状态活动转换几率决定。在通常的设计环境中,设计者不能改变负载电容、工作频率或工作电压,而只能改变开关活动频率。降低开关活动频率的实质就是尽量去除不必要的翻转、避免能量的白白浪费。从这里发掘功耗的潜力是很大的,主要通过优化算法、优化逻辑结构来实现。这是当前开展低功耗逻辑优化的重要方面,也是本课题采用的方法。Viterbi译码器主要由四个功能单元组成:分支度量单元(BMU),加比选单元(ACS),路径度量存储单元(PMU),幸存路径存储和输出单元(SMU)。本文所做的Viterbi译码器设计采用模块化的设计方法,先对各个功能单元进行优化设计,然后将各个功能单元组合在一起,形成最终的译码器。本文对SMU单元进行了低功耗设计。在SMU中,由于要进行频繁的存储器读写,功耗很大,成为整个viterbi译码器中消耗功率最大的单元,因此对SMU单元进行低功耗设计对降低Viterbi译码器的功耗起着非常重要的作用。本文首先分析了两种传统的SMU实现方法,这两种方法都存在一定的缺陷。其次通过分析幸存路径存储和输出的过程,讨论了改进寄存器交换法,减少存储器使用数目和减少存储单元数据读写次数的可能性,并提出了具体的实现方法。然后对比传统的寄存器交换法,进行了存储单元使用数量和功耗的对比,仿真结果表明能明显的降低功耗。最后把各个功能模块组合成在一起,设计出了低功耗的Viterbi译码器,仿真结果表明比起没有采用低功耗技术的译码器,在译码器纠错性能和译码速度不变的情况下,动态功耗降低了33%。