feature article
Subscribe Now

How Physical Synthesis Enables FPGA Design Productivity

As FPGAs increase in density, system designers are using these increased densities to the maximum by creating larger and more complex designs. These large designs are based on design requirements that either requires adding new functionality to an existing application such as a channel card or a line card used in wireless applications or reducing board real estate by combining the functionality of two chips into a single device or creating new designs for new applications.

These varied designs could contain legacy code for an application or a DSP class design that has a high latency requirement. For such classes of designs the synthesis tools may not optimize the design optimally, which leads to long critical paths. The reason for these long critical paths is that logic synthesis tools depend on estimated delays to synthesize designs.

These long critical paths create a timing closure problem where there is performance degradation, thus forcing designers to rewrite RTL code to improve these long critical paths. Additionally there could be several iterations before the user gets optimal RTL code that meets timing specifications. This in turn adds additional schedule delays for the product to reach the market.

Another problem that manifests itself in designs with a high percentage of logic utilization is routing congestion. Designers must either recode the RTL or try different settings within the place and route tool to improve the performance on these critical paths. Such trial and error methods also lead to increased time-to-market and hampers productivity.

These two problems present a challenge to designers trying to close timing and thus make timing closure the primary problem faced by system designers. One solution that can resolve both problems and improve performance is a physical synthesis tool. Physical synthesis tools have been provided by FPGA vendors and third party EDA tool vendors for some time. The primary function of a physical synthesis tool is to improve timing closure (i.e. performance) by reducing the number of critical paths with the fewest number of iterations and in turn reduce time to market.

The design flow for a physical synthesis tool is shown in Figure 1 works in the following manner. Logic synthesis tools use algorithms such as logic replication that replicates high-fanout logic or retime registers in long logic paths for improved performance. The physical synthesis tool differs from logic synthesis tools by using accurate delays and accurate information to optimize the critical paths using similar algorithms. Logic synthesis tools relay more on global delay estimates, while physical synthesis tools use more accurate delays.

20090317_mentor_fig1.jpg
Figure 1. A Possible Design Flow Illustrating How a Physical Synthesis Tool Works

Figure 1 shows that a physical synthesis tool is also run as part of the whole synthesis flow. Physical synthesis tools are run as part of synthesis tools, but after logic synthesis, for additional clarity it can be referred to early physical synthesis. In this flow after logic synthesis the tool models placement and routing of the whole design and tries to improve the critical paths again by using well known algorithms like retiming and replication. Some EDA vendors have launched such tools based on this level of accuracy to elevate the timing closure problems.

Where does physical synthesis derive its accurate information?

Figure 1 shows another physical synthesis tool flow that is first invoked after the placement stage in a typical flow. At this stage the design is fully placed and by using delay estimates for interconnect delay, the critical paths can be more accurately predicted. By using the algorithms described above, the critical paths can be improved to meet performance requirements. All this manipulation is done without changing a single line of RTL code. It is possible that retiming a register in a synthesis tool with inaccurate delays could hinder performance; while having the design placed allows the physical tool to make intelligent decisions that help predict which registers to retime and improve performance.

Today’s FPGA architectures have two levels or hierarchies. The first level is called logic blocks that is a group or collection of individual logic cells called labs.  The second level of hierarchy consist of logic cells, where each logic cell contains a pair of registers, a pair of look-up tables, and a pair of full-adders. In Altera FPGAs such logic cells are called adaptive logic modules (ALMs). These logic blocks when stacked in an array and connected with a number of wires (routing wires) along with on-chip memory blocks, DSP blocks and IO Blocks create the architecture of an FPGA.

In a typical design flow the placement is done twice. The first step is to place the entire design on the logic block level. Once this is done, the placement algorithm places the logic at the logic cell level. It is very intuitive to see that physical synthesis results will improve, after the second round of placement is invoked as the physical synthesis tool relies on the accurate information that is available and will yield much better quality of results (QoR), which will improve productivity.

Another application where a physical synthesis tool can help improve productivity is in conjunction with Incremental Design Flow. In this methodology rather than having physical synthesis enabled for the whole design it can be applied on a per module basis. This helps not only reduce compile time, but improves performance as the physical synthesis tool focuses on the module where it is required.

A physical synthesis tool is part of Altera’s Quartus II place and route tool. This physical synthesis tool offers the users the choice of optimizations and effort levels to improve performance and productivity. Following is a list of some of these optimization choices that can be controlled by the user:

 

Physical Synthesis for Performance

– Physical synthesis on combinational logic: the tool further optimizes combinational logic based on accurate information

– This option allows Quartus II physical synthesis tool to resynthesize the combinational logic in a design to reduce delay along the critical path and improve performance

 

