Verification of Vlsi Circuits Using Systemverilog: Vinay Reddy
Verification of Vlsi Circuits Using Systemverilog: Vinay Reddy
SystemVerilog
Vinay Reddy
Department of Electronics & Communication Engineering
1
VERIFICATION OF VLSI CIRCUITS USING
SYSTEMVERILOG
Classes (OOP - 1)
Vinay Reddy
Department of Electronics and Communication Engineering
2
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Object Oriented Programming (OOP)
3
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
4
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
5
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
6
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
7
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
8
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
reg a;
a is a variable of the data type reg
For class data type we declare handles, rest all available data
types in the language we declare variables.
9
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
10
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
11
The two jobs of new()
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
12
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
13
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
14
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
15
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
Note :
4 + 4 = 8 bytes
4 * 8 = 32 bytes
Total = 40 bytes
16
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
https://www.edaplayground.com/x/3QQs
SV OOP : All Examples - EDA Playground
17
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
A1 = new;
Custom constructor
18
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
19
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
20
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
21
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
Memory allocation will not happen to the nested handle when we define the
object for the top handle
22
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
23
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
24
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
Custom constructor
25
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
26
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
initial
begin
a = 10;
b = a; // Variable Assignment
$display (b);
a = 20;
$display (b);
end
always@(a)
b = a; 27
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
28
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
// Handle Assignment
29
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
30
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
One car with two keys.
One object with two handles
What is a2.m ?
31
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
32
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
33
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
Handle Assignment
34
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
35
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
36
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
37
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
38
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
39
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
40
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
41
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
Deep Copy
42
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
43
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Classes
44
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
this
45
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
this
46
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
this
Note: This problem exist only when the argument name and the property name are same
47
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
this
Note: This problem exist only when the argument name and the property name are same
48
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Out – of – block declarations
49
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Out – of – block declarations
50
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Out – of – block declarations
51
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Passing Objects to Methods
52
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Passing Objects to Methods
It returns a object
53
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Passing Objects to Methods
54
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Passing Objects to Methods
55
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Passing Objects to Methods
56
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Passing Objects to Methods
57
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Passing Objects to Methods
p1 handle
Address : 0X4000
a1 handle
58
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Passing Objects to Methods
p1 handle
h1 handle
59
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Passing Objects to Methods
h1 will point to p1
60
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Writing Copy Function
61
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Writing Copy Function
62
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Writing Copy Function
63
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Writing Copy Function
64
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Writing Copy Function
65
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Writing Copy Function
66
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Writing Copy Function
67
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Writing Copy Function
68
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Writing Copy Function
a2.addr = a1.addr
a2.data = a1.data
69
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Writing Copy Function
70
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Writing Copy Function - Deep Copy
71
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Static Class Properties
72
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Static Class Properties
73
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Static Class Properties
74
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Static Class Properties
75
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Static Class Properties
76
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Static Class Properties
77
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Static Class Properties
78
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Static Class Properties
79
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Static Class Properties
80
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Static Class Properties
81
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Static Class Properties
82
VERIFICATION OF VLSI CIRCUITS USING
SYSTEMVERILOG
Classes (OOP - 2)
Vinay Reddy
Department of Electronics and Communication Engineering
83
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Inheritance
84
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Inheritance
85
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Inheritance
86
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Inheritance
87
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Inheritance
88
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Inheritance
89
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Inheritance
90
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Inheritance
91
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Inheritance
92
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Super
93
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Super
94
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Inheritance
Custom constructor
Object d1
m=?
K=0
95
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Inheritance
96
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Inheritance
97
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Inheritance
98
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Is SV Single or Multi Inheritance
99
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Overridden Methods
100
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Overridden Methods
101
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Overridden Methods
102
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Overridden Methods
103
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Overridden Methods
104
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Overridden Methods
105
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Overridden Methods
106
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Overridden Methods
107
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Overridden Methods
108
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Overridden Methods
109
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Overridden Methods
110
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Data Hiding
111
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Data Hiding
112
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Data Hiding
113
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Parameterized Classes
114
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Parameterized Classes
115
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Polymorphism
116
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Polymorphism
117
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Polymorphism
118
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Polymorphism
119
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Polymorphism
120
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Polymorphism
121
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Polymorphism
122
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Handle Assignment
123
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Handle Assignment
124
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Handle Assignment
125
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
126
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
Case 1 – Pseudo randomization Case 2 – Randomization with seed Case 3 – Randomization with constraints
127
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
Case 1 – Pseudo randomization Case 2 – Randomization with seed Case 3 – Randomization with constraints
128
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
129
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
130
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
131
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
132
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
133
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
output
Conflicting Constraints
136
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
137
138
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
139
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
140
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
141
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
142
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
143
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
144
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization Edit code - EDA Playground
145
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
146
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
147
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
148
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
149
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization SV Topic12 Randomization Simple example - EDA Playground
150
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
151
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
152
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
153
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
154
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
155
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
156
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
157
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
158
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization SV Topic 12 : soft constraints example - EDA Playground
159
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
pre_randomize and post_randomize
161
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
164
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
165
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Randomization
166
THANK YOU
Vinay Reddy
Department of Electronics & Communication Engineering
[email protected]
+91 9945730244
167