是否可以定义不带参数的VHDL函数?
我正在尝试计算记录类型的位数,但是这样做必须创建该类型的实例。因此,由于不能只定义const BITS = t_rec.a'length + t_rec.b'length
,所以我想定义一个函数function BITS() return natural
,该函数实例化记录rec : t_rec
并返回rec.a'length + rec.b'length
。但是,编译器甚至在到达定义之前,在函数声明中都以unexpected '(')
失败。
我只包含一个未使用的虚拟参数,但是我怀疑皮棉工具会抱怨。
在记录之前为每个记录字段定义子类型太麻烦了。
完整示例:
package pack is function BITS() return natural; end package pack; package body pack is function BITS() return natural is begin return 0; end function; end package body pack;
错误消息:
pack.vhd:1:30: empty interface list not allowed