Exemple #1
0
 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();
 }
Exemple #2
0
    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();
    }
Exemple #3
0
    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();
    }
Exemple #4
0
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 );
}
Exemple #5
0
    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();
}
Exemple #7
0
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();
}
Exemple #8
0
 test (const char *NAME) : sc_module(NAME) {
   SC_CTHREAD( reset_loop, clk.pos() );
   reset_signal_is(reset,true);
   end_module();
 }