+ All Categories
Home > Documents > LDPC conflict pipelined layered LDPC decoder

LDPC conflict pipelined layered LDPC decoder

Date post: 16-Nov-2023
Category:
Upload: univ-ubs
View: 0 times
Download: 0 times
Share this document with a friend
27
Cédric MARCHAND (PhD student NXP-Lab-STICC) Jean-Baptiste DORE (NXP) Emmanuel BOUTILLON (Lab-STICC) Conflict Resolution for Pipelined Layered LDPC Decoders 2/06/08
Transcript

Cédric MARCHAND (PhD student NXP-Lab-STICC)

Jean-Baptiste DORE (NXP)

Emmanuel BOUTILLON (Lab-STICC)

Conflict Resolution for Pipelined

Layered LDPC Decoders

2/06/08

July 22, 2015

Layered LDPC decoder \ 2

Genetic algorithm

Scheduling of the layers

Memory conflicts

Outline

Outline

Matrix split process

Layered decoder

July 22, 2015

Layered LDPC decoder \ 3

Structured code example

1010

0111H

100000100000

010000010000

001000001000

000100100100

000010010010

000001001001

1H

001000100000

100000010000

010000001000

000010100100

000001010010

000100001001

2H

10

2003

IzIz

zIIIH

Code Structure

July 22, 2015

Layered LDPC decoder \ 4

Matrix of a short frame, 2/3 rate

July 22, 2015

Layered LDPC decoder \ 5

Semi-parallel architecture principle

001000100000

100000010000

010000001000

000010100100

000001010010

000100001001

2 H

Read VN Write VN

CNP

CNP

CNP

VGi

-1 3 messages

Architecture

CG1 CG2

VG1 VG2 VG3 VG4

July 22, 2015

Layered LDPC decoder \ 6

Pipelining the semi parallel architecture

1 2 3

2 4 1 2 3

2 4

+ Throughput - Memory conflicts

Non pipelined

Read VG

Write VGnew

First layer Second layer

… 1 2 3

1 2 3 2 4 - 1 2 3

1 2 3 2 4 -

… Pipelined

Read VG

Write VGnew

July 22, 2015

Layered LDPC decoder \ 7

Genetic algorithm

Scheduling of the layers

Memory conflicts

Outline

Outline

Matrix split process

Layered decoder

July 22, 2015

Layered LDPC decoder \ 8

Memory conflict on pipelined layered decoder

1 2 3

1 2 3 2 4 - 1 2 3

1 2 3 2 4 -

Read VN

Write VNnew

Not update yet from previous layer

Overwrite the result of the previous layer

Solution: avoid VN in common with previous layer

VGCG1={VG1,VG2,VG3}

1ll CGCG VGVG

VGCG2={VG2,VG4}

July 22, 2015

Layered LDPC decoder \ 9

Memory conflict on pipelined layered decoder

1 2 3

1 2 3 2 4 - 1 2 3

1 2 3 2 4 - … Read VN

Write VNnew

Not update yet from previous layer l-2

Overwrite the result of the previous layer l-2

Solution: avoid VN in common with previous layer

2ll CGCG VGVG

July 22, 2015

Layered LDPC decoder \ 10

Genetic algorithm

Scheduling of the layers

Memory conflicts

Outline

Outline

Matrix split process

Layered decoder

July 22, 2015

Layered LDPC decoder \ 11

Matrix of a short frame, 2/3 rate

Simplified matrix (prototype matrix)

July 22, 2015

Layered LDPC decoder \ 12

Scheduling in linear order

Total cost of one iteration: 58 x 360

CG1CG2: Cost=4 CG2CG3: Cost=2

Schedule of one iteration: 1234 …

Cost between two layer i and j: ji cgcg vgvgjic ,

July 22, 2015

Layered LDPC decoder \ 13

Reordering the Schedule

Solution: find a schedule that

minimize the cost

Minimum cost of

one iteration = 20

Schedule: 1111410 …

CG1CG11: Cost=0

CG11CG14: Cost=1 CG10CG14: Cost=0

July 22, 2015

Layered LDPC decoder \ 14

The cost matrix

CG1CG11:

