FPGA使用sv生成虚拟单音数据

FPGA使用sv生成虚拟单音数据

之前一直使用matlab生成虚拟的数据,导出到txt或是coe文件中,再导入到fpga中进行仿真测试。

复杂的数据这样操作自然是必要的,但是平日使用正弦数据进行测试的话,这样的操作不免复杂,今日尝试使用systemverilog虚拟单音数据,并存入到txt文件。

systemverilog 复制代码
module top_tb(

  );

  localparam FRACTIONAL_BITS = 7;  // 7位小数,1位符号
  localparam SCALE = 1<<FRACTIONAL_BITS;
  logic signed [7:0] fixed_sin[0:9];
  real float_sin;

  int file;

  initial
  begin
    
    // 生成正弦数据
    for (int i = 0;i<10;i++)
    begin
      float_sin = $sin(2*3.1415926 *i/10);
      fixed_sin[i] = $rtoi(float_sin*SCALE);
      $display("i=%d, float_sin=%f, fixed_sin=%d",i,float_sin,fixed_sin[i]);
    end

    // 写入文件
    file = $fopen("../../../../fixed_sin.txt","w");
    $fdisplay(file,"虚拟生成的正弦数据:");

    for (int i = 0;i<10;i++)
    begin
      $fdisplay(file,"%d",fixed_sin[i]);
    end

    $fclose(file);

  end
endmodule
相关推荐
传感器与混合集成电路7 小时前
基于FPGA与ADC协同架构的高密度数据采集模块设计原理与应用场景分析
fpga开发·架构
Rambo.xia8 小时前
10Gbps实时图像重采样:一个FPGA项目的完整交付复盘
fpga开发
zlinear数据采集卡8 小时前
2mV纹波的代价:硬核拆解ZLinear模拟前端放大器与正负可调电源设计
arm开发·单片机·嵌入式硬件·fpga开发·架构·开源
小麦嵌入式9 小时前
FPGA入门(八):一篇讲透跑马灯、闪烁灯、呼吸灯的原理与模拟波形分析
fpga开发
Rambo.xia11 小时前
AXI4-Full突发传输掉数据——突发长度算错、WRAP边界、窄传输字节错位,调试一周才发现是协议理解错了
fpga开发
zlinear数据采集卡11 小时前
硅片里的“自动纠错“:硬核拆解LHAMP188自动归零技术原理与三种封装的PCB布局实战
arm开发·单片机·嵌入式硬件·fpga开发·开源
Mr-pn-junction1 天前
clk_gate
单片机·嵌入式硬件·fpga开发
知行合一←_←1 天前
误码仪与时钟极性
fpga开发
upper20201 天前
vivado使用那些事之综合策略
fpga开发·vivado·vivado综合策略
2CM_Embed1 天前
Quartus II 工程编译与 FPGA 下载流程记录
嵌入式硬件·fpga开发