Languages

CommunityCategory: GLISTERXMODEL 파형을 FSDB 형식으로 저장하는 방법

GLISTER XMODEL

XMODEL 파형을 FSDB 형식으로 저장하는 방법

SA Support Team Staff 2019-04-15

XMODEL의 $xmodel_dumpfile()$xmodel_dumpvars() 명령들은 기본적으로 파형들을 JEZ 형식으로 저장하는데, 이는 현재 XWAVE로만 열 수 있습니다. 보다 친숙한 기존의 waveform viewer로 결과 파형들을 보고 싶은데, XMODEL의 파형들을 FSDB 형식으로도 저장할 수 있나요?

1 Answers
Best Answer
SA Support Team Staff 2019-04-15

예. 가능합니다. $xmodel_dumpfile() 명령에 ".fsdb" 확장자를 가진 파일 이름을 지정하기만 하면 됩니다. 예를 들어, 아래의 구문을 사용하면, 시뮬레이션된 파형들을 xmodel.fsdb이라는 이름의 파일에 FSDB 형식으로 저장하실 수 있습니다.

initial begin
    $xmodel_dumpfile("xmodel.fsdb");
    $xmodel_dumpvars();
end

GLISTER 환경에서 'dump' primitive를 사용해 파형을 저장하고 계시다면, 아래처럼 파일이름의 확장자를 .fsdb로 바꾸거나, 파일 형식 (format)을 fsdb로 선택해주시기만 하면 됩니다.

그리고 $xmodel_dumpfile() / $xmodel_dumpvars() 명령이 FSDB 형식으로 파형을 저장할 때에는 XMODEL User Guide의 4장 Recording Waveforms in XMODEL에 설명된 옵션들 외의 다음의 추가 옵션들을 사용할 수 있습니다.

1. 제한 크기에 따라 여러 파일로 쪼개며 파형 저장하기

$xmodel_dumpfile() 명령에 "sizelimit=" 옵션을 사용해 원하는 크기 제한을 MB 단위로 지정하면, 하나의 파일이 과도하게 커지는 것을 방지할 수 있습니다. 예를 들어,

$xmodel_dumpfile("xmodel.fsdb", "sizelimit=", 20);

명령을 사용하면, 시뮬레이션이 진행되면서 아래과 같은 이름을 가지고, 크기가 약 20MB로 제한된 파형파일들을 순차적으로 생성하게 됩니다.

xmodel_000.fsdb
xmodel_001.fsdb
xmodel_002.fsdb
…

2. 파형의 절대오차 및 상대오차 지정하기

FSDB 형식은 XMODEL의 JEZ 형식과 달리, 파형을 점들의 집합으로 표현하게 됩니다. 이 점들의 수가 많을수록 정확한 파형의 표현이 가능해지지만, 저장 파일의 크기가 커지는 문제가 있습니다. $xmodel_dumpvars() 명령은 오차 범위에 따라 필요한 수만큼의 점만을 생성하는데, 이때의 절대오차 및 상대오차 값을 "abstol=""reltol=" 옵션을 사용해 사용자가 각각 정의할 수 있습니다. 예를 들어,

$xmodel_dumpvars("abstol=", 1e-6, "reltol=",  1e-3);

는 절대오차와 상대오차 값을 각각 1e-6과 1e-3로 정의합니다. 참고로 기본값은 각각 1e-4와 1e-2입니다.

3. 다차원배열(multi-dimensional array) 저장하기

모델에서 다차원배열(multi-dimensional array) 신호를 사용하는 경우, "mda=1" 옵션을 이용해서 그 내용을 저장할 수 있고, nWave와 같은 waveform 뷰어에서는 그 내용을 배열의 형태로 표시하는 기능을 지원합니다.

$xmodel_dumpvars("mda=", 1);

이러한 추가 옵션들을 GLISTER의 dump primitive에 사용하려면 마지막 칸의 Extra Options 부분에 ":"을 구분자로 사용하여 나열하시면 됩니다.