本文参考《Xilinx FPGA开发实用教程》
1.MATLAB辅助ISE完成FPGA
所谓辅助,就是利用matlab来加速浮点算法的实现和功能测试。在进行FPGA设计之前,先用MATLAB实现浮点算法,分析出算法的瓶颈所在,将程序的串行结构改成并行结构,接着利用MATLAB完成定点仿真,得到满足性能需求的最小定点位宽以及中间步骤计算结果的截取范围,然后再ISE中完成设计。最后再利用MATLAB的定点仿真结果对设计进行功能验证。
首先,在matlab中产生仿真所需的输入信号,以16进制的形式存放在数据文件中,通常为.txt文本文件。其次,在modelsim中用verilog编写仿真测试文件,并通过系统函数$readmemh将上述仿真数据文件中的测试向量读入,在modelsim中做功能仿真和时序仿真,并调用$fopen函数打开另外一个数据文件,用$fdisplay函数将modelsim的仿真结果写入,再次,在matlab中将modelsim仿真输出数据文件中的数据读入一个数组中,可以作图分析或者利用统计手段分析。
举例介绍Verilog语言中文件输入输出函数的使用方法。
(1)系统函数$fopen用于打开一个文件,并返回一个证书的文件指针,然后,$fdisplay就可以使用这个文件指针在文件中写入信息。写完后,用$fclose关闭文件。例如:
integer W