Boolflow flattens nested circuit blocks into one simulated netlist, with a pin-mapping bug found along the way
Boolflow is a free browser logic simulator in which each block stores its own definition as a nested node, and before simulation every block is replaced by a copy of that definition. The flattening step gives every inner element a path-based id, such as DIV2/D.Q, with a #2 suffix for repeated copies, so simulation state stays distinct. Pins are determined by their position in the definition, and wires crossing a block's edge are rewritten to match, with an output-mapping step restoring block outputs after simulation. The author describes a bug in an early version that tied wires to pin index rather than pin name, causing a renamed-and-reordered output to silently read the wrong pin. The fix keeps wires attached to pins by name, with the editor reporting how many wires were moved or dropped.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.


Discussion (0)
Log in to join the discussion and vote.
Log in