VHDL

ALU dataflow

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

ALU

산술 논리 장치로 두 숫자의 (덧셈, 뺄셈같은) 산술연산과 (배타적 논리합, 논리곱, 논리합같은) 논리연산을 계산하는 디지털 회로이다. 산술논리장치는 컴퓨터 중앙처리장치의 기본 설계 블록이다.

Mux와 같이 출력신호는 제어신호에 의하여 입력신호 중에 선택된다.

<설계자에 의해 입력과 선택과 출력이 달라질 수 있다 > <ALU구조>

▶ALU dataflow VHDL

library ieee;

use ieee.std_logic_1164.all ;

use ieee.std_logic_unsigned.all; --출력에 A+B 와 같은 +연산을 하기위한 헤더파일

 

entity ALU is --ALU의 포트선언

port (A,B : in std_logic_vector(3 downto 0); --A B 4비트(3부터0까지내림차순)으로 이루어진 입력로직벡터

S : in std_logic_vector(1 downto 0); -- S 2비트(1부터0까지 내림차순)으로 이루어진 입력 로직벡터

Y : out std_logic_vector(4 downto 0)); --Y 5비트(4부터 0까지 내림차순)으로 이루어진 입력 로직 벡터

end ALU;

architecture Dataflow of ALU is --ALU에 관한 자료흐름적모델링

 

begin

with S select -- 논리식으로 표현하기 편리하므로 S의 신호 병행문 정의

Y <= (('0' & A) + ('0' & B)) when "00", --출력은5비트, 입력 A B 4비트이므로 MSB 0을 붙여줘야되므로 '0'을 추가해준다

 

'0' & (A or B) when "01", -- S 01일시 5비트자리에 0 AB or연산

 

'0' & (A and B) when "10", --S 10일시 5비트자리에 0 AB and연산결과

 

'0' & (A xor B) when others; --나머지경우에 5비트자리에 0 A B xor 연산결과

 

end Dataflow;

 

ALU 결과 및 시뮬레이션

 

반응형

'VHDL' 카테고리의 다른 글

3x8 Decoder 설계  (0) 2021.06.08
조합회로 - Multiplexer(Mux) 4x1,8x1  (0) 2021.06.08
Demultiplexer(Demux) 1x4,1x8  (0) 2021.06.08
조합회로 - 비교기 (자료흐름적 모델링)  (0) 2021.06.08
4비트 병렬 가감산기  (0) 2021.06.08