feature article
Subscribe Now

Beyond the Go Button

Taking More Control of FPGA Design

Most of us just press the button.

It’s easy to just push the button for synthesis and place-and-route and forget that there is an awful lot of complicated stuff going on behind the scenes from the time we hand our new, shiny HDL over to our FPGA design software, head out for a coffee break, and return to our desk to get the happy message back that our run is all finished and our design fit and routed and met… oh, wait – 576 timing violations.  Suddenly, things are not so happy anymore. 

For many – who don’t venture too near the edge of the rather large envelope of FPGA capability — this situation seldom arises.  Those engineers can go about their daily business, treating FPGA design as a mostly black-box process.  Start pushing the parts to their limits, however, of utilization, performance, or power consumption, and you’ll find yourself faced with the need to become better acquainted with your design than the web-downloaded, automated, you-don’t-need-to-understand-it-all, approach will permit. 

65nm FPGAs are now a reality.  This week, Xilinx announced that they have been shipping 65nm FPGAs for one year. (Can it possibly be a year already?)  In fact, both Xilinx and Altera have long since announced 65nm lines (including Altera’s recent announcement of the first low-cost 65nm family – Cyclone III) – and more are sure to follow.  With 65nm technology, the potential complexity and speed of a design loaded into a high-end FPGA reach staggering proportions.  If you try to take much of that capability out for a test drive, you’ll find yourself needing to abandon the blissful ignorance afforded by automation and get acquainted with your design in new and interesting ways. 

For that, you’ll probably want something like Xilinx’s PlanAhead tool.  Xilinx acquired the PlanAhead product a few years ago from a startup called Hier Design.  Originally, PlanAhead brought ASIC-class floorplanning to the world of FPGA design.  Why would FPGA designers want an ASIC-class floorplanning tool?  Good question – we were wondering that ourselves.  For a long time, it seems, most didn’t.  In fact, even in the ASIC design world, designers didn’t flock to floorplanning because they thought it was fun or particularly interesting.  They usually floorplanned as a measure of last resort.  When all the synthesis directives and scripts and constraints had been squeezed to their limits, and the design still wasn’t meeting spec, it was time to bring in the floorplanner.  The team would reluctantly fire up the floorplanning tool, move the part of the PCI block that was waaay over there on the left by the I/Os back toward the middle where the rest of the macro was located, slide that one multiplier over closer to the RAM, regroup a few straggler instances with the rest of their flocks and voila! – timing woes disappeared like magic.

When Xilinx acquired Hier Design, they probably had a pretty good idea that FPGA design would eventually reach a point where that same scenario would frequently play out.  Over the years since that acquisition, they’ve worked to make the tool more useful for a variety of related tasks, and it has now become a cockpit of sorts for all kinds of useful “under the hood” operations like running the design multiple times through PAR (place and route) and synthesis with different options and comparing results, managing pin assignments, and applying placement groupings and constraints for timing purposes, to facilitate team design, or to take your crack at partial reconfiguration – still the extreme sport of FPGA design. 

Announced about a month ago, the latest release of PlanAhead – 9.1i, is more robust than its predecessors, adding new capability for pin assignment and improved placement constraint management.  When you consider that the new 65nm families are available with user I/O counts poking up into the 1200-pin range, plain-old Excel-based pin assignment strategies may no longer cut it.  When you also consider the intimate relationship between pinout and placement for maximum performance, it makes sense to co-locate the pin assignment and floorplanning capabilities in a single tool.

Xilinx points out that PlanAhead makes their suite of test designs speed up by an average of 10-15%.  That’s about a speed grade to you and me.  They also claim that real designers with larger, real-world designs often do significantly better.  While it is true that the capabilities of automated place-and-route are improving with every release, the challenges posed by the higher complexities of designs with new process generations largely balance out that progress.  With greater complexity, however, the potential for improvement with a little common design sense applied by a human with a tool like PlanAhead becomes much greater.  Our ability to perceive design problems and intuit solutions at a high level is still quite a bit better than the best automated placement and routing algorithms.

