Confluence System Design Language is a language for reactive system design.
Version: 0.10.4Confluence 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.
Operating System: Linux
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:
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
3. Install OCaml (http://caml.inria.fr/ocaml/distrib.html).
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.