Module Definition
dashboard | hierarchy | modlist | groups | tests | asserts

Module : tlul_adapter_sram
SCORELINECONDTOGGLEFSMBRANCHASSERT
84.26 96.92 75.23 79.17 85.71

Source File(s) :
/workspace/default/sim-vcs/../src/lowrisc_tlul_adapter_sram_0.1/rtl/tlul_adapter_sram.sv

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut.u_tlul_adapter 95.44 98.44 97.62 100.00 85.71



Module Instance : tb.dut.u_tlul_adapter

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.44 98.44 97.62 100.00 85.71


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
88.71 93.95 88.29 79.75 92.86


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
83.30 94.02 77.27 100.00 40.00 88.51 100.00 dut


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
u_err 100.00 100.00 100.00 100.00 100.00
u_reqfifo 91.36 95.00 87.10 83.33 100.00
u_rsp_gen 100.00 100.00 100.00
u_rspfifo 79.31 87.18 68.97 61.11 100.00
u_sram_byte 100.00 100.00
u_sramreqfifo 78.68 86.84 65.38 62.50 100.00

Line Coverage for Module : tlul_adapter_sram
Line No.TotalCoveredPercent
TOTAL656396.92
ALWAYS9433100.00
CONT_ASSIGN10311100.00
CONT_ASSIGN10811100.00
CONT_ASSIGN11511100.00
CONT_ASSIGN12611100.00
CONT_ASSIGN14011100.00
CONT_ASSIGN15211100.00
CONT_ASSIGN22411100.00
CONT_ASSIGN22511100.00
CONT_ASSIGN22611100.00
ALWAYS2318787.50
ALWAYS25166100.00
CONT_ASSIGN26511100.00
CONT_ASSIGN26911100.00
CONT_ASSIGN28811100.00
CONT_ASSIGN29311100.00
CONT_ASSIGN29911100.00
CONT_ASSIGN30311100.00
CONT_ASSIGN32311100.00
CONT_ASSIGN32411100.00
CONT_ASSIGN32511100.00
CONT_ASSIGN32611100.00
ALWAYS35666100.00
ALWAYS36855100.00
CONT_ASSIGN38311100.00
CONT_ASSIGN38411100.00
CONT_ASSIGN38511100.00
CONT_ASSIGN38911100.00
CONT_ASSIGN39011100.00
CONT_ASSIGN39211100.00
CONT_ASSIGN39311100.00
CONT_ASSIGN40011100.00
CONT_ASSIGN40311100.00
CONT_ASSIGN40711100.00
CONT_ASSIGN408100.00
CONT_ASSIGN41011100.00
CONT_ASSIGN41700
ALWAYS43533100.00
CONT_ASSIGN44111100.00
CONT_ASSIGN44411100.00
CONT_ASSIGN44911100.00
CONT_ASSIGN45400
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_tlul_adapter_sram_0.1/rtl/tlul_adapter_sram.sv' or '../src/lowrisc_tlul_adapter_sram_0.1/rtl/tlul_adapter_sram.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
94 1 1
95 1 1
96 1 1
97 unreachable
MISSING_ELSE
103 1 1
108 1 1
115 1 1
126 1 1
140 1 1
152 1 1
224 1 1
225 1 1
226 1 1
231 1 1
233 1 1
234 1 1
236 1 1
237 1 1
238 0 1
241 1 1
244 1 1
251 1 1
253 1 1
254 1 1
255 1 1
257 1 1
260 1 1
265 1 1
269 1 1
288 1 1
293 1 1
299 1 1
303 1 1
323 1 1
324 1 1
325 1 1
326 1 1
356 1 1
357 1 1
359 1 1
360 1 1
361 1 1
362 1 1
MISSING_ELSE
368 1 1
369 1 1
371 1 1
372 1 1
373 1 1
MISSING_ELSE
383 1 1
384 1 1
385 1 1
389 1 1
390 1 1
392 1 1
393 1 1
400 1 1
403 1 1
407 1 1
408 0 1
410 1 1
417 unreachable
435 1 1
436 1 1
437 1 1
441 1 1
444 1 1
449 1 1
454 unreachable


Cond Coverage for Module : tlul_adapter_sram
TotalCoveredPercent
Conditions1098275.23
Logical1098275.23
Non-Logical00
Event00

 LINE       96
 EXPRESSION (intg_error || rsp_fifo_error)
             -----1----    -------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01Unreachable
10Unreachable

 LINE       103
 EXPRESSION (intg_error | rsp_fifo_error | intg_error_q)
             -----1----   -------2------   ------3-----
