Verification of Vlsi Circuits Using Systemverilog: Vinay Reddy

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 167

Verification of VLSI Circuits using

SystemVerilog
Vinay Reddy
Department of Electronics & Communication Engineering

1
VERIFICATION OF VLSI CIRCUITS USING
SYSTEMVERILOG

Verilog Stratified Event Queue

Vinay Reddy
Department of Electronics and Communication Engineering
2
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

4 Regions

3
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

4
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

5
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

6
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

7
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

8
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

9
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

10
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

11
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

12
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

13
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

14
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

15
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

16
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

17
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

18
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

19
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

20
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

21
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

22
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

23
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

24
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

25
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

26
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

27
VERIFICATION OF VLSI CIRCUITS USING
SYSTEMVERILOG

Races within the RTL code

Vinay Reddy
Department of Electronics and Communication Engineering
28
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

29
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

30
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

It is a Synchronous Circuit

All flops will sample at the same


time since it’s a synchronous clk (It
not a serial circuit, its real
concurrent)

31
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

It is a Synchronous Circuit

All flops will sample at the same


time since it’s a synchronous clk (It
not a serial circuit, its real
concurrent)

In reality we have clk to q delay


which helps us to maintain the
setup and hold times.

32
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

Note:

When the clk and data are changing at the


same time, clk is supposed to sample the
old value.

33
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

Verilog Styles

Dataflow
Behavioural
Structural

34
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

For simplicity, lets restrict our


discussion to first two always
blocks

35
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue Case 1
Assume second always block
executes first

36
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

Execution of first always block

37
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

Reading and writing has happened


on the same variable q1 at the same
time in the same region.

Simulation output matches with the


hardware output.

No issues here

38
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue Case 2
Assume first always block
executes first

39
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

Execution of second always


block

40
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

Reading and writing has happened


on the same variable q1 at the same
time in the same region.

Simulation output does not match


with the hardware output.

Issue Exists - Problem

41
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue Solution

42
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG Proof for slide no 26,
Verilog Stratified Event Queue Guideline 1

NBA helps to see the old value


of the flop while sampling

43
VERIFICATION OF VLSI CIRCUITS USING
SYSTEMVERILOG

What is RTL ?

Vinay Reddy
Department of Electronics and Communication Engineering
44
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

What is RTL ?

45
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

Is the above circuit RTL ?

46
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

Successful Communication (Rule : We both have agreed once he talks I will listen
and once I talk he will listen, ie, this is our synchronization)

Karthik : Hi sir, Can I talk to you for some time if u are free now? (Generating the
data, writing the data out (Input to vinay and output from karthik))

Vinay : Hi Karthik, yeah… (sampling the data/Listening while Karthik is talking


(Input), while replying I have to generate the data (output))

Karthik : ……………………….

Vinay : ………………………..

47
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

Here the logic levels are transferred


through Flops.

The inputs and outputs will be sampled


at some clock frequency and now this
circuit is synchronous.

In reality all the codes are RTL

48
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

49
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

Device 1 & Device 2


communicates in
cycle level.

Device 1
Device 2

50
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

Device 1 & Device 2


communicates in cycle level.

Hence we have to send the


signals to device 2 mimicking
the device 1 (Testbench
Stimulus)

Hence while driving the


stimulus we use it @posedge
clk (Since everything happens
Device 1 in cycle level)
Device 2

51
VERIFICATION OF VLSI CIRCUITS USING
SYSTEMVERILOG

Races between RTL & Testbench

Vinay Reddy
Department of Electronics and Communication Engineering
52
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue RTL Code

53
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

54
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

55
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

56
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

57
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

58
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

59
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue Race between testbench and RTL

60
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

How do we overcome the race ?

61
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

Hence it is compulsory to
use non blocking operator
while generating stimulus
and driving method. (Race
between the testbench
module and the Design
Module)

In reality there will be


number of blocks waiting on
the posedge clk both on the
TB and DUT. To make
verification engineers task
esay SV has come up with the
Program Block

62
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue

Thread 1

Thread 2

Thread 3

63
VERIFICATION OF VLSI CIRCUITS USING
SYSTEMVERILOG

How do we overcome the races between


the RTL & TB?

Vinay Reddy
Department of Electronics and Communication Engineering
64
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Stratified Event Queue and how to overcome the race ?

