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

Subversion Repositories idea

[/] [idea/] [trunk/] [behavioral/] [idea_machine/] [heart_ctrl_bopo.vbe] - Blame information for rev 11

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 6 marta
-- VHDL data flow description generated from `heart_ctrl_bopo`
2
--              date : Mon Sep 10 23:10:23 2001
3
 
4
 
5
-- Entity Declaration
6
 
7
ENTITY heart_ctrl_bopo IS
8
  PORT (
9
  ck : in BIT;  -- ck
10
  reset : in BIT;       -- reset
11
  start : in BIT;       -- start
12
  key_ready : in BIT;   -- key_ready
13
  round : out bit_vector(2 DOWNTO 0) ;  -- round
14
  en1 : out BIT;        -- en1
15
  en2 : out BIT;        -- en2
16
  en3 : out BIT;        -- en3
17
  en4 : out BIT;        -- en4
18
  en5 : out BIT;        -- en5
19
  en6 : out BIT;        -- en6
20
  en7 : out BIT;        -- en7
21
  en_out : out BIT;     -- en_out
22
  en_key_out : out BIT; -- en_key_out
23
  sel_in : out BIT;     -- sel_in
24
  finish : out BIT;     -- finish
25
  vdd : in BIT; -- vdd
26
  vss : in BIT  -- vss
27
  );
28
END heart_ctrl_bopo;
29
 
30
 
31
-- Architecture Declaration
32
 
33
ARCHITECTURE behaviour_data_flow OF heart_ctrl_bopo IS
34
  SIGNAL current_state : REG_VECTOR(6 DOWNTO 0) REGISTER;       -- current_state
35
  SIGNAL aux303 : BIT;          -- aux303
36
  SIGNAL aux302 : BIT;          -- aux302
37
  SIGNAL aux300 : BIT;          -- aux300
38
  SIGNAL aux299 : BIT;          -- aux299
39
  SIGNAL aux279 : BIT;          -- aux279
40
  SIGNAL aux278 : BIT;          -- aux278
41
  SIGNAL aux275 : BIT;          -- aux275
42
  SIGNAL aux273 : BIT;          -- aux273
43
  SIGNAL aux269 : BIT;          -- aux269
44
  SIGNAL aux266 : BIT;          -- aux266
45
  SIGNAL aux265 : BIT;          -- aux265
46
  SIGNAL aux263 : BIT;          -- aux263
47
  SIGNAL aux257 : BIT;          -- aux257
48
  SIGNAL aux255 : BIT;          -- aux255
49
  SIGNAL aux252 : BIT;          -- aux252
50
  SIGNAL aux251 : BIT;          -- aux251
51
  SIGNAL aux250 : BIT;          -- aux250
52
  SIGNAL aux245 : BIT;          -- aux245
53
  SIGNAL aux244 : BIT;          -- aux244
54
  SIGNAL aux243 : BIT;          -- aux243
55
  SIGNAL aux242 : BIT;          -- aux242
56
  SIGNAL aux241 : BIT;          -- aux241
57
  SIGNAL aux240 : BIT;          -- aux240
58
  SIGNAL aux239 : BIT;          -- aux239
59
  SIGNAL aux237 : BIT;          -- aux237
60
  SIGNAL aux236 : BIT;          -- aux236
61
  SIGNAL aux234 : BIT;          -- aux234
62
  SIGNAL aux231 : BIT;          -- aux231
63
  SIGNAL aux229 : BIT;          -- aux229
64
  SIGNAL aux228 : BIT;          -- aux228
65
  SIGNAL aux227 : BIT;          -- aux227
66
  SIGNAL aux226 : BIT;          -- aux226
67
  SIGNAL aux224 : BIT;          -- aux224
68
  SIGNAL aux223 : BIT;          -- aux223
69
  SIGNAL aux221 : BIT;          -- aux221
70
  SIGNAL aux220 : BIT;          -- aux220
71
  SIGNAL aux218 : BIT;          -- aux218
72
  SIGNAL aux217 : BIT;          -- aux217
73
  SIGNAL aux215 : BIT;          -- aux215
74
  SIGNAL aux281 : BIT;          -- aux281
