您当前的位置: 首页 > 

lu-ming.xyz

暂无认证

  • 0浏览

    0关注

    115博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Modelsim导出数据的两种方法

lu-ming.xyz 发布时间:2021-11-09 21:22:04 ,浏览量:0

目录
  • 1 方法1:使用Verilog系统函数
    • 1.1 需要用到的系统函数
    • 1.2 例子
  • 2 方法2:使用Modelsim指令
    • 2.1 需要用到的Modelsim命令
    • 2.2 Tcl过程编写
  • 3 附件
Modelsim保存与打开仿真波形的方式介绍了怎么保存波形,但是有时候我们需要保存仿真过程的数据进行matlab分析绘图。

Modelsim导出数据的几中方法:

1 方法1:使用Verilog系统函数 1.1 需要用到的系统函数
  • $fopen

    multi_channel_descriptor = $fopen("file_name") ;
    fd = $fopen("file_name",type) ;
    

    在这里插入图片描述

  • $fclose

    $fclose(multi_channel_descriptor) ;
    $fclose(fd) ;
    
  • $fwrite/$fdisplay/$fdisplayb/$fdisplayh/$fdisplayo

    file_output_task_name(multi_channel_descriptor [,list_of_arguments]);
    file_output_task_name(fd [,list_of_arguments]); 
    file_output_task_name ::= $fwrite|\$fdisplay|\$fdisplayb|\$fdisplayh|\$fdisplayo
    
  • $signed/$unsigned

    $signed - returned value is signed
    $unsigned - returned value is unsigned
    
1.2 例子

以输出无符号整数这个需求为例,RTL设计:

`timescale 1ns/1ps  

module top(
    input I_sys_clk,
    input I_reset_n
);

//--- internal signal Definitions ---
//=== parameter define= ==			
parameter P_SIM_MODE = 0;                                   
//=== reg define === 
reg [9:0] R_data_cnt;                                   
//=== wire define === 				
                                                                       
//--- Main body of code ---
always @(posedge I_sys_clk or negedge I_reset_n)
begin
    if(~I_reset_n) 
    begin
        R_data_cnt             
关注
打赏
1655639048
查看更多评论
0.0350s