inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

[FPGA 9장] User 가 원하는 점등시간을 입력받아서 LED 점등하기- 코드리뷰편 (AXI4-Lite 를 이용한 PS <-> PL 간의 통신 방법 익히기1)

design_1_wrapper를 만드시는 이유

754

choisi

작성한 질문수 10

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
강의 도중에 최상단은 verilog 파일이여야 한다며 design_1_wrapper를 만드시는 데요 이렇게 하는 이유가 무엇인가요? (Create Block Design으로 생성된 input output 포트를 연결하기 위해서 인가요?)

임베디드 fpga

답변 1

0

설계독학맛비

안녕하세요 :)

다음링크가, 답이 될 것 같아요 :)

https://www.centennialsoftwaresolutions.com/post/why-do-i-need-to-run-create-hdl-wrapper

번역기가 열일을 했는데, 적어보면.

GUI 로 만드신, BD(블록 디자인)를 직접 합성할 수 없기 때문입니다.

BD(블록 디자인) 소스를 직접 합성할 수 없기 때문에 블록 디자인을 둘러싼 최상위 (Top) HDL 래퍼가 필요합니다

 

이 말을 재해석 해보면,  Top 이 되어야할 모듈은, HDL 로 작성이 필요합니다.

GUI 로 만드신 BD (Block Design) 는 HDL 이 아니죠. HDL 로 만들기 위해서 wrapper 과정을 한거구요. 그 wrapper 가 모듈의 Top 으로 사용되었습니다.

참고로 더 적어드리면,

BD 에서 만든 wrapper 가 무조건 Top 은 아닙니다. 그 wrapper 를 감싸는 Top 을 HDL coding 을 통해서 만드실 수 있어요.  제 강의에서는 별도로 Top 을 만드는 과정이 없었구요. BD 에서 만든 wrapper 를 Top 으로 사용했습니다.

즐공하세요 :)

 

UART0, 1 중 선택

1

59

2

datamoverbram모듈질문

1

66

2

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

1

103

2

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

1

89

2

FPGA 공식문서 읽는법

1

101

2

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

1

75

2

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

1

85

2

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

1

109

1

Vitis 코드 작성

1

131

2

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

1

298

3

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

1

84

2

Platform Invalid 오류

1

154

3

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

1

103

2

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

1

163

2

9장 LED 점등 안됨

1

114

3

Edit in IP Packager 이후에

1

90

1

Fpga 로직

1

93

2

pmu-fw is not running

1

133

2

Create Project에 대해서 궁금해요

1

93

2

장치관리자 USB 포트

1

105

2

FPGA 7장 AXI_LITE I/F질문

1

93

1

bram mover에서 합성할때

1

82

2

타이밍 위반 질문

1

83

2

rvalid 초기화

1

69

2