1 |
6 |
marta |
-- VHDL data flow description generated from `mux288to16`
|
2 |
|
|
-- date : Thu Jul 26 23:07:18 2001
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
-- Entity Declaration
|
6 |
|
|
|
7 |
|
|
ENTITY mux288to16 IS
|
8 |
|
|
PORT (
|
9 |
|
|
i1 : in bit_vector(15 DOWNTO 0) ; -- i1
|
10 |
|
|
i2 : in bit_vector(15 DOWNTO 0) ; -- i2
|
11 |
|
|
i3 : in bit_vector(15 DOWNTO 0) ; -- i3
|
12 |
|
|
i4 : in bit_vector(15 DOWNTO 0) ; -- i4
|
13 |
|
|
i5 : in bit_vector(15 DOWNTO 0) ; -- i5
|
14 |
|
|
i6 : in bit_vector(15 DOWNTO 0) ; -- i6
|
15 |
|
|
i7 : in bit_vector(15 DOWNTO 0) ; -- i7
|
16 |
|
|
i8 : in bit_vector(15 DOWNTO 0) ; -- i8
|
17 |
|
|
i9 : in bit_vector(15 DOWNTO 0) ; -- i9
|
18 |
|
|
i10 : in bit_vector(15 DOWNTO 0) ; -- i10
|
19 |
|
|
i11 : in bit_vector(15 DOWNTO 0) ; -- i11
|
20 |
|
|
i12 : in bit_vector(15 DOWNTO 0) ; -- i12
|
21 |
|
|
i13 : in bit_vector(15 DOWNTO 0) ; -- i13
|
22 |
|
|
i14 : in bit_vector(15 DOWNTO 0) ; -- i14
|
23 |
|
|
i15 : in bit_vector(15 DOWNTO 0) ; -- i15
|
24 |
|
|
i16 : in bit_vector(15 DOWNTO 0) ; -- i16
|
25 |
|
|
i17 : in bit_vector(15 DOWNTO 0) ; -- i17
|
26 |
|
|
i18 : in bit_vector(15 DOWNTO 0) ; -- i18
|
27 |
|
|
en : in BIT; -- en
|
28 |
|
|
clr : in BIT; -- clr
|
29 |
|
|
sel : in bit_vector(4 DOWNTO 0) ; -- sel
|
30 |
|
|
c : out bit_vector(15 DOWNTO 0) ; -- c
|
31 |
|
|
vdd : in BIT; -- vdd
|
32 |
|
|
vss : in BIT -- vss
|
33 |
|
|
);
|
34 |
|
|
END mux288to16;
|
35 |
|
|
|
36 |
|
|
|
37 |
|
|
-- Architecture Declaration
|
38 |
|
|
|
39 |
|
|
ARCHITECTURE behaviour_data_flow OF mux288to16 IS
|
40 |
|
|
SIGNAL reg : REG_VECTOR(15 DOWNTO 0) REGISTER; -- reg
|
41 |
|
|
SIGNAL aux1 : BIT; -- aux1
|
42 |
|
|
SIGNAL aux0 : BIT; -- aux0
|
43 |
|
|
|
44 |
|
|
BEGIN
|
45 |
|
|
ASSERT ((vdd and not (vss)) = '1')
|
46 |
|
|
REPORT "power supply is missing on mux288to16x"
|
47 |
|
|
SEVERITY WARNING;
|
48 |
|
|
|
49 |
|
|
aux0 <= (not (sel (3)) and not (sel (2)) and not (sel (1)) and sel (4));
|
50 |
|
|
aux1 <= (sel (3) and sel (0));
|
51 |
|
|
label0 : BLOCK ((en and not (en'STABLE)) = '1')
|
52 |
|
|
BEGIN
|
53 |
|
|
reg (0) <= GUARDED ((((i18 (0) and sel (0)) or (not (sel (0)) and i17 (0))) and
|
54 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
55 |
|
|
i15 (0) or sel (0)) and ((not (sel (1)) and i14 (0) and aux1)
|
56 |
|
|
or (sel (3) and (not (sel (0)) or i16 (0)) and (sel (1) or (not
|
57 |
|
|
(sel (0)) and i13 (0)))))) or (not (sel (2)) and (not (sel (1))
|
58 |
|
|
or i11 (0) or sel (0)) and ((not (sel (1)) and i10 (0) and aux1)
|
59 |
|
|
or (sel (3) and (not (sel (0)) or i12 (0)) and (sel (1) or (not
|
60 |
|
|
(sel (0)) and i9 (0)))))) or (sel (2) and (not (sel (1)) or
|
61 |
|
|
i7 (0) or sel (0)) and ((not (sel (3)) and not (sel (1)) and
|
62 |
|
|
i6 (0) and sel (0)) or (not (sel (3)) and (not (sel (0)) or
|
63 |
|
|
i8 (0)) and (sel (1) or (not (sel (0)) and i5 (0)))))) or (not
|
64 |
|
|
(sel (2)) and (not (sel (1)) or i3 (0) or sel (0)) and ((not
|
65 |
|
|
(sel (3)) and not (sel (1)) and i2 (0) and sel (0)) or (not
|
66 |
|
|
(sel (3)) and (not (sel (0)) or i4 (0)) and (sel (1) or (not
|
67 |
|
|
(sel (0)) and i1 (0)))))))));
|
68 |
|
|
END BLOCK label0;
|
69 |
|
|
label1 : BLOCK ((en and not (en'STABLE)) = '1')
|
70 |
|
|
BEGIN
|
71 |
|
|
reg (1) <= GUARDED ((((i18 (1) and sel (0)) or (not (sel (0)) and i17 (1))) and
|
72 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
73 |
|
|
i15 (1) or sel (0)) and ((not (sel (1)) and i14 (1) and aux1)
|
74 |
|
|
or (sel (3) and (not (sel (0)) or i16 (1)) and (sel (1) or (not
|
75 |
|
|
(sel (0)) and i13 (1)))))) or (not (sel (2)) and (not (sel (1))
|
76 |
|
|
or i11 (1) or sel (0)) and ((not (sel (1)) and i10 (1) and aux1)
|
77 |
|
|
or (sel (3) and (not (sel (0)) or i12 (1)) and (sel (1) or (not
|
78 |
|
|
(sel (0)) and i9 (1)))))) or (sel (2) and (not (sel (1)) or
|
79 |
|
|
i7 (1) or sel (0)) and ((not (sel (3)) and not (sel (1)) and
|
80 |
|
|
i6 (1) and sel (0)) or (not (sel (3)) and (not (sel (0)) or
|
81 |
|
|
i8 (1)) and (sel (1) or (not (sel (0)) and i5 (1)))))) or (not
|
82 |
|
|
(sel (2)) and (not (sel (1)) or i3 (1) or sel (0)) and ((not
|
83 |
|
|
(sel (3)) and not (sel (1)) and i2 (1) and sel (0)) or (not
|
84 |
|
|
(sel (3)) and (not (sel (0)) or i4 (1)) and (sel (1) or (not
|
85 |
|
|
(sel (0)) and i1 (1)))))))));
|
86 |
|
|
END BLOCK label1;
|
87 |
|
|
label2 : BLOCK ((en and not (en'STABLE)) = '1')
|
88 |
|
|
BEGIN
|
89 |
|
|
reg (2) <= GUARDED ((((i18 (2) and sel (0)) or (not (sel (0)) and i17 (2))) and
|
90 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
91 |
|
|
i15 (2) or sel (0)) and ((not (sel (1)) and i14 (2) and aux1)
|
92 |
|
|
or (sel (3) and (not (sel (0)) or i16 (2)) and (sel (1) or (not
|
93 |
|
|
(sel (0)) and i13 (2)))))) or (not (sel (2)) and (not (sel (1))
|
94 |
|
|
or i11 (2) or sel (0)) and ((not (sel (1)) and i10 (2) and aux1)
|
95 |
|
|
or (sel (3) and (not (sel (0)) or i12 (2)) and (sel (1) or (not
|
96 |
|
|
(sel (0)) and i9 (2)))))) or (sel (2) and (not (sel (1)) or
|
97 |
|
|
i7 (2) or sel (0)) and ((not (sel (3)) and not (sel (1)) and
|
98 |
|
|
i6 (2) and sel (0)) or (not (sel (3)) and (not (sel (0)) or
|
99 |
|
|
i8 (2)) and (sel (1) or (not (sel (0)) and i5 (2)))))) or (not
|
100 |
|
|
(sel (2)) and (not (sel (1)) or i3 (2) or sel (0)) and ((not
|
101 |
|
|
(sel (3)) and not (sel (1)) and i2 (2) and sel (0)) or (not
|
102 |
|
|
(sel (3)) and (not (sel (0)) or i4 (2)) and (sel (1) or (not
|
103 |
|
|
(sel (0)) and i1 (2)))))))));
|
104 |
|
|
END BLOCK label2;
|
105 |
|
|
label3 : BLOCK ((en and not (en'STABLE)) = '1')
|
106 |
|
|
BEGIN
|
107 |
|
|
reg (3) <= GUARDED ((((i18 (3) and sel (0)) or (not (sel (0)) and i17 (3))) and
|
108 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
109 |
|
|
i15 (3) or sel (0)) and ((not (sel (1)) and i14 (3) and aux1)
|
110 |
|
|
or (sel (3) and (not (sel (0)) or i16 (3)) and (sel (1) or (not
|
111 |
|
|
(sel (0)) and i13 (3)))))) or (not (sel (2)) and (not (sel (1))
|
112 |
|
|
or i11 (3) or sel (0)) and ((not (sel (1)) and i10 (3) and aux1)
|
113 |
|
|
or (sel (3) and (not (sel (0)) or i12 (3)) and (sel (1) or (not
|
114 |
|
|
(sel (0)) and i9 (3)))))) or (sel (2) and (not (sel (1)) or
|
115 |
|
|
i7 (3) or sel (0)) and ((not (sel (3)) and not (sel (1)) and
|
116 |
|
|
i6 (3) and sel (0)) or (not (sel (3)) and (not (sel (0)) or
|
117 |
|
|
i8 (3)) and (sel (1) or (not (sel (0)) and i5 (3)))))) or (not
|
118 |
|
|
(sel (2)) and (not (sel (1)) or i3 (3) or sel (0)) and ((not
|
119 |
|
|
(sel (3)) and not (sel (1)) and i2 (3) and sel (0)) or (not
|
120 |
|
|
(sel (3)) and (not (sel (0)) or i4 (3)) and (sel (1) or (not
|
121 |
|
|
(sel (0)) and i1 (3)))))))));
|
122 |
|
|
END BLOCK label3;
|
123 |
|
|
label4 : BLOCK ((en and not (en'STABLE)) = '1')
|
124 |
|
|
BEGIN
|
125 |
|
|
reg (4) <= GUARDED ((((i18 (4) and sel (0)) or (not (sel (0)) and i17 (4))) and
|
126 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
127 |
|
|
i15 (4) or sel (0)) and ((not (sel (1)) and i14 (4) and aux1)
|
128 |
|
|
or (sel (3) and (not (sel (0)) or i16 (4)) and (sel (1) or (not
|
129 |
|
|
(sel (0)) and i13 (4)))))) or (not (sel (2)) and (not (sel (1))
|
130 |
|
|
or i11 (4) or sel (0)) and ((not (sel (1)) and i10 (4) and aux1)
|
131 |
|
|
or (sel (3) and (not (sel (0)) or i12 (4)) and (sel (1) or (not
|
132 |
|
|
(sel (0)) and i9 (4)))))) or (sel (2) and (not (sel (1)) or
|
133 |
|
|
i7 (4) or sel (0)) and ((not (sel (3)) and not (sel (1)) and
|
134 |
|
|
i6 (4) and sel (0)) or (not (sel (3)) and (not (sel (0)) or
|
135 |
|
|
i8 (4)) and (sel (1) or (not (sel (0)) and i5 (4)))))) or (not
|
136 |
|
|
(sel (2)) and (not (sel (1)) or i3 (4) or sel (0)) and ((not
|
137 |
|
|
(sel (3)) and not (sel (1)) and i2 (4) and sel (0)) or (not
|
138 |
|
|
(sel (3)) and (not (sel (0)) or i4 (4)) and (sel (1) or (not
|
139 |
|
|
(sel (0)) and i1 (4)))))))));
|
140 |
|
|
END BLOCK label4;
|
141 |
|
|
label5 : BLOCK ((en and not (en'STABLE)) = '1')
|
142 |
|
|
BEGIN
|
143 |
|
|
reg (5) <= GUARDED ((((i18 (5) and sel (0)) or (not (sel (0)) and i17 (5))) and
|
144 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
145 |
|
|
i15 (5) or sel (0)) and ((not (sel (1)) and i14 (5) and aux1)
|
146 |
|
|
or (sel (3) and (not (sel (0)) or i16 (5)) and (sel (1) or (not
|
147 |
|
|
(sel (0)) and i13 (5)))))) or (not (sel (2)) and (not (sel (1))
|
148 |
|
|
or i11 (5) or sel (0)) and ((not (sel (1)) and i10 (5) and aux1)
|
149 |
|
|
or (sel (3) and (not (sel (0)) or i12 (5)) and (sel (1) or (not
|
150 |
|
|
(sel (0)) and i9 (5)))))) or (sel (2) and (not (sel (1)) or
|
151 |
|
|
i7 (5) or sel (0)) and ((not (sel (3)) and not (sel (1)) and
|
152 |
|
|
i6 (5) and sel (0)) or (not (sel (3)) and (not (sel (0)) or
|
153 |
|
|
i8 (5)) and (sel (1) or (not (sel (0)) and i5 (5)))))) or (not
|
154 |
|
|
(sel (2)) and (not (sel (1)) or i3 (5) or sel (0)) and ((not
|
155 |
|
|
(sel (3)) and not (sel (1)) and i2 (5) and sel (0)) or (not
|
156 |
|
|
(sel (3)) and (not (sel (0)) or i4 (5)) and (sel (1) or (not
|
157 |
|
|
(sel (0)) and i1 (5)))))))));
|
158 |
|
|
END BLOCK label5;
|
159 |
|
|
label6 : BLOCK ((en and not (en'STABLE)) = '1')
|
160 |
|
|
BEGIN
|
161 |
|
|
reg (6) <= GUARDED ((((i18 (6) and sel (0)) or (not (sel (0)) and i17 (6))) and
|
162 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
163 |
|
|
i15 (6) or sel (0)) and ((not (sel (1)) and i14 (6) and aux1)
|
164 |
|
|
or (sel (3) and (not (sel (0)) or i16 (6)) and (sel (1) or (not
|
165 |
|
|
(sel (0)) and i13 (6)))))) or (not (sel (2)) and (not (sel (1))
|
166 |
|
|
or i11 (6) or sel (0)) and ((not (sel (1)) and i10 (6) and aux1)
|
167 |
|
|
or (sel (3) and (not (sel (0)) or i12 (6)) and (sel (1) or (not
|
168 |
|
|
(sel (0)) and i9 (6)))))) or (sel (2) and (not (sel (1)) or
|
169 |
|
|
i7 (6) or sel (0)) and ((not (sel (3)) and not (sel (1)) and
|
170 |
|
|
i6 (6) and sel (0)) or (not (sel (3)) and (not (sel (0)) or
|
171 |
|
|
i8 (6)) and (sel (1) or (not (sel (0)) and i5 (6)))))) or (not
|
172 |
|
|
(sel (2)) and (not (sel (1)) or i3 (6) or sel (0)) and ((not
|
173 |
|
|
(sel (3)) and not (sel (1)) and i2 (6) and sel (0)) or (not
|
174 |
|
|
(sel (3)) and (not (sel (0)) or i4 (6)) and (sel (1) or (not
|
175 |
|
|
(sel (0)) and i1 (6)))))))));
|
176 |
|
|
END BLOCK label6;
|
177 |
|
|
label7 : BLOCK ((en and not (en'STABLE)) = '1')
|
178 |
|
|
BEGIN
|
179 |
|
|
reg (7) <= GUARDED ((((i18 (7) and sel (0)) or (not (sel (0)) and i17 (7))) and
|
180 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
181 |
|
|
i15 (7) or sel (0)) and ((not (sel (1)) and i14 (7) and aux1)
|
182 |
|
|
or (sel (3) and (not (sel (0)) or i16 (7)) and (sel (1) or (not
|
183 |
|
|
(sel (0)) and i13 (7)))))) or (not (sel (2)) and (not (sel (1))
|
184 |
|
|
or i11 (7) or sel (0)) and ((not (sel (1)) and i10 (7) and aux1)
|
185 |
|
|
or (sel (3) and (not (sel (0)) or i12 (7)) and (sel (1) or (not
|
186 |
|
|
(sel (0)) and i9 (7)))))) or (sel (2) and (not (sel (1)) or
|
187 |
|
|
i7 (7) or sel (0)) and ((not (sel (3)) and not (sel (1)) and
|
188 |
|
|
i6 (7) and sel (0)) or (not (sel (3)) and (not (sel (0)) or
|
189 |
|
|
i8 (7)) and (sel (1) or (not (sel (0)) and i5 (7)))))) or (not
|
190 |
|
|
(sel (2)) and (not (sel (1)) or i3 (7) or sel (0)) and ((not
|
191 |
|
|
(sel (3)) and not (sel (1)) and i2 (7) and sel (0)) or (not
|
192 |
|
|
(sel (3)) and (not (sel (0)) or i4 (7)) and (sel (1) or (not
|
193 |
|
|
(sel (0)) and i1 (7)))))))));
|
194 |
|
|
END BLOCK label7;
|
195 |
|
|
label8 : BLOCK ((en and not (en'STABLE)) = '1')
|
196 |
|
|
BEGIN
|
197 |
|
|
reg (8) <= GUARDED ((((i18 (8) and sel (0)) or (not (sel (0)) and i17 (8))) and
|
198 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
199 |
|
|
i15 (8) or sel (0)) and ((not (sel (1)) and i14 (8) and aux1)
|
200 |
|
|
or (sel (3) and (not (sel (0)) or i16 (8)) and (sel (1) or (not
|
201 |
|
|
(sel (0)) and i13 (8)))))) or (not (sel (2)) and (not (sel (1))
|
202 |
|
|
or i11 (8) or sel (0)) and ((not (sel (1)) and i10 (8) and aux1)
|
203 |
|
|
or (sel (3) and (not (sel (0)) or i12 (8)) and (sel (1) or (not
|
204 |
|
|
(sel (0)) and i9 (8)))))) or (sel (2) and (not (sel (1)) or
|
205 |
|
|
i7 (8) or sel (0)) and ((not (sel (3)) and not (sel (1)) and
|
206 |
|
|
i6 (8) and sel (0)) or (not (sel (3)) and (not (sel (0)) or
|
207 |
|
|
i8 (8)) and (sel (1) or (not (sel (0)) and i5 (8)))))) or (not
|
208 |
|
|
(sel (2)) and (not (sel (1)) or i3 (8) or sel (0)) and ((not
|
209 |
|
|
(sel (3)) and not (sel (1)) and i2 (8) and sel (0)) or (not
|
210 |
|
|
(sel (3)) and (not (sel (0)) or i4 (8)) and (sel (1) or (not
|
211 |
|
|
(sel (0)) and i1 (8)))))))));
|
212 |
|
|
END BLOCK label8;
|
213 |
|
|
label9 : BLOCK ((en and not (en'STABLE)) = '1')
|
214 |
|
|
BEGIN
|
215 |
|
|
reg (9) <= GUARDED ((((i18 (9) and sel (0)) or (not (sel (0)) and i17 (9))) and
|
216 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
217 |
|
|
i15 (9) or sel (0)) and ((not (sel (1)) and i14 (9) and aux1)
|
218 |
|
|
or (sel (3) and (not (sel (0)) or i16 (9)) and (sel (1) or (not
|
219 |
|
|
(sel (0)) and i13 (9)))))) or (not (sel (2)) and (not (sel (1))
|
220 |
|
|
or i11 (9) or sel (0)) and ((not (sel (1)) and i10 (9) and aux1)
|
221 |
|
|
or (sel (3) and (not (sel (0)) or i12 (9)) and (sel (1) or (not
|
222 |
|
|
(sel (0)) and i9 (9)))))) or (sel (2) and (not (sel (1)) or
|
223 |
|
|
i7 (9) or sel (0)) and ((not (sel (3)) and not (sel (1)) and
|
224 |
|
|
i6 (9) and sel (0)) or (not (sel (3)) and (not (sel (0)) or
|
225 |
|
|
i8 (9)) and (sel (1) or (not (sel (0)) and i5 (9)))))) or (not
|
226 |
|
|
(sel (2)) and (not (sel (1)) or i3 (9) or sel (0)) and ((not
|
227 |
|
|
(sel (3)) and not (sel (1)) and i2 (9) and sel (0)) or (not
|
228 |
|
|
(sel (3)) and (not (sel (0)) or i4 (9)) and (sel (1) or (not
|
229 |
|
|
(sel (0)) and i1 (9)))))))));
|
230 |
|
|
END BLOCK label9;
|
231 |
|
|
label10 : BLOCK ((en and not (en'STABLE)) = '1')
|
232 |
|
|
BEGIN
|
233 |
|
|
reg (10) <= GUARDED ((((i18 (10) and sel (0)) or (not (sel (0)) and i17 (10))) and
|
234 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
235 |
|
|
i15 (10) or sel (0)) and ((not (sel (1)) and i14 (10) and aux1)
|
236 |
|
|
or (sel (3) and (not (sel (0)) or i16 (10)) and (sel (1) or
|
237 |
|
|
(not (sel (0)) and i13 (10)))))) or (not (sel (2)) and (not
|
238 |
|
|
(sel (1)) or i11 (10) or sel (0)) and ((not (sel (1)) and i10
|
239 |
|
|
(10) and aux1) or (sel (3) and (not (sel (0)) or i12 (10)) and
|
240 |
|
|
(sel (1) or (not (sel (0)) and i9 (10)))))) or (sel (2) and
|
241 |
|
|
(not (sel (1)) or i7 (10) or sel (0)) and ((not (sel (3)) and
|
242 |
|
|
not (sel (1)) and i6 (10) and sel (0)) or (not (sel (3)) and
|
243 |
|
|
(not (sel (0)) or i8 (10)) and (sel (1) or (not (sel (0)) and
|
244 |
|
|
i5 (10)))))) or (not (sel (2)) and (not (sel (1)) or i3 (10)
|
245 |
|
|
or sel (0)) and ((not (sel (3)) and not (sel (1)) and i2 (10)
|
246 |
|
|
and sel (0)) or (not (sel (3)) and (not (sel (0)) or i4 (10))
|
247 |
|
|
and (sel (1) or (not (sel (0)) and i1 (10)))))))));
|
248 |
|
|
END BLOCK label10;
|
249 |
|
|
label11 : BLOCK ((en and not (en'STABLE)) = '1')
|
250 |
|
|
BEGIN
|
251 |
|
|
reg (11) <= GUARDED ((((i18 (11) and sel (0)) or (not (sel (0)) and i17 (11))) and
|
252 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
253 |
|
|
i15 (11) or sel (0)) and ((not (sel (1)) and i14 (11) and aux1)
|
254 |
|
|
or (sel (3) and (not (sel (0)) or i16 (11)) and (sel (1) or
|
255 |
|
|
(not (sel (0)) and i13 (11)))))) or (not (sel (2)) and (not
|
256 |
|
|
(sel (1)) or i11 (11) or sel (0)) and ((not (sel (1)) and i10
|
257 |
|
|
(11) and aux1) or (sel (3) and (not (sel (0)) or i12 (11)) and
|
258 |
|
|
(sel (1) or (not (sel (0)) and i9 (11)))))) or (sel (2) and
|
259 |
|
|
(not (sel (1)) or i7 (11) or sel (0)) and ((not (sel (3)) and
|
260 |
|
|
not (sel (1)) and i6 (11) and sel (0)) or (not (sel (3)) and
|
261 |
|
|
(not (sel (0)) or i8 (11)) and (sel (1) or (not (sel (0)) and
|
262 |
|
|
i5 (11)))))) or (not (sel (2)) and (not (sel (1)) or i3 (11)
|
263 |
|
|
or sel (0)) and ((not (sel (3)) and not (sel (1)) and i2 (11)
|
264 |
|
|
and sel (0)) or (not (sel (3)) and (not (sel (0)) or i4 (11))
|
265 |
|
|
and (sel (1) or (not (sel (0)) and i1 (11)))))))));
|
266 |
|
|
END BLOCK label11;
|
267 |
|
|
label12 : BLOCK ((en and not (en'STABLE)) = '1')
|
268 |
|
|
BEGIN
|
269 |
|
|
reg (12) <= GUARDED ((((i18 (12) and sel (0)) or (not (sel (0)) and i17 (12))) and
|
270 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
271 |
|
|
i15 (12) or sel (0)) and ((not (sel (1)) and i14 (12) and aux1)
|
272 |
|
|
or (sel (3) and (not (sel (0)) or i16 (12)) and (sel (1) or
|
273 |
|
|
(not (sel (0)) and i13 (12)))))) or (not (sel (2)) and (not
|
274 |
|
|
(sel (1)) or i11 (12) or sel (0)) and ((not (sel (1)) and i10
|
275 |
|
|
(12) and aux1) or (sel (3) and (not (sel (0)) or i12 (12)) and
|
276 |
|
|
(sel (1) or (not (sel (0)) and i9 (12)))))) or (sel (2) and
|
277 |
|
|
(not (sel (1)) or i7 (12) or sel (0)) and ((not (sel (3)) and
|
278 |
|
|
not (sel (1)) and i6 (12) and sel (0)) or (not (sel (3)) and
|
279 |
|
|
(not (sel (0)) or i8 (12)) and (sel (1) or (not (sel (0)) and
|
280 |
|
|
i5 (12)))))) or (not (sel (2)) and (not (sel (1)) or i3 (12)
|
281 |
|
|
or sel (0)) and ((not (sel (3)) and not (sel (1)) and i2 (12)
|
282 |
|
|
and sel (0)) or (not (sel (3)) and (not (sel (0)) or i4 (12))
|
283 |
|
|
and (sel (1) or (not (sel (0)) and i1 (12)))))))));
|
284 |
|
|
END BLOCK label12;
|
285 |
|
|
label13 : BLOCK ((en and not (en'STABLE)) = '1')
|
286 |
|
|
BEGIN
|
287 |
|
|
reg (13) <= GUARDED ((((i18 (13) and sel (0)) or (not (sel (0)) and i17 (13))) and
|
288 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
289 |
|
|
i15 (13) or sel (0)) and ((not (sel (1)) and i14 (13) and aux1)
|
290 |
|
|
or (sel (3) and (not (sel (0)) or i16 (13)) and (sel (1) or
|
291 |
|
|
(not (sel (0)) and i13 (13)))))) or (not (sel (2)) and (not
|
292 |
|
|
(sel (1)) or i11 (13) or sel (0)) and ((not (sel (1)) and i10
|
293 |
|
|
(13) and aux1) or (sel (3) and (not (sel (0)) or i12 (13)) and
|
294 |
|
|
(sel (1) or (not (sel (0)) and i9 (13)))))) or (sel (2) and
|
295 |
|
|
(not (sel (1)) or i7 (13) or sel (0)) and ((not (sel (3)) and
|
296 |
|
|
not (sel (1)) and i6 (13) and sel (0)) or (not (sel (3)) and
|
297 |
|
|
(not (sel (0)) or i8 (13)) and (sel (1) or (not (sel (0)) and
|
298 |
|
|
i5 (13)))))) or (not (sel (2)) and (not (sel (1)) or i3 (13)
|
299 |
|
|
or sel (0)) and ((not (sel (3)) and not (sel (1)) and i2 (13)
|
300 |
|
|
and sel (0)) or (not (sel (3)) and (not (sel (0)) or i4 (13))
|
301 |
|
|
and (sel (1) or (not (sel (0)) and i1 (13)))))))));
|
302 |
|
|
END BLOCK label13;
|
303 |
|
|
label14 : BLOCK ((en and not (en'STABLE)) = '1')
|
304 |
|
|
BEGIN
|
305 |
|
|
reg (14) <= GUARDED ((((i18 (14) and sel (0)) or (not (sel (0)) and i17 (14))) and
|
306 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
307 |
|
|
i15 (14) or sel (0)) and ((not (sel (1)) and i14 (14) and aux1)
|
308 |
|
|
or (sel (3) and (not (sel (0)) or i16 (14)) and (sel (1) or
|
309 |
|
|
(not (sel (0)) and i13 (14)))))) or (not (sel (2)) and (not
|
310 |
|
|
(sel (1)) or i11 (14) or sel (0)) and ((not (sel (1)) and i10
|
311 |
|
|
(14) and aux1) or (sel (3) and (not (sel (0)) or i12 (14)) and
|
312 |
|
|
(sel (1) or (not (sel (0)) and i9 (14)))))) or (sel (2) and
|
313 |
|
|
(not (sel (1)) or i7 (14) or sel (0)) and ((not (sel (3)) and
|
314 |
|
|
not (sel (1)) and i6 (14) and sel (0)) or (not (sel (3)) and
|
315 |
|
|
(not (sel (0)) or i8 (14)) and (sel (1) or (not (sel (0)) and
|
316 |
|
|
i5 (14)))))) or (not (sel (2)) and (not (sel (1)) or i3 (14)
|
317 |
|
|
or sel (0)) and ((not (sel (3)) and not (sel (1)) and i2 (14)
|
318 |
|
|
and sel (0)) or (not (sel (3)) and (not (sel (0)) or i4 (14))
|
319 |
|
|
and (sel (1) or (not (sel (0)) and i1 (14)))))))));
|
320 |
|
|
END BLOCK label14;
|
321 |
|
|
label15 : BLOCK ((en and not (en'STABLE)) = '1')
|
322 |
|
|
BEGIN
|
323 |
|
|
reg (15) <= GUARDED ((((i18 (15) and sel (0)) or (not (sel (0)) and i17 (15))) and
|
324 |
|
|
aux0) or (not (sel (4)) and ((sel (2) and (not (sel (1)) or
|
325 |
|
|
i15 (15) or sel (0)) and ((not (sel (1)) and i14 (15) and aux1)
|
326 |
|
|
or (sel (3) and (not (sel (0)) or i16 (15)) and (sel (1) or
|
327 |
|
|
(not (sel (0)) and i13 (15)))))) or (not (sel (2)) and (not
|
328 |
|
|
(sel (1)) or i11 (15) or sel (0)) and ((not (sel (1)) and i10
|
329 |
|
|
(15) and aux1) or (sel (3) and (not (sel (0)) or i12 (15)) and
|
330 |
|
|
(sel (1) or (not (sel (0)) and i9 (15)))))) or (sel (2) and
|
331 |
|
|
(not (sel (1)) or i7 (15) or sel (0)) and ((not (sel (3)) and
|
332 |
|
|
not (sel (1)) and i6 (15) and sel (0)) or (not (sel (3)) and
|
333 |
|
|
(not (sel (0)) or i8 (15)) and (sel (1) or (not (sel (0)) and
|
334 |
|
|
i5 (15)))))) or (not (sel (2)) and (not (sel (1)) or i3 (15)
|
335 |
|
|
or sel (0)) and ((not (sel (3)) and not (sel (1)) and i2 (15)
|
336 |
|
|
and sel (0)) or (not (sel (3)) and (not (sel (0)) or i4 (15))
|
337 |
|
|
and (sel (1) or (not (sel (0)) and i1 (15)))))))));
|
338 |
|
|
END BLOCK label15;
|
339 |
|
|
|
340 |
|
|
c (0) <= (not (clr) and reg (0));
|
341 |
|
|
|
342 |
|
|
c (1) <= (not (clr) and reg (1));
|
343 |
|
|
|
344 |
|
|
c (2) <= (not (clr) and reg (2));
|
345 |
|
|
|
346 |
|
|
c (3) <= (not (clr) and reg (3));
|
347 |
|
|
|
348 |
|
|
c (4) <= (not (clr) and reg (4));
|
349 |
|
|
|
350 |
|
|
c (5) <= (not (clr) and reg (5));
|
351 |
|
|
|
352 |
|
|
c (6) <= (not (clr) and reg (6));
|
353 |
|
|
|
354 |
|
|
c (7) <= (not (clr) and reg (7));
|
355 |
|
|
|
356 |
|
|
c (8) <= (not (clr) and reg (8));
|
357 |
|
|
|
358 |
|
|
c (9) <= (not (clr) and reg (9));
|
359 |
|
|
|
360 |
|
|
c (10) <= (not (clr) and reg (10));
|
361 |
|
|
|
362 |
|
|
c (11) <= (not (clr) and reg (11));
|
363 |
|
|
|
364 |
|
|
c (12) <= (not (clr) and reg (12));
|
365 |
|
|
|
366 |
|
|
c (13) <= (not (clr) and reg (13));
|
367 |
|
|
|
368 |
|
|
c (14) <= (not (clr) and reg (14));
|
369 |
|
|
|
370 |
|
|
c (15) <= (not (clr) and reg (15));
|
371 |
|
|
END;
|