Block Viterbi Decoder

LatticeCoreViterbi decoding is an efficient algorithm for decoding convolutionally encoded sequences corrupted by channel noise back to the original sequence. In the digital transmit-receive system shown below the digital data stream (e.g., voice, image, or any packetized data) is encoded, modulated, and transmitted through a wired or wireless channel. A “noise” block connected to the channel symbolically denotes the channel noise. The data received from the channel at the receiver side is first demodulated and then decoded using the Viterbi decoder. The decoded output is equivalent to the transmitted digital data stream.

Lattice's Block Viterbi Decoder IP core is a parameterizable Viterbi Decoder for decoding different combinations of convolutionally encoded sequences. The decoder supports various code rates, constraint lengths, and generator polynomials. It also allows soft-decision decoding and is capable of decoding punctured codes. The core can operate in continuous or block modes, whichever is required by the channel. Either Tail Biting or Zero Flushing convolutional codes can be decoded in the block mode. All the configurable parameters, including operation mode, generator polynomials, punctured block size, and puncture pattern can be defined by the user to suit the needs of their application. The code rate and puncture pattern can also be changed dynamically through input ports during the operation of the decoder. Lattice’s Block Viterbi Decoder IP is compatible with many networking and wireless standards that use different methods of convolutional encoding at the encoder.

Features

  • Compatible with IEEE 802.16-2004 SC PHY/ OFDM PHY, IEEEE802.11a, 3GPP, 3GPP2, and DVB standards
  • Supports multiple code rates: 1/2, 1/3, ... 1/7 for non-punctured codes, 2/3, 3/4, ..., 12/13 for punctured codes, and from m/(m+1) to m/(2m-1), where m is from 1 to 12, for dynamic punctured codes
  • Variable constraint length from 3 to 9
  • Supports dynamically variable code rates and puncture patterns
  • Dynamic BER estimation option
  • One-clock synchronous design
  • Hard or parameterizable soft decision decoding. Hard and soft decision for non-punctured codes and soft decision for punctured codes
  • Fully parallel or hybrid implementations. For a hybrid implementation, the degree of parallelism is parameterizable
  • Parameterizable trace-back length
  • Signed and unsigned representations for soft decision data
  • Supports parameterized puncturing patterns
  • Supports both continuous and block data input
  • Supports both Tail Biting and Zero Flushing block convolutional codes
  • Supports both one and two traceback schemes to cater to different coding scenarios

Jump to

Block Diagram

Performance and Size

LatticeECP31
Parameter File Parameters SLICEs LUTs Registers IOB sysMEM EBRs fMAX(MHz)
IEEE 802.16a 2004-SC-PHY See User's Guide 285 469 232 11 2 187
3GPP See User's Guide 6349 11736 3159 13 16 132
DVB-S, IEEE 802.11a See User's Guide 1626 3011 864 10 4 168
IEEE 802.16 2004-OFDM PHY (dynamic puncturing) See User's Guide 1768 3191 1032 29 4 171
IEEE 802.16 2004-OFDM PHY
(fixed puncturing)
See User's Guide 1935 3485 1185 13 4 146

1. Performance and utilization data are generated targeting an LFE3-95E-8FN672CES device using Lattice Diamond 1.0 and Synplify Pro D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeECP3 family

LatticeECP2M1
Parameter File Parameters SLICEs LUTs Registers IOB sysMEM EBRs fMAX(MHz)
IEEE 802.16a 2004-SC-PHY See User's Guide 291 469 232 11 2 211
3GPP See User's Guide 6345 11747 3160 13 16 135
DVB-S, IEEE 802.11a See User's Guide 1636 3017 864 10 4 179
IEEE 802.16 2004-OFDM PHY (dynamic puncturing) See User's Guide 1801 3201 1032 29 4 176
IEEE 802.16 2004-OFDM PHY
(fixed puncturing)
See User's Guide 1935 3467 1185 13 4 176

1. Performance and utilization data are generated targeting an LFE2M-35E-7F672C device using Lattice Diamond 1.0 and Synplify Pro D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeECP2M family.

LatticeECP21
Parameter File Parameters SLICEs LUTs Registers IOB sysMEM EBRs fMAX(MHz)
IEEE 802.16a 2004-SC-PHY See User's Guide 291 469 232 11 2 207
3GPP See User's Guide 6345 11747 3160 13 16 138
DVB-S, IEEE 802.11a See User's Guide 1636 3017 864 10 4 178
IEEE 802.16 2004-OFDM PHY (dynamic puncturing) See User's Guide 1801 3201 1032 29 4 175
IEEE 802.16 2004-OFDM PHY
(fixed puncturing)
See User's Guide 1935 3467 1185 13 4 129

1. Performance and utilization data are generated targeting an LFE2-50E-7F484C device using Lattice Diamond 1.0 and Synplify Pro D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeECP2 family.

