cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
10,095 Views
Registered: ‎01-05-2008

Another problem in AccelDSP, when ANALYZE

Now, I encounter an other problem.
In my previouse experiment,  I can use the functions such as accel_complex_mtimes,accel_complex_plus...correctly.
But in my current porject, AccelDSP often repoart the following error:
 
#(    E-ANALYZE-0028): C:\AccelDSP\projects\Vblastdecode\col_pinv.m(4): Invalid form for map-function call: "accel_complex_mtimes( Conjtrans_in_r, Conjtrans_in_i, Din_R, Din_I )"
#  Explanation: 0
#  Remedy: Type help "accel_complex_mtimes" for more information on supported and unsupported forms of this function.
.
I think the input parameters I used is proper.
 
would you please give me some illuminations to resolve this problem?
0 Kudos
Reply
5 Replies
Highlighted
Xilinx Employee
Xilinx Employee
10,089 Views
Registered: ‎08-21-2007

Hi boombo,
 
Do you have two outputs on the left hand side like my example below?  This example just worked for me in a test case.  The variables all need to be the same shape, too.
 
[c_r, c_i] = accel_complex_mtimes(a_r, a_i, b_r, b_i);

 
For your information, AccelDSP 10.1 (available in March) will support native complex numbers in MATLAB such as this:
 
a = 3 + 4i;
c = a * x;
 
Tim


Message Edited by timv on 01-10-2008 06:00 PM
0 Kudos
Reply
Highlighted
Visitor
Visitor
10,085 Views
Registered: ‎01-05-2008

Yes, I think the left side of the my expression is right, just like the following expression.
 
[mul_r,mul_i]=accel_complex_mtimes(Conjtrans_in_r,Conjtrans_in_i,Din_R,Din_I);
 
Also I found another interesting phenomenon is that some functions such as max, min.... that should be supported by AccelDSP, now can not be used in my project. And AccelDSP report the same information as it report for accel_complex_mtimes.
0 Kudos
Reply
Highlighted
Xilinx Employee
Xilinx Employee
10,072 Views
Registered: ‎08-21-2007

Are all of your inputs and outputs to accel_complex_mtimes() the same shape - 1x1, 1x2, etc?
 
Can you send the example with max() and min() that do not work for you?  They should work.
 
y = max(a);
 
Tim
0 Kudos
Reply
Highlighted
Visitor
Visitor
10,019 Views
Registered: ‎01-05-2008

Hi, Tim.
Thank you for your help. I have resolved the problems about the functions.
 
Now I am fighting with another problem when I "Generate Fixed Point".
 
The AccelDSP always report the following error:
 
#  (E-QTZ-0001): Unable to fully quantize the design.
#  Explanation: Found constructs in the design whose quantizations could not be calculated or encountered errors.
#  Remedy: Please apply directives to the items that were not quantized (see fixed point report or previous warnings).

Do you have some advices about this error. thank you! 
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////
some information from FixedPointReport:
0 Kudos
Reply
Highlighted
Xilinx Employee
Xilinx Employee
10,013 Views
Registered: ‎08-21-2007

AccelDSP can't always determine the quatization of every input variable.  It wants you to "Click here to set quantizer directive" at set the number of bits for all four of those variables.
 
Then you can rerun Generate Fixed Point.
 
Tim
0 Kudos
Reply