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

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

3天內不再提示

【紫光同創國產FPGA教程】【第四章】PDS下PLL實驗

FPGA技術專欄 ? 來源:芯驛電子科技 ? 作者:芯驛電子科技 ? 2021-02-04 13:22 ? 次閱讀

原創聲明:

本原創教程由芯驛電子科技(上海)有限公司(ALINX)創作,版權歸本公司所有,如需轉載,需授權并注明出處(alinx.com)。

適用于板卡型號:

PGL22G/PGL12G

1. 文檔簡介

很多初學者看到板上只有一個50Mhz時鐘輸入的時候都產生疑惑,時鐘怎么才50Mhz?如果要工作在100Mhz、150Mhz怎么辦?在很多FPGA芯片內部都集成了PLL,其他廠商可能不叫PLL,但是也有類似的功能模塊,通過PLL可以倍頻分頻,產生其他很多時鐘。本實驗通過調用PLL ip core來學習PLL的使用方法。

2. 實驗環境

3. 實驗原理

PLL(phase-locked loop),即鎖相環。是FPGA中的重要資源。由于一個復雜的FPGA系統往往需要多個不同頻率,相位的時鐘信號。所以,一個FPGA芯片中PLL的數量是衡量FPGA芯片能力的重要指標。FPGA的設計中,時鐘系統的FPGA高速的設計極其重要,一個低抖動, 低延遲的系統時鐘會增加FPGA設計的成功率。

本實驗將通過使用PLL, 輸出一個方波到開發板上的擴展口J8的PIN3腳,來給大家演示使用PLL的方法。

  • 數字鎖相環(PLL)

PLL內部的功能框圖如下圖所示:Logos PLL 主要由鑒頻鑒相器(PFD,Phase Frequency Detector)、環路濾波器(LF,Loop Filter)和壓控振蕩器(VCO,Voltage Controlled Oscillator) 等組成。通過不同的參數配置,可實現信號的調頻、調相、同步、頻率綜合等功能。 LogosPLL 的電路框圖如下圖所示:

pIYBAGAY4bCADC64AABH_HhVGaE005.jpg

想了解更多的時鐘配置, 建議大家看看官方提供的文檔"Logos系列產品PLL IP用戶指南 "。

4. 建立工程

本實驗中為大家演示如果調用PLL IP核來產生不同頻率的時鐘, 并把其中的一個時鐘輸出到FPGA外部IO上, 開發板J8的PIN3腳。

下面為程序設計的詳細步驟。

1. 新建一個pll_test的工程,點擊Tool菜單下的IP Compiler。

o4YBAGAY4bCAc1NcAACNLfreGLI982.jpg

2. 再在彈出的界面里選擇PLL下的Logos PLL,再對PLL取名clk_wiz_0,然后單擊Customize。

pIYBAGAY4bGADIJ6AAC4ivfXNpg242.jpg

3. 在Basic Configurations界面里, 勾選復位管腳使能"Enable Port pll_rst",輸入的時鐘頻率為50Mhz。輸出選擇clk_out0~clk_out3四個時鐘的輸出,頻率分別為200Mhz, 100Mhz, 50Mhz, 25Mhz。這里還可以設置時鐘輸出的相位,我們不做設置,保留默認相位, 點擊 OK完成,

o4YBAGAY4bGAaQMIAACqzSQFtsM958.jpg

5. 然后點擊Generate按鈕生成PLL IP的設計文件。

pIYBAGAY4bKATfX9AABfV44OCq0685.jpg

6. 這時一個 clk_wiz_0 IP會自動添加到我們的pll_test項目中, 用戶可以雙擊它來修改這個IP的配置。

o4YBAGAY4bOAdxOZAABvcOJEhCQ248.jpg

7. 我們再來編寫一個頂層設計文件來實例化這個PLL IP, 編寫pll_test.v代碼如下。

