inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

[15장] read cycle

275

완두콩

작성한 질문수 9

1

- 강의 내용외의 개인 질문은 받지 않아요 (개별 과제, 고민 상담 등..)
- 저 포함, 다른 수강생 분들이 함께보는 공간입니다. 보기좋게 남겨주시면 좋은 QnA 문화가 될 것 같아요. (글쓰기는 현업에서 중요한 능력입니다!)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

화면 캡처 2022-12-08 195016.png1cycle delay가 왜 미반영 되는지 모르겠어서 질문드려요.

감사합니다.

fpga 임베디드

답변 1

0

설계독학맛비

안녕하세요 :)

좋은 질문 감사합니다.

결론은 제가 안일했습니다. 궁금해 하실 만 하고요. Sequential logic 인 BRAM 을 ctrl 할때, Clock 동기화의 waveform 을 보기위해선 non blocking 을 사용했어야 옳습니다. 값 확인에 몰두했네요. (아마.. 다른 곳들도 이런 부분들이 남아있을 겁니다. ㅠ)

더 깊게 물어보시면, blocking 문에 따른 시뮬레이터 내부 동작까지 알아야 더 자세한 설명이 가능할 것 같은데요.
이 부분은 제 능력밖이다 미리 말씀드립니다. :)

다음정도 수준의 답이 최선이네요.

==========

blocking assign (=) 과 non-blocking assign (<=) 의 차이로 보여집니다.

해당 Test bench 에 보시면 제가 blocking assign 으로 코딩을 해놨습니다.

image

이 부분을 다음처럼 non-blocking assign (<=) 으로 변경하시면, 원래의 알고계신 Clock 동기화된 BRAM 동작으로 확인하실 수 있습니다.

imageimage

즐공하세요 :)

HW가속기 설계에서 더 보완할 수 있는 방법이 있을까요?

1

9

2

UART0, 1 중 선택

1

64

2

datamoverbram모듈질문

1

67

2

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

1

104

2

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

1

91

2

FPGA 공식문서 읽는법

1

104

2

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

1

76

2

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

1

87

2

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

1

109

1

Vitis 코드 작성

1

131

2

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

1

298

3

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

1

85

2

Platform Invalid 오류

1

155

3

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

1

104

2

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

1

164

2

9장 LED 점등 안됨

1

115

3

Edit in IP Packager 이후에

1

91

1

Fpga 로직

1

95

2

pmu-fw is not running

1

133

2

Create Project에 대해서 궁금해요

1

94

2

장치관리자 USB 포트

1

106

2

FPGA 7장 AXI_LITE I/F질문

1

93

1

bram mover에서 합성할때

1

82

2

타이밍 위반 질문

1

83

2