def __init__(self,name,parent,dut):
        Infrastructure.__init__(self,name,parent)

        StreamDriverMaster(Stream(dut,"io_rx_cmd"),self.genRxCmd(), dut.clk, dut.reset)
        StreamDriverMaster(Stream(dut, "io_rx_data"), self.genRxData(), dut.clk, dut.reset)
        StreamDriverSlave(Stream(dut, "io_tx_cmd"), dut.clk, dut.reset)
        StreamDriverSlave(Stream(dut, "io_tx_data"), dut.clk, dut.reset)
    def __init__(self,name,parent,dut):
        Infrastructure.__init__(self,name,parent)

        self.txCmdScordboard = ScorboardInOrder("txCmdScordboard",self)
        self.txDataScordboard = ScorboardInOrder("txDataScordboard",self)
        StreamMonitor(Stream(dut,"io_tx_cmd"), self.txCmdScordboard.uutPush, dut.clk, dut.reset)
        StreamMonitor(Stream(dut, "io_tx_data"), self.txDataScordboard.uutPush, dut.clk, dut.reset)

        cmd = Transaction()
        cmd.ip = 0x33445566
        cmd.dstPort = 0x3456
        cmd.srcPort = 37984
        cmd.length  = 1+8
        self.txCmdScordboard.refPush(cmd)

        cmd = Transaction()
        cmd.ip = 0x44556677
        cmd.dstPort = 0x4567
        cmd.srcPort = 37984
        cmd.length  = 1+8
        self.txCmdScordboard.refPush(cmd)

        for i in range(2):
            data = Transaction()
            data.fragment = 0x22
            data.last = 0
            self.txDataScordboard.refPush(data)
            message = "test1234"
            for f in range(len(message)):
                data = Transaction()
                data.fragment = ord(message[f])
                data.last = (f == len(message)-1)
                self.txDataScordboard.refPush(data)
    def __init__(self,name,parent,dut):
        Infrastructure.__init__(self,name,parent)

        StreamDriverMaster(Stream(dut,"io_cmdA"),self.genCmdA, dut.clk, dut.reset)
        StreamDriverMaster(Stream(dut, "io_cmdB"), self.genCmdB, dut.clk, dut.reset)
        StreamDriverSlave(Stream(dut, "io_rsp"), dut.clk, dut.reset)

        self.memInitDone = False
Example #4
0
def pinsecClockGen(dut):
    cocotb.fork(ClockDomainAsyncReset(dut.io_axiClk, dut.io_asyncReset, 7500))
    cocotb.fork(ClockDomainAsyncReset(dut.io_vgaClk, None, 40000))
    # cocotb.fork(axiClkLogger(dut.uut))
    core = dut.uut.axi_core.core
    logger = PinsecLogger()
    StreamMonitor(Stream(core, "dCmd"), logger.logDCmd, dut.io_axiClk,
                  dut.io_asyncReset)
    StreamMonitor(Stream(core, "dRsp"), logger.logDRsp, dut.io_axiClk,
                  dut.io_asyncReset)
 def __init__(self,name,parent,dut):
     Infrastructure.__init__(self,name,parent)
     self.dut = dut
     self.mem = [0 for i in xrange(1<<8)]
     self.cmdA = Queue()
     self.cmdB = Queue()
     self.scoreboard = ScorboardInOrder("rspScordboard",self)
     StreamMonitor(Stream(dut,"io_cmdA"), self.onCmdA, dut.clk, dut.reset)
     StreamMonitor(Stream(dut, "io_cmdB"), self.onCmdB, dut.clk, dut.reset)
     StreamMonitor(Stream(dut, "io_rsp"), self.scoreboard.uutPush, dut.clk, dut.reset)
     cocotb.fork(self.onMemWrite())
Example #6
0
    def __init__(self, name, parent, dut, sock):
        Infrastructure.__init__(self, name, parent)

        self.sock = sock

        self.txCmdQueue = Queue()
        self.txDataQueue = Queue()

        StreamMonitor(Stream(dut, "io_tx_cmd"), self.onTxCmd, dut.clk,
                      dut.reset)
        StreamMonitor(Stream(dut, "io_tx_data"), self.onTxData, dut.clk,
                      dut.reset)

        self.bootTime = time.time()
Example #7
0
def test1(dut):
    random.seed(0)
    from cocotblib.misc import cocotbXHack
    cocotbXHack()

    cocotb.fork(ClockDomainAsyncResetCustom(dut.clk, dut.reset))
    cocotb.fork(simulationSpeedPrinter(dut.clk))

    phaseManager = PhaseManager()
    phaseManager.setWaitTasksEndTime(1000 * 1000)

    SdramTester("sdramTester", phaseManager, Stream(dut, "io_bus_cmd"),
                Stream(dut, "io_bus_rsp"), dut.clk, dut.reset)

    yield phaseManager.run()
