Commit f1f5e359 authored by Ricardo Soares Ribolli's avatar Ricardo Soares Ribolli
Browse files

Finished TP2

parent cdaf1bd6
......@@ -24,11 +24,18 @@ MBWrapper::MBWrapper(sc_core::sc_module_name name)
m_iss.reset();
m_iss.setIrq(false);
SC_THREAD(run_iss);
/* The method that is needed to forward the interrupts from the SystemC
* environment to the ISS need to be declared here */
/* The method that is needed to forward the interrupts from the SystemC
* environment to the ISS */
SC_METHOD(interrupt_handler);
sensitive << irq;
}
/* IRQ forwarding method to be defined here */
/* IRQ forwarding method */
void MBWrapper::interrupt_handler() {
irq_counter = 0;
m_iss.setIrq(true);
}
void MBWrapper::exec_data_request(enum iss_t::DataAccessType mem_type,
uint32_t mem_addr, uint32_t mem_wdata) {
......@@ -38,7 +45,12 @@ void MBWrapper::exec_data_request(enum iss_t::DataAccessType mem_type,
case iss_t::READ_WORD: {
/* The ISS requested a data read
(mem_addr into localbuf). */
abort(); // TODO
status = socket.read(mem_addr, localbuf);
if (status != tlm::TLM_OK_RESPONSE) {
std::cerr << "Error reading from socket" << std::endl;
abort();
}
localbuf = uint32_machine_to_be(localbuf);
#ifdef DEBUG
std::cout << hex << "read " << setw(10) << localbuf
<< " at address " << mem_addr << std::endl;
......@@ -59,7 +71,12 @@ void MBWrapper::exec_data_request(enum iss_t::DataAccessType mem_type,
case iss_t::WRITE_WORD: {
/* The ISS requested a data write
(mem_wdata at mem_addr). */
abort(); // TODO
localbuf = uint32_be_to_machine(mem_wdata);
status = socket.write(mem_addr, localbuf);
if (status != tlm::TLM_OK_RESPONSE) {
std::cerr << "Error writing to socket" << std::endl;
abort();
}
#ifdef DEBUG
std::cout << hex << "wrote " << setw(10) << mem_wdata
<< " at address " << mem_addr << std::endl;
......@@ -89,8 +106,14 @@ void MBWrapper::run_iss(void) {
/* The ISS requested an instruction.
* We have to do the instruction fetch
* by reading from memory. */
abort(); // TODO
tlm::tlm_response_status status;
uint32_t localbuf;
status = socket.read(ins_addr, localbuf);
if (status != tlm::TLM_OK_RESPONSE) {
std::cerr << "Error reading from socket" << std::endl;
abort();
}
localbuf = uint32_machine_to_be(localbuf);
m_iss.setInstruction(0, localbuf);
}
......@@ -106,7 +129,10 @@ void MBWrapper::run_iss(void) {
mem_wdata);
}
m_iss.step();
/* IRQ handling to be done */
if (++irq_counter == 5) {
m_iss.setIrq(false);
}
}
wait(PERIOD);
......
mb_wrapper.o: mb_wrapper.cpp mb_wrapper.h ../../ensitlm/ensitlm.h \
microblaze.h iss.h /matieres/5MMMTSP/tlm/systemc-2.3.2//include/systemc \
soclib_endian.h register.h
mb_wrapper.h:
../../ensitlm/ensitlm.h:
microblaze.h:
iss.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/systemc:
soclib_endian.h:
register.h:
......@@ -18,16 +18,16 @@ struct MBWrapper : sc_core::sc_module {
sc_core::sc_in<bool> irq;
void run_iss(void);
/* Add stuff relative to irq handling */
SC_CTOR(MBWrapper);
private:
typedef soclib::common::MicroBlazeIss iss_t;
void exec_data_request(enum iss_t::DataAccessType mem_type,
uint32_t mem_addr, uint32_t mem_wdata);
void interrupt_handler();
iss_t m_iss;
uint32_t irq_counter;
};
#endif // MB_WRAPPER_H
microblaze.o: microblaze.cpp microblaze.h iss.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/systemc \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_cmnhdr.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_externs.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_except.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_cmnhdr.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_module.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_kernel_ids.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_report.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_report_handler.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_process.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_constants.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_object.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_attribute.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_export.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_communication_ids.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_interface.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_typeindex.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_module_name.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_sensitive.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_time.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_nbdefs.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/fx/scfx_ieee.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/fx/sc_fxdefs.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_machine.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/detail/endian.hpp \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/fx/sc_fx_ids.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_nbutils.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_bit_ids.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_int_ids.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_wait.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_simcontext.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_status.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_hash.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_pq.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_wait_cthread.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_logic.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_macros.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_mempool.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_bit.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_process_handle.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_module.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_list.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_simcontext.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_process_handle.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_ver.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_writer_policy.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_buffer.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_port.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_event.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_prim_channel.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_ifs.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/tracing/sc_trace.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_clock.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_clock_ports.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_ports.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_event_finder.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_event_queue.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_export.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_fifo.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_fifo_ifs.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_fifo_ports.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_mutex.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_mutex_if.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_semaphore.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_semaphore_if.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_ports.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_resolved.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_resolved_ports.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_rv.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_lv.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_lv_base.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_bv_base.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_bit_proxies.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_proxy.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_signed.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/misc/sc_value_base.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_temporary.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_length_param.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/fx/sc_context.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_nbexterns.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_unsigned.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_int_base.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_uint_base.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_rv_ports.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_rv.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_bit.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_logic.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_bv.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_lv.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_bigint.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_biguint.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_int.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_uint.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/misc/sc_concatref.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_bv.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/tracing/sc_trace.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_utils_ids.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_pvector.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_string_view.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/utility/string_view.hpp \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config.hpp \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/user.hpp \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/select_compiler_config.hpp \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/compiler/gcc.hpp \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/select_stdlib_config.hpp \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/stdlib/libstdcpp3.hpp \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/select_platform_config.hpp \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/platform/linux.hpp \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/posix_features.hpp \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/suffix.hpp \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/utility/string_view_fwd.hpp \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_vector.h \
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/utility/enable_if.hpp \
soclib_endian.h register.h arithmetics.h
microblaze.h:
iss.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/systemc:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_cmnhdr.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_externs.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_except.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_cmnhdr.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_module.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_kernel_ids.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_report.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_report_handler.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_process.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_constants.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_object.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_attribute.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_export.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_communication_ids.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_interface.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_typeindex.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_module_name.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_sensitive.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_time.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_nbdefs.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/fx/scfx_ieee.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/fx/sc_fxdefs.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_machine.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/detail/endian.hpp:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/fx/sc_fx_ids.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_nbutils.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_bit_ids.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_int_ids.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_wait.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_simcontext.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_status.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_hash.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_pq.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_wait_cthread.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_logic.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_macros.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_mempool.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_bit.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_process_handle.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_module.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_list.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_simcontext.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_process_handle.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_ver.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_writer_policy.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_buffer.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_port.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/kernel/sc_event.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_prim_channel.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_ifs.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/tracing/sc_trace.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_clock.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_clock_ports.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_ports.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_event_finder.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_event_queue.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_export.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_fifo.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_fifo_ifs.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_fifo_ports.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_mutex.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_mutex_if.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_semaphore.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_semaphore_if.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_ports.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_resolved.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_resolved_ports.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_rv.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_lv.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_lv_base.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_bv_base.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_bit_proxies.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_proxy.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_signed.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/misc/sc_value_base.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_temporary.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_length_param.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/fx/sc_context.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_nbexterns.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_unsigned.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_int_base.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_uint_base.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_rv_ports.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/communication/sc_signal_rv.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_bit.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_logic.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_bv.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_lv.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_bigint.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_biguint.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_int.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/int/sc_uint.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/misc/sc_concatref.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/datatypes/bit/sc_bv.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/tracing/sc_trace.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_utils_ids.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_pvector.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_string_view.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/utility/string_view.hpp:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config.hpp:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/user.hpp:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/select_compiler_config.hpp:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/compiler/gcc.hpp:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/select_stdlib_config.hpp:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/stdlib/libstdcpp3.hpp:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/select_platform_config.hpp:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/platform/linux.hpp:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/posix_features.hpp:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/config/suffix.hpp:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/utility/string_view_fwd.hpp:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/utils/sc_vector.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/sysc/packages/boost/utility/enable_if.hpp:
soclib_endian.h:
register.h:
arithmetics.h:
......@@ -31,7 +31,7 @@ int sc_main(int, char **) {
Vga vga("vga");
Intc intc("intc");
Gpio gpio("gpio");
UART uart("uart");
sc_core::sc_signal<bool> timer_irq("timer_irq");
sc_core::sc_signal<bool> vga_irq("vga_irq");
......@@ -64,6 +64,7 @@ int sc_main(int, char **) {
bus.initiator(timer.target);
bus.initiator(gpio.target);
bus.initiator(intc.target);
bus.initiator(uart.target);
// interrupts
vga.irq(vga_irq);
......@@ -79,7 +80,7 @@ int sc_main(int, char **) {
bus.map(gpio.target, GPIO_BASEADDR, GPIO_SIZE);
bus.map(timer.target, TIMER_BASEADDR, TIMER_SIZE);
bus.map(intc.target, INTC_BASEADDR, INTC_SIZE);
bus.map(uart.target, UART_BASEADDR, UART_SIZE);
// start the simulation
sc_core::sc_start();
......
sc_main_iss.o: sc_main_iss.cpp mb_wrapper.h ../../ensitlm/ensitlm.h \
microblaze.h iss.h /matieres/5MMMTSP/tlm/systemc-2.3.2//include/systemc \
soclib_endian.h register.h ../hardware/memory.h ../../ensitlm/bus.h \
../../ensitlm/ensitlm.h ../hardware/fast-bus.h ../hardware/timer.h \
../hardware/uart.h ../hardware/vga.h /usr/include/SDL/SDL.h \
/usr/include/SDL/SDL_main.h /usr/include/SDL/SDL_stdinc.h \
/usr/include/SDL/SDL_config.h /usr/include/SDL/SDL_config-x86_64.h \
/usr/include/SDL/SDL_platform.h /usr/include/SDL/begin_code.h \
/usr/include/SDL/close_code.h /usr/include/SDL/SDL_audio.h \
/usr/include/SDL/SDL_error.h /usr/include/SDL/SDL_endian.h \
/usr/include/SDL/SDL_mutex.h /usr/include/SDL/SDL_thread.h \
/usr/include/SDL/SDL_rwops.h /usr/include/SDL/SDL_cdrom.h \
/usr/include/SDL/SDL_cpuinfo.h /usr/include/SDL/SDL_events.h \
/usr/include/SDL/SDL_active.h /usr/include/SDL/SDL_keyboard.h \
/usr/include/SDL/SDL_keysym.h /usr/include/SDL/SDL_mouse.h \
/usr/include/SDL/SDL_video.h /usr/include/SDL/SDL_joystick.h \
/usr/include/SDL/SDL_quit.h /usr/include/SDL/SDL_loadso.h \
/usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h \
../hardware/intc.h ../hardware/gpio.h ../address_map.h \
../hardware/offsets/gpio.h ../hardware/offsets/timer.h \
../hardware/offsets/vga.h ../hardware/offsets/uart.h \
../hardware/offsets/intc.h ../elf-loader/loader/include/loader.h \
../elf-loader/loader/include/binary_file_symbol.h \
../elf-loader/loader/include/binary_file_section.h \
../elf-loader/loader/include/exception.h
mb_wrapper.h:
../../ensitlm/ensitlm.h:
microblaze.h:
iss.h:
/matieres/5MMMTSP/tlm/systemc-2.3.2//include/systemc:
soclib_endian.h:
register.h:
../hardware/memory.h:
../../ensitlm/bus.h:
../../ensitlm/ensitlm.h:
../hardware/fast-bus.h:
../hardware/timer.h:
../hardware/uart.h:
../hardware/vga.h:
/usr/include/SDL/SDL.h:
/usr/include/SDL/SDL_main.h:
/usr/include/SDL/SDL_stdinc.h:
/usr/include/SDL/SDL_config.h:
/usr/include/SDL/SDL_config-x86_64.h:
/usr/include/SDL/SDL_platform.h:
/usr/include/SDL/begin_code.h:
/usr/include/SDL/close_code.h:
/usr/include/SDL/SDL_audio.h:
/usr/include/SDL/SDL_error.h:
/usr/include/SDL/SDL_endian.h:
/usr/include/SDL/SDL_mutex.h:
/usr/include/SDL/SDL_thread.h:
/usr/include/SDL/SDL_rwops.h:
/usr/include/SDL/SDL_cdrom.h:
/usr/include/SDL/SDL_cpuinfo.h: