import cocotb from cocotb.triggers import Timer @cocotb.test() async def simple_test(dut): dut.miso_i.value = 1; dut.clk_i.value = 0; dut.rst_in.value = 0; dut.en_i.value = 1; dut.clock_polarity_i.value = 0; dut.clock_phase_i.value = 0; dut.size_sel_i.value = 0; dut.div_sel_i.value = 0; dut.pulse_csn_i.value = 0; dut.rx_block_on_full_i.value = 0; dut.rx_en_i.value = 1; dut.rx_ready_i.value = 0; dut.tx_en_i.value = 1; dut.tx_valid_i.value = 0; dut.clear_lost_rx_data_i.value = 1; await Timer(5, "ns") dut.rst_in.value = 1; await Timer(5, "ns") dut.clk_i.value = 1; await Timer(5, "ns") dut.clk_i.value = 0; await Timer(5, "ns") dut.clk_i.value = 1; await Timer(5, "ns") dut.clk_i.value = 0; dut.tx_valid_i.value = 1; dut.tx_data_i.value = 100; await Timer(5, "ns") dut.clk_i.value = 1; await Timer(5, "ns") dut.clk_i.value = 0; dut.tx_valid_i.value = 0; for cycle in range(1, 100): dut.clk_i.value = 1; await Timer(5, "ns") dut.clk_i.value = 0; await Timer(5, "ns")