Previous

Floorplanner Interface

The Floorplanner GUI consists of the primary Floorplanner window and four sub-windows labelled Floorplan, Placement, Design Hierarchy, and Design Nets. The primary window also contains pull-down menus, dialog boxes, a toolbar, and a status bar.

The Floorplanner GUI uses pull-down menus that contain all of the necessary commands to floorplan your design. The menus contain many commands that open dialog boxes, from which you can select various options and parameters for that command. Other commands act immediately on the selected logic.

Window operations, such as opening, closing, sizing, and moving are consistent with the window environment of your particular platform.

Toolbar

The toolbar is a feature on the Floorplanner that gives you pushbutton access to many tasks. You can zoom in and out of the Floorplan window and enable the display of resource graphics, labels, and ratsnest lines. It also gives you pushbutton access to changing the distribution direction for placing logic symbols.

You can use the toolbar buttons shown in the following figure instead of the pull-down menus to perform some of the basic operations in the Floorplan window. For a complete description of the toolbar buttons, refer to the “Toolbar” section of the “Menu Command Reference” chapter.


NOTE

The toolbar also contains buttons for a number of standard system functions, such as opening a file and printing. These buttons are not shown below.


Figure 3.4 Floorplanner Toolbar

Status Bar

The status bar is at the bottom of the primary window. In this area, the Floorplanner displays various resource information. To the far right it displays current row and column coordinates when the mouse pointer is in the Floorplan window.

The status bar also provides information about the toolbar buttons. When the toolbar is enabled and you move the mouse pointer over a toolbar button, the Floorplanner displays the name of that button and its function.

Mouse

The mouse is integral to many operations. Use it to select and place logic, access commands from the menus, and perform various window operations. Selecting logic in the Floorplanner windows is a “drag-and-drop” operation using the mouse pointer. You select logic from the hierarchical design in the Design Hierarchy window by placing the pointer over the symbol icon or hierarchical group name and clicking the left mouse button. Then you drag the pointer to the Floorplan window (a ghost image of the selected logic moves with the pointer) and release the mouse button to drop the logic at the pointer's location in the window.

To make multiple logic selections in the Floorplanner, use the standard windows procedures.

Keyboard

The Floorplanner uses the keyboard function keys that are mapped to specific menu commands and Floorplanner functions for ease of use. The following table lists the keyboard shortcuts for the Floorplanner and shows the related toolbar button, if any. You should exercise care when using the keyboard shortcuts.

Table 3_1 Floorplanner Keyboard Shortcuts

Function Key
Menu Command/Function
Toolbar Button
F1
Help Help Topics
None
F2
View Options
None
F3
Hierarchy Group
None
F4
Edit Colors
None
F5
View Refresh
None
F6
View Zoom to Selected
figures/zmtseltb.gif
F7
View Zoom In
figures/zmintb.gif
F8
View Zoom Out
figures/zmouttb.gif
F9
View Zoom to Box
figures/zmtbxb.gif
F10
Change focus to the menu bar
None
F11
View Zoom Full View
figures/zmalltb.gif
Del
Floorplan Remove
None
Esc
Cancel current operation
None

The Windows

The primary Floorplanner window contains four sub-windows: Design Hierarchy, Design Nets, Floorplan, and Placement. Descriptions of these windows follow.

Primary Window

When you invoke the Floorplanner, the primary window, shown in the following figure, is the first window to display on your monitor.

Figure 3.5 Floorplanner Primary Window

To begin floorplanning, select File New to create a Floorplan file.

When you load a Floorplan file using the File New or File Open command, the Design Hierarchy, Design Nets, Floorplan, and Placement windows are opened, as shown in the following figure.


NOTE

The Placement window only appears if PAR was run on the NCD file used to create the Floorplan file (FNF).


Figure 3.6 Floorplanner Windows

Design Hierarchy Window

The Floorplanner generates a hierarchical representation from the NGD and NCD input files. The Design Hierarchy window, shown in the following figure, displays a fully expandable and annotated hierarchy. The header line indicates the name of the design that is currently loaded.

Figure 3.7 Design Hierarchy Window

Hierarchy Display

The Floorplanner uses colors in the hierarchy display to distinguish the levels in the hierarchy, which are annotated with the instance name from the design file. Hierarchy structure lines are black lines that traverse the colored areas and show the hierarchy of each hierarchical group. Each hierarchical group has a gray box with a minus sign, “-”, or a plus sign, “+”. The “-” indicates that the hierarchical group is expanded to show the next lower level of hierarchy. The “+” indicates that the hierarchical group is collapsed, and that lower levels of hierarchy exist for that hierarchical group.

Selecting Logic

When you place the mouse pointer over a hierarchical group instance name or its logic symbol icon (in the Design Hierarchy window) and click the left mouse button, you select that logic. The Floorplanner displays selected logic in the Design Hierarchy window in reverse video. (If Flashing is enabled, the selected logic in the Floorplan window flashes.) When you select a hierarchical group, you also select all the sub-hierarchy in that hierarchical group. When you select logic at some lower level, the Floorplanner draws a rectangular box around all associated higher levels of hierarchy. The following figure shows an example. The $7I586/REG hierarchical group is the selected logic, as indicated by the reverse video. The hierarchical groups hpmvsel and $7I586/REG are the higher-level associated logic, as indicated by the box around those hierarchical group names.

