我想知道在合成期间是否有办法访问entities default generic values
或an entities architectures constants
。VHDL读取通用默认值
这是出于好奇(我想实现类似的东西)。
可能Usecases
1)生成的测试平台默认实体:
entity testme is
generic(outputs:integer:=4);
ports(output:out bit_vector(0 to outputs);
end entity;
在测试平台我需要产生信号whcih可以连接到输出
,在不知道泛型值有没有办法这样做。
2)我想知道实例化Blockram时使用的实际大小。在FPGA上,Blockram是人们可以使用的固定块RAM,如果需要更多RAM而不是一个块中可用的块,则将多个块组合在一起。随着技术的变化,可用的砌块的大小可以改变。因此,我写了一个实体,其中有两个通用参数memory
和technology
,它们可以用最少的Blockrams实现我的记忆。这可能导致内存比请求的大。如果我现在有另一个需要内存大小的实体来充分利用它(即循环缓冲区控制器),我必须为它分配实际的内存大小。
我要说的是,你在一个没有在VHDL预见的方式看着它,坦白说,我会同意。一般来说,您会将这些值从架构传播到实例,特别是在TB中。你为什么不这样做呢? – BennyBarns
@BennyBarns:我不太可能会跟着你。我的想法是默认值,一个多路复用器的宽度的默认值有什么好处,如果我不能生成输出和选择信号的信号宽度而不知道默认值? – ted