2
Immediate assertions are the ideal method for monitoring for Xs in a design. the most critical asset of SystemVerilog assertions is the capabilities to turn on a nd off the assert checking thus eliminating the numerous false positives that other met hods generate. Ports and flip-flop output signal names are the only points that are constant between an RTL design and the synthesized GATE design. X asse rt statements created for these points during RTL can be reused during the GATE verification as well. When considering GATE design X checking, the task can seem overwhelming. Xs can be generated by bad UDPs used in the gate level or by good UDPs where the inputs vi olate some condition. Additionally, timing violations will be the most significant source o f Xs at the gate level. If the gate logic is modeled as optimistic, and and or gates could mask out the X. To be absolutely complete at the gate level, every net would need to be monitored for Xs . This, however, is very extreme and impractical. Monitoring the module ports and other critical points as determined by the designer would be a reasonable medium SystemVerilog has two types of assertions: immediate assertions and dynamic assertions. Immediate assertions are statements in procedure blocks, tasks, and functions. They evaluate at the time the statement is executed, just like a blocking statement. A dynamic as sertion is used to monitor conditions over time. At the gate level, Xs are generated by violating a component s timing requirements. Additionally, Xs will be output from User De fined Primitives (UDP s) when a given input condition is not declared in the UDP s lookup table. There are also some crossover  conditions from the RTL X generation, such as multiple drivers on the same net, but hopefully  those conditions would be resolved before the design went through synthesis and on to gates

Assertions of systemverilog

  • Upload
    sabaree

  • View
    213

  • Download
    0

Embed Size (px)

DESCRIPTION

assertions used in verifying the design

Citation preview

7/17/2019 Assertions of systemverilog

http://slidepdf.com/reader/full/assertions-of-systemverilog 1/1

Immediate assertions are the ideal method for monitoring for Xs in a design. themost critical asset of SystemVerilog assertions is the capabilities to turn on and offthe assert checking thus eliminating the numerous false positives that other methods generate.Ports and flip-flop output signal names are theonly points that are constant between an RTLdesign and the synthesized GATE design. X assert statements created for these points duringRTL can be reused during the GATE verification aswell.When considering GATE design X checking, the task can seem overwhelming. Xs can begenerated by bad UDPs used in the gate level or by good UDPs where the inputs violate somecondition. Additionally, timing violations will be the most significant source of Xs at the gatelevel. If the gate logic is modeled as optimistic,andandorgates could mask out the X. To beabsolutely complete at the gate level, every net would need to be monitored for Xs. This,however, is very extreme and impractical. Monitoring the module ports and other

critical pointsas determined by the designer would be a reasonable mediumSystemVerilog has two types of assertions:immediate assertions and dynamic assertions.Immediate assertions are statements in procedureblocks, tasks, and functions. They evaluate atthe time the statement is executed, just like a blocking statement. A dynamic assertion is used tomonitor conditions over time.

At the gate level, Xs are generated by violating a components timing requirements.Additionally, Xs will be output from User Defined Primitives (UDPs) when a given input

condition is not declared in the UDPs lookup table. There are also some crossover conditionsfrom the RTL X generation, such as multiple drivers on the same net, but hopefully thoseconditions would be resolved before the design went through synthesis and on togates