안녕하세요.
지난 질문의 연장선상에서 질문을 드립니다.
요약하면, 말씀주신 답변대로 ILA Instantation을 시도중입니다.
Instantation 시키기 위하여, 두가지 방법을 시도해보았습니다. - [1]&[2]
그리고 두번째 방법에 대해서는 두가지 옵션을 달리하여 시도해보았습니다. [2]&[3]
하지만 그럼에도 불구하고 probe0(=mem0_addr)에 대한 waveform 조회에 실패해서
(이것이 궁극적인 목적인데, 일주일 가까운 시간동안 여러가지를 시도중인데 해결이 되지 않네요) 이러한 debugging (verification?) 상황에서 제가 무엇을 놓친것인지 (또는 어떤 개념을 알아야 하는지) 찾을 수 없어 여쭙습니다.
(해당 debugging은 ila를 응용하는 여러 상황에서 반복적으로 쓰일 것 같아 꼭 해결하고 넘어가고 싶습니다. 향후 배운것을 응용해서 계속해서 프로젝트를 진행해나가기 위해서, debugging&verification infra는 꼭 필요하다고 생각했습니다.)
감사합니다.
아래에는 다음과 같이 프로젝트를 진행한 상황을 작성해두었습니다.
[1] 공식문서를 참고
[2] instantation 시키고 확인시도
[3] 동일한 방법을 하되, advanced trigger 옵션을 조절하여 확인재시도.
---
이 방법을 공식문서에서 찾아서, 튜토리얼을 직접 해보고 있었으나
vivado 2021.1과 2022.1과의 충돌문제 해결에
windows pro 버전이 요구되어 home 버전인 저는 잠시 홀딩했습니다.
[2] 그래서 찾은 다음 방법은, ipcore를 이용해서 ip제작전에 코드상에서 추가해주는 것입니다.
(1) (좌측 바에서 'Lauguage Templates' 하단에 있는) 'Ip Catalog'에서 ILA를 호출했습니다.
[보고싶은 신호는 하나이므로 probe0만 사용, 보고싶은 신호가 32bits이므로 초소 1024bits사용.]
(2) Top 모듈인 lab13_matbi.v 파일에서 Instantation & Wiring (+ IPCore가 Hierachy에 맞게 위치하게 변경된 것 또한 확인.)
[3] 그리고 나서 IP -> SW -> HW의 프로세스를 밟았습니다. Triggering을 통한 확인 단계까지 정상적으로 진행한 뒤,
Trigger를 조회하는 화면에서 'probe0'가 검색될 수 있길 기대했는데, 검색되지 않았습니다.
우선 여기까지 하나의 파이프라인이며
한가지를 추가적으로 수정한뒤 실험을 다시한번 진행해보았습니다.
(ILA 단계에서의 검증이라, 프로젝트를 몇개를 만들었는지 모를정도로 많이 해봤네요ㅠㅠ)
[3] IPCore에서 ILA.xci를 가져오는 과정에서,
Customize IP > Capture Control - OFF (유지, 캡쳐와 다름) & Advaced Trigger - ON (변경) 을 해주었습니다.
과정을 되짚어보다가, ILA Triggering을 활용하기 위해서 ON 해주어야 하는 옵션이 아닐까 추측했습니다.
하지만 그렇게 했음에도 불구하고 결과는
probe0는 여전히 조회되지 못하고
오히려 기존에 동작하던 ILA Trigger 시스템이 동작하지 않고 붕괴되는 상황이 발생했습니다.
(동작하지 않고 붕괴됨 = 원래는 한번 클릭하면 status가 50%가 된 상태로, vitis terminal에서 요구되는 input받을때까지 대기했다가 진행되는 것, 그것이 동작하지 않음.)
이상으로 상황설명을 마칩니다.
(참고적으로 RTL Schematic 상에서 ILA debuggiing module은 정상적으로 생성&연결 되었음은 확인하였습니다.)
2022. 08. 02. 07:13
넵 알겠습니다. 감사합니다.
'아 이거에서 막혔구나~ 이거 이렇게 하면 되는데' 수준으로 간단한 부분일까 싶어 여쭈어보았었습니다. ㅎㅎ