top of page

9.2 Module Instantiation

What is Module Instantiation?

​

Module instantiation is the process of creating an instance of a module within another module. This allows you to build hierarchical designs by connecting smaller modules together to create more complex systems.

​

9.2.1. Types of Module Instantiation

​

9.2.1.1. Named Port Connection (Recommended)

​

This method explicitly connects ports by name, making the code more readable and maintainable:

Verilog

Advantages:

​

- Easy to read and understand

​

- Order of ports doesn't matter

​

- Less prone to errors during maintenance

​

- Self-documenting code

9.2.1.2. Positional Port Connection

​

Ports are connected based on their position in the module declaration:

Verilog

Disadvantages:

​

- Error-prone if port order changes

​

- Difficult to maintain

​

- Not recommended for modules with many ports

​

9.2.1.3. Mixed Connection Style

​

SystemVerilog allows mixing both styles (but not recommended):

Verilog

9.2.2. Multiple Instantiation

Creating multiple instances of the same module:

Verilog

9.2.3. Array of Instances (Generate Blocks)

For regular structures, use generate blocks:

Verilog

Module structure & elements

Module port mapping

© Copyright 2025 VLSI Mentor. All Rights Reserved.©

Connect with us

  • Instagram
  • Facebook
  • Twitter
  • LinkedIn
  • YouTube
bottom of page