Mobile phone market is very competitive and time to market is very critical for mobile system designs. It becomes important that the IP design and verification cycle is continuously optimized. MIPI UniPro is a layered protocol for interconnecting devices within a mobile system and allowing them to exchange information at high-data rates. JEDEC UFS and MIPI CSI-3 are the typical applications defined on top of UniPro stack. UniPro specification defines a set of standard signaling at application and physical layers that allows the development and verification of individual IP blocks in parallel. In this blog, I would describe various verification topologies possible in a UniPro design and stack based architecture of Synopsys UniPro VIP.
UniPro protocol defines standard connections like:
In general, the UniPro design & verification cycle can be broken into various stages like application layer with CPort interface, UniPro stack with CPort & RMMI interface and MPHY with RMMI & Serial interfaces. Each of these individual IP blocks can be designed and verified in parallel before the final integration and verification. State of the art verification solution is necessary to reduce time to market and Synopsys UniPro stack based Verification IP enables mobile system design teams to achieve accelerated verification closure. Synopsys UniPro stack based VIPs (CSI-3/UFS) can be configured to act only like an application with connections at CPort interface and subsequently to a full UniPro stack based VIP to communicate at Serial/RMMI interface.
In case of a standalone UniPro design, the VIP can be configured as a CPort VIP driving signals on application side and a full stack UniPro VIP can be connected on the other side of the DUT at serial/RMMI interface.
Moreover, the UniPro stack itself can be configured into multiple individual layers for intermediate layer verification. In addition to individual block level verification, the VIP can then be used in a full-stack mode to verify the entire stack. The flexible VIP architecture provides protocol checks, functional coverage, and error injection at each layer of the UniPro stack.
Authored by Shyamal Sinha