29.PLL(锁相环)-IP核的调用

(1)PLL IP核的简介:

        Phase Locked Loop,即锁相环,是最常用的IP核之一,其性能强大,可以对输入到FPGA的时钟信号进行任意分频、倍频、相位调整、占空比调整,从而输出一个期望时钟。锁相环分为两种锁相环:模拟锁相环、数字锁相环。模拟锁相环相比较数字锁相环性能更优,但温度过高,容易失锁。

FD:鉴频                                               PD:鉴相

LF:环路滤波器(滤除高频噪声)      VCO:压控振荡器(电压越高,生成的信号频率越高)

DIV:分频器

(2)PLL在Vivado软件中的配置过程:

CMT:时钟管理器   A7中有24个时钟管理器,MMCM包含PLL所有功能,还能实现一些额外的功能,可以输出差分信号,可以实现精确相位信号的输出。

查找IP核:

输入信号的配置:

板卡晶振为50MHz

输出信号的设置:

第一路信号为100MHz,相位与占空比与输入信号保持一致。

第二路信号为25MHz,相位与占空比与输入信号保持一致。

第三路信号为100MHz,但相位相比较输入信号偏移90°。

第四路信号为100MHz,但占空比降低为20%。

复位信号可以取消:

点击ok之后,跳转到生成IP界面:

veo文件中有可以例化的模板:

(3)PLL在Vivado软件中的调用:

(4)PLL仿真代码:

`timescale 1ns / 1ps

module pll_tb;

    reg   clk         ;      
    wire  clk_100M    ;
    wire  clk_25M     ;
    wire  clk_s_90    ;
    wire  clk_d_20    ;
    wire  locked      ;
    
    pll pll_inst(
        .clk        (clk      ),
        .clk_100M   (clk_100M ),
        .clk_25M    (clk_25M  ),
        .clk_s_90   (clk_s_90 ),
        .clk_d_20   (clk_d_20 ),
        .locked     (locked   )
    );
    
    
    initial clk = 1'd1;
    always #10 clk = ~clk;
    

endmodule

(5)仿真波形:

相关推荐

  1. vivado FPGA

    2024-07-12 15:44:01       17 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 15:44:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 15:44:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 15:44:01       58 阅读
  4. Python语言-面向对象

    2024-07-12 15:44:01       69 阅读

热门阅读

  1. Vue使用socket实现实时通信

    2024-07-12 15:44:01       25 阅读
  2. golang使用migrate迁移pg数据库表报错处理

    2024-07-12 15:44:01       22 阅读
  3. C#,开发过程中技术点GPT问答记录

    2024-07-12 15:44:01       19 阅读
  4. 学生管理系统(残缺版)

    2024-07-12 15:44:01       21 阅读
  5. IPython多核并行编程指南:并发任务处理

    2024-07-12 15:44:01       22 阅读
  6. 【LeetCode】快乐数

    2024-07-12 15:44:01       21 阅读
  7. 数据分析如何正确地学习与使用

    2024-07-12 15:44:01       21 阅读
  8. MySQL 常用功能

    2024-07-12 15:44:01       25 阅读