cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
gmvivek
Visitor
Visitor
2,923 Views
Registered: ‎12-17-2014

Multiply and accumulation operation using DSP48a macro ipcore of xilinx Spartan -3A DSPs FPGA

Hi all,

 

I am trying to do a Multiply and accumulation operation of 256 values. For this I  have used 16  DSP48a macros, the ip core of Xilinx, Spartan 3A DSA FPGAs, each computing 16 MAC operations.

 

I have used (P+A*B) instruction to do the MAC operation. My implementation is correct before the MAC operation but it doesn't give the output.

 

is the problem with the IP core DSP48a macros??  Is my instruction (P+A*B) is correct for MAC operation?

 

please advise me.. thanks

0 Kudos
4 Replies
muzaffer
Teacher
Teacher
2,909 Views
Registered: ‎03-31-2012

>> is the problem with the IP core DSP48a macros??

NO.

>> Is my instruction (P+A*B) is correct for MAC operation?

In theory yes, but depends on whether you are using the DSP48s correctly. Are you driving the reset properly? What about various CE signals?
First try a very simple multiplier. If you just connect A & B with the CE's all tied high, can you get a multiplication output?
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos
gmvivek
Visitor
Visitor
2,864 Views
Registered: ‎12-17-2014

Hi Muzaffer

 

 

 

 

I can able to get an exact output with the IP CORE of  Multiply Accumulator version 2.0 but I couldn't able to get the ouput with dsp48a macro IPCORE.

 

The problem is with the control signals or instruction??  please advise me.. 

 

0 Kudos
yenigal
Xilinx Employee
Xilinx Employee
2,862 Views
Registered: ‎02-06-2013

Hi

 

You can find the control signal description from the below doc and check if you are driving them correctly

 

http://www.xilinx.com/support/documentation/ip_documentation/dsp48_macro_ds754.pdf

Regards,

Satish

--------------------------------------------------​--------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful.
--------------------------------------------------​-------------------------------------------
0 Kudos
muzaffer
Teacher
Teacher
2,842 Views
Registered: ‎03-31-2012

When you use P+A*B, you need to make sure that P register output is available/valid to be used in the addition. Try feeding A & B inputs continuously with no intermediate reset and see what you get at the output.
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos