1854|0

56

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

玩转Zynq连载22——[ex03] 基于Zynq PL的PLL配置实例 [复制链接]

1 概述

         本实例通过PLL产生的不同频率的时钟,分别驱动3LED指示灯闪烁一样的频率。本实例的重点其实不是LED,而是IP核的应用,当然,仅以PLL IP核为例。

 

2 模块化设计

         参考文档《玩转Zynq-基础篇:基于FPGA的模块化设计.pdf》。

 

3 PLL IP核添加配置

    3.1Vivado标准IP核概述

         我们常说的IP核,也就是知识产权Intellectual Property),是那些己验证的、可重利用的、具有某种确定功能的设计功能模块。IP核一般分为软IPsoft IP core)、固IPfirm IP core)和硬IPhard IP core)。软IP是用某种高级语言来描述功能块的行为,但是并不涉及用什么电路和电路元件实现这些行为。固IP除了完成软IP所有的设计外,还完成了门电路级综合和时序仿真等设计环节,一般以门电路级网表形式提交用户使用。硬IP则是完成了综合的功能块,已有固定的拓扑布局和具体工艺,并己经经过工艺验证,具有可保证的性能。设计深度愈深,后续工序所需要做的事情就越少,但是灵活性也就越小。

         XilinxFPGA器件中,IP核设计是非常重要并且必不可少的一部分,应该说,前述的软IP、固IP和硬IP,在我们Zstar板载的Zynq上都能够找到踪影。而对于Vivado来说,对于Xilinx或者其第三方合作伙伴提供的,已经集成在Vivado工具界面中供设计者调用的IP,我们姑且可以称之为标准IP核;而对于Vivado未集成的,第三方或者用户自己开发设计的IP核,我们则称之为用户自定义IP核。

         对于Vivado中集成的IP核,可以点击Vivado菜单Window --> IP Catalog查看。

         Vivado主视窗中,IP Catalog --> Cores中,列出了Vivado已经集成的分类IP核,点击各个分类前的+号,可以查看具体分类下都有哪些可用的IP核。

         对于一般的IP核,先找到所需要的IP核,然后双击IP核弹出配置页面,配置完成后输出各类IP核相关设计文件,在用户设计中只要例化IP核模块就可以了。

         下面我们以zstar_ex04实例的PLL IP核的配置为例,看看如何添加配置Vivado中集成的标准IP核。

 

 

3.2 PLL IP核配置实例

         如图所示,点击Flow Navigator面板下的“Project Manager -> IP Catalog”

IP Catalog菜单

         如图所示,弹出的IP Catalog面板中列出了所有Vivado自带IP核的分类列表。

IP Catalog面板

         如图所示,在“FPGA Features and Design ->  Clocking”分类展开后,可以看到名为Clocking WizardIP核,通过这个IP核,我们可以配置一个PLL用于对FPGA外部输入时钟做各种分频或倍频处理。点击Clocking Wizard后将弹出相应的配置页面。

Clocking Wizard IP

         弹出的第一个配置页面如图所示,这里的Primitive可以选择“PLL”,然后在时钟频率(Input Clock Information)的Primary一行中设定我们的输入时钟频率(Input Frequency)为25MHz即可。

Clocking Options配置页面

         接着在Output Clocks配置页面中,如图所示,勾选clk_out1/2/33个时钟,分别设置其输出频率为25MHz50MHz100MHz。同时勾选控制信号resetlocked的,并且它们是高电平有效(Active High)。

Output Clocks配置页面

         接下来几个页面不需要做配置更改,直接点击OK完成PLL的配置。

         配置生效后,我们可以切换到Sources面板下方的IP Sources这个子页面中,如图所示,出现了名为clk_wiz_0IP核,即我们刚刚配置添加的IP核。可以点击展开它,在“Instantiation Template”下方的“clk_wiz_0.veo”文件就是例化模板,可以双击打开它。

查看例化模板

         如图所示,可以复制这个PLL的例化模板,在我们的工程中相应修改外部接口。

PLL例化模板

         关于这里PLL模块的接口定义如表所示。

信号名

方向

功能描述

clk_in1

输入

PLL模块的输入时钟信号,即所有输出时钟的基频。

clk_out1

输出

PLL模块的输出时钟1

clk_out2

输出

PLL模块的输出时钟2

clk_out3

输出

PLL模块的输出时钟3

reset

输入

PLL模块的输入复位信号,高电平有效。

locked

输出

PLL的锁定指示信号,高电平有效。即该信号高电平时,表示PLL输出时钟都已经正常输出。

注:方向是相对PLL模块而言的。

 

 

4 PLL IP核的移植

         参考文档《玩转Zynq-工具篇:VivadoIP核的移植.pdf》。

 

5 板级调试

         参考文档《玩转Zynq-环境篇:XilinxPlatformCableUSB下载器使用指南》,将...\project\zstar_ex03\zstar.runs\impl_1路径下的zstar.bit文件烧录到Zynq中。

         看到的效果D1D2D33LED指示灯同步闪烁。



此内容由EEWORLD论坛网友ove学习使我快乐原创,如需转载或用于商业用途需征得作者同意并注明出处

此帖出自FPGA/CPLD论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表