200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 锁相环(倍频 分频 利用开发板固有频率+内部专用电路 产生特定需求的时钟信号)

锁相环(倍频 分频 利用开发板固有频率+内部专用电路 产生特定需求的时钟信号)

时间:2020-07-20 04:21:13

相关推荐

锁相环(倍频 分频 利用开发板固有频率+内部专用电路 产生特定需求的时钟信号)

一般来说,开发板的时钟是由板上的晶振产生的,频率大部分是固定的,但是我们在应用中有时候需要其他频率的时钟信号。为了解决这个问题,FPGA内部会留有专门的设置电路——时钟管理单元(硬件资源),利用已有的时钟信号来产生其他的时钟信号。

比如晶振50MHz,我们需要125MHz的时钟信号,这时候就需要用锁相环来配置。

常用的时钟管理单元 clocking wizard 有 PLL 和 MMCM 两种锁相环 。PLL是模拟电路,精度高,稳定,价格较贵,MMCM是数字电路,价格便宜。

Vivado中有clocking wizard的IP核可以直接调用,在这里我们直接设置好 input clock frequency , outputput clock frequency (phase ) , locked 三个信号即可。(一个IP核可以根据一个输入时钟信号输出多个不同的时钟信号)。locked信号是输出时钟信号达到稳定的标志。

配置锁相环

注意:1.内部模块中不需要用到的端口可以直接不接。

2.例化模板直接在下图找。

代码:

module PLL_MMCM(//学会配置锁相环,clk,reset,locked_PLL,locked_MMCM,clk_ctrl_pll,clk_ctrl_mmcm_1,clk_ctrl_mmcm_2);input clk ;input reset ;output locked_PLL ;output locked_MMCM ;output clk_ctrl_pll ;output clk_ctrl_mmcm_1 ;output clk_ctrl_mmcm_2 ;PLL PLL(.clk_out1(clk_ctrl_pll),.reset(reset), // input reset.locked(locked_PLL), // output locked.clk_in1(clk)); MMCM MMCM(// Clock out ports.clk_out1(clk_ctrl_mmcm_1),// output clk_out1.clk_out2(clk_ctrl_mmcm_2),// output clk_out2// Status and control signals.reset(reset), // input reset.locked(locked_MMCM), // output locked// Clock in ports.clk_in1(clk)); endmodule

`timescale 1ns / 1nsmodule PLL_MMCM_tb();reg clk ;reg reset ;wire locked_PLL ;wire locked_MMCM ;wire clk_ctrl_pll ;wire clk_ctrl_mmcm_1 ;wire clk_ctrl_mmcm_2 ;PLL_MMCM PLL_MMCM(//clk,reset,locked_PLL,locked_MMCM,clk_ctrl_pll,clk_ctrl_mmcm_1,clk_ctrl_mmcm_2);initial clk = 1 ;always #10 clk = ! clk ;initial begin reset = 1 ;#201 ;reset = 0 ;#200000 ;$stop ;endendmodule

结果:

PLL较快达到输出稳定(locked先高电平)

设置的90相位差有效。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。