Accellera Systems Initiative is an independent, not-for profit organization dedicated to create, support, promote, and advance system-level design, modeling, and verification standards for use by the worldwide electronics industry. We are composed of a broad range of members that fully support the work of our technical committee to develop technology standards that are balanced, open, and benefit the worldwide electronics industry. Leading companies and semiconductor manufacturers around the world are using our electronic design automation (EDA) and intellectual property (IP) standards in a wide range of projects in numerous application areas to develop consumer, mobile, wireless, automotive, and other “smart” electronic devices. Through an ongoing partnership with the IEEE, standards and technical implementations developed by Accellera Systems Initiative are contributed to the IEEE for formal standardization and ongoing governance.
Salman Tanvir, Infineon Technologies; David Crutchfield, Infineon Technologies; Markus Brosch, Infineon Technologies
Modern SoC designs are composed of a large number of blocks, which are typically a mix of internal and third party vendor provided IP. In order to manage the complexity, not only is the reuse of existing IP essential, but modern platform-based design goes one step further in churning out multiple product derivatives by reusing a single configurable base design. Parameterization is at the heart of this reuse methodology. Parameters are well supported in the most widely used Hardware Description Languages (HDL), namely VHDL, Verilog and SystemVerilog. However, on the HVL side in SystemVerilog, the user must contend with various challenges when working with parameterized interfaces, classes and coverage. This work compares various known solutions to the parameterized interface problem. As these solutions do not support parameterized interfaces in an emulation context, a new emulation compatible solution is proposed. The next problem area highlighted is the UVM factory. Whilst working with non-parameterized classes, the UVM factory abstraction (base class & macros) is easy to use without understanding the core implementation. However, to effectively use the factory design pattern with parameterized classes, we need to dig deeper. The final challenge described is related to parametric coverage. Parameterized classes make parametric coverage handling very easy, but as we will see, there are drawbacks to this under specific scenarios. Various solutions to this problem are presented.