1

我想知道是否有办法在综合过程中访问entities default generic valuesan entities architectures constants

这是出于好奇(我想实现类似的东西)。

可能的用例

1)为默认实体生成Testbench:

entity testme is
    generic(outputs:integer:=4);
    ports(output:out bit_vector(0 to outputs);
end entity;

在测试台中,我需要生成一个可以连接到输出的信号,而在不知道泛型值的情况下没有办法这样做。

2)我想知道我在实例化 Blockram 时使用的实际大小。在 FPGA 上有 Blockram,可以使用固定的 ram 块,如果需要的 ram 多于一个块中可用的 ram,则将多个块组合在一起。随着技术的变化,可用块的大小可以改变。因此,我编写了一个具有两个通用参数的实体,memorytechnology以尽可能少的 Blockrams 实现了我的记忆。这可能会导致内存大于请求。如果我现在有另一个实体需要内存大小来充分利用它(即循环缓冲区控制器),我必须向它提供所分配内存的实际大小。

4

2 回答 2

0

您必须从顶部(即从测试台)向下推动这些东西。无法检查较低级别的块(尽管我猜您可以将信号带出并返回到顶部!)

于 2013-04-03T16:01:08.767 回答
0

您可以使用不受约束的类型,例如:

entity example
port(
    i: std_logic_vector;
    o: std_logic_vector
);

在测试台中,您添加定义的向量,例如:

....
signal i,o: std_logic_vector(10 downto 0);

begin
   uut: example
   port map(
      i => i,
      o => o
   );
于 2013-04-03T16:23:05.720 回答