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 > Design Optimization > Improving Performance

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

Improving Performance

FONT SIZE : AAA

Consider a simple example of an addition X = A + B + C + D, where all the variables are digital words. We could implement this using adders, taking two numbers at a time and then adding the answer to the next input. This would give the data flow diagram shown in Figure 16.4.

This implementation requires three adders and takes three cycles to get the answer. If we were more systematic with the same resources, we could reduce this to two cycles by adopting a different structure, as shown in Figure 16.5.

Reduced cycle implementation.png

Figure 16.5 

Reduced cycle implementation.

This is a classic case of an expression tree being reduced so that the control path can take fewer cycles, but achieving the same data path result. We could also the envisage the case where we only use a single addition block, but use registers to store the intermediate sums and then pipeline the sums until we complete the expression. This would potentially take the longest, but would result in the smallest area requirement as there would only be the need for a single addition block (of course, this would be a trade-off with an increased number of registers).

Critical Path Analysis

Another approach to logic optimization is to analyze the critical path through a design from a timing perspective. This is often carried out automatically by the synthesis software; for example, the Synopsys© Design Compiler software automatically generates a synthesized schematic that highlights the critical path through the design for timing and as such designers can concentrate their efforts on that area of the design to improve the overall throughput in that case (see Figure 16.6)

Figure 16.6.png


Figure 16.6 

Reduced cycle implementation.

  • XC2V250-4CS144I

    Manufacturer:Xilinx

  • FPGA Virtex-II Family 250K Gates 3456 Cells 650MHz 0.15um Technology 1.5V 144-Pin CSBGA
  • Product Categories:

    Lifecycle:Obsolete -

    RoHS: No RoHS

  • XC2V250-4FG456I

    Manufacturer:Xilinx

  • FPGA Virtex-II Family 250K Gates 3456 Cells 650MHz 0.15um Technology 1.5V 456-Pin FBGA
  • Product Categories: FPGAs

    Lifecycle:Obsolete -

    RoHS:

  • XCV300-6FG456C

    Manufacturer:Xilinx

  • FPGA Virtex Family 322.97K Gates 6912 Cells 333MHz 0.22um Technology 2.5V 456-Pin FBGA
  • Product Categories: Condensateurs électrolytiques en aluminium

    Lifecycle:Obsolete -

    RoHS:

  • XC5VLX110T-3FF1136C

    Manufacturer:Xilinx

  • FPGA Virtex-5 LXT Family 110592 Cells 65nm Technology 1V 1136-Pin FCBGA
  • Product Categories: Special equipment devices and IC

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC5VLX155-1FF1153I

    Manufacturer:Xilinx

  • FPGA Virtex-5 LX Family 65nm Technology 1V 1153-Pin FCBGA
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Active Active

    RoHS: No RoHS

Need Help?

Support

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