-1--2--3-StatusTests
000CoveredT1,T2,T3
001Not Covered
010Unreachable
100Unreachable

 LINE       108
 EXPRESSION 
 Number  Term
      1  ((tl_i.a_opcode == PutFullData) || (tl_i.a_opcode == PutPartialData)) ? (((ByteAccess == 1'b0) ? ((tl_i.a_mask != '1) || (tl_i.a_size != 2'h2)) : 1'b0)) : 1'b0)
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       108
 SUB-EXPRESSION ((tl_i.a_opcode == PutFullData) || (tl_i.a_opcode == PutPartialData))
                 ---------------1--------------    ----------------2----------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T2,T3
10CoveredT1,T2,T3

 LINE       108
 SUB-EXPRESSION (tl_i.a_opcode == PutFullData)
                ---------------1--------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       108
 SUB-EXPRESSION (tl_i.a_opcode == PutPartialData)
                ----------------1----------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       126
 EXPRESSION (tl_i.a_opcode == Get)
            -----------1----------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       140
 EXPRESSION (wr_attr_error | wr_vld_error | rd_vld_error | instr_error | tlul_error | intg_error)
             ------1------   ------2-----   ------3-----   -----4-----   -----5----   -----6----
-1--2--3--4--5--6-StatusTests
000000CoveredT1,T2,T3
000001Unreachable
000010CoveredT1,T2,T3
000100Not Covered
001000CoveredT21,T8,T11
010000Unreachable
100000Not Covered

 LINE       224
 EXPRESSION (tl_i_int.a_valid & tl_o_int.a_ready)
             --------1-------   --------2-------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       225
 EXPRESSION (tl_o_int.d_valid & tl_i_int.d_ready)
             --------1-------   --------2-------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T26,T4
11CoveredT1,T2,T3

 LINE       226
 EXPRESSION (req_o & gnt_i)
             --1--   --2--
-1--2-StatusTests
01Not Covered
10CoveredT20,T21,T22
11CoveredT1,T2,T3

 LINE       237
 EXPRESSION (reqfifo_rdata.op == OpRead)
            --------------1-------------
-1-StatusTests
0CoveredT1,T2,T3
1Not Covered

 LINE       254
 EXPRESSION (reqfifo_rdata.op == OpRead)
            --------------1-------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT21,T8,T11

 LINE       255
 EXPRESSION (rspfifo_rdata.error | reqfifo_rdata.error)
             ---------1---------   ---------2---------
-1--2-StatusTests
00Not Covered
01CoveredT21,T8,T11
10Not Covered

 LINE       265
 EXPRESSION (d_valid & reqfifo_rvalid & rspfifo_rvalid & (reqfifo_rdata.op == OpRead))
             ---1---   -------2------   -------3------   --------------4-------------
-1--2--3--4-StatusTests
0111Not Covered
1011Not Covered
1101CoveredT21,T8,T11
1110Not Covered
1111Not Covered

 LINE       265
 SUB-EXPRESSION (reqfifo_rdata.op == OpRead)
                --------------1-------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT21,T8,T11

 LINE       293
 EXPRESSION ((vld_rd_rsp & ((~d_error))) ? rspfifo_rdata.data : error_blanking_data)
             -------------1-------------
-1-StatusTests
0CoveredT1,T2,T3
1Not Covered

 LINE       293
 SUB-EXPRESSION (vld_rd_rsp & ((~d_error)))
                 -----1----   ------2-----
-1--2-StatusTests
01CoveredT1,T2,T3
10Not Covered
11Not Covered

 LINE       299
 EXPRESSION ((vld_rd_rsp && reqfifo_rdata.error) ? error_blanking_integ : (vld_rd_rsp ? rspfifo_rdata.data_intg : prim_secded_pkg::SecdedInv3932ZeroEcc))
             -----------------1-----------------
-1-StatusTests
0CoveredT1,T2,T3
1Not Covered

 LINE       299
 SUB-EXPRESSION (vld_rd_rsp && reqfifo_rdata.error)
                 -----1----    ---------2---------
-1--2-StatusTests
01CoveredT21,T8,T11
10Not Covered
11Not Covered

 LINE       299
 SUB-EXPRESSION (vld_rd_rsp ? rspfifo_rdata.data_intg : prim_secded_pkg::SecdedInv3932ZeroEcc)
                 -----1----
-1-StatusTests
0CoveredT1,T2,T3
1Not Covered

 LINE       303
 EXPRESSION ((d_valid && (reqfifo_rdata.op != OpRead)) ? AccessAck : AccessAckData)
             --------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       303
 SUB-EXPRESSION (d_valid && (reqfifo_rdata.op != OpRead))
                 ---1---    --------------2-------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT21,T8,T11
11CoveredT1,T2,T3

 LINE       303
 SUB-EXPRESSION (reqfifo_rdata.op != OpRead)
                --------------1-------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       303
 EXPRESSION (d_valid ? reqfifo_rdata.size : '0)
             ---1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       303
 EXPRESSION (d_valid ? reqfifo_rdata.source : '0)
             ---1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       303
 EXPRESSION (d_valid && d_error)
             ---1---    ---2---
-1--2-StatusTests
01Not Covered
10CoveredT1,T2,T3
11CoveredT21,T8,T11

 LINE       303
 EXPRESSION ((gnt_i | error_internal) & reqfifo_wready & sramreqfifo_wready)
             ------------1-----------   -------2------   ---------3--------
-1--2--3-StatusTests
011CoveredT20,T21,T22
101CoveredT1,T2,T3
110Not Covered
111CoveredT1,T2,T3

 LINE       303
 SUB-EXPRESSION (gnt_i | error_internal)
                 --1--   -------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T2,T3
10CoveredT1,T2,T3

 LINE       323
 EXPRESSION (tl_i_int.a_valid & reqfifo_wready & ((~error_internal)))
             --------1-------   -------2------   ---------3---------
-1--2--3-StatusTests
011Not Covered
101CoveredT1,T2,T3
110CoveredT21,T8,T11
111CoveredT1,T2,T3

 LINE       325
 EXPRESSION (tl_i_int.a_valid & (tl_i_int.a_opcode inside {PutFullData, PutPartialData}))
             --------1-------   ----------------------------2---------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT21,T8,T11
11CoveredT1,T2,T3

 LINE       326
 EXPRESSION (tl_i_int.a_valid ? tl_i_int.a_address[DataBitWidth+:SramAw] : '0)
             --------1-------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       362
 EXPRESSION ((tl_i_int.a_mask[i] && we_o) ? tl_i_int.a_data[(8 * i)+:8] : '0)
             --------------1-------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       362
 SUB-EXPRESSION (tl_i_int.a_mask[i] && we_o)
                 ---------1--------    --2-
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT21,T8,T11
11CoveredT1,T2,T3

 LINE       385
 EXPRESSION (((|wmask_intg)) & ((|wdata_intg)))
             -------1-------   -------2-------
-1--2-StatusTests
01Not Covered
10CoveredT1,T2,T5
11CoveredT1,T2,T3

 LINE       393
 EXPRESSION ((tl_i_int.a_opcode != Get) ? OpWrite : OpRead)
             -------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       393
 SUB-EXPRESSION (tl_i_int.a_opcode != Get)
                -------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       407
 EXPRESSION (sram_ack & ((~we_o)))
             ----1---   ----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11Not Covered

 LINE       410
 EXPRESSION (rvalid_i & reqfifo_rvalid)
             ----1---   -------2------
-1--2-StatusTests
01CoveredT1,T2,T3
10Not Covered
11Not Covered

 LINE       449
 EXPRESSION (((reqfifo_rdata.op == OpRead) & ((~reqfifo_rdata.error))) ? reqfifo_rready : 1'b0)
             ----------------------------1----------------------------
-1-StatusTests
0CoveredT1,T2,T3
1Not Covered

 LINE       449
 SUB-EXPRESSION ((reqfifo_rdata.op == OpRead) & ((~reqfifo_rdata.error)))
                 --------------1-------------   ------------2-----------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT21,T8,T11
11Not Covered

 LINE       449
 SUB-EXPRESSION (reqfifo_rdata.op == OpRead)
                --------------1-------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT21,T8,T11

Branch Coverage for Module : tlul_adapter_sram
Line No.TotalCoveredPercent
Branches 24 19 79.17
TERNARY 108 2 2 100.00
TERNARY 293 2 1 50.00
TERNARY 299 3 1 33.33
TERNARY 326 2 2 100.00
TERNARY 449 2 1 50.00
IF 94 2 2 100.00
IF 233 4 3 75.00
IF 253 3 3 100.00
IF 359 2 2 100.00
IF 371 2 2 100.00

WARNING: The source file /workspace/default/sim-vcs/../src/lowrisc_tlul_adapter_sram_0.1/rtl/tlul_adapter_sram.sv' or '../src/lowrisc_tlul_adapter_sram_0.1/rtl/tlul_adapter_sram.sv was not found/opened, so annotated branch coverage report could not be generated.

LineNo. Expression -1-: 108 (((tl_i.a_opcode == PutFullData) || (tl_i.a_opcode == PutPartialData))) ?

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


LineNo. Expression -1-: 293 ((vld_rd_rsp & (~d_error))) ?

Branches:
-1-StatusTests
1 Not Covered
0 Covered T1,T2,T3


LineNo. Expression -1-: 299 ((vld_rd_rsp && reqfifo_rdata.error)) ? -2-: 299 (vld_rd_rsp) ?

Branches:
-1--2-StatusTests
1 - Not Covered
0 1 Not Covered
0 0 Covered T1,T2,T3


LineNo. Expression -1-: 326 (tl_i_int.a_valid) ?

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


LineNo. Expression -1-: 449 (((reqfifo_rdata.op == OpRead) & (~reqfifo_rdata.error))) ?

Branches:
-1-StatusTests
1 Not Covered
0 Covered T1,T2,T3


LineNo. Expression -1-: 94 if ((!rst_ni)) -2-: 96 if ((intg_error || rsp_fifo_error))

Branches:
-1--2-StatusTests
1 - Covered T1,T2,T3
0 1 Unreachable
0 0 Covered T1,T2,T3


LineNo. Expression -1-: 233 if (reqfifo_rvalid) -2-: 234 if (reqfifo_rdata.error) -3-: 237 if ((reqfifo_rdata.op == OpRead))

Branches:
-1--2--3-StatusTests
1 1 - Covered T21,T8,T11
1 0 1 Not Covered
1 0 0 Covered T1,T2,T3
0 - - Covered T1,T2,T3


LineNo. Expression -1-: 253 if (reqfifo_rvalid) -2-: 254 if ((reqfifo_rdata.op == OpRead))

Branches:
-1--2-StatusTests
1 1 Covered T21,T8,T11
1 0 Covered T1,T2,T3
0 - Covered T1,T2,T3


LineNo. Expression -1-: 359 if (tl_i_int.a_valid)

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


LineNo. Expression -1-: 371 if (tl_i_int.a_valid)

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


Assert Coverage for Module : tlul_adapter_sram
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 14 14 100.00 12 85.71
Cover properties 0 0 0
Cover sequences 0 0 0
Total 14 14 100.00 12 85.71




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
AddrOutKnown_A 459874234 459804191 0 0
DataIntgOptions_A 569 569 0 0
ReqOutKnown_A 459874234 459804191 0 0
SramDwHasByteGranularity_A 569 569 0 0
SramDwIsMultipleOfTlulWidth_A 569 569 0 0
TlOutKnown_A 459874234 459804191 0 0
TlOutPayloadKnown_A 459874234 42418954 0 0
TlOutPayloadKnown_AKnownEnable 459874234 459804191 0 0
WdataOutKnown_A 459874234 459804191 0 0
WeOutKnown_A 459874234 459804191 0 0
WmaskOutKnown_A 459874234 459804191 0 0
adapterNoReadOrWrite 569 569 0 0
rvalidHighReqFifoEmpty 459874234 0 0 0
rvalidHighWhenRspFifoFull 459874234 0 0 0


AddrOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 459804191 0 0
T1 307274 307202 0 0
T2 132693 132609 0 0
T3 2585 2514 0 0
T4 501065 501002 0 0
T5 178686 178621 0 0
T6 114696 114662 0 0
T23 1559 1459 0 0
T24 1147 1057 0 0
T26 5339 5258 0 0
T27 3163 2349 0 0

DataIntgOptions_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 569 569 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T23 1 1 0 0
T24 1 1 0 0
T26 1 1 0 0
T27 1 1 0 0

ReqOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 459804191 0 0
T1 307274 307202 0 0
T2 132693 132609 0 0
T3 2585 2514 0 0
T4 501065 501002 0 0
T5 178686 178621 0 0
T6 114696 114662 0 0
T23 1559 1459 0 0
T24 1147 1057 0 0
T26 5339 5258 0 0
T27 3163 2349 0 0

SramDwHasByteGranularity_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 569 569 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T23 1 1 0 0
T24 1 1 0 0
T26 1 1 0 0
T27 1 1 0 0

SramDwIsMultipleOfTlulWidth_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 569 569 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T23 1 1 0 0
T24 1 1 0 0
T26 1 1 0 0
T27 1 1 0 0

TlOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 459804191 0 0
T1 307274 307202 0 0
T2 132693 132609 0 0
T3 2585 2514 0 0
T4 501065 501002 0 0
T5 178686 178621 0 0
T6 114696 114662 0 0
T23 1559 1459 0 0
T24 1147 1057 0 0
T26 5339 5258 0 0
T27 3163 2349 0 0

TlOutPayloadKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 42418954 0 0
T1 307274 10373 0 0
T2 132693 22977 0 0
T3 2585 51 0 0
T4 501065 805423 0 0
T5 178686 5671 0 0
T6 114696 136060 0 0
T7 0 89244 0 0
T23 1559 0 0 0
T24 1147 0 0 0
T26 5339 52 0 0
T27 3163 0 0 0
T29 0 24970 0 0
T39 0 164 0 0

TlOutPayloadKnown_AKnownEnable
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 459804191 0 0
T1 307274 307202 0 0
T2 132693 132609 0 0
T3 2585 2514 0 0
T4 501065 501002 0 0
T5 178686 178621 0 0
T6 114696 114662 0 0
T23 1559 1459 0 0
T24 1147 1057 0 0
T26 5339 5258 0 0
T27 3163 2349 0 0

WdataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 459804191 0 0
T1 307274 307202 0 0
T2 132693 132609 0 0
T3 2585 2514 0 0
T4 501065 501002 0 0
T5 178686 178621 0 0
T6 114696 114662 0 0
T23 1559 1459 0 0
T24 1147 1057 0 0
T26 5339 5258 0 0
T27 3163 2349 0 0

WeOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 459804191 0 0
T1 307274 307202 0 0
T2 132693 132609 0 0
T3 2585 2514 0 0
T4 501065 501002 0 0
T5 178686 178621 0 0
T6 114696 114662 0 0
T23 1559 1459 0 0
T24 1147 1057 0 0
T26 5339 5258 0 0
T27 3163 2349 0 0

WmaskOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 459804191 0 0
T1 307274 307202 0 0
T2 132693 132609 0 0
T3 2585 2514 0 0
T4 501065 501002 0 0
T5 178686 178621 0 0
T6 114696 114662 0 0
T23 1559 1459 0 0
T24 1147 1057 0 0
T26 5339 5258 0 0
T27 3163 2349 0 0

adapterNoReadOrWrite
NameAttemptsReal SuccessesFailuresIncomplete
Total 569 569 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T23 1 1 0 0
T24 1 1 0 0
T26 1 1 0 0
T27 1 1 0 0

rvalidHighReqFifoEmpty
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 0 0 0

rvalidHighWhenRspFifoFull
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 0 0 0

Line Coverage for Instance : tb.dut.u_tlul_adapter
Line No.TotalCoveredPercent
TOTAL646398.44
ALWAYS9433100.00
CONT_ASSIGN10311100.00
CONT_ASSIGN10811100.00
CONT_ASSIGN11511100.00
CONT_ASSIGN12611100.00
CONT_ASSIGN14011100.00
CONT_ASSIGN15211100.00
CONT_ASSIGN22411100.00
CONT_ASSIGN22511100.00
CONT_ASSIGN22611100.00
ALWAYS23177100.00
ALWAYS25166100.00
CONT_ASSIGN26511100.00
CONT_ASSIGN26911100.00
CONT_ASSIGN28811100.00
CONT_ASSIGN29311100.00
CONT_ASSIGN29911100.00
CONT_ASSIGN30311100.00
CONT_ASSIGN32311100.00
CONT_ASSIGN32411100.00
CONT_ASSIGN32511100.00
CONT_ASSIGN32611100.00
ALWAYS35666100.00
ALWAYS36855100.00
CONT_ASSIGN38311100.00
CONT_ASSIGN38411100.00
CONT_ASSIGN38511100.00
CONT_ASSIGN38911100.00
CONT_ASSIGN39011100.00
CONT_ASSIGN39211100.00
CONT_ASSIGN39311100.00
CONT_ASSIGN40011100.00
CONT_ASSIGN40311100.00
CONT_ASSIGN40711100.00
CONT_ASSIGN408100.00
CONT_ASSIGN41011100.00
CONT_ASSIGN41700
ALWAYS43533100.00
CONT_ASSIGN44111100.00
CONT_ASSIGN44411100.00
CONT_ASSIGN44911100.00
CONT_ASSIGN45400
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_tlul_adapter_sram_0.1/rtl/tlul_adapter_sram.sv' or '../src/lowrisc_tlul_adapter_sram_0.1/rtl/tlul_adapter_sram.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
94 1 1
95 1 1
96 1 1
97 unreachable
MISSING_ELSE
103 1 1
108 1 1
115 1 1
126 1 1
140 1 1
152 1 1
224 1 1
225 1 1
226 1 1
231 1 1
233 1 1
234 1 1
236 1 1
237 1 1
238 excluded
Exclude Annotation: VC_COV_UNR
241 1 1
244 1 1
251 1 1
253 1 1
254 1 1
255 1 1
257 1 1
260 1 1
265 1 1
269 1 1
288 1 1
293 1 1
299 1 1
303 1 1
323 1 1
324 1 1
325 1 1
326 1 1
356 1 1
357 1 1
359 1 1
360 1 1
361 1 1
362 1 1
MISSING_ELSE
368 1 1
369 1 1
371 1 1
372 1 1
373 1 1
MISSING_ELSE
383 1 1
384 1 1
385 1 1
389 1 1
390 1 1
392 1 1
393 1 1
400 1 1
403 1 1
407 1 1
408 0 1
410 1 1
417 unreachable
435 1 1
436 1 1
437 1 1
441 1 1
444 1 1
449 1 1
454 unreachable


Cond Coverage for Instance : tb.dut.u_tlul_adapter
TotalCoveredPercent
Conditions848297.62
Logical848297.62
Non-Logical00
Event00

 LINE       96
 EXPRESSION (intg_error || rsp_fifo_error)
             -----1----    -------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01Unreachable
10Unreachable

 LINE       103
 EXPRESSION (intg_error | rsp_fifo_error | intg_error_q)
             -----1----   -------2------   ------3-----
-1--2--3-StatusTestsExclude Annotation
000CoveredT1,T2,T3
001Excluded VC_COV_UNR
010Unreachable
100Unreachable

 LINE       108
 EXPRESSION 
 Number  Term
      1  ((tl_i.a_opcode == PutFullData) || (tl_i.a_opcode == PutPartialData)) ? (((ByteAccess == 1'b0) ? ((tl_i.a_mask != '1) || (tl_i.a_size != 2'h2)) : 1'b0)) : 1'b0)
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       108
 SUB-EXPRESSION ((tl_i.a_opcode == PutFullData) || (tl_i.a_opcode == PutPartialData))
                 ---------------1--------------    ----------------2----------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T2,T3
10CoveredT1,T2,T3

 LINE       108
 SUB-EXPRESSION (tl_i.a_opcode == PutFullData)
                ---------------1--------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       108
 SUB-EXPRESSION (tl_i.a_opcode == PutPartialData)
                ----------------1----------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       126
 EXPRESSION (tl_i.a_opcode == Get)
            -----------1----------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       140
 EXPRESSION (wr_attr_error | wr_vld_error | rd_vld_error | instr_error | tlul_error | intg_error)
             ------1------   ------2-----   ------3-----   -----4-----   -----5----   -----6----
-1--2--3--4--5--6-StatusTestsExclude Annotation
000000CoveredT1,T2,T3
000001Unreachable
000010CoveredT1,T2,T3
000100Excluded VC_COV_UNR
001000CoveredT21,T8,T11
010000Unreachable
100000Excluded VC_COV_UNR

 LINE       224
 EXPRESSION (tl_i_int.a_valid & tl_o_int.a_ready)
             --------1-------   --------2-------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       225
 EXPRESSION (tl_o_int.d_valid & tl_i_int.d_ready)
             --------1-------   --------2-------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T26,T4
11CoveredT1,T2,T3

 LINE       226
 EXPRESSION (req_o & gnt_i)
             --1--   --2--
-1--2-StatusTestsExclude Annotation
01Excluded VC_COV_UNR
10CoveredT20,T21,T22
11CoveredT1,T2,T3

 LINE       237
 EXPRESSION (reqfifo_rdata.op == OpRead)
            --------------1-------------
-1-StatusTestsExclude Annotation
0CoveredT1,T2,T3
1Excluded VC_COV_UNR

 LINE       254
 EXPRESSION (reqfifo_rdata.op == OpRead)
            --------------1-------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT21,T8,T11

 LINE       255
 EXPRESSION (rspfifo_rdata.error | reqfifo_rdata.error)
             ---------1---------   ---------2---------
-1--2-StatusTestsExclude Annotation
00Excluded VC_COV_UNR
01CoveredT21,T8,T11
10Excluded VC_COV_UNR

 LINE       265
 EXPRESSION (d_valid & reqfifo_rvalid & rspfifo_rvalid & (reqfifo_rdata.op == OpRead))
             ---1---   -------2------   -------3------   --------------4-------------
-1--2--3--4-StatusTestsExclude Annotation
0111Excluded VC_COV_UNR
1011Excluded VC_COV_UNR
1101CoveredT21,T8,T11
1110Excluded VC_COV_UNR
1111Excluded VC_COV_UNR

 LINE       265
 SUB-EXPRESSION (reqfifo_rdata.op == OpRead)
                --------------1-------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT21,T8,T11

 LINE       293
 EXPRESSION ((vld_rd_rsp & ((~d_error))) ? rspfifo_rdata.data : error_blanking_data)
             -------------1-------------
-1-StatusTestsExclude Annotation
0CoveredT1,T2,T3
1Excluded VC_COV_UNR

 LINE       293
 SUB-EXPRESSION (vld_rd_rsp & ((~d_error)))
                 -----1----   ------2-----
-1--2-StatusTestsExclude Annotation
01CoveredT1,T2,T3
10Excluded VC_COV_UNR
11Excluded VC_COV_UNR

 LINE       299
 EXPRESSION ((vld_rd_rsp && reqfifo_rdata.error) ? error_blanking_integ : (vld_rd_rsp ? rspfifo_rdata.data_intg : prim_secded_pkg::SecdedInv3932ZeroEcc))
             -----------------1-----------------
-1-StatusTestsExclude Annotation
0CoveredT1,T2,T3
1Excluded VC_COV_UNR

 LINE       299
 SUB-EXPRESSION (vld_rd_rsp && reqfifo_rdata.error)
                 -----1----    ---------2---------
-1--2-StatusTestsExclude Annotation
01CoveredT21,T8,T11
10Excluded VC_COV_UNR
11Excluded VC_COV_UNR

 LINE       299
 SUB-EXPRESSION (vld_rd_rsp ? rspfifo_rdata.data_intg : prim_secded_pkg::SecdedInv3932ZeroEcc)
                 -----1----
-1-StatusTestsExclude Annotation
0CoveredT1,T2,T3
1Excluded VC_COV_UNR

 LINE       303
 EXPRESSION ((d_valid && (reqfifo_rdata.op != OpRead)) ? AccessAck : AccessAckData)
             --------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       303
 SUB-EXPRESSION (d_valid && (reqfifo_rdata.op != OpRead))
                 ---1---    --------------2-------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT21,T8,T11
11CoveredT1,T2,T3

 LINE       303
 SUB-EXPRESSION (reqfifo_rdata.op != OpRead)
                --------------1-------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       303
 EXPRESSION (d_valid ? reqfifo_rdata.size : '0)
             ---1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       303
 EXPRESSION (d_valid ? reqfifo_rdata.source : '0)
             ---1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       303
 EXPRESSION (d_valid && d_error)
             ---1---    ---2---
-1--2-StatusTests
01Not Covered
10CoveredT1,T2,T3
11CoveredT21,T8,T11

 LINE       303
 EXPRESSION ((gnt_i | error_internal) & reqfifo_wready & sramreqfifo_wready)
             ------------1-----------   -------2------   ---------3--------
-1--2--3-StatusTests
011CoveredT20,T21,T22
101CoveredT1,T2,T3
110Not Covered
111CoveredT1,T2,T3

 LINE       303
 SUB-EXPRESSION (gnt_i | error_internal)
                 --1--   -------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T2,T3
10CoveredT1,T2,T3

 LINE       323
 EXPRESSION (tl_i_int.a_valid & reqfifo_wready & ((~error_internal)))
             --------1-------   -------2------   ---------3---------
-1--2--3-StatusTestsExclude Annotation
011Excluded VC_COV_UNR
101CoveredT1,T2,T3
110CoveredT21,T8,T11
111CoveredT1,T2,T3

 LINE       325
 EXPRESSION (tl_i_int.a_valid & (tl_i_int.a_opcode inside {PutFullData, PutPartialData}))
             --------1-------   ----------------------------2---------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT21,T8,T11
11CoveredT1,T2,T3

 LINE       326
 EXPRESSION (tl_i_int.a_valid ? tl_i_int.a_address[DataBitWidth+:SramAw] : '0)
             --------1-------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       362
 EXPRESSION ((tl_i_int.a_mask[i] && we_o) ? tl_i_int.a_data[(8 * i)+:8] : '0)
             --------------1-------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       362
 SUB-EXPRESSION (tl_i_int.a_mask[i] && we_o)
                 ---------1--------    --2-
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT21,T8,T11
11CoveredT1,T2,T3

 LINE       385
 EXPRESSION (((|wmask_intg)) & ((|wdata_intg)))
             -------1-------   -------2-------
-1--2-StatusTestsExclude Annotation
01Excluded vcs_gen_start:i=0:vcs_gen_end:VC_COV_UNR
10CoveredT1,T2,T5
11CoveredT1,T2,T3

 LINE       393
 EXPRESSION ((tl_i_int.a_opcode != Get) ? OpWrite : OpRead)
             -------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       393
 SUB-EXPRESSION (tl_i_int.a_opcode != Get)
                -------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       407
 EXPRESSION (sram_ack & ((~we_o)))
             ----1---   ----2----
-1--2-StatusTestsExclude Annotation
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11Excluded VC_COV_UNR

 LINE       410
 EXPRESSION (rvalid_i & reqfifo_rvalid)
             ----1---   -------2------
-1--2-StatusTestsExclude Annotation
01CoveredT1,T2,T3
10Excluded VC_COV_UNR
11Excluded VC_COV_UNR

 LINE       449
 EXPRESSION (((reqfifo_rdata.op == OpRead) & ((~reqfifo_rdata.error))) ? reqfifo_rready : 1'b0)
             ----------------------------1----------------------------
-1-StatusTestsExclude Annotation
0CoveredT1,T2,T3
1Excluded VC_COV_UNR

 LINE       449
 SUB-EXPRESSION ((reqfifo_rdata.op == OpRead) & ((~reqfifo_rdata.error)))
                 --------------1-------------   ------------2-----------
-1--2-StatusTestsExclude Annotation
01CoveredT1,T2,T3
10CoveredT21,T8,T11
11Excluded VC_COV_UNR

 LINE       449
 SUB-EXPRESSION (reqfifo_rdata.op == OpRead)
                --------------1-------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT21,T8,T11

Branch Coverage for Instance : tb.dut.u_tlul_adapter
Line No.TotalCoveredPercent
Branches 19 19 100.00
TERNARY 108 2 2 100.00
TERNARY 293 1 1 100.00
TERNARY 299 1 1 100.00
TERNARY 326 2 2 100.00
TERNARY 449 1 1 100.00
IF 94 2 2 100.00
IF 233 3 3 100.00
IF 253 3 3 100.00
IF 359 2 2 100.00
IF 371 2 2 100.00

WARNING: The source file /workspace/default/sim-vcs/../src/lowrisc_tlul_adapter_sram_0.1/rtl/tlul_adapter_sram.sv' or '../src/lowrisc_tlul_adapter_sram_0.1/rtl/tlul_adapter_sram.sv was not found/opened, so annotated branch coverage report could not be generated.

LineNo. Expression -1-: 108 (((tl_i.a_opcode == PutFullData) || (tl_i.a_opcode == PutPartialData))) ?

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


LineNo. Expression -1-: 293 ((vld_rd_rsp & (~d_error))) ?

Branches:
-1-StatusTestsExclude Annotation
1 Excluded VC_COV_UNR
0 Covered T1,T2,T3


LineNo. Expression -1-: 299 ((vld_rd_rsp && reqfifo_rdata.error)) ? -2-: 299 (vld_rd_rsp) ?

Branches:
-1--2-StatusTestsExclude Annotation
1 - Excluded VC_COV_UNR
0 1 Excluded VC_COV_UNR
0 0 Covered T1,T2,T3


LineNo. Expression -1-: 326 (tl_i_int.a_valid) ?

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


LineNo. Expression -1-: 449 (((reqfifo_rdata.op == OpRead) & (~reqfifo_rdata.error))) ?

Branches:
-1-StatusTestsExclude Annotation
1 Excluded VC_COV_UNR
0 Covered T1,T2,T3


LineNo. Expression -1-: 94 if ((!rst_ni)) -2-: 96 if ((intg_error || rsp_fifo_error))

Branches:
-1--2-StatusTests
1 - Covered T1,T2,T3
0 1 Unreachable
0 0 Covered T1,T2,T3


LineNo. Expression -1-: 233 if (reqfifo_rvalid) -2-: 234 if (reqfifo_rdata.error) -3-: 237 if ((reqfifo_rdata.op == OpRead))

Branches:
-1--2--3-StatusTestsExclude Annotation
1 1 - Covered T21,T8,T11
1 0 1 Excluded VC_COV_UNR
1 0 0 Covered T1,T2,T3
0 - - Covered T1,T2,T3


LineNo. Expression -1-: 253 if (reqfifo_rvalid) -2-: 254 if ((reqfifo_rdata.op == OpRead))

Branches:
-1--2-StatusTests
1 1 Covered T21,T8,T11
1 0 Covered T1,T2,T3
0 - Covered T1,T2,T3


LineNo. Expression -1-: 359 if (tl_i_int.a_valid)

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


LineNo. Expression -1-: 371 if (tl_i_int.a_valid)

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_tlul_adapter
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 14 14 100.00 12 85.71
Cover properties 0 0 0
Cover sequences 0 0 0
Total 14 14 100.00 12 85.71




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
AddrOutKnown_A 459874234 459804191 0 0
DataIntgOptions_A 569 569 0 0
ReqOutKnown_A 459874234 459804191 0 0
SramDwHasByteGranularity_A 569 569 0 0
SramDwIsMultipleOfTlulWidth_A 569 569 0 0
TlOutKnown_A 459874234 459804191 0 0
TlOutPayloadKnown_A 459874234 42418954 0 0
TlOutPayloadKnown_AKnownEnable 459874234 459804191 0 0
WdataOutKnown_A 459874234 459804191 0 0
WeOutKnown_A 459874234 459804191 0 0
WmaskOutKnown_A 459874234 459804191 0 0
adapterNoReadOrWrite 569 569 0 0
rvalidHighReqFifoEmpty 459874234 0 0 0
rvalidHighWhenRspFifoFull 459874234 0 0 0


AddrOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 459804191 0 0
T1 307274 307202 0 0
T2 132693 132609 0 0
T3 2585 2514 0 0
T4 501065 501002 0 0
T5 178686 178621 0 0
T6 114696 114662 0 0
T23 1559 1459 0 0
T24 1147 1057 0 0
T26 5339 5258 0 0
T27 3163 2349 0 0

DataIntgOptions_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 569 569 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T23 1 1 0 0
T24 1 1 0 0
T26 1 1 0 0
T27 1 1 0 0

ReqOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 459804191 0 0
T1 307274 307202 0 0
T2 132693 132609 0 0
T3 2585 2514 0 0
T4 501065 501002 0 0
T5 178686 178621 0 0
T6 114696 114662 0 0
T23 1559 1459 0 0
T24 1147 1057 0 0
T26 5339 5258 0 0
T27 3163 2349 0 0

SramDwHasByteGranularity_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 569 569 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T23 1 1 0 0
T24 1 1 0 0
T26 1 1 0 0
T27 1 1 0 0

SramDwIsMultipleOfTlulWidth_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 569 569 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T23 1 1 0 0
T24 1 1 0 0
T26 1 1 0 0
T27 1 1 0 0

TlOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 459804191 0 0
T1 307274 307202 0 0
T2 132693 132609 0 0
T3 2585 2514 0 0
T4 501065 501002 0 0
T5 178686 178621 0 0
T6 114696 114662 0 0
T23 1559 1459 0 0
T24 1147 1057 0 0
T26 5339 5258 0 0
T27 3163 2349 0 0

TlOutPayloadKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 42418954 0 0
T1 307274 10373 0 0
T2 132693 22977 0 0
T3 2585 51 0 0
T4 501065 805423 0 0
T5 178686 5671 0 0
T6 114696 136060 0 0
T7 0 89244 0 0
T23 1559 0 0 0
T24 1147 0 0 0
T26 5339 52 0 0
T27 3163 0 0 0
T29 0 24970 0 0
T39 0 164 0 0

TlOutPayloadKnown_AKnownEnable
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 459804191 0 0
T1 307274 307202 0 0
T2 132693 132609 0 0
T3 2585 2514 0 0
T4 501065 501002 0 0
T5 178686 178621 0 0
T6 114696 114662 0 0
T23 1559 1459 0 0
T24 1147 1057 0 0
T26 5339 5258 0 0
T27 3163 2349 0 0

WdataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 459804191 0 0
T1 307274 307202 0 0
T2 132693 132609 0 0
T3 2585 2514 0 0
T4 501065 501002 0 0
T5 178686 178621 0 0
T6 114696 114662 0 0
T23 1559 1459 0 0
T24 1147 1057 0 0
T26 5339 5258 0 0
T27 3163 2349 0 0

WeOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 459804191 0 0
T1 307274 307202 0 0
T2 132693 132609 0 0
T3 2585 2514 0 0
T4 501065 501002 0 0
T5 178686 178621 0 0
T6 114696 114662 0 0
T23 1559 1459 0 0
T24 1147 1057 0 0
T26 5339 5258 0 0
T27 3163 2349 0 0

WmaskOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 459804191 0 0
T1 307274 307202 0 0
T2 132693 132609 0 0
T3 2585 2514 0 0
T4 501065 501002 0 0
T5 178686 178621 0 0
T6 114696 114662 0 0
T23 1559 1459 0 0
T24 1147 1057 0 0
T26 5339 5258 0 0
T27 3163 2349 0 0

adapterNoReadOrWrite
NameAttemptsReal SuccessesFailuresIncomplete
Total 569 569 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T23 1 1 0 0
T24 1 1 0 0
T26 1 1 0 0
T27 1 1 0 0

rvalidHighReqFifoEmpty
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 0 0 0

rvalidHighWhenRspFifoFull
NameAttemptsReal SuccessesFailuresIncomplete
Total 459874234 0 0 0

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%