|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
PLL(Phase Locked Loop)为锁相环。FPGA中的锁相环通常由PFD(鉴频鉴相器)、CP(电荷泵)、LF(滤波器)、VCO(压控振荡器)组成。一般晶体振荡器由于工艺和成本原因达不到高频信号输出。高频电子线路中,需要外部信号与内部的振荡信号同步。一路输入时钟需要生成多路时钟信号。以上几种问题就需要通过PLL来实现。1 B6 g+ A) d9 J2 _' X8 A/ l
PLL的内部结构如下图所示:% y0 }- ]) `% c7 q. q2 T4 V
; B7 h' _5 y& I: `. L/ f! }+ P
" K S. v/ @8 D以下通过图例来说明生成PLL IP核(所用软件为Vivado):( E( U" [3 u3 L8 U+ @+ N" D/ Y6 q0 j3 S
9 A: @/ w( Z2 W2 w8 j5 U% e }5 ^" P; I: X7 C; ~( U- }
1、 新建工程,点击PROJECT MANAGER 界面下的 IP Catalog,如下图所示:
% ~& O- G8 {7 s1 [6 Y d2、 在 IP Catalog 界面里选择 FPGA Features and Design\Clocking 下面的 Clocking Wizard,双击打开 配置界面。如下图所示:
6 Q: Z: T- j4 Z3 I3、 在第一个界面 Clocking Options 里,
! D) A* u8 P- ^我们选择 PLL 资源,输入的时钟频率为200Mhz。如下图所示:
+ u* S* N( b. P, y6 s- N4、 在 Output Clocks 界面里选择 clk_out1~clk_out4 四个时钟的输出,频率分别为 200Mhz, 100Mhz, 50Mhz, 25Mhz。这里还可以设置时钟输出的相位,我们不做设置,保留默认相位, 点击 OK 完成。如下图所示:
& I3 _: _1 V7 M5 u1 x5、 在弹出的对话框中点击 Generate 按钮生成 PLL IP 的设计文件。如下图所示:" V. d H& J- H4 y0 _
6、 这时一个 clk_wiz_0.xci 的 IP 会自动添加到新建的项目中, 用户可以双击它来修改这个 IP 的配置。如下图所示:. v% V8 [( e0 e- S; i
& f0 |, T3 [& }1 o2 ^0 T% b; m
- r* m, H- o7 [9 T- z7、 这样就可以编写顶层文件来例化PLL IP。如下为FPGA中的接口例化:
. A1 U% E" _. ]模块名 扩展名
" c9 e2 J* ]- X1 E(! L# u! X! l# d6 e: m1 ~! S
.模块信号1 (连接信号1),# e: s% r5 X' z* e$ A F) t2 X
.模块信号1 (连接信号1),
5 V3 ]) i( X+ ?8 V.模块信号1 (连接信号1),
4 M# ^2 d; h4 J9 y………………………………………………
_; ]: E2 ]- f3 Z, X* [4 s! ?.模块信号1 (连接信号1),* q5 _; e8 A* w p) P
);1 ?' W- u$ ^' l
例化的目的是在上一级模块中调用已例化的模块完成代码功能。在FPGA中,模块名必须与要例化的模块名一致。
: q$ g+ f* K0 t j5 h' a# \& i" o0 g! y W4 C
) R- a) u' }3 x T
|
|