精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA零基礎學習之Vivado-鎖相環使用教程

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

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

系統性的掌握技術開發以及相關要求,對個人就業以及職業發展都有著潛在的幫助,希望對大家有所幫助。本次帶來Vivado系列,鎖相環使用教程。話不多說,上貨。

鎖相環使用教程

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

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

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

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

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

首先選擇新建工程,在此之前,新建工程的介紹已經給大家詳細介紹過了,在此就不在重復介紹,新建好之后,如下圖:

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

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

我們在左側菜單欄里面選中IP Catalog

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

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

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

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

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

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

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

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

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

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

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

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

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

此處我們也保持默認然后點擊Generate。

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

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

接下來我們寫個頂層文件,調用一下我們的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

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

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

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

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

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

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

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

觀察波形可以看出,在復位結束之后的一段時間內,輸出是沒有波形的,在這段時間,IP核的輸出還不穩定,所以看不到波形,在黃色光標處,locked信號拉高,此時表明輸出穩定,我們觀察后續波形的周期,跟我們定義的頻率正好對應。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1626

    文章

    21677

    瀏覽量

    601990
  • 鎖相環
    +關注

    關注

    35

    文章

    583

    瀏覽量

    87699
  • 振蕩器
    +關注

    關注

    28

    文章

    3813

    瀏覽量

    138911

原文標題:FPGA零基礎學習之Vivado-鎖相環使用教程

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    鎖相環電路

    鎖相環電路 鎖相環
    發表于 09-25 14:28 ?7191次閱讀
    <b class='flag-5'>鎖相環</b>電路

    什么是鎖相環 鎖相環的組成 鎖相環選型原則有哪些呢?

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

    有關fpga中的鎖相環

    fpga中的用鎖相環產生時鐘信號相比于用計數器進行分頻有哪些優點,看fpga鎖相環的結構,其前期的輸入信號和后期的輸出信號不也是通過計數器進行分頻實現的嗎
    發表于 10-06 10:46

    至芯昭哥帶你學FPGAFPGA_100天之旅_鎖相環

    至芯昭哥帶你學FPGAFPGA_100天之旅_鎖相環
    發表于 08-20 12:39

    FPGA零基學習Vivado-鎖相環使用教程

    及打算進階提升的職業開發者都可以有系統性學習的機會。 系統性的掌握技術開發以及相關要求,對個人就業以及職業發展都有著潛在的幫助,希望對大家有所幫助。本次帶來Vivado系列,鎖相環使用教程。話不多
    發表于 06-14 18:09

    模擬鎖相環應用實驗

    一、實驗目的1、掌握模擬鎖相環的組成及工作原理。2、學習用集成鎖相環構成鎖相解調電路。3、學習用集成鎖相
    發表于 03-22 11:44 ?127次下載

    基于FPGA的全數字鎖相環設計

    基于FPGA的全數字鎖相環設計:
    發表于 06-26 17:30 ?144次下載
    基于<b class='flag-5'>FPGA</b>的全數字<b class='flag-5'>鎖相環</b>設計

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

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

    鎖相環

    鎖相環英文為PLL,即PLL鎖相環。可以分為模擬鎖相環和數字鎖相環。兩種分類的鎖相環原理有較大區別,通過不同的
    發表于 10-26 12:40
    <b class='flag-5'>鎖相環</b>

    基于FPGA的數字鎖相環設計與實現

    基于FPGA的數字鎖相環設計與實現技術論文
    發表于 10-30 10:38 ?9次下載

    FPGA實現數字鎖相環

    Xilinx FPGA工程例子源碼:用FPGA實現數字鎖相環
    發表于 06-07 15:07 ?38次下載

    詳解FPGA數字鎖相環平臺

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

    基于FPGA的寬頻帶數字鎖相環的設計與實現簡介

    基于FPGA的寬頻帶數字鎖相環的設計與實現簡介說明。
    發表于 06-01 09:41 ?26次下載

    基于FPGA的高性能全數字鎖相環

    基于FPGA的高性能全數字鎖相環
    發表于 06-08 11:09 ?45次下載

    模擬鎖相環和數字鎖相環區別

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