Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21181 Discussions

Moving HPS UART to FPGA fabric in Cyclone V

BAbbott
Novice
3,016 Views

Hi,

 

I'm looking to move my console port (UART0) from where it is currently implemented to using FPGA pins to do so. Using the HPS IO set is straight forward but I'm not able to see any activity when using FPGA pins (and fabric). 

I've set UART0 to use FPGA pins (UART0 Mode). However, I'm still not seeing a console port when connecting to the device. Are there more steps that I'm missing? Do I need to regenerate the BSP to support this and what changes should I expect?

 

Thank you.

 

 

0 Kudos
1 Solution
BAbbott
Novice
2,990 Views

As an update - 

 

I've been able to confirm that in moving the UART and updating the pinmux config file, the UART0USEFPGA  flag has been set to 1. The console port (UART0) now outputs data to the PC terminal. However, I'm unable to send characters TO the console.

 

I've been able to verify that the terminal is sending information to the FPGA but nothing happens. I confirmed that the pin assignments themselves are correct for the FPGA. Could there be something I'm missing from a setup standpoint that allows me to move the console from the origianl HPS UART pins to FPGA pins instead?

 

Thanks.

View solution in original post

0 Kudos
7 Replies
sstrell
Honored Contributor III
3,005 Views

Any time you make changes to the HPS you have to regenerate the system, recompile the Quartus project, and recreate the bootloader/preloader.

0 Kudos
BAbbott
Novice
3,000 Views

Got it.

 

I was able to move the UART and updated a pinmux file to do so. However, I'm still running into issues where I'm unable to receive data, only transmit data FROM the Cylcone V. Any thoughts?

0 Kudos
BAbbott
Novice
2,991 Views

As an update - 

 

I've been able to confirm that in moving the UART and updating the pinmux config file, the UART0USEFPGA  flag has been set to 1. The console port (UART0) now outputs data to the PC terminal. However, I'm unable to send characters TO the console.

 

I've been able to verify that the terminal is sending information to the FPGA but nothing happens. I confirmed that the pin assignments themselves are correct for the FPGA. Could there be something I'm missing from a setup standpoint that allows me to move the console from the origianl HPS UART pins to FPGA pins instead?

 

Thanks.

0 Kudos
jozephka99
New Contributor II
2,940 Views

Hi,

I'm also working on routing UART to FPGA. I use hps ip and route the uart0 and uart1 to fpga. then I export the uart pins and  in fpga connect it's  rx/txto my uart core and other pins open or low or high as hps guideline said (https://www.intel.com/content/www/us/en/programmable/documentation/pde1458159073865.html#pde1458166924307). I didn't do anything with pin assignment. But as you said. I'm only receiving hps debug messages from one uart port and receiving nothing from other. Couldn't send to port either. Am I missing something in the connections? How can you connect the uart to fpga? My connections is the attachment. Thx for any help. (ps: I'm using Arria10 device but basics are the same I think) 

0 Kudos
aikeu
Employee
2,869 Views

Hi BAbbott,

 

Do your uart still having problem sending characters to the console?

 

Thanks.

Regards,

Aik Eu

0 Kudos
BAbbott
Novice
2,863 Views

My problem has been solved. Turns out the transmit issue was an issue with an external device.

0 Kudos
aikeu
Employee
2,830 Views

Hi BAbbott,


Thanks for your feedback.

I will close this thread for now.


Thanks.

Regards,

Aik Eu


0 Kudos
Reply