Instantiation
inst
keyword represents instantiation of modula and interface.
The name of instance is placed after inst
keyword,
and the type of instance is placed after :
.
Parameter override is #()
, and port connection is ()
.
module ModuleA #(
param paramA: u32 = 1,
) {
let a: logic<10> = 1;
let b: logic<10> = 1;
inst instB: ModuleB #(
paramA , // Parameter assignment by name
paramB: 10,
) (
a , // Port connection by name
bb: b,
);
}
module ModuleB #(
param paramA: u32 = 1,
param paramB: u32 = 1,
) (
a : input logic<10>,
bb: input logic<10>,
) {}