Module Hardcaml.Hierarchy
Allow a hardcaml circuit to be defined as a hierarchy of modules, rather than just a single flat module.
module With_interface : functor (I : Interface.S) -> functor (O : Interface.S) -> sig ... end
module In_scope : functor (I : Interface.S) -> functor (O : Interface.S) -> sig ... end
Support for hierarchically structured Hardcaml designs. We extend the standard
Interface.Create_fn
pattern so that the creation function also takes aScope.t
argument. This allows scoping of signal naming and automatic recording of the design in aCircuit_database.t
. Top level options allow construction of a flat or modular design as required for simulation or syntheis.