NVC code coverage report

Back to summary

Coverage report for file:

File:  ../../Sources/A11_2_bit_packer.vhd

Current File:

File Statement Branch Toggle Expression FSM state Functional Average
A11_2_bit_packer.vhd 100.0 % (27/27) 100.0 % (5/5) N.A. N.A. N.A. N.A. 100.0 % (32/32)

Details:

Statement Branch Toggle Expression FSM state Functional

Uncovered statements:

Excluded statements:

Covered statements:

Assertion statement on lines 68 to 70:

68:  assert OUT_WIDTH >= LIMIT 
69:    report "A11_2_bit_packer: OUT_WIDTH must be >= LIMIT (per-cycle worst case)" 
70:    severity failure; 

Count: 1
Threshold: 1

Variable assignment statement on line 97:

97:    vWord   := (others => '0'); 
Count: 108354
Threshold: 1

Variable assignment statement on line 98:

98:    vRawLen := to_integer(iRawLen); 
Count: 108354
Threshold: 1

Variable assignment statement on line 99:

99:    vSufLen := to_integer(iSuffixLen); 
Count: 108354
Threshold: 1

Variable assignment statement on line 100:

100:    vTotal  := 0; 
Count: 108354
Threshold: 1

If statement on lines 102 to 106:

102:    if (iRawValid = '1' and vRawLen > 0) then 
103:      vRawShift := shift_left(resize(iRawVal, OUT_WIDTH), OUT_WIDTH - vRawLen); 
104:      vWord     := vRawShift; 
105:      vTotal    := vRawLen; 
106:    end if; 

Count: 108354
Threshold: 1

Variable assignment statement on line 103:

103:      vRawShift := shift_left(resize(iRawVal, OUT_WIDTH), OUT_WIDTH - vRawLen); 
Count: 950
Threshold: 1

Variable assignment statement on line 104:

104:      vWord     := vRawShift; 
Count: 950
Threshold: 1

Variable assignment statement on line 105:

105:      vTotal    := vRawLen; 
Count: 950
Threshold: 1

If statement on lines 108 to 117:

108:    if (iGolombValid = '1') then 
109:      vMarker     := shift_left(to_unsigned(1, GOLOMB_WIDTH), vSufLen); 
...
116:      vTotal := vTotal + vGolombLen; 
117:    end if; 

Count: 108354
Threshold: 1

Variable assignment statement on line 109:

109:      vMarker     := shift_left(to_unsigned(1, GOLOMB_WIDTH), vSufLen); 
Count: 92628
Threshold: 1

Variable assignment statement on line 110:

110:      vGolombWord := vMarker or (resize(iSuffixVal, GOLOMB_WIDTH) and (vMarker - 1)); -- Masks the desired suffix bits and adds to marker 
Count: 92628
Threshold: 1

Variable assignment statement on line 112:

112:      vGolombLen   := to_integer(iUnaryZeros) + 1 + vSufLen; 
Count: 92628
Threshold: 1

Variable assignment statement on line 113:

113:      vGolombShift := shift_left(resize(vGolombWord, OUT_WIDTH), OUT_WIDTH - vTotal - vGolombLen); 
Count: 92628
Threshold: 1

Variable assignment statement on line 115:

115:      vWord  := vWord or vGolombShift; 
Count: 92628
Threshold: 1

Variable assignment statement on line 116:

116:      vTotal := vTotal + vGolombLen; 
Count: 92628
Threshold: 1

Signal assignment statement on line 119:

119:    sCombWord  <= std_logic_vector(vWord); 
Count: 108354
Threshold: 1

Signal assignment statement on line 120:

120:    sCombLen   <= to_unsigned(vTotal, sCombLen'length); 
Count: 108354
Threshold: 1

Signal assignment statement on line 121:

121:    sCombValid <= iRawValid or iGolombValid; 
Count: 108354
Threshold: 1

If statement on lines 131 to 141:

131:    if rising_edge(iClk) then 
132:      if (iRst = '1') then 
...
140:      end if; 
141:    end if; 

Count: 204862
Threshold: 1

If statement on lines 132 to 140:

132:      if (iRst = '1') then 
133:        oWord      <= (others => '0'); 
...
139:        oValidLen  <= sCombLen; 
140:      end if; 

Count: 102431
Threshold: 1

Signal assignment statement on line 133:

133:        oWord      <= (others => '0'); 
Count: 285
Threshold: 1

Signal assignment statement on line 134:

134:        oWordValid <= '0'; 
Count: 285
Threshold: 1

Signal assignment statement on line 135:

135:        oValidLen  <= (others => '0'); 
Count: 285
Threshold: 1

Signal assignment statement on line 137:

137:        oWord      <= sCombWord; 
Count: 98216
Threshold: 1

Signal assignment statement on line 138:

138:        oWordValid <= sCombValid; 
Count: 98216
Threshold: 1

Signal assignment statement on line 139:

139:        oValidLen  <= sCombLen; 
Count: 98216
Threshold: 1

Uncovered branches:

Excluded branches:

Covered branches:

"if" / "when" / "else" condition on line 102:

102:    if (iRawValid = '1' and vRawLen > 0) then 
Evaluated toCountThreshold
BinTrue9501

"if" / "when" / "else" condition on line 108:

108:    if (iGolombValid = '1') then 
Evaluated toCountThreshold
BinTrue926281

"if" / "when" / "else" condition on line 131:

131:    if rising_edge(iClk) then 
Evaluated toCountThreshold
BinTrue1024311

"if" / "when" / "else" condition on line 132:

132:      if (iRst = '1') then 
Evaluated toCountThreshold
BinTrue2851

"if" / "when" / "else" condition on line 136:

136:      elsif (iStall = '0') then 
Evaluated toCountThreshold
BinTrue982161

Uncovered toggles:

Excluded toggles:

Covered toggles:

Uncovered expressions:

Excluded expressions:

Covered expressions:

Uncovered FSM states:

Excluded FSM states:

Covered FSM states:

Uncovered functional coverage:

Excluded functional coverage:

Covered functional coverage: