From 6adda241c9dd6438586af9d665aa60d74497d487 Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Wed, 16 Dec 2020 18:33:08 -0500 Subject: [PATCH] Fix $urandom_range with no second argument --- src/verilog.y | 1 + test_regress/t/t_urandom.v | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/verilog.y b/src/verilog.y index 9ee9888ea..ea9b10d96 100644 --- a/src/verilog.y +++ b/src/verilog.y @@ -3786,6 +3786,7 @@ system_f_call_or_t: // IEEE: part of system_tf_call (can be task or func) | yD_UNSIGNED '(' expr ')' { $$ = new AstUnsigned($1, $3); } | yD_URANDOM '(' expr ')' { $$ = new AstRand($1, $3, true); } | yD_URANDOM parenE { $$ = new AstRand($1, nullptr, true); } + | yD_URANDOM_RANGE '(' expr ')' { $$ = new AstURandomRange($1, $3, new AstConst($1, 0)); } | yD_URANDOM_RANGE '(' expr ',' expr ')' { $$ = new AstURandomRange($1, $3, $5); } | yD_VALUEPLUSARGS '(' expr ',' expr ')' { $$ = new AstValuePlusArgs($1, $3, $5); } ; diff --git a/test_regress/t/t_urandom.v b/test_regress/t/t_urandom.v index f20529134..885118ab7 100644 --- a/test_regress/t/t_urandom.v +++ b/test_regress/t/t_urandom.v @@ -40,6 +40,8 @@ module t(/*AUTOARG*/); if (v1 != 0 && v1 != 1) $stop; v1 = $urandom_range(2, 0); if (v1 != 0 && v1 != 1) $stop; + v1 = $urandom_range(3); + if (v1 != 0 && v1 != 1 && v1 != 2) $stop; end // Seed stability