Course Introduction To Uvm Session1 Systemverilog Primer For VHDL Engineers Rsalemi
Course Introduction To Uvm Session1 Systemverilog Primer For VHDL Engineers Rsalemi
info@verificationacademy.com | www.verificationacademy.com
Ray Salemi — Senior Verification Consultant
Introduction to Introduction to
Advanced Verification the UVM
© 2014 Mentor Graphics Corporation, all rights reserved.
Agenda
1. SystemVerilog for VHDL Engineers
2. Object Oriented Programming
3. SystemVerilog Interfaces
4. Packages, Includes, and Macros
5. UVM Test Objects
6. UVM Environments
7. Connecting Objects
8. Transaction Level Testing
9. The Analysis Layer
10. UVM Reporting
11. Functional Coverage with Covergroups
12. Introduction to Sequences
© 2014 Mentor Graphics Corporation, all rights reserved.
Why SystemVerilog?
RTL
• MultiThreaded Verilog VHDL
• Hardware Data Types
• Netlisting
Test Benches
• Object Oriented
• Functional Coverage SystemVerilog
• Randomization
• Methodology Libraries
RTL
• MultiThreaded Verilog VHDL
• Hardware Data Types
• Netlisting
initial
process
= always
process initial
begin begin
...
wait;
= ...
...
end end
process always
begin begin
...
...
= ...
...
end end
= wait (expr);
= #100ns;
wait on signal;
= @signal;
Unique to SystemVerilog
• @(posedge sig)
• @(negedge sig)
process (clk) begin always @(posedge clk)
if rising_edge(clk) then begin
q <= d;
end if;
end process;
= q <= d;
end
<width>’<radix><numerals>
1 1 0 0 1 0 1 0 <= 1 0 1 0 1 1 0 0 1 0 1 0
Truncation
1 1 1 1 1 1 0 0 1 0 1 0 <= 1 1 0 0 1 0 1 0
Signed Extension
0 0 0 0 1 1 0 0 1 0 1 0 <= 1 1 0 0 1 0 1 0
Unsigned Extension
• variable = blocking
• signal = non-blocking
• := operator for variables and blocking
• <= operator for signals and non-blocking
info@verificationacademy.com | www.verificationacademy.com