|
|
|
Modular Design Overview
Modular Design allows a team of engineers to independently work on different pieces, or “modules,” of a design and later merge these modules into one FPGA design. This parallel development saves time and allows for independent timing closure on each module. Modular Design also allows you to modify a module while leaving other, more stable modules intact.
Modular Design requires up front planning to ensure that the design is partitioned properly. It also requires communication among team members to ensure that partitions work together during the Final Assembly phase. The number of modules should be kept to a minimum. Modular Design is best used for large designs that can easily be partitioned into self-contained modules.
Note: Modular Design is not recommended for the direct conversion of large ASIC designs that contain heavily interconnected logic. Such designs cannot be easily partitioned into independent modules.
The Modular Design flow consists of the following phases:
Phase I: Modular Design Entry and Synthesis
In this phase, the team creates designs using a Hardware Description Language (HDL) and synthesizes them. This phase must be done for both the top-level design and the modules as follows:
- Top-Level Design
The team leader must complete design entry and synthesis for the top-level design before the Initial Budgeting phase of Modular Design Implementation can begin.
- Modules
Each team member must complete design entry and synthesis for his or her module before moving on to the Active Module Implementation Phase for that module. Team members can complete module design entry and synthesis in parallel and can complete this step while the team leader is working on the Initial Budgeting phase of Modular Design Implementation.
Phase II: Modular Design Implementation
This second phase comprises the following:
- Initial Budgeting
In this phase, the team leader assigns top-level constraints to the top-level design.
Note: Initial Budgeting is not required for modules.
- Active Module Implementation
In this phase, the team members implement the modules.
- Final Assembly
In this phase, the team leader assembles the top-level design and the implemented modules into one design.
The following figure shows the Modular Design flow:
|
|
|
|
www.xilinx.com |