diff --git a/hw/top_earlgrey/dv/env/seq_lib/chip_sw_spi_device_tpm_vseq.sv b/hw/top_earlgrey/dv/env/seq_lib/chip_sw_spi_device_tpm_vseq.sv index 17166c31e50cd1..6f9f5ef258387f 100644 --- a/hw/top_earlgrey/dv/env/seq_lib/chip_sw_spi_device_tpm_vseq.sv +++ b/hw/top_earlgrey/dv/env/seq_lib/chip_sw_spi_device_tpm_vseq.sv @@ -63,6 +63,9 @@ class chip_sw_spi_device_tpm_vseq extends chip_sw_base_vseq; end tpm_txn (.wr(1), .addr(addr), .data_q(data_q), .len(data_q.size()), .rdata_q(rdata_q)); + `DV_WAIT(cfg.sw_logger_vif.printed_log == "SYNC: Waiting Read", + "Timedout waiting for read config.") + // Read transaction tpm_txn (.wr(0), .addr(addr), .len(data_q.size()), .rdata_q(rdata_q)); foreach (rdata_q[i]) begin diff --git a/sw/device/tests/sim_dv/spi_device_tpm_tx_rx_test.c b/sw/device/tests/sim_dv/spi_device_tpm_tx_rx_test.c index 38b40fea8ddecb..119c1e50016741 100644 --- a/sw/device/tests/sim_dv/spi_device_tpm_tx_rx_test.c +++ b/sw/device/tests/sim_dv/spi_device_tpm_tx_rx_test.c @@ -213,6 +213,9 @@ bool test_main(void) { // Finished processing the write command ack_spi_tpm_header_irq(&spi_device); + LOG_INFO("SYNC: Waiting Read"); + // Send the written data right back out for reads. + // Wait for read interrupt. atomic_wait_for_interrupt(); // Send the written data right back out for reads.