Implement chip_uart_tx_rx (uart_tx_rx / uart_tx_rx_cheri, V1, placeholder registered).
SW transmits a byte sequence out uart_tx_o with no internal loopback. The UVM UART agent, connected to the chip UART pins, receives each byte on uart_tx_o and drives it back onto uart_rx_i, closing the loopback after the chip pins. SW reads each byte back and passes if it matches what was sent.
This is the true chip-level UART smoke, exercising the real uart_tx_o / uart_rx_i pin path, as opposed to chip_uart_smoke which uses the UART's internal system loopback and never leaves the chip. It requires the UART agent to actively drive uart_rx_i (reactive / echo mode).
Implement
chip_uart_tx_rx(uart_tx_rx/uart_tx_rx_cheri, V1, placeholder registered).SW transmits a byte sequence out
uart_tx_owith no internal loopback. The UVM UART agent, connected to the chip UART pins, receives each byte onuart_tx_oand drives it back ontouart_rx_i, closing the loopback after the chip pins. SW reads each byte back and passes if it matches what was sent.This is the true chip-level UART smoke, exercising the real
uart_tx_o/uart_rx_ipin path, as opposed tochip_uart_smokewhich uses the UART's internal system loopback and never leaves the chip. It requires the UART agent to actively driveuart_rx_i(reactive / echo mode).