Exemple #1
0
    module_base (sc_module_name n) : sc_module (n),
        clk("clk"), i1("i1"), o1("o1"), reg1("reg1") {
        SC_METHOD(trans_module_base);
        sensitive << clk.pos();
        dont_initialize();

        SC_METHOD(gen_module_base);
        sensitive << clk.neg();
        dont_initialize();
    }
	/** constructor for initiator class **/ 
	initiator(sc_module_name name) : sc_module(name), socket("socket") { 
		bitnr = 0; 
		
		req= new ac_tlm_req; 
		rsp= new ac_tlm_rsp; 
		SC_THREAD(process); 
		sensitive << scl.neg(); //clock sensitive
	} 
Exemple #3
0
  Mod(const sc_module_name& name) : sc_module(name), a("a")
  {
    SC_METHOD(foo);
    sensitive << clk.pos();
    dont_initialize();

    sc_trace(sc_tf, a, a.name());
  }
    FrontendTester(sc_module_name nm) :
        sc_module(nm),
        uut("uut"),
        memInAdp("inadp"),
        memOutAdp("outadp"),
        rowIndAdp("riadp"),
        colLenAdp("cladp"),
        bfsMemory("mem")
    {
        inpVecPtr = 0;
        resVecPtr = MEM_WORD_COUNT / 2;

        uut.clk(clk);
        uut.reset(reset);
        uut.io_start(io_start);
        uut.io_memFill(io_memFill);
        uut.io_memDump(io_memDump);
        uut.io_colCount(io_colCount);
        uut.io_state(io_state);

        uut.io_portA_writeEn(io_portA_writeEn);
        uut.io_portB_dataIn(io_portB_dataIn);
        uut.io_portB_writeEn(io_portB_writeEn);
        uut.io_portB_dataOut(io_portB_dataOut);
        uut.io_portA_addr(io_portA_addr);
        uut.io_portB_addr(io_portB_addr);
        uut.io_portA_dataIn(io_portA_dataIn);
        uut.io_portA_dataOut(io_portA_dataOut);

        uut.io_inputVecOffset(inpVecPtr);
        uut.io_outputVecOffset(resVecPtr);

        bfsMemory.clk(clk);
        bfsMemory.portA_addr(io_portA_addr);
        bfsMemory.portA_dataIn(io_portA_dataIn);
        bfsMemory.portA_dataOut(io_portA_dataOut);
        bfsMemory.portA_writeEn(io_portA_writeEn);

        bfsMemory.portB_addr(io_portB_addr);
        bfsMemory.portB_dataIn(io_portB_dataIn);
        bfsMemory.portB_dataOut(io_portB_dataOut);
        bfsMemory.portB_writeEn(io_portB_writeEn);


        // wrap vector memory in FIFO
        memInAdp.clk(clk);
        memInAdp.fifoInput.bind(memIn);
        memInAdp.bindSignalInterface(uut.io_vectorMemDataIn_valid, uut.io_vectorMemDataIn_ready,
                                     uut.io_vectorMemDataIn_bits);

        // wrap vector memory out FIFO
        memOutAdp.clk(clk);
        memOutAdp.fifoOutput.bind(memOut);
        memOutAdp.bindSignalInterface(uut.io_vectorMemDataOut_valid, uut.io_vectorMemDataOut_ready,
                                     uut.io_vectorMemDataOut_bits);

        // wrap col lengths FIFO
        colLenAdp.clk(clk);
        colLenAdp.fifoInput.bind(colLen);
        colLenAdp.bindSignalInterface(uut.io_colLengths_valid, uut.io_colLengths_ready,
                                      uut.io_colLengths_bits);

        // wrap row indices FIFO
        rowIndAdp.clk(clk);
        rowIndAdp.fifoInput.bind(rowInd);
        rowIndAdp.bindSignalInterface(uut.io_rowIndices_valid, uut.io_rowIndices_ready,
                                      uut.io_rowIndices_bits);



        SC_THREAD(runFrontendTests);
        sensitive << clk.pos();

        init_trace();
    }
Exemple #5
0
 test (const char *NAME) : sc_module(NAME) {
   SC_CTHREAD( reset_loop, clk.pos() );
   reset_signal_is(reset,true);
   end_module();
 }