維特比譯碼器(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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章