當我們需要用到分頻或者倍頻的時候,就需要使用vivado中的 pll ip核來獲得我們想要的時鐘頻率。下面簡單說明一下如何配置pll ip核。
1、查詢 pll ip核
2、指定用於分頻的輸入頻率
3、設定輸出頻率、相位以及占空比
4、設定locked訊號的名字
locked訊號是用來觀察pll輸出時鐘是否和輸入時鐘鎖定。當鎖定時,這個locked訊號就變為高電平。
5、如果需要,可以在此對之前的設定進行修改並覆蓋
詳細還可以參考這篇文章:
1、rtl**
module pll_test
( input sys_clk,
//system clock 50mhz on board
input rst_n,
//reset ,low active
output clk_out //pll clock output j8_pin3);
wire locked;
/pll ip call
clk_wiz_0 clk_wiz_0_inst
(.clk_in1
(sys_clk)
,// in 50mhz
// clock out ports
.clk_out1()
,// out 200mhz
.clk_out2()
,// out 100mhz
.clk_out3()
,// out 50mhz
.clk_out4
(clk_out)
,// out 25mhz
// status and control signals
.reset
(~rst_n)
,// pll reset, high-active
.locked
(locked));
// out
endmodule
2、**程式
`timescale 1ns /
1psmodule vtf_pll_test;
// inputs
reg sys_clk;
reg rst_n;
// outputs
wire clk_out;
// instantiate the unit under test (uut)
pll_test uut (
.sys_clk
(sys_clk),.
rst_n
(rst_n),.
clk_out
(clk_out));
initial begin
// initialize inputs
sys_clk =0;
rst_n =0;
// wait 100 ns for global reset to finish
#100
; rst_n =1;
// add stimulus here
endalways #10 sys_clk =
~ sys_clk;
//5ns乙個週期,產生50mhz時鐘源
endmodule
3、**結果
可以看到,當輸出頻率穩定之後,locked
訊號會拉高。一般在使用的時候,都會把locked
訊號作為使用該輸出時鐘的模組的復位訊號,因為此時pll
輸出給該模組的時鐘才算穩定,才預示著真正可以開始正常工作了。
Altera FFT核使用詳解
快速傅利葉變換 fast fourier transform 最為一種高效的演算法,被廣泛的用於訊號處理與資料分析等領域。對於設計工程師來講,自己動手取樣可程式語言來實現乙個fft ifft模組,不知要花費多少心血。所幸的是altera和xilinx兩大巨頭都提供了自己fft核,本文將詳細講解如何使...
vivado ILA核使用教程
ila可以加在 裡使用,也可以加在網表裡使用。在這裡舉例加在 中使用,硬體平台 xilinx ax7020 1.開啟vivado,新建專案 選擇對應的晶元型號 2.新增原始檔,編寫rtl timescale 1ns 1ps company engineer create date 2019 03 2...
FIFO IP核使用感受
本次實驗建立了乙個8位輸入 4位輸出的ip核心,並將ip核心所有訊號都進行新增 先進行前 寫入時鐘為讀取時鐘的兩倍 第1個 wclk 上公升沿,wrreq 1 第2個 wclk 上公升沿,當 wrreq 置 1,此時寫入送入到 data 埠的資料,此時寫入值為 8 h12 寫入過程發生在上公升沿 第...