System Verilog代码实现:RGB转YCrCb的硬件仿真与FPGA验证
首先,在大作业中,通过定义测试图片的所有像素的RGB值作为测试向量(文件名:rgb_in.file),编写matlab程序按公式进行色度空间转换为YCrCb值。接着,通过编写可综合的SystemVerilog代码程序(文件名:rgb_to_ycrcb.sv),实现以上公式,同时编写Testbench用于从测试向量文件读取RGB测试向量值,并将生成的YCrCb值存入结果文件,同时生成波形文件tb_rgb_to_ycrcb.vcd。进行SystemVerilog仿真后,生成的YCrCb值与matlab程序生成的YCrCb值进行比较,以确保一致性。其次,在FPGA验证与仿真阶段,将可综合的rgb_to_ycrcb.sv放入Quartus II中进行FPGA编译,生成FPGA的网表文件(.VO)和延时文件(.SDO),结合FPGA的库单元进行后仿真。从数据文件rgb_in.file中读入数据,将输出数据存入ycrcb_out_fpga.dat中,随后调用Matlab程序生成ycrcb _fpga.bmp,最后与第一阶段的结果值进行比较分析。