Stack Exchange Network

Stack Exchange network consists of 183 Q&A communities including Stack Overflow , the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Specify exact pin locations on FPGA

I have an Altera Cyclone IV FPGA, and I use the Quartus II software as the compiler.

In the "PinPlanner" it is possible to specify groups of pins (e.g. data buses). For each group, an I/O bank and an I/O standard (e.g. LVDS) can be specified. Then, the fitter (place and route) provides specific "Fitter Locations", specifying a precise pin for each individual wire.

Is there a way to specify the precise pin locations before the fitter attempts to fit the pins within each bank for me? Can this be done in the Pin lanner?

Randomblue's user avatar

2 Answers 2

There are two ways of specifying PIN assignment — you can either use PinPlanner or set_location_assignment to specify the PIN along with set_instance_assignment to specify the IO standard.

I recommend you read I/O Management documentation from Altera. But here are few examples:

These are location assignments for 1 GbE RGMII Ethernet Interface:

And here is an LVDS clock input to FPGA:

Hope it helps. Good Luck!

  • \$\begingroup\$ Thanks. You give examples of using set_location_assignment , but how can this be done using the PinPlanner? \$\endgroup\$ –  Randomblue Commented Sep 18, 2012 at 16:02
  • \$\begingroup\$ @Randomblue: Have you seen the doc? In PinPlanner, there will be a grid of top-level ports with pin location, I/O standard, etc. Just click, select values from drop-down, and that's it. \$\endgroup\$ –  user8459 Commented Sep 18, 2012 at 16:26
  • \$\begingroup\$ Aha, well my problem is that there is no "Location" column, just a "Fitter location" column that is populated after the Fitter has been run. \$\endgroup\$ –  Randomblue Commented Sep 18, 2012 at 16:31
  • \$\begingroup\$ @Randomblue: Are you sure you are in Pin Planner? You should see something like this — idle-logic.com/wp-content/uploads/2011/12/PinPlanner.png There is no Fitter location, that sounds more like a place & route... \$\endgroup\$ –  user8459 Commented Sep 18, 2012 at 16:33

I haven't worked with Altera, but in Xilinx you could manually specify pin assignments before the compile in the constraints file (.UCF for Xilinx).

From what I can tell, you can do the same thing for Altera in the Quartus II .QSF file by using set_location_assignment .

See the example .QSF file on page 6 in this Quartus II Handbook .

embedded.kyle's user avatar

Your Answer

Sign up or log in, post as a guest.

Required, but never shown

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy .

Not the answer you're looking for? Browse other questions tagged fpga intel-fpga pins or ask your own question .

  • Featured on Meta
  • Announcing a change to the data-dump process
  • Upcoming initiatives on Stack Overflow and across the Stack Exchange network...

Hot Network Questions

  • What programming language was used in Frank Rubin's letter about Dijkstra's "Go To Statement Considered Harmful"?
  • Classical schemes as derived schemes are discrete valued
  • Limited list of words for a text or glyph-based messaging system
  • Three kilometers (~2 miles high) tsunamis go around the Earth - what kinds of ruins are left?
  • Pluto has smooth ice plains, almost like lunar maria. Where did the heat come from to melt all that ice?
  • When labeling, "Wrap on character" drops the wrap character
  • Why doesn't Cobb want to shoot Mal when she is about to kill Fischer?
  • Is there a way to render someone braindead while leaving the organs and body fully intact?
  • Substring of Fizzbuzz
  • External ve Internal Properties for ZFC Models
  • Looking for name of a B-grade apocalyptic / (sort of) comedy movie set in a bunker where everyone is partying and dying of radiation poisoning
  • As a British citizen, I get stopped for 40 minutes wait due to wrong record of refusal to entry
  • Any tips to differentiate zero and non-zero values on a map with a continuous color scale?
  • Is there any point to the copyright notice in 0BSD?
  • Uniqueness results that follow from CH
  • Correctly escaping <CR>: how can I map a command to send the literal string "<CR>" to a vim function?
  • I can't figure out what this jet is
  • Paying for a flight when 'address line 3' is required
  • When given a wide passage such as the left-hand part in bars 20-21 - should my fingering seek to avoid the thumb on black keys?
  • What programming language was used in Dijkstra's response to Frank Rubin's article about "Go To Statement Considered Harmful"
  • What are the safe assumptions I can make when installing a wall oven without model/serial?
  • Difference in approach when reviewing papers vs grants
  • Does a homeomorphism between Sierpinski space powers imply equality of exponents?
  • Chemistry figure with TikZ

make pin assignments

Attention! Your ePaper is waiting for publication!

By publishing your document, the content will be optimally indexed by Google via AI and sorted into the right category for over 500 million ePaper readers on YUMPU.

This will ensure high visibility and many readers!

illustration

Your ePaper is now published and live on YUMPU!

You can find your publication here:

Share your interactive ePaper on all platforms and on your website with our embed function

illustration

Creating Pin Assignments Using the Pin Planner

  • assignments
  • www.fe.infn.it

fe.infn.it

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

  • More documents
  • Recommendations

DRAFT Recommended Practice for Measurements and ...

