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
相关推荐
千寻xun6 小时前
二、实战篇-NVME SSD控制之ZYNQ实现(三)
fpga开发·nvme ssd·nvme协议
忆锦紫8 小时前
vivado报错及解决【十】
fpga开发·fpga·vivado
喵喵苗9 小时前
FPGA 核心资源解析:FF 触发器(Flip-Flop)—— 时序逻辑的“记忆心脏”
fpga开发
硅农深芯11 小时前
LVDS DC参数详解
fpga开发·lvds·dc参数
忆锦紫13 小时前
vivado报错及解决【十一】
fpga开发·fpga·vivado·xilinx
Saniffer_SH1 天前
NAND技术(二):从 Channel、Die/LUN、P/E Cycle 到 LDPC,一次讲透 NAND 里那些最容易误解的概念
人工智能·驱动开发·嵌入式硬件·测试工具·fpga开发·计算机外设·压力测试
千寻xun1 天前
二、实战篇-NVME SSD控制之ZYNQ实现(四)
fpga开发·nvme·nvme ssd
ALINX技术博客1 天前
【黑金云课堂】FPGA技术教程Linux开发:系统进阶-PS DMA
linux·fpga开发
喵喵苗1 天前
FPGA Verilog 入门避坑:寄存器与锁存器的本质区别 & 为什么时序逻辑缺 else 不会生成锁存器
fpga开发
Thinker3611 天前
笔记本外接创新5.1声卡实战:M.2转PCIe软排线方案 vs 雷电扩展卡方案对比
fpga开发·声卡·笔记本外接pcie·显卡坞