Simulation Flashcards
What are the two main stages of FPGA design simulation?
> Functional simulation: Testing to see if it works as expected
Timing
What is the process of functional simulation?
> Simulate each module starting at the bottom of the higherarchy
What is the issue with brute force testing of parts?
This is not always feasable as it would take too long on devices with larger number of inputs
What is a critical case?
> These are cases that are determined to be critical to the overall functionality
This means you do not need to test all the different inputs but the most important ones
What is the set of tests to be performed called?
The test schedule
What sort of test can be performed to accunt for human error?
Random testing
What is constrained random testing?
This is using random testing and critical case testing in a test schedule
What is a golden module?
> This is an ideal version of your device that acts as a simulator for the working version of your design.
You can pass the inputs to both your device under test and the golden model can compare the outputs
What is the command to include timings in your simulation?
`timescale 1 ns/100 ps
How are inputs for test benches implamenetd?
As registers
What is the initial block?
This is the block that runs once at time zero
What does stimuli mean?
> This is the test vector
> The inputs to a device
What are the 4 useful functions we can use?
$stop; Stops the simulation
$finish; Stops the simulation and closes the simulator
$display(“”); Writes a message to log window
$random; Generates a random number
What does EDA stand for?
Electronic Design Automation