Hello PPL, I would like to know what are the current implementations for the internal blocks inside a DSP48E. This of course applies to the new Virtex-5 FPGA. How is Xilinx building, at RTL, the 25 X 18 multiplier (is it a booth?) as well as the 48 X 48 adder blocks? Thanks for any help Jacques
DSP48E, What are the internal implementations used?
Started by ●May 25, 2006
Reply by ●May 25, 20062006-05-25
Jacques, I think you cannot expect an answer in a public forum like this. Part of the answer might divulge secrets that Xilinx tries to keep away from the competition. Some of it should be kept under wraps to reduce the support burden, for there are always smart people who then could poke around in the innards and cause great stress to our support organization. When I was Zilog Applications I found all those undocumented Z-80 instruction, and wanted to make them public. But I was told in no uncertain terms that that would not be in the interest of the company, since it might cause future compatability problems. My advice to you is to attend conferences and read papers where designers proudly talk and write (sometimes too much) about their achievements. Patents are also a good source of information, but you never know whether the patented idea really got implemented that way. The shorter answer to your question would be a question: Why do you want to know? Peter Alfke
Reply by ●May 25, 20062006-05-25
Jacques, The actual implementation and circuits of our DSP48E is proprietary information. What has been published: http://www.xilinx.com/publications/xcellonline/xcell_52/xc_pdf/xc_v4topview52.pdf Austin jaxato@gmail.com wrote:> Hello PPL, > > I would like to know what are the current implementations for the > internal blocks inside a DSP48E. This of course applies to the new > Virtex-5 FPGA. How is Xilinx building, at RTL, the 25 X 18 multiplier > (is it a booth?) as well as the 48 X 48 adder blocks? > > Thanks for any help > Jacques >
Reply by ●May 25, 20062006-05-25
Hi Peter, Thanks for your prompt reply to my post. I have been asked by my professor to write a comprehensive report on the various arithmetic building blocks which exists in the FPGA world. So here I am probing here and there. But the thing is that it is most probably a "classic" implementation that Xilinx is using or maybe with some adaptation. If such information is too much asking, then I will most probably use a N/A in my report. I am just starting though and I will try to dig deeper into papers, in particular, those dealing with the Virtex-4, as I am sure that most of the DSP48E is based on its predecessor. Jacques
Reply by ●May 25, 20062006-05-25
Jacques, OK. That is fair. If you read the article I sent you, it will tell you that the IP for V4 was licensed from Arithmatica. If you then go to their website, you may get some idea of what they are doing, although you will not know what we did with their IP, you can probably assume we made it work well (which we did). I can not say more about V5, as it has not been printed anywhere (yet). Austin jaxato@gmail.com wrote:> Hi Peter, > > Thanks for your prompt reply to my post. I have been asked by my > professor to write a comprehensive report on the various arithmetic > building blocks which exists in the FPGA world. So here I am probing > here and there. But the thing is that it is most probably a "classic" > implementation that Xilinx is using or maybe with some adaptation. If > such information is too much asking, then I will most probably use a > N/A in my report. I am just starting though and I will try to dig > deeper into papers, in particular, those dealing with the Virtex-4, as > I am sure that most of the DSP48E is based on its predecessor. > > Jacques >
Reply by ●May 25, 20062006-05-25
On 25 May 2006 14:05:39 -0700, jaxato@gmail.com wrote:>Hello PPL, > >I would like to know what are the current implementations for the >internal blocks inside a DSP48E. This of course applies to the new >Virtex-5 FPGA. How is Xilinx building, at RTL, the 25 X 18 multiplier >(is it a booth?) as well as the 48 X 48 adder blocks?First of all there is no RTL (one which gets synthesized anyway). Second I remember Xilinx licensing some IP from a high speed module generator company a while back. Their design methodology was a little more public.
Reply by ●May 25, 20062006-05-25
Jacques, the days of "normal textbook design methods" for such highly-tuned circuits are definitely passee. No more simple adder trees, or -heaven forbid- ripple-carry adders. It's all far more sophisticated, because there is this enormous pressure to achieve high performance, while keeping power low. May make your assignment more difficult, but it gives the user better results. Peter Alfke
Reply by ●May 25, 20062006-05-25
One question... Is it correct to say that the A+ and Ax technology was used in the DSP48, as the V4's DSP is CellMath based? I am confident that Xilinx improvements were at balancing the power to speed ratio by adapting the technology to 90nm. Jacques
Reply by ●May 25, 20062006-05-25
jaxato@gmail.com wrote:> Hello PPL, > > I would like to know what are the current implementations for the > internal blocks inside a DSP48E. This of course applies to the new > Virtex-5 FPGA. How is Xilinx building, at RTL, the 25 X 18 multiplier > (is it a booth?) as well as the 48 X 48 adder blocks? > > Thanks for any help > Jacques >One hint to the internal construction lies in the fact that the V4 documentation tells you that the adder is a three input adder that performs the final add in the multiplier plus the C input. From that, you can infer a carry-save architecture (Booth is one possibility). Of course, you still don't know the exact details, but it does narrow it down considerably.
Reply by ●May 25, 20062006-05-25
On Thu, 25 May 2006 20:47:59 -0400, Ray Andraka <ray@andraka.com> wrote:>jaxato@gmail.com wrote: >> Hello PPL, >> >> I would like to know what are the current implementations for the >> internal blocks inside a DSP48E. This of course applies to the new >> Virtex-5 FPGA. How is Xilinx building, at RTL, the 25 X 18 multiplier >> (is it a booth?) as well as the 48 X 48 adder blocks? >> >> Thanks for any help >> Jacques >> > One hint to the internal construction lies in the fact that the V4 >documentation tells you that the adder is a three input adder that >performs the final add in the multiplier plus the C input. From that, >you can infer a carry-save architecture (Booth is one possibility). Of >course, you still don't know the exact details, but it does narrow it >down considerably.Forgive me if I don't understand but what does Booth have to do with carry-save ? Booth is a partial product generation/reduction techique. How you add the resulting partial products (carry-save, carry-select, ripple) has nothing to do with it. Also you can do carry-save without doing a booth encoding first. Actually there are some studies which say that booth encoding is not suggested for vdsm technologies.





