Top-Level Block Diagram
The top-level block diagram should indicate the block boundary and all major interfaces. Draw the top-level submodules and show how they connect internally, but avoid displaying excessive internal implementation detail. The structure of the top-level block diagram should correspond 1:1 with the contents of the top-level RTL module. Avoid "free-floating" logic at the top level (everything should be encapsulated in submodules) [1].
Tip
Markdown allows embedded HTML. With the help of diagramming software (like draw.io), you can hyperlink the diagram to different sections of the document or even external links.