2014-04-01 1 views
2

VLAB 스크립트에서 중단 점을 맞았을 때, 완성 작업을 완료했는지 여부를 어떻게 알 수 있습니까? (나를 위해) 정교화가 예기치 않게했다 그러니 확실히정교가 중단 점에서 완료되었는지 어떻게 알 수 있습니까?

Error: (E529) insert module failed: elaboration done

(이 vlab.instantiate("stim", "stim")입니다 일으키는 명령) 이미 완료 :

내 스크립트 오류를 ​​발생시킵니다 성명에 도달합니다. 나는 어떻게 든 그 과정에서 돌아가서 그 일이 일어난 곳을 찾아야합니다. 그래서 나는 "완성이 완성 되었습니까?"라고 묻는 어떤 방법이 필요합니다. 스크립트에서 이전에 중단 점을 설정 한 시점에서.

답변

1

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 파이썬 패키지에서 사용할 수 있습니다, 그래서 다음 스크립트는 현재 단계가 정교에 있는지 테스트하는 데 사용할 수 있습니다 : 쿨

import sysc 
print "Is elaboration phase:", sysc.sc_get_status() == sysc.SC_ELABORATION 
+0

! 감사! :) – GreenAsJade