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

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

smartheawon님의 프로필 이미지

작성한 질문수

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

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

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

작성

·

72

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 인턴님의 프로필 이미지

안녕하세요, 인프런 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에서 데이터를 읽고 조건에 따른 제어를 수행하는 로직을 추가합니다.

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

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