|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
PLL(Phase Locked Loop)为锁相环。FPGA中的锁相环通常由PFD(鉴频鉴相器)、CP(电荷泵)、LF(滤波器)、VCO(压控振荡器)组成。一般晶体振荡器由于工艺和成本原因达不到高频信号输出。高频电子线路中,需要外部信号与内部的振荡信号同步。一路输入时钟需要生成多路时钟信号。以上几种问题就需要通过PLL来实现。: z; b5 h2 z/ u
PLL的内部结构如下图所示:0 d- }: d! u6 G8 }6 i9 C% m
* ^! x6 x J" Y& h# C% w* U2 j
以下通过图例来说明生成PLL IP核(所用软件为Vivado):1 S' M& n1 s) p" M
0 Y+ _6 U) w+ v/ W
: A4 t' t# ~2 Z2 e! l- v
1、 新建工程,点击PROJECT MANAGER 界面下的 IP Catalog,如下图所示:8 |1 W7 n8 E4 g' R
2、 在 IP Catalog 界面里选择 FPGA Features and Design\Clocking 下面的 Clocking Wizard,双击打开 配置界面。如下图所示:# i( p' v0 s1 j8 k7 |
3、 在第一个界面 Clocking Options 里,/ I" Y5 N! }+ {; U |' y
我们选择 PLL 资源,输入的时钟频率为200Mhz。如下图所示:# Q1 g' \8 B V5 S: Z
4、 在 Output Clocks 界面里选择 clk_out1~clk_out4 四个时钟的输出,频率分别为 200Mhz, 100Mhz, 50Mhz, 25Mhz。这里还可以设置时钟输出的相位,我们不做设置,保留默认相位, 点击 OK 完成。如下图所示:
2 y' m6 [( u$ B5 @5 K0 l5、 在弹出的对话框中点击 Generate 按钮生成 PLL IP 的设计文件。如下图所示:
# [2 s& l! F, v# R' K6、 这时一个 clk_wiz_0.xci 的 IP 会自动添加到新建的项目中, 用户可以双击它来修改这个 IP 的配置。如下图所示:
4 A8 ?& _6 J3 _4 X! _. T
6 t/ P3 U1 y+ J, K
0 s9 d7 z& O9 M9 T+ l2 q' E- d) ?( S1 f7、 这样就可以编写顶层文件来例化PLL IP。如下为FPGA中的接口例化:, E$ z# ^) i6 V) K1 _
模块名 扩展名
( Y0 ?+ B4 v: M W(+ i& P. O/ ?7 @& h) X6 e5 ]" F
.模块信号1 (连接信号1),
3 U0 d2 x: [ t& ]+ ]% \.模块信号1 (连接信号1),
: C a$ ^( U6 I.模块信号1 (连接信号1),% k. @. ?/ ?- i2 M' D
………………………………………………5 H) @ `( E# C
.模块信号1 (连接信号1),/ k7 U" k( t$ D4 ]
);
5 e8 H/ c- Y3 k- F8 [ t例化的目的是在上一级模块中调用已例化的模块完成代码功能。在FPGA中,模块名必须与要例化的模块名一致。3 R4 g" ]- C+ J; X6 x
' A3 Y: ^/ c* e, _* F& E# T
. a0 p( G7 x" n0 B |
|