QII52013-9.1.0 Introduction 5. I/O Management The process of managing I/Os for FPGA devices involves more than just fitting design pins into a package. The increasing complexity of I/O standards and pin placement guidelines are just some of <strong>the</strong> factors that influence pin-related assignments. Both I/O capabilities of <strong>the</strong> FPGA device and board layout guidelines influence pin location and o<strong>the</strong>r types of assignments. Therefore, it is necessary to begin I/O planning and PCB development even before starting <strong>the</strong> FPGA design. Altera provides many resources for I/O planning. This chapter provides information on how to make pin assignments, how to enter I/O interface information in <strong>the</strong> <strong>Pin</strong> <strong>Planner</strong>, how to create I/O-based top-level HDL files, how to validate your pin assignments, and how to generate a valid pin-out file for use with third-party PCB tools. You can consult <strong>the</strong> device-specific pin connection guidelines available on <strong>the</strong> Altera ® website for your board layout. You can also benefit from <strong>the</strong> <strong>Pin</strong> Advisors available in <strong>the</strong> Quartus II software. f To get updated information about <strong>the</strong> Altera resources available for I/O planning, refer to <strong>the</strong> I/O Managment, Board Development Support, and Signal Integrity Analysis Resource Center on <strong>the</strong> Altera website. f For guidelines about PCB designs for Altera high-speed FPGAs, refer to AN 315: Guidelines for Designing High-Speed FPGA PCBs, and <strong>the</strong> Board Design Resource Center on <strong>the</strong> Altera website. This chapter includes <strong>the</strong> following topics: ■ “Understanding Altera FPGA <strong>Pin</strong> Terminology” on page 5–2 ■ “I/O Planning Overview” on page 5–5 ■ “Device Selection” on page 5–7 ■ “Early I/O Planning <strong>Using</strong> <strong>the</strong> <strong>Pin</strong> <strong>Planner</strong>” on page 5–7 ■ “Importing and Exporting <strong>Pin</strong> <strong>Assignments</strong>” on page 5–12 ■ “<strong>Creating</strong> <strong>Pin</strong>-Related <strong>Assignments</strong>” on page 5–13 ■ “<strong>Creating</strong> <strong>Pin</strong> <strong>Assignments</strong> <strong>Using</strong> <strong>the</strong> <strong>Pin</strong> <strong>Planner</strong>” on page 5–14 ■ “<strong>Creating</strong> <strong>Pin</strong> <strong>Assignments</strong> with Tcl” on page 5–21 ■ “<strong>Creating</strong> <strong>Pin</strong> <strong>Assignments</strong> with <strong>the</strong> Chip <strong>Planner</strong>” on page 5–22 ■ “<strong>Creating</strong> <strong>Pin</strong> <strong>Assignments</strong> in HDL” on page 5–22 ■ “<strong>Creating</strong> <strong>Pin</strong> <strong>Assignments</strong> with Low-Level I/O Primitives” on page 5–24 ■ “Validating <strong>Pin</strong> <strong>Assignments</strong>” on page 5–24 ■ “Validating <strong>Pin</strong> <strong>Assignments</strong> after Full Compilation” on page 5–39 ■ “I/O Timing Analysis” on page 5–40 © November 2009 Altera Corporation Quartus II Handbook Version 9.1 Volume 2: Design Implementation and Optimization

  • Page 2 and 3: 5-2 Chapter 5: I/O Management Under
  • Page 4 and 5: 5-4 Chapter 5: I/O Management Under
  • Page 6 and 7: 5-6 Chapter 5: I/O Management I/O P
  • Page 8 and 9: 5-8 Chapter 5: I/O Management Early
  • Page 10 and 11: 5-10 Chapter 5: I/O Management Earl
  • Page 12 and 13: 5-12 Chapter 5: I/O Management Impo
  • Page 14 and 15: 5-14 Chapter 5: I/O Management Crea
  • Page 16 and 17: 5-16 Chapter 5: I/O Management Crea
  • Page 18 and 19: 5-18 Chapter 5: I/O Management Crea
  • Page 20 and 21: 5-20 Chapter 5: I/O Management Crea
  • Page 22 and 23: 5-22 Chapter 5: I/O Management Crea
  • Page 24 and 25: 5-24 Chapter 5: I/O Management Crea
  • Page 26 and 27: 5-26 Chapter 5: I/O Management Vali
  • Page 28 and 29: 5-28 Chapter 5: I/O Management Vali
  • Page 30 and 31: 5-30 Chapter 5: I/O Management Vali
  • Page 32 and 33: 5-32 Chapter 5: I/O Management Vali
  • Page 34 and 35: 5-34 Chapter 5: I/O Management Vali
  • Page 36 and 37: 5-36 Chapter 5: I/O Management Vali
  • Page 38 and 39: 5-38 Chapter 5: I/O Management Vali
  • Page 40 and 41: 5-40 Chapter 5: I/O Management I/O
  • Page 42 and 43: 5-42 Chapter 5: I/O Management I/O
  • Page 44 and 45: 5-44 Chapter 5: I/O Management I/O
  • Page 46 and 47: 5-46 Chapter 5: I/O Management I/O
  • Page 48 and 49: 5-48 Chapter 5: I/O Management Inco
  • Page 50 and 51: 5-50 Chapter 5: I/O Management Conc

5-52 Chapter 5: I/O Management Docu

Extended embed settings

Inappropriate

You have already flagged this document. Thank you, for helping us keep this platform clean. The editors will have a look at it as soon as possible.

Mail this publication

Delete template.

Are you sure you want to delete your template?

DOWNLOAD ePAPER

This ePaper is currently not available for download. You can find similar magazines on this topic below under ‘Recommendations’.

Save as template?

logo

  • Help & Support
  • tuxbrain.com
  • ooomacros.org
  • nubuntu.org
  • Terms of service
  • Privacy policy
  • Cookie policy
  • Cookie settings

make pin assignments

Choose your language

Main languages

Further languages

  • Bahasa Indonesia

Performing this action will revert the following features to their default settings:

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

Saved successfully!

Ooh no, something went wrong!

Adafruit Logo

Pin Assignments

New subscription.

Please sign in to subscribe to this guide.

You will be redirected back to this guide once you sign in , and can then subscribe to this guide.

Making pin assignments

Go to the "Assignments" menu and select "Import Assignments...". Import the  de0-nano/rgbmatrix-fpga.qsf  file. After you do this, a message should appear in the "System" console tab at the bottom of Quartus: "Import completed. 14 assignments were written (of of 14 read)."

led_matrix_importassignments.png

This guide was first published on Jul 29, 2012. It was last updated on Mar 08, 2024.

This page (Pin Assignments) was last updated on Jul 12, 2012.

Text editor powered by tinymce .

The PICsellator

OUT OF STOCK NOTIFICATION

You have been successfully subscribed to the Notification List for this product and will therefore receive an e-mail from us when it is back in stock!

For security reasons, an e-mail has been sent to you acknowledging your subscription. Please remember that this subscription will not result in you receiving any e-mail from us about anything other than the restocking of this item.

If, for any reason, you would like to unsubscribe from the Notification List for this product you will find details of how to do so in the e-mail that has just been sent to you!

Pin assignments

This section describes the pin assignment and the pin functions.

This device provides flexibility when it comes to routing and configuration of the GPIO pins. However, some pins have recommendations for how the pin should be configured or what it should be used for.

In addition to the information in the pinout tables for the respective packages, the following peripherals have dedicated pins that should be used for proper operation:

  • TWI - For the fastest TWI 1 Mbps mode, the two high-speed TWI pins must be configured in the TWI peripheral's PSEL registers, and the 20 mA open drain driver enabled using the E0E1 drive setting in the DRIVE field of the PIN_CNF GPIO register.
  • QSPI - For QSPI only the dedicated GPIO pins from the following table shall be used. These must be enabled using the Peripheral option of the PIN_CNF[p].MCUSEL register. The GPIO must use the high drive H0H1 configuration in the DRIVE field of the PIN_CNF GPIO register.
  • SPIM4 - For the 32 Mbps SPI mode, the special purpose GPIO pins are enabled using the Peripheral option of the PIN_CNF[p].MCUSEL register. When activated, the SPIM PSEL settings are ignored, and the dedicated pins are used. The GPIO must use the high drive H0H1 configuration in the DRIVE field of the PIN_CNF GPIO register.
  • TRACE - When using trace, the TRACEDATA[n] and TRACECLK GPIO pins must all use the extra high drive E0E1 configuration in the DRIVE field of the PIN_CNF GPIO register. Also, the TND option of the PIN_CNF[p].MCUSEL register must be used.
Table 1. Special GPIO considerations
GPIO pin Description
P0.08 - P0.12 Drive configuration E0E1 is available and must be used for TRACE. For 32 Mbps high-speed SPI using SPIM4, drive configuration H0H1 must be used.
P0.13 - P0.18 The H0H1 drive configuration features the highest speeds of quad SPI using the direct connection of the QSPI peripheral.
P1.02 and P1.03 The E0E1 drive configuration activates a 20 mA open-drain driver specifically designed for high-speed TWI.
Remaining pins The E0E1 drive configuration is not supported. Using the E0E1 drive configuration will cause incorrect operation.

For all high-speed signals, the printed circuit board (PCB) layout must ensure that connections are made using short PCB traces. Refer to the manufacturer's PCB design recommendations for additional information.

aQFN94 pin assignments

The aQFN94 package has 94 pins in addition to four corner pads and a die pad.

Table 2. aQFN™ pin assignments
Recommended usage
A5 VBUS Power 5 V input for USB 3.3 V regulator  
A13 DECA Power Analog regulator supply decoupling  
A15 DECD Power Digital regulator supply decoupling  
A17 P1.13 Digital I/O General purpose I/O  
A19 VDD Power Power supply  
A21 DCC Power DC/DC converter output  
A23 DECN Power Regulator supply decoupling  
A25 N.C.      
A27 DECR Power Regulator supply decoupling  
B2 D+ USB USB D+  
B4 D- USB USB D-  
B6 DECUSB Power USB 3.3 V regulator supply decoupling  
B8 VDD Power Power supply  
B10 DCCD Power DC/DC converter output  
B12 N.C.      
B14 P1.15 Digital I/O General purpose I/O  
B16 P1.14 Digital I/O General purpose I/O  
B18 P1.12 Digital I/O General purpose I/O  
B20 P1.11 Digital I/O General purpose I/O  
B22 P0.31 Digital I/O General purpose I/O  
B24 P0.30 Digital I/O General purpose I/O  
B26 N.C.      
B28 VDD Power Power supply  
B30 XC2 Analog input Connection for 32 MHz crystal  
C1 VDD Power Power supply  
C31 XC1 Analog input Connection for 32 MHz crystal  
D2 N.C.      
E1 VDDH Power Power supply  
E31 VDD Power Power supply  
F2 N.C.      
G1 N.C.      
G31 DECRF Power RADIO power supply decoupling  
H2 N.C.      
J1 DCCH Power DC/DC converter output  
J31 N.C.      
K2 N.C.      
L1 VDD Power Power supply  
L31 ANT RF Single-ended antenna connection  
M2 P1.00 Digital I/O General purpose I/O  
N1

P0.00
XL1

Digital I/O
Analog input

General purpose I/O
Connection for 32 kHz crystal

 
N31 VDD Power Power supply  
P2 P1.01 Digital I/O General purpose I/O  
R1

P0.01
XL2

Digital I/O
Analog input

General purpose I/O
Connection for 32 kHz crystal

 
R31 P1.10 Digital I/O General purpose I/O  
T2 N.C.      
U1 VDD Power Power supply  
U31 P0.29 Digital I/O General purpose I/O  
V2

P0.04
AIN0

Digital I/O
Analog input

General purpose I/O
Analog input

 
W1

P0.02
NFC1

Digital I/O
NFC input

General purpose I/O
NFC antenna connection

 
W31 SWDCLK Debug Serial wire debug clock input for debug and programming  
Y2

P0.05
AIN1

Digital I/O
Analog input

General purpose I/O
Analog input

 
AA1

P0.03
NFC2

Digital I/O
NFC input

General purpose I/O
NFC antenna connection

 
AA31 SWDIO Debug Serial wire debug I/O for debug and programming  
AB2

P0.06
AIN2

Digital I/O
Analog input

General purpose I/O
Analog input

 
AC1 VDD Power Power supply  
AC31 nRESET Reset Pin RESET with internal pull-up resistor  
AD2

P0.07
AIN3

Digital I/O
Analog input

General purpose I/O
Analog input

 
AE1

P1.02
TWI

Digital I/O
TWI 1 Mbps

General purpose I/O
High-speed pin for 1 Mbps TWI

TWI
AE31

P0.28
AIN7

Digital I/O
Analog input

General purpose I/O
Analog input

 
AF2

P1.03
TWI

Digital I/O
TWI 1 Mbps

General purpose I/O
High-speed pin for 1 Mbps TWI

TWI
AG1 VDD Power Power supply  
AG31 N.C.      
AH2

P0.08
TRACEDATA3
SCK

Digital I/O
Trace data
SCK for SPIM4

General purpose I/O
Trace buffer TRACEDATA[3]
Dedicated pin for high-speed SPI

Trace, SPIM4
AJ1

P0.09
TRACEDATA2
MOSI

Digital I/O
Trace data
MOSI for SPIM4

General purpose I/O
Trace buffer TRACEDATA[2]
Dedicated pin for high-speed SPI

Trace, SPIM4
AJ31 VDD Power Power supply  
AK2

P0.10
TRACEDATA1
MISO

Digital I/O
Trace data
MISO for SPIM4

General purpose I/O
Trace buffer TRACEDATA[1]
Dedicated pin for high-speed SPI

Trace, SPIM4
AK4

P0.11
TRACEDATA0
CSN

Digital I/O
Trace data
CSN for SPIM4

General purpose I/O
Trace buffer TRACEDATA[0]
Dedicated pin for high-speed SPI

Trace, SPIM4
AK6

P0.12
TRACECLK
DCX

Digital I/O
Trace clock
DCX for SPIM4

General purpose I/O
Trace buffer clock
Dedicated pin for high-speed SPI

Trace, SPIM4
AK8

P0.14
IO1

Digital I/O
IO1 for QSPI

General purpose I/O
Dedicated pin for Quad SPI

QSPI
AK10

P0.15
IO2

Digital I/O
IO2 for QSPI

General purpose I/O
Dedicated pin for Quad SPI

QSPI
AK12

P0.17
SCK

Digital I/O
SCK for QSPI

General purpose I/O
Dedicated pin for Quad SPI

QSPI
AK14

P0.18
CSN

Digital I/O
CSN for QSPI

General purpose I/O
Dedicated pin for Quad SPI

QSPI
AK16 P0.20 Digital I/O General purpose I/O  
AK18 P0.22 Digital I/O General purpose I/O  
AK20 P0.23 Digital I/O General purpose I/O  
AK22 P1.05 Digital I/O General purpose I/O  
AK24 P1.07 Digital I/O General purpose I/O  
AK26 P1.09 Digital I/O General purpose I/O  
AK28

P0.25
AIN4

Digital I/O
Analog input

General purpose I/O
Analog input

 
AK30

P0.27
AIN6

Digital I/O
Analog input

General purpose I/O
Analog input

 
AL3 VDD Power Power supply  
AL5

P0.13
IO0

Digital I/O
IO0 for QSPI

General purpose I/O
Dedicated pin for Quad SPI

QSPI
AL7 VDD Power Power supply  
AL9

P0.16
IO3

Digital I/O
IO3 for QSPI

General purpose I/O
Dedicated pin for Quad SPI

