chili-chips-ba / openCologne

Spicing up the first and only EU FPGA chip with a flashy new board, loaded with a suite of engaging demos and examples. https://www.chili-chips.xyz/open-cologne
https://nlnet.nl/project/openCologne
BSD 3-Clause "New" or "Revised" License
40 stars 2 forks source link
colognechip design digital embedded fpga gatemate hls pcb risc-v rtl soc systemverilog

open-cologne

There is currently one and only one FPGA vendor in Europe -- CologneChip. Their GateMate device has a somewhat unique feature set for the 20K class, most notably the high-speed SerDes. It is also one of the rare families designed around 8-input MUX trees, vs. the mainstream microRAM-based LUTs. Given recent appearances of affordable boards, GateMate challenge at this moment (and also an opportunity), is to get hold and grow roots in the open hardware dev community.

We are firmly set to help it achieve that goal. How? By using the following, three-pronged approach:

We have organized this work into 3 game levels with 9 play milestones:

Level I – Warm Up

Play 1 - Form development team and get to know CologneChip GateMate silicon and dev tools, see our 0.doc folder. Procure Olimex boards and familiarize with hardware platform. Light up onboard LEDs with our very special blinky. It contains Verilog, VHDL and Amaranth versions, as well as an example of how to use CologneChip ILA for Olimex board. The Makefile and CCF in there are your essential Getting Started Guide and your golden reference to copy from for other projects.

Play 2 - Port to GateMate a selected subset of four simpler examples from the ULX3S-MISC portfolio. The goal is to enable support for a few standard PMODs and peripherals, mostly GPIO-based, including PSRAM/HyperRAM.

Play 3 - To complement the set of peripherals that GateMate can be tested with, as well as design additional PMOD extensions for it.

Level II - Bread and Butter

Play 4 - Port to GateMate four advanced ULX3S examples. Now free from the restrictions of supporting the PCB development, we shall chose these examples for their purely FPGA value. We may also modify them, create mutations and variants, looking to find a better fit for GateMate internal architecture.

Play 5 - Adapt TetriSaraj HW/SW project to GateMate. This is a serious SOC. On the hardware side, it includes a RISC-V microkontroller, Instruction, and Data RAM, Frame Buffer with Video Subsystem, and high-speed I/O for VGA. On the software side, it’s a bare-metal "free-standing" C that implements the logic of a Tetrisoid gate.

Play 6 - Design and manufacture ULX5M board.

Level III - Candy Cane

Play 7 - Develop an advanced example for CologneChip SerDes and its high-speed PLL.

Play 8 - Stress test the FPGA device and tools, such as to assess silicon Fmax and realistic utilization, injecting routing congestion and pushing the clock distribution network to its limits.

Play 9 - Port the barebones of BetrustedSOC to GateMate, namely its VexRiscv CPU and UART.

This is a stepping stone for our next CologneChip project, perhaps using one of their yet to be released 40K or 80K devices. For background, BetrustedSOC is hosted in a Spartan7 XC7S50 (50K LUT6 device), with 80% utilization (as of October 2022), implemented using proprietary Vivado 2019.2 toolchain, and also employing a 5K LUT4 Lattice UP5 FPGA for housekeeping tasks.

The full BetrustedSOC would indeed be a very fun thing to eventually do!

Beinvolved

We welcome everyone interested to contribute to this work. Please reach out to fpga@chili-chips.com, or join our GateMate Discord Channel.

Bonus Objectives (based on direct CologneChip input)

While we'll try to deliver on this special, direct CologneChip request, best would be to plan a dedicated follow on project for the detailed analysis, comparisons and everything else that will undoubtly pop-up in the course of this work.

Acknowledgements

We are grateful to:

logo_nlnet

NGI-Entrust-Logo

End of Document