The following table is a list of the currently supported blocks. All blocks are implemented as classes. We add the file where the block is implemented
| Block | Source | Type | Description |
|---|---|---|---|
| Add | logic/arithmetic | Combinational | Integer Add |
| And | logic/bitwise | Combinational | And with arbitrary number of inputs |
| And2 | logic/bitwise | Combinational | And with 2 inputs |
| AnyEqual | logic/relational | Combinational | Active when there is any equal value among the inputs |
| BinaryToBCD | logic/arithmetic | Combinational | Converts a binary number into BCD |
| Bit | logic/bitwise | Combinational | Obtain a specific bit from a wire |
| BitsLSBF | logic/bitwise | Combinational | Obtain the list of all bits from a wire in least significant bit first order |
| BitsMSBF | logic/bitwise | Combinational | Obtain the list of all bits from a wire in most significant bit first order |
| Buf | logic/bitwise | Combinational | Buffer (input=output) |
| ClockDivider | logic/clock | Sequential | Generates a clock with a lower frequency that is a fraction of the frequency of the current clock |
| Comparator | logic/relational | Combinational | Compares 2 inputs, detects gt, eq, lt |
| ConcatenateLSBF | logic/bitwise | Combinational | Concatenates wires in least significant bit first order |
| ConcatenateMSBF | logic/bitwise | Combinational | Concatenates wires in most significant bit first order |
| Constant | logic/bitwise | Combinational | Constant value |
| Counter | logic/arithmetic | Sequential | Counter with reset and enable |
| Decoder | logic/bitwise | Combinational | Decoder. It converts a (n-bits) value to its one-hot encoding (2^n bits) |
| Demux | logic/bitwise | Combinational | Demux. It routes an input value depending on a n-bit selector to one of the 2^n outputs |
| Digit7Segment | logic/bitwise | Combinational | Converts an hexadecimal digit (4 bits) into a 7 segment display control |
| EqualConstant | logic/relational | Combinational | Equal to a constant |
| Equal | logic/relational | Combinational | Equal between 2 inputs |
| FPAdder_SP | logic/arithmetic_fp | Combinational | Floating point (single precission) adder |
| FPComparator_SP | logic/relational | Combinational | Floating point (single precission) comparator |
| FPMult_SP | logic/arithmetic_fp | Combinational | Floating point (single precission) multiplier |
| FPtoInt_SP | logic/arithmetic_fp | Combinational | Convert a floating point number to integer |
| GatedClock | logic/clock | Sequential | Gated clock circuit |
| InttoFP_SP | logit/arithmetic_fp | Combinational | Convert an integer to floating point |
| ModuloCounter | logic/arithmetic | Sequential | Module counter with reset and enable |
| Max2 | logic/relational | Combinational | Returns the maximum between 2 inputs |
| Minterm | logic/bitwise | Combinational | Output is active when the list of input wires equal a constant |
| Mul | logic/arithmetic | Combinational | Integer Multiply |
| Mux | logic/bitwise | Combinational | Mux with with arbitrary number of inputs (must be power of 2) |
| Mux2 | logic/bitwise | Combinational | Mux with two inputs |
| Nand2 | logic/bitwise | Combinational | Nand with 2 inputs |
| Neg | logic/arithmetic | Combinational | Negate a value (0-x) |
| Nor | logic/bitwise | Combinational | Nor with arbitrary number of inputs |
| Nor2 | logic/bitwise | Combinational | Nor with 2 inputs |
| Not | logic/bitwise | Combinational | Inverter |
| OneHotDemux | logic/bitwise | Combinational | Demultiplexer with a selection signal using one-hot encoding |
| OneHotMux | logic/bitwise | Combinational | Multiplexer with a selection signal using one-hot encoding |
| Or | logic/bitwise | Combinational | Or with arbitrary number of inputs |
| OrBits | logic/bitwise | Combinational | Ors all the bits of a wire |
| Or2 | logic/bitwise | Combinational | Or with 2 inputs |
| Range | logic/bitwise | Combinational | Obtains a subset of bits from a wire |
| Reg | logic/storage | Sequential | Register |
| Repeat | logic/bitwise | Combinational | Duplicates a wire a number of times |
| RotateLeft | logic/arithmetic | Combinational | Rotate Left |
| RotateLeftConstant | logic/bitwise | Combinational | Rotate Left by a constant value |
| RotateRight | logic/arithmetic | Combinational | Rotate Right |
| RotateRightConstant | logic/bitwise | Combinational | Rotate Right by a constant value |
| ShiftLeft | logic/arithmetic | Combinational | Shift Left |
| ShiftLeftConstant | logic/bitwise | Combinational | Shift Left by a constant value |
| ShiftRight | logic/arithmetic | Combinational | Shift Right |
| ShiftRightConstant | logic/bitwise | Combinational | Shift Right by a constant value |
| Select | logic/bitwise | Combinational | Selects from a number of inputs based on a one hot selection signal (equal to OneHotMux) |
| SelectDefault | logic/bitwise | Combinational | Selects from a number of inputs based on a one hot selection signal, with a default entry |
| Sequence | logic/simulation | Sequential | Generates sequence of values as stimuli for simulation |
| Sign | logic/arithmetic | Combinational | Gets the sign bit (MSB) |
| SignedDiv | logic/arithmetic | Combinational | Divides signed values |
| SignedMul | logic/arithmetic | Combinational | Multiplies signed values |
| SignedSub | logic/arithmetic | Combinational | Subtract signed values |
| SignExtend | logic/arithmetic | Combinational | Sign extends |
| Sub | logic/arithmetic | Combinational | Integer Subtract |
| SumOfMinterms | logic/bitwise | Combinational | Sum of minterms |
| TReg | logic/storage | Sequential | Toggle register |
| Waveform | logic/simulation | Sequential | Collects wire info to create waveforms |
| Xor2 | logic/bitwise | Combinational | Xor with 2 inputs |
| Xor | logic/bitwise | Combinational | Xor with arbitrary number of inputs |
| ZeroExtend | logic/arithmetic | Combinational | Zero extends |
| Scope | logic/simulation | Sequential | Collects wire info to show values |