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

Subversion Repositories reed_solomon_decoder

[/] [reed_solomon_decoder/] [trunk/] [rtl/] [GF_matrix_ascending_binary.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 aelmahmoud
/* This program is free software: you can redistribute it and/or modify
2
   it under the terms of the GNU General Public License as published by
3
   the Free Software Foundation, either version 3 of the License, or
4
   (at your option) any later version.
5
 
6
   This program is distributed in the hope that it will be useful,
7
   but WITHOUT ANY WARRANTY; without even the implied warranty of
8
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9
   GNU General Public License for more details.
10
 
11
   You should have received a copy of the GNU General Public License
12
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
13
 
14
   Email : semiconductors@varkongroup.com
15
   Tel   : 1-732-447-8611
16
 
17
*/
18
 
19
///convert values from decimal domain to power domain
20
module GF_matrix_ascending_binary(clk,re,address_read,data_out);
21
parameter address_width=8;
22
parameter data_width=8;
23
parameter num_words=256;
24
input clk,re;
25
input [address_width-1:0] address_read;
26
output [data_width-1:0] data_out;
27
reg [data_width-1:0] data_out;
28
reg [data_width-1:0] mem [0:num_words-1];
29
initial
30
begin
31
mem[0]<= 'b11111111;
32
mem[1]<= 'b00000000;
33
mem[2]<= 'b00000001;
34
mem[3]<= 'b00011001;
35
mem[4]<= 'b00000010;
36
mem[5]<= 'b00110010;
37
mem[6]<= 'b00011010;
38
mem[7]<= 'b11000110;
39
mem[8]<= 'b00000011;
40
mem[9]<= 'b11011111;
41
mem[10]<= 'b00110011;
42
mem[11]<= 'b11101110;
43
mem[12]<= 'b00011011;
44
mem[13]<= 'b01101000;
45
mem[14]<= 'b11000111;
46
mem[15]<= 'b01001011;
47
mem[16]<= 'b00000100;
48
mem[17]<= 'b01100100;
49
mem[18]<= 'b11100000;
50
mem[19]<= 'b00001110;
51
mem[20]<= 'b00110100;
52
mem[21]<= 'b10001101;
53
mem[22]<= 'b11101111;
54
mem[23]<= 'b10000001;
55
mem[24]<= 'b00011100;
56
mem[25]<= 'b11000001;
57
mem[26]<= 'b01101001;
58
mem[27]<= 'b11111000;
59
mem[28]<= 'b11001000;
60
mem[29]<= 'b00001000;
61
mem[30]<= 'b01001100;
62
mem[31]<= 'b01110001;
63
mem[32]<= 'b00000101;
64
mem[33]<= 'b10001010;
65
mem[34]<= 'b01100101;
66
mem[35]<= 'b00101111;
67
mem[36]<= 'b11100001;
68
mem[37]<= 'b00100100;
69
mem[38]<= 'b00001111;
70
mem[39]<= 'b00100001;
71
mem[40]<= 'b00110101;
72
mem[41]<= 'b10010011;
73
mem[42]<= 'b10001110;
74
mem[43]<= 'b11011010;
75
mem[44]<= 'b11110000;
76
mem[45]<= 'b00010010;
77
mem[46]<= 'b10000010;
78
mem[47]<= 'b01000101;
79
mem[48]<= 'b00011101;
80
mem[49]<= 'b10110101;
81
mem[50]<= 'b11000010;
82
mem[51]<= 'b01111101;
83
mem[52]<= 'b01101010;
84
mem[53]<= 'b00100111;
85
mem[54]<= 'b11111001;
86
mem[55]<= 'b10111001;
87
mem[56]<= 'b11001001;
88
mem[57]<= 'b10011010;
89
mem[58]<= 'b00001001;
90
mem[59]<= 'b01111000;
91
mem[60]<= 'b01001101;
92
mem[61]<= 'b11100100;
93
mem[62]<= 'b01110010;
94
mem[63]<= 'b10100110;
95
mem[64]<= 'b00000110;
96
mem[65]<= 'b10111111;
97
mem[66]<= 'b10001011;
98
mem[67]<= 'b01100010;
99
mem[68]<= 'b01100110;
100
mem[69]<= 'b11011101;
101
mem[70]<= 'b00110000;
102
mem[71]<= 'b11111101;
103
mem[72]<= 'b11100010;
104
mem[73]<= 'b10011000;
105
mem[74]<= 'b00100101;
106
mem[75]<= 'b10110011;
107
mem[76]<= 'b00010000;
108
mem[77]<= 'b10010001;
109
mem[78]<= 'b00100010;
110
mem[79]<= 'b10001000;
111
mem[80]<= 'b00110110;
112
mem[81]<= 'b11010000;
113
mem[82]<= 'b10010100;
114
mem[83]<= 'b11001110;
115
mem[84]<= 'b10001111;
116
mem[85]<= 'b10010110;
117
mem[86]<= 'b11011011;
118
mem[87]<= 'b10111101;
119
mem[88]<= 'b11110001;
120
mem[89]<= 'b11010010;
121
mem[90]<= 'b00010011;
122
mem[91]<= 'b01011100;
123
mem[92]<= 'b10000011;
124
mem[93]<= 'b00111000;
125
mem[94]<= 'b01000110;
126
mem[95]<= 'b01000000;
127
mem[96]<= 'b00011110;
128
mem[97]<= 'b01000010;
129
mem[98]<= 'b10110110;
130
mem[99]<= 'b10100011;
131
mem[100]<= 'b11000011;
132
mem[101]<= 'b01001000;
133
mem[102]<= 'b01111110;
134
mem[103]<= 'b01101110;
135
mem[104]<= 'b01101011;
136
mem[105]<= 'b00111010;
137
mem[106]<= 'b00101000;
138
mem[107]<= 'b01010100;
139
mem[108]<= 'b11111010;
140
mem[109]<= 'b10000101;
141
mem[110]<= 'b10111010;
142
mem[111]<= 'b00111101;
143
mem[112]<= 'b11001010;
144
mem[113]<= 'b01011110;
145
mem[114]<= 'b10011011;
146
mem[115]<= 'b10011111;
147
mem[116]<= 'b00001010;
148
mem[117]<= 'b00010101;
149
mem[118]<= 'b01111001;
150
mem[119]<= 'b00101011;
151
mem[120]<= 'b01001110;
152
mem[121]<= 'b11010100;
153
mem[122]<= 'b11100101;
154
mem[123]<= 'b10101100;
155
mem[124]<= 'b01110011;
156
mem[125]<= 'b11110011;
157
mem[126]<= 'b10100111;
158
mem[127]<= 'b01010111;
159
mem[128]<= 'b00000111;
160
mem[129]<= 'b01110000;
161
mem[130]<= 'b11000000;
162
mem[131]<= 'b11110111;
163
mem[132]<= 'b10001100;
164
mem[133]<= 'b10000000;
165
mem[134]<= 'b01100011;
166
mem[135]<= 'b00001101;
167
mem[136]<= 'b01100111;
168
mem[137]<= 'b01001010;
169
mem[138]<= 'b11011110;
170
mem[139]<= 'b11101101;
171
mem[140]<= 'b00110001;
172
mem[141]<= 'b11000101;
173
mem[142]<= 'b11111110;
174
mem[143]<= 'b00011000;
175
mem[144]<= 'b11100011;
176
mem[145]<= 'b10100101;
177
mem[146]<= 'b10011001;
178
mem[147]<= 'b01110111;
179
mem[148]<= 'b00100110;
180
mem[149]<= 'b10111000;
181
mem[150]<= 'b10110100;
182
mem[151]<= 'b01111100;
183
mem[152]<= 'b00010001;
184
mem[153]<= 'b01000100;
185
mem[154]<= 'b10010010;
186
mem[155]<= 'b11011001;
187
mem[156]<= 'b00100011;
188
mem[157]<= 'b00100000;
189
mem[158]<= 'b10001001;
190
mem[159]<= 'b00101110;
191
mem[160]<= 'b00110111;
192
mem[161]<= 'b00111111;
193
mem[162]<= 'b11010001;
194
mem[163]<= 'b01011011;
195
mem[164]<= 'b10010101;
196
mem[165]<= 'b10111100;
197
mem[166]<= 'b11001111;
198
mem[167]<= 'b11001101;
199
mem[168]<= 'b10010000;
200
mem[169]<= 'b10000111;
201
mem[170]<= 'b10010111;
202
mem[171]<= 'b10110010;
203
mem[172]<= 'b11011100;
204
mem[173]<= 'b11111100;
205
mem[174]<= 'b10111110;
206
mem[175]<= 'b01100001;
207
mem[176]<= 'b11110010;
208
mem[177]<= 'b01010110;
209
mem[178]<= 'b11010011;
210
mem[179]<= 'b10101011;
211
mem[180]<= 'b00010100;
212
mem[181]<= 'b00101010;
213
mem[182]<= 'b01011101;
214
mem[183]<= 'b10011110;
215
mem[184]<= 'b10000100;
216
mem[185]<= 'b00111100;
217
mem[186]<= 'b00111001;
218
mem[187]<= 'b01010011;
219
mem[188]<= 'b01000111;
220
mem[189]<= 'b01101101;
221
mem[190]<= 'b01000001;
222
mem[191]<= 'b10100010;
223
mem[192]<= 'b00011111;
224
mem[193]<= 'b00101101;
225
mem[194]<= 'b01000011;
226
mem[195]<= 'b11011000;
227
mem[196]<= 'b10110111;
228
mem[197]<= 'b01111011;
229
mem[198]<= 'b10100100;
230
mem[199]<= 'b01110110;
231
mem[200]<= 'b11000100;
232
mem[201]<= 'b00010111;
233
mem[202]<= 'b01001001;
234
mem[203]<= 'b11101100;
235
mem[204]<= 'b01111111;
236
mem[205]<= 'b00001100;
237
mem[206]<= 'b01101111;
238
mem[207]<= 'b11110110;
239
mem[208]<= 'b01101100;
240
mem[209]<= 'b10100001;
241
mem[210]<= 'b00111011;
242
mem[211]<= 'b01010010;
243
mem[212]<= 'b00101001;
244
mem[213]<= 'b10011101;
245
mem[214]<= 'b01010101;
246
mem[215]<= 'b10101010;
247
mem[216]<= 'b11111011;
248
mem[217]<= 'b01100000;
249
mem[218]<= 'b10000110;
250
mem[219]<= 'b10110001;
251
mem[220]<= 'b10111011;
252
mem[221]<= 'b11001100;
253
mem[222]<= 'b00111110;
254
mem[223]<= 'b01011010;
255
mem[224]<= 'b11001011;
256
mem[225]<= 'b01011001;
257
mem[226]<= 'b01011111;
258
mem[227]<= 'b10110000;
259
mem[228]<= 'b10011100;
260
mem[229]<= 'b10101001;
261
mem[230]<= 'b10100000;
262
mem[231]<= 'b01010001;
263
mem[232]<= 'b00001011;
264
mem[233]<= 'b11110101;
265
mem[234]<= 'b00010110;
266
mem[235]<= 'b11101011;
267
mem[236]<= 'b01111010;
268
mem[237]<= 'b01110101;
269
mem[238]<= 'b00101100;
270
mem[239]<= 'b11010111;
271
mem[240]<= 'b01001111;
272
mem[241]<= 'b10101110;
273
mem[242]<= 'b11010101;
274
mem[243]<= 'b11101001;
275
mem[244]<= 'b11100110;
276
mem[245]<= 'b11100111;
277
mem[246]<= 'b10101101;
278
mem[247]<= 'b11101000;
279
mem[248]<= 'b01110100;
280
mem[249]<= 'b11010110;
281
mem[250]<= 'b11110100;
282
mem[251]<= 'b11101010;
283
mem[252]<= 'b10101000;
284
mem[253]<= 'b01010000;
285
mem[254]<= 'b01011000;
286
mem[255]<= 'b10101111;
287
end
288
always @ (posedge(clk))
289
begin
290
        if (re==1'b1)
291
                begin
292
                        data_out <= mem[address_read];
293
                end
294
end
295
endmodule

powered by: WebSVN 2.1.0

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