• modelsim中的文件操作—— 大数据测试


      在modelsim中不可避免的需要进行文件操作,在窗口中查看代码的操作情况,下面是我自己M序列实验中的一段测试代码

     1 integer i,j ,k,m; 
     2 
     3 integer m_dataFILE ,
     4         indataFILE ,
     5         oudataFILE ;
     6     
     7 reg [3:0] i_data[0:9999] ;    
     8     
     9     
    10 initial 
    11     begin 
    12         m_dataFILE = $fopen ("./m_data.dat"); // m序列存储文件
    13         indataFILE = $fopen ("./indata.dat"); // 随机数(用于发送的数据)存储文件
    14         oudataFILE = $fopen ("./oudata.dat"); // 接收数据的存储文件
    15         for(i=0;i<10000;i=i+1)
    16             begin 
    17                 i_data[i] = $random%16;
    18                 $fdisplay (indataFILE,"%b",i_data[i]); 
    19             end 
    20         $fclose (indataFILE);
    21     end 
    22 
    23 always @ (posedge clock)
    24     if(reset)
    25         begin  : wirte_file
    26             $fdisplay (m_dataFILE,"%b",my_m.m_sequ); //m序列保存
    27         end 

    下面一段是校验输出,接收和发送的数据如果出现错误就有错误提示

     1 reg [3:0] decode_data[0:9999] ;            
     2         
     3 always @ (posedge clk1)
     4     if(!reset1) 
     5         begin 
     6             k <= 0 ; 
     7             m <= 0 ; 
     8         end 
     9     else if((reset)&&(fi_flag))
    10         begin 
    11             //decode_data[k] <= my_encode.ana_sign;
    12             k <= k+ 1; 
    13             $fdisplay (oudataFILE,"%b",my_encode.ana_sign); // 接收到的数据进行保存
    14             
    15             
    16             if(i_data[k-2] == my_encode.ana_sign) 
    17                 $display ("%b  OK! %b " ,i_data[k-2],my_encode.ana_sign);
    18             else 
    19                 begin 
    20                     m <= m + 1 ; 
    21                     $display ("%b  ERROR! %b " ,i_data[k-2],my_encode.ana_sign);
    22                 end 

    至于i_data[k-2], 这个为什么是-2,是因为数据数据停滞期是2个时钟

  • 相关阅读:
    返回一个整数数组中子数组的最大值
    软工概论第二周个人项目四则运算二(改进)
    构建之法阅读笔记01
    单例模式
    .net基础加强
    使用jquery easy ui
    抽象工厂类
    System.Linq.Expressions.Expression
    创建上下文对象
    DBSesson
  • 原文地址:https://www.cnblogs.com/sepeng/p/3868948.html
Copyright © 2020-2023  润新知