VLAB 스크립트에서 중단 점에 도달했을 때 아직 정교화를 완료했는지 여부를 어떻게 알 수 있습니까?
내 스크립트는 오류를 발생시키는 문에 도달합니다.
Error: (E529) insert module failed: elaboration done
(이를 일으키는 명령은 vlab.instantiate("stim", "stim")
)
그래서 분명히 정교함은 예기치 않게 (나에게) 이미 완료되었습니다. 어떻게 든 프로세스로 돌아가서 어디에서 일어 났는지 알아 내야합니다. 따라서 "정교화가 완료 되었습니까?"라고 묻는 방법이 필요합니다. 스크립트의 앞부분에서 중단 점을 설정 한 지점에서.
SystemC는 정교화 또는 시뮬레이션의 현재 단계를 쿼리하기 위해 다음 기능을 제공합니다.
sc_status sc_get_status();
그것은 반환하거나 SC_ELABORATION
, SC_BEFORE_END_OF_ELABORATION
, SC_END_OF_ELABORATION
, SC_START_OF_SIMULATION
, SC_RUNNING
, SC_PAUSED
, SC_STOPPED
, 또는 SC_END_OF_SIMULATION
.
자세한 내용은 SystemC 언어 참조 설명서의 섹션 4.5.8을 참조하십시오. 이 기능은 최신 버전의 표준 IEEE Standard 1666-2011 에만 추가되었습니다 .
VLAB에서 SystemC API는 sysc
Python 패키지 에서 사용할 수 있으므로 다음 스크립트를 사용하여 현재 단계가 정교화 중인지 테스트 할 수 있습니다.
import sysc
print "Is elaboration phase:", sysc.sc_get_status() == sysc.SC_ELABORATION
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다