반응형

VHDL 12

ART 비동기 통신 UART_TX (Transmitter) UART_RX (RECEIVER)

1. UART 비동기 통신 이란 ● UART(Universal Asynchronous Receiver and Transmitter)란 비동기 전이중 1:1통신 방식이다. ● 동기통신 PS/2와는 다른 점은 비동기 통신은 최대 입력 전압이 ±15V, 최대 출력 전압이 ±25V로 비교적 높은 전압이다. 그래서 동기통신보다 통신거리가 길고, 최대 통신거리는 15m이다. ● 통신속도는 Baud-rate(bau-rate)라 하고, 가변적인 특성을 갖는다. ● UART는 default시 1의 값을 갖으며, START bit(1 bit),Data(8 bit), PARITY(1 bit), STOP(1 bit) 총 11비트로 전송되고, DATA는 최대 8비트가 기본 단위이다. ● RS-232(가장 많이 쓰임) Tranc..

SOC 2021.06.10

PS/2 동기화통신 ps/2 keyboard VHDL,MODELSIM

첨부파일 : https://blog.naver.com/aanrt/221515655615 1. PS/2 동기화 통신 Personal System/2 인터페이스는 양방향 동기식 통신이 가능한 PC용 port 규격이다. 키보드는 CLOCK과 DATA라인의 값이 1 상태일 경우에 한하여 데이터를 송신할 수 있다. 클록신호는 유효데이터를 지시하기 위한 동기신호의 개념이다. ●키보드에서 키가 눌려지면, 키보드 내부의 원칩 컨트롤러가 DATA(SCAN Code 전송)를 시스템에 보내게 된다. -키를 누를 때는 11bit 하나의 key code (make code)가 발생하고, -키가 떨어질 때는 두 개의 Scan code(break code)가 전송된다 (F0->Key code) -키가 계속 눌려지면 해당 Key c..

SOC 2021.06.09

Coffe Vending Machine 설계(Meerly)

2.소스코드 및 설명(Meerly) Mealy 는 현재상태와 현재입력에 의존한다 . 변수설정과 clk신호에 관한 process문으로 clk신호의 rising_edge일시 rst에 의해 결정되는 present_state값과 rst이 0일 때 present_state에 next_state를 전달하는 상태 기술문이다. 34~42: present_state 에 무슨 입력이 들어오냐에 관한 case문 초기상태 s0에서 coin_in의 1의 입력이 들어오면 next_state에 s1을 전달해주고 그때의 state_out 값은 01, coin_in의 0의 입력이 들어오면 next_state는 s0,state_out 값은 00을 전달해주어 출력한다. 44~51 : coin_in의 1의 입력값에따라 next_state가..

VHDL 2021.06.09

Sequence Detector(순차검출기)

1011이 입력되면 1이 출력. RESET : S0 초기화 S0 : 초기상태로 1011중 하나도 안들어온 상태 S1 : S0상태에서 1이 들어온 상태 (S0상태에서 0입력시 S0유지) S2 : S0상태에서 10이 들어온 상태 S3 : S0상태에서 101이 들어온 상태 S4 : S0상태에서 1011이 들어온상태 2.소스코드 및 설명 12 : state 타입은 s0,s1,s2,s3,s4로 이루어진 것을 선언 13 : state타입의 present_state,next_state란 signal형 선언 19 : clk pulse가 상승신호일시 20 : rst=1 이면 present_state 는 s0 23 : 아닐 경우 present_state에 next_state를 전달해준다 28 : present_state와..

VHDL 2021.06.09

램메모리 VHDL RAM(Random Access Memory) VHDL

1.RAM(Random Access Memory) Memory에 저장된 값을 읽을 수 있고, ROM과 다른점은 필요한 data를 저장할 수 있다. 하지만 전원이 끊기면 저장된data가 날아간다(=휘발성 메모리) 8비트 데이터를 8개 저장하는 간단한 8비트의 RAM을 설계한다 보았을 때, memclk의 rising_edge 신호에 맞춰 w_en의 신호가 High가 될 때의 address신호값에 data_in을 입력하여 저장시킨다. 2.소스코드 및 설명 7: ADDR_BITS 는 매개변수3으로 정의, DATA_BITS는 매개변수8로 정의 //회로의 개수나 입출력의 크기가 매개변수에 의해 결정되게 하는 generic문 19: subtype형의 ram_word는 DATA_BITS-1=(8-1) 8비트의 로직벡터..

VHDL 2021.06.09

4 BIT RING COUNTER,4비트링카운터 VHDL

1. 4 BIT RING COUNTER 링 카운터는 전체적으로 데이터가 회전하는 시프트 레지스터를 말하며, 맨 마지막 플립플롭의 출력이 첫 번째 플립플롭의 입력에 연결되어 있다. 입력된 데이터는 클록의 펄스마다 한 칸씩 이동하게 된다. 2. 소스코드 및 설명 3.시뮬레이션 및 결과설명 (1) 초기값이 “0000”일 때, 0001을 tmp에 전달해주어 이 값을 Y로 전달해 출력하였다. (2) CLK의 신호가 상승신호일 때 왼쪽으로 1비트씩 이동하였기에 0010이 출력되었다. (3) CLK의 신호가 상승신호일 때 왼쪽으로 1비트씩 이동하여 0100이 출력되엇다. (4) CLK의 신호가 상승신호일 때 왼쪽으로 1비트씩 이동하여 1000이 되었다. (5) CLK의 신호가 상승신호일 때 왼쪽으로 1비트씩 이동하여..

VHDL 2021.06.09

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
반응형