根据 GENERIC 输入可以有不同的常数吗?例如:
entity smth is
generic(
constant_width : integer := 32
);
end smth;
architecture Behavioral of smth is
if(constant_width = 32) then
constant ROM_tan : rom_type := ( .....
....
);
else
constant ROM_tan : rom_type := ( ....
);
);
begin
.
.
Run Code Online (Sandbox Code Playgroud)
一种解决方法是创建两个常量,并让 Vivado 修剪掉一个(使用 generate 和 if)(如果它没有被使用),但这看起来并不优雅。另一种是连接两个常量,因为在我的情况下,常量之间的区别只是常量的大小,即精度,取决于输入宽度,但这对我来说也不是很优雅。有没有其他办法?(也许有包的东西?)
亲切的问候,
书房
我正在编写IP-Core,根据用户选择的通用参数,不需要所有的OUT/IN端口.是否可以选择端口?我知道类似的东西应该是可能的,因为当我使用Xilinx IP-Core时,根据参数并不是所有的PORT都包含在内.
vhdl ×2