blog.naver.com/doksg/221979883906
[Verilog] Verilator (Open-Source SystemVerilog Compiler, 무료 시스템베릴로그 컴파일러)
Verilator라는 컴파일러가 있습니다. 가장 빠른 Verilog HDL simulator라고 하네요앞서 소개해...
blog.naver.com
blog.naver.com/doksg/222038542081
[Verilog] Verilator tutorial (1) counter test해보기
Verilator 사용방법을 정리해서 업로드 하겠다고 해놓고 너무 늦었네요마침 시간이 나서 정리합니다. 설...
blog.naver.com
지난 시간까지는 naver에 작성했는데
이제부터는 tistory에 업로드 해보고자 합니다.
지난시간에 만들어 놓은 1_counter 폴더를 2_waveform 이라는 이름으로 복사합니다.

waveform을 보기 위해서는
Makefile을 약간 수정하고 컴파일 한뒤에
sim_main.cpp도 수정해 줘야 하는데요
순서 정리를 해보겠습니다.
1. Makefile을 수정하고 compile 한다.
2. 출력으로 나온 Vcnt.h file을 보고 그에 따라 sim_main.cpp를 수정한다.
Makefile은 아래와 같이 수정합니다.

위 코드를
아래와 같이 수정합니다.
--trace를 추가하는 것이죠

그리고 나서 바로 make를 해줍니다.

이렇게 정상적으로 잘 나오고
이제는 뭐가 달라졌는지 봐야겠지요?
원래 Vcnt.h와 비교하면서 보겠습니다.
왼쪽은 --trace를 넣고난 후 Vcnt.h
오른쪽은 --trace를 안넣은 1_coutner의 Vcnt.h
입니다.
틀린그림 찾기 할 준비 되셨나요!!
시작합니다!
(정답은 바로 밑에 둘게요...ㅎㅎ)

정답은 아래와 같습니다.

다른 부분을 확대해서 보면

일단 Vcnt_VerilatedVcd 라는 class가 생겼습니다.
다음!

두가지가 추가되었네요!
원래는 없었던거 같은데 ㅎㅎ
넘어가기전에 꼭 확인하고 가야하는것은
void trace(VerilatedVcdC* tfp, int levels, int options = 0);
위 코드에 적힌
trace 함수의 input 형태입니다.
이제 waveform을 따보겠습니다!
우선 코드가

이렇게 되어 있는데요
여기에 wavform을 보기 위한
코드를 추가해보겠습니다.
먼저

저기 적힌대로
"Verilated_vcd_c.h"를 추가합니다.

이어서 waveform을 받기 위한 준비를 하는 코드를 넣습니다.
테스트 코드부분은 좀 스타일을 바꿔서 작성해보겠습니다!

wave_fp->dump(시간)
위 처럼 작성해서 waveform을 추가하고 있는 것입니다.

마지막으로 wave_fp를 close한 뒤에
delete해주는 코드를 추가해줍니다.
최종코드는 이렇게 생겼습니다.

나와서 make를 해보니 새로운 파일이 생겼네요

gtkwave로 확인해보면

이렇게 잘 나왔음을 알 수 있습니다~!
'HW' 카테고리의 다른 글
CHIPS Alliance(Common Hardware for Interface, Processors and Systems) // 하드웨어 관련 오픈소스 그룹 (0) | 2020.07.21 |
---|---|
Xilinx HLS interface에 대하여 (0) | 2020.04.27 |
[Xilinx] hls::Mat 사용에 대해서 // HLS convolution tutorial 이해를 위해 (0) | 2020.04.21 |
Xilinx HLS tutorial (4) - Port 설정 (0) | 2020.04.16 |
Xilinx HLS tutorial (3) - Tcl Command Interface 사용하기 (0) | 2020.04.08 |