LatticeEC/P1
Parameter File Parameters SLICEs LUTs Registers IOB sysMEM EBRs fMAX(MHz)
IEEE 802.16a 2004-SC-PHY See User's Guide 280 457 232 11 2 126
3GPP See User's Guide 5041 9922 3160 13 16 101
DVB-S, IEEE 802.11a See User's Guide 1310 2562 864 10 4 106
IEEE 802.16 2004-OFDM PHY (dynamic puncturing) See User's Guide 1474 2742 1032 29 4 108
IEEE 802.16 2004-OFDM PHY
(fixed puncturing)
See User's Guide 1735 3254 1185 13 4 108

1. Performance and utilization data are generated targeting an LFEC20E-5F672C device using Lattice Diamond 1.0 and Synplify Pro D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeECP/EC family.

LatticeSC/M1
Parameter File Parameters SLICEs LUTs Registers IOB sysMEM EBRs fMAX(MHz)
IEEE 802.16a 2004-SC-PHY See User's Guide 263 433 233 11 2 261
3GPP See User's Guide 4923 9426 3391 13 16 207
DVB-S, IEEE 802.11a See User's Guide 1239 2438 864 10 4 236
IEEE 802.16 2004-OFDM PHY (dynamic puncturing) See User's Guide 1389 2617 1032 29 4 230
IEEE 802.16 2004-OFDM PHY
(fixed puncturing)
See User's Guide 1743 3227 1186 13 4 224

1. Performance and utilization data are generated targeting an LFSCM3GA25E-7F900C device using Lattice Diamond 1.0 and Synplify Pro D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeSC/SCM family.

LatticeXP21
Parameter File Parameters SLICEs LUTs Registers IOB sysMEM EBRs fMAX(MHz)
IEEE 802.16a 2004-SC-PHY See User's Guide 291 469 232 11 2 183
3GPP See User's Guide 6345 1147 3160 13 16 128
DVB-S, IEEE 802.11a See User's Guide 1636 3017 864 10 4 160
IEEE 802.16 2004-OFDM PHY (dynamic puncturing) See User's Guide 1801 3201 1032 29 4 153
IEEE 802.16 2004-OFDM PHY
(fixed puncturing)
See User's Guide 1935 3467 1185 13 4 136

1. Performance and utilization data are generated targeting an LFXP2-17E-7F484C device using Lattice Diamond 1.0 and Synplify Pro D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeXP2 family.

LatticeXP1
Parameter File Parameters SLICEs LUTs Registers IOB sysMEM EBRs fMAX(MHz)
IEEE 802.16a 2004-SC-PHY See User's Guide 280 457 232 11 2 116
3GPP See User's Guide 5041 9922 3160 13 16 92
DVB-S, IEEE 802.11a See User's Guide 1310 2562 864 10 4 101
IEEE 802.16 2004-OFDM PHY (dynamic puncturing) See User's Guide 1474 2742 1032 29 4 104
IEEE 802.16 2004-OFDM PHY
(fixed puncturing)
See User's Guide 1735 3254 1185 13 4 100

1. Performance and utilization data are generated targeting an LFXP20E-5F256C device using Lattice Diamond 1.0 and Synplify Pro D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeXP family.

Ordering Information

Family Part Number
LatticeECP3 VTERB-BLK-E3-U4
LatticeECP2M VTERB-BLK-PM-U4
LatticeECP2 VTERB-BLK-P2-U4
LatticeECP/EC VTERB-BLK-E2-U4
LatticeSC VTERB-BLK-SC-U4
LatticeXP2 VTERB-BLK-X2-U4
LatticeXP VTERB-BLK-XM-U4

IP Version: 4.6

Evaluate: To download a full evaluation version of this IP, go to the Lattice IP Server tab in the IPexpress Main Window. All LatticeCORE IP that are available for download are visible on this tab.

Purchase: To find out how to purchase the IP Core, please contact your local Lattice Sales Office.

Documentation

Quick Reference
Downloads
TITLE NUMBER VERSION DATE FORMAT SIZE
Select All
Block Viterbi Decoder IP User's Guide
IPUG32 02.7 6/28/2010 PDF 736.5 KB
Block Convolutional Encoder IP Core User's Guide
IPUG31 03.5 6/28/2010 PDF 1.5 MB
TITLE NUMBER VERSION DATE FORMAT SIZE
Select All
Evaluation Package for Block Viterbi Decoder for LatticeECP/EC - Configuration 3
10/7/2005 ZIP 666.6 KB
Evaluation Package for Block Viterbi Decoder for LatticeECP/EC - Configuration 1
10/7/2005 ZIP 370.4 KB
Evaluation Package for Block Viterbi Decoder for LatticeECP/EC - Configuration 2
10/7/2005 ZIP 1.7 MB

*By clicking on the "Notify Me of Changes" button, you agree to receive notifications on changes to the document(s) you selected.