+++ title = "Data-flow Graph" author = "Yann Herklotz" tags = [] categories = [] backlinks = ["2b1", "1c2b", "1b6", "1a"] forwardlinks = ["1a2"] zettelid = "1a1" +++ The data-flow graph (DFG) is a great representation for code that should eventually become a circuit \[1\], because it builds data relationships between the assignments instead of control low dependencies between them. This removes the ordering that was imposed by the initial writing of the code, as the inherent parallelism of hardware means that independent instructions can execute in parallel. Control flow is important for the CPU, as it is inherently single threaded. Using multiple threads for only a couple of instructions is not feasible, in addition to that.
\[1\] S. Hauck and A. DeHon, *Reconfigurable computing: The theory and practice of FPGA-based computation*. Elsevier, 2010.