DSP: chainout = ( (ay+az)*ax) + ( (by+bz)*bx) + chainin
Arria 10 DSP: I am trying to realize
chainout = ( (ay+az)*ax) + ( (by+bz)*bx) + chainin
According to the documentation diagrams and tables, systolic form should support this. But when I set az/bz to 18 in the IP generator it rejects with the reason of 'az' range should be 0 in this form.
Is this a IP generator SW problem, or DSP does not support this setting?
Can I instantiate twentynm_mac_component directly without using the IP generator? Or does Altera have a DSP primitive that I can use to instantiate?
chainout = ( (ay+az)) + ( (by+bz)) + chainin
also works for me. Basically I am trying to pack 5 adders in to one DSP.
Hi,
Sorry for the delay. I might have overlooked this. Thanks for contacting me. For your information, I have looked into the DSP block architecture in documentation and understand that there should be no issue to implement your target operation.
As I tested with the A10 Native Fixed Point DSP IP, I am able to replicate similar error with your configuration. After further debugging, I found that the right option for the ay' and by' operand source should be "preadder" for your target operation. After I switch to "preadder", the error goes away and the IP Block Symbol also looks correct. You can try on your side to see if it works.
Please let me know if there is any concern. Thank you.