Forum Discussion
17 Replies
- Altera_Forum
Honored Contributor
Hi, If I may interfere with the discussion... I'm using the DE0-Nano-SoC Kit, and would like to access both HPS CPS CAN1/2 peripherals. The convenient way looks like attaching my CAN PHY to the FPGA expansion pins. Therefore, I need to route the CAN TX/RX HPS pins to existing FPGA I/O. Can I choose which FPGA PIN with be used? Thank you 😊Ran
- Altera_Forum
Honored Contributor
Hi,
I try to route HPS CAN1 & CAN2 Peripheral pins over to FPGA I/O, since those are available at the connector. My question is mainly, whether it is possible to pick whatever I/O PIN I desire for the routed HPS CAN PINs (CANx_RX, CANx_TX)... Thanks! Ran - Altera_Forum
Honored Contributor
--- Quote Start --- Thanks Marcopoliptica. After hours of trying all these different multiplexing options I have got it working ;) I used to Pin Assignments window to identify the correct GPIO routing for the UART/USB external connector (PIN_B25 and PIN_C25). Both of these are NOT on the loan 61 and 62 but in fact 49 and 50! ... so I used the same LOANIO method and exported 49 and 50 which worked and the fitter assigned them to the desired pins. 61 and 62 would always (correctly) get fitted to PIN_B22 and PIN_G22 respectively, but of course the external connector is physically routed to the above pins. Thanks again for your help, I can now use the external UART/USB with my softcore processor ;) RE the voltage error, yes I later realised I just change them from '2.5 V (default)' to '3.3-V LVTTL' and it compiles. --- Quote End --- Hi, I know this thread was started long ago. I have same issue as discussed here and need your help with this. I am playing around with the de1 soc board, so I implemented a UART module and need to test it on the board. However, even after following your solution of loaning 49 and 50, I am unable to get it to work. I have LOAN_IO_OE[49] assigned to 1'b0 and LOAN_IO_OE[50] assigned to 1'b1. LOAN_IO_IN[49] and LOAN_IO_OUT[50] connected to RX and TX of the FPGA logic respectively. The TX light (of the UART) on the board does not blink when I execute the logic to transfer via UART. Not sure where the problem could be from. I hope you can help me with this. - Altera_Forum
Honored Contributor
acyril, did you find solution to this?
- Altera_Forum
Honored Contributor
Have you got the ARM processor up and running?
LoanIO only works if the processor is running because the system control registers must be configured by software running on the processor in order to allow the LoanIO interface to run. You'll need to generate a design which include the hard processor system with the require LoanIO parameters. From there you will need to generate a BSP and compile a preloader. Once you have the preloader up and running you'll need a simple bare metal program of an infinite loop resetting the watchdog (if enabled) to stop the processor crashing. The preloader will use the BSP information to set the system control registers to the required. The reason RX works is that the ports default to input which means you can get data in without the processor running. However for TX you need to get be able to set the TX pin to be an output which can only be done once the processor is running. - SanaGuezguez
New Contributor
Hello everyone,
I'm having an issue implementing an FPGA to HPS communication and vice versa. I'm using the MitySOM 5csx with a Cyclone V SoC. The purpose of the project is to setup the bridges between the HPS and FPGA in such a way that a program running on the HPS will send data to the FPGA which will process it and return a result. I've generated a QSYS design, composed by the HPS (with Cyclone V settings), two fifos, a clock bridge, a clock and an SDRAM.
When I run the simulation and synthesis and the TCL pin-assignment script generated by Qsys everything works fine. The issue comes when I try to compile the whole design, because I get an error message saying there are 375 IO input pads in the design, but only 331 IO input pad locations are available on the device. I don't know what I'm missing or doing wrong. Any suggestion is welcome