For example, a designer simulating at the instruction level, might want to see key registers, a stack pointer, etc., all within a diagram of the design, and within another block might want to see some IO ports, or flags, etc. The key issue is that the original description of the circuit is too detailed for what needs to be visualized, so there is a need to specify what needs to be visualized with no more effort than adding a signal to a waveform display. An alternative to schematics, is a source based hierarchical view. In a hierarchical view, the circuit is viewed as a tree structure with module instances forming the nodes of the tree. There is one current scope, and information accesses are generally relative to the current scope.
Simple commands allow one to change the current scope to any instance.
The navigator should support source-based hierarchical viewing and traversal by providing an instance browser, to show quickly the scopes defined at the current scope level. Clicking the pointer on an instance name in the browser can change the current scope to the selected instance. The instance and variable browsers are automatically updated to reflect the contents of the new current scope. Users move quickly up and down the hierarchy of the circuit just by clicking the pointer. The navigator should synchronize the scope shown in the browsers with the current scope of the simulator.