FPGA的初始化其实比ASIC更灵活一些,initial语句原本是用于仿真时的初始化,但在FPGA中,initial是可以被综合的,这是因为FPGA是基于SRAM查找表结构实现的,上电后需要从外部加载配置信息,这个时候initial可以让存储器载入一个初始化文件,实现初始化的操作。
但对于ASIC的话,initial只能用于仿真,无法综合。
我们甚至还可以采用如下的方式进行初始化:
initial begin : INIT
$readmemh(pMemInit, mem_bk);
end