이런 걸
배워요!
Verilog RTL 설계
FPGA 설계
simulation 검증
타겟 보드에서 검증
Verilog HDL은 FPGA Program 언어입니다. FPGA 뿐만 아니라 ASIC도 만들 수 있어요. Verilog에 관심이 있거나 현업에서 스킬 업을 하고 싶은 개발자 분들이 많이 있습니다.
그러나 Verilog, FPGA는 매우 특수한 분야여서 자세히 설명되어 있는 강의를 찾는 건 매우 어렵습니다. FPGA 제조사에서 문서를 제공하지만 너무 많은 문서에 영어로 되어 있어서 어떤 문서를 봐야 하는지도 알 수 없습니다.
저는 20년 이상 현업에서 개발자로 일하다가 현재는 1인 기업을 운영하고 있습니다. 제가 지금까지 쌓아온 지식들을, 현업에서 개발자로 살아가는 분들이나 개발자의 길을 준비하시는 분들에게 전해드리고 싶어 강의를 제작하게 되었습니다.
강의는 총 4개로 구성되어 있습니다.
본 강의는 첫번째 강의로 가장 중요한 강의입니다. 처음 접하시는 분들도 쉽게 따라할 수 있도록 툴의 사용법과 코드에 대한 설명, 코드를 simulation 하고, 개발보드에서 결과를 확인해 볼 수 있도록 구성되어 있습니다.
능력있는 개발자가 되는 것을 쉬운 일이 아닙니다. 그만큼 노력이 필요합니다. 그 어려운 과정속에 친절한 Guide가 있는 것은 매우 좋은 일입니다.
본 강의를 자신의 레퍼런스로 삼으시길 바랍니다. 본 강의의 내용을 거의 외우다시피 자신의 것으로 만드시길 바랍니다. 좋은 개발자는 눈으로 되는 것이 아닙니다. 직접 코딩해보고 simulation으로 확인하고, 또 보드에서 원하는 대로 동작하는지 검증하는 과정을 수없이 반복해야 합니다.
본 강의는 매우 많은 내용을 담고 있습니다. 숙련된 개발자가 아니면, 한번에 모든 내용을 이해하기에는 어려움이 있을 수 있습니다. 반복해서 코딩하고, simulation 하고, 보드에서 결과를 확인하고 이러한 과정을 통해 조금씩 자신의 것으로 만들어 갈 수 있을 것입니다.
본 강의의 내용을 완벽히 이해하고 활용할 수 있다면 매우 훌륭한 개발자가 될 수 있습니다.
강의에서 이해가 안 되는 부분은 인프런 커뮤니티 또는 제가 운영하는 카페를 통하여 질문을 올려주시면 답변해 드리도록 하겠습니다.
본 강의는 전자문서 형식으로 구성된 텍스트 강의입니다. 강의를 수강하시는 분들께는 강의에 설명되어 있는 모든 소스 파일을 제공합니다. 강의는 추후 동영상으로 제작 예정입니다.
본 강의에서 사용하는 Tool은 vivado 2018.3 입니다.
본 강의의 실습에 사용되는 보드는 강의를 위해 자사에서 개발한 HIL-A35T 입니다. 자사에서 운영하는 스마트 스토어에서 구매할 수 있습니다(스마트 스토어 링크 : https://smartstore.naver.com/ihil)
강의 자료는 '섹션 0 - 자료 공유 링크 - 첨부파일'에서 다운받을 수 있습니다.
1강 : Verilog FPGA Program 1
기본 기능 구현
2강 : Verilog FPGA Program 2
Microblaze
3강 : Verilog FPGA Program 3
DDR Controller
4강 : Verilog FPGA Program 4
MCU Porting
기초 : Verilog를 이용한 FPGA 활용 기초
Arty A7-35T 보드
Verilog FPGA Program 1 (Arty A7-35T)
Verilog FPGA Program 2 (MicroBlaze1, Arty A7-35T)
Verilog FPGA Program 2 (MicroBlaze2, Arty A7-35T)
Verilog FPGA Program 3 (DDR Controller, Arty A7-35T)
Verilog FPGA Program 4 (MCU Porting, Arty A7-35T)
Zynq mini 7020 보드
Verilog FPGA Program 1 (Zynq mini 7020)
Verilog ZYNQ Program1 (Zynq mini 7020)
HIL-A35T 보드 (강의를 위해 자사에서 개발함)
Verilog FPGA Program 1 (HIL-A35T)
Verilog FPGA Program 2 (MicroBlaze, HIL-A35T)
Verilog FPGA Program 3 (DDR Controller, HIL-A35T)
Verilog FPGA Program 4 (MCU Porting, HIL-A35T)
Vivado 툴의 사용법
Verilog 코딩
Tech bench 만들고 Simulation 하기
결과를 보드에 다운로드해서 확인하기
섹션 1. HW 구성
섹션 2. Counter를 이용한 LED 제어
가장 기본적인 counter를 이용하여 LED를 제어합니다. 프로젝트를 생성하고 코드를 추가하고 Bitstream을 생성하고 보드에 다운로드해서 결과를 확인하는 전체 과정을 이해합니다.
섹션 3. Simulation
코드를 검증하기 위한 시뮬레이션 과정을 이해합니다.
섹션 4. SPI Master 구현
SPI Master를 구현합니다. 스펙을 정하고 코드를 구현합니다.
Verilog에서 아주 중요한 SM(State Machine)을 구현합니다.
섹션 5. SPI Slave 구현
SPI Slave를 구현합니다.
섹션 6. SPI 통신 구현
SPI Master/Slave간의 통신을 구현하고 보드에서 결과를 확인합니다.
섹션 7. Xilinx IP
Xilinx에서는 많은 IP들을 제공합니다. 그 중에서 많이 사용하는 Clock, Memory 관련된 IP들을 설명합니다.
섹션 8. Uart Controller 구현
Uart Tx, Rx Controller를 구현하고, PC와 Loopback 통신을 구현합니다.
섹션 9. I2C Controller 구현
Serial 통신 중에서도 난이도가 높은 I2C Controller를 구현합니다.
섹션 10. NRZLDecoder 구현
NRZL은 디지털 전송을 위한 라인 코딩 방식 중 하나입니다.
응용편으로 추가되었습니다.
섹션 11. FMC Interface 구현
FMC (Flexible Memory Controller) Interface를 구현합니다.
2개의 Clock을 사용할 때 자주 발생하는 Timing Violation을 어떻게 해결하는지에 대한 내용이 포함되어 있습니다.
학습 대상은
누구일까요?
FPGA에 관심 있으신 분
Verilog에 관심 있으신 분
Verilog 레벨업을 원하시는 분
FPGA 레벨업을 원하시는 분
선수 지식,
필요할까요?
Verilog HDL
FPGA
저는 지난 20여년 동안 대기업, 중소기업에서 개발자로 일해왔고
현재는 작은 기업의 대표로 있습니다.
주요 경력사항은
Verilog HDL을 이용한 FPGA 설계
CCTV용 ISP ASIC 개발 (약 10년)
OLED Display 검사장비 개발 (약 3년)
FPGA를 이용한 장비 개발
MCU FW
STM32
PIC32
AVR, ATMEGA
DSP (TI)
Windows Application Program
Visual Studio MFC, C++
입니다.
전체
337개
가 제공되는 강의입니다.