강의

멘토링

커뮤니티

Inflearn Community Q&A

goldenyoo33785's profile image
goldenyoo33785

asked

Design Self-Study Tastebi's Practical FPGA-Based HW Accelerator Design (From LED Control to Fully Connected Layer Accelerator Design)

[FPGA Chapter 7] Understanding AXI4-Lite Interface for Controlling HW IP - Code Review

코드 리뷰 중 질문

Written on

·

333

1

안녕하세요,

axi4_lite_v1_0_S00_AXI 코드를 리뷰하는 중 궁금증이 생겨 질문 드립니다.

 

line 237 관련 질문입니다.

line 237이 포함된 for loop이 byte_index = 0 부터 3까지 총 4번을 돌게 되면 결국 하는 일은 

slv_reg0[31:0] = S_AXI_WDATA[31:0] 인데 

(제가 indexed part-selection을 제대로 이해한 것이 맞다면요....)

 

1) 굳이 for loop을 통해 네번으로 나눠서 할당해주는 이유가 있는지 궁금합니다.

2) for문이 합성이 안된다는 이야기를 들은 적이 있는데, 여기서는 합성이 되나봅니다. 혹시 합성이 되는 for문과 안되는 for문의 차이가 있나요?

 

감사합니다.

fpga임베디드

Answer 1

0

semisgdh님의 프로필 이미지
semisgdh
Instructor

안녕하세요 :)

오늘도 어려운 질문들을 준비하셨군요 ㅎ

 

1) 굳이 for loop을 통해 네번으로 나눠서 할당해주는 이유가 있는지 궁금합니다.

질문해주신 저 문장을 이해하시려면 AXI I/F 를 공부하시면 이해를 하실 수 있을 것 같아요.

(아직 반정도? 이해하신 것 같아요.)

Write Strobe 이구요. 단위는 Byte 입니다. (AXI 의 Write Strobe 를 공부해보세요)

data 는 32bit 이니까, 4 byte 이죠? 그래서 네번입니다. (충분히 이해하실 수 있으리라 믿어요 ㅎ)

+ for loop 으로 해야 general 한 코드작성이 가능하겠죠? (가령 bit 가 변경되면?)

 

2) for문이 합성이 안된다는 이야기를 들은 적이 있는데, 여기서는 합성이 되나봅니다. 혹시 합성이 되는 for문과 안되는 for문의 차이가 있나요?

어떻게 for 문을 기술하느냐, 에 따라서 될 수 있고 안될 수 있습니다.

제가 좋아하는 그.. 단어! 케바케라고만 답변드리게되네요 ㅎㅎ

저도 정확하게 어떨때 이렇다 설명을 드리기 어렵기 때문에, (지식이 얕아요 ㅠ.ㅠ 하지만 자주사용합니다.) 링크를 준비했구요. 참고 부탁드려요.

https://electronics.stackexchange.com/questions/350078/question-about-synthesizable-for-loop-and-generate

즐공하세요 :)

 

ps.

질문글을 보면, 질문자님이 이해하실 수 있을 것 같다. 라는 촉? 이 와서, 이정도 설명드리는거에요 ㅎ

혹여나 이해 안되시는 부분 있으시면 댓글주세요 :) 

goldenyoo33785님의 프로필 이미지
goldenyoo33785
Questioner

Write strobe 단어를 듣고 코드를 다시 보자마자 이해 했습니다!! 정말 감사합니다 :)

goldenyoo33785's profile image
goldenyoo33785

asked

Ask a question