EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——锁相环之战 3 Y2 D, X, p% \" ^
% ^$ {! E7 q: U: F. ]6 }6 o经过前面的学习,相信大家已经掌握了软件的基本操作和设计的基本流程,接下来我们开始学习 FPGA片内时钟管理单元PLL,该单元可以实现系统时钟的分频、倍频,是FPGA设计开发必备组件之一。 首先新建工程如下: ( Q0 Q$ h& G. t' ?) V% Q/ r4 s
点击Tools- ![]() 弹出如下窗口: 我们要新建一个新的IP,所以直接默认选择第一个就可以,点击 ![]() 在 ![]() 中选择 ![]() 在 ![]() 一列填写IP核名称,如下所示: 点击 ![]() Areset为PLL的复位信号,高电平有效;locked为PLL输出有效标志,高电平有效,平时也可以选择不使用。接下来我们需要设置PLL输入时钟的频率(50MHZ外部晶振) 点击 ![]() 我们可以把这两个选项去掉 点击 ![]() 点击 ![]() 点击 ![]()
- J! ~0 Y) M; P& N C' v: {点击- ~% k, U; |# O8 U6 E+ J3 [. J
0 I+ d0 y7 ?/ x% D3 g# H7 j: ]
/ w; }. D, \ W
5 b2 T" k% t( P8 `4 {( E! u b- y
- b6 Z1 t b; O
选择 并输入想要输出的频率(200MHZ)$ y& A9 e$ K4 D! ~* [3 O
% b8 t; b# S' X1 v' V; A- i0 ~
+ r" }8 @4 H! z( G: g% c8 ^
( c% @0 c* K) P9 `" L4 U' [
% ?+ Q/ @2 f, ?8 ?" } & y# D, ?/ A2 t( @# q
|7 |% z: |: {5 _8 Q% r
点击/ u \, x: _. H) `
$ f# {* L% U) ]' r. |
: b" B4 B: z9 X/ e% h
8 z& i l& K$ |* R4 k8 }! n
通过选择 ,可以选择是否多设置一路输出时钟,PLL可以设置多路不同频率的输出时钟,这里我们只选择一路输出,所以可以直接点击
3 f8 q- z6 H2 @2 A8 ?! k% q- n
, q7 X# H* `5 G# d; N: N + r0 @" s- q: ~9 t9 E4 }. f
# ?: Z9 r6 F, j/ F) ^7 `/ t
继续点击退出即可。
" _- J* s4 A* P$ T/ M) t3 u1 I+ x% t) Y! }0 c. }' ^
通过以上过程,我们已经成功的建立了一个输出时钟为200MHZ的PLL,接下来我们需要通过仿真来查看PLL输出的频率是否和咱们预期的一致。
* K/ W7 R" x) F新建一个顶层文件并保存 在该顶层文件中实例化刚才生成的PLL,代码如下: 接下来需要编写测试文件
# D+ r3 m5 a0 |+ A, g5 i' D8 ]在setting里面设置testbench以后,调用modelsim仿真,查看频率是否正确 由仿真波形可以看出,时钟输出端C0的频率为时钟输入端inclk0的四倍,满足设计要求,说明锁相环设置正确。 # g- t! I1 v0 N9 `$ ]
4 C. o: p! x6 t5 ]2 v8 l9 M |