0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA零基礎(chǔ)學(xué)習(xí)之Vivado-鎖相環(huán)使用教程

FPGA技術(shù)江湖 ? 來源:FPGA技術(shù)江湖 ? 2023-05-31 17:42 ? 次閱讀

大俠好,歡迎來到FPGA技術(shù)江湖。本系列將帶來FPGA的系統(tǒng)性學(xué)習(xí),從最基本的數(shù)字電路基礎(chǔ)開始,最詳細(xì)操作步驟,最直白的言語描述,手把手的“傻瓜式”講解,讓電子、信息、通信類專業(yè)學(xué)生、初入職場小白及打算進(jìn)階提升的職業(yè)開發(fā)者都可以有系統(tǒng)性學(xué)習(xí)的機會。

系統(tǒng)性的掌握技術(shù)開發(fā)以及相關(guān)要求,對個人就業(yè)以及職業(yè)發(fā)展都有著潛在的幫助,希望對大家有所幫助。本次帶來Vivado系列,鎖相環(huán)使用教程。話不多說,上貨。

鎖相環(huán)使用教程

鎖相環(huán)是我們比較常用的IP核之一。PLL的英文全稱是Phase locked loop即鎖相環(huán),是一種反饋電路。具有分頻、倍頻、相位偏移和占空比可調(diào)的功能。在XILINX 7系列芯片時鐘資源包含了時鐘管理單元CMT,每一個CMT都是由一個MMCM和一個PLL組成。對于使用者來說,當(dāng)我們實現(xiàn)簡單的分頻時,設(shè)計者可以通過寫代碼的方式來進(jìn)行分頻,但是對于復(fù)雜的設(shè)計,比如倍頻、相位偏移等設(shè)計時,寫代碼的方式就顯得力不從心。此時就體現(xiàn)了學(xué)習(xí)鎖相環(huán)的必要性。接下來我們一起了解一下鎖相環(huán)的使用。

PLL鎖相環(huán)由以下幾部分組成:前置分頻計數(shù)器、相位頻率檢測器電路、電荷泵、環(huán)路濾波器、壓控振蕩器、反饋乘法器計數(shù)器和后置分頻計數(shù)器。在工作室,相位頻率檢測器檢測其參考頻率和反饋信號之間的相位差和頻率差,控制電荷泵和環(huán)路濾波器將相位差轉(zhuǎn)換為控制電壓,壓控振蕩器根據(jù)不同的控制電壓產(chǎn)生不同的振蕩頻率從而影響反饋信號的相位和頻率。在參考頻率和反饋信號具有相同的頻率和相位后,就認(rèn)為PLL處于鎖相的狀態(tài)。

本次實驗我們將輸出四個不同的頻率波形,其中有兩個相位相差180°。其中四個頻率分別為100MHZ,30MHZ,10MHZ,10MHZ_180。

接下來我們首先先新建一個工程:

4825faa2-ff8d-11ed-90ce-dac502259ad0.png

首先選擇新建工程,在此之前,新建工程的介紹已經(jīng)給大家詳細(xì)介紹過了,在此就不在重復(fù)介紹,新建好之后,如下圖:

483b3aac-ff8d-11ed-90ce-dac502259ad0.png

大家可以在工程總覽中看到工程的信息。

我們在左側(cè)菜單欄里面選中IP Catalog

485b17a0-ff8d-11ed-90ce-dac502259ad0.png

打開之后搜索clock,如下圖:

4866fff2-ff8d-11ed-90ce-dac502259ad0.png

雙擊打開此選項,彈出如圖界面:

487b4c50-ff8d-11ed-90ce-dac502259ad0.png

我們需要在此界面做一些配置,IP核的名字我們可以修改,但是要符合起名字的規(guī)則,當(dāng)然也可以不做修改。在時鐘特征里面,我們保持默認(rèn)選項即可。輸入時鐘我們需要修改,我們開發(fā)板的晶振是50MHz,所以此處頻率我們改為50MHz。

489af302-ff8d-11ed-90ce-dac502259ad0.png

輸入時鐘設(shè)置好之后,我們設(shè)置第二個配置界面。按照我們提前規(guī)定好的輸出頻率去設(shè)置。

48b3b41e-ff8d-11ed-90ce-dac502259ad0.png

需要添加額外的時鐘的時候,在對應(yīng)的選項前面勾選上,設(shè)置好對應(yīng)的輸出。clk_out4是10MHz偏移180度的波形,所以在相位偏移選項里面設(shè)置成180度。

其他界面沒有需要設(shè)置的內(nèi)容,我們直接點擊OK即可。然后會彈出提示框。這個提示框是確認(rèn)是否給IP核新建路徑,在此我們點擊OK。

