Covered statements:
Signal assignment statement on line 114:
114: oRawValid <= '0';
Count: 194509
Threshold: 1
Signal assignment statement on line 115:
115: oRawSuffixLen <= to_unsigned(1, 5);
Count: 194509
Threshold: 1
Signal assignment statement on line 116:
116: oRawSuffixVal <= to_unsigned(1, RUN_CNT_WIDTH);
Count: 194509
Threshold: 1
Signal assignment statement on line 117:
117: oRiValid <= '0';
Count: 194509
Threshold: 1
Signal assignment statement on line 118:
118: oRiIx <= iIx;
Count: 194509
Threshold: 1
Signal assignment statement on line 119:
119: oRiRa <= iRa;
Count: 194509
Threshold: 1
Signal assignment statement on line 120:
120: oRiRb <= iRb;
Count: 194509
Threshold: 1
Signal assignment statement on line 121:
121: oRiRunIndex <= sRunIndex;
Count: 194509
Threshold: 1
Signal assignment statement on line 124:
124: sRunIndexNext <= sRunIndex;
Count: 194509
Threshold: 1
Signal assignment statement on line 125:
125: sNextBoundNext <= sNextBound;
Count: 194509
Threshold: 1
Signal assignment statement on line 126:
126: sInRunNext <= sInRun;
Count: 194509
Threshold: 1
If statement on lines 128 to 194:
128: if (iModeIsRun = '1' and iRst = '0') then
129: vJ := CO_J_TABLE(to_integer(sRunIndex));
...
193: end if;
194: end if;
Count: 194509
Threshold: 1
Variable assignment statement on line 129:
129: vJ := CO_J_TABLE(to_integer(sRunIndex));
Count: 86266
Threshold: 1
Variable assignment statement on line 130:
130: vStep := shift_left(to_unsigned(1, C_BOUND_WIDTH), vJ);
Count: 86266
Threshold: 1
If statement on lines 131 to 135:
131: if (sRunIndex < 31) then
132: vJNext := CO_J_TABLE(to_integer(sRunIndex) + 1);
133: else
134: vJNext := CO_J_TABLE(31);
135: end if;
Count: 86266
Threshold: 1
Variable assignment statement on line 132:
132: vJNext := CO_J_TABLE(to_integer(sRunIndex) + 1);
Count: 44906
Threshold: 1
Variable assignment statement on line 134:
134: vJNext := CO_J_TABLE(31);
Count: 41360
Threshold: 1
Variable assignment statement on line 136:
136: vStepNext := shift_left(to_unsigned(1, C_BOUND_WIDTH), vJNext);
Count: 86266
Threshold: 1
If statement on lines 138 to 193:
138: if (iRunHit = '1') then
139: -- ── A.15: matching pixel ───────────────────────────────────────────
...
192: CO_J_TABLE(to_integer(vNewIndex)));
193: end if;
Count: 86266
Threshold: 1
Variable assignment statement on line 140:
140: vBoundHit := resize(iRunCnt, C_BOUND_WIDTH) = sNextBound;
Count: 85274
Threshold: 1
Variable assignment statement on line 141:
141: vNewIndex := sRunIndex;
Count: 85274
Threshold: 1
If statement on lines 143 to 148:
143: if (vBoundHit) then
144: oRawValid <= '1';
145: if (sRunIndex < 31) then
146: vNewIndex := sRunIndex + 1;
147: end if;
148: end if;
Count: 85274
Threshold: 1
Signal assignment statement on line 144:
144: oRawValid <= '1';
Count: 1003
Threshold: 1
If statement on lines 145 to 147:
145: if (sRunIndex < 31) then
146: vNewIndex := sRunIndex + 1;
147: end if;
Count: 1003
Threshold: 1
Variable assignment statement on line 146:
146: vNewIndex := sRunIndex + 1;
Count: 1002
Threshold: 1
Signal assignment statement on line 150:
150: sInRunNext <= '1';
Count: 85274
Threshold: 1
If statement on lines 152 to 167:
152: if (iRunContinue = '0') then
153: -- EOLine
...
166: end if;
167: end if;
Count: 85274
Threshold: 1
Signal assignment statement on line 154:
154: sInRunNext <= '0';
Count: 262
Threshold: 1
If statement on lines 155 to 157:
155: if (not vBoundHit and iRunCnt > 0) then
156: oRawValid <= '1'; -- A16 EOLine '1' bit
157: end if;
Count: 262
Threshold: 1
Signal assignment statement on line 156:
156: oRawValid <= '1'; -- A16 EOLine '1' bit
Count: 140
Threshold: 1
Signal assignment statement on line 158:
158: sRunIndexNext <= vNewIndex;
Count: 262
Threshold: 1
Signal assignment statement on lines 159 to 160:
159: sNextBoundNext <= shift_left(to_unsigned(1, C_BOUND_WIDTH),
160: CO_J_TABLE(to_integer(vNewIndex)));
Count: 262
Threshold: 1
Signal assignment statement on line 163:
163: sRunIndexNext <= vNewIndex;
Count: 85012
Threshold: 1
If statement on lines 164 to 166:
164: if (vBoundHit) then
165: sNextBoundNext <= sNextBound + vStepNext;
166: end if;
Count: 85012
Threshold: 1
Signal assignment statement on line 165:
165: sNextBoundNext <= sNextBound + vStepNext;
Count: 881
Threshold: 1
Signal assignment statement on line 175:
175: oRawValid <= '1';
Count: 992
Threshold: 1
Signal assignment statement on line 176:
176: oRawSuffixLen <= to_unsigned(vJ + 1, 5);
Count: 992
Threshold: 1
Signal assignment statement on line 177:
177: oRawSuffixVal <= iRunCnt - resize(sNextBound - vStep, RUN_CNT_WIDTH);
Count: 992
Threshold: 1
Signal assignment statement on line 178:
178: oRiValid <= '1';
Count: 992
Threshold: 1
Signal assignment statement on line 179:
179: oRiIx <= iIx;
Count: 992
Threshold: 1
Signal assignment statement on line 180:
180: oRiRa <= iRa;
Count: 992
Threshold: 1
Signal assignment statement on line 181:
181: oRiRb <= iRb;
Count: 992
Threshold: 1
If statement on lines 183 to 187:
183: if (sRunIndex > 0) then
184: vNewIndex := sRunIndex - 1;
185: else
186: vNewIndex := (others => '0');
187: end if;
Count: 992
Threshold: 1
Variable assignment statement on line 184:
184: vNewIndex := sRunIndex - 1;
Count: 514
Threshold: 1
Variable assignment statement on line 186:
186: vNewIndex := (others => '0');
Count: 478
Threshold: 1
Signal assignment statement on line 189:
189: sInRunNext <= '0';
Count: 992
Threshold: 1
Signal assignment statement on line 190:
190: sRunIndexNext <= vNewIndex;
Count: 992
Threshold: 1
Signal assignment statement on lines 191 to 192:
191: sNextBoundNext <= shift_left(to_unsigned(1, C_BOUND_WIDTH),
192: CO_J_TABLE(to_integer(vNewIndex)));
Count: 992
Threshold: 1
Signal assignment statement on line 198:
198: oInRunNext <= sInRunNext;
Count: 818
Threshold: 1
If statement on lines 204 to 214:
204: if rising_edge(iClk) then
205: if (iRst = '1' or iEoi = '1') then
...
213: end if;
214: end if;
Count: 372390
Threshold: 1
If statement on lines 205 to 213:
205: if (iRst = '1' or iEoi = '1') then
206: sRunIndex <= (others => '0');
...
212: sInRun <= sInRunNext;
213: end if;
Count: 186195
Threshold: 1
Signal assignment statement on line 206:
206: sRunIndex <= (others => '0');
Count: 457
Threshold: 1
Signal assignment statement on line 207:
207: sNextBound <= to_unsigned(1, C_BOUND_WIDTH);
Count: 457
Threshold: 1
Signal assignment statement on line 208:
208: sInRun <= '0';
Count: 457
Threshold: 1
Signal assignment statement on line 210:
210: sRunIndex <= sRunIndexNext;
Count: 181813
Threshold: 1
Signal assignment statement on line 211:
211: sNextBound <= sNextBoundNext;
Count: 181813
Threshold: 1
Signal assignment statement on line 212:
212: sInRun <= sInRunNext;
Count: 181813
Threshold: 1