Nios® II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Announcements
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.
12435 Discussions

Looking for HPS to FPGA custom component integrations guideline using Qsys

Altera_Forum
Honored Contributor II
2,033 Views

I am looking for HPS to FPGA custom component integrations guideline using Qsys. I am new to SoC FPGA programming. I still could not found a material or tutorial for HPS to custom VHDL or Verilog component integration. I need to get to know what are the connections that I should make and how to/ where to declare them in C code on ARM processor and the entity of the FPGA custom designed component. Can any body post some links. 

 

I have read following tutorials. 

Avalon Interface Specifications pdf 

ARM_A9_intro_intelfpga pdf 

Intel_FPGA_Monitor_Program_ARM pdf 

making qsys component pdf 

Using_GIC - ARM HPS pdf 

External_Bus_to_Avalon_Bridge -nios II pdf 

Avalon_to_External_Bus_Bridge nios II pdf 

DE0-Nano-SoC_Computer_ARM pdf
0 Kudos
9 Replies
Altera_Forum
Honored Contributor II
137 Views

I am also looking for interfacing custom component to HPS. Did you manage to find out the solutions? If yes, I request you to provide the links for the documents. 

 

Thank you.
Altera_Forum
Honored Contributor II
137 Views

The custom component is quite easy. Did you try to create a custom component and send/receive data with it using NIOS? It should be similar but with small modifications.

Altera_Forum
Honored Contributor II
137 Views

Thank you for your reply. I have not tried using NIOS. But I have seen some documents describing the same. Could you please share a document which gives detailed step by step instruction? I have gone through the tutorials on Altera and Rocketboards. These tutorials/workshops use ready made templates. These do not explain every step. I am looking for a document/tutorial/link which gives step by step for every setting. 

Thank you. 

Regards
Altera_Forum
Honored Contributor II
136 Views

You should try this 

ftp://ftp.altera.com/up/pub/altera_material/15.1/tutorials/making_qsys_components.pdf 

 

I also suggest you start with nios (using eclpise) to communicate with your new custom component.
Altera_Forum
Honored Contributor II
137 Views

Thank you for sharing the document. I have already used that tutorial. In that tutorial Avalon memory map is used. In my system I am using ARM processor instead of NIOS. I am not sure whether I can interface my custom peripheral using Avalon memory map in the case ARM. I have come across posts saying interconnect bridges can solve this. But didn't find a document on that.

Altera_Forum
Honored Contributor II
137 Views

 

--- Quote Start ---  

Thank you for sharing the document. I have already used that tutorial. In that tutorial Avalon memory map is used. In my system I am using ARM processor instead of NIOS. I am not sure whether I can interface my custom peripheral using Avalon memory map in the case ARM. I have come across posts saying interconnect bridges can solve this. But didn't find a document on that. 

--- Quote End ---  

 

 

Yes the QSYS will connect the peripherals correctly, both AXI and Avalon. I already tried it and it works. 

On ARM C coding, you will need a pointer that targets the address of that custom peripheral (with lightweight offset. Check the tutorials). 

Did you try to use the ARM with gpio or any pre-built peripheral from the QSYS tool?
Altera_Forum
Honored Contributor II
136 Views

Thanks for your reply! 

I am going through training courses provided at Altera website (https://www.altera.com/support/training/catalog.html?coursetype=online&language=english&keywords=arm). 

Hopefully these courses contain information about HPS system creation and using it in DS-5 tool.  

 

Yet I am not successful in using ARM system with a peripheral. While saying about C coding and pointer, you referred to check tutorials. Could you please let me know their location?
Altera_Forum
Honored Contributor II
137 Views

Check the following tutorial 

https://www.altera.com/support/support-resources/design-examples/soc/fpga-to-hps-bridges-design-exam... 

and the following page 

https://www.altera.com/support/support-resources/design-examples.html 

 

It was not easy for me to start using the ARM HPS. I spent hours trying to understand how to program it and the tutorials which I gave you its links were not very good but may help you. They are not really tutorials but example projects with the codes. 

But I already have experience with NIOS which help a lot start using the HPS. 

I also have better experience using Xilinx Zynq. This also helped me.
Altera_Forum
Honored Contributor II
137 Views

Thank you sir for the tutorial and link. I have experience in dealing with Xilinx Zynq and other boards. Use of Arria V SoC kit is my first encounter with Altera devices. I feel my inexperience with Altera devices and the Altera SoC design flow, which is altogether different from the flow I followed for Xilinx devices, are complicating my learning.  

I have been through many tutorials, videos and links of Altera SoC designs. Altera has compiled many good examples and projects at Altera training and Rocketboards websites. Personally for a beginner like me these are advanced in nature.  

I will follow the material you have provided and will share my experience.
Reply