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

Subversion Repositories idea

[/] [idea/] [trunk/] [behavioral/] [main control/] [ecb_bop.vbe] - Blame information for rev 6

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 `ecb_bop`
2
--              date : Sat Sep  1 20:15:14 2001
3
 
4
 
5
-- Entity Declaration
6
 
7
ENTITY ecb_bop IS
8
  PORT (
9
  active : in BIT;      -- active
10
  clk : in BIT; -- clk
11
  cke : in BIT; -- cke
12
  key_ready : in BIT;   -- key_ready
13
  finish : in BIT;      -- finish
14
  req_cp : in BIT;      -- req_cp
15
  e : in BIT;   -- e
16
  e_mesin : out BIT;    -- e_mesin
17
  s_mesin : out BIT;    -- s_mesin
18
  s_gen_key : out BIT;  -- s_gen_key
19
  emp_buf : out BIT;    -- emp_buf
20
  cp_ready : out BIT;   -- cp_ready
21
  cke_b_mode : out BIT; -- cke_b_mode
22
  en_in : out BIT;      -- en_in
23
  en_iv : out BIT;      -- en_iv
24
  en_rcbc : out BIT;    -- en_rcbc
25
  en_out : out BIT;     -- en_out
26
  sel1 : out bit_vector(1 DOWNTO 0) ;   -- sel1
27
  sel2 : out bit_vector(1 DOWNTO 0) ;   -- sel2
28
  sel3 : out bit_vector(1 DOWNTO 0) ;   -- sel3
29
  vdd : in BIT; -- vdd
30
  vss : in BIT  -- vss
31
  );
32
END ecb_bop;
33
 
34
 
35
-- Architecture Declaration
36
 
37
ARCHITECTURE behaviour_data_flow OF ecb_bop IS
38
  SIGNAL current_state : REG_VECTOR(2 DOWNTO 0) REGISTER;       -- current_state
39
  SIGNAL aux16 : BIT;           -- aux16
40
  SIGNAL aux14 : BIT;           -- aux14
41
  SIGNAL auxinit1 : BIT;                -- auxinit1
42
  SIGNAL auxinit2 : BIT;                -- auxinit2
43
  SIGNAL aux18 : BIT;           -- aux18
44
  SIGNAL aux19 : BIT;           -- aux19
45
 
46
BEGIN
47
  aux19 <= (not (current_state (2)) or (not (req_cp) and current_state (0)));
48
  aux18 <= (not (active) and current_state (1));
49
  auxinit2 <= (not (active) and not (current_state (2)) and (current_state
50
(0) or not ((finish or current_state (1)))));
51
  auxinit1 <= (not (active) and (not (current_state (2)) or cke or current_state
52
(1) or current_state (0)));
53
  aux14 <= (not (active) and (not (current_state (2)) or current_state (0)));
54
  aux16 <= (key_ready and not ((not (current_state (2)) or current_state
55
(0))));
56
  label0 : BLOCK ((not (clk) and not (clk'STABLE)) = '1')
57
  BEGIN
58
    current_state (0) <= GUARDED (not (active) and ((current_state (2) and current_state (0))
59
or (current_state (1) and (not (current_state (2)) or key_ready))));
60
  END BLOCK label0;
61
  label1 : BLOCK ((not (clk) and not (clk'STABLE)) = '1')
62
  BEGIN
63
    current_state (1) <= GUARDED ((not (active) and not ((current_state (1) or current_state (0)))
64
and ((cke and current_state (2)) or (not (current_state (2))
65
and finish))) or (aux18 and ((not (current_state (0)) and not
66
(key_ready)) or aux19)));
67
  END BLOCK label1;
68
  label2 : BLOCK ((not (clk) and not (clk'STABLE)) = '1')
69
  BEGIN
70
    current_state (2) <= GUARDED (active or (not (current_state (1)) and current_state (2)) or
71
(current_state (1) and not (aux16)));
72
  END BLOCK label2;
73
 
74
sel3 (0) <= '0';
75
 
76
sel3 (1) <= '1';
77
 
78
sel2 (0) <= '0';
79
 
80
sel2 (1) <= '1';
81
 
82
sel1 (0) <= aux14;
83
 
84
sel1 (1) <= not (aux14);
85
 
86
en_out <= (not (active) and not (current_state (1)) and not (current_state
87
(0)) and not (current_state (2)) and finish);
88
 
89
en_rcbc <= '0';
90
 
91
en_iv <= '0';
92
 
93
en_in <= (aux18 and aux16);
94
 
95
cke_b_mode <= auxinit1;
96
 
97
cp_ready <= (aux18 and aux19);
98
 
99
emp_buf <= auxinit2;
100
 
101
s_gen_key <= auxinit1;
102
 
103
s_mesin <= auxinit2;
104
 
105
e_mesin <= e;
106
END;

powered by: WebSVN 2.1.0

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