Article: We Don’t Need Graphic Design; We Do Need Graphic Views

by Bernard Murphy

 

Many years ago, there were attempts to (re-) introduce a graphical entry approach to building RTL design. The Renoir Article: ARM + Broadcom + Linux = Raspberry Pi-schematic-min-jpegproduct was one example. The idea has some initial appeal. You describe the behavior in a small block using (textual) RTL but the larger structure of instances and higher-level connectivity can be described as a schematic or flow diagram or something similar.

 

These attempts were not successful for all sorts of reasons. In part, this area is great example of the devil being in the details. The concept is very appealing on a small design with small components, but a large component in an SoC may have 1k or more ports (full ports, not bit-blasted) which would be a nightmare to connect graphically. And an SoC top level can easily need 100k connections. Even in small subsystems, you can type or auto-generate connectivity faster. It simply isn’t practical to create and edit large netlists graphically.

 

Another problem with graphical creation and editing is that the graphical view has to become the source-controlled view (so the RTL becomes a derived view), otherwise you would lose schematic layout information on checkin. And by the way, that layout is a real pain. Significant effort has to go into creating a readable diagram, effort that has no value to the ultimate purpose of the design. Why bother?