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

Subversion Repositories spacewiresystemc

[/] [spacewiresystemc/] [trunk/] [vpi/] [vpi_test_suit/] [receive_rx_spw.h] - Diff between revs 5 and 40

Only display areas with differences | Details | Blame | View Log

Rev 5 Rev 40
static int receive_rx_spw_calltf(char*user_data)
static int receive_rx_spw_calltf(char*user_data)
{
{
        vpiHandle DATA_O   = vpi_handle_by_name("module_tb.DATA_O",NULL);
        vpiHandle DATA_O   = vpi_handle_by_name("module_tb.DATA_O",NULL);
        vpiHandle RD_DATA  = vpi_handle_by_name("module_tb.RD_DATA",NULL);
        vpiHandle RD_DATA  = vpi_handle_by_name("module_tb.RD_DATA",NULL);
        vpiHandle RX_EMPTY = vpi_handle_by_name("module_tb.RX_EMPTY",NULL);
        vpiHandle RX_EMPTY = vpi_handle_by_name("module_tb.RX_EMPTY",NULL);
 
 
        value_to_rx.format = vpiIntVal;
        value_to_rx.format = vpiIntVal;
 
 
        if(SC_TOP->reset_set())
        if(SC_TOP->reset_set())
        {
        {
                switch(state_test_rx)
                switch(state_test_rx)
                {
                {
                        case WAIT_DATA:
                        case WAIT_DATA:
                                vpi_get_value(RX_EMPTY, &value_to_rx);
                                vpi_get_value(RX_EMPTY, &value_to_rx);
                                if(value_to_rx.value.integer == 1)
                                if(value_to_rx.value.integer == 1)
                                {
                                {
                                        value_to_rx.value.integer = 0;
                                        value_to_rx.value.integer = 0;
                                        vpi_put_value(RD_DATA, &value_to_rx, NULL, vpiNoDelay);
                                        vpi_put_value(RD_DATA, &value_to_rx, NULL, vpiNoDelay);
                                }else
                                }else
                                {
                                {
                                        value_to_rx.value.integer = 1;
                                        value_to_rx.value.integer = 1;
                                        vpi_put_value(RD_DATA, &value_to_rx, NULL, vpiNoDelay);
                                        vpi_put_value(RD_DATA, &value_to_rx, NULL, vpiNoDelay);
                                        state_test_rx =59;
                                        state_test_rx =59;
                                }
                                }
                        break;
                        break;
                        case 59:
                        case 59:
                                        state_test_rx =70;
                                        state_test_rx =70;
                        break;
                        break;
                        case 70:
                        case 70:
                                        state_test_rx =71;
                                        state_test_rx =71;
                        break;
                        break;
                        case 71:
                        case 71:
                                        state_test_rx =72;
                                        state_test_rx =72;
                        break;
                        break;
                        case 72:
                        case 72:
                                        state_test_rx =73;
                                        state_test_rx =73;
                        break;
                        break;
                        case 73:
                        case 73:
                                        state_test_rx =74;
                                        state_test_rx =74;
                        break;
                        break;
                        case 74:
                        case 74:
                                        state_test_rx =60;
                                        state_test_rx =60;
                        break;
                        break;
                        case 60:
                        case 60:
                                vpi_get_value(DATA_O, &value_to_rx);
                                vpi_get_value(DATA_O, &value_to_rx);
                                SC_TOP->data_o(value_to_rx.value.integer,data_iteration_vlog);
                                SC_TOP->data_o(value_to_rx.value.integer,data_iteration_vlog);
                                data_iteration_vlog++;
                                data_iteration_vlog++;
                                state_test_rx =61;
                                state_test_rx =61;
                        break;
                        break;
                        case 61:
                        case 61:
                                state_test_rx =WAIT_DATA;
                                state_test_rx =WAIT_DATA;
                                value_to_rx.value.integer = 0;
                                value_to_rx.value.integer = 0;
                                vpi_put_value(RD_DATA, &value_to_rx, NULL, vpiNoDelay);
                                vpi_put_value(RD_DATA, &value_to_rx, NULL, vpiNoDelay);
 
 
                                if(data_iteration_vlog > SC_TOP->size_data_test())
                                if(data_iteration_vlog > SC_TOP->size_data_test_sc())
                                        data_iteration_vlog = 0;
                                        data_iteration_vlog = 0;
                        break;
                        break;
                }
                }
        }
        }
 
 
        return 0;
        return 0;
}
}
 
 

powered by: WebSVN 2.1.0

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