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

Subversion Repositories idea

[/] [idea/] [trunk/] [behavioral/] [key_regulator/] [ctr_enkey.vbe] - Blame information for rev 9

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 6 marta
-- VHDL data flow description generated from `ctr_enkey`
2
--              date : Tue Jul 31 14:21:57 2001
3
 
4
 
5
-- Entity Declaration
6
 
7
ENTITY ctr_enkey IS
8
  PORT (
9
  clk : in BIT; -- clk
10
  rst : in BIT; -- rst
11
  start : in BIT;       -- start
12
  count : in bit_vector(2 DOWNTO 0) ;   -- count
13
  en_shft : out BIT;    -- en_shft
14
  en_count : out BIT;   -- en_count
15
  sel1 : out BIT;       -- sel1
16
  sel2 : out BIT;       -- sel2
17
  c_count : out BIT;    -- c_count
18
  finish : out BIT;     -- finish
19
  en_out : out BIT;     -- en_out
20
  vdd : in BIT; -- vdd
21
  vss : in BIT  -- vss
22
  );
23
END ctr_enkey;
24
 
25
 
26
-- Architecture Declaration
27
 
28
ARCHITECTURE behaviour_data_flow OF ctr_enkey IS
29
  SIGNAL current_state : REG_VECTOR(3 DOWNTO 0) REGISTER;       -- current_state
30
  SIGNAL aux44 : BIT;           -- aux44
31
  SIGNAL aux38 : BIT;           -- aux38
32
  SIGNAL aux35 : BIT;           -- aux35
33
  SIGNAL aux33 : BIT;           -- aux33
34
  SIGNAL aux32 : BIT;           -- aux32
35
  SIGNAL auxinit1 : BIT;                -- auxinit1
36
  SIGNAL aux40 : BIT;           -- aux40
37
  SIGNAL aux41 : BIT;           -- aux41
38
 
39
BEGIN
40
  aux41 <= (not (current_state (3)) or current_state (2));
41
  aux40 <= (not (count (2)) and not (count (1)) and start and count (0));
42
  auxinit1 <= (not (rst) and not ((current_state (0) and not (current_state
43
(1)) and not (current_state (3)))) and ((not (count (2)) and
44
not (count (1)) and start) or not ((current_state (3) and not
45
((current_state (2) or current_state (0)))))));
46
  aux32 <= (not (count (0)) and current_state (3) and not (count (2)) and
47
not (count (1)) and start);
48
  aux33 <= (not (current_state (3)) and current_state (1));
49
  aux35 <= (start and count (2) and count (1) and count (0));
50
  aux38 <= (current_state (2) or current_state (1));
51
  aux44 <= not ((not (current_state (1)) and (not (current_state (3)) or
52
start)));
53
  label0 : BLOCK ((not (clk) and not (clk'STABLE)) = '1')
54
  BEGIN
55
    current_state (0) <= GUARDED (not (rst) and (not (current_state (0)) or current_state (2)
56
or not (aux33)) and (not (current_state (3)) or current_state
57
(0) or aux38 or aux35));
58
  END BLOCK label0;
59
  label1 : BLOCK ((not (clk) and not (clk'STABLE)) = '1')
60
  BEGIN
61
    current_state (1) <= GUARDED (not (rst) and (not (current_state (0)) or current_state (1)
62
or not (aux41)) and (current_state (3) or current_state (0)
63
or not (aux38)) and (not (current_state (3)) or current_state
64
(0) or aux38 or aux40));
65
  END BLOCK label1;
66
  label2 : BLOCK ((not (clk) and not (clk'STABLE)) = '1')
67
  BEGIN
68
    current_state (2) <= GUARDED (not (rst) and ((current_state (0) and aux33) or (current_state
69
(2) and not (aux33)) or (not (current_state (0)) and aux32)));
70
  END BLOCK label2;
71
  label3 : BLOCK ((not (clk) and not (clk'STABLE)) = '1')
72
  BEGIN
73
    current_state (3) <= GUARDED (rst or current_state (2) or (current_state (3) and current_state
74
(0)) or aux44);
75
  END BLOCK label3;
76
 
77
en_out <= (not (rst) and (aux33 or (not ((current_state (2) or current_state
78
(0))) and aux32)));
79
 
80
finish <= (not (rst) and ((current_state (0) and not (current_state (1))
81
and not (current_state (3))) or (current_state (3) and not ((current_state
82
(2) or current_state (0))) and aux35)));
83
 
84
c_count <= (not (rst) and ((current_state (3) and current_state (0)) or
85
(not (current_state (0)) and current_state (2) and not (aux33))));
86
 
87
sel2 <= auxinit1;
88
 
89
sel1 <= '0';
90
 
91
en_count <= auxinit1;
92
 
93
en_shft <= (not (rst) and not ((current_state (2) or current_state (0)))
94
and ((not (current_state (1)) and not (current_state (3))) or
95
(current_state (3) and aux40)));
96
END;

powered by: WebSVN 2.1.0

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