【Z-turn Board试用体验】由PS向PL提供时钟信号(转载) - 问答 - 电子技术论坛 - 最好最受欢迎电子论坛!

【Z-turn Board试用体验】由PS向PL提供时钟信号(转载)

何立立 ( 楼主 ) 2015-6-1 11:54:12  显示全部楼层

  在板子上除了给PS(33.33 MHz)、DDR、SPI FLASH、microSD卡接口和USB提供时钟信号外,并没有为PL部分提供单独的晶振。为了让PL部分正常工作,一种方法是使用接口板从外部输入到PL的管脚上一个时钟信号,另一种方法则是使用PS提供给PL的时钟信号。

从ZYNQ的技术手册里我们得知,PS部分可以提供给PL四路相对独立的时钟信号(它们之间不保证时序上的关系),因此我们的任务就是配置PS和PL,把这些时钟信号利用起来。此时我们就可以充分利用Vivado提供的强大的集成开发功能,轻松实现PL“打包”PS的功能——这与通常我们看到的ZYNQ的概念有点不同:PS是主体,而PL做为一个逻辑胶合者被PS指挥;当然上电和初始化顺序还是一样的,必须先启动配置完PS,才能初始化PL。

首先我们在Vivado开发环境中建立RTL工程,并编写我们需要在PL中实现的功能代码HDL文件,把它做为顶层文件。

然后我们调用PS的IP核,建立并配置一个PS。如果不清楚这个过程的网友,请参考,然后我们配置PS到PL的时钟输出,如图1所示。



图1 配置PS到PL的时钟

然后我们在管脚上点击创建端口,如图2所示。



图2 创建PS端口

点击Run Automation,可以看到创建成功的PS和它的端口连线,如图3所示。



图3 PS端口与连线

然后在PS上点击右键,进行基本的设计验证,如图4所示。



图4 验证设计

完成了PS的配置之后,我们在工程管理器里对生成有关PS的打包文件,这是一个HDL文件,如图5所示。



图5 生成HDL打包文件

接下来的事情就容易理解了:把PS及其端口、连线等一起生成的打包文件HDL文件,在我们开头创建的顶层HDL文件里面进行例化。如果需要调用IP核的话,我们既可以在图3之前的步骤里面直接用IP Integrator创建然后直接把PS的端口和IP自动关联,然后生成HDL打包文件后在顶层文件里面一起例化,也可以直接在顶层文件里面进行IP核的例化,当然前一种方式更方便,因为图形化的方式更直观、快捷。

结合,可以看到PS部分已经被我们的顶层文件正确调用了,查看此时的RTL如图6所示。



图6 PL中顶层文件的RTL

此时我们对比没有PS的设计,可以看出实现后的结果的区别了,如图7、图8所示。



图7 没有PS的实现结果



图8 例化了PS的实现结果

此外,需要补充的一点是,在我们的顶层文件里面对PS的打包文件进行例化的话,需要定义许多与PS有关的端口做为输入、输出或者双向端口,这样在设计文件中会产生上百个甚至更多的管脚。幸运的是,Vivado会自动为PS相关的端口分配管脚并设置电平标准,所以我们只需要对PL部分我们的程序分配管脚并设置电平标准就行了,如图9所示。



图9 自动分配的PS管脚

既然PL中也有时钟信号了,那么在完成PS的初始化之后,就可以对PL中的信号进行在线调试了。


10个回复

blackroot 发表于 2015-6-8 11:58:34
在顶层文件中例化 PS的输出时钟和自定义的veriliog模块生成bit文件失败了。。。
何立立 发表于 2015-6-8 14:25:08
blackroot 发表于 2015-6-8 11:58
在顶层文件中例化 PS的输出时钟和自定义的veriliog模块生成bit文件失败了。。。

不可以? 这个我转载的xilinx论坛上的 应该不错吧  你试过12m晶振是和pl部分相连的?最近在弄其它的事没顾的上
blackroot 发表于 2015-6-8 17:31:12
failed to generate bitstream!!!!
blackroot 发表于 2015-6-8 17:31:29
failed to generate bitstream!!!!
wjh_yw 发表于 2015-6-16 10:56:36
学习学习,谢谢分享!
回复 3

举报 使用道具

friend515610 发表于 2017-5-9 15:44:26
确实不可以,板子上没有pl时钟,12M晶振是给其它芯片的时钟
小傻妞儿 发表于 2017-8-15 16:04:19
嘎嘎
回复 3

举报 使用道具

小傻妞儿 发表于 2017-9-5 20:29:30
哎先放放把
刘灿 发表于 2019-6-17 09:52:34
ps到pl的时钟不是设定的频率怎么回事?比如一个20M一个100M,但是在采样时钟200M的ila中是一样的
刘灿 发表于 2019-6-17 09:52:51
ps到pl的时钟不是设定的频率怎么回事?比如一个20M一个100M,但是在采样时钟200M的ila中是一样的
您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /6 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 湘ICP备2023018690号 )

GMT+8, 2024-3-29 20:10 , Processed in 0.631532 second(s), Total 67, Slave 48 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表