PlanAhead’s new pin assignment capabilities are also none too soon, given the already daunting task of creating reasonable I/O assignment and dancing on the balancing wire between on-chip timing constraints and board-level timing and signal integrity issues.  The new capability, dubbed “PinAhead”, provides both semi-automatic and fully-automatic I/O pin placement in a graphical, gui-based, drag-and-drop environment.  Combined with the floorplanning capabilities already present in PlanAhead, you can sensibly co-locate groups of related ports with the on-chip design blocks with which they communicate.  You can also export the pinout in a variety of formats compatible with major board design tools.  This facilitates accurate communication of the huge load of data that has to move between the FPGA and PCB design environments. 

PinAhead gives a graphical view of both the package and die views of the design, as well as a spreadsheet-style pin map.  It also provides hierarchical browsers for both the I/O ports in your design and the package pins available.   The interface is intuitive and easy to navigate, and, as a bonus, the package view looks kinda like a giant “Bejeweled” game.  In this game, however, the matching halves of differential pairs don’t disappear if you line them up – they just work better. 

PlanAhead also still gives you a nice set of capabilities in iterating your design and managing team design by allowing you to constrain and lock down important chunks of logic while you continue working on others.  By using the available constraints to fix and group logic, you can avoid having to re-optimize parts of your design that were already stable during subsequent iterations.  This is also where you manage the task of allocating special areas for partial reconfiguration – if you just have to prove that you’re the hippest FPGA designer in the house.

While 65nm FPGAs may not have found their way onto your latest board just yet (they’ve only been around for a year, you know), they are definitely coming your way soon.  When they do – a tool like PlanAhead may be just what you need to put a leash on some of that newfound functionality and make it do your bidding.

Leave a Reply

featured blogs
May 7, 2021
In one of our Knowledge Booster Blogs a few months ago we introduced you to some tips and tricks for the optimal use of Virtuoso ADE Product Suite with our analog IC design videos . W e hope you... [[ Click on the title to access the full blog on the Cadence Community site. ...
May 7, 2021
Enough of the letter “P” already. Message recieved. In any case, modeling and simulating next-gen 224 Gbps signal channels poses many challenges. Design engineers must optimize the entire signal path, not just a specific component. The signal path includes transce...
May 6, 2021
Learn how correct-by-construction coding enables a more productive chip design process, as new code review tools address bugs early in the design process. The post Find Bugs Earlier Via On-the-Fly Code Checking for Productive Chip Design and Verification appeared first on Fr...
May 4, 2021
What a difference a year can make! Oh, we're not referring to that virus that… The post Realize Live + U2U: Side by Side appeared first on Design with Calibre....

featured video

The Verification World We Know is About to be Revolutionized

Sponsored by Cadence Design Systems

Designs and software are growing in complexity. With verification, you need the right tool at the right time. Cadence® Palladium® Z2 emulation and Protium™ X2 prototyping dynamic duo address challenges of advanced applications from mobile to consumer and hyperscale computing. With a seamlessly integrated flow, unified debug, common interfaces, and testbench content across the systems, the dynamic duo offers rapid design migration and testing from emulation to prototyping. See them in action.

Click here for more information

featured paper

E-book: An engineer’s guide to autonomous and collaborative industrial robots

Sponsored by Texas Instruments

As robots are becoming more commonplace in factories, it is important that they become more intelligent, autonomous, safer and efficient. All of this is enabled with precise motor control, advanced sensing technologies and processing at the edge, all with robust real-time communication. In our e-book, an engineer’s guide to industrial robots, we take an in-depth look at the key technologies used in various robotic applications.

Click to download e-book

featured chalk talk

How Trinamic's Stepper Motor Technologies Improve Your Application

Sponsored by Mouser Electronics and Maxim Integrated

Stepper motor control has come a long way in the past few years. New techniques can give greater control, smoother operation, greater torque, and better efficiency. In this episode of Chalk Talk, Amelia Dalton chats with Lars Jaskulski about Trinamic stepper solutions and how to take advantage of micro stepping, load measurement, and more.