Example #8
0
def test1(dut):
    cocotb.fork(ClockDomainAsyncReset(dut.clk, dut.reset, 100000))
    cocotb.fork(simulationSpeedPrinter(dut.clk))

    baudPeriod = 2500000
    sclInterconnect = OpenDrainInterconnect()
    sclInterconnect.addHardDriver(dut.io_i2c_scl_write)
    sclInterconnect.addHardReader(dut.io_i2c_scl_read)

    sdaInterconnect = OpenDrainInterconnect()
    sdaInterconnect.addHardDriver(dut.io_i2c_sda_write)
    sdaInterconnect.addHardReader(dut.io_i2c_sda_read)

    dut.io_config_samplingClockDivider <= 3
    dut.io_config_timerClockDivider <= 24

    softMaster = I2cSoftMaster(sclInterconnect.newSoftConnection(),
                               sdaInterconnect.newSoftConnection(), baudPeriod,
                               dut.clk)
    slaveThread = fork(
        SlaveThread(sclInterconnect.newSoftConnection(),
                    sdaInterconnect.newSoftConnection(), dut.clk, baudPeriod))
    masterThread = fork(
        MasterThread(Stream(dut, "io_cmd"), Flow(dut, "io_rsp"), dut.clk,
                     dut.reset, baudPeriod, softMaster).run())

    yield masterThread.join()
Example #9
0
 def __init__(self, dut):
     # CMD ---------------------------------------------
     self.cmd = Flow(dut, "io_ioSlave_cmd")
     # RSP ---------------------------------------------
     self.rsp = Stream(dut, "io_ioSlave_rsp")
     # Clk & Rst ---------------------------------------
     self.clk = dut.clk
     self.resetn = dut.resetn
Example #10
0
    def __init__(self, name, parent, dut, sock, clkTocken):
        Infrastructure.__init__(self, name, parent)
        self.clkTocken = clkTocken
        self.rxCmdQueue = Queue()
        self.rxDataQueue = Queue()

        self.sock = sock

        StreamDriverMaster(Stream(dut, "io_rx_cmd"), self.genRxCmd, dut.clk,
                           dut.reset)
        StreamDriverMaster(Stream(dut, "io_rx_data"), self.genRxData, dut.clk,
                           dut.reset)
        StreamDriverSlave(Stream(dut, "io_tx_cmd"), dut.clk, dut.reset)
        StreamDriverSlave(Stream(dut, "io_tx_data"), dut.clk, dut.reset)

        try:
            thread.start_new_thread(self.rxThread, ())
        except Exception as errtxt:
            print errtxt
Example #11
0
def test1(dut):
    random.seed(0)
    from cocotblib.misc import cocotbXHack
    cocotbXHack()

    cocotb.fork(ClockDomainAsyncReset(dut.clk, dut.reset))
    cocotb.fork(simulationSpeedPrinter(dut.clk))

    phaseManager = PhaseManager()
    phaseManager.setWaitTasksEndTime(1000 * 200)

    StreamFifoTester("fifoA", phaseManager, Stream(dut, "fifoAPush"),
                     Stream(dut, "fifoAPop"), bundleAGen, 3000, dut.clk,
                     dut.reset).createInfrastructure()
    StreamFifoTester("fifoB", phaseManager, Stream(dut, "fifoBPush"),
                     Stream(dut, "fifoBPop"), bundleAGen, 3000, dut.clk,
                     dut.reset).createInfrastructure()

    yield phaseManager.run()
Example #12
0
 def __init__(self, dut):
     # I2C ---------------------------------------------
     self.sda = dut.io_sda
     self.scl = dut.io_scl
     # CMD ---------------------------------------------
     self.cmd = Stream(dut, "io_ioMaster_cmd")
     # RSP ---------------------------------------------
     self.rsp = Flow(dut, "io_ioMaster_rsp")
     # Clk & Rst ---------------------------------------
     self.clk = dut.clk
     self.resetn = dut.resetn
Example #13
0
 def __init__(self, dut, name):
     self.ar = Stream(dut, name + "_ar")
     self.r = Stream(dut, name + "_r")
     self.aw = Stream(dut, name + "_aw")
     self.w = Stream(dut, name + "_w")
     self.b = Stream(dut, name + "_b")
Example #14
0
 def __init__(self, dut, name):
     self.ar = Stream(dut, name + "_ar")
     self.r = Stream(dut, name + "_r")
Example #15
0
 def __init__(self, dut, name):
     self.cmd = Stream(dut, name + "_cmd")
     self.rsp = Stream(dut, name + "_rsp")
 def __init__(self, dut):
     self.cmd = Stream(dut, "io_cmd")
     self.rsp = Flow(dut, "io_rsp")
     self.clk = dut.clk
     self.resetn = dut.resetn
Example #17
0
 def __init__(self, dut):
     self.cmd = Stream(dut, "io_cmd")
     self.rsp = Flow(dut, "io_rsp")
     self.init = dut.io_init
     self.clk = dut.clk