QSPI
AL11 VDD Power Power supply  
AL13 P0.19 Digital I/O General purpose I/O  
AL15 P0.21 Digital I/O General purpose I/O  
AL17 VDD Power Power supply  
AL19 P1.04 Digital I/O General purpose I/O  
AL21 P1.06 Digital I/O General purpose I/O  
AL23 P1.08 Digital I/O General purpose I/O  
AL25 VDD Power Power supply  
AL27 P0.24 Digital I/O General purpose I/O  
AL29

P0.26
AIN5

Digital I/O
Analog input

General purpose I/O
Analog input

 
 
A1 N.C.      
A31 N.C.      
AL1 N.C.      
AL31 N.C.      
 
Die pad VSS Power Ground pad. Exposed die pad must be connected to ground (VSS) for proper device operation.  

WLCSP pin assignments

Table 3. WLCSP pin assignments
A1 XC1 Analog input Connection for 32 MHz crystal  
A2 XC2 Analog input Connection for 32 MHz crystal  
A3 VDD Power Power supply  
A5 VSS Power Ground  
A7 DECD Power Regulator supply decoupling  
A9 DCCD Power DC/DC converter output  
A11 D- USB USB D-  
A12 D+ USB USB D+  
B1 DECRF Power RADIO power supply decoupling  
B2 VSS Power Ground  
B4 DECR Power Regulator supply decoupling  
B5 DECN Power Regulator supply decoupling  
B6 DCC Power DC/DC converter output  
B7 VDD Power Power supply  
B8 DECA Power Regulator supply decoupling  
B9 VSS Power Ground  
B10 VDD Power Power supply  
B11 VBUS Power Power  
B12 VDDH Power Power supply  
C2 VSS Power Ground  
C4 P0.30 Digital I/O General purpose I/O  
C5 P0.31 Digital I/O General purpose I/O  
C6 P1.11 Digital I/O General purpose I/O  
C7 P1.12 Digital I/O General purpose I/O  
C8 P1.13 Digital I/O General purpose I/O  
C9 P1.14 Digital I/O General purpose I/O  
C10 P1.15 Digital I/O General purpose I/O  
C11 DECUSB Power USB 3.3 V regulator supply decoupling  
D1 ANT RF Single-ended antenna connection  
D2 VDD Power Power supply  
D10 P1.00 Digital I/O General purpose I/O  
D11 DCCH Power DC/DC converter output  
D12 VSS Power Ground  
E2 P0.29 Digital I/O General purpose I/O  
E3

P0.28
AIN7

Digital I/O
Analog input

General purpose I/O
Analog input

 
E4 P1.10 Digital I/O General purpose I/O  
E5 VSS Power Ground  
E6 VSS Power Ground  
E7 VSS Power Ground  
E8 VSS Power Ground  
E10 P1.01 Digital I/O General purpose I/O  
E11 VDD Power Power supply  
F1 SWDIO Debug Serial wire debug I/O for debug and programming  
F2 SWDCLK Debug Serial wire debug clock input for debug and programming  
F3 P1.08 Digital I/O General purpose I/O  
F5 VSS Power Ground  
F6 VSS Power Ground  
F7 VSS Power Ground  
F8 VSS Power Ground  
F10

P0.05
AIN1

Digital I/O
Analog input

General purpose I/O
Analog input

 
F11

P0.00
XL1

Digital I/O
Analog input

General purpose I/O
Connection for 32 kHz crystal

 
F12

P0.01
XL2

Digital I/O
Analog input

General purpose I/O
Connection for 32 kHz crystal

 
G2 nRESET Reset Pin RESET with internal pull-up resistor  
G3 P1.07 Digital I/O General purpose I/O  
G5 AVSS Power Ground  
G6 VSS Power Ground  
G7 VSS Power Ground  
G8 VSS Power Ground  
G10

P0.04
AIN0

Digital I/O
Analog input

General purpose I/O
Analog input

 
G11

P0.02
NFC1

Digital I/O
NFC input

General purpose I/O
NFC antenna connection

 
H1

P0.27
AIN6

Digital I/O
Analog input

General purpose I/O
Analog input

 
H2 P1.09 Digital I/O General purpose I/O  
H3 P0.23 Digital I/O General purpose I/O  
H10

P0.06
AIN2

Digital I/O
Analog input

General purpose I/O
Analog input

 
H11 VDD Power Power supply  
H12

P0.03
NFC2

Digital I/O
NFC input

General purpose I/O
NFC antenna connection

 
J2

P0.26
AIN5

Digital I/O
Analog input

General purpose I/O
Analog input

 
J3 P1.06 Digital I/O General purpose I/O  
J4 P0.21 Digital I/O General purpose I/O  
J5 P0.19 Digital I/O General purpose I/O  
J6

P0.12
TRACECLK
DCX

Digital I/O
Trace clock
DCX for SPIM4

General purpose I/O
Trace buffer clock
Dedicated pin for high-speed SPI

 
J7

P0.11
TRACEDATA0
CSN

Digital I/O
Trace data
CSN for SPIM4

General purpose I/O
Trace buffer TRACEDATA[0]
Dedicated pin for high-speed SPI

Trace, SPIM4
J8

P0.10
TRACEDATA1
MISO

Digital I/O
Trace data
MISO for SPIM4

General purpose I/O
Trace buffer TRACEDATA[1]
Dedicated pin for high-speed SPI

Trace, SPIM4
J9

P0.09
TRACEDATA2
MOSI

Digital I/O
Trace data
MOSI for SPIM4

General purpose I/O
Trace buffer TRACEDATA[2]
Dedicated pin for high-speed SPI

Trace, SPIM4
J10

P0.07
AIN3

Digital I/O
Analog input

General purpose I/O
Analog input

 
J11

P1.02
TWI

Digital I/O
TWI 1 Mbps

General purpose I/O
High-speed pin for 1 Mbps TWI

TWI
K1 VDD Power Power supply  
K2 P0.24 Digital I/O General purpose I/O  
K3 P1.04 Digital I/O General purpose I/O  
K4 P0.22 Digital I/O General purpose I/O  
K5 P0.20 Digital I/O General purpose I/O  
K6 AVSS Power Ground  
K7

P0.18
CSN

Digital I/O
CSN for QSPI

General purpose I/O
Dedicated pin for Quad SPI

QSPI
K8

P0.16
IO3

Digital I/O
IO3 for QSPI

General purpose I/O
Dedicated pin for Quad SPI

QSPI
K9

P0.14
IO1

Digital I/O
IO1 for QSPI

General purpose I/O
Dedicated pin for Quad SPI

QSPI
K10

P0.13
IO0

Digital I/O
IO0 for QSPI

General purpose I/O
Dedicated pin for Quad SPI

QSPI
K11 AVSS Power Ground  
K12

P1.03
TWI

Digital I/O
TWI 1 Mbps

General purpose I/O
High-speed pin for 1 Mbps TWI

TWI
L1

P0.25
AIN4

Digital I/O
Analog input

General purpose I/O
Analog input

 
L3 P1.05 Digital I/O General purpose I/O  
L5 VDD Power Power supply  
L7

P0.17
SCK

Digital I/O
SCK for QSPI

General purpose I/O
Dedicated pin for Quad SPI

