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

Subversion Repositories spacewiresystemc

[/] [spacewiresystemc/] [trunk/] [vpi/] [vpi_test_stress/] [write_tx_time_code_spw_ultra_light.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 redbear
static int write_tx_time_code_spw_ultra_light_calltf(char*user_data)
2
{
3 13 redbear
        vpiHandle TX_TIMEC      = vpi_handle_by_name("module_tb.TOP_TX_TIME",NULL);
4
        vpiHandle TX_TICKE      = vpi_handle_by_name("module_tb.TOP_TX_TICK",NULL);
5
        vpiHandle TX_TICKREADY  = vpi_handle_by_name("module_tb.TOP_TX_READY_TICK",NULL);
6 5 redbear
 
7 13 redbear
        value_to_tx_timec.format = vpiIntVal;
8
 
9
        if(SC_TOP->reset_set())
10
        {
11
 
12
                if(SC_TOP->enable_time_code_tx_test())
13
                {
14
                        switch(state_test_tx_timec)
15
                        {
16
                                case SEND_DATA:
17
 
18
                                        value_to_tx_timec.value.integer = 0;
19
                                        vpi_put_value(TX_TICKE, &value_to_tx_timec, NULL, vpiNoDelay);
20
                                        state_test_tx_timec = 59;
21
                                break;
22
                                case 59:
23
 
24
                                        value_to_tx_timec.value.integer = timecode;
25
                                        vpi_put_value(TX_TIMEC, &value_to_tx_timec, NULL, vpiNoDelay);
26
 
27
                                        vpi_get_value(TX_TICKREADY, &value_to_tx_timec);
28
 
29
                                        if(value_to_tx_timec.value.integer == 0)
30
                                        {
31
                                                value_to_tx_timec.value.integer = 1;
32
                                                vpi_put_value(TX_TICKE , &value_to_tx_timec, NULL, vpiNoDelay);
33
                                                state_test_tx_timec = WAIT_DATA;
34
                                        }
35
 
36
                                break;
37
                                case WAIT_DATA:
38
 
39
                                        vpi_get_value(TX_TICKREADY, &value_to_tx_timec);
40
 
41
                                        if(value_to_tx_timec.value.integer == 1)
42
                                        {
43
                                                state_test_tx_timec = 60;
44
 
45
                                                value_to_tx_timec.value.integer = 0;
46
                                                vpi_put_value(TX_TICKE, &value_to_tx_timec, NULL, vpiNoDelay);
47
 
48
                                                //if(position > SC_TOP->size_data_test())
49
                                                //{
50
                                                //      value_to_tx.value.integer = 0;
51
                                                //      vpi_put_value(TX_WRITE, &value_to_tx, NULL, vpiNoDelay);
52
                                                //      state_test = 60;        
53
                                                //}                                     
54
                                        }
55
                                        else
56
                                        {
57
                                        }
58
                                break;
59
                                case 60:
60
                                        state_test_tx_timec = SEND_DATA;
61
                                        timecode = timecode + 1;
62
                                break;
63
                        }
64
                }
65
                else
66
                {
67
                        state_test_tx_timec = SEND_DATA;
68
                }
69
        }
70
 
71 5 redbear
        return 0;
72
}

powered by: WebSVN 2.1.0

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