



















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
These are the Lecture Slides of Functional Verification which includes Reusable Verification Components, Verilog Implementation, Implementation, Autonomous Generation and Monitoring, Input and Output Paths, Verifying Configurable Designs, Reusable Test Harness, Testcase Specific Code, Abstraction etc. Key important points are: Simulation Management, Pass or Fail, Managing Simulations, Regression, Behavioral Models, Certain Stimulus, False Positive Situations, Certain Situations, Success or Fail
Typology: Slides
1 / 27
This page cannot be seen from the preview
Don't miss anything!




















Simulation Management
Different from source management (revision control). Revision control deals with source files, while configuration deals with what models you are using. (behavioral vs. RTL) For system level tests, could have a mix of both Want an easy way to specify a particular configuration. Could use a script to submit runs.
Not constrained to just files, can include all command line options required These can be hierarchical Use relative path names, not absolute. Assumption that everyone on project is setup similar. Some simulators have a –F option It prepends path information of the manifest files. Other alternative is a preprocessing script that does the same.
Makefiles Reporting metrics Configuration units
Environment should report name (and version) of files Use within testcase run by using asserts Use with a makefile
Use Configuration declarations Binds architectures to entities Testcase uses which configuration it needs Use configuration of configurations at top level
Simulations create output files Log file Wave file When running massively parallel jobs, problem with collisions. Especially if hard coded names are used. Want to have the ability to create unique names <tc_name>.
Must be run at regular intervals Typically nightly
Suite is to large to run overnight, can split it up into different ways: Two lists: One list to run nightly One to be run over the weekend (includes nightly run) Include a “fast mode” Could pre-configure things Could enable only certain functions in the stimulus models
Randomization causes run times to vary
It would run a specified time from testcase, then stop clocks (thus shutting down the simulation) – this is the time bomb. Coordinate this with generators/monitors. If generator is done sending in transactions and checkers are done validating output, stop simulation! If run time is reached and generator not done sending in transactions or monitors still have checking to be performed – failure.
Using an output log scan script, determine the success or failure of a test. For any given regression suite, a summary could be e-mailed to everyone on the team. Could be used for status and discussions in team meetings Should include: T ime/Date Design environment (unit name) Testcase name Random Number seed Simulation time Real time (wall clock) System run on Operating System Version Memory in system Paging Space on system
Audit of the specification Missing functional details of the specification are uncovered earlier, not during the debug of the RTL. Development and debug of testbenches in parallel with the RTL Don’t have to wait for unstable RTL. Since it is behavioral, debug turn around is faster. When RTL is available, already have a debugged regression suite. System verification can start earlier, same benefits as above, in addition: If behavioral is validated as equivalence to RTL, system tests will run faster. Used as an evaluation tool for customers Docsity.com
Focus on functionality When implementation affects the behavioral, you