|
Overview
Viterbi 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 the following standards: IEEE 802.16-2004 SC PHY/ OFDM PHY, IEEEE802.11a, 3GPP, 3GPP2, and DVB-S
- 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
Performance and Resource Utilization
LatticeECP31
| Parameter File |
Parameters |
SLICEs |
LUTs |
Registers |
IOB |
sysMEM EBRs |
fMAX(MHz) |
IEEE 802.16a 2004-SC-PHY
|
See User's Guide |
287 |
464 |
232 |
11 |
2 |
205 |
3GPP
|
See User's Guide |
6318 |
11493 |
3628 |
13 |
16 |
141 |
DVB-S, IEEE 802.11a
|
See User's Guide |
1611 |
2942 |
954 |
10 |
4 |
171 |
IEEE 802.16 2004-OFDM PHY (dynamic puncturing)
|
See User's Guide |
1866 |
3261 |
1086 |
29 |
4 |
164 |
IEEE 802.16 2004-OFDM PHY (fixed puncturing)
|
See User's Guide |
2013 |
3540 |
1231 |
13 |
4 |
172 |
1. Performance and utilization characteristics are generated using LFE3-95E-8FN672CES, with Lattice ispLEVER 7.2 SP1 software. When using this IP core in a different density, speed, or grade within the LatticeECP3 family, performance and utilization may vary.
LatticeECP2M1
| Parameter File |
Parameters |
SLICEs |
LUTs |
Registers |
IOB |
sysMEM EBRs |
fMAX(MHz) |
IEEE 802.16a 2004-SC-PHY
|
See User's Guide |
289 |
466 |
232 |
11 |
2 |
213 |
3GPP
|
See User's Guide |
6343 |
11510 |
3628 |
13 |
16 |
132 |
DVB-S, IEEE 802.11a
|
See User's Guide |
1620 |
2948 |
954 |
10 |
4 |
158 |
IEEE 802.16 2004-OFDM PHY (dynamic puncturing)
|
See User's Guide |
1896 |
3266 |
1084 |
29 |
4 |
170 |
IEEE 802.16 2004-OFDM PHY (fixed puncturing)
|
See User's Guide |
2008 |
3517 |
1229 |
13 |
4 |
169 |
1. Performance and utilization characteristics are generated using LFE2M-35E-7F672C, with Lattice ispLEVER 7.2 SP1 software. When using this IP core in a different density, speed, or grade within the LatticeECP2M/S family, performance and utilization may vary.
LatticeECP21
| Parameter File |
Parameters |
SLICEs |
LUTs |
Registers |
IOB |
sysMEM EBRs |
fMAX(MHz) |
IEEE 802.16a 2004-SC-PHY
|
See User's Guide |
289 |
466 |
232 |
11 |
2 |
184 |
3GPP
|
See User's Guide |
6343 |
11510 |
3628 |
13 |
16 |
150 |
DVB-S, IEEE 802.11a
|
See User's Guide |
1620 |
2948 |
954 |
10 |
4 |
179 |
IEEE 802.16 2004-OFDM PHY (dynamic puncturing)
|
See User's Guide |
1896 |
3266 |
1084 |
29 |
4 |
137 |
IEEE 802.16 2004-OFDM PHY (fixed puncturing)
|
See User's Guide |
2024 |
3546 |
1235 |
13 |
4 |
168 |
1. Performance and utilization characteristics are generated using LFE2-50E-7F484C, with Lattice ispLEVER 7.2 SP1 software. When using this IP core in a different density, speed, or grade within the LatticeECP2/S family, performance and utilization may vary.
LatticeEC/P1
| Parameter File |
Parameters |
SLICEs |
LUTs |
Registers |
IOB |
sysMEM EBRs |
fMAX(MHz) |
IEEE 802.16a 2004-SC-PHY
|
See User's Guide |
274 |
451 |
232 |
11 |
2 |
139 |
3GPP
|
See User's Guide |
5309 |
9941 |
3653 |
13 |
16 |
101 |
DVB-S, IEEE 802.11a
|
See User's Guide |
1366 |
2557 |
967 |
10 |
4 |
106 |
IEEE 802.16 2004-OFDM PHY (dynamic puncturing)
|
See User's Guide |
1570 |
2881 |
1082 |
29 |
4 |
109 |
IEEE 802.16 2004-OFDM PHY (fixed puncturing)
|
See User's Guide |
1821 |
3339 |
1224 |
13 |
4 |
108 |
1. Performance and utilization characteristics are generated using LFEC20E-5F672C, with Lattice ispLEVER 7.2 SP1 software. When using this IP core in a different density, speed, or grade within the LatticeECP/EC family, performance and utilization may vary.
LatticeSC/M1
| Parameter File |
Parameters |
SLICEs |
LUTs |
Registers |
IOB |
sysMEM EBRs |
fMAX(MHz) |
IEEE 802.16a 2004-SC-PHY
|
See User's Guide |
265 |
434 |
233 |
11 |
2 |
229 |
3GPP
|
See User's Guide |
5063 |
9417 |
3636 |
13 |
16 |
199 |
DVB-S, IEEE 802.11a
|
See User's Guide |
1272 |
2431 |
923 |
10 |
4 |
215 |
IEEE 802.16 2004-OFDM PHY (dynamic puncturing)
|
See User's Guide |
1491 |
2694 |
1097 |
29 |
4 |
214 |
IEEE 802.16 2004-OFDM PHY (fixed puncturing)
|
See User's Guide |
1833 |
3288 |
1246 |
13 |
4 |
215 |
1. Performance and utilization characteristics are generated using LFSCM3GA25E-7F900C, with Lattice ispLEVER 7.2 SP1 software. When using this IP core in a different density, speed, or grade within the LatticeSC/M family, performance and utilization may vary.
LatticeXP21
| Parameter File |
Parameters |
SLICEs |
LUTs |
Registers |
IOB |
sysMEM EBRs |
fMAX(MHz) |
IEEE 802.16a 2004-SC-PHY
|
See User's Guide |
289 |
466 |
232 |
11 |
2 |
163 |
3GPP
|
See User's Guide |
6343 |
11510 |
3628 |
13 |
16 |
135 |
DVB-S, IEEE 802.11a
|
See User's Guide |
1620 |
2948 |
954 |
10 |
4 |
161 |
IEEE 802.16 2004-OFDM PHY (dynamic puncturing)
|
See User's Guide |
1896 |
3266 |
1084 |
29 |
4 |
152 |
IEEE 802.16 2004-OFDM PHY (fixed puncturing)
|
See User's Guide |
2024 |
3546 |
1235 |
13 |
4 |
151 |
1. Performance and utilization characteristics are generated using LFXP2-17E-7F484C, with Lattice ispLEVER 7.2 SP1 software. When using this IP core in a different density, speed, or grade within the LatticeXP2 family, performance and utilization may vary
LatticeXP1
| Parameter File |
Parameters |
SLICEs |
LUTs |
Registers |
IOB |
sysMEM EBRs |
fMAX(MHz) |
IEEE 802.16a 2004-SC-PHY
|
See User's Guide |
274 |
451 |
232 |
11 |
2 |
119 |
3GPP
|
See User's Guide |
5309 |
9941 |
3653 |
13 |
16 |
85 |
DVB-S, IEEE 802.11a
|
See User's Guide |
1366 |
2557 |
967 |
10 |
4 |
99 |
IEEE 802.16 2004-OFDM PHY (dynamic puncturing)
|
See User's Guide |
1570 |
2811 |
1082 |
29 |
4 |
100 |
IEEE 802.16 2004-OFDM PHY (fixed puncturing)
|
See User's Guide |
1821 |
3339 |
1224 |
13 |
4 |
98 |
1. Performance and utilization characteristics are generated using LFXP20E-5F256C, with Lattice ispLEVER 7.2 SP1 software. When using this IP core in a different density, speed, or grade within the LatticeXP family, performance and utilization may vary.
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 Express Version: 4.4 Evaluate: To download a full evaluation version of this IP, go to the Lattice IP Server tab in the IPexpress Main Window. All ispLeverCORE IP cores and modules 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.
|
|