18.12.2012 Views

AN8087 - Lattice Semiconductor Corporation

AN8087 - Lattice Semiconductor Corporation

AN8087 - Lattice Semiconductor Corporation

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

July 2011 Application Note <strong>AN8087</strong><br />

Prerequisite<br />

• <strong>Lattice</strong> Diamond ® design software version 1.3<br />

Introduction<br />

Large FPGAs usually have a large number of package pins; these pins are comprised of multiple pin types or pin<br />

functions to facilitate different design uses. The information about how these pins are used or assigned is also<br />

important for various aspects of a design. <strong>Lattice</strong> Diamond design software provides the ability for a user to generate<br />

a list of all pins and the associated usage information for each pin into a standard format that can be used as<br />

follows:<br />

Document and check pin assignments and pin usage<br />

Document comprehensive pin information for design planning<br />

Exchange pin assignment information with board/schematic designer or other design software and hardware<br />

tools<br />

Design documentation<br />

This application note explains:<br />

How to export the pins and their usage information from your design into a well-formatted text file called a Pin<br />

Layout File<br />

The content and format of a Pin Layout File<br />

How to import a modified Pin Layout File back into <strong>Lattice</strong> Diamond design software<br />

How to export a Pinout File<br />

Pin Layout File<br />

There are two sections in a Pin Layout File: a header and a body.<br />

The Header<br />

The header includes the following lines, with each line starting with “#”:<br />

The generator of the Pin Layout File (i.e., <strong>Lattice</strong> Diamond and its version number)<br />

The time and date the file was generated<br />

The design/project name<br />

The device used for the design<br />

The package type of the device<br />

The speed grade of the device<br />

Figure 1 shows an example of the header exported.<br />

Using <strong>Lattice</strong> Diamond<br />

Pin Layout Files and Pinout Files<br />

© 2011 <strong>Lattice</strong> <strong>Semiconductor</strong> Corp. All <strong>Lattice</strong> trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand<br />

or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.<br />

www.latticesemi.com 1 an8087_01.0


Using <strong>Lattice</strong> Diamond<br />

<strong>Lattice</strong> <strong>Semiconductor</strong> Pin Layout Files and Pinout Files<br />

Figure 1. Example of the Header Exported<br />

#Pin Layout Report file generated by <strong>Lattice</strong> Diamond Version 1.3.71<br />

#Generated at Tue May 31 14:08:25 2011<br />

#DESIGN = top<br />

#DEVICE = LFE3-70EA<br />

#PACKAGE = FPBGA484<br />

#SPEEDGRADE = 7<br />

The Body<br />

The body of the exported file includes all package pins and optionally their usage information.<br />

The first line of the body includes the field names for the columns of data which are exported to the Pin Layout File.<br />

The fields may vary by device. All fields for a chosen device can be seen in the Spreadsheet View, Port Assignments<br />

and Pin Assignments tabs in the Spreadsheet View in <strong>Lattice</strong> Diamond. Some commonly used fields that<br />

can be selectively exported for all devices include:<br />

Pin number<br />

Pin name<br />

Pin function<br />

Bank number<br />

Pin type<br />

I/O type, or I/O standard of the pin that was assigned<br />

Signal name: the design port/signal that was assigned to the pin, if available<br />

Direction: the direction of the signal/port that was assigned to the pin<br />

Some device-specific fields are:<br />

Pullmode<br />

Drive<br />

Slewrate<br />

PCIClamp<br />

Opendrain<br />

For detailed information and an explanation of each field, please refer to the <strong>Lattice</strong> Diamond User Guide, <strong>Lattice</strong><br />

Diamond online help, or the related device data sheet<br />

Beneath the first line in the Pin Layout File are the lines of information for all package pins with one pin per row.<br />

Each pin/row starts with its pin number, followed by user-selected pin usage information or fields. Each field occupies<br />

a column, and all fields are separated by a user-defined delimiter.<br />

User-selectable delimiters can include commas (,), semicolons (;), spaces ( ), and tabs ().<br />

The order of all exported fields (except the pin number) can be manually controlled when exporting the Pin Layout<br />

File through a graphical user interface, as shown in Figure 3.<br />

Figure 2 shows a few lines from the body of a Pin Layout File. Note that due to the limited space, not all columns<br />

from the example are shown here.<br />

2


Using <strong>Lattice</strong> Diamond<br />

