一、问题:
笔者的毕业设计是基于FPGA的数字水平仪设计
在编辑Verilog代码文件的时候需要一个一千行的case语句,目的是为了做一个函数查找表,根据自变量转换之后的地址码来查找该自变量对应的函数的值。需要存储的值有一千个。
需要的语句类似于这种
二、解决方法
1、因为函数数据是根据MATLAB算出来的,所以思路是在MATLAB是编辑一个文本文档,采用一个for循环来输出不同的地址值很函数值,以及相同的字符:
2、将命令窗口输出的结果保存再记事本中。
地址—函数映射图如下
然后开始新建一个MATLAB文本文件:采用for循环的方式来书写语句,
for i=1:1006
A=[ '10''d' num2str(i) ':' 'angle=8''d' num2str(c(i)) ';' ];
disp(A)
end
这里需要注意的点是:
1、在MATLAB中有一些特殊字符的输出,其中单撇号“ ’ ”,的对应的字符为“ ‘’ ”,也就是说,当需要输出单撇号的字符的时候,我们需要用两个单撇号来代替“ ‘’ ”
2、MATLAB中的for循环需要加上e