Basic functions for generating expressions and gates.
Many of these functions generate sized expressions so you have to be really
careful that you're using them in the proper way.
- Make a list of basic binary gate instances, e.g., AND, OR, XOR, NAND, NOR, or XNOR gates.
- Make a basic binary gate instance, e.g., an AND, OR, XOR, NAND, NOR, or XNOR gate.
- Make a list of unary (buf or not) gate instances.
- Safely create the bit-select expr[n].
- Make a unary (buf or not) gate instance.
- Safely creates expr[msb:lsb].
- Build a list of expressions, (expr[msb] ... expr[lsb]).
- Build a list of expressions, (expr[low] ... expr[high]).
- Build an arbitrary expression of some particular width.