我是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.coroutinedef 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