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/] [example/] [rtl/] [RsDecodeDelay.v] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 issei
//===================================================================
2
// Module Name : RsDecodeDelay
3
// File Name   : RsDecodeDelay.v
4
// Function    : Rs DpRam Memory controller Module
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
 
15
 
16
module RsDecodeDelay(
17
   CLK,      // system clock
18
   RESET,    // system reset
19
   enable,   // enable signal
20
   dataIn,   // data input
21
   dataOut   // data output
22
);
23
 
24
   input          CLK;       // system clock
25
   input          RESET;     // system reset
26
   input          enable;    // enable signal
27
   input  [8:0]   dataIn;    // data input
28
   output [8:0]   dataOut;   // data output
29
 
30
 
31
 
32
   //------------------------------------------------------------------------
33
   //- registers
34
   //------------------------------------------------------------------------
35
   reg  [8:0]   writePointer;
36
   reg  [8:0]   readPointer;
37
   wire [8:0]   dpramRdData;
38
 
39
 
40
 
41
   //------------------------------------------------------------------------
42
   //- RAM memory instantiation
43
   //------------------------------------------------------------------------
44
   RsDecodeDpRam RsDecodeDpRam(
45
      // Outputs
46
      .q(dpramRdData),
47
      // Inputs
48
      .clock(CLK),
49
      .data(dataIn [8:0]),
50
      .rdaddress(readPointer),
51
      .rden(enable),
52
      .wraddress(writePointer),
53
      .wren(enable)
54
   );
55
 
56
 
57
 
58
   //------------------------------------------------------------------------
59
   //+ dataOut
60
   //------------------------------------------------------------------------
61
   assign dataOut[8:0] = dpramRdData;
62
 
63
 
64
 
65
   //------------------------------------------------------------------------
66
   //- Write Pointer
67
   //------------------------------------------------------------------------
68
   always @(posedge CLK or negedge RESET) begin
69
      if (~RESET) begin
70
         writePointer   <= 9'd351;
71
      end
72
      else if (enable == 1'b1) begin
73
         if (writePointer == 9'd351) begin
74
            writePointer <= 9'd0;
75
         end
76
         else begin
77
            writePointer <= writePointer + 9'd1;
78
         end
79
      end
80
   end
81
 
82
 
83
 
84
   //------------------------------------------------------------------------
85
   //- Read Pointer
86
   //------------------------------------------------------------------------
87
   always @(posedge CLK or negedge RESET) begin
88
      if (~RESET) begin
89
         readPointer  [8:0] <= 9'd0;
90
      end
91
      else if (enable == 1'b1) begin
92
         if (readPointer == 9'd351) begin
93
            readPointer <= 9'd0;
94
         end
95
         else begin
96
            readPointer <= readPointer + 9'd1;
97
         end
98
      end
99
   end
100
 
101
 
102
 
103
endmodule

powered by: WebSVN 2.1.0

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