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

Subversion Repositories iso7816_3_master

[/] [iso7816_3_master/] [trunk/] [test/] [ComDriverTasks.v] - Blame information for rev 4

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 acapola
 
2
//wire txRun,txPending, rxRun, rxStartBit, isTx, overrunErrorFlag, frameErrorFlag, bufferFull;
3
//assign {txRun, txPending, rxRun, rxStartBit, isTx, overrunErrorFlag, frameErrorFlag, bufferFull} = COM_statusOut;
4
 
5
 
6
task sendByte;
7
  input [7:0] data;
8
  begin
9
      wait(bufferFull==1'b0);
10
      dataIn=data;
11
      nWeDataIn=0;
12
      @(posedge COM_clk);
13
      dataIn=8'hxx;
14
      nWeDataIn=1;
15
      @(posedge COM_clk);
16
        end
17
endtask
18
task sendWord;
19
  input [15:0] data;
20
  begin
21
      sendByte(data[15:8]);
22
                sendByte(data[7:0]);
23
        end
24
endtask
25
task waitEndOfTx;
26
  begin
27
      @(posedge COM_clk)
28
                wait(txPending==0);
29
                wait(isTx==0);
30
        end
31
endtask
32
task privateTaskReceiveByteCore;
33
  begin
34
      wait(txPending==1'b0);//wait start of last tx if any
35
      wait(txRun==1'b0);//wait end of previous transmission if any
36
      wait(bufferFull==1'b1);//wait reception of a byte
37
      @(posedge COM_clk);
38
      nCsDataOut=0;
39
      @(posedge COM_clk);
40
      nCsDataOut=1;
41
        end
42
endtask
43
task receiveByte;
44
output reg [7:0] rxData;
45
        begin
46
                privateTaskReceiveByteCore;
47
                rxData=dataOut;
48
      @(posedge COM_clk);
49
        end
50
endtask
51
task receiveAndCheckByte;
52
  input [7:0] data;
53
  begin
54
      privateTaskReceiveByteCore;
55
      if(data!=dataOut) begin
56
         COM_errorCnt=COM_errorCnt+1;
57
         $display("ERROR %d: Received %x instead of %x",COM_errorCnt, dataOut, data);
58
      end
59
                @(posedge COM_clk);
60
        end
61
endtask
62
 

powered by: WebSVN 2.1.0

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