65
VERIFICATION OF VLSI CIRCUITS USING
SYSTEMVERILOG

SystemVerilog Stratified Event Queue

Vinay Reddy
Department of Electronics and Communication Engineering
66
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
SV Stratified Event Queue

67
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
SV Stratified Event Queue

The program blocks are executed


far away from the NBA Region ie,
Reactive region of SV

68
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
SV Stratified Event Queue

The program blocks are executed


far away from the NBA Region ie,
Reactive region of SV

69
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
SV Stratified Event Queue

70
VERIFICATION OF VLSI CIRCUITS USING
SYSTEMVERILOG

Program Block

Vinay Reddy
Department of Electronics and Communication Engineering
71
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Program Block

72
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Program Block

73
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Program Block

74
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Program Block

75
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Program Block

76
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Program Block

77
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Program Block

Bunch of signals connecting PB O/Ps to RTL I/Ps

78
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Program Block This is how a Top module
looks in verification industry

Module top generates the clk and connects the PB and RTL Top Module

Clk is I/P to PB and RTL 79


VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Program Block

Generation of stimulus

80
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Program Block

81
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Program Block

82
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Program Block

PB can only be instantiated in the module 83


VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Program Block

Students to read it --

84
VERIFICATION OF VLSI CIRCUITS USING
SYSTEMVERILOG

A Verilog Memory Model – Self Checking


TB

Vinay Reddy
Department of Electronics and Communication Engineering
85
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Memory Model – Question

86
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG Solution : RTL Block
Verilog Memory Model – Architectural Level (Block Diagram)

87
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG Solution : RTL Block
Verilog Memory Model – Behavioural Level (RTL Code)

reg [31:0] mem [16]

88
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG Solution : RTL Block
Verilog Memory Model – Behavioural Level (RTL Code)

89
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG Solution : Self Checking TB Block
Verilog Memory Model – Behavioural Level (TB Code)

90
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG Solution : Self Checking TB Block
Verilog Memory Model – Behavioural Level (TB Code)

DUT Instantiation

All the task methods are called inside the initial block

91
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG Solution : Self Checking TB Block
Verilog Memory Model – Behavioural Level (TB Code)

Task : Reset

92
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG Solution : Self Checking TB Block
Verilog Memory Model – Behavioural Level (TB Code)

Task : Write data (Stimulus Generation / Driving the DUT)

93
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG Solution : Self Checking TB Block
Verilog Memory Model – Behavioural Level (TB Code)

Task : Read data (Collecting the outputs from DUT and storing it in got_arr)

94
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG Solution : Self Checking TB Block
Verilog Memory Model – Behavioural Level (TB Code)

Task : Compare (Comparing the written data and the read data)

95
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG Solution : Self Checking TB Block
Verilog Memory Model – Behavioural Level (TB Code)

Task : Results (Displaying the Results)

96
VERIFICATION OF VLSI CIRCUITS USING
SYSTEMVERILOG

A Verilog Memory Model TB – TB using PB

Vinay Reddy
Department of Electronics and Communication Engineering
97
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG Solution : TB Using PB
Verilog Memory Model – Behavioural Level (TB Code)
TOP Module

98
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG Solution : TB Using PB
Verilog Memory Model – Behavioural Level (TB Code)
Program Block
PB Declarations

99
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG Solution : TB Using PB
Verilog Memory Model – Behavioural Level (TB Code)
Program Block Read task

Initial block

Compare task

Reset task

Result task
Write task

100
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Memory Model – Behavioural Level (TB Code) In reality, the number of ports
on a system will be huge
TOP Module

What happens if we
miss match the port
connections ?
Do we get any
compile error ?

101
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Verilog Memory Model – Behavioural Level (TB Code) In reality, the number of ports
on a system will be huge
TOP Module

What happens if we
miss match the port
connections ?
Do we get any
compile error ?

We don’t get compile


error but functionality
will be effected.

This debugging leads to


waste of time and does
not anyways add value
to the design.

102
VERIFICATION OF VLSI CIRCUITS USING
SYSTEMVERILOG

Interfaces

Vinay Reddy
Department of Electronics and Communication Engineering
103
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Interface

Top Module

104
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Interface

105
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Interface

106
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Interface

107
VERIFICATION OF VLSI CIRCUITS USING
SYSTEMVERILOG

Modports

