The browser version you are using is not recommended for this site. Please consider upgrading to the latest version of your browser by clicking one of the following links.

Intel® Agilex™ F-Series and I-Series General-Purpose I/O User Guide
A newer version of this document is available. Customers should click here to go to the newest version.
Visible to Intel only — GUID: yvw1645094148505
View Details
- 1.1. Package Selection and I/O Vertical Migration Support
- 1.2. Types of I/O Banks
- 2.1.1. GPIO Bank Structure
- 2.1.2. I/O Buffers and Registers
- 2.2.1. Supported I/O Standards for GPIO Banks
- 2.2.2. GPIO Buffer Behavior
- 2.2.3.1. Guidelines: Programmable Output Slew Rate Control
- 2.2.3.2. Guidelines: Programmable Open-Drain Output
- 2.2.3.3. Guidelines: Programmable Bus-Hold
- 2.2.3.4. Guidelines: Programmable Pull-Up Resistor
- 2.2.3.5. Guidelines: Programmable De-Emphasis
- 2.3.1.1. Assigning Pin I/O Standards in the Intel® Quartus® Prime Assignment Editor
- 2.3.1.2. Assigning Programmable IOE Features in the Intel® Quartus® Prime Assignment Editor
- 2.3.1.3. GPIO Programmable IOE Features Assignment Names and Settings
- 2.3.2. Assigning Pin I/O Standards in the Intel® Quartus® Prime Pin Planner
- 2.4.1.1.1. RS OCT
- 2.4.1.1.2. RT OCT
- 2.4.1.1.3. Dynamic OCT
- 2.4.1.2. OCT Calibration Block
- 2.4.1.3. Single-Ended I/O Standards External Termination
- 2.4.1.4.1. Configuring OCT Using the Assignment Editor
- 2.4.1.4.2. OCT Features Assignment Names and Settings
- 2.4.2.1.1. Configuring Differential Input RD OCT Using the Assignment Editor
- 2.4.2.1.2. Guidelines: Differential Input RD OCT
- 2.4.2.2. True Differential Signaling I/O Standard External Termination
- 2.5.1. VREF Sources and VREF Pins
- 2.5.2. I/O Standards Implementation Based on VCCIO_PIO Voltages
- 2.5.3. OCT Calibration Block Requirement
- 2.5.4. I/O Pins Placement Requirements
- 2.5.5. I/O Standard Selection and I/O Bank Supply Compatibility Check
- 2.5.6. Simultaneous Switching Noise
- 2.5.7. Special Pins Requirement
- 2.5.8. External Memory Interface Pin Placement Requirements
- 2.5.9. HPS Shared I/O Requirements
- 2.5.10. Clocking Requirements
- 2.5.11. SDM Shared I/O Requirements
- 2.5.12. Unused Pins
- 2.5.13. Voltage Setting for Unused GPIO Banks
- 2.5.14. GPIO Pins During Power Sequencing
- 2.5.15. Drive Strength Requirement for GPIO Input Pins
- 2.5.16. Maximum DC Current Restrictions
- 2.5.17. 1.2 V I/O Interface Voltage Level Compatibility
- 2.5.18. GPIO Pins for the Avalon® Streaming Interface Configuration Scheme
- 2.5.19. Maximum True Differential Signaling Receiver Pairs Per I/O Lane
- 2.6.1. IBIS Models
- 2.6.2. HSPICE* Models
- 2.6.3. Net Length Reports
- 3.1. HPS I/O Bank Overview
- 3.2.1. Supported I/O Standards for HPS I/O Banks
- 3.2.2. HPS I/O Buffer Behavior
- 3.2.3. Programmable I/O Element Features for the HPS I/O Bank
- 3.3.1. Configuring Open Drain Feature for the HPS I/O
- 3.3.2.1. Assigning Programmable IOE Features in the Intel® Quartus® Prime Assignment Editor
- 3.3.2.2. HPS I/O Programmable IOE Features Assignment Names and Settings
- 3.3.3. Assigning Pin I/O Standards in the Intel® Quartus® Prime Pin Planner
- 3.4.1. Unused Pins
- 3.4.2. HPS I/O Pins During Power Sequencing
- 3.4.3. HPS Shared I/O Requirements
- 3.5.1. HPS IBIS Models
- 3.5.2. Net Length Reports
- 4.1. SDM I/O Bank Overview
- 4.2.1. Supported I/O Standards for SDM I/O Banks
- 4.2.2. SDM I/O Buffer Behavior
- 4.2.3. I/O Standards and Features for Intel® Agilex™ Configuration Pins
- 4.3.1. Unused Pins
- 4.3.2. SDM I/O Pins During Power Sequencing
- 4.4.1. SDM IBIS Models
- 4.4.2. Net Length Reports
- 6.1.1. Release Information for GPIO Intel® FPGA IP
- 6.1.2.1. Intel® FPGA IP Generation Output
- 6.1.3.1. Guideline: Swap datain_h and datain_l Ports in Migrated IP
- 6.1.4.1. Shared Signals
- 6.1.4.2. Data Bit-Order for Data Interface
- 6.1.4.3. Input and Output Bus High and Low Bits
- 6.1.4.4. Data Interface Signals and Corresponding Clocks
- 6.1.5.1.1. Input Path
- 6.1.5.1.2. Output and Output Enable Paths
- 6.1.5.2. Register Packing
- 6.1.6. Verifying Resource Utilization and Design Performance
- 6.1.7.1. Timing Components
- 6.1.7.2. Delay Elements
- 6.1.7.3.1. Single Data Rate Input Register
- 6.1.7.3.2. Full-Rate or Half-Rate DDIO Input Register
- 6.1.7.3.3. Single Data Rate Output Register
- 6.1.7.3.4. Full-Rate or Half-Rate DDIO Output Register
- 6.1.7.4. Timing Closure Guidelines
- 6.1.8.1. GPIO Intel® FPGA IP Synthesizable Intel® Quartus® Prime Design Example
- 6.1.8.2. GPIO Intel® FPGA IP Simulation Design Example
- 6.2.1. Release Information
- 6.2.2.1. Intel® FPGA IP Generation Output
- 6.2.3. OCT Intel® FPGA IP Parameter Settings
- 6.2.4. OCT Intel® FPGA IP Signals
- 6.2.5. QSF Assignments
- 6.2.6. OCT Intel® FPGA IP Architecture
- 6.2.7.1. Generating the Intel® Quartus® Prime Design Example
- 7.1. Programmable Pre-Emphasis
- 7.2. Programmable De-Emphasis
- 7.3. Programmable Differential Output Voltage
3.3.2. I/O Assignments with the Intel® Quartus® Prime Assignment Editor

