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

Subversion Repositories riscv_vhdl

[/] [riscv_vhdl/] [trunk/] [debugger/] [src/] [cpu_sysc_plugin/] [riverlib/] [core/] [stacktrbuf.cpp] - Blame information for rev 2

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 sergeykhbr
/**
2
 * @file
3
 * @copyright  Copyright 2017 GNSS Sensor Ltd. All right reserved.
4
 * @author     Sergey Khabarov - sergeykhbr@gmail.com
5
 * @brief      Stack trace buffer on hardware level.
6
 */
7
 
8
#include "stacktrbuf.h"
9
 
10
namespace debugger {
11
 
12
StackTraceBuffer::StackTraceBuffer(sc_module_name name_) : sc_module(name_) {
13
    SC_METHOD(comb);
14
    sensitive << i_raddr;
15
    sensitive << i_we;
16
    sensitive << i_waddr;
17
    sensitive << i_wdata;
18
    sensitive << raddr;
19
 
20
    SC_METHOD(registers);
21
    sensitive << i_clk.pos();
22
};
23
 
24
void StackTraceBuffer::generateVCD(sc_trace_file *i_vcd, sc_trace_file *o_vcd) {
25
}
26
 
27
void StackTraceBuffer::comb() {
28
    o_rdata = stackbuf[raddr.read()];
29
}
30
 
31
void StackTraceBuffer::registers() {
32
    if (i_we.read()) {
33
        stackbuf[i_waddr.read()] = i_wdata;
34
    }
35
    raddr = i_raddr.read();
36
}
37
 
38
}  // namespace debugger
39
 

powered by: WebSVN 2.1.0

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