75
  SIGNAL aux282 : BIT;          -- aux282
76
  SIGNAL aux285 : BIT;          -- aux285
77
 
78
BEGIN
79
  aux285 <= (not (current_state (3)) and current_state (4));
80
  aux282 <= (not (current_state (4)) and current_state (2));
81
  aux281 <= (current_state (3) and not (reset) and current_state (6));
82
  aux215 <= (current_state (5) and current_state (1));
83
  aux217 <= not ((not (current_state (0)) or current_state (5)));
84
  aux218 <= not ((current_state (2) or not (aux217)));
85
  aux220 <= (not (current_state (5)) and current_state (2));
86
  aux221 <= (current_state (5) and current_state (0));
87
  aux223 <= not ((not (current_state (0)) or not (current_state (1))));
88
  aux224 <= not ((not (current_state (2)) or not (aux223)));
89
  aux226 <= not ((current_state (5) or current_state (0)));
90
  aux227 <= (not (current_state (2)) and current_state (1));
91
  aux228 <= (not (current_state (0)) and not (aux215));
92
  aux229 <= (not (current_state (2)) and current_state (3) and aux228);
93
  aux231 <= (not (current_state (5)) and current_state (1));
94
  aux234 <= (not (current_state (5)) and not (current_state (1)));
95
  aux236 <= (not (current_state (2)) and not (current_state (1)));
96
  aux237 <= not ((not (current_state (1)) or current_state (0)));
97
  aux239 <= (not (current_state (1)) and current_state (5));
98
  aux240 <= (current_state (0) and aux239);
99
  aux241 <= (aux282 and aux240);
100
  aux242 <= (not (current_state (2)) or aux234);
101
  aux243 <= (current_state (5) xor current_state (1));
102
  aux244 <= (current_state (0) and aux234);
103
  aux245 <= (current_state (2) and current_state (0));
104
  aux250 <= (current_state (4) and current_state (2) and not ((current_state
105
(1) or current_state (0))));
106
  aux251 <= (aux217 or not ((current_state (1) or current_state (0))));
107
  aux252 <= not ((current_state (1) or not (aux245)));
108
  aux255 <= (not (current_state (0)) and current_state (2));
109
  aux257 <= (not (current_state (1)) and current_state (0));
110
  aux263 <= (current_state (0) and aux243);
111
  aux265 <= (not (current_state (2)) and not (aux226));
112
  aux266 <= (not (current_state (2)) and aux223);
113
  aux269 <= (current_state (4) and not (current_state (0)) and aux239);
114
  aux273 <= not ((not (current_state (0)) or aux231));
115
  aux275 <= not ((not (current_state (2)) or current_state (1)));
116
  aux278 <= (aux226 or aux231);
117
  aux279 <= (current_state (5) and not (aux257));
118
  aux299 <= (current_state (3) or (current_state (2) and not ((current_state
119
(1) or current_state (0)))));
120
  aux300 <= not ((not (current_state (2)) or aux239));
121
  aux302 <= not ((not (aux234) and aux255));
122
  aux303 <= not ((not (current_state (2)) or aux215 or aux244));
