SPI
Overview
The VIP environment includes UVM-based components for SPI, QSPI, and OSPI protocols, comprising a Master, Slave, BUS Monitor, and Scoreboard. The BUS Monitor oversees all transfers on the SPI/QSPI/OSPI bus, ensuring adherence to protocol standards. It promptly detects and reports any violations, displaying error messages with detailed causes for corrective action. Additionally, protocol checks are enforced through assertion checking, enhancing the BUS Monitor’s capability.
The VIP fully supports out-of-the-box testing, accommodating DUT slaves or masters seamlessly. It includes various predefined test suites for comprehensive regressive testing. Users also have the flexibility to create custom test cases tailored to specific requirements. With a lightweight design and easy plug-and-play interface, the VIP minimises impact on both design and simulation times, ensuring efficient verification and validation of SPI/QSPI/OSPI implementations.
Features
- Protocol Support: Compatible with Motorola, Macronix, Winbond, Micron, and Samsung specifications.
- Topology: Supports Multi-Slave and Single-Master configurations.
- Configuration: Includes rich parameters for Slave and Master Agents, such as configurable wait states and memory update modes.
- Data Transmission: Options for continuous or non-continuous read/write operations.
- Functionality Control: Comprehensive parameters to customise SPI operations.
- Monitoring: Provides UVM status counters to monitor various bus transfers.
- Testing: Includes a complete test suite covering all features of supported specifications.
- Performance: Facilitates simultaneous transfers between master and slave devices.
- Data Handling: Supports 8-bit, 16-bit, and 32-bit shift registers for Tx/Rx, with corresponding bus interfaces and dual 32-bit wide FIFOs.
- Clock Management: Supports programmable serial clock polarity and phase control.
- Advanced Features: Includes support for Single I/O, Dual I/O, Quad I/O, Extended I/O protocols, DTR (Double Transfer Rate) mode, and Quad Input/output page program (4PP).
- Error Handling: Logs errors with descriptive causes of errors or protocol violations.