<strong>Lattice</strong> <strong>Semiconductor</strong> Pin Layout Files and Pinout Files<br />

Figure 2. Example of the Body Exported<br />

# There are 19 columns in the table<br />

Pin Number, Pad Name, Function, IO Bank Number, Signal Name, Direction, Trace<br />

T17, PR61E_D, RLM1_GPLLT_IN_B, 3, , , 7426.660000, , , , , , , , , , , ,<br />

V20, PR61E_B, RLM1_GPLLT_FB_B, 3, , , 10963.890000, , , , , , , , , , , ,<br />

R17, PR61E_C, RLM1_GPLLT_IN_A, 3, CLK, Input, 6796.230000, LVCMOS33, OFF,<br />

V21, PR61E_A, RLM1_GPLLT_FB_A, 3, , , 10936.450000, , , , , , , , , , , ,<br />

Figure 3. Export Pin Layout File User Interface<br />

Exporting Pin Layout Files<br />

The Pin Layout File can be exported at any time during a project cycle, but it is recommended that you do so at one<br />

of the following three stages:<br />

1. Before Synthesis or Translation<br />

At this stage, all design information such as design ports/signals, pin assignments, etc., are not available<br />

and therefore, cannot be exported. A Pin Layout File exported at this time includes all physical pin information<br />

for all pins of the device selected in the project. A file exported at this time can, for example, be used to<br />

understand the pin-related information of the device, or can be used for early pin assignment and usage<br />

planning.<br />

A Pin Layout File exported at this stage can be considered as a device-specific pin information file.<br />

2. Pre- or Post-MAP<br />

At this stage, you may have already made some pin assignments, defined I/O standards, and so on. You<br />

can export these user-defined pin assignments along with all physical pin information into a second Pin<br />

Layout File. This exported file can be shared with, for example, a schematic or board designer for pin<br />

assignment review and changes. At a later time, the modified Pin Layout File can be imported back into<br />

<strong>Lattice</strong> Diamond design software to update the pin assignments.<br />

A Pin Layout File exported at this stage can be considered as a design-specific pin usage exchange file.<br />

3


Using <strong>Lattice</strong> Diamond<br />

<strong>Lattice</strong> <strong>Semiconductor</strong> Pin Layout Files and Pinout Files<br />

3. Post-PAR<br />

At this stage, if PAR is completed successfully, all design ports/signals are assigned, either by you or by<br />

PAR. If the PAR result is desirable, a third Pin Layout File can be exported. This file will include the final pin<br />

assignment information and can be handled over to, for example, the board designer as the pin assignment<br />

signoff. The exported file at this stage can also be used for final design documentation purposes.<br />

A Pin Layout File exported at this stage can be considered as a pin assignment sign-off file.<br />

To export a Pin Layout File at any time, follow these steps:<br />

1. In <strong>Lattice</strong> Diamond, open Spreadsheet View.<br />

2. Select the pull-down menu File > Export > Pin Layout File …<br />

3. In the Export Pin Layout File GUI, specify the file name as well as the columns and column delimiters you<br />

wish to use in your Pin Layout File (refer to Figure 3).<br />

For details, please refer to the <strong>Lattice</strong> Diamond User Guide or the <strong>Lattice</strong> Diamond online help<br />

Importing Pin Layout Files<br />

The pin assignments in the Pin Layout File may be modified outside of the <strong>Lattice</strong> Diamond environment by you or<br />

a schematic/board designer using a text editor or a spreadsheet editor. The modified Pin Layout File can then be<br />

imported back into <strong>Lattice</strong> Diamond design software to easily and quickly update the current pin assignments.<br />

Though you are free to import such a file at any time after the Translation process, there are some recommendations<br />

that you should follow:<br />

Since any committed pin assignment change done in Spreadsheet View will reset the Process flow, you should<br />

import a Pin Layout File after Synthesis/Translation and before MAP whenever possible.<br />

You should import a Pin Layout File into a project from where the Pin Layout File was exported. This will ensure<br />

the device used in both the file and the project are the same, and ports and signals defined in the file are synchronized<br />

with the project.<br />

You should not change any field names on the first line of the body, otherwise a new name may not be recognized<br />

and the import process might fail. Specifically, you should not change the name of the fields “Pin_Number”<br />

and “Signal_Name”.<br />

You may change port/signal names, or add new ports/signals to the file that will be imported. If you do so, make<br />

sure the new names exist in the project (you can check this through the Spreadsheet View, Port Assignments<br />

tab). Remember any signal/port that was defined in the Pin Layout File but does not exist in the project will not be<br />

imported and will be ignored.<br />

If you migrate a project to a new device, and the new device is pin migration compatible with the original device,<br />

you can import the Pin Layout File which was exported from the original project that used the old device. When<br />

doing this type of change, please make sure the “DEVICE” line in the header is changed to match the name of<br />

the new device prior to importing the Pin Layout File; otherwise the import process will fail.<br />

To import a Pin Layout File, the Translation process must complete successfully.<br />

In <strong>Lattice</strong> Diamond design software, follow these steps:<br />

1. In <strong>Lattice</strong> Diamond design software, open Spreadsheet View.<br />

2. Select the pull-down menu File > Export > Pin Layout File …<br />

3. Specify the name of the file to be imported and the column delimiter used in the file.<br />

For details, please refer to the <strong>Lattice</strong> Diamond User Guide or the <strong>Lattice</strong> Diamond design software online help.<br />

4


Using <strong>Lattice</strong> Diamond<br />

<strong>Lattice</strong> <strong>Semiconductor</strong> Pin Layout Files and Pinout Files<br />

Pinout File<br />

In addition to a Pin Layout File, you can also export a Pinout File for a specific device in <strong>Lattice</strong> Diamond design<br />

software. A device’s Pinout File (CSV) can be downloaded from the <strong>Lattice</strong> web site, or the information can be<br />

found in the device data sheet. Now you can also generate a Pinout File in <strong>Lattice</strong> Diamond design software.<br />

Unlike the Pin Layout File, for which you have multiple options to control the content and the format, a device Pinout<br />

File has the following characteristics:<br />

The content of a device Pinout File is device-specific and contains no information about a design.<br />

A Pinout File can be exported at any time, but the content is always the same.<br />

A Pinout File is always “comma separated”.<br />

A Pinout File cannot be imported into <strong>Lattice</strong> Diamond design software.<br />

A Pinout File contains the following two sections:<br />

– A header, which includes the generator information (i.e., <strong>Lattice</strong> Diamond version number), the generation<br />

time, the device name and the package type<br />

– A body, or pin information, which includes the following fields in the fixed order and may vary per device:<br />

- Index number<br />

- Pin/ball function<br />

- Pin type<br />

- Bank number<br />

- Dual function names<br />

- Differential definition<br />

- Pin number<br />

- DQS, and<br />

- I/O grouping<br />

To export a Pinout File, follow these steps:<br />

1. In <strong>Lattice</strong> Diamond, open Spreadsheet View.<br />

2. Select the pull-down menu File > Export > Pin Out File …<br />

3. Specify the filename and location to save the file.<br />

For details, please refer to the <strong>Lattice</strong> Diamond User Guide or <strong>Lattice</strong> Diamond online help.<br />

In <strong>Lattice</strong> Diamond design software version 1.3, only “bonded” pads (i.e., those pads bonded out to package pins)<br />

will be exported into a Pinout File; in the future releases “unbonded” pads will be included.<br />

<strong>Lattice</strong> CSV File<br />

For legacy design support purposes, <strong>Lattice</strong> Diamond 1.3 still supports <strong>Lattice</strong> CSV File import and export. <strong>Lattice</strong><br />

CSV File support may be removed in future software releases, thus it is strongly recommended to discontinue use<br />

of <strong>Lattice</strong> CSV Files.<br />

For detailed information about <strong>Lattice</strong> CSV Files, please refer to the <strong>Lattice</strong> Diamond User Guide, or <strong>Lattice</strong> Diamond<br />

online help.<br />

Additional Information<br />

For additional information about <strong>Lattice</strong> Diamond design software, please visit www.latticesemi.com, or send an<br />

email to sw_mktg@latticesemi.com.<br />

5


Using <strong>Lattice</strong> Diamond<br />

<strong>Lattice</strong> <strong>Semiconductor</strong> Pin Layout Files and Pinout Files<br />

Technical Support Assistance<br />

Hotline: 1-800-LATTICE (North America)<br />

+1-503-268-8001 (Outside North America)<br />

e-mail: techsupport@latticesemi.com<br />

Internet: www.latticesemi.com<br />

Revision History<br />

Date Version Change Summary<br />

July 2011 01.0 Initial release.<br />

6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!