检查已存储在关联数组

时间:2018-02-20 04:22:20

标签: associative-array system-verilog

我想点击一个信号并进入一个关联数组。另外,我需要确保每次点击一个值时,它应该与已经存储在关联数组中的值不同。

 logic [31:0] addr[int]; 

    eg.if addr[0]=1
          addr[1]=2
          addr[2]=3

如果下一个值再次为1,2或3.I不应将其分配给我的关联数组并转到下一次迭代。

是否可以使用关联数组或任何其他类型的数组更方便。如果可能的话,有些人可以提供一些如何实现它的逻辑。

如果有什么不清楚,请告诉我。任何帮助都非常值得注意。

1 个答案:

答案 0 :(得分:2)

您想使用find()数组定位器方法。由于您将在顺序索引排序中一次添加一个数组元素,因此您应该使用队列。

logic [31:0] adds[$];


if ( addr.find() with (item == value) == {} ) addr.push_back(value);