FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
5915 Discussions

Cyclone V SoC FPGA development kit GPIOs

Honored Contributor II


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 II

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, 

0 Kudos

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,

0 Kudos