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
相关推荐
9527华安17 小时前
FPGA实现ARINC818总线协议,基于GT Transceivers Wizard高速收发器,提供7套工程源码和技术支持
fpga开发·transceivers·arinc818
小蘇的FPGA18 小时前
fpga-wide-data-crc32
fpga开发
落雨无风1 天前
fpga板级调试常见问题
fpga开发
码农小韩2 天前
FPGA学习(一)——LED点灯与开发流程
学习·fpga开发·入门·环境配置·仿真·点灯
FPGA小迷弟2 天前
FPGA 与千兆以太网:各类物理接口的形式、区别、使用方法与应用场景详解
tcp/ip·macos·fpga开发·udp·fpga
NamoAmitabha1282 天前
Zynq 的 AXI GPIO,是“ARM 通过一条国际标准高速公路(AXI 总线),去遥控 FPGA 里的一个寄存器”。---deepseek
fpga开发·zynq--ps
NamoAmitabha1282 天前
ARM 不懂寄存器,它只懂内存地址---deepseek
fpga开发·zynq--ps
FPGA小迷弟2 天前
FPGA 千兆以太网帧格式全解:从 IEEE 802.3 帧结构到 Verilog 收发实现
人工智能·5g·fpga开发·架构·硬件架构
幻智星科技2 天前
FPGA数据采集接口选型终极指南
fpga开发·udp·硬件架构
星夜离尘562 天前
用 SystemVerilog 写一个可背压的流式 RLE 编码器:计数拆分、包尾与 flush 的完整实现
fpga开发