Sigasi is an EDA company with a tool that does just that, however at first use of their BlockDiagram view you may just see a bunch of cell instances connected with wires which can be a bit messy to infer much info from:

If you could color instances and use some busses then the block diagram would be more legible and make understanding its operation a whole lot easier:

The Sigasi Studio tool also automatically finds state machines in your HDL code and creates a StateMachine view, which is how most IC designers think of their logic to start out with:

Here's an updated view of the same state machine, this time with some coloring and re-grouping to emphasize state transitions:

So how do you go from the default diagrams created by Sigasi Studio to the ones with colors and groupings?
You use something called a Graphic Configuration file. Some of the benefits of using a text file for Graphic Configuration are:
- Easier to manager with your favorite version control system, allowing easy compares and merges.
- Debug is straight forward, saving you time.
- Sigasi Studio features like auto-complete, validations and formatting are all built-in to the tool.
With a Graphic Configuration file you can do five important tasks:
- Group states, instances or wires together.
- Hide states or blocks.
- Collapse blocks.
- Coloring, as shown in the two examples above
- Regex matching.
Some Examples
Let's say that you want to color a specific block to green and have the internals hidden, the Graphic Configuration file syntax is:
block my_block { color green collapse }
That was pretty simple and compact to write.
Continuing that first example a bit, now we want to access a block within a block, calling for a nest configuration like this:
block my_block {
color green
block block_within_name {
block block_within_name {
color red
}
}
Changing how your state machine looks is just like the block diagram we just learned except the first keyword is "state" instead of "block".
Summary
A picture really is worth a 1,000 words, and now with the automated visualization feature in Sigasi Studio you can have a lot more control over how it looks by using a Graphic Configuration file, therefore making understanding your HDL code much easier than staring at text alone. To read more about this topic there's a blog article written by Titouan Vervack at the Sigasi site.
A Picture is worth a 1,000 words
Daniel Payne 12-28-2017