Give Feedback
Did you find the information on this page useful?
Characters remaining:
Feedback Message
- Online Degree Explore Bachelor’s & Master’s degrees
- MasterTrack™ Earn credit towards a Master’s degree
- University Certificates Advance your career with graduate-level learning
- Top Courses
- Join for Free
6. Pin Assignments: Making them Spot On!

4.6 (1,068 ratings)
69K Students Enrolled
Course 1 of 4 in the FPGA Design for Embedded Systems Specialization
This Course
Video Transcript
This course can also be taken for academic credit as ECEA 5360, part of CU Boulder’s Master of Science in Electrical Engineering degree. Programmable Logic has become more and more common as a core technology used to build electronic systems. By integrating soft-core or hardcore processors, these devices have become complete systems on a chip, steadily displacing general purpose processors and ASICs. In particular, high performance systems are now almost always implemented with FPGAs. This course will give you the foundation for FPGA design in Embedded Systems along with practical design skills. You will learn what an FPGA is and how this technology was developed, how to select the best FPGA architecture for a given application, how to use state of the art software tools for FPGA development, and solve critical digital design problems using FPGAs. You use FPGA development tools to complete several example designs, including a custom processor. If you are thinking of a career in Electronics Design or an engineer looking at a career change, this is a great course to enhance your career opportunities. Hardware Requirements: You must have access to computer resources to run the development tools, a PC running either Windows 7, 8, or 10 or a recent Linux OS which must be RHEL 6.5 or CentOS Linux 6.5 or later. Either Linux OS could be run as a virtual machine under Windows 8 or 10. The tools do not run on Apple Mac computers. Whatever the OS, the computer must have at least 8 GB of RAM. Most new laptops will have this, or it may be possible to upgrade the memory.
Skills You'll Learn
Primality Test, Verilog, Digital Design, Static Timing Analysis
- 5 stars 71.91%
- 4 stars 20.50%
- 3 stars 4.68%
- 2 stars 1.49%
- 1 star 1.40%
Nov 5, 2020
This course is very basic level and I encourage all the electronics students must take this course. Thank you Timothy Scherr Sir, he explained all the concepts with detailed explanation.
Nov 9, 2020
This is a very nice course that broadened my knowladge. I will be happy to continue next courses. Each video has need to be watched several times, there are a lot of useful information.
From the lesson
Programmable logic design using schematic entry design tools
In module 4 you will extend and enhance your design from module 2, completing the design by adding IP blocks, implementing pin assignments and creating a programming file for the FPGA. One outcome will be improved design productivity, by use of design techniques like pipelining, and by the use of system design tools like Qsys, the system design tool in Quartus Prime. You will complete a Qsys system design by creating a NIOS II softcore processor design, which quickly gives you the powerful ability to customize a processor to meet your specific needs.