QSPI
L9

P0.15
IO2

Digital I/O
IO2 for QSPI

General purpose I/O
Dedicated pin for Quad SPI

QSPI
L11 VDD Power Power supply  
L12

P0.08
TRACEDATA3
SCK

Digital I/O
Trace data
SCK for SPIM4

General purpose I/O
Trace buffer TRACEDATA[3]
Dedicated pin for high-speed SPI

Trace, SPIM4

Electronic Design

  • EDGE Awards
  • Search Search
  • Top Stories
  • TechXchange
  • Data Sheets
  • Technologies
  • Common Ground: Seeking Pin Assignment Balance in FPGA-Based Boards

Component placement ignored (bad layout)

Component placement considered (good layout)

DDR3 and QDR II SRAM, FPGA tool-derived pin assignments

One board in a large ASIC prototyping system

Using FPGA knowledge to guide the PCB pin-swapping process

Predicting that IC density and complexity will continue to increase is kind of like predicting that the sun will come up in the morning-you'd literally have to be living under a rock to not be aware of this. And so it is with FPGAs, which are getting more, not less, complex; whose pin counts are going up, not down; and for which the available silicon seems to grow faster than many engineers can figure out how to use it. The only thing that steadfastly refuses to change is design schedules, which bewilderingly remain as constant as the sun.

Integrating these ever-more complicated devices into their host PCBs has proven to be extraordinarily challenging. FPGA designers, schematic engineers, and PCB designers find themselves locked in a divergent battle, struggling to create device pin assignments that satisfy both the FPGA and the PCB. Traditional tools almost encourage each specialist to "throw the design over the wall." As the design progresses, this tool-mandated "not my job" mentality dooms the team to wasting precious time, often late in the project, iterating between the FPGA and PCB design, searching in vain for common ground in pin assignments.

Regrettably, it's the PCB that usually suffers, with more layers and vias being added to accommodate the FPGA. To make matters worse, this typically manual round-trip process introduces errors that may not be exposed until the first prototype is powered up in the lab.

All's Well That Starts Well

Take an average FPGA-based PCB design containing two or three FPGAs. Most processes let the FPGA designer have all of the pin assignment fun (as in ,"It's fun to hit my thumb with a hammer"), using the FPGA tools, scripts, text files, spreadsheets, home-grown utilities, and whatever other tricks are at his/her disposal. Those pin assignments are then passed to the schematic engineer who gets the fun (see above for the definition of "fun") of creating symbols and wiring up the schematic using precisely the same pins as the FPGA designer, including all of the power pins that can number in the hundreds. Not to mention the lingering fear lurking in the back of his/her mind that if anything is misconnected, the system won't work. Or even worse, on first power up the prototype will do nothing more than radiate lots of heat until it melts into a useless pile of expensive FPGAs and fiberglass.

And this doesn't even begin to address the PCB designer, that poor soul at the bottom of the design food chain who just happens to have had all of his/her allotted time chewed up by everyone else, who has little say in the design process, and whois told to "fix it but don't change anything" on a board where the PCB routing was never considered for a fleeting µ-second!

That this situation sets the stage for a lot of hand wringing, late nights, finger pointing, heated battles, and endless loops through the flow-usually at the end of the design cycle, when it can least be afforded-is only too predictable. Oh, and don't forget that all FPGA pin assignment changes have to propagate through the entire flow, every time, with flawless accuracy.

This, with a little embellishment, is what happens with manyaverage FPGA-based boards. Just imagine ASIC prototyping designs, which can contain dozens of FPGAs. The problems listed above become practically unmanageable, and it is a testament to the engineers'-and PCB designers'-skill that any of these prototyping systems are ever made to work correctly in a time frame that ensures the ASIC is taped out before the market renders it obsolete.

Take the following two screenshots ( Fig. 1 and Fig. 2 ), which are admittedly an exaggeration but nevertheless highlight what can happen while picking pins if component placement is either ignored (bad) or considered (good):

Assuming both designs satisfy the needs of the FPGA (the large device in the middle), which one would most likely inspire the PCB designer to request an unpleasant chit-chat with engineering? True, only the rat's nests are represented here. But their implication is clear: the tangled mass of connections scattered across the FPGA in Figure 1 are destined to cause a routing nightmare. To understand the roots of this issue, you need to look no further than the techniques that are generally deployed, and the data that is normally acknowledged, during the FPGA pin assignment process.

Article Sections

  • The Heart of the Matter \\[Next\\]
  • Look At It From My Perspective

Wait Just a Minute

  • The Heart of the Matter

