Product Selection

From any pin list, click Choose Product and select a product from the list. Available pin lists:


Each product’s Pin List is presented in table form with one row representing a single pin on one of the expansion connectors. The cells within the row contain various information associated with that pin such as connector reference designator, pin number, the FPGA location routed to the pin, routed length, and other attributes. A number of standard symbols are used to represent qualities of a pin such as the presence of ac-coupling, the I/O functionality of the pin, or power connections. A legend describing these symbols is available by clicking an icon at the top left of the Pin List.

Pins Symbols

Exporting a Pin List

Click Export as CSV to save a CSV version of the Pin List which can be loaded into a spreadsheet for further manipulation offline. All columns, including filterable columns which are not necessarily displayed in the Pin List are exported to the CSV.

Click Export as PDF to generate a PDF containing the filtered Pin List for printing.

Click Generate Constraints File to generate a template UCF file for the device. The constraints file will contain a comprehensive list of all expansion connector FPGA pins and all additional device features.

We have tried to capture significant FPGA pin capabilities in the Pin List. However, the FPGA Datasheet should be used as the authority on pin capabilities and design considerations.

Table Customization

Display OptionsA number of customizations are available by expanding the Display Options panel at the top of the Pin List. The available table columns may be reordered by dragging their respective tab to a new location or individually enabled / disabled by clicking on the tab.

Note that we have designated some of the available columns as “disabled” by default to focus attention on the most commonly used information.

View Density

Also near the Display Options button is a “Table Layout” button that toggles the table cell density between two settings.


Pins FiltersEach pin list has several properties defined for each pin. The Display Options panel has a list of these properties which can be used to filter displayed pins for easier navigation and project definition. When a specific attribute value is selected, Pins will display only those device pins that match the attribute value.

Filters can be used to quickly identify groups of pins that fit a particular purpose. For example, most Pin Lists have a boolean property called “FPGA I/O” that is set to true for any connector pin that is routed to an available I/O on the FPGA. Filtering on this property removes all expansion pins that are not I/Os, allowing you to focus on available connections for your design.


Pins SearchPins search capability is implemented with three different modes that define the behavior when the search string is found.

  • Highlight only – Search matches are highlighted in yellow in the table cells.
  • Hide matched – When search text is found in a row, that row is hidden from view.
  • Show only matched – Only rows that contain the search text are shown. Other rows are hidden from view.


A Peripheral is a user-defined set of signal names that associate to the pins on a pin list. Peripherals help you define the expansion pinout for your attached device and HDL design. Pins can automatically generate the constraint file used in Xilinx and Altera place and route tools based on the Pins source data and your peripheral.

Creating a New Peripheral

Create a new Peripheral by clicking “New Peripheral” on the Peripherals List, then select a Pin List that will define the Peripheral and add a name and description to identify the Peripheral. After you’ve created the Peripheral, you’ll be able to define more details about how constraints files will be generated.

Design Entries

Each Pin List has at least one column that may be used to specify additional information for some pins. For example, the column “Design Net” represents the name of a signal net within your FPGA HDL design that is associated to an external pin. This is required for FPGA pin location mapping within the constraint file. These user columns are not visible on the Pin List, but they contain editable fields that are stored with the Peripheral and exported to the Constraint File as needed.

Constraint Editor

Constraint File Generation (UCF / QSF)

One of the primary motivations for the Peripherals feature is the automatic generation of Xilinx and Altera constraint files, known as “UCF” (Xilinx) or “QSF” (Altera) files. These files are used by the place and route tools to assign signal nets to particular pin locations on the FPGA package. Correspondingly, they are how signal nets get mapped to specific pins on the integration module. Automating this process through Pins greatly simplifies the process of mapping the signals in your HDL to pins on the module.

Click on “Generate Constraints File” from the Peripheral Editor (or the Peripheral List) at any time to generate the constraint file.

Selecting Module Features
In addition to the expansion connections, Opal Kelly FPGA integration modules contain other features such as pushbuttons, LEDs, memory, and the FrontPanel host interface. Depending on your application, you may want to include the constraints for one or more of these additional features in your constraints file. You can enable or disable each feature by editing the Peripheral Details.

In addition to the standard features, we’ve provided user-definable Lead In and Lead Out sections. Add your own constraints to these sections and Pins will insert them into the generated constraints file.

Subscribe to the Opal Kelly Newsletter

FOLLOW US: Twitter LinkedIn

Receive general announcements and product lifecycle updates.
We'll never spam or give this address away.