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

Subversion Repositories xge_mac

[/] [xge_mac/] [trunk/] [tbench/] [systemc/] [sc_cpu_if.cpp] - Diff between revs 17 and 29

Show entire file | Details | Blame | View Log

Rev 17 Rev 29
Line 77... Line 77...
void cpu_if::enable_all_interrupts(void) {
void cpu_if::enable_all_interrupts(void) {
 
 
    write(cpu_if::CPUREG_INT_MASK, 0xffffffff);
    write(cpu_if::CPUREG_INT_MASK, 0xffffffff);
};
};
 
 
 
void cpu_if::get_rmon_stats(rmonStats_t *rmon_stats) {
 
 
 
    rmon_stats->tx_octets_cnt = read(cpu_if::CPUREG_STATSTXOCTETS);
 
    rmon_stats->tx_pkt_cnt = read(cpu_if::CPUREG_STATSTXPKTS);
 
 
 
    rmon_stats->rx_octets_cnt = read(cpu_if::CPUREG_STATSRXOCTETS);
 
    rmon_stats->rx_pkt_cnt = read(cpu_if::CPUREG_STATSRXPKTS);
 
};
 
 
uint cpu_if::read(uint addr) {
uint cpu_if::read(uint addr) {
 
 
    uint data;
    uint data;
 
 
    //--
    //--
Line 238... Line 247...
 
 
            if ((data >> cpu_if::INT_FRAGMENT_ERROR) & 0x1) {
            if ((data >> cpu_if::INT_FRAGMENT_ERROR) & 0x1) {
               sb->notify_status(sb_id, scoreboard::FRAGMENT_ERROR);
               sb->notify_status(sb_id, scoreboard::FRAGMENT_ERROR);
            }
            }
 
 
 
            if ((data >> cpu_if::INT_LENGHT_ERROR) & 0x1) {
 
               sb->notify_status(sb_id, scoreboard::LENGHT_ERROR);
 
            }
 
 
            if ((data >> cpu_if::INT_LOCAL_FAULT) & 0x1) {
            if ((data >> cpu_if::INT_LOCAL_FAULT) & 0x1) {
 
 
                data = read(cpu_if::CPUREG_INT_STATUS);
                data = read(cpu_if::CPUREG_INT_STATUS);
 
 
                if ((data >> cpu_if::INT_LOCAL_FAULT) & 0x1) {
                if ((data >> cpu_if::INT_LOCAL_FAULT) & 0x1) {

powered by: WebSVN 2.1.0

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