OpenCores
URL https://opencores.org/ocsvn/oms8051mini/oms8051mini/trunk

Subversion Repositories oms8051mini

[/] [oms8051mini/] [trunk/] [example/] [systemverilog/] [fileio/] [test1/] [top.sv] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 dinesha
`timescale 1ns/1ns
2
 
3
module top;
4
 
5
int iCnt = 5; // number of contents in each row
6
 
7
string iString = "";
8
string iFormateString = "%3h %3h %3h %3h %3h";
9
string iTempString="";
10
integer TvTxPtr,TvTxPtr1=0,i,TvRxPtr;
11
int iRowCnt = 0;
12
reg [55:0]  inData;
13
int     iStringSize[5];
14
int iPos = 0;
15
 
16
initial
17
begin
18
    $display("Starting Testing");
19
    TvTxPtr  =$fopen("input.hex","r");
20
    TvRxPtr  =$fopen("output.hex","w");
21
    if(TvTxPtr == 0 ) begin
22
        $display ("ERROR at (%m): Unable to open the input vector file");
23
        $finish;
24
    end
25
    while (TvTxPtr1 != -1) begin
26
       iString = "";
27
       for(i = 0; i < iCnt; i=i+1) begin
28
           TvTxPtr1 = $fscanf(TvTxPtr,"%s ",iTempString);
29
           if(TvTxPtr1 == -1) break;
30
           iString  = {iString,iTempString};
31
           iStringSize[i] = iTempString.len();
32
 
33
       end
34
        if(TvTxPtr1 == -1) break;
35
 
36
       $sscanf(iString,"%h",inData);
37
       iPos = 0;
38
       $display("Row:%d String: %s; String Length : %d Hex Data: %h",++iRowCnt, iString,iStringSize[i],inData);
39
       for(i = 0; i < iCnt; i=i+1) begin
40
           $write("%d %s ",iStringSize[i],iString.substr(iPos,iPos+iStringSize[i]-1));
41
           if(i == iCnt -1) // If you at last column, bypass the space character
42
              $fwrite(TvRxPtr,"%s",iString.substr(iPos,iPos+iStringSize[i]-1));
43
           else // If you are not at lasy colum, keep a space between next word
44
              $fwrite(TvRxPtr,"%s ",iString.substr(iPos,iPos+iStringSize[i]-1));
45
           iPos = iPos +iStringSize[i];
46
       end
47
       $fwrite(TvRxPtr,"\n");
48
 
49
   end
50
 
51
  $fclose(TvTxPtr);
52
  $fclose(TvRxPtr);
53
  #200;
54
  $finish;
55
 
56
end
57
 
58
 
59
 
60
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.