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. 接口信号
本博客所有文章均同步发表于www.mx1980.cn/blog