Diesen Export bietet kein anderer browserbasierter Logiksimulator. Statt einer Hardwarebeschreibung gibt Boolflow den Schaltplan als gewöhnliches C++ aus: Jedes Gatter wird zu einem booleschen Ausdruck, die gesamte Schaltung zu einer aufrufbaren Funktion.
Damit wird eine gezeichnete Schaltung außerhalb des Simulators ausführbar. Die Funktion lässt sich in einen Unit-Test einsetzen, um einen Entwurf gegen erwartete Werte zu prüfen, in Firmware einbetten, wo eine Nachschlagetabelle zu groß wäre, oder als schnelles Referenzmodell bei der Validierung einer HDL-Implementierung nutzen. Da es sich um reines C++ ohne Abhängigkeiten jenseits der Standardbibliothek handelt, übersetzt es überall: GCC, Clang, MSVC oder eine Embedded-Toolchain.
// Generated by BoolFlow
#include <cstdint>
struct half_adder_out {
bool out_0;
bool out_1;
};
half_adder_out half_adder(bool in_0, bool in_1) {
half_adder_out r;
r.out_0 = in_0 ^ in_1;
r.out_1 = in_0 && in_1;
return r;
}Kombinatorische Schaltungen lassen sich verlustfrei auf Ausdrücke abbilden. Zustandsbehaftete Elemente brauchen einen Speicher zwischen den Aufrufen und werden daher gesondert behandelt.
Lesen: Grundlagen der booleschen Algebra