Figure 3.8 Selected Logic in the Design Hierarchy Window

Expanding and Collapsing hierarchical groups

Click the left mouse button on the Expand/Collapse button when it displays the “+” sign to expand a hierarchical group and display the next level of hierarchy. The logic elements that comprise each hierarchical group appear as an icon between the Expand/Collapse button and the instance name. The following figure shows a sample hierarchy.

Figure 3.9 Hierarchical Group Display in the Design Hierarchy Window

Hierarchical Group Annotation

Each hierarchical group in the design hierarchy contains the instance name and symbol counts and, optionally, the group or source name. The symbol count is the number of FPGA resources required to accommodate that hierarchical group in the floorplan. Groups that you create with either the Group or Group By commands contain a non-hierarchical name and symbol count.

In the case of the XC4000 family, the FPGA resources are categorized by type, such as FG (function generator), BUFTs (tristate buffers), DFFs (registers), IOBs (input/output pads), RAM/ROM, and related logic. The following figure shows the important parts of a hierarchical group.

Figure 3.10 Hierarchical Group Annotation

Symbol Annotation

The symbol line represents the lowest hierarchy of any hierarchical group. It represents a single resource requirement of the design. The symbol line contains a logic icon, the symbol name, symbol type, and the list of pin:net pairs. The following figure shows one of the symbol instances of the expanded hierarchical group, XBL/AC4/SUM (shown in the above figure). It labels the important parts of the symbol line.

Figure 3.11 Symbol Annotation

In this figure, the logic icon that is shown represents a single 4-input function generator (FG) named $FG_XBL/AC4/S3; its output connects to net XBL/AC4/S3; its inputs connect to the nets IA3, XBL/AC4/SUM/C2, and XBL/Q43.

The symbol instance name is the corresponding symbol in the source netlist. For function generators or CLBs, it is a name that the mapping software (MAP) provides. For other symbols, it is the name in the schematic that either you or the schematic entry tool chooses.

The symbol type refers to the type of resource that the symbol requires. Examples of symbol types are DFF (D-type flip-flop), IOB (Input/Output buffer), CLB (configurable logic block), FG (function generator), and BUFT (tristate buffer).

Design Nets Window

The Design Nets window lists the nets that connect the logic in the design. This window is shown in the following figure.

Figure 3.12 Design Nets Window

You can list either all nets in the design or just the nets that are currently displayed in the Floorplan window. To switch from one list to the other, click the right mouse button to bring up a menu and then click the List Visible Nets or List All Nets command in that menu.

When only the visible nets are listed in the window, the heading of the window changes to Visible Nets.

Floorplan Window

The Floorplan window displays the die for a selected part type, such as XC4005EPC84. This window, shown in the following figure, is a scrollable, scalable view of a resource map of the device that is specified in the design.

Figure 3.13 Floorplan Window

You floorplan by dragging selected logic from the Design Hierarchy window and dropping it into this window.

When a new Floorplan file (FNF) is created for a design and a previous FNF does not exist, the Floorplan window displays any physical design constraints that are in the initial design netlist, the UCF file, or the NCF file. If a previous Floorplan file does exist and is specified in the creation of the FNF file, the initial Floorplan constraints are generated from the previous FNF file. All netlist, UCF, and NCF constraints are ignored, unless they exist in the previous FNF.

Resource Graphics

Each device family architecture has specific resources on the die. You can display these resources using the Resources panel of the View Options command. For example the resource graphics for the XC4000 family include I/O pads, function generators, registers, RAM/ROM, and BUFTs in the CLBs. With this feature, you control the view of the logic and available device resources. The fewer resources you display in the window, the faster the screen refreshes.

In the XC4000 family devices, flip-flops display as rectangles, function generators as trapezoids, and BUFTs as triangles. The following figure shows an example of the resource graphics available in a quadrant of the Floorplan window.


NOTE

The global buffers have a pair of dedicated I/O pads that can also connect to other logic. The lines in the floorplan die show which I/O pad is dedicated to that buffer.


Figure 3.14 Resource Graphics for an XC4000 Device

Placement Window

The Placement window displays the design after it has been placed and routed. This window is shown in the following figure. This is a very useful function to help evaluate the properties of an automatically generated placement.

Figure 3.15 Placement Window

The elements in the Placement Window cannot be moved or modified without loading in new placement information from a placed NCD file using the File New or File Update commands. To translate placement information into Floorplan constraints, use the Floorplan Constrain From Placement or Floorplan Replace All With Placement commands.

Dialog Boxes

The Floorplanner has many commands that, when invoked, open dialog boxes that contain default settings for command execution. These types of commands have an ellipsis (...) after the command name in the menu.

The dialog boxes are composed of the following elements.

The “Using the Floorplanner” chapter provides a detailed description of the Floorplanner dialog boxes in the command descriptions.

Next