`timescale1ns/1ps//================================================================================//RevisionHistory://DateByRevisionChangeDescription//--------------------------------------------------------------------------------//2019/04/13lhj1.0Original//*******************************************************************************///////////////////////////////////////////////////////////////////////////////////modulepll_test(inputsys_clk,inputrst_n,outputclk_out,//pllclockoutputJ8_Pin3outputlocked);/////////////////////PLLIPcall////////////////////////////clk_wiz_0clk_wiz_0_inst(//Clockinports.clkin1(sys_clk),//IN50Mhz//Clockoutports.clkout0(),//OUT200Mhz.clkout1(),//OUT100Mhz.clkout2(),//OUT50Mhz.clkout3(clk_out),//OUT25Mhz
//Statusandcontrolsignals
.pll_rst(~rst_n),//RESETIN.pll_lock(locked));//OUTendmodule

程序中先用實例化clk_wiz_0, 把單端50Mhz時鐘信號輸入sys_clk到clk_wiz_0的clkin1,把clk_out3的輸出賦給clk_out。

8. 保存工程后,pll_test自動成為了top文件,clk_wiz_0成為Pll_test文件的子模塊。

pIYBAGAY4bOAaSp8AAEW50j4wlo592.jpg

9. 再為工程進行管腳約束,這里不做介紹,見教程《LED流水燈實驗及仿真》中的內容。

注意:例化的目的是在上一級模塊中調用例化的模塊完成代碼功能,在Verilog里例化信號的格式如下:模塊名必須和要例化的模塊名一致,包括信號名也必須一致,模塊與模塊之間的連接信號不能相互沖突,否則會產生編譯錯誤。

o4YBAGAY4bSAQPRGAAAORsS4ddA975.jpg

5. Modelsim 仿真PLL輸出波形

創建仿真文件vtf_pll_test.v文件,鼠標右鍵點擊仿真文件,點擊“run Behavior Simulation”會打開Modelsim軟件進行波形仿真。仿真文件和仿真波形如圖所示:

pIYBAGAY4bWAfu-aAAB5FWgSf64891.jpgo4YBAGAY4baAKTtFAABZY4zywis633.jpg

波形圖中 sys_clk為50MHz的系統時鐘,rst_n為復位信號,clk_out為PLL輸出的25MHz,locked為波形穩定輸出鎖定。

6. 測量PLL輸出波形

編譯工程并生成pll_test.sbit文件,再把sbit文件下載到FPGA中,接下去我們就可以用示波器來測量輸出時鐘波形了。

用示波器探頭的地線連接到開發板上的地(開發板J8的PIN1腳),信號端連接開發板J8的PIN3腳(測量的時候需要注意,避免示波器表頭碰到其它管腳而導致電源和地短路)。

這時我們可以在示波器里看到25Mhz的時鐘波形,波形的幅度為3.3V, 占空比為1:1,波形顯示如下圖所示:

pIYBAGAY4beAStWKAAErDAdDrgs341.jpg

如果您想輸出其它頻率的波形,可以修改時鐘的輸出為clk_wiz_0的clkout0或clkout1或clkout2。也可以修改clk_wiz_0的clkout3為您想要的頻率,這里也需要注意一下,因為時鐘的輸出是通過PLL對輸入時鐘信號的倍頻和分頻系數來得到的,所以并不是所有的時鐘頻率都可以用PLL能夠精確產生的,不過PLL也會自動為您計算實際輸出接近的時鐘頻率。

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

    關注

    1608

    文章

    21358

    瀏覽量

    594369
  • pll
    pll
    +關注

    關注

    6

    文章

    745

    瀏覽量

    134639
  • 時鐘
    +關注

    關注

    10

    文章

    1481

    瀏覽量

    130378
  • PDS
    PDS
    +關注

    關注

    2

    文章

    28

    瀏覽量

    15174
  • 紫光同創
    +關注

    關注

    5

    文章

    72

    瀏覽量

    27308
收藏 人收藏

    評論

    相關推薦

    紫光同創國產FPGA教程】——(PGL22G第一)LED流水燈實驗例程

    \PDS2022.1; (2)PSD 軟件 license 申請: 方法一:通過紫光同創官網申請 license,官網鏈接:https://www.pangomicro.com/; 方法二:虛擬網卡設置 MAC
    發表于 01-02 18:04

    國產FPGA介紹-紫光同創

    紫光同創紫光集團旗下紫光國微的子公司,成立于2013年,有十余年可編程邏輯器件研發經歷,布局覆蓋高中低端FPGA產品。 早在2015年,
    發表于 01-24 10:45

    基于嵌入式實時操作系統的程序設計技術 第四章 周航慈 ...

    基于嵌入式實時操作系統的程序設計技術 第四章 周航慈 編著
    發表于 08-20 13:25

    【ALIENTEK 戰艦STM32開發板】STM32開發指南--第四章 下載與調試

    第四章 下載與調試 上一,我們學會了如何在MDK創建STM32工程。本章,我們將向讀者介紹STM32的代碼下載以及調試。這里的調試包括了軟件仿真和硬件調試(在線調試)。通過本章的學習,你將了解到
    發表于 01-10 15:45

    第四章嵌入式結構設計2

    第四章嵌入式結構設計2
    發表于 09-26 13:58

    《測控電路》習題完整參考答案(第四章

    《測控電路》習題完整參考答案(第四章
    發表于 05-06 23:46

    從零開始學電子元器件_第四章_晶體二極管的識別與檢測

    從零開始學電子元器件_第四章_晶體二極管的識別與檢測
    發表于 10-24 15:31

    軟件測試之第四章 微型計算機的組成 精選資料分享

    第四章 微型計算機的組成一、 計算機發展史1 第一臺電子計算機的誕生ENIAC(電子數字積分計算機)安尼亞克1、946 年 2 月 14 日,于美國賓夕法尼亞大學、研、制成功,次日宣布。2、被美國
    發表于 07-29 07:49

    【視頻教程】紫光同創FPGA教程@PDS軟件使用流程

    【視頻教程】紫光同創FPGA教程@PDS軟件使用流程#本視頻從新建工程、添加源文件、物理約束、下載配置文件介紹了Pango Design Suite快速入門及基本操作流程,展示Synt
    發表于 06-12 16:58

    【視頻教程】紫光同創PDS軟件開發平臺視頻教程之IP使用及仿真

    【視頻教程】紫光同創PDS軟件開發平臺視頻教程之IP使用及仿真~
    發表于 06-13 15:06

    紫光同創國產FPGA教程】【PGC1/2KG第一】控制LED燈實驗例程

    適用于板卡型號: 紫光同創PGC1/2KG開發平臺(盤古1K/2K) 一:盤古1K/2K開發板(紫光同創PGC2KG開發平臺)簡介 盤古1/2K 開發板是一套基于
    發表于 08-08 11:49

    紫光同創國產FPGA教程】【PGC1/2KG第二】LED 流水燈實驗例程

    適用于板卡型號: 紫光同創PGC1/2KG開發平臺(盤古1K/2K) 一:盤古1K/2K開發板(紫光同創PGC2KG開發平臺)簡介 盤古1/2K 開發板是一套基于
    發表于 08-09 11:58

    紫光同創FPGA開發套件,高性能國產FPGA方案

    紫光同創FPGA開發套件,高性能國產FPGA方案,100%國產化,全系列產品,方案可定制,滿足多
    發表于 11-16 17:25

    自動控制原理第四章_根軌跡法

    自動控制原理第四章_根軌跡法課件,學習的基礎資料。
    發表于 09-02 16:54 ?0次下載

    數字信號處理 第四章

    數字信號處理 第四章
    發表于 10-19 09:31 ?7次下載
    數字信號處理 <b class='flag-5'>第四章</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>