The Lekha 3GPP LTE FEC IP Core meets 3GPP LTE specification 3GPP TS V Release 10[1].

Similar documents
The Lekha 3GPP LTE Turbo Decoder IP Core meets 3GPP LTE specification 3GPP TS V Release 10[1].

Chip Design for Turbo Encoder Module for In-Vehicle System

EFFICIENT RECURSIVE IMPLEMENTATION OF A QUADRATIC PERMUTATION POLYNOMIAL INTERLEAVER FOR LONG TERM EVOLUTION SYSTEMS

PCE03D DVB RCS/ WiMAX Turbo Encoder. Small World Communications. PCE03D Features. Introduction. Signal Descriptions

Design of Convolution Encoder and Reconfigurable Viterbi Decoder

10GBase-R PCS/PMA Controller Core

AES1. Ultra-Compact Advanced Encryption Standard Core AES1. General Description. Base Core Features. Symbol. Applications

Discontinued IP. Verification

isplever Turbo Encoder User s Guide November 2008 ipug08_04.4

Low Complexity Architecture for Max* Operator of Log-MAP Turbo Decoder

Turbo Encoder Co-processor Reference Design

3GPP Turbo Encoder v4.0

Viterbi Decoder Block Decoding - Trellis Termination and Tail Biting Author: Michael Francis

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany

CHAPTER 6 FPGA IMPLEMENTATION OF ARBITERS ALGORITHM FOR NETWORK-ON-CHIP

Discontinued IP. 3GPP2 Turbo Decoder v1.0. Features. Applications. General Description

It is well understood that the minimum number of check bits required for single bit error correction is specified by the relationship: D + P P

LogiCORE IP Serial RapidIO Gen2 v1.2

FPGA Implementation of 2-D DCT Architecture for JPEG Image Compression

Hardware Implementation and Verification by Model-Based Design Workflow - Communication Models to FPGA-based Radio

Implementation of Pipelined Architecture Based on the DCT and Quantization For JPEG Image Compression

Advanced FPGA Design Methodologies with Xilinx Vivado

Applications. Discontinued IP SYST_A SYST_B RDY BLK_START BLK_END RFFD. Figure 1: Pinout

Viterbi Decoder Block Decoding - Trellis Termination and Tail Biting Authors: Bill Wilkie and Beth Cowie

Designing and Prototyping Digital Systems on SoC FPGA The MathWorks, Inc. 1

ETSI TS V3.1.1 ( ) Technical Specification

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering. Winter/Summer Training

A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN

Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks

Early Models in Silicon with SystemC synthesis

Modeling a 4G LTE System in MATLAB

Hardware Implementation

An FPGA Based Adaptive Viterbi Decoder

Table 1: Example Implementation Statistics for Xilinx FPGAs

Verilog for High Performance

Method for hardware implementation of a convolutional turbo code interleaver and a sub-block interleaver

ADPCM-LCO Voice Compression Logic Core

Agenda. Introduction FPGA DSP platforms Design challenges New programming models for FPGAs

Parallel FIR Filters. Chapter 5

/$ IEEE

ALTERA M9K EMBEDDED MEMORY BLOCKS

A Configurable High-Throughput Linear Sorter System

Asynchronous FIFO Design

Introduction to C and HDL Code Generation from MATLAB

DESIGN AND IMPLEMENTATION FOR A MULTI- STANDARD TURBO DECODER USING A RECONFIGURABLE ASIP

The world s most reliable and mature full hardware ultra-low latency TCP, MAC and PCS IP Cores.

Configurable UART with FIFO ver 2.20

EITF35: Introduction to Structured VLSI Design

Design and Verification of FPGA Applications

FPGA Provides Speedy Data Compression for Hyperspectral Imagery

Virtex-5 GTP Aurora v2.8

Fibre Channel Arbitrated Loop v2.3

Analysis of Circular Buffer Rate Matching for LTE Turbo Code

LogiCORE IP Serial RapidIO v5.6

ESL design with the Agility Compiler for SystemC

ECE5775 High-Level Digital Design Automation, Fall 2018 School of Electrical Computer Engineering, Cornell University

Error Correction Code (ALTECC_ENCODER and ALTECC_DECODER) Megafunctions User Guide

H.264 AVC 4k Decoder V.1.0, 2014

On the parallelization of slice-based Keccak implementations on Xilinx FPGAs

ISSCC 2003 / SESSION 8 / COMMUNICATIONS SIGNAL PROCESSING / PAPER 8.7

Midterm Exam. Solutions

Convolutional Encoder and Viterbi Decoder Core Datasheet

Iterative Decoding of Concatenated Convolutional Codes: Implementation Issues

Quixilica Floating-Point QR Processor Core

International Journal of Science Engineering and Advance Technology, IJSEAT, Vol 2, Issue 11, November ISSN

LogiCORE IP AXI Video Direct Memory Access (axi_vdma) (v3.00.a)

Accelerating FPGA/ASIC Design and Verification

FPGA Implementation of MIPS RISC Processor

