|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
PLL(Phase Locked Loop)为锁相环。FPGA中的锁相环通常由PFD(鉴频鉴相器)、CP(电荷泵)、LF(滤波器)、VCO(压控振荡器)组成。一般晶体振荡器由于工艺和成本原因达不到高频信号输出。高频电子线路中,需要外部信号与内部的振荡信号同步。一路输入时钟需要生成多路时钟信号。以上几种问题就需要通过PLL来实现。
# x2 T! _$ x+ \1 P% Z* SPLL的内部结构如下图所示:* |( k+ @* B6 J: t4 O1 G& y
v, a* [% b, l6 U7 H
& r: t4 k# l3 U: l6 h* |9 Q
以下通过图例来说明生成PLL IP核(所用软件为Vivado):1 v) B4 F8 n z# G: w# K
6 `8 z6 ^% L8 C. U( ]- T! Y% r
v2 s G3 \1 F. F/ N. O$ n1、 新建工程,点击PROJECT MANAGER 界面下的 IP Catalog,如下图所示:: ]9 R7 U* o; h
2、 在 IP Catalog 界面里选择 FPGA Features and Design\Clocking 下面的 Clocking Wizard,双击打开 配置界面。如下图所示:
" K2 A& z3 N# ~3、 在第一个界面 Clocking Options 里,
; I x# G/ S, I; Z# P9 ]我们选择 PLL 资源,输入的时钟频率为200Mhz。如下图所示:
( \ b% c2 s3 w% b Y9 T, c/ E% A4、 在 Output Clocks 界面里选择 clk_out1~clk_out4 四个时钟的输出,频率分别为 200Mhz, 100Mhz, 50Mhz, 25Mhz。这里还可以设置时钟输出的相位,我们不做设置,保留默认相位, 点击 OK 完成。如下图所示:
0 f* C0 K3 \1 x1 C% {5、 在弹出的对话框中点击 Generate 按钮生成 PLL IP 的设计文件。如下图所示:
6 Y+ y9 d# K% z6、 这时一个 clk_wiz_0.xci 的 IP 会自动添加到新建的项目中, 用户可以双击它来修改这个 IP 的配置。如下图所示:
9 V5 [5 ^9 U4 H' d' y3 z" k' e9 w# P4 |- d. l8 Y" {" [7 K. o) I, @3 R% n
5 ?! V. g, G2 \7 T! W; Q
7、 这样就可以编写顶层文件来例化PLL IP。如下为FPGA中的接口例化:
7 B) w `4 b* R- E% N& y模块名 扩展名" C& s5 c: a2 D2 n; _0 F
() H& ?7 m* B; k; D+ }
.模块信号1 (连接信号1),/ j0 |; t$ M% F
.模块信号1 (连接信号1),, b, M4 S2 D& i' v, v1 X; G
.模块信号1 (连接信号1),. x+ X$ d, X. f5 ^1 a' r
………………………………………………
6 k" o8 w9 s1 \5 `8 {1 k.模块信号1 (连接信号1),2 I! o+ l$ s! f, s2 q. L+ ?$ c
);
9 L( S% H7 g: \! A v9 U- a& M例化的目的是在上一级模块中调用已例化的模块完成代码功能。在FPGA中,模块名必须与要例化的模块名一致。) g" T" A( g1 F- x0 l* X
( j9 q8 c# N1 W$ x- z
- B$ {( [0 E; s" D6 p
|
|