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

Subversion Repositories idea

[/] [idea/] [trunk/] [behavioral/] [key_regulator/] [kontrol_utama_invadd.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 `kontrol_utama_invadd`
2
--              date : Sun Jul 29 23:45:28 2001
3
 
4
 
5
-- Entity Declaration
6
 
7
ENTITY kontrol_utama_invadd IS
8
  PORT (
9
  clk : in BIT; -- clk
10
  rst : in BIT; -- rst
11
  start : in BIT;       -- start
12
  n_dtin : in bit_vector(4 DOWNTO 0) ;  -- n_dtin
13
  n_dtout : in bit_vector(4 DOWNTO 0) ; -- n_dtout
14
  c_cdtin : out BIT;    -- c_cdtin
15
  en_cdtin : out BIT;   -- en_cdtin
16
  c_cdtout : out BIT;   -- c_cdtout
17
  en_cdtout : out BIT;  -- en_cdtout
18
  en_out : out BIT;     -- en_out
19
  en_in : out BIT;      -- en_in
20
  finish : out BIT;     -- finish
21
  vdd : in BIT; -- vdd
22
  vss : in BIT  -- vss
23
  );
24
END kontrol_utama_invadd;
25
 
26
 
27
-- Architecture Declaration
28
 
29
ARCHITECTURE behaviour_data_flow OF kontrol_utama_invadd IS
30
  SIGNAL current_state : REG_VECTOR(2 DOWNTO 0) REGISTER;       -- current_state
31
  SIGNAL aux27 : BIT;           -- aux27
32
  SIGNAL aux25 : BIT;           -- aux25
33
  SIGNAL aux21 : BIT;           -- aux21
34
  SIGNAL aux20 : BIT;           -- aux20
35
  SIGNAL auxinit1 : BIT;                -- auxinit1
36
  SIGNAL auxinit2 : BIT;                -- auxinit2
37
  SIGNAL aux29 : BIT;           -- aux29
38
  SIGNAL aux30 : BIT;           -- aux30
39
 
40
BEGIN
41
  aux30 <= (not (rst) and start and aux29 and aux20);
42
  aux29 <= (not (current_state (1)) and current_state (2));
43
  auxinit2 <= ((not (current_state (2)) and not (current_state (1)) and not
44
(rst)) or aux27);
45
  auxinit1 <= (not (rst) and not ((current_state (2) xor current_state (1))));
46
  aux20 <= not ((not (n_dtout (3)) and not (n_dtout (2)) and not (n_dtout
47
(0)) and n_dtout (4) and n_dtout (1)));
48
  aux21 <= (not (rst) and start and not (aux20));
49
  aux25 <= (n_dtin (4) or n_dtin (3) or n_dtin (2) or n_dtin (1) or n_dtin
50
(0));
51
  aux27 <= (not (rst) and current_state (2) and (current_state (1) or (start
52
and not (aux25) and aux20)));
53
  label0 : BLOCK ((not (clk) and not (clk'STABLE)) = '1')
54
  BEGIN
55
    current_state (0) <= GUARDED ((not (current_state (2)) and not (rst) and (not (current_state
56
(1)) or current_state (0))) or aux27);
57
  END BLOCK label0;
58
  label1 : BLOCK ((not (clk) and not (clk'STABLE)) = '1')
59
  BEGIN
60
    current_state (1) <= GUARDED ((not (rst) and not (aux29)) or aux21);
61
  END BLOCK label1;
62
  label2 : BLOCK ((not (clk) and not (clk'STABLE)) = '1')
63
  BEGIN
64
    current_state (2) <= GUARDED (rst or (current_state (1) and current_state (0)) or (not (start)
65
and not (current_state (1))) or not ((current_state (2) xor
66
current_state (1))));
67
  END BLOCK label2;
68
 
69
finish <= ((not (current_state (2)) and not (rst) and current_state (1))
70
or (aux29 and aux21));
71
 
72
en_in <= aux30;
73
 
74
en_out <= auxinit1;
75
 
76
en_cdtout <= auxinit2;
77
 
78
c_cdtout <= (aux25 and aux30);
79
 
80
en_cdtin <= auxinit2;
81
 
82
c_cdtin <= auxinit1;
83
END;

powered by: WebSVN 2.1.0

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