FPGA and PCB design teams have begun to leverage the flexibility of FPGA devices to create complex systems while optimizing their PCB design for performance as well as manufacturing costs. The immediate pay-off is a substantial decrease in design cycle time, from weeks to minutes while at the same time eliminating design risks associated with late design changes. The business critical benefit is pure cost savings derived from optimizing the PCB manufacturing process. There are a number of PCB manufacturing optimizations possible as a result of tuning the FPGA/PCB interfaces:
- Reduced PCB signal trace length
- Reduced PCB signal layer count
- Reduced PCB component count
- Reduction in the size of the PCB
- Increased Quality of the PCB design
Figure 1: Displays routing after optimization and
illustrates reduced PCB signal trace length of ~49%.
None of this is news. The FPGA vendors increased the flexibility of their device architectures years ago to create a vibrant array of I/O options at every signal pin on the device. All of the constituent elements appear to be aligning, enabling a new generation of complex system designs leveraging FPGA devices.
Early on, the EDA perspective revealed that one of the key barriers to concurrent FPGA/PCB design practice success was the historical “over the wall” hand-off between the FPGA and PCB design teams. In many corporate organizations, the FPGA and PCB design teams are not simply separated by “focus,” the teams are quite often in different engineering organizations with different geographic locations. Challenging organizational barriers requires an intensive investment communicating the values gained by eliminating historical structures in search of operational excellence. Once again the FPGA/PCB integration solutions present a compelling value argument driving new behavior into execution based organizations.
Unfortunately, the stars have not quite aligned to allow for complex system designs at the HDL level and then have that HDL automatically portioned and synthesized into multi-FPGA/PCB implementation platforms. Why? A once historical strength has slowly revealed itself to be a new monumental boat anchor: PCB libraries.
What is a PCB Library?
In simple terms, the PCB library is the linkage between the conceptual “design space” and the implementation “manufacturing space”. If the data in your PCB library contains errors then your PCB manufacturing process will contain errors and, quite likely, the resulting PCB will be a catastrophic failure. The key elements of a PCB library used to create the linkage between conceptual design and manufacturing are:
- The symbol for the component which defines the available pins and the function for each pin
- The physical footprint which defines the physical device and the precise location and geometry of every pin on the device
- The PCB mapping which translates the symbol pin to the physical device
Companies producing PCB designs realized this critical linkage between the quality of their PCB libraries and their resulting ability to manufacture functioning designs. To this end, many companies invested heavily to ensure:
- The accuracy of the data in the library
- Corporate standard graphics
- The process for creating and validating new library elements
- Processes for requesting new library elements
- Solutions for searching through PCB library while optimizing purchasing costs
- Organizations dedicated to creating and maintenance of corporate IP
It did not take long for companies to realize that their PCB libraries offered more value than simply reliable manufacturing designs. Huge benefits could be realized simply by nudging diverse design teams to use a common pool of electrical components, raising a corporation’s purchasing leverage. Recently, having access to RoHS compliance data within the PCB library to be evaluated during component selection for a design has surfaced as another key capability of high–quality PCB libraries.
The PCB Library Brick Wall
The simple problem is that PCB symbols are stored in a library as fixed elements, while FPGA devices create the need for dynamic PCB symbols. Once upon a time every electrical component used on a PCB had a fixed interface where the function of a pin never changed. No matter how many different designs used the same component, the functions of the pins on that device never altered.
Locking down the PCB symbol for devices in the PCB library made good sense. PCB symbols had clearly been one avenue for design errors to slip in and spoil the manufacturing run. However, FPGA devices do not simply require dynamic PCB symbols; they also require dynamic PCB mappings for each device. The struggle between freeing the FPGA’s PCB symbol to enable design optimization and the strong desire to lock down the symbols in the PCB library to enforce manufacturing compliance has knocked more than one design project off track.
A Possible Solution
Unfortunately the symptoms of FPGA/PCB integration woes do not highlight the basic incompatibility created by a historical outlook on components used in the PCB manufacturing process and the current reality of extremely dynamic interface of FPGA devices. These issues manifest as typical symptoms:
- Design cycle delays measured in days to weeks are spent creating and maintaining the FPGA symbol by the PCB librarian
- Late design cycle changes in the FPGA are not reflected in the PCB; the resulting design simply “does not work”
- The PCB physical design team experiences design delays as they attempt to route multiple 1700 pin FPGA devices onto the same PCB
- Frustrations from the FPGA design team as the PCB design team requests illegal pin swaps
- Frustrations from the PCB team as the latest FPGA interface change causes thousands of PCB traces to need re-routing
Once you penetrate the symptoms and dig out the root cause, a simple reality is revealed: PCB library philosophies were developed and deployed well in advance of modern FPGA device flexibility. The basic assumptions used in the creation of the PCB library mantra have aged and met their match.
Have FPGA devices invalidated PCB library philosophies? Absolutely not, as long as the original key goal continues to be the focus. The goal is that PCB libraries are used to improve the reliability of the design to manufacturing process. The focus should not be on the implementation of historical PCB libraries, such as symbols, footprints and PCB mappings.
The Pain of Giving Up
More than one customer has confronted the conflict between FPGA device and PCB manufacturing needs and has been unable to come to a resolution that enhances their design processes. One symptom of this stagnation is the implementation of FPGA device physical symbols where the symbols have no design relevance. The names of the pins are generic device descriptors and do not convey any design intent information.
Figure 2: Shows meaningful FPGA “design specific” symbols (left) vs. FPGA “generic” PCB Library symbols (right).
Yes, with this approach it is possible to claw your way through the complete design process but the cost is unbelievably high in general design comprehension. This design comprehension cost is not limited to the single product design phase but trickles into product support and increased costs associated with future design re-use attempts, as well as increasing concurrent design barriers.
Challenging PCB libraries processes is not typically a technical obstacle. PCB libraries represent an institutionalized culture at most organization where the staff involved understand the methods and processes extremely well but may have lost track of the original guiding principles. Do you really believe that anyone who is not intimately associated with complex system designs leveraging FPGA devices has any clue that a fundamental conflict exists?
Confront Your Reality
Doesn’t it strike you as strange that a PCB library article has found its way into a FPGA focused publication? Here is a strange rub: FPGA designers understand the inherent conflict with relative ease while traditional PCB focused designers find the topic impossibly complicated. How did that happen?
Anyone who has followed the evolution of FPGA devices understands the remarkable potential they offer for quickly realizing market blazing products. These folks have followed the increased flexibility of FPGA devices generation after generation, effectively “growing up” on these fluid idea realization chunks of silicon. For this crowd, the statement and concept that FPGA devices represent true multi-entity realization is simple and obvious. While this same crew may not be aware of the historical progression and foundation for PCB libraries, the concepts are easily grasped.
So, now that you are properly informed and armed, you are ready to champion a progressive outlook within your organization for PCB library reform. Why would you want to go through this additional effort? Enabling rapid complex system designs leveraging the “time to market” advantages of FPGA devices demands a solution. Your best FPGA designs are without value if the PCB containing those FPGAs misses the market window.
An Obvious Solution
There are some conclusions that can be drawn from what has been discussed in this article:
- High quality PCB libraries lead to high quality PCB manufacturing
- FPGA devices violate a key assumption that PCB Library implementation all share: one component = one device interface; FPGA devices support an almost infinite variety of device interfaces.
- FPGA/PCB symbols have transitioned from generally re-useable objects to design specific objects
- Achieving a high rate of design re-use requires embracing design specific information capture to increase design comprehension.
With these few pieces of key data the proposition of challenging ingrained corporate culture is transformed from a fool’s errand to a hero’s mission. To properly understand the original mission of PCB libraries with fantastic flexibility and modern FPGA devices requires an advocacy of products and processes to automate all aspects of the FPGA/PCB co-design process while increasing visibility and control to both the FPGA and PCB design teams. One such product is Mentor Graphics I/O Designer.
Figure 3: Complete flow from FPGA design to PCB design and back.
As a word of caution it should be pointed out that the automatic generation of FPGA design specific data does not meet your PCB library objective for ensuring high-quality PCB manufacturing if the automatic generation contains errors. FPGA devices and FPGA device data has a high rate of change so the solution is not as simple as automatic generation of FPGA design specific data for the PCB design process. The complete solution requires a comprehensive outlook with sophisticated Design Data Management (DDM) capabilities.