#include "simple_master.h"
#include "simple_slave.h"
#include "AXI_bus.h"
SC_MODULE(Simple_system) {
simple_master* simple_m;
simple_master* simple_m2;
simple_slave* simple_s;
AXI_BUS*bus;
AXI_SIGNALS slave_wire[1];
AXI_SIGNALS master_wire[2];
sc_clock sys_clock;
AXI_SIGNALS wire;
SC_CTOR(Simple_system) {
simple_m = new simple_master("master");
simple_m2 = new simple_master("master2");
simple_s = new simple_slave("slave", 0x0000, 1000);
bus = new AXI_BUS("Bus", 2, 1);
simple_m->m_if->clk(sys_clock);
simple_m2->m_if->clk(sys_clock);
simple_s->s_if->clk(sys_clock);
bus->clk(sys_clock);
bind_port_signal(&(simple_m->m_if->ports), master_wire[0]);
bind_port_signal(&(simple_m2->m_if->ports), master_wire[1]);
bind_port_signal(&(simple_s->s_if->ports), slave_wire[0]);
bind_port_signal(&(bus->mPorts[0]), master_wire[0]);
bind_port_signal(&(bus->mPorts[1]), master_wire[1]);
bind_port_signal(&(bus->sPorts[0]), slave_wire[0]);
}
};