blob: 54d24b3199464b2b67192d982a4cc7ab9d59c02c [file] [log] [blame]
`timescale 1ns / 1ps
module pre_encoder_rom (
i_S,
i_nmod15_minus1,
o_S_out
);
input [3:0] i_S;
input [3:0] i_nmod15_minus1;
output reg [3:0] o_S_out;
wire [7:0] addr;
assign addr = {i_nmod15_minus1,i_S}; // multiply by 16 and add current state //changed non-blocking assignment to blocking assignment
always @(*)
begin
case (addr)
0: o_S_out = 0;
1: o_S_out = 14;
2: o_S_out = 3;
3: o_S_out = 13;
4: o_S_out = 7;
5: o_S_out = 9;
6: o_S_out = 4;
7: o_S_out = 10;
8: o_S_out = 15;
9: o_S_out = 1;
10: o_S_out = 12;
11: o_S_out = 2;
12: o_S_out = 8;
13: o_S_out = 6;
14: o_S_out = 11;
15: o_S_out = 5;
16: o_S_out = 0;
17: o_S_out = 11;
18: o_S_out = 13;
19: o_S_out = 6;
20: o_S_out = 10;
21: o_S_out = 1;
22: o_S_out = 7;
23: o_S_out = 12;
24: o_S_out = 5;
25: o_S_out = 14;
26: o_S_out = 8;
27: o_S_out = 3;
28: o_S_out = 15;
29: o_S_out = 4;
30: o_S_out = 2;
31: o_S_out = 9;
32: o_S_out = 0;
33: o_S_out = 8;
34: o_S_out = 9;
35: o_S_out = 1;
36: o_S_out = 2;
37: o_S_out = 10;
38: o_S_out = 11;
39: o_S_out = 3;
40: o_S_out = 4;
41: o_S_out = 12;
42: o_S_out = 13;
43: o_S_out = 5;
44: o_S_out = 6;
45: o_S_out = 14;
46: o_S_out = 15;
47: o_S_out = 7;
48: o_S_out = 0;
49: o_S_out = 3;
50: o_S_out = 4;
51: o_S_out = 7;
52: o_S_out = 8;
53: o_S_out =11;
54: o_S_out = 12;
55: o_S_out = 15;
56: o_S_out = 1;
57: o_S_out = 2;
58: o_S_out = 5;
59: o_S_out = 6;
60: o_S_out = 9;
61: o_S_out = 10;
62: o_S_out = 13;
63: o_S_out = 14;
64: o_S_out = 0;
65: o_S_out = 12;
66: o_S_out = 5;
67: o_S_out = 9;
68: o_S_out = 11;
69: o_S_out = 7;
70: o_S_out = 14;
71: o_S_out = 2;
72: o_S_out = 6;
73: o_S_out = 10;
74: o_S_out = 3;
75: o_S_out = 15;
76: o_S_out = 13;
77: o_S_out = 1;
78: o_S_out = 8;
79: o_S_out = 4;
80: o_S_out = 0;
81: o_S_out = 4;
82: o_S_out = 12;
83: o_S_out = 8;
84: o_S_out = 9;
85: o_S_out = 13;
86: o_S_out = 5;
87: o_S_out = 1;
88: o_S_out = 2;
89: o_S_out = 6;
90: o_S_out = 14;
91: o_S_out = 10;
92: o_S_out = 11;
93: o_S_out = 15;
94: o_S_out = 7;
95: o_S_out = 3;
96: o_S_out = 0;
97: o_S_out = 6;
98: o_S_out = 10;
99: o_S_out = 12;
100: o_S_out = 5;
101: o_S_out = 3;
102: o_S_out = 15;
103: o_S_out = 9;
104: o_S_out = 11;
105: o_S_out = 13;
106: o_S_out = 1;
107: o_S_out = 7;
108: o_S_out = 14;
109: o_S_out = 8;
110: o_S_out = 4;
111: o_S_out = 2;
112: o_S_out = 0;
113: o_S_out = 7;
114: o_S_out = 8;
115: o_S_out = 15;
116: o_S_out = 1;
117: o_S_out = 6;
118: o_S_out = 9;
119: o_S_out = 14;
120: o_S_out = 3;
121: o_S_out = 4;
122: o_S_out = 11;
123: o_S_out = 12;
124: o_S_out = 2;
125: o_S_out = 5;
126: o_S_out = 10;
127: o_S_out = 13;
128: o_S_out = 0;
129: o_S_out = 5;
130: o_S_out = 14;
131: o_S_out = 11;
132: o_S_out = 13;
133: o_S_out = 8;
134: o_S_out = 3;
135: o_S_out = 6;
136: o_S_out = 10;
137: o_S_out = 15;
138: o_S_out = 4;
139: o_S_out = 1;
140: o_S_out = 7;
141: o_S_out = 2;
142: o_S_out = 9;
143: o_S_out = 12;
144: o_S_out = 0;
145: o_S_out = 13;
146: o_S_out = 7;
147: o_S_out = 10;
148: o_S_out = 15;
149: o_S_out = 2;
150: o_S_out = 8;
151: o_S_out = 5;
152: o_S_out = 14;
153: o_S_out = 3;
154: o_S_out = 9;
155: o_S_out = 4;
156: o_S_out = 1;
157: o_S_out = 12;
158: o_S_out = 6;
159: o_S_out = 11;
160: o_S_out = 0;
161: o_S_out = 2;
162: o_S_out = 6;
163: o_S_out = 4;
164: o_S_out = 12;
165: o_S_out = 14;
166: o_S_out = 10;
167: o_S_out = 8;
168: o_S_out = 9;
169: o_S_out = 11;
170: o_S_out = 15;
171: o_S_out = 13;
172: o_S_out = 5;
173: o_S_out = 7;
174: o_S_out = 3;
175: o_S_out = 1;
176: o_S_out = 0;
177: o_S_out = 9;
178: o_S_out = 11;
179: o_S_out = 2;
180: o_S_out = 6;
181: o_S_out = 15;
182: o_S_out = 13;
183: o_S_out = 4;
184: o_S_out = 12;
185: o_S_out = 5;
186: o_S_out = 7;
187: o_S_out = 14;
188: o_S_out = 10;
189: o_S_out = 3;
190: o_S_out = 1;
191: o_S_out = 8;
192: o_S_out = 0;
193: o_S_out = 10;
194: o_S_out = 15;
195: o_S_out = 5;
196: o_S_out = 14;
197: o_S_out = 4;
198: o_S_out = 1;
199: o_S_out = 11;
200: o_S_out = 13;
201: o_S_out = 7;
202: o_S_out = 2;
203: o_S_out = 8;
204: o_S_out = 3;
205: o_S_out = 9;
206: o_S_out = 12;
207: o_S_out = 6;
208: o_S_out = 0;
209: o_S_out = 15;
210: o_S_out = 1;
211: o_S_out = 14;
212: o_S_out = 3;
213: o_S_out = 12;
214: o_S_out = 2;
215: o_S_out = 13;
216: o_S_out = 7;
217: o_S_out = 8;
218: o_S_out = 6;
219: o_S_out = 9;
220: o_S_out = 4;
221: o_S_out = 11;
222: o_S_out = 5;
223: o_S_out = 10;
default: o_S_out = 0;
endcase
end
endmodule