PLL的学习(IP核调用)

PLL学习(IP核)

锁相环的功能:是产生特定频率的时钟信号,例如倍频信号。

使用IP核产生不同频率的时钟信号

  1. 新建一个 pll_test 的工程,点击 Project Manager 界面下的 IP Catalog
    image-20220327145638204
  2. 再在 IP Catalog 界面里选择 FPGA Features and Design\Clocking 下面的 Clocking Wizard,双击 打开配置界面。
    image-20220327145714949
  3. 默认这个 Clocking Wizard 的名字为 clk_wiz_0, 这里我们不做修改。在第一个界面 Clocking Options 里, 我们选择 PLL 资源,输入的时钟频率为 50Mhz。
    image-20220327145902988
  4. 在 Output Clocks 界面里选择 clk_out1~clk_out4 四个时钟的输出,频率分别为 200Mhz, 100Mhz, 50Mhz, 25Mhz。这里还可以设置时钟输出的相位,我们不做设置,保留默认相位, 点击 OK 完成,
    image-20220327150027898
  5. 在弹出的对话框中点击 Generate 按钮生成 PLL IP 的设计文件
    image-20220327150055503
  6. 这时一个 clk_wiz_0.xci 的 IP 会自动添加到我们的 pll_test 项目中, 用户可以双击它来修改 这个 IP 的配置。
    image-20220327150119761
  7. 选择 IP Sources 这页,然后双击打开 clk_wiz_0.veo 文件,这个文件里提供了这个 IP 的实例 化模板。我们只需要把框框的中内容拷贝到我们 verilog 程序中,对 IP 进行实例化
    image-20220327150149701

程序编写以及仿真

顶层文件

`timescale 1ns / 1ps
module PLL(
    input clk,
    input rst_n,
    output clk_out1,
    output clk_out2,
    output clk_out3,
    output clk_out4
    );
    
wire locked;//locked是一个输出信号
clk_wiz_0  clk_wiz_0_inst
  (
      // Clock out ports  
      .clk_out1(clk_out1),//output 25Mhz
      .clk_out2(clk_out2),//output 50Mhz
      .clk_out3(clk_out3),//output 100Mhz
      .clk_out4(clk_out4),//output 200Mhz
      // Status and control signals               
      .reset(~rst_n), 
      .locked(locked),
     // Clock in ports
      .clk_in1(clk)
  );
       
endmodule

测试文件

module PLL_tb(
    );
reg clk;
reg rst_n;
wire clk1;
wire clk2;
wire clk3;
wire clk4;
PLL PLL_test(
     .clk(clk),
     .rst_n(rst_n),
     .clk_out1(clk1),
     .clk_out2(clk2),
     .clk_out3(clk3),
     .clk_out4(clk4)
    );
initial
begin
// Initialize Inputs
 clk = 0;
 rst_n = 1 ;
 #1000 ;
 rst_n = 0;
end
//Create clock
always #10 clk = ~ clk;
endmodule

仿真结果

image-20220114195333540
本文参考的是黑金的教程,谢谢。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值