## Top Down? Bottom Up? A Survey of Hierarchical Design Methodologies

How do you optimize, synthesize, or evolve a design that has 10 thousand parts? 10 billion parts? Doing it flat could easily fail. There is a way! In many practical cases, we can recursively decompose the problem into many sub-problems. We then solve each sub-problem and stitch it together to solve the main problem. We can do this in a well-structured fashion: a hierarchical design methodology.

*Full post is [here].*