賽靈思FPGA全局時鐘網(wǎng)絡(luò)結(jié)構(gòu)詳解
《4》 點擊“Next”,進入時鐘頻率配置窗口,如圖10所示。鍵入輸出頻率的數(shù)值,或者將手動計算的分頻比輸入。最后點擊 “Next”,“Finish”即可完成DCM模塊IP Core的全部配置。本例直接鍵入輸出頻率為75MHz即可。
本文引用地址:http://2s4d.com/article/221556.htm《5》 經(jīng)過上述步驟,即可在源文件進程中看到“my_dcm.xaw”文件。剩余的工作就是在設(shè)計中調(diào)用該DCM IP Core,其例化代碼如下:
module dcm_top(
CLKIN_IN,
RST_IN,
CLKFX_OUT,
CLKIN_IBUFG_OUT,
CLK0_OUT,
LOCKED_OUT);
input CLKIN_IN;
input RST_IN;
output CLKFX_OUT;
output CLKIN_IBUFG_OUT;
output CLK0_OUT;
output LOCKED_OUT;
mydcm dcm1(
.CLKIN_IN(CLKIN_IN),
.RST_IN(RST_IN),
.CLKFX_OUT(CLKFX_OUT),
.CLKIN_IBUFG_OUT(CLKIN_IBUFG_OUT),
.CLK0_OUT(CLK0_OUT),
.LOCKED_OUT(LOCKED_OUT)
);
endmodule
《6/》 上述代碼經(jīng)過綜合Synplify Pro綜合后,得到的RTL級結(jié)構(gòu)圖如圖11所示。
上述代碼經(jīng)過ModelSim仿真后,其局部仿真結(jié)果如圖12所示。從中可以看出,當LOCKED_OUT信號變高時,DCM模塊穩(wěn)定工作,輸出時鐘頻率 CLKFX_OUT為輸入時鐘CLK_IN頻率的1.5倍,完成了預(yù)定功能。需要注意的是,復(fù)位信號RST_IN是高有效。
在實際中,如果在一片FPGA內(nèi)使用兩個DCM,那么時鐘從一個clk輸入,再引到兩個DCM的clk_in。這里,在DCM模塊操作時,需要注意兩點:首先,用CoreGen生成DCM模塊的時候,clk_in源是內(nèi)部的,不能直接連接到管腳,需要添加緩沖器;其次,手動例化一個IBUFG,然后把 IBUFG的輸入連接到兩個DCM的clk_in。通常,如果沒有設(shè)置clk_in 源為內(nèi)部的,而是完全按照單個DCM的使用流程,就會造成clk_in信號有多個驅(qū)動。此時,ISE不能做到兩個DCM模塊輸出信號的相位對齊,只能做到一個DCM的輸出是相位對齊的。而時鐘管腳到兩個DCM的路徑和DCM輸出的路徑都有不同的延時,因此如果用戶對相位還有要求,就需要自己手動調(diào)整DCM 模塊在芯片中的位置。
fpga相關(guān)文章:fpga是什么
鎖相環(huán)相關(guān)文章:鎖相環(huán)原理
評論