一、基本结构
使用modelsim工具,调用Verilog的系统函数,将图像数据读入testbench的memory组。在处理后调用系统函数将数据保存成文件。这些系统函数是不可综合成硬件的,仅用于仿真测试。图像数据需要使用matlab生成,因为普通图片是进行过压缩储存的,需要把图片还原成原始rgb或ycrcb数据流。同理处理完保存的图片原始数据需要用matlab进行处理,转换成可用于显示的图片格式。
二、相关系统函数的调用
1、$readmemh
调用方法:$readmemh("<数据文件名>",<存储器名>);例如:
`timescale 10ns/1ns
module test;
reg set;
reg[15:0] memory[0:7]; //注意这里每个存储单元的长度为16位,因为每个数字是四位十六进制数,换算成二进制数是16位
reg[4:0] n;
initial
begin
$readmemh("file2.txt",memory);
for(n=0;n<=7;n=n+1)
$display("%h",memory[n]);
end
endmodule
————————————————
版权声明:本文为CSDN博主「east1203」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_38037810/article/details/79598647
拓展:
(1)$readmemh是将文件以hex十六进制格式读入,同理$readmemb则是将文件以二进制格式读入
(2