Hardcaml.Circuit_database
A database which holds a collection of circuits, indexed by a unique circuit name.
The database is used to map occurrences of instantiations within a Hardcaml circuit to an implementation. This can then be used to generate an RTL module hierarchy. Structurally identical circuits may be indentified and the implementation shared.
val sexp_of_t : t -> Sexplib0.Sexp.t
val create : unit -> t
Create an empty database.
Insert a circuit into the database and return a potentially modified circuit name, which should used when creating a Hardcaml instantiation. If share
is true and the database contains a structurally equal circuit then a reference to the existing circuit is returned. Otherwise, a new entry is created.
Find a circuit in the database, given its name.