轻松实现PL“打包”PS的功能

因为microzed是个低成本的开发套件,所以在板子上除了给ps(33.3333 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中的信号进行在线调试了,请看后续博文。

浅谈ARM内核MCU不同性能的决定因素
瑞萨科技半导体后道工序厂房完成扩建
计算机视觉就业前景
老邢点评:国产北斗芯片大规模应用在即
高压放大器在MEMS柔性压电薄膜PZT材料血压精确测量中的应用
轻松实现PL“打包”PS的功能
渔翁得利?中国两家电池厂商高中苹果供应链
AFD4系列之AFD4040涡街流量传感器
HTC聚焦VR技术 又申请VRVR头显专利
干簧管磁敏传感器构成的门控开关电路
【节能学院】企业能源管理系统在水泥企业中的设计与应用
植物光谱测量仪的作用和意义是什么
关于10个中级到高级SQL概念
光纤大电流传感器研究
二端口网络参数_二端口网络参数的测定
暖通空调系统与人工智能和物联网交织在一起
金鼎电子5G超薄挠性覆铜板投入试生产
华工科技技术交流会:面向投资者
TCL华星与京东方竞争全球最大液晶面板宝座,或决出胜负
氮化镓悄然渗透,掘金电动两轮车市场