Verilog被广泛用于芯片设计,那么要设计一个大规模的芯片,需要将芯片划分为不同的块(block)、子块(sub_block),乃至更小的模块(module)。模块为最低层次的电路单元,每个模块都具有一些输入和输出端口。一个模块通过输入输出端口不断接收到数值并通过输出端口输出其产生信号。
我们将模块拼接在一起可以构成整个芯片,当模块数量变大时,我们需要创建一定层次结构,高层次的模块由多个低层次的模块构成;多个高层次的模块连接又可以构成更高层次的模块,直至完成整个设计。采用层次化、模块化设计在工程设计中非常有益,可以使复杂设计易于展开,可读性强。
在Verilog中层次化设计,大多数情况下,最底层的模块包含可以综合成逻辑门和触发器的代码,高层模块只提供对低层模块的连接,而不直接包含可综合的代码。