我是cocotb的新手,想为SPI主机运行一个健全测试。我编写了一个简单的测试,没有导入驱动程序和监视器,但调用了来自DUT的所有信号。我试着运行一个简单的测试,报告显示并没有语法或缩进错误,但测试并没有得到响应,并发现这个消息“并没有检测到Python虚拟环境。使用系统范围的Python解释器”如何解决这个问题
import logging
import cocotb
from cocotb.triggers import RisingEdge, FallingEdge, Timer, ReadOnly
from cocotb.clock import Clock
from cocotb.result import TestFailure
import random
class MasterSpi(object):
INTERFRAME = (100, "ns")
def __init__(self, dut, clock, w_CPOL=0, w_CPHA=1):
self._dut = dut
self._w_CPOL = w_CPOL
self._w_CPHA = w_CPHA
if w_CPOL == 1:
raise Exception("cpol = 1 not implemented yet")
if w_CPHA == 0:
raise Exception("cpha = 0 not implemented yet")
self._clock_thread = cocotb.fork(clock.start())
spi_sigs = SPISignals(
miso=dut.i_SPI_MISO,
mosi=dut.o_SPI_MOSI,
sclk=dut.o_SPI - Clk,
)
self.spi_config = SPIConfig(
w_CPOL=False,
w_CPHA=True,
baudrate=(1, "us"),
csphase=False,
)
self.spimod = SPIModule(self.spi_config, spi_sigs, clock)
@cocotb.coroutine
def reset(self):
print("inside coroutine")
self._dut.i_Rst_L <= 0
short_per = Timer(100, units="ns")
self._dut.i_Rst_L <= 0
self.spimod.set_ss(False)
self._dut.o_SPI_MOSI <= 0
self._dut.o_SPI_Clk <= 0
yield short_per
self._dut.i_Rst_L <= 1
yield short_per
在任何地方都没有cocotb.test()
相关问题 更多 >
编程相关推荐