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 }
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(); }
test (const char *NAME) : sc_module(NAME) { SC_CTHREAD( reset_loop, clk.pos() ); reset_signal_is(reset,true); end_module(); }