[VerilogHDL] 09_시스템 태스크_$urandom_range

09_시스템 태스크_6_urandom_range

verilogHDL

[VerilogHDL] 09_시스템 태스크_$urandom_range

1. $urandom_range

Verilog HDL에서 $urandom_range은 지정된 범위 내에서 무작위로 생성된 값을 반환하는 시스템 태스크입니다. $urandom_range을 사용하면 시뮬레이션 중에 지정된 범위에서 무작위 값을 생성하여 변수에 할당할 수 있습니다. 이는 테스트 벤치마크 작성이나 무작위 데이터 생성에 활용됩니다.

$urandom_range 시스템 태스크는 다음과 같이 사용됩니다:

$urandom_range(start, end)

startend는 반환되는 무작위 값의 범위를 나타냅니다. start는 범위의 시작 값을, end는 범위의 끝 값을 의미합니다. 범위는 부호 없는 정수로 지정되어야 합니다.

$urandom_range을 호출하면 지정된 범위 내에서 무작위 값을 반환합니다.

2. 예제 코드

module UrandomRangeExample;
    reg [3:0] random_value;
    
    initial begin
        random_value = $urandom_range(0, 15);
        $display("Random value: %h", random_value);
        
        random_value = $urandom_range(10, 20);
        $display("Random value: %h", random_value);
        
        $finish;
    end
endmodule

위의 예제에서는 $urandom_range을 사용하여 random_value 변수에 지정된 범위 내에서 무작위 값을 할당합니다. 첫 번째 호출에서는 0부터 15까지의 범위에서 값을 선택하고, 두 번째 호출에서는 10부터 20까지의 범위에서 값을 선택합니다. $display를 사용하여 선택된 값을 표시합니다.

$urandom_range을 사용하면 지정된 범위 내에서 무작위 값을 생성하여 테스트 벤치마크를 작성하거나 무작위 데이터를 생성할 수 있습니다. 이는 다양한 범위에서의 테스트를 수행하고 확률적인 동작을 모델링하는 데 유용합니다.

댓글 쓰기

0 댓글