・
수강평 1
・
평균평점 5.0
안녕하세요 최근에 강의를 구매한 수강생입니다. 다름이아니라 이러한 강의교재를 어떻게 활용해야하는지 모르겠습니다. 그저 소스코드를 직접 타이핑하고 왜 이렇게 코딩을했는지 의문을 가지고 추궁을 하면 코딩 실력이 향상이 되는건가요? 구체적인 학습방법을 알려주신다면 정말 감사하겠습니다.
안녕하세요~ verilog, fpga를 배우는 것은 상위 언어(C, App, Java, 등)와는 매우 다릅니다. verilog, fpga는 HW와 매우 밀접하게 연관이 있습니다. 즉 HW 자체를 설계하는 것입니다. 예를 들어, UART 통신을 생각해 보면, 상위 Application단에서는 시리얼 프로토콜을 만들고 통신을 구현합니다. fpga 단에서는 UART Controller 자체를 설계하고 구현합니다. fpga 단에서 구현되는 것은 Main Clock 단위에서 구현됩니다. 매 Clock마다 신호들이 어떻게 구현되는지를 구현하는 것입니다. Application 에서는 Protocol level에서 코드를 구현합니다. verilog, fpga를 공부하려면 타겟보드에서 코드를 구현하고 구현된 코드대로 HW가 동작하는 것을 확인하고, 물론 코드를 구현/검증하기 위해서는 simulation을 통하여 매 clock 마다 신호들이 맞게 동작하는지를 확인해야 합니다. verilog, fpga를 배우려면, 단순히 study 차원에서 하는 것은 크게 의미가 없을 수도 있습니다. 가장 좋은 방법은 기본적인 기능들을 익히고 (자신이 마음대로 코드를 구현하고, 툴을 사용하는 것을 익혀야 합니다) 실제 프로젝트를 해가면서 자신이 무언가를 새롭게 구현하는 것이 좋습니다. 본 강의는 실제 프로젝트를 진행하기 위한 선행 기술들을 학습한다고 보시면 좋습니다. 실제 프로젝트를 하기 위해서는 verilog, fpga, 툴 등을 마음대로 다루는 것이 매우 중요합니다. verilog로 코딩하고, simulation으로 검증하고 (오류가 있으면 코드 수정해서 다시 simulation 으로 검증하고), 구현한 내용을 보드에 올려서 동작을 확인하는 이 과정을 어느 정도 익혀야 합니다. 본 강의 내용을 어느 정도 익히면, 실제 실무에서 작은 것부터 프로젝트를 진행해 나갈 수 있습니다. 제가 최근에 진행한 프로젝트는 PC에서 USB 를 통해서 들어오는 이미지 데이터를 FPGA에서 Frame Converter(DDR3)를 구현해서 LVDS로 데이터를 출력하는 내용이었습니다. 이러한 것들을 구현하기 위해서는 본 강의의 내용과 DDR3 Contoroller를 구현하고, LVDS에 대한 이해가 있어야 가능합니다. 아무튼 verilog, fpga를 배우는 과정이 쉽지는 않습니다. 그러나 기본적인 기능들을 잘 익히고, 실무에서 프로젝트들을 진행하면서 여러가지 기술들을 습득해 나가시다 보면 좋은 개발자가 되실 것이라 생각합니다. 인내심을 가지고 배우시길 바랍니다. 감사함니다.
우선, 상세한 답변 정말 감사합니다. 앞으로 강의를 수강하면서 궁금한 점이나 막히는 부분이 생기면, 여기에 질문을 드려도 괜찮을까요? 혹시 메일이나 연락주고받기 편한 방법이 있으시면 알려주시면 감사하겠습니다.
메일로 주셔도 되고, 제가 운영하는 카페에 질문을 올려주셔도 됩니다. 메일 : alex@ihil.co.kr 카페 : Cafe.naver.com/worshippt 감사합니다~
네넵 알겠습니다. 오늘도 좋은 하루 보내십시오 감사합니다.