강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của pyj41642311
pyj41642311

câu hỏi đã được viết

설계독학맛비's Thiết kế gia tốc HW thực tế bằng FPGA (từ điều khiển LED đến thiết kế gia tốc Fully Connected Layer)

[FPGA chương 12] Thử Write/Read vào bộ nhớ thay vì Register bằng AXI4-Lite I/F - Phần đánh giá code

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

Viết

·

70

1

안녕하세요 🙂

[1. 질문 챕터] : FPGA 12장 Simulation과 Edit in IP Packager 부분

 

[2. 질문 내용] : 안녕하세요 맛비님! 강의 잘 수강하고 있습니다. 다름이 아니라 FPGA 12장에서 공부를 하던 도중 처음에는 맛비님이 알려주신 코드를 그대로 사용해서 IP를 수정해서 update IP를 하고 시뮬레이션을 하니 결과가 정상적으로 나왔습니다. 그 후에, 다시 조금 코드를 간단히 수정해보고 제가 생각한 결과와 맞게 나오나 결과를 보고싶어서 같은 방식으로 Edit in IP Packager에 들어가서 코드 수정하고 update IP까지 했는데, 결과가 그대로 이길래 이상해서 시뮬레이션 창 내부에서 Source코드를 확인하니 내부 코드 수정이 전혀 안되어있더군요. 분명 Edit in IP Packager로 들어가면 코드가 수정되어 있는데, 제가 시뮬레이션 하려고 시뮬레이션 창으로 들어가면 그 때 사용되는 코드가 제대로 수정이 안되어 있고 기존의 코드를 사용 중에 있어서 이 부분 어떻게 해결하면 좋을지 싶습니다. 나중에도 분명히 시뮬레이션 결과를 보고 다시 코드를 수정하고 싶을 때가 있을 텐데, 이럴 때 어떻게 코드 수정된 부분이 시뮬레이션에 반영되게 하는 지가 궁금합니다. 감사합니다!!

 

[3. 시도했던 내용, 그렇게 생각하는 이유] : GPT에게 물어보니 파일 path가 꼬이거나 .gen 파일을 사용해서 업데이트된 IP를 사용하는 것이 아닌 기존 파일을 사용하는 것 같다고 하던데 제가 생각한 것 보다 그냥 코드 수정하는게 너무 복잡한 것 같아서 이상해서 질문드립니다. 감사합니다!

 

 

fpga임베디드

Câu trả lời 2

0

semisgdh님의 프로필 이미지
semisgdh
Người chia sẻ kiến thức

안녕하세요 🙂

이 문제는 Edit in IP Packager에서 수정한 코드가 Vivado 프로젝트의 시뮬레이션 경로에 제대로 반영되지 않아서 생기는 현상입니다. 핵심은 IP를 수정하고 update IP만 한 것으로는 simulation source 경로가 자동으로 갱신되지 않는다는 점 입니다.

Vivado의 시뮬레이션은 기본적으로 “project 내에 복사된 simulation용 wrapper 파일”을 바라보고 동작합니다. 즉, IP Packager 안에서 코드를 수정해도, update IP를 한 뒤에 generate output products → generate simulation sources를 다시 해줘야 Vivado가 수정된 파일을 simulation 경로로 반영합니다.

그래서 아래 순서로 정리드릴게요.

  1. Edit in IP Packager에서 수정 후 저장

  2. Packager 창 닫을 때 반드시 “Package IP → update repository”까지 완료

  3. Vivado로 돌아가서 해당 IP 선택 후

    • 오른쪽 클릭 → “Regenerate Output Products”

    • 다시 오른쪽 클릭 → “Generate Simulation Sources”

  4. 그 뒤 simulation을 다시 실행

이렇게 해야 Vivado가 기존 simulation 디렉토리 안의 .v 파일을 새로 덮어씁니다.

만약 그래도 반영이 안 된다면, simulation 폴더(sim_1/simulations/ip_name)를 직접 삭제한 후 위 단계를 다시 하면 됩니다. Vivado가 새로 복사하면서 최신 IP 코드로 시뮬레이션을 돌립니다.

그리고 이런 문제를 반복해서 겪지 않으려면, IP를 수정할 때마다 Vivado에서 Tools → Report IP Status로 확인하세요. “Out of date”가 표시되는 IP는 반드시 regenerate를 해야 simulation이 정상 반영됩니다.

정리하면, update IP만으로는 simulation 쪽이 갱신되지 않고, generate output + generate simulation sources 두 단계를 꼭 수행해야 수정된 코드로 동작합니다.

즐공하세요!

pyj4164님의 프로필 이미지
pyj4164
Người đặt câu hỏi

헤매고 있었는데 친절하고 자세하게 답변해주셔서 감사합니다!

 

0

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

Edit in IP Packager에서 코드를 수정한 후에 IP를 업데이트하고 시뮬레이션을 할 때, 수정된 코드가 반영되지 않는 문제를 겪고 계시군요. 이 문제는 IP 수정 후의 시뮬레이션 환경 설정 또는 파일 경로 혼동에서 발생할 수 있습니다.

해결 방법 및 팁:

  1. 파일 경로 및 버전 확인: 먼저, 수정한 IP가 제대로 경로에 존재하는지, 그리고 올바른 버전의 IP를 사용하고 있는지 확인하세요. Vivado 내에서 시뮬레이션을 실행할 때 특정 폴더나 환경은 이전 버전의 IP를 참조할 수 있습니다.

  2. 시뮬레이션 초기화: 때로는 시뮬레이션 환경을 초기화하거나 재설정해야 새로 수정된 데이터를 가져올 수 있습니다. 기존의 시뮬레이션 결과나 환경설정이 남아있을 수 있으므로, 환경 초기화 후 다시 시뮬레이션을 수행해 보세요.

  3. IP를 다시 불러오기: IP 수정이 제대로 반영되지 않았다면, 프로젝트 내의 IP 사용을 참조하는 설정을 재확인하고, IP를 일단 제거한 후 다시 추가해보는 방법도 있습니다.

  4. Generate Output Products: IP 수정 후, Generate Output Products 옵션을 사용하여 모든 아티팩트 파일을 업데이트해보세요. 이 과정을 통해 IP의 모든 관련 파일이 재생성됩니다.

아래는 비슷한 문제에 대한 강의 내 다른 질문 및 답변 링크입니다:
- FPGA 9 장 IP 제작관련 질문: IP 제작 및 사용 중 발생할 수 있는 일반적인 질문과 해결 방법에 대한 정보.
- 8장 myip: Vivado 환경에서의 IP 관련 문제 해결에 대한 다른 유용한 피드백.

이외에도 추가적으로 궁금한 점이 있다면 언제든지 질문 주세요. 곧 지식공유자께서도 추가적인 도움을 주실 수 있습니다.

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

Hình ảnh hồ sơ của pyj41642311
pyj41642311

câu hỏi đã được viết

Đặt câu hỏi