gpt4 book ai didi

vhdl - 在其他泛型中使用 VHDL 泛型值

转载 作者:行者123 更新时间:2023-12-01 06:17:29 25 4
gpt4 key购买 nike

我希望能够将多个 channel 指定为泛型,并使用它来指定包含更多参数的数组的范围。编译时,我的 Aldec 编译告诉我在接口(interface)列表完成之前无法引用“num_chan”。

有谁知道实现这一目标的方法?

ENTITY deframer IS
generic (
num_chan : integer := 2;
ch_low : int_arr(num_chan-1 downto 0) := ( 1, 189);
ch_hi : int_arr(num_chan-1 downto 0) := (127, 189));

最佳答案

在 VHDL-2002(及更早版本)中,在给定泛型中声明的正式泛型
list 不能用于声明该列表中的其他泛型,即
您看到的错误的原因。

在 VHDL-2008 中这是可能的,所以如果所需的工具支持 VHDL-2008 和
该功能(“在泛型列表中引用泛型”),那么您可以指出
到使用 VHDL-2008 的工具。

VHDL-2002 的解决方案是制作 ch_lowch_hi大数组
足以容纳 num_chan 的任何值, 然后用 a 填充未使用的
虚拟值,例如(假设 num_chan 最多为 10,使用 -1 作为虚拟值):

generic(
num_chan : integer := 2;
ch_low : int_arr_t(1 to 10) := ( 1, 189, others => -1);
ch_hi : int_arr_t(1 to 10) := (127, 189, others => -1));

关于vhdl - 在其他泛型中使用 VHDL 泛型值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21450634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com