EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——锁相环之战
$ c; y2 H# K$ E4 W* N$ Z) S$ X+ A @
经过前面的学习,相信大家已经掌握了软件的基本操作和设计的基本流程,接下来我们开始学习 FPGA片内时钟管理单元PLL,该单元可以实现系统时钟的分频、倍频,是FPGA设计开发必备组件之一。 首先新建工程如下: ( Q, M' H7 |9 r& b7 f: v6 t4 X4 r
点击Tools- ![]() 弹出如下窗口: 我们要新建一个新的IP,所以直接默认选择第一个就可以,点击 ![]() 在 ![]() 中选择 ![]() 在 ![]() 一列填写IP核名称,如下所示: 点击 ![]() Areset为PLL的复位信号,高电平有效;locked为PLL输出有效标志,高电平有效,平时也可以选择不使用。接下来我们需要设置PLL输入时钟的频率(50MHZ外部晶振) 点击 ![]() 我们可以把这两个选项去掉 点击 ![]() 点击 ![]() 点击 ![]() ; z5 r7 K. z1 q$ `
点击
1 q* x) G6 ?* B- | 8 H1 h# L" o( C$ [( E i7 w! W' Z
9 G" c5 A1 _5 ?' ]8 t5 ]: t5 R' y' t- e2 \0 M
4 z! f( ]* b! Q* w `选择 并输入想要输出的频率(200MHZ). R; m( s' g x8 V
& f9 A/ n L2 m
D5 X/ j) R0 q4 ]
' L, F# f' L/ r0 k+ E0 u
# E! |! i, {0 w1 x# @$ Z$ g
* f+ L; C. @7 n/ k U9 K( ~
$ e& v' O5 S3 x" C' \4 ^点击
7 Z- w9 H2 J& f n% G' u
0 s& m7 Z2 B. y/ R
6 x& i+ H6 E. B' b3 g/ O) b T/ S* C& e) {/ J! G/ Z
通过选择 ,可以选择是否多设置一路输出时钟,PLL可以设置多路不同频率的输出时钟,这里我们只选择一路输出,所以可以直接点击
" i. T6 G9 z8 m+ ?5 w. H% V
, o; X+ L8 L: u, O; Y) s o5 ^- @
' |& |/ F% B) D7 \) F ]
1 J0 T$ h: Q$ q/ V继续点击退出即可。0 x8 E k1 F* I) `5 v; U+ M: F/ D
* {( r8 Y" J7 g6 v4 |' G
通过以上过程,我们已经成功的建立了一个输出时钟为200MHZ的PLL,接下来我们需要通过仿真来查看PLL输出的频率是否和咱们预期的一致。 5 V9 B. y! d0 @" D2 S/ _
新建一个顶层文件并保存 在该顶层文件中实例化刚才生成的PLL,代码如下: 接下来需要编写测试文件 % P5 \0 i. d$ ?4 J
在setting里面设置testbench以后,调用modelsim仿真,查看频率是否正确 由仿真波形可以看出,时钟输出端C0的频率为时钟输入端inclk0的四倍,满足设计要求,说明锁相环设置正确。 ) r: k% I; ?( k I6 [, y4 |
0 y" n" e; f4 A1 b6 C" v4 i; P1 c& @ |