这是我要在VHDL中执行的操作:
type score is integer range 0 to 99;
type speed is integer range 0 to 99;
但是我认为我从根本上误解了VHDL中“类型”是如何工作的,因为该工具正在产生错误。它说near "integer": syntax error
。我认为VHDL中的type与C ++中的typefed类似,但事实并非如此。将“得分”和“速度”声明为类型的正确方法是什么,它们在内部都只是0到99的整数范围?]
Type创建一个新类型,它与现有类型完全没有关系。别名只是分配给已存在的对象(如信号或变量)的不同名称。子类型根据现有类型(例如整数范围的一部分或具有一定位数的标准逻辑向量)创建类型。
因此,要执行此问题所需的操作,需要使用子类型而不是类型或别名。
所以正确的VHDL将如下所示:
subtype score is integer range 0 to 99;
subtype speed is integer range 0 to 99;