Getting Started With an Unfamiliar Design
This procedure explains how to use the Floorplanner to familiarize yourself with the connectivity of someone else's design.
There may be occasions when you must floorplan a design with which you are unfamiliar. There are some basic steps you can take to make the floorplanning tasks more efficient.
- View the schematic or HDL to understand the structure of the design and data paths.
- Determine the design's structure, such as RAM and buses.
- Try to determine the performance requirements of the design.
When you load a design, the Floorplanner uses net and symbol names to create a design hierarchy. Some designs may contain little information about the hierarchy. For such designs, you could create a fake hierarchy by following these steps.
- Select Hierarchy
Group By to open the dialog box.
- Group columns of tristate buffers, and simple function generator, flip-flop, and tristate buffer relationships.
- Click OK when you are done.
Creating Hierarchy at a Higher Level
To create groups of logic at a higher level, follow these steps.
- Select Edit
Find to open the Find dialog box.
- Use the dialog box to find and select all of the IOBs in the design.
- Create a group of these IOBs using the F3 key, or the Hierarchy
Group command.
The grouped IOBs appear in a stack in the Design Hierarchy window.
- Expand that stack, then scroll through the list, looking at the pin types on the symbols.
Creating Subgroups
- Make subgroups of those IOBs with pins named I (input IOBs), O (output IOBs), and those IOBs with both I and O pins (bidirectional IOBs).
- Select the group of input IOBs.
- Identify the symbols in the group that directly load the new group using either the Edit
Select Loads command, or open the Edit
Find dialog box and choosing the Loading Selected Logic connection.
- Make a group of those symbols.
- Repeat steps 3 and 4 to create additional groups of related symbols. Stop when the groups become too large, too small, or too complex to be of value.
NOTEEach time you make a subgroup, manually de-select the nodes that have been previously grouped.
|
- Select the group of Output IOBs.
- Perform the same sequence (steps 2 through 5) as before, but change the connection type or search criteria to Sourcing Selecting Logic.
- Each time that symbols are selected, scroll through the lists and adjust the selections as appropriate.
The goal is to break large groups into more manageable sizes, without creating a large number of small groups.
- Repeat the process of making subgroups (steps 7 and 8) with the group of bidirectional IOBs, for each direction.
- If there are other known structures in the design such as RPMs or tristate buffer columns, use them as a starting point for making other subgroups.
Floorplanning the New Hierarchy
After you have manageable groups of logic for the design, you can begin floorplanning.
- Use the Placement window and timing reports to identify problems in the automatic placement.
- Floorplan the IOBs.
Use the Edit
Select Loads and Edit
Select Sources commands, as well as the Edit
Find dialog box to guide you in a systematic manner.
- Use the ratsnest display in the Floorplan window to identify which symbols need rearranging to reduce interconnect congestion.
