FPGA Verilog 调用模块后带有 “ #()” 的含义
最后4个LED闪烁控制模块的例化,它们的源码都是 led_controller.v 模块,但它们的名称不一样,分别为“uut_led_controller_clk12m5 ”,“uut_led_controller_clk25m”,“uut_ledcontroller clk50m”,“uut led controller_clk100m”。这样的定义方式最终实现效果不同于软件的函数调用,软件的函数调用只有一个函数,分时复用。而 FPGA 的这种代码例化却会实现4个完全一样的硬件逻辑。当然了,这4个模块略有不同,就是两个名称中间的 “#(n)”n 有 23、24和25,这是输入到led controller.v 模块的参数。
FPGA Verilog 在模块声明后
FPGA Verilog 调用模块后带有 “ #()” 的含义