精华内容
下载资源
问答
  • 各种仿真波形文件

    2016-03-09 13:16:00
    各种仿真波形文件 一、仿真波形文件介绍 1. Wlf文件:WLF波形日志文件,是modelsim的专用文件。 这个wlf文件只能是由modelsim来生成,也只能通过modelsim来显示。 在用modelsim做仿真时,仿真结束都会生成一个...

    各种仿真波形文件

     

    一、仿真波形文件介绍

    1. Wlf文件:WLF波形日志文件,是modelsim的专用文件。

    这个wlf文件只能是由modelsim来生成,也只能通过modelsim来显示。

    在用modelsim做仿真时,仿真结束都会生成一个*.wlf的文件(默认是vsim.wlf)。

    下次就可以通过通过modelsim直接打开这个保存下来的波形。

    vsim -view vsim.wlf -do run.do

    其中run.do中的内容为要查看的波形信号。要强调的是不是一个通用的文件文件格式


    2.VCD文件:VCD 是一个通用的格式。

    VCD文件是IEEE1364标准(Verilog HDL语言标准)中定义的一种ASCII文件。

    可以通过Verilog HDL的系统函数 $dumpfile,$dumpvars 等来生成。

    我们可以通过$dumpvars的参数来规定我们抽取仿真中某个特定模块和信号的VCD数据。

    它主要包含了头信息,变量的预定义和变量值的变化信息。正是因为它包含了信号的变化信息,就相当于记录了整个仿真的信息。

    可以用这个文件来再现仿真,也就能够显示波形。

    另外我们还可以通过这个文件来估计设计的功耗。

    因为VCD是 Verilog HDL语言标准的一部分,因此所有的verilog的仿真器都要能实现这个功能。

    因此我们可以在verilog代码中通过系统函数来dump VCD文件。

    另外,我们可以通过modelsim 命令来dump VCD文件,这样可以扩展到VHDL中。

    具体的命令:

    vcd file myfile.vcd vcd add /test/dut/*

    这个就生成一个含dut下所有信号的VCD数据信息。我们在使用来进行仿真

    vsim -vcdstim myfile.com test;add wave /*;run -all;

     注意:WIF:波形中间格式;WLF:波形日志文件。由于在ModelSim下只能打开VCD文件

    使用ModelSim行命令vcd2wlf将VCD文件转化为WLF文件 。

    VCD文件生成

    在testbench中加入:

    initial
    begin
    $dumpfile("tb.vcd");
    $dumpvars();
    end

     3.FSDB文件:fsdb文件是verdi使用一种专用的数据格式

    类似于VCD,但是它是只提出了仿真过程中信号的有用信息,除去了VCD中信息冗余,就像对VCD数据进行了一次huffman编码。

    因此fsdb数据量小,而且会提高仿真速度。

    我们知道VCD文件使用verilog内置的系统函数来实现的,fsdb是通过verilog的PLI接口来实现的, $fsdbDumpfile,$fsdbDumpvars 等。

    另外,在VCS仿真器中还有一种VCD+的数据格式VPD,详细情况参照VCS的使用。

     Testbench中加入:

    initial
    begin
    $fsdbDumpfile("tb.fsdb");
    $fsdbDumpvars();
    end

    4、shm 是Cadence公司 NC verilog 和Simvision支持的波形文件,实际上 .shm是一个目录,其中包含了.dsn和.trn两个文件

    5、vpd 是Synopsys公司 VCS DVE支持的波形文件,可以用$vcdpluson产生

    二、波形文件的具体生成

    1、VCS仿真生成fsdb文件(verilog)

    2、VCS仿真生成VPD文件(verilog)

    3、VSIM生成fsdb波形文件(verilog)

    4、Vsim(ModelSim)生成VCD波形文件(verilog)

    5、vsim(modelsim)仿真VHDL输出fsdb格式文件

    6、ncsim仿真VHDL

     

    转载于:https://www.cnblogs.com/OneFri/p/5257765.html

    展开全文
  • Verilog读取波形文件数据

    Verilog读取波形文件数据

    在这里插入图片描述
    在这里插入图片描述

    2、编写testbench测试文件,将测试数据用文件任务打开。代码如下

    `timescale 1 ps/ 1 ps
    module sin_tb();
     
    reg clk;
    reg [7:0] data_in;
    reg rst;
                                                
    wire [7:0]  data_out;
                           
    sin i1 (
     .clk(clk),
     .data_in(data_in),
     .data_out(data_out),
     .rst(rst)
    );
    integer i=0;
    reg[7:0] data_men[0:255];
    initial                                               
    begin
     clk=1'b0;
    // i=8'd0;
     rst=1'b1;
     #100 rst=1'b0;
     $readmemh("F:/modelsim_work/sin/sin.txt",data_men);
    end
    
    always #10 clk=~clk;
    

    在这里插入图片描述

    展开全文
  • 示波器CSV波形文件读取程序

    热门讨论 2014-06-03 18:16:18
    读取、绘制鼎阳、Agilent、Tek等多种示波器保存的csv格式波形文件
  • 波形文件数据的读取

    千次阅读 2013-07-26 16:35:19
    如果需要从底层来控制和操作波形文件,就需要获取波形文件的声音的采样数据。RIFF格式文件与普通文件不同,不能像打开普通文件一样打开RIFF文件。幸好,VC为读取多媒体文件提供了专门用来操作RIFF格式文件的I/OB函数...

    如果需要从底层来控制和操作波形文件,就需要获取波形文件的声音的采样数据。RIFF格式文件与普通文件不同,不能像打开普通文件一样打开RIFF文件。幸好,VC为读取多媒体文件提供了专门用来操作RIFF格式文件的I/OB函数,这些多媒体I/O函数都以mmio开头,包括打开,关闭,写入,创建新数据块等一系列的操作。

    读取WAV文件的一般流程:
    1.读取文件需要通过mmioOpen打开波形文件,打开的方式很简单,如下所示:
    HMMIO h;
    h = mmioOpen(path, NULL, MMIO_READ_WRITE);
    mmioOpen函数可以打开一个标准文件,内存文件或用户存储系统,该函数返回的指针类型HMMIO是一个多媒体文件句柄,HMMIO句柄不是标准的文件句柄,只能用于多媒体文件I/O函数。函数中的path表示一个波形文件的有效路径,MMIO_READ_WRITE表示以可读写的方式打开文件。NULL对应的参数为指向特殊参数的MMIOINFO结构指针,通常被设为NULL。




    WAV文件的格式

    偏移量

    字节

    数据

    波形块的大小文件大小减

    格式块的大小字节

    波形文件大小

    波形数据开始

    2. 打开文件后,可通过HMMO句柄获得文件中的波形部份:
    MMCKINFO mmckinfo;
    mmckinfo.fccType = mmioFOURCC('W','A','V','E');
    mmioDescend(h, &mmckinfo, NULL, MMIO_FINDRIFF);
    经上述调用,mmioDescend函数在句柄h所指向的文件中搜索构造类型为"WAVE"的块的信息,MMCKINFO结构用来接受波形部份信息。该函数调用时会通过检查MMCKINFO结构的fccType的数据来决定需要获得什么构造类型的信息。我们指定函数的wflags参数为MMIO_FINDRIFF,表示需要搜索"RIFF"块信息。
    RIFF文件的块信息结构MMCKINFO的定义如下:
    typedef struct 
    {
        FOURCC ckid;                // 记录块的标识
        DWORD cksize;             // 记录该块的数据长度,该长度不包含4字节的块标识长度
        FOURCC fccType;          // 记录块的类型
        DWORD dwDataOffset; // 记录块数据成员的首地址距文件头的偏移量
        DOWRD dwFlags;          // 用来指定块的附加信息,一般为空或MMIO_DIRTY等标记
    }MMCKINFO;

    3. 得到波形部分的MMCKINFO结构指针后,下一步就是获得波形文件的信息部分:
    MMCKINFO mmfmtckinfo;
    mmfmtckinfo.ckid = mmioFOURCC('F','M','T',' ');
    mmioDescend(h, &mmfmtckinfo, &mmckinfo, MMIO_FINDCHUNCK);

    4. 同样采用mmioDescend函数,但调用的结果不同,该函数可以通过把"RIFF"块mmckinfo作为"父块",以块搜索块的方式搜索到构造类型为"fmt "。搜索到的块信息由mmfmtckinfo对象接受。MMIO_FINDCHUNCK标识表示搜索块信息,h为传入多媒体文件的句柄。
    MMCKINFO结构中的fccType成员为四字节数据,如果类型不满4个字符,应该往后面添加空格。

    5. 得到了fmt部分的MMCKINFO指针后需要通过mmfmtckinfo得到PCMWAVEFORMAT结构:
    PCMWAVEROMAT wformat;
    mmioRead(h, &wformat, mmfmtckinfo.cksize);
    当文件指针指到多媒体文件的mmfmtckinfo部分,函数会自动搜索到需要读入的PCMWAVEFORMT结构首地址,并按首地址顺次向wformat填满mmfmtckinfo.cksize大小的字符数。函数成功调用后,得到非空的PCMWAVEFORMAT对象wformat,并返回读出的字节总数,否则mmioRead返回-1,表示读操作出错.

    6. 如果还需要得到波形文件的数据信息,也就是说,要得到data部分信息,也可以通过调用mmioDescend函数得以实现。实现的第一步使文件的当前位置退回到mmckinfo块的位置:
    mmioAscend(h, &mmfmtckinfo, 0);
    然后需要声明一个对象mmdatainfo,并把该对象的fccType成员设置为"data"类型。通过mmioDescend函数搜索到data部分的地址:
    MMCKINFO mmdatainfo;
    mmdatainfo.ckid = mmioFOURCC('d','a', 't', 'a');
    mmioDescend(h, &mmdatainfo, &mmckinfo, MMIO_FINDCHUNK);
    HGLOBAL hdata;
    LPSTR      pdata;
    hdata = GlobalAlloc(GMEM_MOVEALBE, mmdatainfo.cksize);
    pdata = (LPSTR)GlobalLock(hdata);
    mmioRead(h, pdata, mmdatainfo.cksize);

    7. GlobalAlloc函数用来得到固定大小数据块的指针,该指针指向的空间没有实际含义的对象存在。GlobalLock函数通过锁定由GlobalAlloc函数得到的数据块,把hdata句柄转换成为内存指针。mmioRead(h, pdata, mmdatainfo,.cksize)语句用来向pdata地址读入mmdatainfo.cksize大小的数据。
    GlobalAlloc函数原型为:
    HGLOBAL GlobalAlloc
    (
        UINT uFlags;           // allocation attributes
        DWORD dwBytes; // numbers of bytes to allocate 
    )
    (1). uFlags为分配属性标识。各表示含义如下:
    GMEM_FIXED表示分配固定的内在空间;
    GMEM_MOVEABLE表示分配可变内存空间
    GMEM_SHARE 表示可以使用DDE操作
    GMEM_DISCARABLE 只用于和16位Windows相兼容的应用中,表示该内存块是可被释放的,采用该标识必须用GlobalDiscard函数来释放块;
    GMEM_ZEROIIT用于把内在块的大小初始化为0。如果uFlags取0,表示分配固定的内在空间。
    (2). dwBytes 指定分配内存大小。
    GlobalLock函数原型:
    LPVOID GlobalLock
    (
        HGLOBAL hMem; // handle to the global memory object
    )
    (3). hMem为GlobalAlloc函数返回的句柄,GlobalLock函数返回内存指针。

    以上7个马骤后,得到了波形文件的数据信息,并把数据信息读入到内存中,通过对指针pdata指向内存块的访问,我们就可以随意地访问该内存块的任何信息。

    展开全文
  • Matlab波形文件转音频

    2020-04-03 18:04:48
    波形文件播放 使用sound(Y,Fs)函数,Y必须归一化到[-1,1] 保存成音频文件 使用audiowrite(FILENAME,Y,FS) 函数,可保存成几种格式,详情help。

    波形文件播放

    使用sound(Y,Fs)函数,Y必须归一化到[-1,1]

    保存成音频文件

    使用audiowrite(FILENAME,Y,FS) 函数,可保存成几种格式,详情help。
    Stereo data should be specified as a matrix with two columns.

    展开全文
  • 各种波形文件 fsdb生成方法

    千次阅读 2017-09-21 12:26:18
    仿真是IC设计不可或缺的重要步骤,仿真后一般需要记录下波形文件,用于做详细分析和研究。说一下几种波形文件WLF(Wave Log File)、VCD(Value Change Dump)文件,fsdb(Fast Signal DataBase)文件、shm、vpd:   ...
  • FSDB 波形文件产生以及截取

    千次阅读 2020-09-22 19:02:51
    FSDB:Fast Signal Database 相比较于VCD文件,FSDB文件的大小比VCD波形小5-50倍。 各家的仿真器都支持在simulation的过程中,直接生成FSDB文件 将VCD文件转换为FSDB文件的三种方式: 1) vfast工具 2) 在nTrace...
  • java 读取.wav文件(波形文件)并绘制波形图例子

    万次阅读 热门讨论 2012-08-23 14:08:47
    因项目需要读取.wav文件(波形文件)并绘制波形图,因此简单的做了这方面的封装。 其实主要是对wav文件读取的封装,下面是一个wav文件读取器的封装: // filename: WaveFileReader.java // RobinTang // 2012-...
  • 关于modelsim的波形文件

    千次阅读 2013-03-12 14:52:26
    波形文件的三个术语:VCD(Value Change Dump)文件,fsdb(Fast Signal DataBase)文件,WLF(Wave Log File).   对于WLF波形日志文件,只要我们使用过modelsim,应该都很熟。但我们在波形窗口观察波形时,仿真结束...
  • verilog波形文件的使用

    2015-05-24 22:41:00
    而保存波形文件能在仿真完成后查看波形,为之后的分析提供方便。  在仿真的tb文件中加入 initial begin $dumpfile("mydumpfile.vcd"); $dumpvars ; end  于是生成vcd文件,此时可通过v...
  • // 1、.m文件 // // CreatePDFImage.m // Helo // // Created by 杨峰 on 2017/12/25. // Copyright © 2017年 seedmorn. All rights reserved. // #import "CreatePDFImage.h" #import @implementation ...
  • 数字IC设计各种仿真波形文件

    千次阅读 2018-05-25 22:27:28
    一、仿真波形文件介绍1. Wlf文件:WLF波形日志文件,是modelsim的专用文件。这个wlf文件只能是由modelsim来生成,也只能通过modelsim来显示。在用modelsim做仿真时,仿真结束都会生成一个*.wlf的文件(默认是vsim.wlf...
  • 注:输入的input.csv文件末尾必须有换行符结束,最后一行的index必须是200,不然程序无法正常运行。 对应的测试文件在博客的最后 #include "stdafx.h" #include #include #include #define PEAK_VOLT...
  • 波形文件数据的读取 mmio的操作

    千次阅读 2014-12-06 20:19:29
    如果需要从底层来控制和操作波形文件,就需要获取波形文件的声音的采样数据。RIFF格式文件与普通文件不同,不能像打开普通文件一样打开RIFF文件。幸好,VC为读取多媒体文件提供了专门用来操作RIFF格式文件的I/OB函数...
  • HEX和MIF格式波形文件的制作方法

    千次阅读 2018-05-28 00:05:39
    整体思路:先用MATLAB制作MIF格式的波形文件,再用Quartus制作HEX格式的波形文件。1、编写MATLAB脚本,制作sigmoid函数mif文件,sigmoid函数图如下:MATLAB脚本如下:clear; clc; close all; accy = 0.01; x1 = -...
  • VCS产生vpd波形文件

    千次阅读 2019-05-25 16:26:21
    1.首先有个简单的.v文件和._tb.v 文件,然后在tb文件中加入 module fenpin( input clk, input rsr_n, input [7:0] div_num, output reg clk_out ); always@(posedge clk or negedge rst_n) if(!rst_n) cnt<...
  • 声音波形文件生成器

    2006-05-16 11:56:15
    一个使用数学方法生成波形声音文件的源代码,可以载入预置数学公式,保存8位和16位单声道声音文件,可以设置振幅、频率、持续、采样等参数,可以调整波形斜面,回声。 这个代码值得推荐!
  •   波形文件是一种声音文件格式,Windows Media Audio也称WAV,是最早的数字音频格式,被Windows平台及其应用程序广泛支持。WAV格式对存储空间需求太大不便于交流和传播,不过由于其音质好,一些Flash动画的特殊...
  • modelsim 保存仿真结果(波形文件

    千次阅读 2017-09-06 16:51:44
    2、切换左边任务栏至“sim”,,点击保存,给将要保存的 .wlf文件(波形文件)命名。 3、保存,OK,关闭modelsim. 4、重启modelsim,open 之前保存的 .wlf文件,然后 load 对应的 .do文件。
  • 仿真是IC设计不可或缺的重要步骤,仿真后一般需要记录下波形文件,用于做详细分析和研究。说一下几种波形文件WLF(Wave Log File)、VCD(Value Change Dump)文件,fsdb(Fast Signal DataBase)文件、shm、vpd: 对于...
  • OS WIN7vivado 2015.4vivado自带的仿真器vivado project 包含一个block design, block design 中包含AXIPCIE, MIG, INTERCONNECTOR, 第三方IP,AXI APB BRIGE仿真并保存所有信号到wdb文件的步骤:1, simulation ...
  • 要做两个波形文件方差的比较,但是因为时长不同,误差太大,所以想截取其中确定时间的波形,来进行比较。。。
  • VCS+Verdi 产生fsdb波形文件

    千次阅读 2018-12-12 20:30:19
    ①在你的tb文件中,加入 initial begin $fsdbDumpfile("tb.fsdb");//这个是产生名为tb.fsdb的文件 $fsdbDumpvars; end ②在linux命令行输入 vcs -full64 -fsdb -f ***.f//其中 -full64是指linux64 ...
  •  在完成上述的加载波形之后,会有多个.wlf文件,如上图所示,若要产生对比波形,需要将某个.Wlf中的信号重新加载过来即可,如下图操作。  选中ex1.wlf文件,然后选择objects中的信号,然后点击右键 a...
  • 打开wdb文件并查看波形 1,vivado菜单栏的flow : open static simulation :选择上面6中提到的wdb文件 2,在scope或object栏里右击 add to wave 转载于:https://blog.51cto.com/12935523/1927763
  • 对fsdb波形文件的操作 经常的,我们需要导出特定hierarchy的波形而不需要其他的部分,一般有几个应用场景: 只关心自己模块的部分,减小波形文件的大小. 需要给团队外的人提供波形,不希望别人看到指定hierarchy之外...
  • 产生FSDB波形文件的若干技巧

    万次阅读 2017-09-13 13:36:39
    fsdbDumplimit - 限制FSDB文件size -- $fsdbDumpvars([], *) fsdbDumpfile - 指定FSDB文件名 -- $fsdbDumpfile(“”) fsdbDumpvars - Dump指定的变量 -- fsdbDumpSingle - Dump指定的信号 fsdbDumpvariable - ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,901
精华内容 11,960
关键字:

如何创建波形文件