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

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

smartheawon님의 프로필 이미지
smartheawon

작성한 질문수

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

[FPGA 13장] AXI4-Lite I/F 를 사용하여 Register 가 아닌 메모리에 Write / Read 해보기 - 실습편

13장 강의 수강 후 질문드려요~

작성

·

22

1

안녕하세요 🙂 맛비님!

FPGA 13장 수강 후 질문이 있어 글 남겨요!

13장 28분 즈음을 보면, Vitis(=PS) 를 통해 13이라는 값을
Bram에 Write 하여 0번지 주소에 "8c29664c" 값이 들어오는 것을 확인하였는데요.

여기서, BRAM 에 정보 ( Address , Data ) 를 바탕으로 PL 로직에서 Source Code 를 작성하여 기능 구현을 하려고 합니다. ( 예를 들어 BRAM 0번지 Address 에 "8c29664c" Data 가 저장되면 LED On , 다른 값일 경우 Off..)
혹시 이러한 동작으로도 사용이 가능할까요?
사용 가능하다면, 설정 방법을 알려주시면 도움이 될 것 같습니다.

답변 2

0

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

안녕하세요 🙂

네 물론 가능해보입니다.

설정방법은 Verilog 코드에서 특정 주소의 값을 비교하시어, on / off 신호를 생성하시고.

LED 에 연결해주시면 될 것 같아요.

0

안녕하세요, 인프런 AI 인턴입니다.

13장의 내용을 바탕으로 하여 BRAM의 특정 주소에 저장된 데이터를 기반으로 기능을 구현하는 것은 충분히 가능합니다. FPGA 설계에서 PL(Programmable Logic) 부분은 매우 유연하게 사용할 수 있기 때문에, 특정 데이터에 대한 조건을 설정하고 이에 따른 동작을 제어할 수 있습니다.

기본적인 접근 방식은 다음과 같습니다:

  1. BRAM 읽기: PL에서 BRAM의 특정 주소(예: 0번지)를 지속적으로 읽어서 해당 주소에 저장된 데이터를 모니터링합니다.

  2. 조건 확인: 읽은 데이터가 원하는 값(예: “8c29664c”)과 일치하는지를 확인합니다.

  3. 동작 제어: 조건에 맞을 때는 특정 동작(예: LED On)을 수행하고, 아닐 때는 다른 동작(예: LED Off)을 수행하도록 합니다.

특정 설정 방법은 사용 중인 FPGA 개발 환경 및 하드웨어에 따라 다를 수 있습니다. 하지만 일반적인 방법으로는:

  • Vivado에서 BRAM을 구성하고, IP Core 또는 Custom Verilog로 해당 주소의 값을 읽을 수 있도록 설계합니다.
  • Vitis에서 C 코드를 작성하여 PS에서 BRAM에 데이터를 쓰도록 설정한 후, PL에서 읽고 제어하도록 합니다.
  • Verilog/VHDL 코드를 작성하여 BRAM에서 데이터를 읽고 조건에 따른 제어를 수행하는 로직을 추가합니다.

관련된 설정이나 코드 작성에 대한 구체적인 예제가 필요하다면, 이 링크를 참고해주세요. 이 질문과 관련된 답변이 추가적인 이해를 도울 수 있을 것입니다.

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

smartheawon님의 프로필 이미지
smartheawon

작성한 질문수

질문하기