verilog Parameters and defparam statements.
To understand verilog defparam statements we will need to understand parameters first.
What is modular coding style? Its a style. of writing Verilog code where a block of code can be re-used multiple times without making any modification. This reuse sometimes requires blocks of different widths to store and process signals of different widths or depths ( for memory).
What are verilog parameters? The parameters in verilog is a way of passing the constants to modules so as to overwrite there local constants for signal widths and depths (for memories). This is done when the block is instantiated in top-level/higher-level module.
What are verilog defparam statements? These statements provide alternate method of assigning new values to parameters inside sub-level modules
what are verilog localparam? a submodule parameter that should not be modified.