芯片中的基本单元,代表FPGA中实际拥有的硬件逻辑单元,如LUT、D触发器、RAM等,相当于软件中的机器语言
例子:通过调用IP核DCM,同时选择CLKIN Source为External,系统自动生成原语IBUFG.
从代码可以看出DCM核=原语IBUFG(全局时钟输入缓存)+DCM_SP(基本数字时钟管理模块)+BUFG(全局时钟缓冲器)
moduledcm0(CLKIN_IN,
RST_IN,
CLKFX_OUT,
CLKIN_IBUFG_OUT,
LOCKED_OUT); //IP核模块
inputCLKIN_IN;
inputRST_IN;
outputCLKFX_OUT;
outputCLKIN_IBUFG_OUT;
outputLOCKED_OUT;
wireCLKFX_BUF;
wireCLKIN_IBUFG;
wireGND_BIT;
assignGND_BIT = 0;
assignCLKIN_IBUFG_OUT = CLKIN_IBUFG;
//三个原语模块
BUFG CLKFX_BUFG_INST(.I(CLKFX_BUF),
.O(CLKFX_OUT));
IBUFG CLKIN_IBUFG_INST(.I(CLKIN_IN),
.O(CLKIN_IBUFG));
DCM_SP#( .CLK_FEEDBACK("NONE"), .CLKDV_DIVIDE(2.0),.CLKFX_DIVIDE(8),
.CLKFX_MULTIPLY(25),.CLKIN_DIVIDE_BY_2("FALSE"),
.CLKIN_PERIOD(31.250),.CLKOUT_PHASE_SHIFT("NONE"),
.DESKEW_ADJUST("SYSTEM_SYNCHRONOUS"),.DFS_FREQUENCY_MODE("LOW"),
.DLL_FREQUENCY_MODE("LOW"),.DUTY_CYCLE_CORRECTION("TRUE"),
.FACTORY_JF(16'hC080),.PHASE_SHIFT(0), .STARTUP_WAIT("FALSE") )//鼠标点点的参数
DCM_SP_INST(.CLKFB(GND_BIT),
.CLKIN(CLKIN_IBUFG),
.DSSEN(GND_BIT),
.PSCLK(GND_BIT),
.PSEN(GND_BIT),
.PSINCDEC(GND_BIT),
.RST(RST_IN),
.CLKDV(),
.CLKFX(CLKFX_BUF),
.CLKFX180(),
.CLK0(),
.CLK2X(),
.CLK2X180(),
.CLK90(),
.CLK180(),
.CLK270(),
.LOCKED(LOCKED_OUT),
.PSDONE(),
.STATUS());
endmodule |