FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
4953 Discussions

Cyclone V SoC FPGA development kit GPIOs

Honored Contributor I


I have to write GPIO driver for cyclone V soc FPGA development kit. I cannot find any information about where the HPS GPIOs' are located on board and which pin is connected to which register bit etc. FPGA I/O are visible on the board which are LCD, switches, LEDs and push buttons but again I don't know how to access them. I have read all the documentation I can find and searched all forums but unfortunately it didn't help. User manuals for other boards like Atlas-SoC kit and SoCkit development kit provide complete of information about GPIOs whereas cyclone V soc FPGA development kit reference manual only gives names of the FPGA GPIOs and nothing else. 

Kindly reply to my post. I am stuck because of this issue 


0 Kudos
2 Replies
Honored Contributor I

Hello Amna Tarheem, 

With your board a resource CD is supplied. 

You can download this CD aslo from the terrasic website. 

On the CD there is a tool called system builder. 

I downloaded the CD to look at it and found in in the following directory; 


The systembuilder is used to generate a project framework automatically with the Pin assignments you need. 

When you start Systembuilder you can select the I/O devices you want to include in your project. 

Just check the boxes of the i/o's you want and press generate. 

Then you can open the generated project framework in quartus. (open the qpf file) 

Once you have opened this file you can access all I/O's for the FPGA by adding them as an i/o parameter to your main VHDL/Verilog file in your project. 

You can see details of the pin/io assignments in pin planner in quartus (menu: assgiments / pin planner) 

There you see in column "node name" the name you need to use in your project.  


library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity ent_main is port( -- reset button: reset_n : in std_logic; -- leds on board: led: out std_logic_vector(3 downto 0); 




Best Regards, 


Hi, Johi

Just one more comment on what you said. Are you able to add HPS with the help of system builder. I have system builder V1.0.0 but in that version you are not able to select HPS. Will the pin assignments remain the same if I change the version number of system builder because V1.0.0 corresponds to revision C of sockit board but the version that you are using corresponds to revision F of sockit board,