【发布时间】:2018-06-21 10:55:43
【问题描述】:
我是一个新的 SystemVerilog 用户,我遇到了一个奇怪的(从我的角度来看)将调用固定数组的唯一方法与 with 运算符相结合的行为。
module test();
int arr[12] = '{1,2,1,2,3,4,5,8,9,10,10,8};
int q[$]
initial begin
q = arr.unique() with (item > 5 ? item : 0);
$display("the result is %p",q);
end
我预计会获得队列 {8,9,10},但我却获得了 {1,8,9,10}。
为什么在索引 0 处有一个?
【问题讨论】:
-
我发现 1 的位置可以是任何数字。例如我测试了一个数组 int arr[] = '{0,1,2,1,2,3,4,5,8,9,10,10,8};结果是{0,8,9,10}。在我看来,用唯一方法返回数组的第一个元素是有原因的,但钢并不明显。
标签: system-verilog