User`s manual

177 assign p4 = y4_p7 + d_y4_y1_denom_scale;
178 assign p5 = y2_p8 - d_y1_y2_denom_scale;
179
180 // 36, 36, 44, 35, 35, 43, 24, 24, 33
181 // computation of inverse mapping
182 wire signed[67:0] p1_inv_wire;
183 wire signed[68:0] p2_inv_wire;
184 wire signed[78:0] p3_inv_wire;
185 wire signed[67:0] p4_inv_wire;
186 wire signed[68:0] p5_inv_wire;
187 wire signed[78:0] p6_inv_wire;
188 wire signed[58:0] p7_inv_wire;
189 wire signed[59:0] p8_inv_wire;
190 wire signed[70:0] p9_inv_wire;
191 assign p1_inv_wire = p6*p8 - p5*p9;
192 assign p2_inv_wire = p2*p9 - p3*p8;
193 assign p3_inv_wire = p3*p5 - p2*p6;
194 assign p4_inv_wire = p4*p9 - p6*p7;
195 assign p5_inv_wire = p3*p7 - p1*p9;
196 assign p6_inv_wire = p1*p6 - p3*p4;
197 assign p7_inv_wire = p5*p7 - p4*p8;
198 assign p8_inv_wire = p1*p8 - p2*p7;
199 assign p9_inv_wire = p2*p4 - p1*p5;
200
201 // computation of dec_numx_horiz, dec_numy_horiz, dec_denom_horiz
202 wire signed[78:0] dec_numx_horiz_wire;
203 wire signed[78:0] dec_numy_horiz_wire;
204 wire signed[70:0] dec_denom_horiz_wire;
205 // multiply stuff by 639 = 512 + 128 - 1
206 assign dec_numx_horiz_wire = (p1_inv_wire <<< 9) + (p1_inv_wire <<< 7) - p1_inv_wire;
207 assign dec_numy_horiz_wire = (p4_inv_wire <<< 9) + (p4_inv_wire <<< 7) - p4_inv_wire;
208 assign dec_denom_horiz_wire = (p7_inv_wire <<< 9) + (p7_inv_wire <<< 7) - p7_inv_wire;
209
210 always @(posedge clk) begin
211 p1_inv <= p1_inv_wire;
212 p2_inv <= p2_inv_wire;
213 p3_inv <= p3_inv_wire;
214 p4_inv <= p4_inv_wire;
215 p5_inv <= p5_inv_wire;
216 p6_inv <= p6_inv_wire;
217 p7_inv <= p7_inv_wire;
218 p8_inv <= p8_inv_wire;
219 p9_inv <= p9_inv_wire;
220 dec_numx_horiz <= dec_numx_horiz_wire;
221 dec_numy_horiz <= dec_numy_horiz_wire;
222 dec_denom_horiz <= dec_denom_horiz_wire;
231