Languages
XMODEL의 $xmodel_dumpfile()
및 $xmodel_dumpvars()
명령들은 기본적으로 파형들을 JEZ 형식으로 저장하는데, 이는 현재 XWAVE로만 열 수 있습니다. 보다 친숙한 기존의 waveform viewer로 결과 파형들을 보고 싶은데, XMODEL의 파형들을 FSDB 형식으로도 저장할 수 있나요?
예. 가능합니다. $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에 설명된 옵션들 외의 다음의 추가 옵션들을 사용할 수 있습니다.
$xmodel_dumpfile()
명령에 "sizelimit="
옵션을 사용해 원하는 크기 제한을 MB 단위로 지정하면, 하나의 파일이 과도하게 커지는 것을 방지할 수 있습니다. 예를 들어,
$xmodel_dumpfile("xmodel.fsdb", "sizelimit=", 20);
명령을 사용하면, 시뮬레이션이 진행되면서 아래과 같은 이름을 가지고, 크기가 약 20MB로 제한된 파형파일들을 순차적으로 생성하게 됩니다.
xmodel_000.fsdb xmodel_001.fsdb xmodel_002.fsdb …
FSDB 형식은 XMODEL의 JEZ 형식과 달리, 파형을 점들의 집합으로 표현하게 됩니다. 이 점들의 수가 많을수록 정확한 파형의 표현이 가능해지지만, 저장 파일의 크기가 커지는 문제가 있습니다. $xmodel_dumpvars()
명령은 오차 범위에 따라 필요한 수만큼의 점만을 생성하는데, 이때의 절대오차 및 상대오차 값을 "abstol="
과 "reltol="
옵션을 사용해 사용자가 각각 정의할 수 있습니다. 예를 들어,
$xmodel_dumpvars("abstol=", 1e-6, "reltol=", 1e-3);
는 절대오차와 상대오차 값을 각각 1e-6과 1e-3로 정의합니다. 참고로 기본값은 각각 1e-4와 1e-2입니다.
모델에서 다차원배열(multi-dimensional array) 신호를 사용하는 경우, "mda=1"
옵션을 이용해서 그 내용을 저장할 수 있고, nWave와 같은 waveform 뷰어에서는 그 내용을 배열의 형태로 표시하는 기능을 지원합니다.
$xmodel_dumpvars("mda=", 1);
이러한 추가 옵션들을 GLISTER의 dump
primitive에 사용하려면 마지막 칸의 Extra Options
부분에 ":"
을 구분자로 사용하여 나열하시면 됩니다.
Please login or Register to submit your answer