PINMUX DV document
- TODO: Add a UVM testbench to reuse auto-generated common tests for TLUL and alerts.
- Verify all the PINMUX outputs by writing assumptions and assertions with a FPV based testbench
- Verify TileLink device protocol compliance with a FPV based testbench
For detailed information on PINMUX design features, please see the PINMUX design specification.
PINMUX FPV testbench has been constructed based on the formal architecture.
tlul_assertassertions with pinmux to ensure TileLink interface protocol compliance.
../fpv/tb/pinmux_bind.svalso binds the
pinmux_csr_assert_fpvto assert the TileLink writes and reads correctly.
pinmux_assert_fpvwith the pinmux RTL. The assertion file ensures all pinmux’s outputs are verified based on the testplan.
In the pinmux design, it includes usbdev logic because it operates on an always-on domain. Pinmux FPV assertions will only cover the connectivities between usbdev IOs and pinmux IOs. All functional checks will be implemented in the usbdev testbench.
Due to the large number of peripheral, muxed, dedicated IOs, and wakeup causes, symbolic variables are used to reduce the number of repeated assertions code.
In the pinmux_assert_fpv module, we declared four symbolic variables (
wkup_sel_i) to represent the index for muxed IOs, peripheral IOs, dedicated IOs, and wakeup causes.
Detailed explanation is listed in the Symbolic Variables section.