该工程是XILINX官网上提供的一个例程。刚拿到ZCU102时没有拿到资源,自行在官网上查找有关资料进行学习,发现官网有提供例程便从这里开始熟悉我的新板子。

XILINX官网:Xilinx -灵活应变. 万物智能.

FPGA上电后IO的默认状态 | 电子创新网赛灵思社区

Vivado之时序约束XDC-kevinc-电子技术应用-AET-中国科技核心期刊-最丰富的电子设计资源平台

一、软硬件准备

ZCU102开发板,需要连接电源和右上角的JTAG。

进入官网搜索XCU102,可以检索到XCU102有关的原理图、数据手册和例程等。我们找到XTP432-ZCU102 MIG Tutorial(v11.0),下载官网提供的教程和源代码。MIG控制器可以实现对DDR地址空间的读写。

二、创建工程

1、工程名:zcu102_mig

2、Project Type:RTL Project,勾选Do not specify sources at this time

3、Default Part:Board——ZCU102 Evaluation Board

4、Finish成功创建空白工程

5、创建完工程后我们按照教程指引创建并配置MIG控制器。点击IP Catalog——Memories & Storage Elements——External Memery Interface——DDR4 SRAM(MIG),右键选择Customize IP进入IP编辑页面。

Board:

Set C0_SYS_CLK to user si570 sysclk
        Set C0_DDR4 to ddr4 sdram
        Set SYSTEM_RESET to Custom

Basic:

The Memory Device Interface Speed is preset to 833 ps
        The Reference Input Clock Speed is preset to 3332 ps
        The Memory Part is preset to MT40A256M16GE-075E
        The Data Width is preset to 16

Advanced Options:

Set the Debug Signals to Enable
        Example Design TestBench 选择Advanced TG

点击OK,Generate自动生成IP。等待IP自检完成。

        自检完成后打开创建的IP工程。

        回头找到我们从官网下载的源码,解压rdf0381-zcu102-mig-c-2019-1.zip,打开ddr4_0_ex文件夹会发现里面只有一个imports文件夹,复制里面的约束文件example_design.xdc、顶层文件example_top.sv、LED驱动文件led_display_driver.v到创建的IP工程ddr4_0_ex里的imports文件夹,替换相同的文件。回到VIVADO的ddr4_0_ex工程,重载工程文件并添加复制的RTL文件、约束文件到工程。

在TCL控制台输入代码添加LED驱动文件并创建VIO IP:

add_files -norecurse C:/zcu102_mig/ddr4_0_ex/imports/led_display_driver.v
create_ip -name vio -vendor xilinx.com -library ip -version 3.0 -module_name vio_leds
set_property -dict [list CONFIG.C_PROBE_IN0_WIDTH {4}] [get_ips vio_leds]

         第一行代码中的路径需要替换成led_display_driver.v存放路径。

三、运行和调试

在VIVADO中生成比特流并加载到ZCU102开发板中,LED0和LED3常亮,LED1闪烁。实验成功。

四、结果分析

做实验还是要回到学习和分析方面来的,我们做这个实验的目的一是熟悉VIVADO软件,其次就是学习ZCU102的使用。

首先我们来学习原理图。打开约束文件,以led[3]为例,确定led[3]对应的引脚为 AJ14。打开ZCU102的原理图搜索,对应的BANK44包含一系列LED和开关SW,在约束文件中进行约束可以调用。

