Verilog Course Review - 04. UART
·
AI SOC COURSE/VERILOG 기초
1. TitleUART in Verilog2. Category"Verilog", "BASYS3", "VIVADO" 3. Key ConceptsUART 4. SetupVerilog로 UART를 구현할 때 주의해야 할 주요 사항은 데이터 송수신의 정확성을 보장하는 것이다.올바른 데이터 송수신 로직: UART 통신에서는 데이터 송수신이 정확하게 이루어져야 하므로, TX(송신)와 RX(수신) 모듈에서 데이터를 읽거나 보낼 때 다른 입력이 들어오더라도 처리되지 않도록 차단하는 로직이 필요하다.송수신 상태를 나타내는 플래그 설정: 위에서 언급한 대로, 데이터가 송수신 중인지 확인하는 것이 매우 중요하다. 이를 위해 tx_done, tx_busy, rx_done, rx_busy와 같은 플래그를 사용하여 송수신 상태를..
Verilog Course Review - 03. FSM (Moore & Mealy Machine)
·
AI SOC COURSE/VERILOG 기초
1. TitleLED Control using FSM2. Category"Verilog", "BASYS3", "VIVADO" 3. Key ConceptsFSM 4. SetupFSM (Finite State Machine)를 사용하는 이유는 설계의 동작을 단계별로 제어하고, 불필요한 충돌이나 예기치 않은 동작을 방지하기 위함이다. "write 중일 때 read 신호가 들어오더라도 write를 우선적으로 완료" 하는 것이 FSM을 사용하는 예시 중 하나이다.동작의 순차적 제어 예: Write → Process → Read → Idle 등의 순서를 정의.우선순위 처리특정 작업이 진행 중일 때 다른 요청을 무시하거나 대기시키는 논리를 구현.예: Write가 완료되기 전까지는 Write 단계를 유지하여 Read ..
Verilog Course Review - 02.2. Counting Clock (m.ss.ms)
·
AI SOC COURSE/VERILOG 기초
1. TitleMaking Clock that can count minute, seconds, mili seconds2. Category"Verilog", "BASYS3", "VIVADO" 3. Key ConceptsFlip-Flop, Clock, Clock Divider, Tick Generator 4. Code Reviewmodule watch_dot( input clk, reset, output [3:0] fnd_com, output [7:0] fnd_font); wire [3:0] w_digit_sec0, w_digit_sec1, w_digit_sec10, w_digit_min; wire [3:0] w_bcd; wire [1:0] w_sel; wire [..
Verilog Course Review - 02.1. Counter
·
AI SOC COURSE/VERILOG 기초
1. TitleMaking 10000 Counter using tick generator2. Category"Verilog", "BASYS3", "VIVADO" 3. Key ConceptsFlip-Flop, Clock, Clock Divider, Tick Generator 4. SetupCounter 는 입력된 clk에 따라 값을 업데이트 하는 Flip-Flop을 이용해 값을 증가시키거나 감소시키는 회로이다. 이번 실습에서는 0 ~ 10000 까지 Counting 하는 모듈을 설계하고, 이를 실시간으로 FND에 Display 하는 모듈과 연결하여 Counter가 증가하는 모습을 확인할 수 있게 한다.BASYS-3 의 System Clk은 100MHz(10us)로 매우 빠르기 때문에, Counting 되는..
Verilog Course Review - 01. Adder
·
AI SOC COURSE/VERILOG 기초
1. TitleBasic Gate & Adder using GPIO2. Category"Verilog", "BASYS3", "VIVADO" 3. Key Concepts Instantiation  4. Setup1) Design Sources : 실제 하드웨어 동작을 정의하는 코드 2) Constraints : 설계가 실제 FPGA 하드웨어에서 올바르게 동작하도록 하기 위해 설정된 제약 조건 파일 3) Simulation Sources : 설계된 회로의 동작을 시뮬레이션하고 검증하기 위한 테스트벤치와 입력 데이터 5. Code Review module full_adder_4bit( input [3:0]a, b, input cin, output [3:0]sum, output carry)..