0
我努力使用泛型为组件的接口(port
)定义记录。在一个较老的问题中,我已经指出使用类型泛型。但是我不知道如何访问记录的字段。 Here一个答案用型仿制药的使用记录是促进在类型通用中使用记录
假设以下组件:
entity genericInput is
generic(
type recordType
);
port(
result: integer;
port: in recordType
);
end entity;
architecture behav of genericInput is
begin
result <= port.part1;
end architecture;
而这个实例:
type myRecord is record
part1: integer;
part2: std_logic_vector(1 to 100)
end record;
inst: genericInput
generic map(recordType <= myRecord)
port map(...)
我从ModelSim的得到一个编译错误:
** Error: ****.vhd(21): Unknown expanded name. --line on which i attempt port.part1
** Error: ****.vhd(22): VHDL Compiler exiting
如何访问记录的字段supp假设记录始终有一个该名称的字段(vhdl2008可用)? (我不想改变记录中矢量的宽度)?
改写问:什么是创纪录的载体整合与一般宽度为实体的端口的最佳方式?
什么是'VETSMOD'?对不起,我没有测试修剪过的代码。我使用的是Modelsim 10.2,它支持vhdl 2008。是的,它支持类型泛型,当我尝试访问记录时,问题只会发生。你是对的,但我想我明确表示了我的意见。 – ted
我更新了我的问题,虽然我完全理解了你描述的问题,但我正在寻找一种解决问题的方法,以向导体显示dynmaic宽度(参见上面问题的底部)。在另一个说明中,我喜欢你的eclipse插件。 – ted
好吧,谷歌告诉我有关[vetsmod](http://www.sigasi.com/content/vetsmod-get-better-feedback-your-vhdl-code-snippets) – ted