VHDL

조합회로 - Multiplexer(Mux) 4x1,8x1

전자자연인 2021. 6. 8. 21:56
반응형

▶Multiplexer - 멀티플렉서(MUX)란 n bit개의 선택선의 조합에 의해 2^n개의 입력선 중에서
하나를 선택하여 출력선에 연결시켜주는 회로이다.

▶4x1 VHDL 동작적모델링 IF문사용

4x1 mux - 동작적모델링(behavioral)으로 if문 사용하여 서술한 VHDL

 

▶4x1 Mux - dataflow VHDL

dataflow - 논리식을 그대로 대입 (편함)

dataflow - when~else 구문 사용 ( 병행기술문으로 process밖에서 사용 ↔ case~when문은 동작적 모델링으로 process내에서 사용

● dataflow 선택문은 기타조건에서 when others문대신 "11"을 사용해도 되지만, 합성기에 따라 다를 수 있으므로, '-'(don't care)나 null문 사용하면 논리 최적화에 유리하게 만들어주면 좋음! 

 

▶4x1 mux 결과 시뮬레이션

 

8x1 mux

 

▶8x1 mux dataflow vhdl

 

ibrary ieee;

use ieee.std_logic_1164.all;

 

entity eightMux is -- eightMux에 대한 포트 설정

Port ( I : in std_logic_vector(7 downto 0); -- I 8비트의 입력로직벡터이나 7부터 0으로 내림차순으로 정렬 I7 I6 I5 I4 I3 I2 I1 I0

 

S : in std_logic_vector( 2 downto 0); --S 3비트의 입력로직벡터이나 2부터 0으로 내림차순으로 정렬 S2 S1 S0

 

Y : out std_logic); -- Y는 출력로직

end eightMux;

 

architecture Dataflow of eightMux is --eightMux에대한 자료흐름적 구조
 

begin

Y <= I(7) when S = "111" else

I(6) when S = "110" else

I(5) when S = "101" else

I(4) when S = "100" else

I(3) when S = "011" else

I(2) when S = "010" else

I(1) when S = "001" else

I(0);

end Dataflow;

 

▶8x1 mux 시뮬레이션

 

 

반응형

'VHDL' 카테고리의 다른 글

8x3 Encoder , 8x3 엔코더 VHDL  (0) 2021.06.08
3x8 Decoder 설계  (0) 2021.06.08
ALU dataflow  (0) 2021.06.08
Demultiplexer(Demux) 1x4,1x8  (0) 2021.06.08
조합회로 - 비교기 (자료흐름적 모델링)  (0) 2021.06.08