danm v0.1.4 API Reference

Modules

Public API for Danm.

An assertion is a design entity with some input ports that combined to a one bit value and cannot be 1

A block box is a design entity from external, danm does not know the innard.

A bundle logic is a design entity with several combo logic expr combined.

A case logic is a design entity with a list of cases anf choices, output the choice when subject match the first case the laast could be nil, which will match everything

perform design check on a design

A choice logic is a design entity with full case one one input, picking output from 2^n of choices

A combo logic is a design entity with some input ports and one output, and the output is derived from input as a combinatorial logic expression

A condition logic is a design entity with a list of conditions anf choices, output the choices when first condition evaluate to true

A design entity protocol.

A finite state machine is a design entity with a flopped output that represent a state. The next state depend on the current state and various inputs The state transfer graph can be expressed as a following

Generate HTML documents

Provide helper functions to write html programatically into a chardata all functions in this module put more data in a chardata

Loading modules from the filesystem

A schematic is a design entity composed inside Danm.

A seq logic is a design entity with some input ports and one output, and the output is derived from input and itself in a sequential way

SimpleExpr parse and evaluate expression with integers.

A sink is a design entity with some input ports and not output

Generate Verilog file for downstream tools

WireExpr is expression with width, used in constructing hardware model.