Source: https://people.eecs.berkeley.edu/~jrb/papers/chisel-dac-2012-corrected.pdf