목차
1. 8x1 MUX
< 시뮬레이션 결과 >
< H/W 확인 >
< .ucf 파일 생성 >
< 동작 확인 >
2. 1x8 DEMUX
< 시뮬레이션 결과 >
< H/W 확인 >
< .ucf 파일 생성 >
< 동작 확인 >
< 시뮬레이션 결과 >
< H/W 확인 >
< .ucf 파일 생성 >
< 동작 확인 >
2. 1x8 DEMUX
< 시뮬레이션 결과 >
< H/W 확인 >
< .ucf 파일 생성 >
< 동작 확인 >
본문내용
REPORT
<8x1 MUX, 1X8 DEMUX>
1. 8x1 MUX
- 8X1 MUX 설계
EX) I 입력은 Bus switch로
S 입력은 Button Switch로
Y 는 LED로
entity MUX_LSI is
fort ( D : in STD_LOGIC_VECTOR(0 to 7); --BIT VETER 이라고 쓸 경우에는
S : in STD_LOGIC_VECTOR(0 to 2); --when others 안써도 됨 0과 1만 인식 가능함
Y : out STD_LOGIC);
end MUX_LSI;
architecture Behavioral of MUX_LSI is
begin
process(D, S)
begin
case S is
when \"000\" => Y <= D(0);
when \"000\" => Y <= D(0);
when \"000\" => Y <= D(0);
when \"000\" => Y <= D(0);
when \"000\" => Y <= D(0);
when \"000\" => Y <= D(0);
when \"000\" => Y <= D(0);
when \"000\" => Y <= D(0);
when others => Y <= \'Z\';
end case;
end process;
end Behavioral;
< 시뮬레이션 결과 >
< H/W 확인 >
begin
D <= \"00101001\"; S <= \"010\"; Wait for 100 ns;
D <= \"00101101\"; S <= \"100\"; Wait for 100 ns;
D <= \"00101001\"; S <= \"011\"; Wait for 100 ns;
D <= \"10101001\"; S <= \"100\"; Wait for 100 ns;
end process;
END;
< .ucf 파일 생성 >
NET \"D<7>\" LOC = \"P41\";
NET \"D<6>\" LOC = \"P37\";
NET \"D<5>\" LOC = \"P36\";
NET \"D<4>\" LOC = \"P35\";
NET \"D<3>\" LOC = \"P34\";
NET \"D<2>\" LOC = \"P33\";
NET \"D<1>\" LOC = \"P31\";
NET \"D<0>\" LOC = \"P30\";
NET \"S<2>\" LOC = \"P67\";
NET \"S<1>\" LOC = \"P63\";
NET \"S<0>\" LOC = \"P62\";
NET \"Y\" LOC = \"P139\";
<그림 1-1 8x1 MUX>
3개의 선택 입력신호 즉 2^3 = 8 로써 8개의 입력가운데 하나를 선택하여 출력하는 회로
strove
(입출력 결정단자)
S_2
S_1
S_0
Z
(출력)
0
0
0
0
l_0
0
0
0
1
l_1
0
0
1
0
l_2
0
0
1
1
l_3
0
1
0
0
l_4
0
1
0
1
l_5
0
1
1
0
l_6
0
1
1
1
l_7
< 동작 확인 >
2. 1x8 DEMUX
entity DEMUX_LSI is
Fort( ,I : in STD_LOGIC;
S : in STD_LOGIC_VECTOR(0 to 2);
Y : out STD_LOGIC_VECTOR(0 to 7));
end DEMUX_LSI;
architecture Behavioral of DEMUX_LSI is
begin
process(I, S)
begin
when \"000\" => Y(0) <= I;
when \"001\" => Y(1) <= I;
when \"010\" => Y(2) <= I;
when \"011\" => Y(3) <= I;
when \"100\" => Y(4) <= I;
when \"101\" => Y(5) <= I;
when \"110\" => Y(6) <= I;
when \"111\" => Y(7) <= I;
when others => Y <= \"ZZZZZZZZ\" -- Y가 8비트이므로 8개 2비트일경우에는 1개
end case;
end process;
end Behavioral;
< 시뮬레이션 결과 >
< H/W 확인 >
begin
I <= \'1\'; S<= \"000\" Wait for 100 ns;
I <= \'1\'; S<= \"001\" Wait for 100 ns;
I <= \'1\'; S<= \"010\" Wait for 100 ns;
I <= \'0\'; S<= \"011\" Wait for 100 ns;
I <= \'1\'; S<= \"100\" Wait for 100 ns;
I <= \'1\'; S<= \"101\" Wait for 100 ns;
I <= \'1\'; S<= \"110\" Wait for 100 ns;
I <= \'1\'; S<= \"111\" Wait for 100 ns;
end process;
END;
< .ucf 파일 생성 >
NET \"I\" LOC = P41;
NET \"S<2>\" LOC = P67;
NET \"S<1>\" LOC = P63;
NET \"S<0>\" LOC = P62;
NET \"Y<7>\" LOC = P139;
NET \"Y<6>\" LOC = P138;
NET \"Y<5>\" LOC = P136;
NET \"Y<4>\" LOC = P135;
NET \"Y<3>\" LOC = P134;
NET \"Y<2>\" LOC = P133;
NET \"Y<1>\" LOC = P132;
NET \"Y<0>\" LOC = P129;
< 동작 확인 >
<8x1 MUX, 1X8 DEMUX>
1. 8x1 MUX
- 8X1 MUX 설계
EX) I 입력은 Bus switch로
S 입력은 Button Switch로
Y 는 LED로
entity MUX_LSI is
fort ( D : in STD_LOGIC_VECTOR(0 to 7); --BIT VETER 이라고 쓸 경우에는
S : in STD_LOGIC_VECTOR(0 to 2); --when others 안써도 됨 0과 1만 인식 가능함
Y : out STD_LOGIC);
end MUX_LSI;
architecture Behavioral of MUX_LSI is
begin
process(D, S)
begin
case S is
when \"000\" => Y <= D(0);
when \"000\" => Y <= D(0);
when \"000\" => Y <= D(0);
when \"000\" => Y <= D(0);
when \"000\" => Y <= D(0);
when \"000\" => Y <= D(0);
when \"000\" => Y <= D(0);
when \"000\" => Y <= D(0);
when others => Y <= \'Z\';
end case;
end process;
end Behavioral;
< 시뮬레이션 결과 >
< H/W 확인 >
begin
D <= \"00101001\"; S <= \"010\"; Wait for 100 ns;
D <= \"00101101\"; S <= \"100\"; Wait for 100 ns;
D <= \"00101001\"; S <= \"011\"; Wait for 100 ns;
D <= \"10101001\"; S <= \"100\"; Wait for 100 ns;
end process;
END;
< .ucf 파일 생성 >
NET \"D<7>\" LOC = \"P41\";
NET \"D<6>\" LOC = \"P37\";
NET \"D<5>\" LOC = \"P36\";
NET \"D<4>\" LOC = \"P35\";
NET \"D<3>\" LOC = \"P34\";
NET \"D<2>\" LOC = \"P33\";
NET \"D<1>\" LOC = \"P31\";
NET \"D<0>\" LOC = \"P30\";
NET \"S<2>\" LOC = \"P67\";
NET \"S<1>\" LOC = \"P63\";
NET \"S<0>\" LOC = \"P62\";
NET \"Y\" LOC = \"P139\";
<그림 1-1 8x1 MUX>
3개의 선택 입력신호 즉 2^3 = 8 로써 8개의 입력가운데 하나를 선택하여 출력하는 회로
strove
(입출력 결정단자)
S_2
S_1
S_0
Z
(출력)
0
0
0
0
l_0
0
0
0
1
l_1
0
0
1
0
l_2
0
0
1
1
l_3
0
1
0
0
l_4
0
1
0
1
l_5
0
1
1
0
l_6
0
1
1
1
l_7
< 동작 확인 >
2. 1x8 DEMUX
entity DEMUX_LSI is
Fort( ,I : in STD_LOGIC;
S : in STD_LOGIC_VECTOR(0 to 2);
Y : out STD_LOGIC_VECTOR(0 to 7));
end DEMUX_LSI;
architecture Behavioral of DEMUX_LSI is
begin
process(I, S)
begin
when \"000\" => Y(0) <= I;
when \"001\" => Y(1) <= I;
when \"010\" => Y(2) <= I;
when \"011\" => Y(3) <= I;
when \"100\" => Y(4) <= I;
when \"101\" => Y(5) <= I;
when \"110\" => Y(6) <= I;
when \"111\" => Y(7) <= I;
when others => Y <= \"ZZZZZZZZ\" -- Y가 8비트이므로 8개 2비트일경우에는 1개
end case;
end process;
end Behavioral;
< 시뮬레이션 결과 >
< H/W 확인 >
begin
I <= \'1\'; S<= \"000\" Wait for 100 ns;
I <= \'1\'; S<= \"001\" Wait for 100 ns;
I <= \'1\'; S<= \"010\" Wait for 100 ns;
I <= \'0\'; S<= \"011\" Wait for 100 ns;
I <= \'1\'; S<= \"100\" Wait for 100 ns;
I <= \'1\'; S<= \"101\" Wait for 100 ns;
I <= \'1\'; S<= \"110\" Wait for 100 ns;
I <= \'1\'; S<= \"111\" Wait for 100 ns;
end process;
END;
< .ucf 파일 생성 >
NET \"I\" LOC = P41;
NET \"S<2>\" LOC = P67;
NET \"S<1>\" LOC = P63;
NET \"S<0>\" LOC = P62;
NET \"Y<7>\" LOC = P139;
NET \"Y<6>\" LOC = P138;
NET \"Y<5>\" LOC = P136;
NET \"Y<4>\" LOC = P135;
NET \"Y<3>\" LOC = P134;
NET \"Y<2>\" LOC = P133;
NET \"Y<1>\" LOC = P132;
NET \"Y<0>\" LOC = P129;
< 동작 확인 >
소개글