반응형

VHDL 31

순차회로 Counter(카운터) 설계( 4비트비동기식업카운터schematic, 4비트비동기식다운카운터VHDL)

순차회로 COUNTER 설계 1. 비동기식 카운터 ● 비동기식 카운터는 리플 카운터라고도 하며, 기본구성은 JK FF을 일렬로 연결 또는 T FF일렬로 연결 -> 토글(toggle 반전)기능 활용 -> JK FF사용 : 모든 J,K 입력 1 / T FF사용 : T입력 1 ● 이전 FF의 출력을 다음 FF에 트리거, 다른 FF는 각 FF의 출력을 다음 FF의 ClockPulse입력으로 사용 4 BIT Asynchronous UP Counter ( JK FF ) 4비트로 이루어진 비동기식 업카운터이다. JK FF 4개로 이루어져 있으며 초기화값을 0000으로 주어 CLOCK PULSE(falling edge)에따라 1씩 증가하는 카운터이다. 비동기식 증가형 카운터는 동기식처럼 클럭을 공통으로 사용하지 않고 ..

VHDL 2021.06.09

Shift Register(쉬프트 레지스터) VHDL

1. Shift Register 2진 정보를 왼쪽 혹은 오른쪽으로 이동시키는 레지스터 시프트 레지스터는 각 FF의 출력일 다음 FF의 입력이 되도록 종속적으로 연결된 일련의 FF들로 구성됨. FF에 공통의 CLock을 입력시키면 1비트씩 자리 이동 CLK에 연결된 FF의 수 = 시프트 레지스터 길이 8 Shift Register : 8개의 D FF으로 이루어진 8비트 (왼쪽 이동) D FF의 출력값이 7비트부터 0비트까지 값이 전달됨 Ex> 00000000 일 경우 다음D값이 1이면 00000001 으로 가고 다음D값이 1이면 00000011 이되고 다음D값이 0일시 00000110이 됨. 전 4~9 : entity shift8 의 포트 설정 D,RST,CLK는 입력로직 선언 Q는 (7부터0까지 8비트 ..

VHDL 2021.06.08

FND DECODER ( DE2보드)

1. FND Decoder 7세그먼트 표시 장치(Seven-segment display)는 표시 장치의 일종으로, 7개의 획으로 숫자나 문자를 나타낼 수 있다. 7세그먼트 표시 장치는 7개의 선분(획)으로 구성되어 있으며, 위와 아래에 사각형 모양으로 두 개의 가로 획과 두 개의 세로 획이 배치되어 있고, 위쪽 사각형의 아래 획과 아래쪽 사각형의 위쪽 획이 합쳐진 모양이다. 가독성을 위해 종종 사각형을 기울여서 표시하기도 한다. 7개의 획은 각각 꺼지거나 켜질 수 있으며 이를 통해 아라비아 숫자를 표시할 수 있다. 몇몇 숫자(0, 6, 7, 9)는 둘 이상의 다른 방법으로 표시가 가능하다. 7세그먼트 표시 장치의 각 획은 맨 위쪽 가로 획부터 시계 방향으로, 그리고 마지막 가운데 가로 획까지 각각 A부터..

VHDL 2021.06.08

8x3 Encoder , 8x3 엔코더 VHDL

인코더 : 인코더(Encoder)란 2^n비트의 2진 코드(code) 값을 입력으로 받아들여 최대 n개의 서로 다른 정보로 바꿔 주는 조합 회로를 말한다. 일반적으로 인코더는 2^n개의 입력선과 최대 n개의 출력선을 가지며, 입력 값에 따라 선택된 하나의 출력선이 나머지 출력선들과 반대값을 갖는다. 8x3 Encoder : 2^3비트의 입력선과 3개의 출력선을 가지며 입력 값에 따라 선택된 하나의 출력선이 나머지 출력선들과 반대값을 갖는다. 설계자에 의해 진리표가 마음대로 바뀔 수 있다. > 2.소스코드 및 코드 설명 library ieee; use ieee.std_logic_1164.all; entity Encoder_83 is --Encoder_83에 대한 entity문 port ( A : in st..

VHDL 2021.06.08

3x8 Decoder 설계

디코더 디코더(decoder)란 n비트의 2진 코드(code) 값을 입력으로 받아들여 최대 2^n개의 서로 다른 정보로 바꿔 주는 조합 회로를 말한다. 일반적으로 디코더는 n개의 입력선과 최대 2^n개의 출력선을 가지며, 입력 값에 따라 선택된 하나의 출력선이 나머지 출력선들과 반대값을 갖는다. 3x8디코더 : 3개의 입력선과 최대 2^3개의 출력선을 가지며 입력 값에 따라 선택된 하나의 출력선이 나머지 7개의 출력선들과 반대값을 갖는다. 2.소스코드 및 코드설명 library ieee; use ieee.std_logic_1164.all; entity Decoder_38 is -- Decoder_38에 대한 entity port ( A : in std_logic_vector (2 downto 0); --..

VHDL 2021.06.08

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

▶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문 ..

VHDL 2021.06.08

ALU dataflow

ALU 산술 논리 장치로 두 숫자의 (덧셈, 뺄셈같은) 산술연산과 (배타적 논리합, 논리곱, 논리합같은) 논리연산을 계산하는 디지털 회로이다. 산술논리장치는 컴퓨터 중앙처리장치의 기본 설계 블록이다. Mux와 같이 출력신호는 제어신호에 의하여 입력신호 중에 선택된다. ▶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_lo..

VHDL 2021.06.08

Demultiplexer(Demux) 1x4,1x8

Demultiplexer(Demux) 데이터 분배 회로(data distributor)라고도 하며, 한 개의 선으로부터 입수된 정보를 받아들임으로써 N개의 선택 입력에 의해 2^N개의 가능한 출력선 중의 하나를 선택하여 정보를 전송하는 조합 회로. 출력선의 선택은 선택 입력의 비트 조합에 의해 결정된다. 1x4 demux ▶1x4 Demux(behavioral,dataflow)modeling 동작적모델링에서 Mux와는 다르게 if문 대신 case ~ when문 사용! 좌측은 진리식을 그대로 기술해준 dataflow문 / 우측은 when ~else 문을 사용한 dataflow문 1x4 demux 결과 및 시뮬레이션 ■ 1x8 demux ▶ 1x8 demux behavioral modeling VHDL li..

VHDL 2021.06.08

조합회로 - 비교기 (자료흐름적 모델링)

●조합회로 : 임의의 시간에서의 출력이 이전의 입력에 관계없이 현재의 입력 조합으로부터 결정되는 논리회로 ex)반/전 가산기,반/전 감산기,병렬가감산기, 디코더,인코더,MUX,DEMUX,비교기 등등! ​ ★ 비교기 : 두 개의 입력을 비교하여 결과를 출력하는 회로 카노맵으로 논리식 구하기 ▶자료흐름적(Dataflow) VHDL library IEEE; use IEEE.STD_LOGIC_1164.ALL; ​ entity twobitcom is ​ Port (A : in STD_LOGIC_VECTOR (1 downto 0); --포트설정 B : in STD_LOGIC_VECTOR (1 downto 0); -- A와 B는 2비트 내림차순 이루어진 입력로직벡터 ,( A1A0 ) ,( B1B0 ) X : out ..

VHDL 2021.06.08

4비트 병렬 가감산기

■ 동작 원리 (1) M=0일 때 입력 : Xn, M xor Yn M = 0 이면 진리표에따라 Yn의 값은 변함이 없이 Xn과 Yn의 값이 입력된다 0비트가산기에 들어가는 C0의 값이 0이므로 가산기로 작동하게 된다. M=0 일땐 가산기가 작동된다. (2) M=1 일 때 ★감산회로 : 감산은 대게 빼는수를 음수로 만들어 더하는 방식을 주로쓴다. ★LSB : 가장 끝에 있는 낮은 비트 ( 0~3비트면 0비트를 LSB라부름 )

VHDL 2021.06.08
반응형