2013-03-21 2 views
0

시간 변수 $ urandom_range를 사용할 수 있습니다. 그러나 반환 값은 7-10ms 사이가 아닙니다. 나는 시간상 리터럴 (왜냐하면 나는 어떤 에러도받지 못했기 때문에)을 사용하여 $ urandom_range를 사용하는 것이 합법적이라고 생각하지만 적절한 범위 내에서 가치를 얻을 수없는 이유는 무엇입니까?나는 내가 간단하게 쓸 수 있는지 알고 싶어

+0

당신이하려는 일의 전체 코드 예를 보여줄 수 있습니까? time_var은 어떻게 사용됩니까? – toolic

답변

2

IEEE Std (1800-2009)는 $urandom_range에 대한 인수가 int unsigned이고 time과 같지 않음을 선언합니다. 필자는 시뮬레이터에서 오류나 경고를받지 못하더라도 예상대로 작동하는 시스템 기능에 의존 할 수 있다고 생각하지 않습니다.

VCS에서는 컴파일 오류이고 Incisive에서는 경고입니다.

다음과 같이 사용할 수 있습니까?

int unsigned del = $urandom_range(10, 7); 
#(1ms * del); 
+0

나는 incisive를 사용하고 있는데, 제안 된 방법을 시도해보고 알려주겠다. – wisemonkey

+1

예, Incisive에서 경고하는 것 같다. 그러나 작은 숫자 뒤에있는 이유는 $ urandom_range가 주어진 범위의 32 비트 난수를 출력한다. ps의 timescale, urandom_range는 4ms를 초과하여 아무것도 생성하지 못했습니다 (3ms 미만의 범위를 사용하면 제대로 작동 함). 감사 :) – wisemonkey

관련 문제