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

Subversion Repositories uart8systemc

[/] [uart8systemc/] [trunk/] [vpi/] [reset_uart.h] - Blame information for rev 7

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 redbear
static int reset_uart_calltf(char*user_data)
2
{
3
 
4
        vpiHandle RESET = vpi_handle_by_name("module_tb.RESET", NULL);
5 5 redbear
        vpiHandle RX        = vpi_handle_by_name("module_tb.RX", NULL);
6
        vpiHandle TX        = vpi_handle_by_name("module_tb.TX", NULL);
7 7 redbear
        vpiHandle WORK_FR   = vpi_handle_by_name("module_tb.WORK_FR", NULL);
8 2 redbear
 
9
        reset.format=vpiIntVal;
10 5 redbear
        rx_value.format = vpiIntVal;
11
        tx_value.format = vpiIntVal;
12 2 redbear
 
13 7 redbear
        if(SC_UART->reset_set())
14 2 redbear
        {
15 7 redbear
 
16 2 redbear
                reset.value.integer = 1;
17
                vpi_put_value(RESET, &reset, NULL, vpiNoDelay);
18 5 redbear
 
19
                tx_value.value.integer = SC_UART->read_tx();
20
                vpi_put_value(RX, &tx_value, NULL, vpiNoDelay);
21
 
22
                vpi_get_value(TX, &rx_value);
23
                SC_UART->write_rx(rx_value.value.integer);
24 7 redbear
 
25
                reset.value.integer = SC_UART->get_baud_rate();
26
                vpi_put_value(WORK_FR, &reset, NULL, vpiNoDelay);
27
 
28
                //data.clear();
29
                //parity.clear();
30
                //SC_UART->clear_validation();
31 2 redbear
        }
32
        else
33
        {
34
                reset.value.integer = 0;
35
                vpi_put_value(RESET, &reset, NULL, vpiNoDelay);
36
        }
37
 
38
        return 0;
39
}

powered by: WebSVN 2.1.0

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