VHDL for Synthesis. Course Description. Course Duration. Goals

8b/10b Encoder/Decoder

MATLAB/Simulink 기반의프로그래머블 SoC 설계및검증

EE 459/500 HDL Based Digital Design with Programmable Logic

HDL Implementation of an Efficient Partial Parallel LDPC Decoder Using Soft Bit Flip Algorithm

Developing and Integrating FPGA Co-processors with the Tic6x Family of DSP Processors

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

Block Diagram. mast_sel. mast_inst. mast_data. mast_val mast_rdy. clk. slv_sel. slv_inst. slv_data. slv_val slv_rdy. rfifo_depth_log2.

Documentation. Design File Formats. Constraints Files. Verification. Slices 1 IOB 2 GCLK BRAM

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Configurable UART ver 2.10

LogiCORE IP AXI Video Direct Memory Access (axi_vdma) (v3.01.a)

High Data Rate Fully Flexible SDR Modem

FPGA for Software Engineers

Towards and ASIP optimized for multi-standard turbo decoding

The Nios II Family of Configurable Soft-core Processors

Virtex-II Architecture. Virtex II technical, Design Solutions. Active Interconnect Technology (continued)

ZBT SRAM Controller Reference Design

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices

R07. IV B.Tech. II Semester Supplementary Examinations, July, 2011

IMPLEMENTATION OF A BIT ERROR RATE TESTER OF A WIRELESS COMMUNICATION SYSTEM ON AN FPGA

AL8253 Core Application Note

Forward Error Correction Codes

What is Xilinx Design Language?

Performance Evolution of DDR3 SDRAM Controller for Communication Networks

AES Core Specification. Author: Homer Hsing

Comparative Study and Implementation of JPEG and JPEG2000 Standards for Satellite Meteorological Imaging Controller using HDL

Design of Convolutional Codes for varying Constraint Lengths

LogiCORE IP AXI Video Direct Memory Access v4.00.a

We are IntechOpen, the world s leading publisher of Open Access books Built by scientists, for scientists. International authors and editors

9. Building Memory Subsystems Using SOPC Builder

RiceNIC. Prototyping Network Interfaces. Jeffrey Shafer Scott Rixner

Transcription:

Lekha IP 3GPP LTE FEC Encoder IP Core V1.0 The Lekha 3GPP LTE FEC IP Core meets 3GPP LTE specification 3GPP TS 36.212 V 10.5.0 Release 10[1]. 1.0 Introduction The Lekha IP 3GPP LTE FEC Encoder IP Core V1.0 addresses the implementation of the FEC building blocks compliant to 3GPP TS 36.212 V 10.5.0. Specifically, the IP core offers an efficient, easy to customize and reliable implementation of the following blocks. Optimization techniques have been used to achieve a reduced cycle count in the design of key building blocks thus making it amenable to parallel implementation for increased data rate requirements of the order of few gigabits as demanded by futuristic implementations. Similar techniques have been adopted in the decoder IP design as well to make it an efficient solution. Key sub-blocks of the IP core are Controlled selection of Turbo or Convolution path (based on data blocks input or control data input) Rate 1/3 tail biting Convolution encoder Rate 1/3 turbo encoder Rate matching for Turbo coded transport channels Rate matching for Convolution coded transport channels and control information Bit collection, selection and transmission. A high level functional block diagram of the FEC Encoder IP Core is shown in Fig.1 below. In the following pages, a brief data sheet for the IP core is provided. Control/ Data Data_in [7:0] BlockLen SoB Addr_Strt Input Double Buffer Turbo Encoder Conv. Encoder Rate Matching & Bit Collection e k NoofBitsout FEC Encoder IP Core Fig.1 High level Block diagram of FEC Encoder IP Core www.lekhawireless.com 1

Long Term Evolution (LTE) is a 3GPP initiative for next generation wireless technology which is gaining fast ground as a technology of choice to provide reliable communication and data rates for broadband mobile communications. Lekha FEC Encoder Features LTE/ LTE Advanced (LTE A) Complaint. Implements Turbo encoder as defined in Section 5.1.3.2 of the specification[1]. Configurable Interleaver block sizes - Supports all block sizes i.e., K=40 6144 as defined in [1] for Turbo and small block lengths (Ex: up to 64) for Convolution. Default code rate achieved is 1/3 with rate matching for other code rates supported. Easy interface definition. Customization to AXI or Avalon bus interface supported. Bit accurate C and MATLAB models available for RTL test vector generation. Device Support Supports several devices across Xilinx, Altera and Lattice device families. Test Environment HDL IP models have been verified to be bit exact with the Matlab/ ANSI C models. These are fully compliant to the LTE/ LTE A specification. Deliverables Licensable in Netlist or Verilog or VHDL source format Target technology Xilinx, Altera, Lattice devices Test bench MATLAB, C, VHDL, Verilog simulation models available Detailed technical documentation. www.lekhawireless.com 2