Timothy Scherr
Senior Instructor and Professor of Engineering Practice
Explore our Catalog
Join for free and get personalized recommendations, updates and offers., coursera footer, start or advance your career.
- Google Data Analyst
- Google Digital Marketing & E-commerce Professional Certificate
- Google IT Automation with Python Professional Certificate
- Google IT Support
- Google Project Management
- Google UX Design
- Preparing for Google Cloud Certification: Cloud Architect
- IBM Cybersecurity Analyst
- IBM Data Analyst
- IBM Data Engineering
- IBM Data Science
- IBM Full Stack Cloud Developer
- IBM Machine Learning
- Intuit Bookkeeping
- Meta Front-End Developer
- DeepLearning.AI TensorFlow Developer Professional Certificate
- SAS Programmer Professional Certificate
- Launch your career
- Prepare for a certification
- Advance your career
- How to Identify Python Syntax Errors
- How to Catch Python Exceptions
- See all Programming Tutorials
Popular Courses and Certifications
- Free Courses
- Artificial Intelligence Courses
- Blockchain Courses
- Computer Science Courses
- Cursos Gratis
- Cybersecurity Courses
- Data Analysis Courses
- Data Science Courses
- English Speaking Courses
- Full Stack Web Development Courses
- Google Courses
- Human Resources Courses
- Learning English Courses
- Microsoft Excel Courses
- Product Management Courses
- Project Management Courses
- Python Courses
- SQL Courses
- Agile Certifications
- CAPM Certification
- CompTIA A+ Certification
- Data Analytics Certifications
- Scrum Master Certifications
- See all courses
Popular collections and articles
- Free online courses you can finish in a day
- Popular Free Courses
- Business Jobs
- Cybersecurity Jobs
- Entry-Level IT Jobs
- Data Analyst Interview Questions
- Data Analytics Projects
- How to Become a Data Analyst
- How to Become a Project Manager
- Project Manager Interview Questions
- Python Programming Skills
- Strength and Weakness in Interview
- What Does a Data Analyst Do
- What Does a Software Engineer Do
- What Is a Data Engineer
- What Is a Data Scientist
- What Is a Product Designer
- What Is a Scrum Master
- What Is a UX Researcher
- How to Get a PMP Certification
- PMI Certifications
- Popular Cybersecurity Certifications
- Popular SQL Certifications
- Read all Coursera Articles
Earn a degree or certificate online
- Google Professional Certificates
- Professional Certificates
- See all certificates
- Bachelor's Degrees
- Master's Degrees
- Computer Science Degrees
- Data Science Degrees
- MBA & Business Degrees
- Data Analytics Degrees
- Public Health Degrees
- Social Sciences Degrees
- Management Degrees
- BA vs BS Degree
- What is a Bachelor's Degree?
- 11 Good Study Habits to Develop
- How to Write a Letter of Recommendation
- 10 In-Demand Jobs You Can Get with a Business Degree
- Is a Master's in Computer Science Worth it?
- See all degree programs
- Coursera India
- Coursera UK
- Coursera Mexico
- What We Offer
- Coursera Plus
- MasterTrack® Certificates
- For Enterprise
- For Government
- Become a Partner
- Coronavirus Response
- Beta Testers
- Translators
- Teaching Center
- Accessibility
- Modern Slavery Statement