48c214c8-ff8d-11ed-90ce-dac502259ad0.png

48d8bf7a-ff8d-11ed-90ce-dac502259ad0.png

此處我們也保持默認(rèn)然后點擊Generate。

生成好之后,在源文件界面會看到我們生成的IP核。

48e76ee4-ff8d-11ed-90ce-dac502259ad0.png

接下來我們寫個頂層文件,調(diào)用一下我們的IP核,然后做個仿真看一下我們的輸出波形。

頂層代碼如下:

1 module pll( 2 3 input wire clk, 4 input wire rst_n, 5 output wire clk_100m, 6 output wire clk_30m, 7 output wire clk_10m, 8 output wire clk_10m_180, 9 output wire locked 10 ); 11 12 clk_wiz_0 clk_wiz_0_inst 13 ( 14 // Clock out ports 15 .clk_out1(clk_100m), // output clk_out1 16 .clk_out2(clk_30m), // output clk_out2 17 .clk_out3(clk_10m), // output clk_out3 18 .clk_out4(clk_10m_180), // output clk_out4 19 // Status and control signals 20 .reset(~rst_n), // input reset 21 .locked(locked), // output locked 22 // Clock in ports 23 .clk_in1(clk)); // input clk_in1 24 25endmodule

在頂層文件當(dāng)中,我們需要例化我們的IP核,那么我們需要先打開IP Sources,我們會看到我們新建的IP,然后點開之后會看到第一個選項Instantiation template,打開之后又會看到一個.veo文件,雙擊打開就可以看到我們ip核的例化頭文件。如圖所示:

48f8a22c-ff8d-11ed-90ce-dac502259ad0.png

我們將頭文件直接復(fù)制粘貼到我們的頂層文件當(dāng)中,然后修改括號里面的端口名。修改好之后就是我們頂層文件的樣子。

接下來是我們的仿真文件,代碼如下:

1 `timescale 1ns / 1ps 2 3 module pll_tb; 4 5 reg clk; 6 reg rst_n; 7 wire clk_100m; 8 wire clk_30m; 9 wire clk_10m; 10 wire clk_10m_180; 11 wire locked; 12 13 initial begin 14 rst_n = 0; 15 clk = 0; 16 #105; 17 rst_n = 1; 18 #10000; 19 $stop; 20 end 21 22 always #10 clk = ~clk; 23 24 pll pll_inst( 25 26 .clk (clk ), 27 .rst_n (rst_n ), 28 .clk_100m (clk_100m ), 29 .clk_30m (clk_30m ), 30 .clk_10m (clk_10m ), 31 .clk_10m_180 (clk_10m_180), 32 .locked (locked ) 33 ); 34 35 endmodule

代碼編譯沒有問題之后,我們打開仿真波形觀察現(xiàn)象:

49145cce-ff8d-11ed-90ce-dac502259ad0.png

觀察波形可以看出,在復(fù)位結(jié)束之后的一段時間內(nèi),輸出是沒有波形的,在這段時間,IP核的輸出還不穩(wěn)定,所以看不到波形,在黃色光標(biāo)處,locked信號拉高,此時表明輸出穩(wěn)定,我們觀察后續(xù)波形的周期,跟我們定義的頻率正好對應(yīng)。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21786

    瀏覽量

    605071
  • 鎖相環(huán)
    +關(guān)注

    關(guān)注

    35

    文章

    590

    瀏覽量

    87839
  • 振蕩器
    +關(guān)注

    關(guān)注

    28

    文章

    3845

    瀏覽量

    139257

原文標(biāo)題:FPGA零基礎(chǔ)學(xué)習(xí)之Vivado-鎖相環(huán)使用教程

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    鎖相環(huán)電路

    鎖相環(huán)電路 鎖相環(huán)
    發(fā)表于 09-25 14:28 ?7260次閱讀
    <b class='flag-5'>鎖相環(huán)</b>電路

    什么是鎖相環(huán) 鎖相環(huán)的組成 鎖相環(huán)選型原則有哪些呢?

    大家都知道鎖相環(huán)很重要,它是基石,鎖相環(huán)決定了收發(fā)系統(tǒng)的基礎(chǔ)指標(biāo),那么如此重要的鎖相環(huán)選型原則有哪些呢?
    的頭像 發(fā)表于 08-01 09:37 ?5631次閱讀
    什么是<b class='flag-5'>鎖相環(huán)</b> <b class='flag-5'>鎖相環(huán)</b>的組成 <b class='flag-5'>鎖相環(huán)</b>選型原則有哪些呢?

    有關(guān)fpga中的鎖相環(huán)

    fpga中的用鎖相環(huán)產(chǎn)生時鐘信號相比于用計數(shù)器進(jìn)行分頻有哪些優(yōu)點,看fpga鎖相環(huán)的結(jié)構(gòu),其前期的輸入信號和后期的輸出信號不也是通過計數(shù)器進(jìn)行分頻實現(xiàn)的嗎
    發(fā)表于 10-06 10:46

    至芯昭哥帶你學(xué)FPGAFPGA_100天之旅_鎖相環(huán)

    至芯昭哥帶你學(xué)FPGAFPGA_100天之旅_鎖相環(huán)
    發(fā)表于 08-20 12:39

    FPGA零基礎(chǔ)學(xué)習(xí)Vivado-鎖相環(huán)使用教程

    及打算進(jìn)階提升的職業(yè)開發(fā)者都可以有系統(tǒng)性學(xué)習(xí)的機會。 系統(tǒng)性的掌握技術(shù)開發(fā)以及相關(guān)要求,對個人就業(yè)以及職業(yè)發(fā)展都有著潛在的幫助,希望對大家有所幫助。本次帶來Vivado系列,鎖相環(huán)使用教程。話不多
    發(fā)表于 06-14 18:09

    模擬鎖相環(huán)應(yīng)用實驗

    一、實驗?zāi)康?、掌握模擬鎖相環(huán)的組成及工作原理。2、學(xué)習(xí)用集成鎖相環(huán)構(gòu)成鎖相解調(diào)電路。3、學(xué)習(xí)用集成鎖相
    發(fā)表于 03-22 11:44 ?127次下載

    基于FPGA的全數(shù)字鎖相環(huán)設(shè)計

    基于FPGA的全數(shù)字鎖相環(huán)設(shè)計:
    發(fā)表于 06-26 17:30 ?144次下載
    基于<b class='flag-5'>FPGA</b>的全數(shù)字<b class='flag-5'>鎖相環(huán)</b>設(shè)計

    鎖相環(huán)(PLL),鎖相環(huán)(PLL)是什么意思

    鎖相環(huán)(PLL),鎖相環(huán)(PLL)是什么意思 PLL的概念 我們所說的PLL。其
    發(fā)表于 03-23 10:47 ?6151次閱讀

    鎖相環(huán)

    鎖相環(huán)英文為PLL,即PLL鎖相環(huán)??梢苑譃槟M鎖相環(huán)和數(shù)字鎖相環(huán)。兩種分類的鎖相環(huán)原理有較大區(qū)別,通過不同的
    發(fā)表于 10-26 12:40
    <b class='flag-5'>鎖相環(huán)</b>

    基于FPGA的數(shù)字鎖相環(huán)設(shè)計與實現(xiàn)

    基于FPGA的數(shù)字鎖相環(huán)設(shè)計與實現(xiàn)技術(shù)論文
    發(fā)表于 10-30 10:38 ?9次下載

    FPGA實現(xiàn)數(shù)字鎖相環(huán)

    Xilinx FPGA工程例子源碼:用FPGA實現(xiàn)數(shù)字鎖相環(huán)
    發(fā)表于 06-07 15:07 ?38次下載

    詳解FPGA數(shù)字鎖相環(huán)平臺

    一、設(shè)計目標(biāo) 基于鎖相環(huán)的理論,以載波恢復(fù)環(huán)為依托搭建數(shù)字鎖相環(huán)平臺,并在FPGA中實現(xiàn)鎖相環(huán)的基本功能。 在
    發(fā)表于 10-16 11:36 ?18次下載
    詳解<b class='flag-5'>FPGA</b>數(shù)字<b class='flag-5'>鎖相環(huán)</b>平臺

    基于FPGA的寬頻帶數(shù)字鎖相環(huán)的設(shè)計與實現(xiàn)簡介

    基于FPGA的寬頻帶數(shù)字鎖相環(huán)的設(shè)計與實現(xiàn)簡介說明。
    發(fā)表于 06-01 09:41 ?26次下載

    基于FPGA的高性能全數(shù)字鎖相環(huán)

    基于FPGA的高性能全數(shù)字鎖相環(huán)
    發(fā)表于 06-08 11:09 ?45次下載

    模擬鎖相環(huán)和數(shù)字鎖相環(huán)區(qū)別

    模擬鎖相環(huán)和數(shù)字鎖相環(huán)的主要區(qū)別在于它們的控制方式不同。模擬鎖相環(huán)是通過模擬電路來控制頻率和相位,而數(shù)字鎖相環(huán)是通過數(shù)字信號處理技術(shù)來控制頻率和相位。此外,模擬
    發(fā)表于 02-15 13:47 ?5344次閱讀