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

Subversion Repositories uart8systemc

[/] [uart8systemc/] [trunk/] [vpi/] [global_init.h] - Diff between revs 6 and 7

Show entire file | Details | Blame | View Log

Rev 6 Rev 7
Line 9... Line 9...
 
 
        reset.format=vpiIntVal;
        reset.format=vpiIntVal;
        rx_value.format = vpiIntVal;
        rx_value.format = vpiIntVal;
        tx_value.format = vpiIntVal;
        tx_value.format = vpiIntVal;
 
 
        reset.value.integer = 1;
 
        vpi_put_value(RESET, &reset, NULL, vpiNoDelay);
 
        reset.value.integer = 0;
        reset.value.integer = 0;
        vpi_put_value(START, &reset, NULL, vpiNoDelay);
        vpi_put_value(START, &reset, NULL, vpiNoDelay);
 
        vpi_put_value(RESET, &reset, NULL, vpiNoDelay);
 
 
        counter = 0;
        counter = 0;
        counter_reset = 0;
        counter_reset = 0;
 
 
        lib_handle = dlopen("./sc_uart.so", RTLD_LAZY);
        lib_handle = dlopen("./sc_uart.so", RTLD_LAZY);
Line 26... Line 25...
                fprintf(stderr, "%s\n", dlerror());
                fprintf(stderr, "%s\n", dlerror());
        }
        }
 
 
        create = (Control_SC* (*)())dlsym(lib_handle, "create_object");
        create = (Control_SC* (*)())dlsym(lib_handle, "create_object");
        destroy = (void (*)(Control_SC*))dlsym(lib_handle, "destroy_object");
        destroy = (void (*)(Control_SC*))dlsym(lib_handle, "destroy_object");
 
        //ThreadSC  = (ThreadSCRun_dl) dlsym(lib_handle, "ThreadSCRun");
 
 
        SC_UART = (Control_SC*)create();
        SC_UART = (Control_SC*)create();
        SC_UART->set_baud_rate(115200,50);
        //SC_UART->set_baud_rate(115200,50);
        SC_UART->init();
        //SC_UART->init();
        SC_UART->set_period_clock_sc(20);
        //SC_UART->set_period_clock_sc(20);
 
 
        reset.value.integer = SC_UART->get_baud_rate();
        reset.value.integer = SC_UART->get_baud_rate();
        vpi_put_value(WORK_FR, &reset, NULL, vpiNoDelay);
        vpi_put_value(WORK_FR, &reset, NULL, vpiNoDelay);
 
 
        SC_UART->reset_set_high();
 
 
 
        tx_value.value.integer = SC_UART->read_tx();
        tx_value.value.integer = SC_UART->read_tx();
        vpi_put_value(RX, &tx_value, NULL, vpiNoDelay);
        vpi_put_value(RX, &tx_value, NULL, vpiNoDelay);
 
 
        vpi_get_value(TX, &rx_value);
        vpi_get_value(TX, &rx_value);
        SC_UART->write_rx(rx_value.value.integer);
        SC_UART->write_rx(rx_value.value.integer);
 
 
        SC_UART->run_sim();
 
 
 
        return 0;
        return 0;
}
}
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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