Cost=0

CG10CG14:

Cost=0

The cost matrix

shows the cost

between CGi and

CGj

July 22, 2015

Layered LDPC decoder \ 15

Cost function of one iteration

0,min itc

)1(,)1(),(1

1

mgciiccmgi

i

it

Problem: find the least costly schedule going thought all the CGs

Cost of one iteration:

Problem:

Solution: split the matrix to relax constraints

mg,,2,1 where is one permutation in the set

where is the group of all the possible permutations of

July 22, 2015

Layered LDPC decoder \ 16

Genetic algorithm

Scheduling of the layers

Memory conflicts

Outline

Outline

Matrix split process

Layered decoder

July 22, 2015

Layered LDPC decoder \ 17

Matrix split example

Before split After split

SiPSii s /)mod()(

- The parallelism is reduced by a factor of S

0 1 2 5 8 11 0 1 2 8 11 5 0

3

6

9

July 22, 2015

Layered LDPC decoder \ 18

Split factor two on a rate 2/3 short frame

The split matrix representation is two time sparser the average risk of

memory conflict is divided by two

July 22, 2015

Layered LDPC decoder \ 19

New cost matrix short frame, rate 2/3, Split 2

split

Before split

After a split 2

,0min,min itsplitsplitsplitit cc

After a split 4

July 22, 2015

Layered LDPC decoder \ 20

Use of graph theory

Rate 1/4 long frame, split 4: more than 101000 solutions (540 cities)

Problem known in graph theory as ”The Traveling

Salesman Problem (TSP):

What is the least cost trip to visit each city once

and return to the starting city?

+ Genetic algorithm

Use of heuristic :

Compute all permutation and select the best is NP hard in O(mg!)

- Nearest neighbor algorithm (not optimal solution)

July 22, 2015

Layered LDPC decoder \ 21

Genetic algorithm

Scheduling of the layers

Memory conflicts

Outline

Outline

Matrix split process

Layered decoder

July 22, 2015

Layered LDPC decoder \ 22

Parents

Children

Generic GA

Select the best

Initial population

Crossover

Mutate

Best first 250 permutations

Ne

w p

op

ula

tio

n

Implementation of the GA

N=1000 random permutations

EXIT

1 4 3 2 5 6

1 3 6 4 5 2

Select 2 parents 1 3 6 4 5 6

1 4 3 2 5 2 Crossover

swap

1 3 2 4 5 6

1 4 3 6 5 2 Repair

1 3 2 4 5 6 1 3 2 4 5 6 4 3 2 1 5 6

1 3 2 4 5 6 1 3 2 4 5 6 1 3 2 4 5 6 Swap segment

Swap two VGs

July 22, 2015

Layered LDPC decoder \ 23

Using GA to solve TSP

+ Find solution for great number of cities (up to 1215)

+ Find solution for cost at n+2 by changing cost function

+ Give schedule in 15 minutes

July 22, 2015

Layered LDPC decoder \ 24

Results for long frames

+ Serial scheduling of the SO + Idle time Layer Scheduling

July 22, 2015

Layered LDPC decoder \ 25

Serial scheduling and idle time principle

x x x x 5 x x x 5 x

x x x x 5 x x x 5 x

5 x x x x x x 5 x x

5 x x x x x x 5 x x

x x 5 x x I I

5 x x x x x x 5 x x I I

Serial scheduling of the SO

Add Idle time

Read

Read

Read

Write

Write

Write

5 x x x x

OK

Delay before 5 is updated

July 22, 2015

Layered LDPC decoder \ 26

Conclusion

Scheduling the layer allows to reduce the number conflict

The splitting process upgrade the solutions by scheduling

The splitting process reduce the parallelism and thus the throughput

The problem of finding the schedule is equivalent to the well known

TSP

The TSP problem is solved using Genetic Algorithm heuristic

Genetic algorithm find schedule that solve memories conflicts at

layer+1 and layer+2

July 22, 2015

Layered LDPC decoder \ 27

References

Matlab source: Finds a near-optimal solution to a TSP using a GA

http://www.mathworks.fr/matlabcentral/fileexchange/13680


Recommended