Stap 14: VM 3.2: geïnstantieerd Modules
We hebben besproken exemplaar modules alot door nu, dus het is tijd om de onderliggende concept te begrijpen.De bovenste module loopt het project samen, vaak door het instantiëren van andere nuttige modulaire componenten om projecteisen te voldoen. Maar elk van deze exemplaar modules ook andere modules kunt instantiëren.
Dit betekent dat een gegeven top module iets als een klok-verdeler kunt instantiëren, en dat de klok scheidingslijn kunt instantiëren van een aantal DFFs, maar de taak van DFFs aan elkaar koppelen wordt gegeven aan de klok scheidingslijn module.
Klinkt als een vertrouwd concept? Wie heeft geliefhebberd met programmering in talen zoals C, C++, Java, etc. moet vertrouwd zijn met "bereik". Het toepassingsgebied van een exemplaar van de module is beperkt tot de module die het geïnstantieerd. Dit is zeer vergelijkbaar, bijvoorbeeld C++. Als we een C++-programma maakten, hebben we een main() functie die alles samen terugloopt, en in die hoofdfunctie we andere functies, maar de interne werking van deze functies kunnen noemen (en deze functies kunnen ook deze functies aanroepen) zijn niet toegankelijk in belangrijkste, hoewel voor het uitvoeren van de main-functie, ook alle ondersteunende functies moeten worden uitgevoerd.
Dus in het geval van de scheidingslijn van de klok, de bovenste module bevat een klok scheidingslijn, en bevat daarom ook een bos van DFFs, maar wat betreft de bovenste module is hoeft het niet toegankelijk DFFs.