在进行组合逻辑建模的时候,经常会遇到在过程性语句中的程序对数组中索引或者元素值变化进行相应的操作,但是在实际的建模过程中,经常会遇到因为以错误的方式在敏感信号列表中使用数组导致仿真结果与期望不一致的情况。本文将就此示例说明。
1.数组的构成
格式:
type [MSB3:LSB3][MSB4:LSB4] array [MSB1:LSB1][MSB2:LSB2]
例如:
reg [0:3][0:7] mem[0:1][0:2]
其结构如下图:
说明:为了叙述方便,文中以标识符左侧为数据部分索引,右侧为地址部分索引。
通过数组结构特征,我们可以理解如果一个数组发生变化,指的是其中的地址或者数据发生变化。那么,因为数组存在两个可变化因素,那么数组应该以什么样的格式出现在敏感信号列表中才能既反映地址变化又能反应数据变化呢?以下以具体示例帮助大家理解数组的不同表现形式对敏感信号列表的影响。
2.敏感信号列表中的数组
2.1 array[addr]作为敏感信号
例如:
更多资讯,请关注下方二维码!