Generics 是否可以用VHDL编写类型泛型实体?
所以,我最近继承了一些VHDL代码,我的第一反应是,“VHDL有结构,为什么它们到处都使用位向量?”然后我意识到这是因为似乎没有任何方法可以编写这样的代码:Generics 是否可以用VHDL编写类型泛型实体?,generics,vhdl,type-parameter,Generics,Vhdl,Type Parameter,所以,我最近继承了一些VHDL代码,我的第一反应是,“VHDL有结构,为什么它们到处都使用位向量?”然后我意识到这是因为似乎没有任何方法可以编写这样的代码: entity Queue is generic ( EL : type ); port ( data_in : EL; data_out : EL; ... ); end entity Queue; 我真希望这是可能的。有哪怕是一点点接近它的
entity Queue is
generic (
EL : type
);
port (
data_in : EL;
data_out : EL;
...
);
end entity Queue;
我真希望这是可能的。有哪怕是一点点接近它的东西吗?即使我必须重新键入实体或组件声明,也可以通过某种方式避免为每种类型(以通用宽度为模)重新键入体系结构定义?是和否
泛型类型是即将推出的VHDL-2008标准的一项新功能:
然而,EDA工具对VHDL-2008的支持仍然非常有限。即使您的工具支持它,使用此功能也会使代码不可移植
坚持VHDL-2002,一个解决方案是在包中声明接口类型和
mytypes
,并在use work.mytypes.all
中需要的任何地方使用它。是的,实现队列是这样做的经典原因之一
自VHDL-2008以来,它一直使用VHDL。截至2012年年中,工具支持是可变的。谈论一个发展缓慢的行业
- 阿尔代克李>
- Modelsim提供部分支持-找不到指向其功能的公共链接。如果已安装,则位于/technotes/vhdl2008.note中
- Xilinx(XST/ISIM)不支持它,甚至不支持VHDL-2002。我找不到一个简单的链接,但是有关于VHDL兼容性的章节,其中只谈到VHDL-1993
- 奥特拉的工具