Я новичок в cocotb и хочу запустить тест на работоспособность для SPI master. Я написал простой тест, не импортируя драйвер и монитор, а вызывая все сигналы из 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