2.0 Turbo Encoder Turbo codes form the core part of forward error correction coding in 3GPP LTE and LTE advanced standards. A basic 1/3 rate Encoder block diagram is as shown in fig. 2 below. 1 st Constituent Encoder X k Z k C k D D D Turbo Code Interleaver C k 2 nd Constituent Encoder D D D Z k X k Fig. 2 1/3 Rate Turbo Encoder Block diagram 2.1 Input Interface All block sizes from 40 6144 are supported by the IP core. For a given block size of K, the input bit stream is ordered in the format X 0, X 1,., X k-1. The operation is block-wise. The input data path is doublebuffered to enable greater throughputs with pipelining. While a block of data is being written into the input buffer, a block of data is routed to the encoder sub-block in parallel. The input interface has well defined control and status signals to indicate buffer-empty, begin input block writes and to define the block length K. The input block is loaded into the input buffer in a byte-wide fashion and therefore the entire block load operation can be complete in K/8 clocks. 2.2 Interleaver It is important to achieve a minimum latency interleaver operation for efficient and high throughput operations. According to [1], the bits input to the Turbo code internal interleaver are denoted by c0, c1,, ck-1, where K is the number of input bits. The bits output from the Turbo code internal interleaver are denoted by c 0, c 1,, c K-1. The relationship between the input and output bits is represented by the equation C i = C (i), i = 0, 1,., (K-1) Where the relationship between the output index i and the input index (i) satisfies the following quadratic form: www.lekhawireless.com 3

(i)= (f 1.i + f 2.i 2 )mod K The parameters f1 and f2 depend on the block size, K and are specified in the standard. Lekha s implementation uses certain innovative methods to break the iterative computation such that the interleaver implementation is optimal both in terms of cycle count and area efficiency. Based on system s throughput requirements, there are implementations available that can parallelize the interleaver operation. 2.3 Output Interface The output follows the pattern X 0, Z 0, Z 0, X 1, Z 1, Z 1,, X K-1, Z K-1, Z K-1 Where X represents the systematic output bits from Recursive Systematic Convolutional (RSC) encoder 1, Z represents the parity bit from RSC encoder 1 and Z represents the parity output bits from RSC encoder 2. Systematic bit from RSC encoder 2 is optionally available. The output can be directly utilized or can be fed to the rate matching component based on system requirements. 2.4 Performance From the instance of block of size K being available in input buffer to the first data present at output of the encoder, K clocks are consumed. 3.0 Rate 1/3 Convolution Encoder The tail biting convolution code with constraint length 7 and coding rate 1/3 is defined according to [1]. The initial value of the shift register of the encoder shall be set to the values corresponding to the last 6 information bits in the input stream so that the initial and final states of the shift register are the same. A block diagram representation of Convolution encoder is as shown in Fig. 3 below C k D5 D4 D3 D2 D1 D0 d k (0) d k (1) d k (2) Fig.3 Block diagram of Rate 1/3 Convolution Encoder www.lekhawireless.com 4

The encoder output streams d k (0), d k (1) and d k (2) correspond to the first, second and third parity streams, respectively. 3.1 Performance From the instance the data is available in the input memory buffer to the first valid output bit from the encoder, the latency is 1 clock. To encode a block of size K bits, K clocks are consumed. 4.0 Rate matching and bit collection The rate matching and bit collection implementation is compliant to the specification of the sub-block interleaving and bit collection as in [1]. The rate matching for the FEC encoder(turbo coded transport channel and Convolutionally coded transport channels and control information) and is defined per coded block and consists of interleaving the three information bit streams represented by d (0) (1) (2) k, d k and d k respectively followed by the collection of bits and the generation of a circular buffer. The output bit streams are represented by V (0) k, V (1) k and V (2) k. The starting address for read-out from the circular buffer and the number of bits to be output and specified for read-out of the data from bit collection block. A control input T/nC selects the rate matching mode (Turbo/ Convolutional). 4.1 Performance Data from Encoder block will be filled in D k input RAM in D clocks and the data will be filled in V k memory based on interleaved addresses generated in D+Nz clocks (Nz represents the number of zeroes that are added to construct the matrix as a multiple of 32. 5.0 Resource Usage The following table provides guide values for resource usage of the FEC Encoder IP Block. The target FPGA device was taken as Xilinx 6vlx75tff484-3 Number of Slice Registers 642/ 93120 Number of Slice LUT s 2473/ 93120 Number of BRAMs inferred (18K) 6 The above resource numbers are for the FEC IP Core instance including the input dual buffer, memory for sub-block interleaved data, interleaver memory and output e k memory. Maximum operating frequencies close to 300 MHz are observed. Note: The above numbers can vary based on minor modifications in design, the exact part chosen and the tools used. The numbers are to be used as guidance values only. www.lekhawireless.com 5

References [1] 3GPP TS 36.212 version 10.5.0 Release 10 For further information or enquiry, send a request to ipbiz.rtl@lekhawireless.com The Above IP can be licensed either as a completely integrated core or separately as Turbo, Convolution and rate matching blocks. Lekha also offers customization services for these IP cores, and can also support in FPGA prototyping, board design and system software development. www.lekhawireless.com 6