zynq7000学习(1)——vivado环境下PL配置

这篇具有很好参考价值的文章主要介绍了zynq7000学习(1)——vivado环境下PL配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

PL部分

一、新建工程:

      现开发板型号为xc7z100ffg900-2 

  1. 选择芯片(选择芯片7100的话,就输入xc7z100  后面的-1和-2是速度等级),更改项目名为system
  2. Create Block Design(创建模块化的设计)——>设置设计名称为system。

    这时会出现design窗口和source窗口、画布窗口,source中出现.bd后缀的文件system.bd,这个就是我们创建的block design(bd缩写)。

  1. 在画布点击“+”,选择查找zynq7000,会出现“zynq7 processing system”双击打开,就会出现一个“zynq7 processing system”模块示意图。
  2. 双击进入,然后可以对ZYNQ7 Processing System IP核进行配置。

二、配置界面

  1. DDR配置:

在DDR Configuration中完成DDR控制器的配置,DDR型号要与开发板相符:

如果没有相应的型号就选参数兼容的芯片型号或者custom

记住DDR3型号的方式:

某7020开发板的两个DDR3型号是:MT41J256M16-125,MT是美光的芯片,256M,位宽16bit。

存储容量是:256M*16bit*2片DDR3=8192Mbit=8Gbit

  1. MIO与EMIO配置

(1)在Peripheral I/O Pins中设置UART

具体选择哪个UART,要看开发板硬件设计,看原理图,找到核心芯片ps上uart_rx和uart_tx,发现引脚为“PS_MIO49_501_D18”和“PS_MIO48_501_C19”,所以UART的引脚应该为49和48引脚。选中Peripheral I/O Pins中的这两个引脚(7100对应了UART1)。

(2)设置UART的波特率:在PS-PL Configuration中的“general”设置UART1的波特率。目前选择默认的115200.

(3)也可以在MIO Configuration中设置UART和其他IO口,但是没有Peripheral I/O Pins中设置直观

在MIO Configuration中可以设置IO引脚的参数:

  • 可以看到UART的tx和rx是固定不能更改的。
  • Bank I/O Voltage(引脚电压),电压设置也要查原理图。

在原理图中BANK500(即BANK0)、BANK501(即BANK1)上有电压值,有时两个电压值是不一样的,现用的7100是两个都是1.8V电压。

以上设置完一个最小系统,点击ok,到画布界面。

  1. 回到画布界面

画布上点开“FIXED_IO”上的“+”,可以看到MIO,UART就是在MIO(共54个引脚)中。

  1. 删除PS上多余的接口

双击ps IP核打开配置界面。

除了上面的DDR和MIO是PS 的接口,其余的都属于PS和PL之间的接口。

  1. 在PS-PL Configuration中点开第二项“AXI Non……”,再展开“GP Master……”,把对勾取消。这时画布上ps IP核上的M_AXI_GP0和M_AXI_GP0_ACLK(名字前面一致,都属于M_AXI_GP0)
  2. FCLK_CLK0是ps提供给pl的时钟信号,同样双击打开配置界面,点开Clock Configuration。
  • 首先,PS要配置一个时钟,点开processor/memory clocks,配置CPU和DDR的时钟。原时钟是在上面,有个input frequency,在原理图上的核心板上找到原时钟。在原理图的BANK500上有个PS_CLK连接了一个33.33333MHz的晶振。

原时钟经过两个锁相环(ARM PLL和DDR PLL)进行配平得到时钟。

  • 往下找到PL Fabric Clocks时钟,默认FCLK_CLK0是勾选的,取消勾选,这时该接口就没有了。
  1. FCLK_RESET0_N是ps提供给pl的复位接口。在PS-PL Configuration中的“general”往下拉,有个“Enable Clock Resets”,将FCLK_RESET0_N的对勾取消。

以上,多余的接口就取消了。PS接口配置完成。

在画布左上角有个蓝色“run block automation”,点击,再点击ok。

此时就会自动创建出两个端口。

扩展出来的接口就可以连接到器件的引脚上去,从而给器件外面的设备(像DDR存储器),进行交互

  1. 验证硬件系统

画布上面一行有个打“√”的按键,叫“validate design”,点击进行一个初步的验证(不能完全保证设计正确)。

在source中的“system.bd”右击鼠标,选择“generate output product”。(该步骤是为了把设计产生一个输入输出的结果,比如对设计产生管教约束,或者对一些ip核,进行综合和实现)。选择“out of context per IP”(为每个IP核产生一个独立的输出)。

在source的下面点击IP Sources中产生了三个文件。

  1. 生成硬件描述的顶层文件(HDL)。

在source中的“system.bd”右击鼠标,选择“create HDL wrapper”。相当于要用硬件描述语言把我们刚才所完成的设计封装起来。选择默认选项,也就是说用vivado去管理封装之后的文件,这样生成的顶层文件就会自动进行更新,也就不需要让我们进行这样的过程了。

完成之后在source上出现了“system_wrapper”文件,后缀名是.v,也就说使用的virlog设计语言。

以上就设计完所有硬件部分。

因为上面都只是配置PS部分,没有设计PL部分,所以不需要生成bit流。直接导出SDK。

  1. 导出到SDK
  1. File->export->export hardware...

因为没有硬件,弹出的对话框中不勾选include bitstream,路径默认当前路径,点击ok。

