Altium Designer provides a unified environment for the design of both the internal configuration of programmable devices and the PCB platform that they reside on. This facilitates complete FPGA-PCB co-design and enables rapid development of FPGA-based applications.
Because the projects are linked at the design level, you can begin the physical design process using a default FPGA configuration while the FPGA is still in development. As FPGA development progresses, updated pin and I/O assignments can be transferred to the board design project. The physical schematic representation of the FPGA device is automatically updated to reflect the updated I/O definitions, keeping existing connectivity intact. These changes can then be flowed on to the PCB.
Altium Designer abstracts FPGA design from the physical constraints used to drive the FPGA place and route process. This allows you to maintain multiple FPGA configurations within a single FPGA project. For example, you have one configuration targeting your FPGA development environment and another for your production board design. This lets you seamlessly move between development or production builds of the FPGA and further facilitates concurrent design of the FPGA and the physical platform.
Managing I/O synchronization
Programmable devices such as FPGAs bring particular challenges to the board design process. Typically these devices have a large number of pins whose I/O characteristics and functions are not fixed, but determined by the application programmed into them. Traditionally crucial I/O pins will be fixed by the FPGA designer, with the FPGA place and route tools free to assign the remaining pins as necessary.
The result at the board level is a pin configuration that is generally far from optimal for PCB routing, and the task of propagating I/O characteristics for processes such as signal integrity analysis becomes time consuming and error prone. Because Altium Designer unifies the process of FPGA and PCB design, it fully supports I/O synchronization between the PCB and FPGA projects. This allows you to forward and back annotate pin assignment changes and automatically propagate I/O characteristics for signal integrity simulation and differential pair management.
Achieve optimal routing solutions with FPGAs
As you deploy FPGAs within the PCB layout, you can define sets of pins that can be interchanged at the board level. From within the PCB design you can manually swap pins to improve routing, or let Altium Designer automatically optimize the connection lines for easier board routing. With a few mouse clicks you can then propagate pin changes back to the FPGA project, and rerun the FPGA place and route process with the new constraints. This allows you to rapidly iterate through PCB and FPGA routing options to arrive at an optimal system-level design solution.
The unification within Altium Designer of the programmable and physical elements of an electronic product allows you to take full advantage of the benefits that large capacity FPGAs offer. Altium Designer allows you to effectively manage the complexity FPGAs introduce at the board level, and removes the barriers to their widespread adoption with mainstream design.