Despite the potential usefulness and intuitiveness of the interface, some major shortcomings and several minor deficiencies were identified in the current implementation of the GUI. While many of the problems are relatively simple to correct, others may require non-trivial modifications to the implementation. This section discusses some of the major limitations.
Among the limitations, perhaps the most obvious is the current inability to represent circuit designs hierarchically -- circuit layout can take place at one level of abstraction only. The addition of hierarchical decomposition would make the circuit editor more pragmatic in both academic and industrial settings as this would permit the construction of custom libraries containing components which could be easily re-used in future designs. Hierarchical representation would require the ability for the user to stroke out and encapsulate components in a block, in much the same fashion as the glue feature operates. The user would then have the opportunity to save that portion of the circuit in a library of so-called mega-components. During subsequent designs, the user would have the ability to integrate these mega-components into future designs instead of having to recreate them from scratch. Hierarchies of hierarchies could even be constructed, thereby simplifying the layout process even more.
Another serious problem is the lack of an undo feature, which would let the user back out of the last modification made to either the circuit being edited or to an input waveform. This feature, common among many editing tools, would let the user recover from mistakes made while editing the circuit or waveform. For example, one common accident is to use the DELETE operation to remove a glue box instead of the UNGLUE operation. After accidentally deleting all the circuit elements inside the glue box, the user could simply click an undo button which would recover the circuit elements deleted during the last operation.
While the signal editor is convenient for a relatively small number of signals over a short duration, editing a greater number of signals having a longer duration can become cumbersome. For example, there is no way to easily insert or delete a signal value or a group of signal values. In the future, these deficiencies may be overcome by dumping the waveforms in tabular form to a text file which can then be edited by the user using a text editor. Once the user is finished editing the waveforms, the signal display would be updated with the contents of the modified text file.
Despite these restrictions, the GUI in its current manifestation provides a reliable, consistent and hopefully intuitive interface for digital circuit layout and simulation, especially in an academic setting. The current implementation provides a reasonable foundation upon which further enhancements can be based.