Languages

CommunityCategory: GLISTERXMODEL 시뮬레이션의 진행상황을 표시하는 방법

GLISTER XMODEL

XMODEL 시뮬레이션의 진행상황을 표시하는 방법

SA Support Team Staff 2019-03-18

XMODEL 시뮬레이션의 현재 진행상황을 화면에 출력하는 손쉬운 방법이 있을까요?

2 Answers
Best Answer
SA Support Team Staff 2019-03-18

예, 있습니다. 가장 쉬운 방법은 최상위 testbench 파일에 아래의 구문을 삽입하는 것입니다.

initial $xmodel_progress();

그러면 XMODEL 시뮬레이션이 진행되는 동안, 아래처럼 20초마다 현재의 진행상황이 화면에 표시됩니다.

#     _  ____  _______  ___  ______
#    | |/_/  |/  / __ \/ _ \/ __/ /  (TM)
#   _|  |/ /|_/ / /_/ / // / _// /__
#  /_/|_/_/  /_/\____/____/___/____/  ANALOG/MIXED-SIGNAL SIMULATOR
#
# XMODEL Release 2019.03
# Copyright (c) 2012-2019 Scientific Analog, Inc.
# All rights reserved and patents pending.
#
# |PROGRESS|2019-03-01 19:02:03|*                                |       0s|
# |PROGRESS|2019-03-01 19:02:23|*                                | 59.014ns|
# |PROGRESS|2019-03-01 19:02:43|.*                               | 66.674ns|
# |PROGRESS|2019-03-01 19:03:03|..*                              | 75.729ns|
# |PROGRESS|2019-03-01 19:03:23|...*                             | 82.655ns|
# |PROGRESS|2019-03-01 19:03:43|.....*                           | 91.227ns|
# |PROGRESS|2019-03-01 19:04:03|.......*                         | 98.273ns|
# |PROGRESS|2019-03-01 19:04:15|.........*                       |100.000ns|
#  exit
#

참고로 $xmodel_progress()은 다양한 옵션을 지원합니다. 또한 복수의 옵션을 조합해서 사용할 수도 있습니다.

$xmodel_progress("interval=", 100);

: 진행상황이 표시되는 시간간격을 초단위로 설정

$xmodel_progress("stat=", 1);

: 시뮬레이션이 끝날때 실행시간과 관련된 통계데이터를 표시

$xmodel_progress("start=", 10e-9, "stop=", 100e-9);

: 10ns~100ns 구간에서만 진행상황을 표시

$xmodel_progress("dumpflush=", 0);

: 진행상황 표시와 함께 내부 buffer에 담긴 파형정보를 파일로 flush하지 않음 (기본설정은 flush를 함).

SA Support Team Staff 2022-02-22

참고로, 아래 그림에서 보이는 것처럼 dump primitive의 "Show Simulation Progress" 옵션을 활성화해주면, GLISTER netlister는 생성하는 넷리스트에 $xmodel_progress() 명령을 삽입하여 시뮬레이션 중에 진행상황이 표시되게 해줍니다. GLISTER 사용자라면, 이 방법이 더 손쉬울 수 있습니다.