Documentation for architecture MROD_X_Out/BE_Decode/a0
VHDL Contents
1 architecture a0 of BE_Decode is
28 Signal DBE_Int_n: Std_Logic_Vector(3 Downto 0);
29 Signal SWDEN_Int_n: Std_Logic;
30 BEGIN
31 Process (Clk, Rst_n)
36 Begin
37 If Rst_n = '0' Then
38 DBE_n <= (Others => '1');
39 SWDEN_n <= '1';
40 ElsIf Rising_Edge(Clk) Then
41 DBE_n <= DBE_Int_n;
42 SWDEN_n <= SWDEN_Int_n;
43 End If;
44 End Process;
45
46 Process (DS1_n, DS0_n, LWORD_n, IACK_n, A1, D64)
47 Begin
48 Single <= '0';
49 Double <= '0';
50 Quad <= '0';
51 Byte8 <= '0';
52
53
54 If IACK_n = '1' Then
55 If DS1_n = '1' And DS0_n = '1' Then
59 DBE_Int_n (0) <= '1';
61 DBE_Int_n (1) <= '1';
62 DBE_Int_n (2) <= '1';
63 DBE_Int_n (3) <= '1';
64 SWDEN_Int_n <= '1';
65 ElsIf D64 = '0' And LWORD_n = '0' And A1 = '0' And DS1_n = '0' And DS0_n = '0' Then
72 DBE_Int_n (0) <= '0';
74 DBE_Int_n (1) <= '0';
75 DBE_Int_n (2) <= '0';
76 DBE_Int_n (3) <= '0';
77 SWDEN_Int_n <= '1';
78
79 Quad <= '1';
80 ElsIf D64 = '0' And LWORD_n = '0' And A1 = '0' And DS1_n = '0' And DS0_n = '1' Then
84 DBE_Int_n (0) <= '0';
86 DBE_Int_n (1) <= '0';
87 DBE_Int_n (2) <= '0';
88 DBE_Int_n (3) <= '1';
89 SWDEN_Int_n <= '1';
90
91 ElsIf D64 = '0' And LWORD_n = '0' And A1 = '0' And DS1_n = '1' And DS0_n = '0' Then
96 DBE_Int_n (0) <= '1';
98 DBE_Int_n (1) <= '0';
99 DBE_Int_n (2) <= '0';
100 DBE_Int_n (3) <= '0';
101 SWDEN_Int_n <= '1';
102
103 ElsIf D64 = '0' And LWORD_n = '0' And A1 = '1' And DS1_n = '0' And DS0_n = '0' Then
107 DBE_Int_n (0) <= '1';
109 DBE_Int_n (1) <= '0';
110 DBE_Int_n (2) <= '0';
111 DBE_Int_n (3) <= '1';
112 SWDEN_Int_n <= '1';
113
114 ElsIf D64 = '0' And LWORD_n = '0' And A1 = '1' And (DS1_n = '1' Or DS1_n = '0') Then
119 DBE_Int_n (0) <= '1';
121 DBE_Int_n (1) <= '1';
122 DBE_Int_n (2) <= '1';
123 DBE_Int_n (3) <= '1';
124 SWDEN_Int_n <= '1';
125 ElsIf D64 = '0' And LWORD_n = '1' And A1 = '0' And DS1_n = '0' And DS0_n = '0' Then
129 DBE_Int_n (0) <= '0';
131 DBE_Int_n (1) <= '0';
132 DBE_Int_n (2) <= '1';
133 DBE_Int_n (3) <= '1';
134 SWDEN_Int_n <= '0';
135
136 Double <= '1';
137
138 ElsIf D64 = '0' And LWORD_n = '1' And A1 = '1' And DS1_n = '0' And DS0_n = '0' Then
139 DBE_Int_n (0) <= '1';
141 DBE_Int_n (1) <= '1';
142 DBE_Int_n (2) <= '0';
143 DBE_Int_n (3) <= '0';
144 SWDEN_Int_n <= '1';
145
146 Double <= '1';
147 ElsIf D64 = '0' And LWORD_n = '1' And A1 = '0' And DS1_n = '0' And DS0_n = '1' Then
151 DBE_Int_n (0) <= '0';
153 DBE_Int_n (1) <= '1';
154 DBE_Int_n (2) <= '1';
155 DBE_Int_n (3) <= '1';
156 SWDEN_Int_n <= '0';
157
158 Single <= '1';
159
160 ElsIf D64 = '0' And LWORD_n = '1' And A1 = '0' And DS1_n = '1' And DS0_n = '0' Then
161 DBE_Int_n (0) <= '1';
163 DBE_Int_n (1) <= '0';
164 DBE_Int_n (2) <= '1';
165 DBE_Int_n (3) <= '1';
166 SWDEN_Int_n <= '0';
167
168 Single <= '1';
169
170 ElsIf D64 = '0' And LWORD_n = '1' And A1 = '1' And DS1_n = '0' And DS0_n = '1' Then
171 DBE_Int_n (0) <= '1';
173 DBE_Int_n (1) <= '1';
174 DBE_Int_n (2) <= '0';
175 DBE_Int_n (3) <= '1';
176 SWDEN_Int_n <= '1';
177
178 Single <= '1';
179
180 ElsIf D64 = '0' And LWORD_n = '1' And A1 = '1' And DS1_n = '1' And DS0_n = '0' Then
181 DBE_Int_n (0) <= '1';
183 DBE_Int_n (1) <= '1';
184 DBE_Int_n (2) <= '1';
185 DBE_Int_n (3) <= '0';
186 SWDEN_Int_n <= '1';
187
188 Single <= '1';
189
190 ElsIf D64 = '1' And LWORD_n = '0' And A1 = '0' And DS1_n = '0' And DS0_n = '0' Then
194 DBE_Int_n (0) <= '0';
198 DBE_Int_n (1) <= '0';
199 DBE_Int_n (2) <= '0';
200 DBE_Int_n (3) <= '0';
201 SWDEN_Int_n <= '1';
202
203 Byte8 <= '1';
204
205 Else
206 DBE_Int_n (0) <= '1';
208 DBE_Int_n (1) <= '1';
209 DBE_Int_n (2) <= '1';
210 DBE_Int_n (3) <= '1';
211 SWDEN_Int_n <= '1';
212 End If;
213 Else
214
215 If D64 = '0' And LWORD_n = '0' And DS1_n = '0' And DS0_n = '0' Then
222 DBE_Int_n (0) <= '0';
224 DBE_Int_n (1) <= '0';
225 DBE_Int_n (2) <= '0';
226 DBE_Int_n (3) <= '0';
227 SWDEN_Int_n <= '1';
228
229 Quad <= '1';
230 ElsIf D64 = '0' And LWORD_n = '1' And DS1_n = '0' And DS0_n = '0' Then
234 DBE_Int_n (0) <= '1';
236 DBE_Int_n (1) <= '1';
237 DBE_Int_n (2) <= '0';
238 DBE_Int_n (3) <= '0';
239 SWDEN_Int_n <= '1';
240
241 Double <= '1';
242 ElsIf D64 = '0' And LWORD_n = '1' And DS1_n = '1' And DS0_n = '0' Then
246 DBE_Int_n (0) <= '1';
248 DBE_Int_n (1) <= '1';
249 DBE_Int_n (2) <= '1';
250 DBE_Int_n (3) <= '0';
251 SWDEN_Int_n <= '1';
252
253 Single <= '1';
254
255 Else
256 DBE_Int_n (0) <= '1';
258 DBE_Int_n (1) <= '1';
259 DBE_Int_n (2) <= '1';
260 DBE_Int_n (3) <= '1';
261 SWDEN_Int_n <= '1';
262 End If;
263 End If;
264
265 End Process;
266 end architecture a0 ;