Regardless of how FPGA I/O pins are selected (automatically, manually, or a combination of the two), if the pin assignments have any hope of working well for the entire system, three factors must be considered-and these must be considered by the designer and any tools used in the process:

  • The usage rules of the FPGA. In other words, what are the pins and the underlying silicon capable of, and how does one set of pin assignments affect subsequent pin assignments? (This could be a topic for another article addressing the nonsensical idea that it's possible to efficiently shoehorn a staticswap matrix into the PCB-driven FPGA pin-swapping process.)
  • The characteristics of the signals in the design. Not all signals are created equal. A DDR3 DIMM byte lane, for example, typically contains 8 data bits, a mask bit, and a set of differential strobes. Arbitrarily assigning the data and strobes to random locations on the FPGA is almost guaranteed to fail. The FPGA design tools know this. The FPGA designer knows this. And any tool that assists in the pin assignment process has to know this. This is a perfect example of why a PCB designer, swapping and moving signals based on the rules contained in a static swap matrix, is playing with fire.
  • The placement of the components on the board. Of the three constraints, this is the one that has the biggest effect on the PCB routing. To pick pin assignments while ignoring the board-level component placement is like driving in the dark without headlights: after a few crashes, you'll get somewhere but probably nowhere close to where you want to be. This is also the one constraint that FPGA design tools do not natively or electronically comprehend because they focus on the FPGA - one FPGA. That's not to say that an FPGA designer can't successfully guide the FPGA tools based on his/her knowledge of the PCB component locations. But doing that across multiple FPGAs and then managing the pin assignment changes with each modification to the part placement is like a recurring bad dream.

An additional factor that is often disregarded but that needs to be addressed is the link between the FPGA and the schematics. Getting the FPGA connectivity captured in the schematic wouldn't be too painful if it were done only once. But that never happens. In fact, the connectivity changes constantly and radiates from two main sources: the FPGA designer, optimizing the pin outs for performance reasons, and the PCB designer, trying to reduce layer counts or routing time. As far as the hardware engineer is concerned, the source of the change is irrelevant-the FPGA connectivity still has to be updated accurately and reflected in the schematics.

Since the classic FPGA vendor tools already deal with the first two constraints mentioned above, it's the third one that any new tools or techniques need to focus on if the goal really is system-optimized pin assignments that work well for the FPGA and the board.

  • Look At It From My Perspective \\[Next\\]

Before jumping to the conclusion that the easy answer is just to force FPGA designers to think outside the FPGA box, look at the problem from their perspective. Tasked with writing, simulating, and synthesizing the RTL; deliberating over the timing (both inside and outside the FPGA); selecting the proper I/O standards; assessing routing and clocking resources; sizing the I/O buffers;floorplanning the device; and, generating the programming files, FPGA designers have their own set of headaches to contend with. Throwing PCB routing into the mix does not help.

And for some sections of the design, FPGA designers may not have much say in the matter-for the FPGA to work, they could be forced (or at least implored) to use pin assignments derived algorithmically by the FPGA tools. These tools can assist the designer in interfacing the FPGA to DDR3s, QDR II+ SRAMs, RLDRAMs, etc. (Fig. 3) , and in producing soft IP cores. Testing an FPGA designer's patience then entails nothing more than proposing modifications to these hard- fought, "golden" pin assignments.

There are a multitude of other pin allocation decisions that can elicit thoughts of "What are they thinking?!" from those not intimately familiar with the FPGA's requirements, but that make perfect sense to FPGA designers. Some devices, for example, contain hard cores carefully constructed to communicate with specific types of external logic such as DSPs or Ethernet PHYs, and the silicon that implements that logic prefers certain I/O pins. So when FPGA designers rigidly insist that pin assignments are fixed, many times they're absolutely right.

So what happens when all of this makes its way to the board? This is where the pin assignment rubber meets the PCB routing road. It's at this point that the team is given its first real glimpse of how early design-cycle choices will actually affect the physical system. Signal integrity, mechanical and thermal qualities, manufacturing cost, packaging, reliability, power delivery and consumption-all the things whose effects and tradeoffs have been carefully evaluated throughout the design process-now begin to come together and their interactions play out.

High-speed components like DDR3 have not only stringent FPGA integration requirements but rigorous PCB requirements as well: distances between parts, maximum allowed signal length, number of layers and vias, crosstalk, etc. For each of the 240 nets on every DDR3 (and of course for every part), the PCB designer has to group the nets into bundles, merge those bundles onto their appropriate layers, and then flowplan and route them around any impeding obstructions-all with an eye toward meeting multiple, often conflicting, design objectives. Poorly chosen FPGA pin locations can turn this process into a veritable nightmare, resulting in round after round of impassioned team-wide negotiations that inevitably push the project's timeline right to its unforgiving edge. Worse, it can add layers to the PCB, which drives up the end product costs.

  • Now What? \\[Next\\]

Any tools that claim to improve this situation have to be conversant in multiple design-space languages. They also have to be able to integrate, or at least easily communicate, with a range of other products, databases, and file formats. And as much as engineers enjoy deriding the EDA industry, EDA companies have developed new tools and flows to help design teams cope with integrating FPGAs onto PCBs.

Each of these products approach the problem in unique ways, but the bottom line is that all of them exploit component placement as a constraint in establishing FPGA pin assignments that complement the entire design, not just the FPGA. And all of them have been used effectively by engineers across the globe to reduce design cycles and increase product quality. However, first-generation tools have some limitations. They may require that PCB placement be done first, which implies that un-optimized (manual) pin assignment is also done first. Or, FPGA pin assignment rules may be missing in the PCB layout space, so that pin assignment is done manually.

A more advanced approach would assemble the FPGA rules, signaling, and part placement data (the 3 constraints listed above) into one location and then, through a "connectivity intent definition" mechanism, utilize I/O synthesis technology to automatically select the best FPGA pins across the entire design. Because the tool asks the designer to supply the connectivity intent instead of the actual pin assignments, the designer enjoys the luxury of knowing that no matter where the components are placed or oriented, the actual connectivity can be re-established by simply re-running synthesis. (Moving or rotating components implies a change only to the actual connectivity, not the connectivity intent.)

Cadence Allegro FPGA System Planner takes just such a "connectivity intent" approach. One customer was able to take full advantage of this capability when, at the last minute, it was discovered that an FPGA had to be flipped to the opposite side of the board. Using the "connectivity intent with synthesis" functionality, days of re-work was trimmed to a few hours. Another customerproduced a 48-FPGA ASIC prototyping system in half the time of their previous 15-FPGA single-board system (Fig. 4) .

  • Wait Just a Minute \\[Next\\]

However, as with any product, FPGA pin planning tools are not a panacea. They will not, nor are they intended to, replace the FPGA vendor's tools. They can use, and ideally improve, pin assignments selected by the vendor tools-but in some designs, or for a host of other reasons, engineers may want to use existing FPGAtool-defined I/O locations. Again, because the FPGA tools cannot spell "PCB," these pin assignments are often not optimal, at least for the board.

In these circumstances the EDA tools, just like a machete or a screwdriver or a chainsaw, have to be used as they were intended to be, in the right place and at the right time in the design process. As such, any sufficiently advanced FPGA-PCB planning tool must be able to optimize, or guide the engineer in optimizing, FPGAtool-defined pin locations within an FPGA-constrained boundary, using algorithms that understand and adhere to the original, vendor-driven pin assignment rules.

There are other restrictions that these tools suffer from as well: they all view the PCB as a two-dimensional object and the routing as a point-to-point Manhattan connection, neither of which is true. (How drastically these assumptions affect I/O assignment quality is directly related to the PCB topology.) But perceiving the PCB to be two dimensional is certainly a lot better than not perceiving the PCB at all. Worse, some of these products, in some cases, view the FPGA as a fixed-pin device, which spawns a rash of problems downstream when swapping pins in the PCB.

An FPGA is a programmable device. By their very design, an FPGA's pins are dynamic-how one is used immediately and directly affects the others. This cannot be determined or orchestrated through a simple mechanism like a static swap matrix, which has none of this intelligence.Created too coarsely, a swap matrix will allow PCB designers to screw up the FPGA drastically. Too fine and they will be hamstrung, unable to swap anything of any significance.

One way to get beyond this would be to instill FPGA expertise into the PCB tool, perhaps through an underlying "engine," to lead the PCB designer in the right direction by suggesting FPGA-compliant pin swap candidates. Bringing FPGA awareness to the PCB designer's desktop would help ensure that they are continually steered toward a more predictable (and routable) solution (Fig. 5) . So it's not a single tool, but how well the tool flow understands FPGA-based designs that ultimately determines the team's fate and their ability to realize the completed system.

With better FPGA design-in tools that communicate in several languages (FPGA, schematic, and PCB), FPGA design-in can be a faster, less frustrating endeavor. But to properly solve the problems touched on in this article, these tools are going to have to take responsibility for their long-standing inability to adequately endorse the PCB-up front. Tools (and processes) that do not will continue to subject the entire team to a series of time-consuming, exasperating iterations, forcing the team to choose between the lesser of two evils: slip the schedule to allow for more iterations, or increase PCB layer counts (and potentially decrease system performance) to account for inferior FPGA pin assignments.

Continue Reading

make pin assignments

Solving the contact resistance challenge for 7nm and beyond CMOS

make pin assignments

Flash Memory Takes Over

Sponsored recommendations, to join the conversation, and become an exclusive member of electronic design, create an account today.

make pin assignments

New and Improved TechXchange Layout

make pin assignments

This Week in PowerBites: Mixed-Signal Mania, Module In-Package Magnetics

make pin assignments

TechXchange: Oscillations, Timing, and Synchronization

make pin assignments

Tornadogenesis Identified with Infrasound—New Predictions Possible

make pin assignments

The Evolution of CRT Monitor Technology

make pin assignments

3 Ways to Reduce Power-Supply Noise

Success! Subscription added.

Success! Subscription removed.

Sorry, you must verify to complete this action. Please click the verification link in your email. You may re-send via your profile .

  • Intel Community
  • Product Support Forums
  • Programmable Devices

Using a tcl script to assign pins

  • Subscribe to RSS Feed
  • Mark Topic as New
  • Mark Topic as Read
  • Float this Topic for Current User
  • Printer Friendly Page

Altera_Forum

  • Mark as New
  • Report Inappropriate Content
  • All forum topics
  • Previous topic

Link Copied

make pin assignments

Community support is provided Monday to Friday. Other contact methods are available here .

Intel does not verify all solutions, including but not limited to any file transfers that may appear in this community. Accordingly, Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.

For more complete information about compiler optimizations, see our Optimization Notice .

  • ©Intel Corporation
  • Terms of Use
  • *Trademarks
  • Supply Chain Transparency

Alternate pin assignment

I have notice a (probably) new feature: alternate pin assignment. I have created a new device and noticed that there is an “alternate pin assignments” tab when I open the symbol properties. Then I thought I have to add the alternate pin definitions when creating the symbol. Back to the symbol editor, I noticed that it’s possible for every pin to add alternate defintions, and I tried to do it. Example: Pin 1 was defined as P6.4 / A4. Port IO or analog input. So I left P6.4 as default and added A4 for alternate. Saved, updated in the schematic editor. Now when I open the symbol properdies, I was expecting to see P6.2 on the base name column, and A4 as an alternate, but it didn’t change. Here are a few questions:

  • Did I miss one (a few) step(s)?
  • In symbol properties, Alternate Assignment has only one column. What will happen if there is more than one alternate assignments? Example: pin 76 is P10.0 or UCB3STE or UCA3CLK.

Thanks for any hint!

I haven’t investigated this feature but could you be misinterpreting the purpose? Could it be for representing devices that come in say 40 pin DIP and 44 pin TQFP?

@retiredfeline It is just to assign alternate pin texts. Comes in handy for e.g. MCUs, where a pin can be GPIO/UART/SPI/Analog5, you get it. You can choose which pin name you want displayed. [EDIT] Electrical type and graphical style change as well

There will be a dropdown list with the alternates available. Initially, you see an empty field. Only after clicking it does the dropdown list appear.

It’s there since 6.0 .

Thanks, that’s exactly what I expected. Instead of displaying up to 5 ~ 6 different options, it would be a lot better to display tje pin I’m actually using, for instance only UART_TX as in your example. And I would also like to add an NC option.

Anyway I must be missing something. I configured it my lib and it doesn’t reflect in the schematic even if I update the lib.

Screenshot from 2023-02-23 15-33-53

Now in the schematic I had started, if I update the library, I can be sure that it has actually been upgraded since the corner pin 1 is now P6.4, and the A4 has disappeared.

Screenshot from 2023-02-23 15-36-14

Now my problem is: how can I do in the schematic to show the alternate pin name, A4 only?

Thanks for any hint.

Update: I found the trick!

Screenshot from 2023-02-23 16-02-52

Oopsy Daisy, I never realized that…

You are mis-using or mis interpreting the feature. It’s not used for all schematic symbols. KiCad’s libraries are a bit behind. The intention is that all sensible pin names are pre-defined in the library, and you choose one of the names for use in your schematic. To see how it works put one of the STM32 IC’s on your schematic, and then edit it’s properties. Then you can select a name from the Alternate Pin Assignments tab page.

image

This seems to work quite nicely for microcontrollers and other IC’s that have a limited number of pre-defined functions per pin. It does not work for FPGA’s or PLD’s where pins can be “anything”. But I don’t see much room for improvement there, except for just improving the symbol editor itself. It’s easy enough to pop a symbol into the symbol editor and change pin texts to your liking. And having a pre-defined symbol already defines the power pins, maybe clock and other dedicated pins and just leaves the I/O pins to change for you.

For me it seems finally a problem for the database approach. Pin names (and pin numbers) should be possible to override either from database or manually by schematic entry. Swapping rules should be either connected to in number or pin name or any new identifier therefore.

I don’t think so. By the way, my post above was maybe a bit confusing with the latest picture showing a chip with only pin 1 using this feature. I’m in the process of changing them all, but it takes time. With, say, 3 different configs for each pin in an average, it means 300 editions for this QFP100. Beside this, since it’s now able to define not only the alternate pin name, but also its nature (input / output / bidirectional, etc…), I think Kicad is now able to detect errors that could not be detected earlier. I’m aware of how STM32 cube works, and I remember having asked for this feature, maybe a couple of years ago. Anyway, to summarize, it’s perfect, and the only possible improvement would add a text when no alternate name is selected, as mentioned above. Like “select alternate name”. And while we are at it, it’s not realy a matter of name, but also functionality, so “select alt pin function” could be even better.

Back after some time. I’m trying to use what I did earlier, and in fact I’m not sure that this new functionality is an advantage. The problem is that now I have a symbol with a single label (I mean the functionality, like P6.5). This means that if I want to use for instance the A5 functionality (analog 5. which is on the same pin as P6.5), then I have to know where it is. This one is simple, Port6 is analog for all the MSP430s. So P6.x van also be remap tp A6. Now what should I do if I don’ t know for instance the location of UART2? Opening a pdf is certainly a solution, but It would be good if I could search from the schematic editor. For instance, right click on the component, have a “find” menu in which I would key in “UART2”

Is there an existing method? The alternate pin panel is apparently not searchable. At least not with the standard cmd-F.

stm

Thanks for your reply. Yes, that’s what I ended up doing. I have also added a NC option for all the pins so that the schematic better retlects what I do.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

IMAGES

  1. Creating Pin Assignments Using the Pin Planner

    make pin assignments

  2. Pin assignments microcontroller

    make pin assignments

  3. Pin Assignments For DE2 Board

    make pin assignments

  4. How to pin assignments to your dashboard?

    make pin assignments

  5. 74HC595 Description Features Pin Assignments Applications

    make pin assignments

  6. Connector Pin Assignments

    make pin assignments

VIDEO

  1. Nursing Care plan on Marasmus/NCP On Marasmus/Case study on Marasmus/Assignment On Marasmus#marasmus

  2. How to make pin pointer😍 #diy #mkit #easy #electronic #pinpointer

  3. Research first look

  4. make pin in 20s 530ms

  5. how to make pin pon ball

  6. How to make pin 0.18 Using punch former

COMMENTS

  1. Making FPGA Pin Assignments

    1. Use the Intel® Quartus® Prime Pin Planner to make pin assignments. 2. Use Intel® Quartus® Prime Fitter messages and reports for sign-off of pin assignments. 3. Verify that the Intel® Quartus® Prime pin assignments match those in the schematic and board layout tools. With the Intel® Quartus® Prime Pin Planner GUI, you can identify I/O ...

  2. 5.2.2.1. Making FPGA Pin Assignments

    Checklist Item. 1. Use the Intel® Quartus® Prime Pin Planner to make pin assignments. 2. Use Intel® Quartus® Prime Fitter messages and reports for sign-off of pin assignments. 3. Verify that the Intel® Quartus® Prime pin assignments match those in the schematic and board layout tools. 4.

  3. Specify exact pin locations on FPGA

    There are two ways of specifying PIN assignment — you can either use PinPlanner or set_location_assignment to specify the PIN along with set_instance_assignment to specify the IO standard.. I recommend you read I/O Management documentation from Altera. But here are few examples: These are location assignments for 1 GbE RGMII Ethernet Interface:

  4. PDF My First FPGA Tutorial

    make pin assignments. To assign th e device, perform the following steps. 1. Choose Assignments > Device. 2. Under Family, choose the device family that corresponds to the device on the development board you are using. 3. Under Available devices, choose the device given in Table 1-1 . Table 1-1. Available Device Settings

  5. Create Optimum Pin Assignments for FPGAs on PCBs

    Figure 1 - Typical DDR3 pin assignments received by a PCB designer. The result is that system design processes continue to suffer from a lack of the right knowledge at the right point in the process. For example, consider a simple, two component design -- two FPGAs connected through a 32-bit data bus. Suppose that the FPGA designer has used the ...

  6. Creating Pin Assignments Using the Pin Planner

    Learn how to use the Pin Planner tool to create and manage pin assignments for your FPGA design. This document provides a step-by-step guide on how to use the Pin Planner features, such as importing and exporting pin assignments, viewing pin information, and creating pin groups. You can also find tips and tricks on how to optimize your pin assignments for performance and routing.

  7. PDF FPGA Pin Assignment

    FPGA pins can be assigned by importing a pin assignment file from the web page. DE10_Lite.qsf. download the file from the website and save it to a central location so that you can easily import it each time you create a new project. select save as, change the file types to all files, and make sure the file name extension is .qsf and not .txt.

  8. Pin Assignments

    You can (optionally) customize the pin assignments that were imported by going to the "Assignments" menu and selecting "Assignment Editor". Additional information on the GPIO headers can be found in the DE0-Nano PDF manual (pages 18-20). A mapping of FPGA pins to GPIO headers can also be found in the de0-nano/DE0_Nano.qsf file (open it with a text editor).

  9. PDF Pin Assignment for Multi-FPGA Systems

    The pin assignment process for multi-FPGA systems assigns all signals to traces, and logic pins to IOBs. Specifically, each signal S , which is connected to partitions P1 …. Pn , must be assigned to exactly one trace T . This trace must be connected to chips C ={ C1 …. Cm } such that each partition P ∈{P1 ….

  10. Pin Assignments In Vivado For Block Designs

    Yes, the tool will utilize the internal IP constraints (which are demo board specific) and assign them to its pins. Naturally the part selected for the project should be the correct demonstration board. You can verify the pin assignments by opening up the implementation and reviewing the I/O assignments and compare them to the constraint files.

  11. How to Program Your First FPGA Device

    You'll learn to compile Verilog code, make pin assignments, create timing constraints, and then program the FPGA to blink one of the eight green user LEDs on the board. You'll use a 50 MHz clock input (from the on-board oscillator) to drive a counter, and assign an LED to one of the counter output bits. Level: beginner. Materials Hardware

  12. Solving FPGA I/O pin assignment challenges

    Step 5: Exporting the I/O Pinout. You can export the I/O port list and package pin information from PlanAhead software into a CSV format file, HDL header, or UCF file. The CSV file includes information about all of the package pins in the device, as well as design-specific I/O port assignments and their configurations.

  13. PDF DE0-Nano My First Fpga v1.0

    To compile a design or make pin assignments, you must first create a project. 2.1 Assign The Device 1. In the Quartus II software, select File > New Project Wizard. The Introduction page opens. See Figure 2-1 Figure 2-1 New Project Wizard introduction . 9 2. Click Next. 3. Enter the following information about your project:

  14. Pin assignments

    Pin assignments. This section describes the pin assignment and the pin functions. This device provides flexibility when it comes to routing and configuration of the GPIO pins. However, some pins have recommendations for how the pin should be configured or what it should be used for. In addition to the information in the pinout tables for the ...

  15. Common Ground: Seeking Pin Assignment Balance in FPGA-Based Boards

    Those pin assignments are then passed to the schematic engineer who gets the fun (see above for the definition of "fun") of creating symbols and wiring up the schematic using precisely the same ...

  16. Making FPGA Pin Assignments

    Checklist Item. 1. Use the Intel® Quartus® Prime Pin Planner to make pin assignments. 2. Use Intel® Quartus® Prime Fitter messages and reports for sign-off of pin assignments. 3. Verify that the Intel® Quartus® Prime pin assignments match those in the schematic and board layout tools. 4.

  17. Using a tcl script to assign pins

    In the scripts I create (key,value) pairs for pin assignments, and then loop over them and convert them to Altera synthesis directives. Its a little more complicated to understand the first time you read the script, however, creating the script is a lot easier for the next board. Read the scripts and ask questions. Cheers, Dave.

  18. Pin assignment

    Pin assignments can be done even before you write your RTL code, if you know the name of the interfacing signals. Pin assignment can be done independent of the implementation logic. When you are creating a new project, you can select "Io Pin Planning project" to do the pin assignments. This will be written to an XDC file which should be used ...

  19. 2.6.1. Pin Assignment

    Pin Assignment. 2.6.1. Pin Assignment. When you integrate your Interlaken IP instance in your design, you must make appropriate pin assignments. You do not need to specify pin assignments for simulation. However, you should make the pin assignments before you compile. Pin assignments provide direction to the Fitter and specify the signals that ...

  20. Alternate pin assignment

    Schematic. roboya February 21, 2023, 1:01am 1. Hello! I have notice a (probably) new feature: alternate pin assignment. I have created a new device and noticed that there is an "alternate pin assignments" tab. when I open the symbol properties. Then I thought I have to add the alternate pin definitions when creating the symbol.

  21. 2.3.2. Assigning Pin I/O Standards in the Intel® Quartus® Prime Pin

    From the Intel® Quartus® Prime menu, select Assignments > Pin Planner. Under the Node Name column in the All Pins box, look for the pin that you want to configure. Under the Location column, select the specific pin location. The I/O Bank column displays the I/O bank name where the pin resides. The Top View - Flip Chip diagram shows the I/O ...

  22. Quartus II Tcl Example: Setting FPGA Pins as Virtual

    The following simple procedure makes all pins in your design virtual I/O pins. First, the design is synthesized to determine which nodes are pins. Next, a collection of name IDs is set to correspond to the pins in the design, then a VIRTUAL_PIN assignment is applied to every pin. Finally, the export_assignments command writes all new ...