Weekly Progess of BeagleWire Software Project

  1. BeagleWire Software Project Proposal
  2. BeagleWire Docs
  3. BeagleWire Repo|

My Daily Updates can be found here

1 Like

Week 1 (7 June - 14 June)

Week 2 (14 June - 21 June)

  • Completed a getting started blog for beaglewire with all the steps Getting BBB Ready for BeagleWire

  • Build the LKM module on the beaglewire and tried flashing the fpga via Kernel Space

  • Closed the following issues on the beaglewire repo

  • #20

  • #19

  • #13

  • #2

Week 3 (21 June - 28 June)

  • Created a List on BeagleWire Repo: Task/issue List

  • Studied GPMC protocol and figuring out timing diagrams

  • Explored the possibility of GPMC to Wishbone conversion: GPMC to Wishbone / Avalon Maste

  • Wrote a GPMC to Wishbone Wrapper which passed initial testing: gpmc_to_wishbone

  • PR merged to the Master branch of BeagleWire: #2


Updated the LKM module with the changes

README added for Examples

Makefile improved

  • Solved issue #15

Week 4 (28 June - 5 July)

  • Created a wiki on BeagleWire Repo: wiki

  • Added Docs for individual examples: Docs

  • Made changes in the gpmc to wishbone wrapper

  • Wrote testbench for the gpmc to wishbone wrapper, also tested both write and read conditions.

  • Waveforms of the simulation read and write tests:

image text

  • Tested GPMC to Wishbone Wrapper in the Hardware with arm blinks example.

  • Createad Led Controller with wishbone bus for arm blink

Verilog Code: led_wb.v

Week 5 (5 July - 16 July)

  • Made changes in the gpmc to wishbone wrapper and arm blink wishbone example after mentor’s review.

  • Detailed Changes in PR thread: https://github.com/BeagleWire/BeagleWire/pull/3

  • Closed the issue #12

  • Did Random memory read tests in the gpmc to wishbone wrapper

  • Working on the Wishbone intercon with this reference

  • Prepared two PMODs each having a bar graph LED. In wishbone intercon test each pmod will act as wishbone slave.

Bar Graph with Beaglewire video demo

  • Created platform for beaglewire in litex boards.

beaglewire.py

Week 6 (17 July - 24 July)

  • Now we can also flash beaglewire with spidev.
  • With the help of Michael we got the litex core running on the FPGA for interfacing the SDRAM IP with beaglewire.
  • Litexcore consist of Serv microcontroller + Litedram

unknown)

On-going blockers:
• N/A

Week 7 (25 July - 1 Aug)

  • Closed Following Issues:

  • Added Helper scripts for dtc, spi flash.

  • Explored way to tristate SPI pins without adding overlay for it.

  • Adding Litex with gpmc to wishbone wrapper.

On-going blockers:

  • In beaglewire we had three dtc files as of now:
  1. overlay with spi enabled.
  2. overlay with spi tristated (0x37) (we wanted to tristate spi so that it doesn’t interfer with fpga)
  3. overlay with ice40 on spi.
  • I wanted to change the pin mode of the pins in run time to avoid changing overlay and reboot process.
  • config-pin utility requires the enable universal overlay which causes lots of pinmux issue with gpmc that we are using in beaglewire. So wanted some other way to change pinmode.

Week 8 (2 Aug - 9 Aug )

  • Got the Wishbone tool working on litex, using which we can access the litex core memory from the beaglebone
  • Demo: Litex - BeagleWire - YouTube
  • Wrote a top verilog file for GPMC access of litex core.
  • Interfaced VGA with the beaglewire with the help of PMOD,
  • Demo: https://i.imgur.com/HaOZ0JX.mp4

On Going Blockers:

  • pinmux issue of dts with gpmc pin modes

Week 9 (10 Aug - 17 Aug )

On Going Blockers:

  • GPMC - litex debugging