OpenCores
URL https://opencores.org/ocsvn/bluespec-reedsolomon/bluespec-reedsolomon/trunk

Subversion Repositories bluespec-reedsolomon

[/] [bluespec-reedsolomon/] [trunk/] [sw-reedsolomon/] [rs_decode.cpp] - Diff between revs 5 and 9

Show entire file | Details | Blame | View Log

Rev 5 Rev 9
Line 31... Line 31...
#include "chien_search.h"
#include "chien_search.h"
#include "error_mag.h"
#include "error_mag.h"
#include "error_correct.h"
#include "error_correct.h"
#include "rs_fifo.h"
#include "rs_fifo.h"
 
 
#pragma hls_design top
 
// Top level decoder module
// Top level decoder module
void rs_decode (unsigned char n, unsigned char t, unsigned char in_d[nn],
void rs_decode (unsigned char n, unsigned char t, unsigned char in_d[nn],
                unsigned char *k, unsigned char out_d[kk])
                unsigned char *k, unsigned char out_d[kk])
{
{
   unsigned char temp_k = n - 2*t;
   unsigned char temp_k = n - 2*t;
Line 49... Line 49...
   unsigned char alpha_inv[tt];
   unsigned char alpha_inv[tt];
   unsigned char err[kk];
   unsigned char err[kk];
   unsigned char in_data[kk];
   unsigned char in_data[kk];
   unsigned char in_d_2[nn];
   unsigned char in_d_2[nn];
 
 
 
   // Create copy of input to pass to fifo to error corrector
 
   // Directive: Unroll loop maximally
Simple_rs1:   for (int i = 0; i < nn; i++)
Simple_rs1:   for (int i = 0; i < nn; i++)
       in_d_2[i] = in_d[i];
       in_d_2[i] = in_d[i];
 
 
   *k = temp_k;
   *k = temp_k;
   rs_fifo(temp_k, in_d, in_data);
   rs_fifo(temp_k, in_d, in_data);

powered by: WebSVN 2.1.0

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