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

Subversion Repositories pcie_ds_dma

[/] [pcie_ds_dma/] [trunk/] [soft/] [linux/] [application/] [wb_test/] [src/] [work/] [wb_teststrm.h] - Blame information for rev 31

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dsmv
 
2
#include "tf_testbufm2.h"
3
#include "tf_workparam.h"
4
#include "tf_test.h"
5
 
6
class CL_WBPEX;
7
 
8
 
9
class WB_TestStrm : public TF_WorkParam, public TF_Test
10
{
11
 
12
 
13
    struct ParamExchange
14
    {
15
        U32 Strm;
16
        U32 Mode;
17
        U32 BlockWr;
18
        U32 BlockRd;
19
        U32 BlockOk;
20
        U32 BlockError;
21
        U32 TotalError;
22
        U32 DataType;           // Тип данных при фиксированном типе блока, 6 - счётчик, 8 - псевдослучайная последовательность
23
        U32 DataFix;            // 1 - фиксированный тип блока, 0 - данные в блоке записят от номера блока
24
        U32     trd;
25
        float   VelocityCurrent;
26
        float   VelocityAvarage;
27
        float   fftTime_us;
28
        TF_TestBufM2 testBuf;
29
 
30 31 dsmv
        long time_start;
31
        long time_last;
32 2 dsmv
        U32 BlockLast;
33
        U32 freeCycle;
34
        U32 freeCycleZ;
35
 
36
 
37
        ParamExchange()
38
        {
39
            Strm=0;
40
            Mode=0;
41
            BlockWr=0;
42
            BlockRd=0;
43
            BlockOk=0;
44
            BlockError=0;
45
            TotalError=0;
46
            DataType=0;
47
            DataFix=0;
48
            trd=0;
49
            VelocityCurrent=0;
50
            VelocityAvarage=0;
51
            time_start=0;
52
            time_last=0;
53
            BlockLast=0;
54
            freeCycle=0;
55
            freeCycleZ=0;
56
        }
57
    };
58
 
59
    UINT ThreadId;
60
 
61
    pthread_t hThread;
62
    pthread_attr_t  attrThread_;
63
 
64
 
65
    CL_WBPEX  *pBrd;
66
 
67
    static void* ThreadFunc( void* lpvThreadParm );
68
    static void* ThreadFuncIsvi( void* lpvThreadParm );
69
 
70
public:
71
 
72
    WB_TestStrm( BRDCHAR* fname, CL_WBPEX *fotr );
73
    virtual ~WB_TestStrm();
74
 
75
    virtual void Prepare( void );
76
    virtual void Start( void );
77
    virtual void Stop( void );
78
    virtual int isComplete( void );
79
    virtual void GetResult( void );
80
    virtual void Step( void );
81
 
82
    U32 Execute( void );
83
 
84
 
85
    //! Установка параметров по умолчанию
86
    virtual void SetDefault( void );
87
 
88
    //! Расчёт параметров
89
    virtual void CalculateParams( void );
90
 
91
    //! Отображение параметров
92
    virtual void ShowParam( void );
93
 
94
 
95
    U32 Terminate;
96
 
97
    U32 CntBuffer;                      // Число буферов стрима
98
    U32 CntBlockInBuffer;       // Число блоков в буфере
99
    U32 SizeBlockOfWords;       // Размер блока в словах
100
    U32 SizeBlockOfBytes;       // Размер блока в байтах
101
    U32 SizeBuferOfBytes;       // Размер буфера в байтах
102
    U32 SizeStreamOfBytes;      // Общий размер буфера стрима
103
    U32 isCycle;                        // 1 - циклический режим работы стрима
104
    U32 isSystem;                       // 1 - системная память
105
    U32 isAgreeMode;            // 1 - согласованный режим
106
 
107
    U32 strmNo;         // номер стрима
108
    U32 isTest;         // 1 - проверка псевдослучайной последовательности, 2 - проверка тестовой последовательности
109
 
110
 
111
    U32 isFifoRdy;      // 1 - генератор тестовой последовательности анализирует флаг готовности FIFO
112
    U32 Cnt1;           // Число тактов записи в FIFO, 0 - постоянная запись в FIFO
113
    U32 Cnt2;           // Число тактов паузы при записи в FIFO
114
    U32 DataType;       // Тип данных при фиксированном типе блока, 6 - счётчик, 8 - псевдослучайная последовательность
115
    U32 DataFix;        // 1 - фиксированный тип блока, 0 - данные в блоке записят от номера блока
116
 
117
    U32 BlockMode;      // режим проверки
118
 
119
 
120
    U32 lc_status;
121
 
122
    ParamExchange       rd0;
123
 
124
 
125
 
126
    void ReceiveData(  ParamExchange *pr );
127
 
128
 
129
 
130
private :
131
 
132
    bool isFirstCallStep;
133
 
134 19 dsmv
    void PrepareWb( void );
135 2 dsmv
 
136
 
137
 
138
 
139
 
140
};

powered by: WebSVN 2.1.0

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