Stack Exchange Network
Stack Exchange network consists of 181 Q&A communities including Stack Overflow , the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It only takes a minute to sign up.
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Quartus II 64 bit assignment editor is causing strange error

I found this error not only from my circuit also various student's circuit.

Quartus just combine those names with ;. Is there any way that solve this error?
- \$\begingroup\$ Don't use names that differ only in the number at the end. Such names are treated by some tools as signals within a bus, and that appears to be what is happening here. Try using letters instead: a , b , c , etc. for inputs; x , y , etc. for outputs. Better still, use names that actually document the function of each signal. \$\endgroup\$ – Dave Tweed Nov 10, 2022 at 12:02

Know someone who can answer? Share a link to this question via email , Twitter , or Facebook .
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 , privacy policy and cookie policy
Browse other questions tagged quartus or ask your own question .
- The Overflow Blog
- Five Stack Exchange sites turned ten years old this quarter!
- “Move fast and break things” doesn’t apply to other people’s savings (Ep. 544)
- Featured on Meta
- We've added a "Necessary cookies only" option to the cookie consent popup
Hot Network Questions
- Heating resistor - low current, high temperature
- 21 hr layover in ORY airport. Bad idea?
- Are there any medieval manuals relating to castle building?
- How to transport a knife that falls under the Weapons Act
- Does Hooke's Law apply to all springs?
- Gas furnace takes like 2-5 minutes from ignition to blower start. flame also burning yellow/orange
- Can I bring spices, nuts, or dates to New Zealand if they're not labeled commercially?
- What would be the advantage of launching an UN-led inquiry over the Nord Stream sabotage?
- How can I run conduit to boxes in the ceiling and keep the covers accessible?
- Distrust versus mistrust
- Are condensed sets (locally) cartesian closed?
- Concrete base for parcel box
- Why does Jesus change the speech from who is the greatest to who is the first?
- Would Fey Ancestry affect Cutting Words?
- Can there be a repulsion between an electron beam and a proton beam depending on the beam's velocities?
- Is it bad that your characters don't have distinct voices or mannerisms?
- A Swiss watch company seized my watch, saying it was stolen. I bought it 10 years ago. Is that legal?
- This Structured Product Seems Too Good
- Are demand and time deposit accounts really loans _to_ the bank?
- Question about acceleration
- Kolmogorov-Smirnov instability depending on whether values are small or big
- How to print hardware models for humans
- Options for "Cancel this operation?" are "Cancel" and "Yes"; what would be better wording for customers in a hurry?
- Working directly on DateObjects
Your privacy
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy .
Pin Planner vs Assignments Editor

I just compiled a design using QUARTUS II version 13.0.1 and as expected PIN PLANNER automatically did choose pins for it. After that I opened the ASSIGNMENTS EDITOR and did not find any of the pins assignments made by the PIN PLANNER.
Is this the expected behavior? When a pin assignment should be made on the ASSIGNMENTS EDITOR vs the PIN PLANNER?

There's an option in the Pin Planner Edit menu to "Back Annotate" your fitter-assigned pins. This will write the actual assignment to your Quartus setting file (.qsf) and then it should show up in the Assignment editor (which really is a graphical parser for your qsf file). Good practice is to close the Planner as well to make sure it wrote in the assignments.
In general, I use the Pin Planner to pick pin locations, IO voltage and slew rates and the Assignment Editor for everything else.
Thanks a lot! The "Back Annotate" works exactly as you mentioned!
Normally I don't like the tool to automatically choose pins for me because it will probably cause a major headache to the layout guy. Just sayin....
About Community

- Search forums
Welcome to EDAboard.com
Welcome to our site edaboard.com is an international electronics discussion forum focused on eda software, circuits, schematics, books, theory, papers, asic, pld, 8051, dsp, network, rf, analog design, pcb, service manuals... and a whole lot more to participate you need to register. registration is free. click here to register now..
- Digital Design and Embedded Programming
- PLD, SPLD, GAL, CPLD, FPGA Design
[SOLVED] quartus pin assignments problem
- Thread starter dipin
- Start date Nov 10, 2016
- Nov 10, 2016
Full Member level 4

