Giter Club home page Giter Club logo

kolibri's Introduction

Kolibri FPGA Dongle

Kolibri is a USB FPGA dongle designed by Lone Dynamics Corporation.

Kolibri FPGA Dongle

This repo contains schematics, example firmware, gateware and documentation.

Find more information on the Kolibri product page.

Blinky

Building the blinky example requires Yosys, nextpnr-ice40 and IceStorm.

Assuming they are installed, you can simply type make to build the gateware, which will be written to output/blinky.bin. You can then connect the device to your computer and use the latest version of ldprog to write the gateware to the device.

Programming

The RP2040 firmware, FPGA SRAM and flash can be programmed over the USB connector.

Configure the FPGA SRAM:

$ ldprog -Ks blinky.bin

Program the flash:

$ ldprog -Kf blinky.bin

Firmware

Kolibri ships with RP2040 firmware based on the Müsli firmware which allows it to communicate with ldprog. The firmware also provides a USB CDC bridge to a UART on the FPGA (default: 115200 8N1).

The firmware is responsible for initializing the system, configuring and outputting the system clock, and either configuring the FPGA or telling the FPGA to configure itself from flash.

The system clock (CLK_RP) is 48MHz by default.

The firmware can be updated by holding down the BOOT button, connecting the device to your computer, and then dragging and dropping a new UF2 file to the device filesystem.

The firmware can be built from source or you can use the latest kolibri.uf2 binary from the firmware directory.

Default RP2040 to FPGA IO mapping

Signal RP2040 FPGA
RP_GPIO0 UART0 TX UART RX
RP_GPIO1 UART0 RX UART TX
RP_GPIO2 UART0 CTS UART RTS
RP_GPIO3 UART0 RTS UART CTS
RP_GPIO4 SPI0 RX SPI TX
RP_GPIO5 SPI0 CS SPI CS
RP_GPIO6 SPI0 SCK SPI SCK
RP_GPIO7 SPI0 TX SPI RX

Note: SPI isn't currently used.

SOC

Zucker is an experimental RISC-V SOC that supports Kolibri.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.