Confluence System Design Language enables designing reactive systems through its language.
With Confluence, users can benefit from the combination of the component-based methodologies of Verilog and VHDL, along with the expressiveness of higher order functional programming. Additionally, Confluence's correct-by-construction compiler helps to reduce bugs, preventing some of them altogether, which in turn reduces the overall verification effort.
The language boasts several key features that make it an excellent choice for system design. It has an intuitive and easy-to-learn syntax that is productive from day one. Confluence allows users to express more in less code, enabling a reduction of source code by 3-10 times. It has synchronous RTL which is still considered the best abstraction level for serious hardware.
The language offers several other features that make it feel like HDL, including implicit parallelism, hierarchy, and dataflow, and implicit synchronization that auto-connects all clocks, resets, and enables. Furthermore, Confluence guarantees clean RTL, preventing common errors and bad design practices.
It has other advanced features that allow users to enter new dimensions of reuse, such as recursion and higher-order data types, and variable unification. With Confluence, users can also benefit from lexical scoping for clean namespace management and referential transparency, which ensures scalable design and verification.
Confluence has an integrated module system which enables design in the large (multi-source files). It generates FNF, which in turn generates Verilog, VHDL, C, JHDL, NuSMV, and FNF. The installation process is straightforward, with users required to extract the installation files and set environment variables. Users will also need to install OCaml and compile and install the tools. Confluence System Design Language is a game changer for software designers and developers, and it is worth considering for system design needs.
Version 0.10.4: N/A