Super Moderator
Are you sure the pins are named PIN_ A21 and not just A21? I don't have Quartus installed anywhere so I can't check.
hamidmoallemi
Full member level 2.
are you sure that you select the device correctly ? "assignment > device " if you've done anything correct in pin planner list of your inputs and outputs will be displayed and you can assign a pin for each from combo box
ads-ee said: Are you sure the pins are named PIN_ A21 and not just A21? I don't have Quartus installed anywhere so I can't check. Click to expand...

hamidmoallemi said: are you sure that you select the device correctly ? "assignment > device " if you've done anything correct in pin planner list of your inputs and outputs will be displayed and you can assign a pin for each from combo box Click to expand...

Reviewing Cyclone V manuals might help. A21 is a dedicated SoC resource, it can't be used as FPGA fabric I/O. For the same reason, the pin isn't offered in the Pin Planner selection when assigning I/O signals.
FvM said: Reviewing Cyclone V manuals might help. A21 is a dedicated SoC resource, it can't be used as FPGA fabric I/O. For the same reason, the pin isn't offered in the Pin Planner selection when assigning I/O signals. Click to expand...
You didn't tell what you want to achieve, but apparently the development board design expects that the I2C is controlled by ARM processor.

Use assignment editor rather than pin planner, or check the .qsf file to see if there is another variable handling these pins. You are perhaps using as template a design not 'empty', so something is likely already assigned to those pins as they said above.
FvM said: You didn't tell what you want to achieve, but apparently the development board design expects that the I2C is controlled by ARM processor. Click to expand...
Hi, i wanted to connect a dac daughter board to de0 nano soc through LTC connector using i2c interface. after that need to send a 32 bit data(as specified in 2607 manual) to dac and read the voltage on output.i am using LTC 2607 as daughter board. thanks and regards Click to expand...
- Nov 11, 2016
FvM said: I'm not sure if you understand the SoC FPGA concept. The Hard Processor System (HPS) has a number of dedicated I/O pins that can't be directly accessed by the programmable FPGA logic. A21 is one of it. It can be only used as I2C pin by the hardware I2C controller in the ARM processor and respective C code. The pin could be also configure as ARM GPIO, but that doesn't help for your intention to address the pin from FPGA logic. Click to expand...
if it not possible to access the pins, then how can i do it. Click to expand...
Similar threads
- Started by barnea10
- Dec 28, 2022
- Started by kvn0smnsn
- Nov 22, 2022
- Started by hanoof190
- Dec 31, 2022
- Replies: 15

- Started by ILIA KALISTRU
- Oct 8, 2022
- Started by BojackHorseman
- Jan 3, 2023
- Replies: 18
Part and Inventory Search
Welcome to edaboard.com.
- This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register. By continuing to use this site, you are consenting to our use of cookies. Accept Learn more…

IMAGES
VIDEO
COMMENTS
The Intel® Quartus® Prime Assignment Editor (Assignments > Assignment Editor) allows you to add device and placement constraints to a design. The Assignment
You can assign all instance-specific settings and constraints through the Intel® Quartus® Prime Assignment Editor. You can filter assignments by node name
How to assign your ports to the correct pins and program to your board.▻ http://seanstappas.me/▻ https://github.com/seanstappas.
To make the process of entering these assignments easier, Altera has developed an easy and intuitive, spreadsheet-like interface called the Assignment Editor.
First, using Quartus GUI tools, either the Pin planner or the Assignment Editor. Second, by importing from an sdc file or an Excel
Don't use names that differ only in the number at the end. Such names are treated by some tools as signals within a bus, and that appears to be
The Assignment Editor is the interface for creating and editing assignments in the Quartus® II software. Assignments are logic functions you
I just compiled a design using QUARTUS II version 13.0.1 and as expected PIN PLANNER automatically did choose pins for it.
With a project opened in Quartus importing pin assignments is very simple. Navigate to the toolbar of the Quartus software and locate the
Assignment Editor とは、あるプロジェクトにおけるユーザが設計した回路のピンやエンティティに対して、特定の設. 定や制約を設けるための Quartus Prime 開発
hi, i am using quartus to connect a DAC daughter board to de0 nano ... Use assignment editor rather than pin planner, or check the .qsf file