Vinay Reddy
Department of Electronics and Communication Engineering
108
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Modports

109
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Modports

110
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Modports

111
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Modports

112
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Modports

113
VERIFICATION OF VLSI CIRCUITS USING
SYSTEMVERILOG

BUS Arbiter Communication Example – without


interface and with interface

Vinay Reddy
Department of Electronics and Communication Engineering
114
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Arbiter Communication

rst req[0] req[1] gr[0] gr[1]


1 x x 0 0
0 0 1 0 1
0 1 0 1 0
According to
DUT 0 1 1 the priority

115
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Arbiter Communication Arbiter RTL Code

Request [1:0] = req[0] – Device 1 (printer),


req[1] – Device 2 (Memory)

116
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Arbiter Communication Arbiter TB Code

It waits for two clock cycles

117
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Arbiter Communication Arbiter Top module Code

118
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Arbiter Communication Example

119
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Arbiter Communication with Interfaces

120
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Arbiter Communication with Interfaces

121
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Arbiter Communication with Interfaces

122
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Arbiter Communication with Interfaces

123
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Arbiter Communication with Interfaces

124
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Arbiter Communication with Interfaces

125
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Arbiter Communication with Interfaces

126
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Arbiter Communication with Interfaces

127
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Arbiter Communication with Interfaces

128
VERIFICATION OF VLSI CIRCUITS USING
SYSTEMVERILOG

Clocking Blocks

Vinay Reddy
Department of Electronics and Communication Engineering
129
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

• All chips communicate at cycle level


• Hence we have to generate stimulus at cycle level
• All SOCs have multiple clocks
• Synchronization Issues is resolved with clocking blocks
• Clocking Blocks are not Synthesizable
• We have to assemble the signals w.r.t their paticular clocks

130
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

131
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

Clocking Block

Asynchronous reset

132
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

Outputs in TB can be
driven and inputs in TB
can be sampled 133
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

Interface Module
Program Block

Adding clocking block to the interface block

Top Module RTL Module

134
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

135
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks
4

3
2

136
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

At Time 0
• Total 5 Concurrent blocks

- Always block in top module


- 3 Always blocks in DUT
- $Display in Program block

137
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

At Time 0
• Total 5 Concurrent blocks
It is blocked for 5 time units
- Always block in top module
- 3 Always blocks in DUT
- $Display in Program block

All these concurrent blocks are also pending/waiting


138
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

At Time 0
• Total 5 Concurrent blocks
It is blocked for 5 time units
- Always block in top module
- 3 Always blocks in DUT
- $Display in Program block

All these concurrent blocks are also pending/waiting


139
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

140
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

141
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

142
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

At time 5
It samples the new Value

X - 10

143
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

Data = 1 reaches the RTL at #2 but


in reality the communication
takes place in Cycle Level not in
individual time levels.

144
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

145
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

1 at #2
X at #2

146
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

Old New
1 at #2 RTL samples the old value
X - 1 at #5
not the new value

147
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

148
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

Driving stimulus

Sampling
149
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

Questions to ask yourself


1. At what simulation Time are we
in ?
2. Is there a clk edge available at
this point ?
3. When is the next posedge of the
clk?

150
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

Note: Clocking block executes in the


Re-NBA Region

1. At what simulation Time are we


in ?
2. Is there a clk edge available at
this point ?
3. When is the next posedge of the
clk?

151
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

Note: Clocking block executes in the


Re-NBA Region

152
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

Note: Clocking block executes in the


Re-NBA Region

153
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

154
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

#2

T0

1. 0, X,X,X

T1

T2
Outp1 = x
T5

10,20 155
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

#6

10,20 156
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

#5

10,20 157
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

158
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks
Lets go to T5 Slot directly

1, X

Outp1 = 0

159
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks
Lets go to T5 Slot directly

#1 step
Questions to ask yourself
1. At what simulation Time are we
in ?
2. Is there a clk edge available at
this point ?
3. When is the next posedge of the
1, X clk?

Outp1 = 0

160
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

161
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

162
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

163
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks

164
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG
Clocking Blocks Students HW

165
VERIFICATION OF VLSI CIRCUITS USING SYSTEMVERILOG

166
THANK YOU

Vinay Reddy
Department of Electronics & Communication Engineering
vinay@pes.edu
+91 9945730244

167

You might also like