FPGA学习之路——PLL的使用

  锁相环(PLL)主要用于频率综合,使用一个 PLL 可以从一个输入时钟信号生成多个时钟信号。 PLL 内部的功能框图如下图所示: 

  在ISE中新建一个PLL的IP核,设置四个输出时钟,分别为25MHz、50MHz、75MHz和100MHz,配置如图所示:

  

  之后,再在程序中例化IP核,程序设计如下:

 1 `timescale 1ns / 1ps
 2 //////////////////////////////////////////////////////////////////////////////////
 3 // Company: 
 4 // Engineer: 
 5 // 
 6 // Create Date:    11:11:34 03/26/2018 
 7 // Design Name: 
 8 // Module Name:    pll_test 
 9 // Project Name: 
10 // Target Devices: 
11 // Tool versions: 
12 // Description: 
13 //
14 // Dependencies: 
15 //
16 // Revision: 
17 // Revision 0.01 - File Created
18 // Additional Comments: 
19 //
20 //////////////////////////////////////////////////////////////////////////////////
21 module pll_test(
22     input    clk,
23     input    reset,
24     output pll_clk_1,
25     output pll_clk_2,
26     output pll_clk_3,
27     output pll_clk_4,
28     output locked
29     );
30 
31     pll_ip pll_ip_inst
32     (
33         .CLK_IN1(clk), // IN 50Mhz
34         // Clock out ports
35         .CLK_OUT1(pll_clk_1), // OUT 25Mhz
36         .CLK_OUT2(pll_clk_2), // OUT 50Mhz
37         .CLK_OUT3(pll_clk_3), // OUT 75Mhz
38         .CLK_OUT4(pll_clk_4), // OUT 100Mhz
39         // Status and control signals
40         .RESET(reset),// IN
41         .LOCKED(locked)// OUT
42     ); 
43 endmodule

仿真结果;

  可以看到,锁相环的IP核是高电平复位,当所有的输出时钟都稳定之后,locked信号拉高,这时之后的输出时钟可用。

posted @ 2018-03-26 12:36  行舟人  阅读(10392)  评论(0编辑  收藏  举报