如何测试用verilog代码编写的256点FFT的仿真结果

如何测试用verilog代码编写的256点FFT的仿真结果,verilog,Verilog,我已经为256点FFT(radix22 sdf)和测试台(具有随机采样值…)编写了verilog代码 我得到了一些模拟结果如何知道我得到的结果是否正确这是一个标准的验证问题 您需要从某处获得一些“正确答案”,并让您的测试台将代码的输出与它们进行比较 您可以通过多种方式获得正确答案: 一个工具,如Matlab,如果你有访问它将是非常容易的 以现有的C库(如FFTW)为例,通过该库运行数据 您可以手工计算它们(但我不建议这样做,因为它们不太可能第一次是正确的:) 获取这些输出并将其转换为Veri

我已经为256点FFT(radix22 sdf)和测试台(具有随机采样值…)编写了verilog代码
我得到了一些模拟结果如何知道我得到的结果是否正确这是一个标准的验证问题

您需要从某处获得一些“正确答案”,并让您的测试台将代码的输出与它们进行比较

您可以通过多种方式获得正确答案:

  • 一个工具,如Matlab,如果你有访问它将是非常容易的
  • 以现有的C库(如FFTW)为例,通过该库运行数据
  • 您可以手工计算它们(但我不建议这样做,因为它们不太可能第一次是正确的:)

获取这些输出并将其转换为Verilog
$readmem
兼容文件,将其读入模拟器,最后比较结果。或者用Matlab或任何可以使用的形式写出结果,并在那里进行比较。

也许可以通过Matlab中的FFT或其他已知的良好实现运行样本值并比较结果?