背景:系统$readmemh $readmemh 可以用来读取文件中的数据,然后存放到数组中。
问题:问题是,当定义的数组的深度与文件的数据个数不匹配时,或者截断或者留下多余的空间。
当数组深度小于文件中数据个数时,数据被截断,往往我们不想如此,那么我们就不能不对数据的深度进行参数(宏定义)化,然而,参数往往会忘了修改,引起耗时耗力的定位,到头来却是这样一个不是问题的问题。
为了避免修改数组深度,我们可以将数组深度定义一个足够大的值,以至不会出现深度不足,但是留下一个问题,就是会因为数组深度过大导致内存占用巨大,影响仿真效率。
解决思路:在sv下,可以使用队列来替代数组。
问题:在数据中如果出现@xxxh地址指示,需要保证地址是连续的,否则仿真报错。