Block Convolutional Encoder

LatticeCoreConvolutional encoding is a process of adding redundancy to a signal stream to provide error correction capability. The figure below shows a digital communication system using the Convolutional Encoder. The digital data stream (such as voice, image or any packetized data) is first convolutionally encoded, then modulated and finally transmitted through a channel.

Lattice’s Block Convolutional Encoder IP core is a parameterizable core for convolutional encoding of continuous or burst input data streams. The core allows different code rates and constraint lengths and supports puncturing. It can operate in continuous or block mode, whichever is required by the channel. In block mode, either Zero Flushing or Tail Biting codes can be generated. All the configurable parameters, including operation mode, termination mode, generator polynomials, code rate, and puncture pattern, can be defined by the user to suit the needs of the application. The code rate and the puncture pattern can also be varied through the input ports dynamically, providing further flexibility for the IP usage. Lattice’s Block Convolutional Encoder IP core is compatible with many networking and wireless standards that use convolutional encoding.

Features

  • Compatible with the following standards: IEEE 802.16-2004, IEEE 802.11a, 3GPP, 3GPP2 and DVB-S
  • Supports both continuous and block encoding
  • Variable constraint length from 3 to 9
      • Supports both Zero Flushing and Tail Biting termination modes
      • Supports both internal and external zero padding in Zero Flushing mode
  • Supports both internal and external tail adding in Tail Biting mode
  • Supports a wide range of programmable code rates (input_rate/output_rate)
  • User defined generator polynomials
  • Output puncturing with unrestricted, user programmable puncture patterns
  • Supports dynamic puncturing mode, in which both the code rate and puncture patterns can be varied through ports
  • Punctured code rate can be programmed to k/n, where k can be from 2 to 12 and n can be from k+1 to 2k-1; additionally, rate 1/2 is supported in dynamic puncture mode
  • Handshake signals to support breaks in data stream or encoder busy conditions

Jump to

Block Diagram

Performance and Size

LatticeECP31
IPexpress User-Configurable Mode SLICEs LUTs Registers sysMEM EBRs I/Os fMAX (MHz)
Config 1 41 44 48 - 13 482
Config 2 24 25 34 - 12 500
Config 3 9 6 16 - 7 500
Config 4 108 136 131 - 30 346
Config 5 40 45 53 - 8 435

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
IPexpress User-Configurable Mode SLICEs LUTs Registers sysMEM EBRs I/Os fMAX (MHz)
Config 1 45 44 48 - 13 466
Config 2 25 25 34 - 12 509
Config 3 9 6 16 - 7 883
Config 4 116 141 131 - 30 352
Config 5 43 45 53 - 8 504

1. Performance and utilization data are generated targeting an LFE2M/S35E-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 LatticeECP2M family.

LatticeECP21
IPexpress User-Configurable Mode SLICEs LUTs Registers sysMEM EBRs I/Os fMAX (MHz)
Config 1 44 42 48 - 13 404
Config 2 24 25 34 - 12 372
Config 3 9 6 16 - 7 563
Config 4 119 143 131 - 30 278
Config 5 43 46 53 - 8 397

1. Performance and utilization data are generated targeting an LFE2-50E-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 LatticeECP2/ECP2S family.

LatticeECP/EC1
IPexpress User-Configurable Mode SLICEs LUTs Registers sysMEM EBRs I/Os fMAX (MHz)
Config 1 44 44 48 - 13 404
Config 2 24 25 34 - 12 372
Config 3 9 6 16 - 7 563
Config 4 119 143 131 - 30 278
Config 5 43 46 53 - 8 397

1. Performance and utilization data are generated targeting an LFEC/P20E-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.

LatticeSC1
IPexpress User-Configurable Mode SLICEs LUTs Registers sysMEM EBRs I/Os fMAX (MHz)
Config 1 41 42 48 - 13 400
Config 2 24 24 34 - 12 400
Config 3 9 6 16 - 7 400
Config 4 115 146 131 - 30 392
Config 5 40 44 53 - 8 400

1. Performance and utilization data are generated targeting an LFSC/M3GA25E-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
IPexpress User-Configurable Mode SLICEs LUTs Registers sysMEM EBRs I/Os fMAX (MHz)
Config 1 45 44 48 - 13 481
Config 2 25 25 34 - 12 491
Config 3 9 6 16 - 7 647
Config 4 116 141 131 - 30 298
Config 5 43 47 53 - 8 495

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
IPexpress User-Configurable Mode SLICEs LUTs Registers sysMEM EBRs I/Os fMAX (MHz)
Config 1 44 42 48 - 13 327
Config 2 24 25 34 - 12 361
Config 3 9 6 16 - 7 589
Config 4 115 127 131 - 30 250
Config 5 40 46 53 - 8 363

1. Performance and utilization data are generated targeting an LFXP20E-5F484C 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 Numbers
LatticeECP3 CONV-BLK-E3-U3
LatticeECP2M CONV-BLK-PM-U3
LatticeECP2 CONV-BLK-P2-U3
LatticeECP/EC CONV-BLK-E2-U3
LatticeSC CONV-BLK-SC-U3
LatticeXP2 CONV-BLK-X2-U3
LatticeXP CONV-BLK-XM-U3

IP Version: 3.6.

Evaluate: To download a full evaluation version of this IP, go to the IPexpress tool and click the IP Server button in the toolbar. All LatticeCORE IP cores and modules available for download will be visible. For more information on viewing/downloading IP please read the IP Express Quick Start Guide.

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

Documentation

Quick Reference
Information Resources
Downloads
TITLE NUMBER VERSION DATE FORMAT SIZE
Select All
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
Wireless Solutions Brochure
I0197 3.0 8/14/2012 PDF 2 MB
Lattice HetNet Solutions Brochure
I0234 1.0 11/12/2013 PDF 2.2 MB
TITLE NUMBER VERSION DATE FORMAT SIZE
Select All
IP Module Evaluation Tutorial
8/1/2004 PDF 216.1 KB
IPexpress Quick Start Guide
8/5/2010 PDF 304.8 KB
TITLE NUMBER VERSION DATE FORMAT SIZE
Select All
Evaluation Package for Block Convolutional Encoder for LatticeECP/EC - Configuration 3
4/1/2005 ZIP 155.4 KB
Evaluation Package for Block Convolutional Encoder for LatticeECP/EC - Configuration 1
4/1/2005 ZIP 126.2 KB
Evaluation Package for Block Convolutional Encoder for LatticeECP/EC - Configuration 4
4/1/2005 ZIP 232.5 KB
Evaluation Package for Block Convolutional Encoder for LatticeECP/EC - Configuration 2
4/1/2005 ZIP 116.6 KB

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