OpenCores
URL https://opencores.org/ocsvn/reed_solomon_codec_generator/reed_solomon_codec_generator/trunk

Subversion Repositories reed_solomon_codec_generator

[/] [reed_solomon_codec_generator/] [trunk/] [source/] [RsDecode.cpp] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 issei
//===================================================================
2
// Module Name : RsDecode
3
// File Name   : RsDecode.cpp
4
// Function    : Rs Decode Top instance
5
// 
6
// Revision History:
7
// Date          By           Version    Change Description
8
//===================================================================
9
// 2009/02/03  Gael Sapience     1.0       Original
10
//
11
//===================================================================
12
// (C) COPYRIGHT 2009 SYSTEM LSI CO., Ltd.
13
//
14
#include <stdio.h>
15
#include <stdlib.h>
16
#include <iostream>
17
#include <string.h>
18
 
19
void RsDecodeSyndrome( int, int, int, int, int*, int*, int*, int, int, char*);
20
void RsDecodeErasure( int, int, int, int, int, int, int*, int*, int*, int, int, char*);
21
void RsDecodePolymul( int, int, int, int, int, int, char*);
22
void RsDecodeEuclide( int, int, int, int, int, int, int, char*);
23
void RsDecodeInv(int, int, int, int, char*);
24
void RsDecodeShiftOmega( int, int, int, int, int, int, int, char*);
25
void RsDecodeDegree( int, int, int, int, int, int, int, char*);
26
void RsDecodeChien( int, int, int, int, int, int*, int*, int, int, int, int, char*);
27
void RsDecodeDelay( int, int, int, int, int, int, int, char*);
28
void RsDecodeDpRam( int, int, int, int, int, int, int, char*);
29
void RsDecodeTop( int, int, int, int, int, int, int, int, int, int, char*);
30
void RsDecodeMul( int, int, int, int, int, int, char*);
31
void RsDecodeMakeData(int, int, int, int, int, int, int, int, int, int, int, int*, int*, int*, int, int, int, int, int, int, char*);
32
 
33
 
34
void RsDecode(int DataSize, int TotalSize, int PrimPoly, int bitSymbol, int errorStats, int passFailFlag, int delayDataIn, int ErasureOption, int BlockAmount, int ErrorRate, int PowerErrorRate, int ErasureRate, int PowerErasureRate, int *MrefTab, int *PrefTab, int *coeffTab, int encDecMode, int encBlockAmount, int pathFlag, int lengthPath, char *rootFolderPath) {
35
 
36
 
37
  //---------------------------------------------------------------
38
  // RS Decode Syndrome
39
  //---------------------------------------------------------------
40
  RsDecodeSyndrome(DataSize, TotalSize, PrimPoly, bitSymbol, MrefTab, PrefTab, coeffTab, pathFlag, lengthPath, rootFolderPath);
41
 
42
 
43
  //---------------------------------------------------------------
44
  // RS Decode Erasure
45
  //---------------------------------------------------------------
46
  if (ErasureOption == 1){
47
     RsDecodeErasure(DataSize, TotalSize, PrimPoly, bitSymbol, passFailFlag, ErasureOption, MrefTab, PrefTab, coeffTab, pathFlag, lengthPath, rootFolderPath);
48
  }
49
 
50
  //---------------------------------------------------------------
51
  // RS Decode Polymul
52
  //---------------------------------------------------------------
53
  if (ErasureOption == 1){
54
     RsDecodePolymul(DataSize, TotalSize, PrimPoly, bitSymbol, pathFlag, lengthPath, rootFolderPath);
55
  }
56
 
57
  //---------------------------------------------------------------
58
  // RS Decode Euclide
59
  //---------------------------------------------------------------
60
  RsDecodeEuclide(DataSize, TotalSize, PrimPoly, ErasureOption, bitSymbol, pathFlag, lengthPath, rootFolderPath);
61
 
62
 
63
  //---------------------------------------------------------------
64
  // RS Decode Shift Omega
65
  //---------------------------------------------------------------
66
  RsDecodeShiftOmega(DataSize, TotalSize, PrimPoly, ErasureOption, bitSymbol, pathFlag, lengthPath, rootFolderPath);
67
 
68
 
69
  //---------------------------------------------------------------
70
  // RS Decode Degree
71
  //---------------------------------------------------------------
72
  if (passFailFlag == 1){
73
     RsDecodeDegree(DataSize, TotalSize, PrimPoly, bitSymbol, ErasureOption, pathFlag, lengthPath, rootFolderPath);
74
  }
75
 
76
  //---------------------------------------------------------------
77
  // RS Decode Chien
78
  //---------------------------------------------------------------
79
  RsDecodeChien(DataSize, TotalSize, PrimPoly, bitSymbol, ErasureOption, MrefTab, PrefTab, errorStats, passFailFlag, pathFlag, lengthPath, rootFolderPath);
80
 
81
 
82
  //---------------------------------------------------------------
83
  // RS Decode Inverse
84
  //---------------------------------------------------------------
85
  RsDecodeInv(PrimPoly, bitSymbol, pathFlag, lengthPath, rootFolderPath);
86
 
87
 
88
  //---------------------------------------------------------------
89
  // RS Decode Delay
90
  //---------------------------------------------------------------
91
  RsDecodeDelay(DataSize, TotalSize, PrimPoly, ErasureOption, bitSymbol, pathFlag, lengthPath, rootFolderPath);
92
 
93
 
94
  //---------------------------------------------------------------
95
  // RS Decode DpRam
96
  //---------------------------------------------------------------
97
  RsDecodeDpRam(DataSize, TotalSize, PrimPoly, ErasureOption, bitSymbol, pathFlag, lengthPath, rootFolderPath);
98
 
99
 
100
  //---------------------------------------------------------------
101
  // RS Decode Top
102
  //---------------------------------------------------------------
103
  RsDecodeTop(DataSize, TotalSize, PrimPoly, ErasureOption, bitSymbol, errorStats, passFailFlag, delayDataIn, pathFlag, lengthPath, rootFolderPath);
104
 
105
 
106
  //---------------------------------------------------------------
107
  // RS Decode Mul
108
  //---------------------------------------------------------------
109
  RsDecodeMul(DataSize, TotalSize, PrimPoly, bitSymbol, pathFlag, lengthPath, rootFolderPath);
110
 
111
 
112
  //---------------------------------------------------------------
113
  // RS Decode MakeData
114
  //---------------------------------------------------------------
115
  RsDecodeMakeData(DataSize, TotalSize, PrimPoly, bitSymbol, ErasureOption, delayDataIn, BlockAmount, ErrorRate, PowerErrorRate, ErasureRate, PowerErasureRate, coeffTab, MrefTab, PrefTab, errorStats, passFailFlag, encDecMode, encBlockAmount, pathFlag, lengthPath, rootFolderPath);
116
 
117
 
118
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.