def __init__(self, dut, speed=1000e6):
        self.dut = dut

        self.log = logging.getLogger("cocotb.tb")
        self.log.setLevel(logging.DEBUG)

        cocotb.fork(Clock(dut.gtx_clk, 8, units="ns").start())
        cocotb.fork(Clock(dut.logic_clk, 8, units="ns").start())

        self.gmii_phy = GmiiPhy(dut.gmii_txd,
                                dut.gmii_tx_er,
                                dut.gmii_tx_en,
                                dut.mii_tx_clk,
                                dut.gmii_tx_clk,
                                dut.gmii_rxd,
                                dut.gmii_rx_er,
                                dut.gmii_rx_dv,
                                dut.gmii_rx_clk,
                                speed=speed)

        self.axis_source = AxiStreamSource(dut, "tx_axis", dut.logic_clk,
                                           dut.logic_rst)
        self.axis_sink = AxiStreamSink(dut, "rx_axis", dut.logic_clk,
                                       dut.logic_rst)

        dut.ifg_delay.setimmediatevalue(0)
    def __init__(self, dut, speed=1000e6):
        self.dut = dut

        self.log = SimLog("cocotb.tb")
        self.log.setLevel(logging.DEBUG)

        cocotb.start_soon(Clock(dut.clk, 8, units="ns").start())

        # Ethernet
        self.gmii_phy = GmiiPhy(dut.phy_txd,
                                dut.phy_tx_er,
                                dut.phy_tx_en,
                                dut.phy_tx_clk,
                                dut.phy_gtx_clk,
                                dut.phy_rxd,
                                dut.phy_rx_er,
                                dut.phy_rx_dv,
                                dut.phy_rx_clk,
                                speed=speed)

        dut.btnu.setimmediatevalue(0)
        dut.btnl.setimmediatevalue(0)
        dut.btnd.setimmediatevalue(0)
        dut.btnr.setimmediatevalue(0)
        dut.btnc.setimmediatevalue(0)
        dut.sw.setimmediatevalue(0)
        dut.uart_rxd.setimmediatevalue(0)
Example #3
0
    def __init__(self, dut, speed=1000e6):
        self.dut = dut

        self.log = logging.getLogger("cocotb.tb")
        self.log.setLevel(logging.DEBUG)

        cocotb.start_soon(Clock(dut.phy_gtx_clk, 8, units="ns").start())

        self.gmii_phy = GmiiPhy(dut.phy_txd,
                                dut.phy_tx_er,
                                dut.phy_tx_en,
                                dut.phy_tx_clk,
                                dut.phy_gtx_clk,
                                dut.phy_rxd,
                                dut.phy_rx_er,
                                dut.phy_rx_dv,
                                dut.phy_rx_clk,
                                dut.phy_rst,
                                speed=speed)

        if speed == 1000e6:
            self.source = GmiiSource(dut.phy_txd, dut.phy_tx_er, dut.phy_tx_en,
                                     dut.phy_gtx_clk, dut.phy_rst)
            self.source.mii_mode = False
            self.sink = GmiiSink(dut.phy_rxd, dut.phy_rx_er, dut.phy_rx_dv,
                                 dut.phy_rx_clk, dut.phy_rst)
            self.sink.mii_mode = False
        else:
            self.source = GmiiSource(dut.phy_txd, dut.phy_tx_er, dut.phy_tx_en,
                                     dut.phy_tx_clk, dut.phy_rst)
            self.source.mii_mode = True
            self.sink = GmiiSink(dut.phy_rxd, dut.phy_rx_er, dut.phy_rx_dv,
                                 dut.phy_rx_clk, dut.phy_rst)
            self.sink.mii_mode = True