读任务
在verilog语言中有两个系统任务$readmemb,$readmemh可以用来从文件中读取数据到存储器中。这两个任务可以在仿真的任何时刻被执行使用,其使用方法如下:
$readmemb
1,$readmemb("<数据文件名(路径地址和文件名)>",<存储器名>);
2, $readmemb("<数据文件名>",<存储器名>,<起始地址(存储器的地址)>);
3, $readmemb("<数据文件名>",<存储器名>,<起始地址>,<结束地址>);
$readmemh
4,$readmemh("<数据文件名(路径地址和文件名)>",<存储器名>);
5, $readmemh("<数据文件名>",<存储器名>,<起始地址(存储器的地址)>);
5, $readmemh("<数据文件名>",<存储器名>,<起始地址>,<结束地址>);
注意
1,存储器的空间要足够,如设定[7:0] remember[0:15];即是初始化了一个16个字长为8位的存储器;
2,文件中的数据是一次读到寄存器中的,仿真中通常使用数据文件来做信号源。并且读数据总是从文件起始地址读到结束地址结束,存储器容量要足够;
3,文件应为标准数据文件,常用*.mif, *.mem文件。
4,文件若只写文件名需要将文件放置在默认文件路径下,可以通过modelsim->file-&g