Confluence System Design Language 0.10.4 review

by on

Confluence is a language for synchronous reactive system design

License: GPL (GNU General Public License)
File size: 0K
Developer: Tom Hawkins
0 stars award from

Confluence is a language for synchronous reactive system design. A Confluence program can generate digital logic for an FPGA or ASIC platform, or C code for hard real-time software.

Confluence combines the component-based methodologies of Verilog and VHDL with the expressiveness of higher order functional programming.

In comparison to Verilog, VHDL, and C, systems designed in Confluence result in 2X to 10X code reduction, making the source easier to manage and reuse. And because Confluence relies on a correct-by-construction compiler, bugs are reduced – some are prevented altogether – thus reducing the overall verification effort.

Here are some key features of "Confluence System Design Language":
Intuitive, Easy to Learn Syntax: Productive on the first day.
Express More in Far Less: Reduce source code by 3-10 times.
Synchronous RTL: Still the best abstraction level for serious hardware.
Implicit Parallelism, Hierarchy, and Dataflow: Feels like HDL.
Implicit Synchronization: Auto-connect all clocks, resets, and enables.
Guarantees Clean RTL: Prevents common errors and bad design practices.
Recursion and Higher-Order Data-Types: Enter new dimensions of reuse.
Variable Unification: A higher-order connector.
Lexical Scoping: Clean namespace management.
Referential Transparency: Ensures scalable design and verification.
Integrated Module System: Design in the large (multi-source files).
Generates FNF, which in turn generates:
- Verilog
- C


1. Extract the installation:

$ tar -xzf confluence-0.10.0.tar.gz

2. Set the CF_LIB and CF_ENV environment variables (add the following lines to .bashrc or .bash_profile):

export CF_LIB=/lib # if binary distribution
export CF_LIB=/lib/confluence # if installing from source
export CF_ENV=$CF_LIB/

3. Install OCaml (

4. Compile and install the tools. Set the PREFIX location:

$ make PREFIX=/usr install

5. To compile and install the FNF Icarus code generator, see src/ivl/Makefile.

Confluence System Design Language 0.10.4 keywords