implementation started
This commit is contained in:
parent
e332ef87c1
commit
4b25eb0b29
60
etc/irq_wave.sav
Normal file
60
etc/irq_wave.sav
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
[*]
|
||||||
|
[*] GTKWave Analyzer v3.3.66 (w)1999-2015 BSI
|
||||||
|
[*] Fri Sep 22 20:16:21 2017
|
||||||
|
[*]
|
||||||
|
[dumpfile] "/home/valid/project/minres2/SystemC-Components-Test/simple_system.vcd"
|
||||||
|
[dumpfile_mtime] "Fri Sep 22 20:15:38 2017"
|
||||||
|
[dumpfile_size] 69714
|
||||||
|
[savefile] "/home/valid/project/minres2/SystemC-Components-Test/etc/irq_wave.sav"
|
||||||
|
[timestart] 4
|
||||||
|
[size] 1920 924
|
||||||
|
[pos] -1 -1
|
||||||
|
*-3.538420 30 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
|
||||||
|
[sst_width] 397
|
||||||
|
[signals_width] 422
|
||||||
|
[sst_expanded] 1
|
||||||
|
[sst_vpaned_height] 334
|
||||||
|
@200
|
||||||
|
-System signals
|
||||||
|
@28
|
||||||
|
SystemC.\i_simple_system.s_rst
|
||||||
|
@24
|
||||||
|
SystemC.\i_simple_system.s_clk[63:0]
|
||||||
|
@28
|
||||||
|
SystemC.\i_simple_system.s_core_interrupt
|
||||||
|
SystemC.\i_simple_system.s_global_interrupts_0
|
||||||
|
SystemC.\i_simple_system.s_global_interrupts_1
|
||||||
|
SystemC.\i_simple_system.s_global_interrupts_2
|
||||||
|
SystemC.\i_simple_system.s_global_interrupts_3
|
||||||
|
SystemC.\i_simple_system.s_global_interrupts_4
|
||||||
|
@200
|
||||||
|
-Master
|
||||||
|
@28
|
||||||
|
SystemC.\i_simple_system.i_master.rst_i
|
||||||
|
SystemC.\i_simple_system.i_master.core_interrupt_i
|
||||||
|
@200
|
||||||
|
-PLIC ports
|
||||||
|
@24
|
||||||
|
SystemC.\i_simple_system.i_plic.rst_i
|
||||||
|
SystemC.\i_simple_system.i_plic.clk_i[63:0]
|
||||||
|
@28
|
||||||
|
SystemC.\i_simple_system.i_plic.global_interrupts_i_0
|
||||||
|
SystemC.\i_simple_system.i_plic.global_interrupts_i_1
|
||||||
|
SystemC.\i_simple_system.i_plic.global_interrupts_i_2
|
||||||
|
SystemC.\i_simple_system.i_plic.global_interrupts_i_3
|
||||||
|
SystemC.\i_simple_system.i_plic.global_interrupts_i_4
|
||||||
|
@200
|
||||||
|
-PLIC regs
|
||||||
|
@22
|
||||||
|
SystemC.\i_simple_system.i_plic.regs.enabled[31:0]
|
||||||
|
SystemC.\i_simple_system.i_plic.regs.pending[31:0]
|
||||||
|
@23
|
||||||
|
SystemC.\i_simple_system.i_plic.regs.priority0[31:0]
|
||||||
|
@22
|
||||||
|
SystemC.\i_simple_system.i_plic.regs.priority1[31:0]
|
||||||
|
SystemC.\i_simple_system.i_plic.regs.priority2[31:0]
|
||||||
|
SystemC.\i_simple_system.i_plic.regs.priority3[31:0]
|
||||||
|
SystemC.\i_simple_system.i_plic.regs.threshold[31:0]
|
||||||
|
SystemC.\i_simple_system.i_plic.regs.claim_complete[31:0]
|
||||||
|
[pattern_trace] 1
|
||||||
|
[pattern_trace] 0
|
@ -23,7 +23,7 @@
|
|||||||
#include "simple_system.h"
|
#include "simple_system.h"
|
||||||
#include <sysc/tracer.h>
|
#include <sysc/tracer.h>
|
||||||
#include <sysc/scv_tr_db.h>
|
#include <sysc/scv_tr_db.h>
|
||||||
#include <sr_report/sr_report.h>
|
#include <sysc/report.h>
|
||||||
#include <boost/program_options.hpp>
|
#include <boost/program_options.hpp>
|
||||||
#include <sysc/report.h>
|
#include <sysc/report.h>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
@ -38,8 +38,14 @@ const size_t ERROR_UNHANDLED_EXCEPTION = 2;
|
|||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
int sc_main(int argc, char* argv[]){
|
int sc_main(int argc, char* argv[]){
|
||||||
|
|
||||||
|
// Environment adaptations
|
||||||
|
putenv(const_cast<char*>("SC_SIGNAL_WRITE_CHECK=DISABLE"));
|
||||||
|
|
||||||
// sc_report_handler::set_handler(my_report_handler);
|
// sc_report_handler::set_handler(my_report_handler);
|
||||||
sysc::Logger::reporting_level()=log::DEBUG;
|
sysc::Logger::reporting_level()=log::DEBUG;
|
||||||
|
// todo: add module-name to log-file
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// CLI argument parsing
|
// CLI argument parsing
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
@ -67,6 +73,8 @@ int sc_main(int argc, char* argv[]){
|
|||||||
// set up tracing & transaction recording
|
// set up tracing & transaction recording
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
sysc::tracer trace("simple_system", sysc::tracer::TEXT, vm.count("trace"));
|
sysc::tracer trace("simple_system", sysc::tracer::TEXT, vm.count("trace"));
|
||||||
|
// todo: fix displayed clock period in VCD
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// instantiate top level
|
// instantiate top level
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
@ -76,8 +84,13 @@ int sc_main(int argc, char* argv[]){
|
|||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// run simulation
|
// run simulation
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
sc_start(sc_core::sc_time(100, sc_core::SC_NS));
|
sc_start(sc_core::sc_time(1, sc_core::SC_MS));
|
||||||
if(!sc_end_of_simulation_invoked()) sc_stop();
|
// todo: provide end-of-simulation macros
|
||||||
|
|
||||||
|
if(!sc_core::sc_end_of_simulation_invoked()) {
|
||||||
|
LOG(logging::ERROR) << "simulation timed out";
|
||||||
|
sc_stop();
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user