A paradigm shift is happening today, as verification engineers are increasingly turning to UVM (Universal Verification Methodology) to solve a greater range of design verification issues. However, inappropriate application of UVM can lead to later problems, as the complex random scenarios generated by the methodology can mask otherwise simple functional bugs. UVM is a very powerful verification methodology, but testbench architecture and a proper approach to design verification are critical keys to a successful outcome. UVM can serve as an exceptionally valuable tool in creating the scalable and reusable environments necessary to verify the design intent.
The approach presented in this paper recommends the use of a top-down testbench architecture that is divided into different layers based on functionality. We have offered AXI4 interconnect as an example to explain packet-based approach with layered architecture and their advantages. However, the same approach can be extended to a variety of interconnect types. Prior to implementation, the architect should have an understanding of the active traffic generators at a given time, as well as the interdependencies between them. This is essential for engineering a scalable testbench and enables the creation of more valid complex scenarios at unit level.