维特比译码器(Viterbi Decoder)硬件架构(三)–硬件结构描述及RTL源代码

1. 综述

发展到现在,Viterbi译码器的硬件结构以及很成熟了。这里要描述的Viterbi译码器采用了一个成熟的规整化的硬件的硬件架构,可根据配置寄存器来对:

  • LTE,NB-IOT及GSM/GPRS/EDGE中使用的卷积码进行译码。
  • 支持tail-bits和tail-biting两种形式。
  • 前向回溯的滑窗技术可以减小幸存路径的缓存器深度.
  • 可配的网格结构支持约束长度为4~7,编码效率为1/2,1/3,1/4,1/5,1/6的卷积码译码。

该项目RTL源代码及验证的testcase已经在github上开源:
https://github.com/coole198669/viterbi_decoder

2. 硬件结构

在这里插入图片描述


包含的子模块:

  • BMU Branch Metric Unit, 对各个路径计算BM值。一共有64个BM模块。
  • ACS Add Compare Select, 加比选模块,用以产生当前状态的幸存路径(Surviving Path)及状态路径。当前时刻各状态对应的幸存路径拼接成64 bit宽的data 放入 PM buffer。其深度为64,即该译码器支持的最大回溯深度为64。
  • PM normalize block: 对PM 进行归一化处理,防止溢出。
  • Traceback:负责回溯时的地址产生及译码比特输出等
  • PM Register: 包含64各PM 寄存器用来存储各个状态的状态度量,是以原址计算的形式进行ACS操作。

3. 接口信号

viterbi decoder interface
阅读:109

发表评论

电子邮件地址不会被公开。 必填项已用*标注