Welcome to the new site for BeagleBoard.org GSoC 2024 projects!

FPGA based projects#

RISC-V Based PRU on FPGA

A programmable real-time unit (PRU) is a fast (200-MHz, 32-bit) processor with single-cycle I/O access to a number of the pins and full access to the internal memory and peripherals on the AM3358 processor on BeagleBones (BeagleBone, BeagleBone Black, BeagleBone Green, etc.). They are designed to provide software-defined peripherals as part of the Programmable Real-time Unit Industrial Control SubSystem (PRU-ICSS) and are capable of implementing things like 25 pulse-width modulators, 4 soft UARTs, stepper motor drivers, and much more. Having these controllers integrated is really handy to avoid throwing in another device to control or interface to a new peripheral. The real power comes when you need high bandwidth between the main CPU and these controllers, such as in LEDscape (https://trmm.net/Category:LEDscape/#LEDscape).

It would be great to have a RISC-V based PRU running on FPGA which will be interfaced with BBB. Features of PRU like multiple PWM, Soft UARTs, ultra-low latency IO control can be bit-banged on the RV core. Existing cores like Vex, Neorv, serv can be explored for this application.

  • Goal: RISC-V Based PRU on FPGA

  • Hardware Skills: Verilog, Verification, FPGA

  • Software Skills: RISC-V ISA, assembly

  • Possible Mentors: Michael Welling, Omkar Bhilare, Kumar Abhishek

  • Expected Size of Project: 175 hrs

  • Rating: Medium

Beaglewire Updates

Beaglewire is an FPGA cape for the Beaglebone black that was developed to support a project for the 2017 season of GSoC. This first year of Beaglewire support was very intensive and there some issues were left to be resolved. The most notable known issue is with the SDRAM interface working sporadically. A contributor interested in Verilog, kernel coding and hardware would be an ideal candidate. Each of the subsystems (SPI, PWM, UART, SDRAM, etc) can be tested, corrected if necessary and improved if desired. Furthermore, it may be interesting to implement nMigen support for flexible python based gateware support as a stretch goal.

  • Goal: Improve the Gateware/Firmware support for the Beaglewire cape

  • Hardware Skills: Schematics, Verilog

  • Software Skills: Kernel coding

  • Possible Mentors: Michael Welling

  • Expected Size of Project: 350 hrs

  • Rating: Medium

  • Upstream Repository: