内容发布更新时间 : 2024/12/23 17:13:00星期一 下面是文章的全部内容请认真阅读。
使用Xilinx Vivado设计套件创建一个简单的HelloWorld项目
什么是FPGAXilinx以制造 可编程门阵列(FPGA)而闻名,它是基于一个通
过可编程接点连接的可配置逻辑块(CLBs)矩阵。根据Control Engineering Europe中的 FPGA的优点(Advantages of FPGA)这篇文章,多种控制回路能够以不同但是十分快的速度在FPGA设备上运行。FPGA也可以在制造后再编程以达到别种应用或是功能需求,这使它在专业工程师中非常流行。许多工程师都把这种技术应用到机械学习,无线通信,嵌入式视觉和云计算应用中。
什么是ZYNQXilinx Zynq-7000 全可编程系统芯片 (AP SoC)系列包含了基于嵌入式处理器的软件可编程性和FPGA的硬件可编程性。这个技术使得我们在单一设备上集成CPU,DSP,ASSP和混合信号功能时进行关键分析和硬件加速。
安装Vivado, SDK 和板支持文件
在创建数字或系统设计前你首先需要安装 Xilinx Vivado 设计套件。 Xilinx Vivado Webpack 这个版本是免费的,通过 Digilent Wiki 上提供的使用指导也可以帮助你快读安装和运行Vivado。在下载Vivado时,确保你使用设计工具(Design Tools)栏目中的软件开发套件(Software Development Kit)来安装SDK。为了防止你忘了这个步骤,你也可以返回安装软件来安装软件开发套件(Software Development Kit)。 内容
一旦你下载并安装了Vivado,你需要把ZYBO板文件放入本地Xilinx Vivado文件夹,它定义了ZYBO板上的不同界面和协议。之后你就可以成功建立IP和SDK了。Diligent提供了一个教程: https://reference.digilenTInc/reference/software/vivado/board-files?。.. 。 注意:在Vivado board文件安装指导中,你需要把头文件(board_files)放入你的本地文件夹。然后,我会推荐你复制独立的board文件(例如,一旦你下载了vivdado board文件,找到vivado-boards-master\\new\\board_files并复制zybo文件夹。否则你可能会在设计中碰
到一些不必要的错误。 创建项目
我将会使用 Digilent ZYBO 并根据他们的 开始指南(getTIng started guide) 来创建一个简单的HelloWorld项目。 项目概要
在这个项目中你将会学到如何用四个板上的开关来控制板上的LED。当你按下四个不同的按钮后,你可以看到来自电脑端的多种信息。 设计流程
打开Vivada并选择Zybo板 创建一个新的Vivado项目
在新的项目中创建一个空的板块设计工作区 使用IP集成工具添加需要的IP模块并创建硬件设计 验证并保存板块设计 创建HDL系统封装 运行设计综合与实现 生成Bit文件
导出包含了bit源文件的硬件设计到SDK工具 开启 SDK 硬件设计概要
你可以根据开始指南(getTIng started guide)中的步骤2-6来创建硬件设计,以下是一些说明。
自动运行模块(Run Block AutomaTIon)对话框可以让你提供微处理器系统需要的一些基础特性输入。
3.4)双击新的axi_gpio_0内核可以弹出自定义窗口。在IP设置页检查启动双通道,并点击OK,你可以创建两种输入-SW和BTN。每一个axi_gpio内核都支持32位单双GPIO
通道。在这个项目中,每个通道我们只需要四位。你可以在AXI GPIO Guide中找到详细信息。
3.5)重复步骤3.3可以添加另一个GPIO内核,但是不要启动双通道,你将会创建一个输出-LED。
自动运行连接可以帮助你hook界面和外部I/O接口 默认,UART界面中的一种已经被放置在ZYNQ IP中了
请参考:http://blog.dev-flow/en/8-first-use-of-the-zynq-7000-processor-system-on-a-zynq/。
软件设计概要
你可以根据开始指南(getting started guide)中的步骤7-10来创建软件设计,以下是一些说明。
当你打开src文件夹中的helloworld.c文件后(参考开始指南(getting started guide)中的步骤9.4),你可以通过以下步骤在用户界面看到一些预设功能和库的详细内容。 标记功能/库
右击预设功能/库并打开新选项看到声明
以下是代码和注释
/***************************************************** Getting Started Guide for Zybo
This demo displays the status of the switches on the LEDs and prints a message to the serial communication when a button is pressed. Terminal Settings: -Baud: 115200 -Data bits: 8 -Parity: no