티스토리 뷰

계층 구조(Hierarchy structure)


전체 시스템의 설계를 하나의 디자인이 아닌 기능별로 구분된 최소 모듈(블록)단위로 설계하고 이를 Top-Down 구조로 연결하거나, 협업/분업 설계(Bottom-Up)설계하여 완성시키는 방식



COMPONENT(AND GATE)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
library ieee;
    use ieee.std_logic_1164.all;
    use ieee.std_logic_arith.all;
    use ieee.std_logic_unsigned.all;
    
entity and_gate is
    port(
        A : in std_logic;
        B : in std_logic;
        Y : out std_logic
    );
end and_gate;
    
architecture BEH of and_gate is
begin
    Y <= A and B;
end BEH;
cs



COMPONENT(OR GATE)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
library ieee;
    use ieee.std_logic_1164.all;
    use ieee.std_logic_arith.all;
    use ieee.std_logic_unsigned.all;
    
entity or_gate is
    port(
        A : in std_logic;
        B : in std_logic;
        Y : out std_logic
    );
end or_gate;
    
architecture BEH of or_gate is
begin
    Y <= A or B;
end BEH;
cs



COMPONENT(NOT GATE)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
library ieee;
    use ieee.std_logic_1164.all;
    use ieee.std_logic_arith.all;
    use ieee.std_logic_unsigned.all;
    
entity not_gate is
    port(
        A : in std_logic;
        Y : out std_logic
    );
end not_gate;
    
architecture BEH of not_gate is
begin
    Y <= not A;
end BEH;
cs



TOP ENTITY(TOP DESIGN)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
library ieee;
    use ieee.std_logic_1164.all;
    use ieee.std_logic_arith.all;
    use ieee.std_logic_unsigned.all;
    
entity mux_2x1_comp is
 
    port(
        A : in std_logic;
        B : in std_logic;
          Sel : in std_logic;
        Y : out std_logic
 
    );
end mux_2x1_comp;
    
architecture STR of mux_2x1_comp is
 
    component and_gate is
    port(
        A : in std_logic;
        B : in std_logic;
        Y : out std_logic
    );
    end component;
    
    component or_gate is
    port(
        A : in std_logic;
        B : in std_logic;
        Y : out std_logic
    );
    end component;
    
    component not_gate is
    port(
        A : in std_logic;
        Y : out std_logic
    );
    end component;
    
    signal NotS : std_logic;
    signal AandNotS : std_logic;
    signal BandS : std_logic;
    
begin
        U1 : and_gate
        port map(
            A => A,
            B => NotS,
            Y => AandNotS
        );
        
        U2 : and_gate
        port map(
            A => B,
            B => Sel,
            Y => BandS
        );
        
        U3 : not_gate
        port map(
            A => Sel,
            Y => NotS
        );
        
        U4 : or_gate
        port map(
            A => AandNotS,
            B => BandS,
            Y => Y
        );
    end STR;
        
cs


'프로그래밍 > Quartus 2' 카테고리의 다른 글

[VHDL] 모니터 제어  (0) 2018.04.17
[VHDL] DIGITAL WATCH  (0) 2018.04.10
[VHDL] COUNTER 설계  (0) 2018.03.26
[VHDL] 논리 게이트  (0) 2018.03.16
[VHDL] VHDL 개요  (0) 2018.03.16
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함