문제

E(specman)에서는 목록인 변수를 선언하고 길이를 고정하고 싶습니다.

구조체의 멤버에 대해 수행하는 것은 쉽습니다.

thread[2] : list of thread_t;

함수의 "일반" 변수에 대해서는 위의 내용이 작동하지 않으며 다음과 같은 작업을 수행해야 합니다.

var warned : list of bool;
gen warned keeping {
    it.size() == 5;
};

고정 크기 목록을 선언하는 더 좋은 방법이 있습니까?

도움이 되었습니까?

해결책

당신과 같은 하드 유지는 초기화 시 크기만 수정하지만 나중에 요소를 추가하거나 삭제할 수 있습니다. 이 조건을 방지하려고 합니까?나중에 요소가 추가되거나 삭제되지 않도록 보장하기 위해 제가 생각할 수 있는 유일한 방법은 크기 != 미리 결정된 양에 동기화된 이벤트를 내보내는 것입니다.

event list_size_changed is true (wanted.size() != 5) @clk;

내가 제공할 수 있는 유일한 다른 방법은 하드 유지에 대한 약간의 구문 설탕입니다.

var warned : list of bool;
keep warned.size() == 5;

다른 팁

나는 specman에 대해 아무것도 모르지만 고정된 크기의 목록은 배열이므로 어딘가를 가리킬 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top