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

Subversion Repositories uart8systemc

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 redbear
static int global_init_calltf(char*user_data)
2
{
3
 
4
        vpiHandle RESET     = vpi_handle_by_name("module_tb.RESET", NULL);
5
        vpiHandle START     = vpi_handle_by_name("module_tb.START", NULL);
6
        vpiHandle WORK_FR   = vpi_handle_by_name("module_tb.WORK_FR", NULL);
7
        vpiHandle RX        = vpi_handle_by_name("module_tb.RX", NULL);
8
        vpiHandle TX        = vpi_handle_by_name("module_tb.TX", NULL);
9
 
10
        reset.format=vpiIntVal;
11
        rx_value.format = vpiIntVal;
12
        tx_value.format = vpiIntVal;
13
 
14
        reset.value.integer = 0;
15
        vpi_put_value(START, &reset, NULL, vpiNoDelay);
16 7 redbear
        vpi_put_value(RESET, &reset, NULL, vpiNoDelay);
17 2 redbear
 
18
        counter = 0;
19
        counter_reset = 0;
20
 
21
        lib_handle = dlopen("./sc_uart.so", RTLD_LAZY);
22
 
23
        if(!lib_handle)
24
        {
25
                fprintf(stderr, "%s\n", dlerror());
26
        }
27
 
28
        create = (Control_SC* (*)())dlsym(lib_handle, "create_object");
29
        destroy = (void (*)(Control_SC*))dlsym(lib_handle, "destroy_object");
30 7 redbear
        //ThreadSC  = (ThreadSCRun_dl) dlsym(lib_handle, "ThreadSCRun");
31 2 redbear
 
32
        SC_UART = (Control_SC*)create();
33 7 redbear
        //SC_UART->set_baud_rate(115200,50);
34
        //SC_UART->init();
35
        //SC_UART->set_period_clock_sc(20);
36 2 redbear
 
37
        reset.value.integer = SC_UART->get_baud_rate();
38
        vpi_put_value(WORK_FR, &reset, NULL, vpiNoDelay);
39
 
40
        tx_value.value.integer = SC_UART->read_tx();
41
        vpi_put_value(RX, &tx_value, NULL, vpiNoDelay);
42
 
43
        vpi_get_value(TX, &rx_value);
44
        SC_UART->write_rx(rx_value.value.integer);
45
 
46
        return 0;
47
}

powered by: WebSVN 2.1.0

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