Re: hierachial Design
A flat design is that you capture all your circuitry in many pages. There is no block used in the design. Every parts sits at the same level.
A hierarchical design contains functional blocks. For example, a PC mother board has CPU, Memory, Controller, and other sections. If the design is captured as a flat design, all the individual devices are placed in various pages without functional block. In a hierarchical design, one can create a CPU block and put the CPU and its associated devices like by-pass caps and things within the same block. Similarly the memory block contains the memory connectors for different banks and so on. A hiearchical design can group devices based on their functionality and can also facilitate the layout so that devices can be placed closed to one and another.
In some schematic capture tools, if you capture the design using a hierarchical design fashion, you can copy the block from one design into another to *reuse* the existing circuitry. Doing this will help you save time and not doing the schematic if you know that circuit work. A hierarchical design is really the fundation of doing design reuse.
Hope this helps.