1 of 23

BeagleWire Software

Student : Omkar Bhilare

Mentors: Michael Welling

Stephen Arnold

2 of 23

HELLO!

2

Name : Omkar Bhilare

College : Third Year Electronics Undergraduate Student at VJTI, India

Hardware: FPGAs (Cyclone 2, Tang Primer, ICE40)

MCUs (ESP32/ESP8266, Arduino)

Software : Quartus Prime, Modelsim, Icarus Verilog, gtkwave, Autodesk

Eagle, Altium, Kicad, Proteus, Multisim, Logisim, Git, Linux

Interest : FPGA, ASICs, Digital VLSI, Electronics.

3 of 23

BeagleWire Cape

3

  • BeagleWire is a completely open source FPGA development board.
  • Unlike most other FPGA dev boards, the BeagleWire’s hardware, software, and FPGA toolchain are completely open source.
  • The BeagleWire is a Beaglebone compatible cape based on the Lattice iCE40HX FPGA

4 of 23

BeagleWire Cape

4

5 of 23

BeagleWire Features:

5

BeagleWire features:

  • FPGA: Lattice iCE40HX4K - TQFP 144 Package
  • GPMC port access from the BeagleBone
  • SPI programming port from the BeagleBone
  • 4 layer PCB optimized design to support maximum performance for high bandwidth applications
  • BeagleBoard optimized - compatible with BeagleBone Black, BeagleBone Black Wireless, element14 BeagleBone Black Industrial
  • does not require external tools (JTAG)
  • minimalistic architecture and very regular structure
  • energy saving device allows to work with small batteries
  • lower application costs
  • fully open-source toolchain

6 of 23

GSoC 2017 Project:

6

7 of 23

Improvements in BeagleWire Software

7

1

8 of 23

Issues related to SDRAM

8

Issues

on

BeagleWire �Software

Repo

9 of 23

LiteDRAM

Replacing SDRAM IP of BeagleWire to LiteDRAM

9

10 of 23

Why LiteDRAM for SDRAM Control

The Core produced by LiteDRAM is

1. Fully pipelined, high performance.

2. Configurable commands depth on bankmachines.

3. Auto-Precharge.

4. Periodic refresh/ZQ short calibration (up to 8 postponed refreshes).

(LiteDRAM is already used in commercial and open-source designs)

10

11 of 23

Testing and Improvement of Subsystem Like I2C, SPI, PWM, UART

11

2

12 of 23

Peripheral Supports on BeagleWire

12

13 of 23

Testing and Improvement of Subsystems:

  • I2C: There are two grove Connectors on BeagleWire for I2C, I will test the current Verilog Code of I2C in hardware, and will found out if further improvements can be done or not.
  • UART: The existing code of Uart will be tested in hardware, and few examples also will be added for UART.
  • PWM: New Example will be created for testing of PWM. Servo Code will serve the purpose of testing the PWM drivers.

13

14 of 23

PMOD Support &�Documentation

14

3

15 of 23

PMOD Support & Documentation

  • More PMODs will be interfaced with the BeagleWire.
  • Increase the Documentation and also add getting started guide for BeagleWire.
  • There are current Issues open on BeagleWire Repository, These will be solved during this project.

15

16 of 23

PMODs with BeagleWire:

16

VGA PMOD

Encoder PMOD

17 of 23

Breakout PMOD Board for PMODs

17

  • The standard template is as follows:

3.3V | GND | 3 | 2 | 1 | 0

3.3V | GND | 7 | 6 | 5 | 4

  • The pinout for BeagleWire PMOD:

4 | 5 | 6 | 7 | GND | 3.3V

0 | 1 | 2 | 3 | GND | 3.3V

  • So to use PMODs with BeagleWire One needs to connect the PMOD upside down or use some sort of Breakout Board

18 of 23

TIMELINE

18

19 of 23

TIMELINE

19

  • Demonstrating the use of SDRAM on BeagleWire, SPI, and UART
  • After the review from the mentor, finalizing and Documenting Everything done till now

First�Evaluation

Final�Evaluation

  • Demonstrating the use of PWM, I2C
  • Interface PMODs with BeagleWire
  • Solved all the Issues on the BeagleWire repo
  • Demo of the project

Community�Bonding

  • Setup the Beaglebone black and beaglewire setup
  • Study about the protocols and be familiar with the current beaglewire setup

20 of 23

Benefit

20

21 of 23

Benefits of BeagleWire

21

The completed project will provide the BeagleBoard.org community with easy to implement and powerful tools for the realization of projects based on Programmable Logic Device(FPGA), which will surely increase the number of applications based on it. The developed software will be easy and, at the same time, efficient tool for communication with FPGA. At this point, FPGA will be able to meet the requirements of even more advanced applications. The BeagleWire creates a powerful and versatile digital cape for users to create their imaginative digital designs”

22 of 23

Benefits of BeagleWire

22

  1. Robotics and automation - Adding a BeagleWire cape to BeagleBoard can significantly expand its capabilities to work on even more advanced projects. It gives users access to additional ports such as i2c, spi, pwm, gpio, etc.
  2. Logic devices prototyping - Many logic devices are tested with FPGA devices before production. For example, interface controllers in silicon are mapped in memory in the same way BeagleWire logic is.
  3. Data acquisition and signal processing.
  4. Mobile applications - Energy saving Lattice ICE40HX4k devices are easily powered with small batteries. Not only that, but BeagleWire is perfectly optimised and has only essential parts, which positively affects its energy consumption.
  5. Education - FPGA evaluation boards are rather expensive. BeagleWire, however, is a low cost solution ideal for beginners. Thanks to BeagleWire, users can learn the Verilog language, combinational and sequential circuits, Linux driver development, and more.

23 of 23

THANKS!

Any questions?

You can find me at

Twitter: @ombhilare999 & oabhilare_b19@el.vjti.ac.in

23