gpt4 book ai didi

types - VHDL:是否可以用记录定义通用类型?

转载 作者:行者123 更新时间:2023-12-04 10:05:32 25 4
gpt4 key购买 nike

我正在尝试定义一个复杂类型(即由实部和虚部组成的类型),并试图找到一种方法使其通用。

This my current static code:

type complex_vector is record
Re : signed(15 downto 0);
Im : signed(15 downto 0);
end record;

现在我想知道是否有办法使这个通用,换句话说:
  type complex_vector (Generic: Integer := WIDTH) is record
Re : signed(WIDTH downto 0);
Im : signed(WIDTH downto 0);
end record;

我试图用谷歌搜索解决方案以及浏览我的书,但我找不到任何解决方案。真的没有吗?没有记录,可能会写出这样的东西:
type blaaa is array (NATURAL range <>) of STD_LOGIC;

感谢您提供任何意见

编辑:

或者我可以做以下事情吗?
type complex_primitives is (re, im);
type complex_vector is array (re to im) of signed(natural range <>);

编译器虽然提示..

最佳答案

以下是 VHDL-2008 中的合法语法:

type complex is record
re : signed ; -- Note that this is unconstrained
im : signed ;
end record ;

signal my_complex_signal : complex (re(7 downto 0), im(7 downto 0)) ;

重要说明 此示例使用具有不受约束的数组的记录。在这一点上对 VHDL-2008 的支持是偶然的。一些工具支持许多 VHDL-2008 功能,但许多工具尚未完全支持所有新功能。

要阅读有关 VHDL-2008 和新功能的信息,请参阅 this presentation这是关于这个主题的一个很好的总结。

关于types - VHDL:是否可以用记录定义通用类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6356657/

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