Great VIP development and debug techniques!
There is a new era started in verification in terms of having the VIP(Verification IP) used for verification! Verification IP has simplified the way in which verifcation carried out of any complex DUT's! VIP's can be developed in System Verilog Or UVM enviournment! These VIP's are worth millions of dollors in terms of license coasting to the coustomers! These VIP's comes with special features which make them unique compared to other verification techniques! VIP's has biggest feature in terms of having the error injection scenarios which help finding the complex bugs in design! Error injection is done through callbacks or special monitor features which allow them to corrupt any outgoing transactions! These callbacks captures transactions going on to the bus and corrupts it! There are other mechanisms like active bus monitors which can corrupt the transactions going on an interface! VIP provides the special way to do the configuration in order to generate the transactions at different level! These kinds of configuration parameters help VIP to generate various types of transactions! Configuration parameters must be provided in all the VIP to make sure different kinds of transactions can be generated by it! Another important parameter should be implemented in VIP is polling the status of various parameters! These status parameter should indicate the end user if transaction got completed or completion recieved! VIP should be considered to implement all the status parameters needed by the testcase developers! All the test scenarios must be visited by VIP developers in order to come up with the final approach of having the configuration and status parameters! Another important feature which must be considered while developing the VIP is having the debug messages which easily allows debuggers to debug the VIP! Every VIP must add protocol checks which can be used in order to allow debuggers to find issues faster! Those protocol checks allow debuggers to find all the issues with minimum efforts needs to be done to write the test cases! VIP can be configured to run in various mode depending upon the requirements! Above features which are added in VIP allows debuggers to find bugs effectively and efficiently! Debugging VIP issues can be easily done by waveforms which shows transations! Another approach of VIP debug is carried out through the code walk through which helps finding issues in VIP through error messages!