This website uses cookies. By using this site, you consent to the use of cookies. For more information, please take a look at our Privacy Policy.
Home > FPGA Technical Tutorials > Design Recipes for FPGAs Using Verilog and VHDL > Multiplication > Synthesis of the Multiplication Function

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

Synthesis of the Multiplication Function

FONT SIZE : AAA

After completion, this model was run through a standard synthesis software tool, targeted at a smallish size FPGA with the following results:

Number of ports : 66

Number of nets : 1704

Number of instances : 1639

Number of references to this view : 0

Total accumulated area :

Number of BUFGP : 1

Number of Dffs or Latches : 164

Number of Function Generators : 1181

Number of IBUF : 33

Number of MUX CARRYs : 31

Number of MUXF5 : 221

Number of MUXF6 : 2

Number of OBUF : 32

Number of accumulated instances : 1701

Number of global buffers used: 1

***********************************************

Device Utilization for 2VP2fg256

***********************************************

Resource Used Avail Utilization

-----------------------------------------------

IOs 65 140 46.43%

Global Buffers 1 16 6.25%

Function Generators 1181 2816 41.94%

CLB Slices 591 1408 41.97%

Dffs or Latches 164 3236 5.07%

Block RAMs 0 12 0.00%

Block Multipliers 0 12 0.00%

-----------------------------------------------

Clock : Frequency

------------------------------------

clk : 30.0 MHz

finished : 30.0 MHz

What is clear from this report is the fact that a significant amount of resources was required to implement this multiplier on a small device. In this case, the optimization was for area and not speed, but in spite of that, the design usage was nearly 50% of the whole FPGA. Clearly, arithmetic functions are not always easy on an FPGA, certainly not in area terms, with the worst culprit being multipliers. However, we are going to investigate alternative techniques and this is really just for a comparison of resources. 

As a result, care must be taken in managing designs, taking advantage of pipelining and using the available resources as effectively as possible. The downside is that the design becomes more involved, with a controller generally required, but ultimately with the possibility of higher performance than an equivalent DSP function. It is also the case that many modern FPGAs now contain dedicated DSP functions (such as multiplication) which can be targeted directly in synthesis, which means that the area issue will not occur. 

  • XCV300-4FG456I

    Manufacturer:Xilinx

  • FPGA Virtex Family 322.97K Gates 6912 Cells 250MHz 0.22um Technology 2.5V 456-Pin FBGA
  • Product Categories: Portes logiques

    Lifecycle:Obsolete -

    RoHS:

  • XCV300-5BG432I

    Manufacturer:Xilinx

  • FPGA Virtex Family 322.97K Gates 6912 Cells 294MHz 0.22um Technology 2.5V 432-Pin BGA
  • Product Categories: Semiconducteurs & Actifs

    Lifecycle:Obsolete -

    RoHS: No RoHS

  • XC2V2000-6FGG676C

    Manufacturer:Xilinx

  • FPGA Virtex-II Family 2M Gates 24192 Cells 820MHz 0.15um Technology 1.5V 676-Pin FBGA
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Obsolete -

    RoHS:

  • XCS30XL-4TQ144Q

    Manufacturer:Xilinx

  • Xilinx TQFP144
  • Product Categories:

    Lifecycle:Obsolete -

    RoHS: -

  • XC3090A-6PC84C

    Manufacturer:Xilinx

  • FPGA XC3000 Family 6K Gates 320 Cells 135MHz 5V 84-Pin PLCC
  • Product Categories:

    Lifecycle:Obsolete -

    RoHS: No RoHS

Need Help?

Support

If you have any questions about the product and related issues, Please contact us.