Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional...
Transcript of Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional...
![Page 1: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/1.jpg)
SNUG 2016 1
Molding Functional Coverage and
Reporting for Highly Configurable IP
Jeremy Ridgeway
Broadcom Limited, Corp.
September 29, 2016
SNUG Austin
![Page 2: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/2.jpg)
SNUG 2016 2
Agenda
Background and Problem
Our Approach
Coverpoints are not in a vacuum
Mode-of-operation
DUT Configuration
“The Demo” or “What this looks like without actually running a demo”
![Page 3: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/3.jpg)
SNUG 2016 3
Some Serial Controller IP
• Data path is 32 bits
• Single lane transmit/receive
• Generation 1 speed
IP
32
Using PCI-Express as the Example
![Page 4: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/4.jpg)
SNUG 2016 4
Packet Data
• Start of packet delimiter
• Header
• Data
• CRC
• End of packet delimiter HDR
DATA
CRC
Framing
PHY
32
S E 8
Serial Transmit Data
IP
1 1 0
![Page 5: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/5.jpg)
SNUG 2016 5
Packet Data
• Monitor delimiters
• Start of packet depends on origin
– STP = start transport packet (8’hFB)
– SDP = start data link packet (8’h5C)
• End of packet depends on data
– END = good packet (8’hFD)
– EDB = bad/nullified packet (8’hFE)
HDR
DATA
Framing
PHY
32
S E 8
IP
1 1 0
MONITOR
CRC
Serial Transmit Data
![Page 6: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/6.jpg)
SNUG 2016 6
Monitor
• No correlation
– data == 8’hFE when ctrl == 0
– False positive for EDB coverage
• Over-correlated
– data == 8’hFE && ctrl == 1
– EDB covered!
– data == 8’h00 && ctrl == 1
– False negative for invalid control character
class MonitorA;
logic [7:0] data; // 8-bit data path
logic ctrl; // 1-bit control path
covergroup tx_dp_cg;
coverpoint data;
coverpoint ctrl;
endgroup
endclass
class MonitorB;
logic [7:0] data; // 8-bit data path
logic ctrl; // 1-bit control path
covergroup tx_dp_cg;
coverpoint data;
coverpoint ctrl;
cross data, ctrl; // correlation!
endgroup
endclass
Obviously, not the way to do functional coverage
![Page 7: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/7.jpg)
SNUG 2016 7
Monitor
class MonitorGL;
logic [7:0] data; // 8-bit data path
logic ctrl; // 1-bit control path
covergroup tx_dp_cg;
coverpoint data {
bins data_0[ ] = {
8’hFB, 8’h5C, 8’hFD, 8’hFE };
}
coverpoint ctrl {
bins ctrl_0 = { 1’b1 };
}
c_0: cross data, ctrl {
delim_cross =
binsof(data.data_0) &&
binsof(ctrl_0);
}
endgroup
endclass
• Properly correlated covergroup
• When cross c_0 is covered, the
whole group is covered
Only care about delimiter encodings
Only when characters are marked as control
Sample only packet delimiter control characters
GoldiLocks
![Page 8: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/8.jpg)
SNUG 2016 8
Some PCIe Controller IP
• Data path is 32 bits
• Single lane transmit/receive
• Generation 1 speed
• Low power support
– L0s
– L1
– L1 Sub-states
IP
32 64
64
2
3
Two
Four
L0s
3 1/2
L1 L1
ss
= $$ for company
= Job for me
![Page 9: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/9.jpg)
SNUG 2016 9
PCIe Controller IP
• Data path is 32 bits
• Two lane transmit/receive
• Generation 3 speed
• Low power support
– L0s
– L1
Gen3, 2-Lane, Low Power L0s and L1 support
IP
32
3 1/2
L0s L1
L1 sub-states coverage
not needed
x4 lane coverage
not needed
![Page 10: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/10.jpg)
SNUG 2016 10
General PCIe Controller IP
• Data path is X bits
– Fixed value
• Y number of lanes transmit/receive
– Supported at compile-time
– Enabled at runtime
• Generation Z speed
– Supported at compile-time
– Enabled at runtime
• Low power options include/exclude
– Supported at compile-time
– Enabled at runtime
IP
X
Y
Speeds
Low power Config
Config
Config
Mode
Mode
Mode
Config
![Page 11: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/11.jpg)
SNUG 2016 11
Monitor
class MonitorGL;
logic [7:0] data; // 8-bit data path
logic ctrl; // 1-bit control path
covergroup tx_dp_cg;
coverpoint data {
bins data_0[ ] = {
8’hFB, 8’h5C, 8’hFD, 8’hFE };
}
coverpoint ctrl {
bins ctrl_0 = { 1’b1 };
}
c_0: cross data, ctrl {
delim_cross =
binsof(data.data_0) &&
binsof(ctrl_0);
}
endgroup
endclass
• Are all delimiters covered when:
– GEN1, GEN2, GEN3 speed?
– x1 support: x1 enabled?
– x2 support: x1 enabled, x2 enabled?
– x4 support: x1, x2, x4 enabled?
– Lanes reversed?
– Lane polarity reversed?
– After transition out of L0s?
– After transition out of L1?
– After transition out of an L1 sub-state?
![Page 12: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/12.jpg)
SNUG 2016 12
Monitor
class MonitorGL;
logic [7:0] data; // 8-bit data path
logic ctrl; // 1-bit control path
covergroup tx_dp_cg;
coverpoint data {
bins data_0[ ] = {
8’hFB, 8’h5C, 8’hFD, 8’hFE };
}
coverpoint ctrl {
bins ctrl_0 = { 1’b1 };
}
c_0: cross data, ctrl {
delim_cross =
binsof(data.data_0) &&
binsof(ctrl_0);
}
endgroup
endclass
• Are all delimiters covered when:
– GEN1, GEN2, GEN3 speed?
– x1 support: x1 enabled?
– x2 support: x1 enabled, x2 enabled?
– x4 support: x1, x2, x4 enabled?
– Lanes reversed?
– Lane polarity reversed?
– After transition out of L0s?
– After transition out of L1?
– After transition out of an L1 sub-state? Customer 1:
I see an error when … !
Customer 2:
Did you even test this mode?
The coverage scenario questions are applicable to ALL covergroups
Provide
cross
context
via mode
of
operation
Shape
group
based
on
config
![Page 13: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/13.jpg)
SNUG 2016 13
Agenda
Background
Our Approach
Coverpoints are not in a vacuum
Mode-of-operation
DUT Configuration
“The Demo” or “What this looks like without actually running a demo”
![Page 14: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/14.jpg)
SNUG 2016 14
• Mode-of-operation
– Selected once or a few times during simulation
– Often only at the beginning of simulation
– Affects coverage context
• Configuration
– Selected via `defines throughout the RTL
– Affects structure of covergroup
Customer 2:
Did you even test this mode?
IP
X
Y
Speeds
Low power
= 1 cross Gen3 && x1 && …
cross Gen3 && x2 && …
cross Gen3 && x4 && …
![Page 15: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/15.jpg)
SNUG 2016 15
Goals
• Write covergroups once
• Automatically shape all covergroups by configuration
• Automatically propagate mode coverpoints to covergroups
• Avoid waivers at (nearly) all costs
When cross c_0 is covered,
the whole group is covered
![Page 16: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/16.jpg)
SNUG 2016 16
Table Format
Coverpoints Data Ctrl
c_0 8’hFB, 8’h5C
8’hFD, 8’hFE 1’b1
coverpoint data {
bins data_0[ ] = {
8’hFB, 8’h5C, 8’hFD, 8’hFE };
}
coverpoint ctrl { bins ctrl_0 = { 1’b1 }; }
cross data, ctrl {
binsof(data.data_0) &&
binsof(ctrl.ctrl_0);
}
![Page 17: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/17.jpg)
SNUG 2016 17
Table Format
Coverpoints Data Ctrl
c_0 8’hFB, 8’h5C
8’hFD, 8’hFE 1
Y = x1
Coverpoints Data Ctrl M_Speed M_Width
c_0 8’hFB, 8’h5C
8’hFD, 8’hFE 1 G1, G2 x1
Coverpoints Data Ctrl M_Speed M_Width
c_0 8’hFB, 8’h5C
8’hFD, 8’hFE 1 G1, G2 x1, x2, x4
• Write covergroup once
• Automatic mode propagation
• Shape based on configuration
Z = G1, G2
How to setup mode propagation?
How filter based on configuration?
![Page 18: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/18.jpg)
SNUG 2016 18
Hierarchical Abstract Model
• Cover block
– Collection of related cover groups and cover blocks
• Block model
– Sub-tree from any block
• Cover model
– Sub-tree from the root block
Root block
cg cg cg
block_1 block_2 block_3
block_2_1 block_2_2 block_1_1
block_1_1_1
![Page 19: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/19.jpg)
SNUG 2016 19
Hierarchical Abstract Model
• Cover block
– Collection of related cover groups and cover blocks
• Block model
– Sub-tree from any block
• Cover model
– Sub-tree from the root block
• Cover block – Excel Spreadsheet
• Cover model – Directory structure
Root block
cg cg cg
block_1 block_2 block_3
block_2_1 block_2_2 block_1_1
block_1_1_1
![Page 20: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/20.jpg)
SNUG 2016 20
Cover Variables
• Cover
– encourage reuse
• Mode
– special case cover variable automatically
propagated to all covergroups in the
current coverblock and child coverblocks
• Config
– special case cover variable used to filter
mode variable values AND
cover group scenarios
Root block
cg cg cg
block_1 block_2 block_3
block_2_1 block_2_2 block_1_1
block_1_1_1
![Page 21: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/21.jpg)
SNUG 2016 21
Cover variables in block_1
• Cover variables may be re-used:
– In current spreadsheet
– In any child block’s spreadsheet
Name Range
Data 8’hFB, 8’h5C, 8’hFD, 8’hFE
Ctrl 1
Coverpoints Data Ctrl
c_0 * 1
Cover
Group
root/block_1/Cover.xlsx
![Page 22: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/22.jpg)
SNUG 2016 22
Config and Mode variables in Root
• Mode variables are propagated to:
– Current spreadsheet cover groups
– All child blocks’ spreadsheet cover groups
Name Range
C_Speed G1, G2, G3
C_Width x1, x2, x4
Config
Mode
Name Range
M_Speed G1, G2, G3
M_Width x1, x2, x4
root/Cover.xlsx
![Page 23: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/23.jpg)
SNUG 2016 23
Specific configuration
• Config variables filter:
– All mode variables
– Any cover group scenario that specifies it
Supported speeds: G1, G2; Support width: x1
Name Range
C_Speed G1, G2, G3
C_Width x1, x2, x4
Config
Mode
Name Range
M_Speed G1, G2, G3
M_Width x1, x2, x4
root/Cover.xlsx
![Page 24: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/24.jpg)
SNUG 2016 24
Specific configuration
• Config variables filter:
– All mode variables
– Any cover group scenario that specifies it
Supported speeds: G1, G2; Support width: x1
Name Range
C_Speed G1, G2
C_Width x1
Config
Mode
Name Range
M_Speed G1, G2, G3
M_Width x1, x2, x4
root/Cover.xlsx
![Page 25: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/25.jpg)
SNUG 2016 25
Specific configuration
• Config variables filter:
– All mode variables
– Any cover group scenario that specifies it
Supported speeds: G1, G2; Support width: x1
Name Range
C_Speed G1, G2
C_Width x1
Config
Mode
Name Range
M_Speed G1, G2
M_Width x1
root/Cover.xlsx
Assumed named value
(i.e. enumeration)
![Page 26: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/26.jpg)
SNUG 2016 26
Cover variables in block_1
• Config variables filter:
– Any cover group scenario that specifies it
Coverpoints Data Ctrl C_Speed
c_0 * 1 G1, G2
Group
root/block_1/Cover.xlsx
Name Range
C_Speed G3
C_Width x1
Config
root/Cover.xlsx
Not applicable
Removed
![Page 27: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/27.jpg)
SNUG 2016 27
Usage model
Root block
cg cg cg
block_1 block_2 block_3
block_2_1 block_2_2 block_1_1
block_1_1_1
Cover model
cover.xlsx
Refine
coverc.pl
![Page 28: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/28.jpg)
SNUG 2016 28
Usage model
Root block
cg cg cg
block_1 block_2 block_3
block_2_1 block_2_2 block_1_1
block_1_1_1
Cover model
cover.xlsx
covergroup.sv
Instantiate
in test bench
coverc.pl
![Page 29: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/29.jpg)
SNUG 2016 29
Usage model
Root block
cg cg cg
block_1 block_2 block_3
block_2_1 block_2_2 block_1_1
block_1_1_1
Cover model
cover.xlsx
VPLAN.xml
covergroup.sv
Report
Coverage
coverc.pl
![Page 30: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/30.jpg)
SNUG 2016 30
Usage model
Root block
cg cg cg
block_1 block_2 block_3
block_2_1 block_2_2 block_1_1
block_1_1_1
Cover model
cover.xlsx
VPLAN.xml
covergroup.sv
coverc.pl
![Page 31: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/31.jpg)
SNUG 2016 31
Agenda
Background
Our Approach
“The Demo” or “What this looks like without actually running a demo”
Coversheet examples from the paper
![Page 32: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/32.jpg)
SNUG 2016 32
Root Cover Model Directory
Contains the coversheets from the paper
IP1 static configuration
Script to build cover model for IP1
It’s PERL, it can be run on Windows, too!
![Page 33: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/33.jpg)
SNUG 2016 33
Root Cover Block
Root block coversheet
![Page 34: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/34.jpg)
SNUG 2016 34
Root Block::Config Tab
• config tab – lists configuration variables
• Identifies static (compile-time) configuration values for the DUT
![Page 35: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/35.jpg)
SNUG 2016 35
Root Block::Mode Tab
• mode tab – lists mode variables
• Mode variable range values are pass-thru filtered by config variables
![Page 36: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/36.jpg)
SNUG 2016 36
Root Block::Variable Tab
• variable – declare ranges for use in cover points
• Variables may be used in this coversheet and any child coversheet
![Page 37: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/37.jpg)
SNUG 2016 37
Root Block::Group Tab
• group – instantiate variables in cross-scenarios used in a covergroup
• Any mode, config, or cover variable in this or any parent coversheet
![Page 38: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/38.jpg)
SNUG 2016 38
IP #1 Configuration Override
Scope and
name match?
Replace range
![Page 39: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/39.jpg)
SNUG 2016 39
IP #1 Configuration Affect
![Page 40: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/40.jpg)
SNUG 2016 40
Generate Coverage for IP #1
IP Config
Input root block
Output root block
![Page 41: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/41.jpg)
SNUG 2016 41
Generated Coverage for IP #1
![Page 42: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/42.jpg)
SNUG 2016 42
IP #1 Coverage
![Page 43: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/43.jpg)
SNUG 2016 43
IP #1 Coverage
![Page 44: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/44.jpg)
SNUG 2016 44
IP #1 Coverage
![Page 45: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/45.jpg)
SNUG 2016 45
IP #1 Coverage
![Page 46: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/46.jpg)
SNUG 2016 46
IP #1 Coverage
![Page 47: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/47.jpg)
SNUG 2016 47
IP #1 Coverage
![Page 48: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/48.jpg)
SNUG 2016 48
IP #1 Coverage
![Page 49: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/49.jpg)
SNUG 2016 49
IP #1 Coverage
Covergroups in the
same coverblock
Cover crosses
Source path to HVP
HVP report coverage
![Page 50: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/50.jpg)
SNUG 2016 50
IP #1 Coverage
Demos upon request!
![Page 51: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/51.jpg)
SNUG 2016 51
Conclusions
• Handling functional coverage for highly configurable IP is HARD
– Coverpoints are not in a vacuum
– Static configuration
– Dynamic mode-of-operation
• This is one solution we have employed in:
– 2 programs (currently active)
– 7 customers (so far)
– Up to 2 at one time (so far)
![Page 52: Molding Functional Coverage and Reporting for Highly … · 2018. 10. 25. · Molding Functional Coverage and Reporting for Highly Configurable IP Jeremy Ridgeway Broadcom Limited,](https://reader036.fdocuments.in/reader036/viewer/2022063021/5fe3be560210223dbc3721f0/html5/thumbnails/52.jpg)
SNUG 2016 52
Thank You