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