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
    +关注

    关注

    1600

    文章

    21281

    浏览量

    592877
  • pll
    pll
    +关注

    关注

    6

    文章

    739

    浏览量

    134569
  • 时钟
    +关注

    关注

    10

    文章

    1479

    浏览量

    130295
  • PDS
    PDS
    +关注

    关注

    2

    文章

    28

    浏览量

    15169
  • 紫光同创
    +关注

    关注

    4

    文章

    68

    浏览量

    27242
收藏 人收藏

    评论

    相关推荐

    紫光同创国产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>