
上文XILINX FPGAIP之Clocking Wizard詳解說到時鐘IP的支持動態重配的,本節介紹通過DRP進行MMCM PLL的重新配置。
(相關資料圖)
Clocking Wizard IP的DRP( Dynamic Reconfiguration)提供了對MMCM/PLL的配置寄存器的訪問接口(這些配置位通常只在比特流中初始化),這允許用戶動態更改MMCM或PLL時鐘輸出,而無需加載新的比特流。
MMCM或PLL必須在動態重新配置期間保持復位狀態,或者必須在動態重新配置更改完成后釋放復位。
DRP可以動態改變時鐘的頻率、相位、占空比。
MMCM/PLL有6個用戶可訪問的配置寄存器組,允許重新配置單個時鐘輸出。這六組分別是分頻配置寄存器、相位配置寄存器、分數配置寄存器、鎖定配置寄存器、濾波器配置寄存器和功率配置寄存器。
1.分頻配置寄存器參數:
?High Time :高電平持續時間,以vco 為clk
?Low Time :低電平持續時間,以vco 為clk
?No Count :使能時輸出vco頻率
?Edge :它迫使高電平時間計數器在計數結束時在下降邊上轉換。
例如:要輸出一個3分頻的時鐘50%占比的時鐘,High Time配1,Low配2,Edge配1.
4分頻配 2 2 0 0
1分頻配 0 0 1 0
2.相位配置寄存器參數:
?Phase MUX :相位選擇,1代表45°,將vco頻率分為8份
?Delay Time:輸出時鐘的vco偏移,最大支持到64
?MX:固定為2’b00
3.小分配置寄存器參數:
MMCM的clkout0和clkfbout支持小數分頻,使能小數分頻時,會使用小數組參數(只有MMCM的clkout0和clkfbout有這組參數);
? FRAC_EN:使能
? FRAC :單位0.125
? PHASE_MUX_F:下降沿相位,單位45°
? FRAC_WF_R
? FRAC_WF_F
4.鎖定配置寄存器、濾波器配置寄存器和功率配置寄存器基本不用用戶配置。
以MMCM為例有17個可配置寄存器,其中CLKOUT[6:0] 和CLKFBOUT各有兩個配置寄存器,DIVCLK_DIVIDE有一個獨立配置寄存器。下圖中的D、O0-O6、M均有可配置的寄存器。
來看一下寄存器的定義:
Reg1:主要是分頻配置寄存器參數,CLKOUT[6:0] 和CLKFBOUT均有該寄存器:
OUT0 Reg2,CLKOUT[0]小數等的配置寄存器:
OUT1 Reg2:
OUT234 Reg2:
OUT5 Reg2:(包含clkout0的小數部分配置):
OUT6 Reg2,包含fb的小數部分:
Div Reg:
在鎖相環中,通過可配置接口配置時,上述寄存器的地址如下:
當使能DRP端口對時鐘進行動態重配時,鎖相環的端口會增加下面的端口:
端口含義為:
// Dynamic reconfiguration ports
input [6:0] daddr, //地址控制
input dclk, //配置時鐘
input den, //en,讀寫使能信號
input [15:0] din, //寫配置
output [15:0] dout, //會讀
output drdy, //ready
input dwe, //寫使能
本文先寫到這里,下一篇文章結合仿真對drp的具體應用進行說明。
標簽: