ovm video slides

Upload: databitdaffy9078

Post on 30-May-2018

225 views

Category:

Documents


0 download

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