FPGA-PLL锁相环学习笔记

PLL(phase-locked loop),即锁相环。是 FPGA 中的重要资源。由于一个复杂的 FPGA 系统往 往需要多个不同频率,相位的时钟信号。所以,一个 FPGA 芯片中 PLL 的数量是衡量 FPGA 芯片 能力的重要指标。FPGA 的设计中,时钟系统的 FPGA 高速的设计极其重要,一个低抖动, 低延 迟的系统时钟会增加 FPGA 设计的成功率。 本实验将通过使用 PLL, 输出一个方波到开发板上的扩展口(AX7020/AX7010 开发板 J11 的 PIN3 脚),来给大家演示在 Vivado 软件里使用 PLL 的方法。

1.打开VIVADO页面,(这是完成pll之后的页面,新开的页面不同)

2.新建一个 pll_test 的工程,点击 Project Manager 界面下的 IP Catalog。

3.再在 IP Catalog 界面里选择 FPGA Features and Design\Clocking 下面的 Clocking Wizard,双击 打开配置界面。

 

4.默认这个 Clocking Wizard 的名字为 clk_wiz_0, 这里我们不做修改。在第一个界面 Clocking Options 里, 我们选择 PLL 资源,输入的时钟频率为 50Mhz。

 

5.在 Output Clocks 界面里选择 clk_out1~clk_out4 四个时钟的输出,频率分别为 200Mhz, 100Mhz, 50Mhz, 25Mhz。这里还可以设置时钟输出的相位,我们不做设置,保留默认相位, 点击 OK 完成,

 

6.在弹出的对话框中点击 Generate 按钮生成 PLL IP 的设计文件。

 

7.这时一个 clk_wiz_0.xci 的 IP 会自动添加到我们的 pll_test 项目中, 用户可以双击它来修改 这个 IP 的配置。

 

8.选择 IP Sources 这页,然后双击打开 clk_wiz_0.veo 文件,这个文件里提供了这个 IP 的实例 化模板。我们只需要把框框的中内容拷贝到我们 verilog 程序中,对 IP 进行实例化 点击 add sources,点击 Design sources 进行编写,代码如下

 

module PLL(
input sys_clk,
input reset,
output clk

    );
   wire locked;
   clk_wiz_0 instance_name
   (
    // Clock out ports
    .clk_out1( ),     // output clk_out1
    .clk_out2( ),     // output clk_out2
    .clk_out3( ),     // output clk_out3
    .clk_out4(clk),     // output clk_out4
    // Status and control signals
    .reset(~reset), // input reset
    .locked(locked),       // output locked
   // Clock in ports
    .clk_in1(sys_clk));      // input clk_in1

endmodule

9.为仿真做准备,写 tb测试文件,点击 add sources,点击 simulation sources 进行编写


module PLLtb(

    );
 
 
reg clk;
reg rst;
wire clk_out;
 
  PLL  lu(
    .sys_clk(clk),
    .reset(rst),
    .clk(clk_out)
     
    );
   initial
   begin
   clk=0;
   rst=0;
   #1000;
   rst=1;
   
   end
   always #10 clk=~clk;
    
endmodule

 10 仿真结果出来后,添加io口引脚,open implemented design ,结合手册分别找到时钟,复位,输出引脚。

11.下入板子

 12.频率正确25Mhz

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值