조건이 충족 될 때 when
명령을 사용하여 원하는 작업을 수행 할 수 있습니다. find
명령은 디자인 계층 구조에서 신호를 추출 할 수 있습니다. 모든 옵션을 보려면 Modelsim 명령 참조 문서를보십시오. examine
명령은 배열 및 스칼라 유형 신호의 길이를 결정하는 데 사용됩니다. 이 예제는 레코드 유형에서는 작동하지 않습니다.
proc whenx {sig action} {
when -label $sig "$sig = [string repeat X [string length [examine $sig]]]" $action
}
foreach s [find signals -r /*] {whenx $s "echo \"$s is an X at \$now\""}
이 예에서는 부분적으로 X 만있는 배열을 처리하지 않습니다. when
표현식의 배열 인덱스를 사용하여 개별 비트를 테스트 할 수는 있지만 Modelsim tcl에서 프로그래밍 방식으로 배열의 경계를 결정하는 방법은 명확하지 않습니다.
모든 when
조건을 nowhen *
으로 취소 할 수 있습니다.