试图为SPI主设备运行健全性测试,但测试没有获得

问题描述 投票:0回答:1

我是cocotb的新手,并希望对SPI主机进行健全性测试。我编写了一个简单的测试代码,而没有导入驱动程序和监视器,而是从DUT调用所有信号。我尝试运行一个简单的测试,报告没有显示语法或缩进错误,但是测试没有得到,并显示以下消息“未检测到Python虚拟环境。使用系统范围的Python解释器”。如何解决此问题?

python linux coroutine spi cocotb
1个回答
0
投票
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
© www.soinside.com 2019 - 2024. All rights reserved.