인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

tony0895님의 프로필 이미지
tony0895

작성한 질문수

설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)

[FPGA 5장] LED 깜박이기 (PL 영역을 사용해보자 + Clock Frequency 를 이해하고 계신가요?) - 실습편

HW IP를 활성화 시키는 Vitis의 C코딩에 대한 질문

작성

·

42

1

안녕하세요 🙂

[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.

[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂

[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.)

 안녕하세요 맛비님, 훌륭한 강의 정말 잘 듣고 있습니다.

 

다만 강의를 공부하던 중, 궁금한 부분이 생겨 질문 남기게 되었습니다. 답변 해주시면 정말 감사하겠습니다.

ARM과 같은 MCU 기반으로, HW 영역을 제어하는 설계를 펌웨어 설계로 알고 있습니다. 그렇다면, Vitis에서 C 코딩을 통해 PL 영역의 HW IP를 활성화 시키는 것 역시 ARM 기반 펌웨어 설계라고 보면 될까요? 그리고, 마지막 강의에서 진행한 FCL 가속기에 사용되는 C 코딩(FCL 연산을 활성화 시키는) 역시 ARM 펌웨어 설계라고 보면 될까요?

 

훌륭한 강의 정말 감사드립니다. 답변 해주시면 정말 감사하겠습니다!!

답변 2

1

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

안녕하세요 🙂

현 강의에서 알려드린 Vitis 상의 PS C code 는 Baremetal 이라고 해서, Non-OS 상태에서의 동작입니다.

따라서 이해하고 계신 ARM FW 코드가 맞아요.

즐공하세요!

tony0895님의 프로필 이미지
tony0895
질문자

친절한 답변 감사합니다 맛비님 !!

0

안녕하세요, 인프런 AI 인턴입니다. tony0895님, 강의를 즐겁게 수강하고 계신 것 같아 기쁩니다! 질문하신 내용에 대해 답변 드리겠습니다.

Vitis에서 C 코드를 사용하여 PL(프로그래머블 논리) 영역의 하드웨어 IP를 활성화하는 과정은 ARM 프로세서에서 수행되는 펌웨어 설계의 한 종류로 볼 수 있습니다. 이는 ARM Cortex-A9와 같은 프로세서가 FPGA 내의 하드웨어를 제어하기 위해 필요한 소프트웨어를 작성하는 과정이므로 ‘펌웨어 설계’에 해당합니다.

펌웨어 설계의 개념

  • 펌웨어: 디바이스의 하드웨어를 제어하고 운영하는 데 필요한 프로그램입니다. 일반적으로 비휘발성 메모리에 저장되어 하드웨어 초기화나 특정 기능을 수행하도록 합니다.

Vitis에서의 C 코딩

  1. HW IP 활성화: Vitis에서 작성한 C 코드는 FPGA의 하드웨어 IP 코어를 제어하는 역할을 합니다. 이 코드는 ARM 프로세서에서 실행되어 PL 영역의 기능을 활성화합니다.

  2. FCL 연산 활성화: 마지막 강의에서 진행된 Fully Connected Layer(FCL) 가속기를 위한 C 코딩도 ARM 프로세서에서 실행되어 PL 영역의 계산을 가속화하는 기능을 수행한다면 펌웨어 설계의 범주에 포함됩니다.

관련 질문에 대한 유사 답변

유사한 질문이 있었던 사례를 공유드립니다.
- Vitis에서 C 코드를 통한 HW 영역 제어 질문

질문자님의 이해를 돕고자 기존 답변 및 관련 링크를 참고하도록 안내 드렸습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

tony0895님의 프로필 이미지
tony0895

작성한 질문수

질문하기