VHDL为信号名称分配一个数字

时间:2019-05-24 08:53:59

标签: vhdl modelsim

我将使用随机数来选择信号,但无法将数字分配给该信号的名称。

在此代码中,我有三个输入端口,它们的名称分别是: A1B,A2B,A3B,A4B

现在我想通过1到4之间的rand函数随机使用它们。

rand = 4, then input A4B selected.
rand = 2, then input A2B selected.
rand = 3, then input A3B selected.

这不是我使用简单()的数组。

for (i=1; i<5; i++)
   A[i]B = 1 + i;

类似这样的东西。

1 个答案:

答案 0 :(得分:1)

简单而易读的方法将使用switch个案例。

如果您不想拥有switchif-else

具有指向这些变量的指针数组。

示例:

int A1B,A2B,A3B,A4B;
int *ptr[] = {&A1B, &A2B, &A3B, &A4B};

for (i=1; i<5; i++)
   *ptr[i-1] = 1 + i;
  

注意:您需要取消引用ptr[i]才能访问值和   *ptr[1]会给您A2B


如果可以直接具有端口数组,则不需要具有指针数组。

示例:

int AxB[100];