ovm video slides
TRANSCRIPT
-
8/14/2019 OVM Video Slides
1/57
-
8/14/2019 OVM Video Slides
2/57
-
8/14/2019 OVM Video Slides
3/57
-
8/14/2019 OVM Video Slides
4/57
macros automate housekeeping (inline substitution of systemverilog code)
-
8/14/2019 OVM Video Slides
5/57
Tom Fitzpatrick, Mentor Graphics Verification Technologist
-
8/14/2019 OVM Video Slides
6/57
-
8/14/2019 OVM Video Slides
7/57
-
8/14/2019 OVM Video Slides
8/57
-
8/14/2019 OVM Video Slides
9/57
-
8/14/2019 OVM Video Slides
10/57
-
8/14/2019 OVM Video Slides
11/57
Circles = exports
Squares = portsDiamonds = analysis ports
Know when to stop running useless cycles or when coverage is not increasing.Try to figure out how to run in half-the-time.
Simulation cycles are non-renewal resource. Once its used its gone.
-
8/14/2019 OVM Video Slides
12/57
u1 = red, u2 = red
-
8/14/2019 OVM Video Slides
13/57
set_type_override (u1= blue, u2 = blue)set_inst_override (u1=green, u2= blue)
set_config_string (u1=green, u2 = green)
-
8/14/2019 OVM Video Slides
14/57
messages
-
8/14/2019 OVM Video Slides
15/57
add a fork join to wait for all child processes to complete
-
8/14/2019 OVM Video Slides
16/57
-
8/14/2019 OVM Video Slides
17/57
tests are components from the factory
Kathleen Meade, Application Engineer, Systemverilog, Cadence
-
8/14/2019 OVM Video Slides
18/57
Vi = virtual interface
-
8/14/2019 OVM Video Slides
19/57
aka UVM
-
8/14/2019 OVM Video Slides
20/57
-
8/14/2019 OVM Video Slides
21/57
See ovm-1.0/examples/xbus/sv/xbus_env.sv
-
8/14/2019 OVM Video Slides
22/57
-
8/14/2019 OVM Video Slides
23/57
-
8/14/2019 OVM Video Slides
24/57
-
8/14/2019 OVM Video Slides
25/57
-
8/14/2019 OVM Video Slides
26/57
one sequencer on a driver at a time
-
8/14/2019 OVM Video Slides
27/57
-
8/14/2019 OVM Video Slides
28/57
-
8/14/2019 OVM Video Slides
29/57
Easy to deply all key randomization concepts !
-
8/14/2019 OVM Video Slides
30/57
-
8/14/2019 OVM Video Slides
31/57
-
8/14/2019 OVM Video Slides
32/57
everytime do is executed the sequence is randomized
-
8/14/2019 OVM Video Slides
33/57
-
8/14/2019 OVM Video Slides
34/57
-
8/14/2019 OVM Video Slides
35/57
-
8/14/2019 OVM Video Slides
36/57
-
8/14/2019 OVM Video Slides
37/57
-
8/14/2019 OVM Video Slides
38/57
-
8/14/2019 OVM Video Slides
39/57
-
8/14/2019 OVM Video Slides
40/57
-
8/14/2019 OVM Video Slides
41/57
Doug Smith, Senior Engineer & Trainer at Doulos
-
8/14/2019 OVM Video Slides
42/57
-
8/14/2019 OVM Video Slides
43/57
-
8/14/2019 OVM Video Slides
44/57
-
8/14/2019 OVM Video Slides
45/57
test is hard instantied but only used for example
-
8/14/2019 OVM Video Slides
46/57
use packages to avoid scoping issues
run_test kicks off the simulation
-
8/14/2019 OVM Video Slides
47/57
random is not good enough
-
8/14/2019 OVM Video Slides
48/57
should one use OVM transaction or OVM sequence?It depends upon the situation.
-
8/14/2019 OVM Video Slides
49/57
-
8/14/2019 OVM Video Slides
50/57
to add more drivers : AHB, PCIE, add more ovm_sequencers
-
8/14/2019 OVM Video Slides
51/57
not an OVM sequencer
Use virtual sequencer
-
8/14/2019 OVM Video Slides
52/57
can have multiple scoreboards
-
8/14/2019 OVM Video Slides
53/57
check to see iterations. If none set then use default
wrap up objects, structures and then use factory or virtual interface
downside of using strings, is that systemverilog has to do searching for objects and OVMplans to add checking for mistyped strings.
-
8/14/2019 OVM Video Slides
54/57
-
8/14/2019 OVM Video Slides
55/57
-
8/14/2019 OVM Video Slides
56/57
can run test by itself
-
8/14/2019 OVM Video Slides
57/57