– Physical synthesis on asynchronous pipelining: pipeline asynchronous signals such as  loads and clears

– This option allows the Quartus II physical synthesis tool to insert pipelining registers on loads and clear signals to improve performance

Physical Synthesis for Registers

– Retiming: allows the tool to automatically perform register balancing

This option allows Quartus II to move registers across combinational circuits to improve performance

– Register Replication: replicates registers with high fan-out outputs

            – This option allows Quartus II to replicate registers based on placement information to improve performance

Physical Synthesis for Fitting

– Physical synthesis on combinational logic: this is a second round of optimizations on combinational circuits

– Quartus II performs second round of optimization on combinatorial circuits to help fit the design

– Perform logic to memory mapping: this maps combinational logic to memory to save area

– Quartus II automatically maps combinational logic into unused memory blocks to reduce area and fit the design

Quartus II also offers an Incremental Design Flow that supports both top-down as well as bottom-up flows.  Such a flow is used to reduce compile time and improve performance.

20090317_mentor_fig2.jpg
Figure 2. Physical Synthesis Tool Settings Shown in Quartus II Design Software

Conclusion

Today most companies are vying to reach the market first with their products. As a strategic initiative, productivity and time to market are key parameters to the success of any product. Utilizing a physical synthesis tool improves performance of the design, translates to shorter design cycles, and improves productivity. Using such a tool efficiently will prove to be a clear winner in the hands of the designers.

About the Author: Ajay Jagtiani is a technical marketing manager at Altera Corporation. His focus is on the timing closure, synthesis and formal verification interfaces for Altera’s Quartus® II design software. Mr. Jagtiani has eight years of experience in the design automation and semiconductor industry. Prior to joining Altera, Mr. Jagtiani was the Senior Customer Support Manager at Atrenta, Inc. with responsibility for its verification product. Mr. Jagtiani has held management and application engineering positions at Synplicity and Lattice Semiconductor. He holds a BSEE from the University of Bombay, an MSEE from the Stevens Institute of Technology in Hoboken, NJ and is currently pursuing an MBA at Santa Clara State University.

7 thoughts on “How Physical Synthesis Enables FPGA Design Productivity”

  1. Pingback: binaural
  2. Pingback: jogos friv
  3. Pingback: agen bola online
  4. Pingback: Drug Metabolism

Leave a Reply

featured blogs
Feb 25, 2021
At Cadence, we pride ourselves on creating and sustaining a company culture, that drives innovation and business success. To continue our series of EMEA team members'€™ interviews, we spoke with Aspa... [[ Click on the title to access the full blog on the Cadence Community...
Feb 25, 2021
Learn how ASIL-certified EDA tools help automotive designers create safe, secure, and reliable Advanced Driver Assistance Systems (ADAS) for smart vehicles. The post Upping the Safety Game Plan for Automotive SoCs appeared first on From Silicon To Software....
Feb 24, 2021
mmWave applications are all the rage. Why? Simply put, the 5G tidal wave is coming. Also, ADAS systems use 24 GHz for SRR applications and 77 GHz for LRR applications. Obviously, the world needs mmWave tech! Traditional mmWave technology spans the 30 – 300 GHz frequency...
Feb 24, 2021
Crowbits are programmable, LEGO-compatible, magnetically-coupled electronic blocks to interest kids in electronics and computing and facilitate their STEM activities....

featured video

Designing your own Processor with ASIP Designer

Sponsored by Synopsys

Designing your own processor is time-consuming and resource intensive, and it used to be limited to a few experts. But Synopsys’ ASIP Designer tool allows you to design your own specialized processor within your deadline and budget. Watch this video to learn more.

Click here for more information

featured paper

Using the DS28E18, The Basics

Sponsored by Maxim Integrated

This application note goes over the basics of using the DS28E18 1-Wire® to I2C/SPI Bridge with Command Sequencer and discusses the steps to get it up and running quickly. It then shows how to use the device with two different devices. The first device is an I2C humidity/temperature sensor and the second one is an SPI temperature sensor device. It concludes with detailed logs of each command.

Click here to download the whitepaper

Featured Chalk Talk

Electrification of the Vehicle

Sponsored by Mouser Electronics and KEMET

The automotive technology revolution has arrived, and with it - new demands on components for automotive applications. Electric vehicles, ADAS, connected cars, and autonomous driving put fresh demands on our electrical and electronic parts. In this episode of Chalk Talk, Amelia Dalton chats with Nick Stephen of KEMET about components for the next generation of automobiles.

More information about KEMET Electronics ALA7D & ALA8D Snap-In Capacitors