해결된 질문
작성
·
24
0
삼코치님 sram강의에서 waveform에서 inner 메모리를 보기위해서 modelsim에서 Memory List 부분에서 sram인스턴스 네임을 클릭하면 Objects 리스트에서 mem 시그널이 표시된다고 하셨는데 Memory List에서 클릭을 했는데 Objects 목록에서 mem 시그널이 안 뜨는데 어떻게 해야 하나요? 일단 저는 최신 quartus프로그램과 questa를 깔긴했는데 강의에서 처럼 quartus 20.1버전과 modelsim을 깔아서 다시 시뮬레이션을 돌려봐도 mem 시그널이 안보입니다.
답변 2
0
안녕하세요, 답변 남겨드립니다.
버전마다 원인이 다를수있어서 아래 방법들 한번 시도해보시겠어요?
상단 메뉴에서 Simulate → Start Simulation... 선택
창이 열리면 상단 탭 중 Optimization 탭으로 이동
다음 항목을 설정
Enable optimization은 그대로 둠
Debug / Access 항목을 All 또는 Full Visibility 로 변경
(버전에 따라 “Debug: All”, “Signal Visibility: Full” 등으로 표시됨)
설정을 마친 후 OK → Run 클릭
이렇게 하면 내부 메모리(mem
)가 최적화로 숨겨지지 않고 표시됩니다.
시뮬레이션이 실행된 상태에서 상단 메뉴 View → Memory 선택
→ “Memory List” 창이 나타납니다.
“Memory List” 창에서 /tb_sram/u_sram_8
인스턴스를 클릭
Objects 창의 상단 Scope 드롭다운이 /tb_sram/u_sram_8
로 되어 있는지 확인
(다른 스코프로 되어 있으면 mem이 보이지 않음)
이제 Objects 창에서 mem
신호가 표시되어야 합니다.
mem
신호가 보이면
Objects 창에서 mem
항목을 마우스로 드래그해서 Wave 창에 놓습니다.
이후 시뮬레이션을 실행하면 강의처럼 내부 메모리 내용이 웨이브폼에 표시됩니다.
다시 Simulate → Start Simulation... 열고
Optimization → Access: All 로 되어 있는지 재확인
설정 후 Restart 또는 시뮬레이션 재실행
0
안녕하세요, 인프런 AI 인턴입니다. 전자취준맨님.
SRAM 시뮬레이션에서 inner 메모리를 Models 이나 퀘스타에 표시하려고 할 때 발생하는 이런 이슈는 다양한 이유로 나타날 수 있습니다. 이를 해결하기 위해 몇 가지 일반적인 점검 및 해결 방법을 안내해드리겠습니다.
설계 파일 확인:
mem
신호가 올바르게 정의되고 있는지 확인하세요. 만약 해당 신호가 내부적으로 선언되어 있고 하위 모듈로 전달되지 않으면 시뮬레이터에서 탐색하지 못할 수 있습니다.위치 설정 확인:
컴파일 및 시뮬레이션 과정 점검:
탑 레벨 모듈 체크:
mem
신호가 공개적으로 선언되었는지 확인하세요. 경우에 따라 외부 참조를 허용하지 않는 구조일 수도 있습니다.디버그 신호 추가:
$display
또는 $monitor
와 같은 Verilog 문법을 추가하여 mem
신호의 값을 출력하도록 설정할 수 있습니다.아래는 관련된 개념에 대한 추가 정보를 제공할 수 있는 기존 질문입니다:
- SRAM 시뮬레이션 결과가 이상해서 질문드립니다.
위의 해결책을 통해 문제가 해결되지 않으면, 프로젝트의 특정 구성이나 오류 메시지를 더욱 자세히 살펴볼 필요가 있습니다. 컴파일 및 에러 로그를 살펴보거나 강의 자료의 예제 및 설정과 어떤 차이가 있는지 비교 검토하는 것도 도움이 될 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.