IrqGenerator( sc_module_name generatorName, sc_time latency ) : sc_module(generatorName), targSocket(("irq_target_" + boost::lexical_cast<std::string>(generatorName)).c_str()), latency(latency), generator(static_cast<unsigned>(std::time(NULL))) { this->targSocket.register_b_transport(this, &IrqGenerator::b_transport); this->lastIrq = -1; SC_THREAD(generateIrq); end_module(); }
foo(const char* NAME, sc_clock& CLK, const sc_signal<bool>& input, sc_signal<bool>& output ) : sc_module(NAME), I1("I1", CLK, input, sig), I2("I2", CLK, sig, output) { end_module(); }
MemoryAT(sc_module_name name, unsigned int size, sc_time latency = SC_ZERO_TIME) : sc_module(name), socket("mem_socket"), size(size), latency(latency), transId(0), transactionInProgress(false), m_peq(this, &MemoryAT::peq_cb){ this->socket.register_nb_transport_fw(this, &MemoryAT::nb_transport_fw); //this->socket.register_transport_dbg(this, &MemoryAT::transport_dbg); // Reset memory this->mem = new unsigned char[size]; memset(this->mem, 0, size); end_module(); }
sc_module::~sc_module() { delete m_port_vec; delete m_name_gen; orphan_child_objects(); if ( m_module_name_p ) { m_module_name_p->clear_module( this ); // must be before end_module() end_module(); } simcontext()->get_module_registry()->remove( *this ); }
SparseMemoryAT(sc_module_name name, unsigned int size, sc_time latency = SC_ZERO_TIME) : sc_module(name), size(size), latency(latency), transId(0), transactionInProgress(false), m_peq(this, &SparseMemoryAT::peq_cb){ for(int i = 0; i < N_INITIATORS; i++){ this->socket[i] = new tlm_utils::simple_target_socket_tagged<SparseMemoryAT, sockSize>(("mem_socket_" + boost::lexical_cast<std::string>(i)).c_str()); this->socket[i]->register_nb_transport_fw(this, &SparseMemoryAT::nb_transport_fw, i); this->socket[i]->register_transport_dbg(this, &SparseMemoryAT::transport_dbg, i); } // Reset memory end_module(); }
trafficGenerator::trafficGenerator(sc_module_name name, sc_time latency = SC_ZERO_TIME) : sc_module(name), initSocket((boost::lexical_cast<std::string>(name) + "_port").c_str()), latency(latency), completed(false), maxAddress(0), minAddress(0), step(1), size(8), numOfTransissions(1), endMessageAddress(0) { SC_THREAD(action); end_module(); }
testMaster::testMaster(sc_module_name name) : sc_module(name), initSocket((boost::lexical_cast<std::string>(name) + "_port").c_str()){ SC_THREAD(sendChars); srand((unsigned)time(0)); count = 0; end_module(); }
test (const char *NAME) : sc_module(NAME) { SC_CTHREAD( reset_loop, clk.pos() ); reset_signal_is(reset,true); end_module(); }