inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

[FPGA 4강] PS 영역에 대해

해결된 질문

662

작성자 없음

작성한 질문수 0

1

안녕하세요.

강의를 보면서, Processing system에 대해 궁금증이 생겨 질문 드립니다.

일단 저는 Quartus로 Verilog HDL을 조금 배운 학부생 3학년이고, Xilinx Tool은 완전히 처음 접해봅니다. 원래 Vitis HLS에 관심이 생겨서 알아보다 이 강의를 수강하기에 이르렀네요.

Vitis에서 C Code를 작성하는 이유가 궁금합니다.

Zynq에는 ARM Cortex A9 Processor가 있기 때문에, Vitis에서 C Code를 작성해도 FPGA에 들어갈 수 있는 것인가요? C Code가 Compile되어 ARM Assembly Code가 되고, 그 Assembly Code가 ARM Cortex A9 Processor에서 돌아가는 것인지 궁금합니다.

Vitis HLS에서는 C Code가 Logic Gate로?

제가 알기로는 Vitis HLS가 C/C++ Code를 Verilog HDL로 바꾸어준다고 이해하고 있는데, 이 이해가 맞나요?

그러면, 위에서 말한 것처럼 Vitis에서 작성한 C Code와 Vitis HLS에서 작성한 C Code는 완전히 다른 것인가요?

 

양질의 강의 감사드립니다.

fpga 임베디드

답변 1

1

설계독학맛비

안녕하세요 :)

Vitis 는 Xilinx 에서 만든 Unified SW Tool 입니다.

Vitis HLS 는 Vitis 내의 기능 중 하나 이고요.

그렇기 때문에, Vitis 에서 C Code 를 작성하는 것은 자연스럽습니다. (물론 환경을 셋업을 하면, vscode 등에서 코딩할 수 있어요. 환경을 꾸미기는 개인 문제이니 넘어가겠습니다.)

image위 내용은 맞습니다.

 

Vitis HLS에서는 C Code가 Logic Gate로?

제가 알기로는 Vitis HLS가 C/C++ Code를 Verilog HDL로 바꾸어준다고 이해하고 있는데, 이 이해가 맞나요?

-> 맞습니다. 하지만 HLS 는 HW 를 이해한 사람이 사용해야 합니다.

HLS 관련 내용을 영상으로 만든 적이 있고요. 다음 유튭 영상을 참고해주세요.

https://youtu.be/eHzRajpFqPc

https://youtu.be/bN498OGPCew

그러면, 위에서 말한 것처럼 Vitis에서 작성한 C Code와 Vitis HLS에서 작성한 C Code는 완전히 다른 것인가요?

네 맞습니다. Vitis HLS 를 위한 C code 를 작성하셔야합니다. HLS 는 Verilog HDL 로 기술하는 방법보다 High Level 의 방법일 뿐입니다. 결국 HW 를 설계한다는 일의 본질은 변하지 않았죠. 그래서 HW 를 이해한 사람이 사용해야 한다고 말씀드렸어요. (HW 를 몰라도 결과가 나올 순 있지만, 이는 좋은 결과물이 아닐 가능성이 매우 높습니다. 현업 제품에 절대로 쓰일 가능성이 없다는 이야기에요)

=========================

제 강의의 수강자시기도 하시니, 몇자 적어보겠습니다 :)

학부생이시라고 하셨으니 HLS 보다는 Verilog HDL, FPGA 를 공부하시는 것이 취업이나 추후 학업 생활에 도움이 되실꺼에요.

지극히 제 개인적인 생각이고요.

당연히 공부하고자 하는 내용은 본인의 자유이니, 즐거운 일을 하시면 되겠습니다.

즐공하세요 :)

1

hamoci

의문이 말끔하게 해결되었습니다.

좋은 말씀 감사합니다.

UART0, 1 중 선택

1

58

2

datamoverbram모듈질문

1

66

2

vitis 설치엣 alveo kria versal 등 옵션을 끄고 설치를 했습니다.

1

101

2

vitis 설치 관련 질문 있습니다!

1

87

2

FPGA 공식문서 읽는법

1

99

2

보드 추가의 클릭창이 없습니다.

1

72

2

Edit in IP Packager에서 코드 수정 후 IP 수정하면 simulation에서 수정된 코드로 작동이 안됩니다

1

83

2

BRAM의 Read / Write를 다 수행했는지 확인할 때 사용되는 num_cnt / i_num_cnt 관련 질문

1

108

1

Vitis 코드 작성

1

130

2

vivado 및 vitis 리눅스 환경 설치 관련 질문드립니다.

1

295

3

[9장 led 점등 시간 제어 불가]

1

83

2

Platform Invalid 오류

1

153

3

WSL 설치 관련 문의드립니다!!

1

98

2

Vivado 툴, 파일 질문드립니다!

1

157

2

9장 LED 점등 안됨

1

113

3

Edit in IP Packager 이후에

1

88

1

Fpga 로직

1

92

2

pmu-fw is not running

1

128

2

Create Project에 대해서 궁금해요

1

91

2

장치관리자 USB 포트

1

102

2

FPGA 7장 AXI_LITE I/F질문

1

91

1

bram mover에서 합성할때

1

80

2

타이밍 위반 질문

1

81

2

rvalid 초기화

1

68

2