/*********************************************************/
// 모듈: 고속 uart
// 파일이름:uart.v
// 버젼 : 1.0
// 날짜 : 2026.06.22
// 저자 : 탁 형옥
// 코딩 언어 : verilog
// 문제 내용 (해결해야 할 목표):
클럭 주파수를 변경하면 회로에 반영되어 송신 속도가 개선됨을 확인한다.
호스트 송신 Fifo 정합을 이용하여 유아트가 자동으로 송신하게 만든다.
// 요구되는 언어 기술 (어려운 점):
첫 데이터가 Parity 오류로 Invalid하고 그 이후는 valid 함. 200 MHz 클럭 공급에 대해서 유아트 100Mbps 동작 속도를 갖음.
오류 패턴을 이후에 송신에 정상적으로 송신 확인
Fifo 의 송신 과정을 정상적으로 확인함.
유아트의 수신 데이터를 수신 Fifo에 저장하는 과정이 요구됨
수신 Fifo 의 내용을 read제어 신호에 의해 읽혀가는 과정이 보여줘야함.
// 목표와 기술을 도달하기 위한 알아야 할 기술(문법), 어려운 점, 문제점 극복 과정:
FPGA의 송수신 드라이버 칩이 동작 속도를 지원해야 하며 데이터의 빠른 쓰기 및 읽기에 대한 메모리 읽기 쓰기 시간을 보장해주어야 한다.
// 결과 도출:
400MHz 클럭 공급에 의해 Uart 전송속도 160Mbpps펄스폭 타이밍시뮬레이션 okay
100MHz 클럭 공급에 의해 클럭 마법사를 이용 1GHz 클럭을 만들어 공급함. -> Timing Constraint 를 만족 못함. 하지만 functional simulation에서 정상동작함.
// 기본 목표 과제를 한층 더 깊이 있게 하기 위한 생각:
FPGA가 지원하는 최대 클럭으로 회로를 만들려고 했으난 클럭과 동작 속도 제한으로 시뮬레이션을 못해봄.
// 이용 가능한 분야:
// 기술과 트렌드:
// 설명 :
//
/*********************************************************/