Verilog FPGA Program 1 (HIL-A35T)

28

이 수강하고 있어요.

초급자를 위해 준비한
[임베디드 · IoT, 프로그래밍 언어] 강의입니다.

Verilog HDL을 이용하여 FPGA 프로그램을 설계하는 강의입니다.

이런 걸
배워요!

  • Verilog RTL 설계

  • FPGA 설계

  • simulation 검증

  • 타겟 보드에서 검증

20년 이상 경력자가 알려주는 FPGA 설계 📑

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 - 자료 공유 링크 - 첨부파일'에서 다운받을 수 있습니다.

📢 강의는 총 4개로 구성되어 있습니다. 본 강의는 1강 입니다.

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 활용 기초

📢 강의는 실습보드에 따라 다릅니다. 강의 수강 시 주의하세요.

  1. 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)

  2. Zynq mini 7020 보드

    • Verilog FPGA Program 1 (Zynq mini 7020)

    • Verilog ZYNQ Program1 (Zynq mini 7020)

  3. 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)

이런 걸 배워요 📚

  1. Vivado 툴의 사용법

  2. Verilog 코딩

  3. Tech bench 만들고 Simulation 하기

  4. 결과를 보드에 다운로드해서 확인하기

상세 커리큘럼 🙋‍♀️

섹션 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

안녕하세요
alex입니다.

저는 지난 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

강의 게시일: 2023년 10월 27일
마지막 업데이트일: 2023년 10월 27일

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!