set_property PACKAGE_PIN AJ14 [get_ports {led[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[3]}]
set_property SLEW SLOW [get_ports {led[3]}]

最后一行代码是笔者感到陌生的,通过搜索相关资料我们可以知道在Xilinx的设计环境中,可以将输出信号的Slew rate设置成FAST或SLOW。当设置成FAST时,提高了信号变化的斜率,从而提高了信号的转换速率,但同时使脉冲信号的振铃增大。因此,除非万不得已,不要将输出信号的Slew rate设成FAST。

FPGA系列:ZCU102开发板上的第一个工程(MIG控制器)相关推荐

  1. xilinx c语言编程,使用Xilinx SDSoc在Xilinx zcu102开发板上编程HelloWorld

    关于Xilinx SDSoc的介绍我就不再复述了,我理解的也不一定准确,可以阅读官方文档了解SDSoc,你可以把它理解为一个集成开发环境 (IDE),通过SDSoc我们能够简单快速的对Xilinx的开 ...

  2. fs2410开发板搭建网站服务器,学习 ARM 系列 -- FS2410 开发板上 Nand Flash 到内存的代码搬移...

    一.目的 前面做过一个实验,搬移 Nand Flash 里的前 4k 代码到内存指定位置,这其实是把 SRAM 从 0x40000000 开始的 4K 代码复制到 SDRAM 的指定位置,并没有涉及到 ...

  3. 学习 ARM 系列 -- FS2410 开发板上 Nand Flash 到内存的代码搬移

    一.目的    通过将 Nand Flash 前 4K 代码搬移到 SDRAM 中,了解如何初始化并使用 ARM 的内存,    为编写 ARM bootloader 和搬移内核到内存作准备. 二.代 ...

  4. TI C2000系列TMS320F2837xD开发板(DSP+FPGA)硬件规格参数说明书

    前 言 本文档主要介绍TMS320F2837xD开发板硬件接口资源以及设计注意事项等内容. 它是基于TI C2000系列TMS320F2837xD双核C28x 32位浮点DSP + 紫光同创Logos ...

  5. TI CC3200 WIFI实训开发套件(OURS-SDK-WFB)IAR for ARM7.8调试2————对IAR for ARM的熟悉,并在开发板上跑起来第一个程序

    首先安装IAR for ARM7.8,自己搜索安装, 使用电脑Win10 x64 下载资料:https://e2echina.ti.com/group/universityprogram/studen ...

  6. 如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文主要介绍如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib. OpenC ...

  7. 在VIM3开发板上运行无修改的iOS内核镜像

    在VIM3开发板上运行无修改的iOS内核镜像 之前在网上有看到过人使用QEMU成功的把IOS内核运行起来且成功挂载根文件系统的相关文章.理论上能在QEMU上跑成功,在真实的ARMv8开发板上运行起来也 ...

  8. 制作ZCU102开发板的FIT image内核

    参考: https://blog.csdn.net/JerryGou/article/details/85170949 https://blog.csdn.net/luhao806/article/d ...

  9. zcu102开发板入门教程1-开箱检测

    当我们对ZCU102开发板正式了解的时候,我们会发现官方文档比较繁琐,现在我讲述一下自己关于ZCU102开放板的开箱检测过程: 首先我们需要使用USB数据线,将13号端口和电脑端连接起来:由官方文档可 ...

最新文章

  1. linux下makefile
  2. SAP智能机器人流程自动化解决方案
  3. 旧项目适配iphone6和iphone plus
  4. [剑指offer]面试题13:在O(1)时间删除链表结点
  5. JavaFX技巧20:有很多需要展示的地方吗? 使用画布!
  6. linux开启ssh服务,实现ssh远程登录
  7. Mysql学习总结(15)——Mysql错误码大全
  8. 嵌入式操作系统内核原理和开发(任务创建和堆栈溢出检查)
  9. 本地mysql数据库初始密码_忘记本地MySQL数据库密码的解决方法
  10. redis缓存Hash操作的在主数据中的应用
  11. string类型输入一行字符串,带空格
  12. java webservice原理_WebService的工作原理
  13. 计算机找不到链接打印机主机,电脑连接打印机厂商型号没有怎么办
  14. 无法确认设备和计算机之间的连接,爱思助手无法识别设备或者连接超时解决办法...
  15. 作网站需要服务器吗,如何制作网站服务器
  16. 不懂zencart该如何找出路-新手soho建站指南
  17. 手把手教你使用Python批量创建复工证明
  18. leetcode 179.最大数
  19. 爬虫——scrapy框架爬取多个页面电影的二级子页面的详细信息
  20. torch之optimizer.step() 和loss.backward()和scheduler.step()的关系与区别

热门文章

  1. Images to Video(图片转视频软件)v4.0官方版
  2. 基于STM32的脉搏心率检测仪(OLED可以实时显示脉冲波形)
  3. 三、Fiddler抓包工具 — Fiddler页面布局之菜单栏
  4. geotif 添加坐标_tiff和geotiff经度纬度高度值读取
  5. python xmind_2018-09-14 python-xmind文件解析
  6. java导入xmind的坑及解决方案
  7. 治疗性经颅磁刺激后大规模脑电图神经网络的变化
  8. 稀疏矩阵 c语言,C语言数据结构 稀疏矩阵
  9. win10c语言关机,技术员win10系统如何利用Shutdown.exe程序定时关机?
  10. 差之毫厘.失之千里 英语学习新需求之.支持通配符的电子字典