运行后当前工程下多了一个.sdk的文件夹,里面有个.hdf文件,这就是刚才生成的硬件定义文件(实质上是zip格式的文件,可以用winrar解压打开,里面有很多子文件。其实不需要用解压工具打开,直接走下一步file->launch SDK)

  1. file->launch SDK

     选择默认的“当前目录”

     打开后可以看到platform_0里面的文件就是上面用winrar解压打开的.hdf里的文件。其实sdk就是自动把刚才的.hdf解压,解压到system_wrapper_hw_platform_0这个文件夹中。这里面都是硬件信息。文章来源地址https://www.toymoban.com/news/detail-646790.html

到了这里,关于zynq7000学习(1)——vivado环境下PL配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ZYNQ学习笔记(四):PL与PS数据交互——基于BRAM IP 核的(PS端读写+PL端读)控制实验

    说起PS、PL数据交互,常见的有IO方式:MIO EMIO GPIO,还有利用BRAM或FIFO等,在上一篇文章ZYNQ学习笔记(三):PL与PS数据交互—— UART串口+AXI GPIO控制DDS IP核输出实验咱们学会了如何利用AXI GPIO IP核来实现PS(写)与PL(读)的数据交互,那么这篇文章来学习如何使用BRAM~ 本次实验

    2024年02月05日
    浏览(57)
  • Zynq-Linux移植学习笔记之62- PL挂载复旦微flash

    现在为了全国产化需要,之前所有的进口flash全部要换成国产flash 其中EFM25QU256和EFM25QL256对标winbond的w25q256 nor flash     复旦微flash只支持单线模式,当使用PL侧的IP核访问时,需要设置模式为standard   内核中修改m25p80.c,设置兼容的flash型号     同时复旦微flash推荐使用jffs2文件

    2024年02月15日
    浏览(44)
  • zynq 使用AXI_dma 传输==pl到ps,linux驱动开发,应用层处理DMA数据

    在使用zynq输出处理时,会使用到pl和ps的数据传输,可供使用的方案有多种,由于我们的数据量较大打算,因此使用用以下两种方案处理: 1.使用pl直接写ddr3, 2.使用dma, 本次详细介绍使用axi_dma如何将pl的数据在linux应用层接收数据并处理,以及遇到的问题 fpga工程,我们使用

    2024年02月03日
    浏览(57)
  • ZYNQ之FPGA学习----Vivado功能仿真

    阅读本文需先学习: FPGA学习----Vivado软件使用 典型的FPGA设计流程,如图所示: 图片来自《领航者ZYNQ之FPGA开发指南》 Vivado 设计套件内部 集成了仿真器 Vivado Simulator ,能够在设计流程的不同阶段运行设计的功能仿真和时序仿真,结果可以在 Vivado IDE 集成的波形查看器中显示。

    2023年04月18日
    浏览(51)
  • zynq7000系列芯片介绍

    ZYNQ从架构上可以划分为两大模块,一个是PS(处理器系统),另一个是PL(可编程逻辑) PS由APU、内存接口、IO外设、互连线4大模块组成。 1、APU(Application Processor Unit)应用处理单元 即PS【可编程逻辑里面最最核心的东西】,它由两个双核心的Cortex-ARM A9、一些缓存和存储组成

    2024年02月06日
    浏览(57)
  • ZYNQ-Linux开发之(三)Vivado SDK使用,裸机开发调试,不带linux

    生成bit文件时候的开发和调试需要使用SDK,导出工程到SDK: 包含bit文件,点击OK:  工程目录下会新增一个.sdk的目录: 启动SDK: 使用SDK进行调试,SDK中,新建应用工程,选择File-New-Application Project: 在弹出的窗口中,输入Project name,单击Next: 在弹出的窗口中,默认选择He

    2024年02月10日
    浏览(60)
  • XILINX ZYNQ 7000 AXI总线 (二)

    了解了AXI 的大部分内容后,开始做一个实战,就是完成AXI 结构的输入输出搭建。 一.创建一个IP 3. 4. 5. 6.选择AXI FULL,创界主接口和从接口 7. 8.可以看到XILINX AXI FULL 的源代码 二.创建一个新的工程,把IP导入到这个工程 2.创建 block design 放入两个AXI IP 三 设计 创建两个 接口进行

    2024年02月16日
    浏览(59)
  • ZYNQ7000 SPI LCD与Petalinux

    ZYNQ内部集成两个ARM Cortex A9核心,Xilinx也推出了Petalinux工具,与Vidado搭配可以方便地完成Linux的uboot、kernel、rootfs部署。 开发板上集成了HDMI,但是需要在FPGA中实现逻辑,但是实现之后占用了7010快一半的资源,多少有点离谱,而且HDMI还是不方便,所以就用linux内核中的fbtft驱动

    2024年02月10日
    浏览(38)
  • xilinx zynq7000系列 sdio时钟超频详解

    zynq7000的时钟系统很简单,首先是PS_CLK输入时钟,这是外部33.33333Mhz晶振时钟,直接输入到三路PLL(锁相环),分别是 ARM PLL、I/O PLL、DDR PLL;ARM PLL给 CPU核心、SCU(用来管理多核通信)、OCM、AXI总线提供时钟;I/O PLL给各类外设包括SDIO、USB、Ethernet等提供时钟;DDR PLL仅用来给DDR2/3提供

    2023年04月08日
    浏览(44)
  • FPGA开发之Vivado安装及HLS环境配置,并实现流水灯实例

    HLS(High-Level Synthesis)高层综合,就是将 C/C++的功能用 RTL 来实现,将 FPGA 的组件在一个软件环境中来开发,这个模块的功能验证在软件环境中来实现,无缝的将硬件仿真环境集合在一起,使用软件为中心的工具、报告以及优化设计,很容易的在 FPGA 传统的设计工具中生成 IP。

    2024年02月05日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包