[verilog | VHDL]

[verilog | VHDL]

[VHDL] MUX, DEMUX, 4비트 비교기 설계

MUX(Multiplexer) - 여러개 입력 중 제어신호에 의해 선택된 입력을 출력한다. - 4x1 mux이라고 가정하면 input으로 4비트가 들어오고 제어신호에 의해 선택된 부분을 출력한다. 시뮬레이션 결과를 보면 input 4비트와 S라는 선택신호에 의해 00이면 0번비트, 01은 1번비트, 10은 2번, 11은 4번비트를 출력시키는 동작을 보여준다. 1) mux를 if문으로 작성하면 다음과 같다. //if문 library ieee; use ieee.std_logic_1164.all; entity mux_4x1_vhdl is port( I : in std_logic_vector(3 downto 0); S : in std_logic_vector(1 downto 0); Y : out std_logic..

[verilog | VHDL]

[VHDL] 4비트 병렬 가감산기(4-bit Full adder / subtractor)

4비트 가산기(4-bit Full Adder) 4비트 가산기는 말 그대로 1비트 4개를 더할 수 있는 회로를 의미한다. 회로에서 사용된는 구성요소는 1비트자리 반가산기1개, 전가산기 3개만 적용하면 된다. 처음 LSB연산할때는 하위자리에서 받는 캐리가 없기 때문에 반가산기를 이용하며 나머지 3비트는 전부 캐리를 고려해야 하기 때문에 전가산기를 이용한다. 이러한 동작의 논리회로는 다음과 같다. 최종 결과는 a와b를 더한 결과와 MSB에서 나오는 캐리까지 포함하여 총 5비트가 나오게 된다. 위의 동작을 VHDL 구조적 모델링으로 구현하면 다음과 같다. library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std..

[verilog | VHDL]

[VHDL] 1비트 가감산기 설계(half / full, adder / subtractor)

반가산기(Half adder) 한자리 2진수 2개를 입력해 합(sum)과 올림수(carry)를 계산하는 덧셈 회로이다. 진리표와 논리회로는 다음과 같다. and게이트와 xor게이트를 사용하기 때문에 구조적모델링을 이용하여 컴포넌트를 불러오는 방식으로 코드를 작성하면 다음과 같다. (현재 작업중인 디렉토리에 and, xor게이트에 대한 .vhd파일을 저장해야 한다.) library IEEE; use IEEE.STD_LOGIC_1164.all; entity half_adder is Port (X : in STD_LOGIC; Y : in STD_LOGIC; S : out STD_LOGIC; C : out STD_LOGIC); end half_adder; architecture Structural of half..

[verilog | VHDL]

[VHDL] 병렬문(Concurrent Statement)

회로도의 동작이나 구조 서술을 위한 프로세스나 블록간 연결상태를 서술하는 용도로 사용한다. 보통 아키텍처 본체 내부의 문장 부분을 구성하게 되며 프로세스문 내부는 순차문, 프로세스문 자체는 병렬문이다. 병렬분의 종류는 프로세스문, 블록문, 병렬주장문, 병렬신호배정문 등이 있다. 1. 프로세스문(Process statement) - 기본적으로 동시처리인 VHDL에서 순차적 처리를 가능하게 해주는 문법이다. - 감지리스트(sensitivity list)에 들어가는 신호는 process내에서 선언 불가능하다. - 모듈 내부는 순차적으로 이루어지므로 순차문을 사용한다.(if, case) - 프로세스문 자체는 병렬문이며 여러개의 프로세스문이 있으면 서로 병행적으로 수행한다. - 프로세스문은 일종의 무한루프처럼 동..

[verilog | VHDL]

[VHDL] 순차문

VHDL의 아키텍처를 설계할때는 크게 병렬문과 순차문으로 나뉜다. 일반적으로 아키텍처는 문장부 서술은 병렬문으로 서술하지만 병렬문 내부 혹은 부프로그램(프로시저, 함수)은 순차문으로 동작을 하기 때문에 두가지 동작을 명확히 이해한 상태에서 설계를 진행해야 한다. 이번 포스팅에서는 순차문에 대해 알아보자. 순차문(Sequential Statement) • 병렬문의 부프로그램이나 프로세스문 수행을 위한 알고리즘 서술 용도로 사용 • 반드시 앞의 문장이 진행되어야 뒤에 문장이 진행할 수 있다. • 순차문 종류 : 대기문, 주장문, 신호배정문, 변수배정문, 프로시저 호출문, if문, case문, next문 등.. 1. 대기문(wait statement) - process문이나 procedure의 동작을 주어진 ..

[verilog | VHDL]

[VHDL] 기본 문법

1. 기본 구성 // AND_VHDL code // package 부분 library ieee; use ieee.std_logic_1164.all; // entity 부분 entity AND_VHDL is port(A, B : in std_logic; c : out std_logic); end AND_VHDL; // architecture 부분 architecture Behavioral of and_VHDL is begin process(A, B) begin if(A='1' and B ='1')then C 대형 설계를 쉽게 할 수 있다) - 컴포넌트의 연결관게는 port map이라는 예약어를 이용하여 이루어짐 architecture behav of half_add is component and_2 por..

시그널보내
'[verilog | VHDL]' 카테고리의 글 목록