PLL ref clock
时间: 2023-11-18 10:16:08 浏览: 34
PLL的参考时钟可以由common clock(外部背板提供)、separate clock(自身板级提供)或从接收数据流中恢复出来。常用的common clock模式支持时钟扩频,对时钟要求不如separate clock高。而在PCIe中,参考时钟由板级输入,提供给IP内PHY层的PLL使用,由PLL产生core_clk和pipe_clk。对于数据时钟恢复的refclk的产生方法,物理层内部增加了补偿电路,当发送时钟和接收时钟频率差距较大时需要进行时钟补偿。如果发送时钟频率高于接收时钟频率达600ppm,则从缓冲区中删除一个SKP符号;如果发送时钟频率低于接收时钟频率达600ppm,则向缓冲区中添加一个SKP符号。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
相关问题
spartan3 调用pll
在Spartan-3 FPGA中,您可以使用Digital Clock Manager (DCM)来实现PLL。要使用PLL,您需要先实例化DCM并将其配置为所需的时钟频率和相位。
下面是一个实例化DCM的VHDL代码:
```vhdl
-- 实例化DCM并将其配置为将输入时钟频率提高4倍
-- 并将输出时钟频率设置为100MHz
-- 这里使用的输入时钟频率为50MHz
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
entity DCM_example is
Port ( clk_in : in STD_LOGIC;
clk_out : out STD_LOGIC;
reset : in STD_LOGIC);
end DCM_example;
architecture Behavioral of DCM_example is
-- DCM的输入时钟频率为50MHz
constant F_IN : integer := 50_000_000;
-- DCM的输出时钟频率为100MHz
constant F_OUT : integer := 100_000_000;
-- 计算DCM的输出分频系数
constant DIVIDE : integer := F_IN / F_OUT;
-- 实例化DCM
component DCM_SP is
generic (
CLKIN_PERIOD : time := 20 ns;
CLKFX_MULTIPLY : integer := 4;
CLKFX_DIVIDE : integer := DIVIDE;
CLKFX_MD_MAX : integer := 0;
CLKFX_MULTIPLY_FRACT : integer := 0;
CLKFX_DIVIDE_FRACT : integer := 0;
CLKFBOUT_MULT_F : STD_LOGIC := '0';
CLKFBOUT_PHASE : STD_LOGIC := '0';
CLKFBOUT_USE_FINE_PS : STD_LOGIC := '0';
REF_JITTER : time := 0.2 ns;
CLKIN_DIVIDE_BY_2 : boolean := false;
STARTUP_WAIT : boolean := false
);
port (
CLKIN : in STD_LOGIC;
CLKFBIN : in STD_LOGIC;
RST : in STD_LOGIC;
CLKFX : out STD_LOGIC;
CLKFBOUT : out STD_LOGIC;
LOCKED : out STD_LOGIC
);
end component DCM_SP;
-- 将DCM实例化并将其连接到输入时钟信号
-- 这里假设使用的时钟信号为50MHz
-- 如果使用其他时钟信号,需要相应地调整CLKIN_PERIOD参数
-- 这里的CLKFBIN连接到CLKFX,表示使用反馈时钟输出
-- LOCKED输出表示DCM已经锁定
signal locked : STD_LOGIC;
signal clkfb : STD_LOGIC;
signal clkfx : STD_LOGIC;
begin
DCM_inst : DCM_SP
generic map (
CLKIN_PERIOD => 20 ns, -- 输入时钟周期
CLKFX_MULTIPLY => 4, -- 输出时钟频率是输入时钟频率的4倍
CLKFX_DIVIDE => DIVIDE -- 输出时钟分频系数
)
port map (
CLKIN => clk_in, -- 输入时钟
CLKFBIN => clkfx, -- 反馈时钟
RST => reset, -- 复位信号
CLKFX => clkfx, -- 输出时钟
CLKFBOUT => clkfb, -- 反馈时钟输出
LOCKED => locked -- 锁定信号
);
-- 将输出时钟连接到clk_out端口
clk_out <= clkfx;
end Behavioral;
```
在上面的代码中,我们实例化了一个名为DCM_inst的DCM,并将其配置为将输入时钟频率提高4倍,将输出时钟频率设置为100MHz。我们还将输入时钟信号连接到DCM_inst的CLKIN端口,将输出时钟信号连接到clk_out端口。
注意,在实例化DCM时,我们需要根据输入时钟频率和输出时钟频率来计算输出分频系数。在上面的代码中,我们使用常量DIVIDE来保存输出分频系数的值。
此外,我们还将DCM的锁定信号连接到了一个名为locked的信号上。当DCM锁定时,locked信号将变为逻辑高电平。在实现PLL时,我们通常需要使用locked信号来确保输出时钟已经稳定。
spartan XC3S400调用一个pll IP 将48m晶振输入时钟倍频输出多个时钟
好的,您可以将以下代码用于调用Spartan XC3S400中的PLL IP来实现48MHz晶振倍频输出多个时钟:
```
// Include the PLL IP library
`include "pll_library.v"
// Instantiate a PLL IP module
pll_inst pll (
.ref_clk (input_clk), // Input clock from 48MHz crystal oscillator
.out_clk_1 (output_clk_1), // Output clock 1
.out_clk_2 (output_clk_2), // Output clock 2
.out_clk_3 (output_clk_3), // Output clock 3
// Set PLL parameters for desired output frequencies
.feedback_type ("NON_INVERTED"),
.input_frequency (48),
.output_frequency_1 (100),
.output_frequency_2 (200),
.output_frequency_3 (300)
);
```
这里,我们使用了一个名为“pll_library.v”的PLL IP库,并实例化了一个名为“pll_inst”的PLL IP模块。该模块接收一个名为“input_clk”的输入时钟,该时钟是从48MHz晶振中衍生的,并输出三个时钟,“output_clk_1”、“output_clk_2”和“output_clk_3”,它们的频率分别为100MHz、200MHz和300MHz。在实例化PLL IP模块时,我们通过设置“feedback_type”、“input_frequency”、“output_frequency_1”、“output_frequency_2”和“output_frequency_3”参数来指定所需的输出频率。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![ZIP](https://img-home.csdnimg.cn/images/20210720083646.png)