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

Moving HPS UART to FPGA fabric in Cyclone V

BAbbott
Novice
1,554 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
1,528 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
1,543 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
1,538 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
1,529 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
1,478 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
1,407 Views

Hi BAbbott,

 

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

 

Thanks.

Regards,

Aik Eu

0 Kudos
BAbbott
Novice
1,401 Views

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

0 Kudos
aikeu
Employee
1,368 Views

Hi BAbbott,


Thanks for your feedback.

I will close this thread for now.


Thanks.

Regards,

Aik Eu


0 Kudos
Reply