Programmable dataflow acceleration
without the hassle.

Unconstrained
Reduced network overhead allows more execution nodes on chip, and energy is carefully managed to ensure it contributes exclusively to solving your problem.

Open Source
Our tools are developed in the open so you can trust in their quality and longevity.

Just Works
No need for timing closure, no need for retiming, and no need for synthesis. Map any dataflow program for ASIC-like performance and power.


Haystack

Haystack is a high level circuit synthesis engine. It compiles Communicating Hardware Processes (CHP), a message passing control flow language similar to Golang, into Production Rules (PRS), which specify the digital logic that implements those Quasi-Delay Insensitive (QDI) processes. This is still under development, but can currently simulate and compile Handshaking Expansions (HSE) that have a complete state encoding.

Floret

Floret is an automated cell layout engine. This is still under development, but it currently produces layouts that are often good enough with minor modifications. While Floret is currently being tested against Skywater 130nm, new technologies can be defined with design rules specified in Python.

Broccoli-CLI

bcli is a docker container with a full development environment for self-timed circuits. It includes ACT, OpenROAD, Magic, KLayout, Floret, Haystack, Xyce, Gaw, and more.

Introduction to Self Timed Circuits

This course covers the fundamentals of self-timed circuits including timing assumptions and guarantees, failure modes, pipeline structures, data encodings, conditional logic, internal memory, and non-deterministic behavior, hardware description languages for different layers of abstraction, and two design methodologies. It is designed with a bottom up approach, starting with circuitry and working its way up through more abstract representations. Background experience with programming is required, and circuit design is helpful but optional. The course is offered for free with the goal of building local expertise and community in VLSI, Computer Architecture, and Self-Timed Circuits.

Broccoli was founded in 2021 to bring about a categorical improvement in compute performance. Autonomous systems require reconfigurable Digital Signal Processors (DSP) with order of magnitude improvements in throughput, power, latency, and capacity. Field Programmable Gate Arrays push timing and pipeline management challenges to the user, making them very difficult to use. With the added challenge of managing multiple clock domains, designs often have a low operating frequency and therefore throughput unless significant time and effort are taken to tune the design and its mapping. Broccoli is solving these challenges in hardware to dramatically simplify the compilation and mapping process, and allow designers to iterate on designs quickly while meeting their power and performance constraints.