|Author: Amit Kumar Jain - Mentor Graphics Introduction: With the increasing complexity of system designs, there is a pressing need for standalone, pre-verified, built-in verification infrastructures. Verification IP (VIP) is an integral and important component of these infrastructures for block and system-level verification as they reduce cycles spent in verifying complex designs. Stimulus generation is an important aspect of verification for creating both simple and complex scenarios used to hit functional bugs in a design. Stimulus generation application program interfaces (API) in VIP help you write stimulus without much protocol knowledge and help them create complex protocol scenarios for testing. In general, VIP stimulus APIs should provide: Easy to write stimulusReusable stimulus from the block to system levelReusable stimulus across various protocolsProtocol independenceProtocol functionality-specific APIs to achieve more complex protocol scenariosMinimal random behavior Ease-of-use is an essential characteristic. VIP provides Universal Verification Methodology (UVM) sequence components at various abstraction levels for generating stimulus using protocol specific bus functional models (BFM). Although these protocol-specific sequence components consist of various SystemVerilog constraints that help in generating constrained random stimulus, they are not truly easy-to-use because they lack the flexibility to support reuse of stimulus API sequences from one protocol to another, at various abstraction levels, and from the block to system levels. There is a pressing need for generic, easy-to-use stimulus APIs that help you write quick stimuli without worrying about protocol intricacies, provide horizontal and vertical reuse of stimulus, and deliver the flexibility to write portable stimulus across various verification platforms. The solution lies in high-level APIs that support writing stimulus at the abstract read/write command level. Abstract read/write APIs help in writing instruction-level stimulus (more closure to software applications) that is easily reusable from the block to system level. To understand this better, we will discuss the difficulties faced in stimulus generation and then go through a recommended approach of designing a generic reusable stimulus API sequence. View & Download: Login to view the Verification IP Stimulus APIs - Are They Really Easy to Use? technical paper.