Home > News & Updates > Electronics News Updates > DarkRISC-V Targets low-cost Xilinx Spartan-6 Family of FPGAs

DarkRISC-V Targets low-cost Xilinx Spartan-6 Family of FPGAs

Summary of DarkRISC-V Targets low-cost Xilinx Spartan-6 Family of FPGAs


DarkRISC-V is an experimental, open-source RISC-V processor designed by Marcelo Samsoniuk for low-cost Xilinx Spartan-6 FPGAs. Released under a BSD license, it features a simplified two-stage pipeline achieving nearly one clock per instruction and supports the RV32I set. The compact Verilog implementation runs at 75MHz on a Spartan-6 LX9 using approximately 1000 LUTs and is compatible with GCC 9.0.0 without patches.

Parts used in the DarkRISC-V:

  • Xilinx Spartan-6 family of FPGAs
  • Spartan-6 lx9 FPGA
  • Instruction memory
  • Cache controller (optional integration)
  • GCC 9.0.0 compiler

Developed in the dark hours of the night, between 2 and 8 o’clock in the morning of August 19th by Marcelo Samsoniuk, the DarkRISC-V stack is an experimental open source implementation of the RISC-V standard targeting the low-cost Xilinx Spartan-6 family of FPGAs. Following a week of debugging, Samsoniuk has released the implementation to GitHub under a BSD license.

DarkRISC-V Targets low-cost Xilinx Spartan-6 Family of FPGAs

Marcelo Samsoniuk’s says:

The general concept is based in my other early RISC processors and composed by a simplified two stage pipeline where a instruction is fetch from a instruction memory in the first clock and then decoded/executed in the second clock. The pipeline is overlapped without interlocks, in a way the DarkRISC-V can reach the performance of one clock per instruction most of time (the exception is after a branch, where the pipeline is flushed and one clock is lost). As addition, the code is very compact, with around two hundred lines of obfuscated but beautiful Verilog code.

Although the code is small and crude when compared with other RISC-V implementations, the DarkRISC-V has lots of impressive features:

  1. Implements most of the RISC-V RV32I instruction set.
  2. Works up to 75MHz and sustain 1 clock per instruction most of the time
  3. Flexible Harvard architecture (easy to integrate a cache controller)
  4. Works fine in a real spartan-6 lx9
  5. Works fine with gcc 9.0.0 for RISC-V (no patches required!)
  6. Uses only around 1000 LUTs (spartan-6, core only)
  7. It has BSD license.

With the first GAP8 processor samples by Open-Silicon shipping, we’re almost approaching a period where we have multiple vendors producing open silicon built around the RISC-V core, and when that happens we’ll be in a very different place. At that point, we’re in a real open hardware environment because we no longer have vendor lock in, and it’s going to be interesting to see whether that makes a difference to the availability of boards based on RISC-V.

Read more: DarkRISC-V Targets low-cost Xilinx Spartan-6 Family of FPGAs

Quick Solutions to Questions related to DarkRISC-V:

  • What is the DarkRISC-V stack?
    It is an experimental open source implementation of the RISC-V standard targeting the low-cost Xilinx Spartan-6 family of FPGAs.
  • How fast does the DarkRISC-V processor work?
    It works up to 75MHz and sustains 1 clock per instruction most of the time.
  • Which instruction set does DarkRISC-V implement?
    It implements most of the RISC-V RV32I instruction set.
  • Can DarkRISC-V run without patching the compiler?
    Yes, it works fine with gcc 9.0.0 for RISC-V without any required patches.
  • How many LUTs does the core use on a Spartan-6?
    The core uses only around 1000 LUTs on a Spartan-6.
  • What type of architecture does DarkRISC-V utilize?
    It uses a flexible Harvard architecture that makes it easy to integrate a cache controller.
  • Under which license was the code released?
    The code was released to GitHub under a BSD license.
  • Who developed the DarkRISC-V stack?
    Marcelo Samsoniuk developed the stack between 2 and 8 o'clock in the morning of August 19th.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top