【VHDL】多维数组
数组(Array)是将相同数据类型的数据集合在一起形成的一种新的数据类型,其结构类似于C语言等高级语言中的数组.在VHDL中多于一维的数组结构是不可综合的,但是多维数组在构建仿真模型或者仿真平台时经常会遇到或者需要处理,因此需要对于多维数组的构建和使用需要有一些必要的了解.本文将以简单示例对VHDL中的多维数组进行说明.
在VHDL中,如果要在VHDL中使用多维数组结构,那么必须使用type命令将多维数组定义为一种新的"数据类型",再按照常规信号定义的方式对于新定义的"数据类型"进行使用.这里需要注意的是如果对数组进行初始化,那么初始化列表的元素与数组定义时指定的元素个数必须相同,否则初始化将会失败.
在VHDL中多维数组具体的索引标志位置和对应关系如下例所示:
【示例】
【仿真结果】
在进行赋值时,需要注意其中括号对于数据值的分组应该与数组对应的维数相匹配,否则将会匹配出错.
【示例】
【仿真结果】
大家在具体使用多维数组时,一定要注意赋值表达式左右两侧数据的类型和位宽是否匹配,特别需要注意上述代码示例中illegal内容.