123
  label0 : BLOCK ((ck and not (ck'STABLE)) = '1')
124
  BEGIN
125
    current_state (0) <= GUARDED (not (reset) and ((not (current_state (6)) and (aux231 or aux220
126
or (current_state (4) and aux226) or (aux275 and aux285) or
127
(not (current_state (0)) and not (current_state (5)) and start
128
and key_ready) or (not (current_state (4)) and current_state
129
(0) and not (aux275)) or (current_state (3) and not ((current_state
130
(2) or aux237))))) or (current_state (6) and (not (current_state
131
(2)) or current_state (3) or not (aux243) or aux273) and (current_state
132
(3) or not (aux273) or (not (current_state (4)) and not (aux236)))
133
and (not (current_state (3)) or (not (current_state (2)) and
134
aux231) or (not (current_state (0)) and aux239) or aux241) and
135
(current_state (4) or (not (current_state (3)) and aux273) or
136
(current_state (3) and aux241)))));
137
  END BLOCK label0;
138
  label1 : BLOCK ((ck and not (ck'STABLE)) = '1')
139
  BEGIN
140
    current_state (1) <= GUARDED (not (reset) and ((current_state (6) and (not (current_state
141
(3)) or not (current_state (4)) or current_state (1)) and (current_state
142
(4) or current_state (3) or aux275 or aux251) and (not (current_state
143
(3)) or current_state (4) or aux231 or aux239 or aux257) and
144
(not (current_state (2)) or not (current_state (3)) or (current_state
145
(4) and aux221) or (not (current_state (4)) and (aux231 or aux257)))
146
and (not (current_state (4)) or aux299 or (not (current_state
147
(2)) and (aux223 or not (aux243))))) or (not (current_state
148
(6)) and ((not (current_state (3)) and not (current_state (4))
149
and aux252) or (aux285 and (current_state (2) or aux234) and
150
not ((current_state (1) xor current_state (0)))) or (not (current_state
151
(3)) and not (current_state (4)) and not (current_state (2))
152
and (aux215 or aux244)) or (not (current_state (3)) and current_state
153
(2) and not ((not (aux217) and (current_state (0) or aux243))))
154
or (current_state (3) and (not (current_state (4)) or not (current_state
155
(5)) or aux236) and ((current_state (2) and not ((current_state
156
(0) xor aux239))) or (not (current_state (2)) and (aux237 or
157
aux273))))))));
158
  END BLOCK label1;
159
  label2 : BLOCK ((ck and not (ck'STABLE)) = '1')
160
  BEGIN
161
    current_state (2) <= GUARDED (not (reset) and ((not (current_state (6)) and (not (current_state
162
(4)) or current_state (3) or aux300 or aux278) and (not (current_state
163
(3)) or aux220 or (not (current_state (4)) and aux275) or aux266)
164
and (current_state (4) or current_state (3) or aux217 or aux231
165
or (current_state (2) and aux239))) or (current_state (6) and
166
(not (current_state (4)) or current_state (3) or aux252 or (not
167
(current_state (2)) and (current_state (5) xor current_state
168
(0)))) and ((not (current_state (3)) and current_state (2) and
169
not (current_state (5)) and not (aux237)) or (not (current_state
170
(2)) and not (current_state (3)) and not (aux244)) or (not (current_state
171
(4)) and current_state (3) and (aux226 or aux239) and aux242)
172
or (current_state (4) and (not (current_state (3)) or aux240))))));
173
  END BLOCK label2;
174
  label3 : BLOCK ((ck and not (ck'STABLE)) = '1')
175
  BEGIN
176
    current_state (3) <= GUARDED (not (reset) and ((not (current_state (3)) and not (current_state
177
(2)) and current_state (6) and aux226) or (current_state (6)
178
and current_state (3) and not ((not (current_state (4)) and
179
current_state (5))) and (not (current_state (4)) or (current_state
180
(2) and aux234) or (not (current_state (2)) and aux240))) or
181
(not (current_state (3)) and current_state (6) and (not (current_state
182
(1)) or current_state (4)) and (current_state (4) or (current_state
183
(5) xor current_state (0))) and (not (current_state (4)) or
184
(aux234 and aux255) or (not (current_state (2)) and aux263)))
185
or (not (current_state (6)) and ((aux231 and aux255) or (current_state
186
(4) and not (current_state (2)) and aux234) or (aux285 and aux278)
187
or aux229 or aux241))));
188
  END BLOCK label3;
189
  label4 : BLOCK ((ck and not (ck'STABLE)) = '1')
190
  BEGIN
191
    current_state (4) <= GUARDED (not (reset) and ((not (current_state (6)) and (current_state
192
(4) or current_state (3) or aux218 or aux224) and (not (current_state
193
(3)) or (not (current_state (2)) and aux257) or (current_state
194
(2) and aux217) or (not (current_state (4)) and aux224)) and
195
(not (current_state (4)) or aux278 or aux299)) or (current_state
196
(6) and (not (current_state (3)) or ((current_state (4) or (current_state
197
(2) and current_state (1))) and ((not (current_state (0)) and
198
current_state (5)) or aux227))) and (current_state (3) or (not
199
(current_state (4)) and aux220) or (not (current_state (0))
200
and aux215) or (current_state (2) and not ((current_state (1)
201
or current_state (0)))) or (not ((current_state (4) or current_state
202
(2))) and not (aux263))))));
203
  END BLOCK label4;
204
  label5 : BLOCK ((ck and not (ck'STABLE)) = '1')
205
  BEGIN
206
    current_state (5) <= GUARDED (not (reset) and ((not (current_state (6)) and current_state
207
(3) and current_state (0) and aux242) or (not (current_state
208
(4)) and not ((not (aux255) or not (aux215)))) or (not (current_state
209
(6)) and aux285 and (aux234 or not (aux265))) or (not (current_state
210
(3)) and ((current_state (4) and aux245) or (not (current_state
211
(4)) and aux217))) or (current_state (6) and (current_state
212
(3) or (not (current_state (2)) and aux279) or (not (current_state
213
(4)) and aux302)) and (not (current_state (3)) or aux269 or
214
(aux282 and (current_state (1) xor aux221))))));
215
  END BLOCK label5;
216
  label6 : BLOCK ((ck and not (ck'STABLE)) = '1')
217
  BEGIN
218
    current_state (6) <= GUARDED (not (reset) and ((current_state (6) and (not (current_state
219
(3)) or (current_state (4) and not (aux245) and aux239) or (not
220
((not (current_state (1)) or current_state (4))) and (not (current_state
221
(5)) or aux255))) and ((not (current_state (2)) and not (aux279))
222
or (not (current_state (4)) and not ((current_state (2) and
223
aux221))) or aux299)) or (not (current_state (6)) and (not (current_state
224
(4)) or current_state (3) or (not (current_state (2)) and not
225
(current_state (5))) or aux303) and (aux285 or (current_state
226
(3) and not (current_state (2)) and current_state (0)) or (not
227
(current_state (3)) and aux244) or (not (current_state (4))
228
and (aux279 or aux265))))));
229
  END BLOCK label6;
230
 
231
finish <= (not (current_state (4)) and not (current_state (2)) and aux215
232
and aux281);
233
 
234
sel_in <= (reset or (not (current_state (6)) and (current_state (1) or
235
aux282 or (current_state (4) and not (aux226)) or not (((not
236
(current_state (3)) or current_state (5)) and not (aux221)))))
237
or (current_state (6) and (current_state (3) or (current_state
238
(4) and not (aux224)) or (not (current_state (4)) and (current_state
239
(2) or current_state (1) or current_state (0)))) and (not (current_state
240
(3)) or not (current_state (1)) or aux218 or (not (current_state
241
(4)) and current_state (2) and aux221) or (current_state (4)
242
and ((not (current_state (2)) and not (current_state (0))) or
243
aux220)))));
244
 
245
en_key_out <= (not (reset) and (not (current_state (6)) or (not (current_state
246
(4)) and current_state (3) and aux227)) and (aux229 or ((not
247
(current_state (4)) or current_state (2)) and aux226 and (current_state
248
(2) or current_state (1) or (start and key_ready)))));
249
 
250
en_out <= (not (current_state (4)) and current_state (2) and aux231 and
251
aux281);
252
 
253
en7 <= (not (reset) and (not (current_state (6)) or current_state (4)
254
or aux236 or (not (current_state (5)) and not (aux237))) and
255
(current_state (6) or aux241) and (not (current_state (6)) or
256
(current_state (3) and (not (current_state (4)) or aux221 or
257
(current_state (2) and aux234)))));
258
 
259
en6 <= (not (reset) and ((not (current_state (6)) and current_state
260
(4) and (not (current_state (3)) or aux244) and (aux231 or (not
261
(current_state (5)) and not (aux245)))) or (current_state (6)
262
and current_state (4) and aux242 and (not (current_state (3))
263
or aux240) and (not (current_state (0)) or aux243))));
264
 
265
en5 <= (not (reset) and ((not (current_state (3)) and aux250) or (current_state
266
(6) and ((not (current_state (3)) and not (current_state (4))
267
and current_state (2) and aux231) or (not (current_state (0))
268
and (current_state (4) or current_state (2)) and aux215) or
269
(current_state (4) and current_state (3) and ((not (current_state
270
(0)) and current_state (5)) or aux227))))));
271
 
272
en4 <= (not (current_state (3)) and not (reset) and current_state (6)
273
and (not (current_state (4)) or aux218) and (aux227 or aux251));
274
 
275
en3 <= (not (reset) and not (current_state (4)) and current_state (5)
276
and not (aux252) and (not (current_state (6)) or (not (current_state
277
(3)) and aux236)));
278
 
279
en2 <= (not (reset) and (current_state (6) or not ((not (current_state
280
(2)) or aux231))) and (current_state (4) or (current_state (6)
281
and aux221)) and (not (current_state (6)) or aux245 or (not
282
(current_state (2)) and aux215)) and (not (current_state (3))
283
or (not (current_state (4)) and aux240)));
284
 
285
en1 <= (not (reset) and ((current_state (3) and current_state (0) and
286
(not (current_state (2)) or not (current_state (5)))) or (aux217
287
and (not (current_state (4)) or (current_state (2) and current_state
288
(1))))) and (not (current_state (6)) or (not (current_state
289
(3)) and current_state (2) and aux244)));
290
 
291
round (0) <= (reset or (not (current_state (6)) and ((current_state (3) and
292
aux220) or (not (current_state (4)) and current_state (2) and
293
current_state (1)) or (current_state (2) and aux217) or (current_state
294
(5) and current_state (4) and (current_state (2) or aux237))
295
or (not (current_state (3)) and not (aux234) and (current_state
296
(4) or (not (current_state (2)) and (aux226 or aux257))))))
297
or (current_state (6) and ((current_state (4) and not (current_state
298
(5)) and not (aux245)) or (not (current_state (3)) and ((not
299
(current_state (4)) and not (current_state (2)) and aux257)
300
or aux250)) or (not (current_state (4)) and ((not (aux255) and
301
aux215) or (aux255 and aux243))) or (current_state (3) and ((not
302
(current_state (4)) and (aux217 or aux231)) or (current_state
303
(4) and ((not (aux215) and aux245) or (not (current_state (2))
304
and aux237))))))));
305
 
306
round (1) <= (reset or (not (current_state (6)) and current_state (3) and
307
not (aux236) and (current_state (0) or aux243)) or (not (current_state
308
(6)) and current_state (4) and (not (current_state (3)) or current_state
309
(1)) and (current_state (3) or aux257 or aux265)) or (not (current_state
310
(4)) and not (current_state (6)) and not (current_state (3))
311
and (current_state (2) or aux266) and (aux221 or aux266 or aux228))
312
or (current_state (6) and (not (current_state (4)) or current_state
313
(3) or current_state (2) or not ((current_state (1) or aux221)))
314
and (not (current_state (4)) or not (current_state (2)) or current_state
315
(3) or (current_state (1) xor current_state (0))) and ((current_state
316
(3) and ((not (current_state (5)) and current_state (4)) or
317
(not (current_state (4)) and not (aux234) and (not (aux255)
318
or not (aux215))))) or (not (current_state (3)) and (current_state
319
(4) or aux255 or aux263)))));
320
 
321
round (2) <= (reset or (current_state (6) and (current_state (3) or (current_state
322
(4) and ((not (current_state (2)) and current_state (0)) or
323
aux228)) or (not (current_state (4)) and not (aux236) and (current_state
324
(1) xor aux221))) and (not (current_state (3)) or (not (current_state
325
(2)) and aux234) or (current_state (2) and aux231) or aux269
326
or (not (current_state (4)) and (aux227 or (current_state (2)
327
and not (aux237)))))) or (not (current_state (6)) and (not ((not
328
(current_state (5)) or not (current_state (4)) or current_state
329
(2))) or (current_state (2) and aux285 and aux244) or not ((not
330
(aux215) and (not (current_state (0)) or not (aux282) or aux234)))
331
or (current_state (3) and (aux226 or (not (current_state (4))
332
and not (current_state (2)) and not (current_state (5))) or
333
(current_state (4) and not (aux234)))))));
334
END;

powered by: WebSVN 2.1.0

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