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

Subversion Repositories uart8systemc

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

Go to most recent revision | 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 = 1;
15
        vpi_put_value(RESET, &reset, NULL, vpiNoDelay);
16
        reset.value.integer = 0;
17
        vpi_put_value(START, &reset, NULL, vpiNoDelay);
18
 
19
        counter = 0;
20
        counter_reset = 0;
21
 
22
        lib_handle = dlopen("./sc_uart.so", RTLD_LAZY);
23
 
24
        if(!lib_handle)
25
        {
26
                fprintf(stderr, "%s\n", dlerror());
27
        }
28
 
29
        create = (Control_SC* (*)())dlsym(lib_handle, "create_object");
30
        destroy = (void (*)(Control_SC*))dlsym(lib_handle, "destroy_object");
31
 
32
        SC_UART = (Control_SC*)create();
33
        SC_UART->set_baud_rate(115200,50);
34
        SC_UART->init();
35
 
36
        reset.value.integer = SC_UART->get_baud_rate();
37
        vpi_put_value(WORK_FR, &reset, NULL, vpiNoDelay);
38
 
39
        SC_UART->reset_set_high();
40
 
41
        tx_value.value.integer = SC_UART->read_tx();
42
        vpi_put_value(RX, &tx_value, NULL, vpiNoDelay);
43
 
44
        vpi_get_value(TX, &rx_value);
45
        SC_UART->write_rx(rx_value.value.integer);
46
 
47
        SC_UART->run_sim();
48
 
49
        return 0;
50
}

powered by: WebSVN 2.1.0

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