【ZYNQ】Vivado 封装自定义 IP

在 FPGA 开发设计中,IP 核的使用通常是不可缺少的。FPGA IP 核是指一些已经过验证的、可重用的模块或者组件,可以帮助构建更加复杂的系统。本文主要介绍如何使用 Vivado 创建与封装用户自定义 IP 核,并使用创建的 IP 核进行串口回环测试。

目录

1 封装自定义 IP

2 添加自定义 IP

3 串口回环测试


1 封装自定义 IP

        Vivado 开发环境提供了自定义 IP 封装工具,可以方便地创建用户自定义 IP。对于一些经常使用的模块,可以封装成 IP,通过模块复用的方式简化设计流程,提高开发效率。

        在 Vivado 中创建用户自定义 IP 的基本步骤如下:

1)新建 Vivado 工程,注意芯片型号的选择;

2)IP 核参数定义与接口定义,编写 RTL 代码;

3)IP 核的验证与优化,可以执行 Run Synthesis,检查是否有设计错误;

4)验证通过之后,选择 Tools -> Create and Package New IP...,创建新 IP,选择打包当前工程。

完成 IP 创建向导之后,软件会自动生成并打开 tmp_edit_project 工程,按照 Packaging Steps 进行配置。

最后在 Review and Package 中打包 IP,打包完成之后,软件会自动关闭并删除 tmp_edit_project 工程。

2 添加自定义 IP

        使用 Vivado 封装自定义 IP 之后,需要将 IP 添加到 Vivado 中才能使用。Vivado 添加自定义 IP 有以下 2 种方式:

        方式一:在 Tools Settings 中添加用户 IP Catalog 路径,路径在新建下个工程时生效。

        方式二:在 IP Catalog 中,空白处右键,选择 Add Repository...

指定 IP 路径后,Vivado 会自动识别并添加路径下包含的 IP。

3 串口回环测试

        本节使用前面封装的 uart_rxtx IP 核,进行串口回环测试。这里使用基于 Block Design 的开发方法。

新建工程与 Block Design 文件,添加所需要的 IP 核,连接内部信号并引出输入、输出端口。

双击 IP 核进行必要的配置,例如设置串口接收缓存 Buffer Size 为 1024,串口接收波特率为 9600 Bd/s。

串口发送波特率设为 19200 Bd/s。

使用串口调试助手,给 Zynq 串口发送数据,观察数据的接收与发送过程。 

使用逻辑分析仪观察串口数据的回环,数据接收的波特率约为 9600 Bd/s,发送波特率为 19200 Bd/s。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/614036.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【高阶数据结构】图--最短路径问题

图--最短路径问题 一、单源最短路径--Dijkstra算法1、简介2、解析3、代码4、测试用例5、打印最小路径代码和测试6、缺陷:不能使用负路径 二、单源最短路径--Bellman-Ford算法1、简介2、解析(1)详情i、负权问题:一个点只跑一趟找最…

Git操作GitHub全记录

目录 一. GitHub ssh-key配置二. 添加GitHub仓库Git提交本地代码到Github仓库远程克隆仓库到本地的文件夹再上传本地的无.git的文件夹上传到远程仓库 三. Git删除Github仓库或某个文件或文件夹1.删除已有Github仓库2.删除Github中的某个文件或文件夹①如果没有建立本地库或者克…

力扣例题(循环队列)

链接 . - 力扣(LeetCode) 描述 思路 我们使用数组来创建循环队列 数组的大小我们就额外对开辟一块空间 MyCircularQueue(k) 开辟一个结构体,存放队列的相关数据 分别为size,数组指针_a,起始位置head,结束位置tail 注意:我们…

代码质量检查jacoco环境搭建

这里主要介绍集成和系统测试覆盖率环境搭建,并简单介绍各个工具。 关于单元测试的覆盖率监控(只需要修改ant或maven配置即可),下一篇说明 环境准备 需要环境 jdk1.8centos 7posgresql 9.6 工具下载 jacoco 0.8.2 https://www.eclemma.org/jacoco/ a…

docker01-简介和概述

什么是docker? 我们现在开发项目是在windows操作系统使用idea开发,本地windows操作系统上有我们项目所需的jdk,mysql,redis,tomcat等环境,如果我们想打包我们的项目到一个别的服务器上,在别的服…

大模型面试常考知识点2

文章目录 1. LLM推理attention优化技术KV CachePageAttention显存优化MHA\GQA\MQA优化技术FlashAttention优化技术稀疏Attention1. Atrous Self Attention2. Local Self Attention3. Sparse Self Attention 2. LLM数据处理关键去重多样性保证构造扩充数据充分利用数据 参考文献…

iview(viewUI) span-method 表格实现将指定列的值相同的行合并单元格

效果图是上面这样的&#xff0c;将第一列的名字一样的合并在一起&#xff1b; <template><div class"table-wrap"><Table stripe :columns"columns" :data"data" :span-method"handleSpan"></Table></div&…

Windows Python 安装准备

首先安装配置 1. 环境的安装和配置: 运行环境: 官方提供了cpython解释器 编辑环境: 课程初级阶段:推荐大家使用: 记事本工具(UE、notepad++、editplus、sublime、vscode) 中期阶段IDE的使用,pycharm 2. 安装python环境: 在官方下载python解释器 www.python.org …

AI图书推荐:杀手级ChatGPT提示词——利用人工智能实现成功与盈利

《杀手级ChatGPT提示词——利用人工智能实现成功与盈利》&#xff08;Killer ChatGPT Prompts_ Harness the Power of AI for Success and Profit &#xff09;一书是作者Guy Hart-Davis关于ChatGPT的指南&#xff0c;ChatGPT是OpenAI开发的大语言模型。这本书提供了各种职业角…

Appium测试之获取appPackage和appActivity

appPackage和appActivity 进行appium自动化测试非常重要的两个参数&#xff0c;我们所测试的APP不同&#xff0c;这两个参数肯定也是不一样的。那如何快速的获取这APP的这两个参数呢&#xff1f;我这里介绍两个方法。 import org.openqa.selenium.remote.DesiredCapabilities;i…

Milvus Cloud:打造向量数据库的Airtable级体验

向量数据库Milvus Cloud是一种用于处理和存储向量数据的数据库,它通常用于机器学习、图像和视频检索、自然语言处理等领域。要将其升级为类似Airtable那样易用且一体化的系统,需要考虑以下几个关键方面: 1. 用户界面(UI)设计 Airtable之所以用户友好,很大程度上归功于其直…

架构每日一学 4:成为首席架构师,你必须学会顺应人性

本文首发于公众平台&#xff1a;腐烂的橘子 架构师生存法则之二&#xff1a;架构活动需要顺应人性 程序员入行的第一天起就进入了一个机器的世界。在别人的眼中&#xff0c;程序员平时很少说话&#xff0c;更多的时间在和电脑打交道。 程序员工作时间久了大脑会被格式化&…

【JS 的数据类型】

JS 的数据类型 基本数据类型 js有8种基本数据类型&#xff0c;分别为&#xff1a;undefined、number、Object、null、Symbol、Boolean、String、BigInt&#xff1b; 其中Symbol和BigInt是ES6新增的数据类型&#xff1a; ● Symobol代表独一无二的值&#xff0c;可以用来代表对…

Fastchat + vllm + ray + Qwen1.5-7b 在2080ti 双卡上 实现多卡推理加速

首先先搞清各主要组件的名称与作用: FastChat FastChat框架是一个训练、部署和评估大模型的开源平台&#xff0c;其核心特点是&#xff1a; 提供SOTA模型的训练和评估代码 提供分布式多模型部署框架 WebUI OpenAI API Controller管理分布式模型实例 Model Worker是大模型服务…

万物互联:塑造未来的新篇章

在科技日新月异的时代&#xff0c;万物互联&#xff08;IoE&#xff09;作为一项前沿技术&#xff0c;正在以前所未有的速度改变着我们的世界。万物互联不仅将各种设备和物体连接在一起&#xff0c;更重要的是&#xff0c;它正在推动技术的飞速发展&#xff0c;塑造着未来的新篇…

docker 容器无法直接读取宿主机文件

最近一个需求, 要在后端直接使用代码直接生成 pdf 文档, 由于使用的 apache 的工具包, 该工具包无法直接解析中文字体, 需要导入外部 中文插件包, 相关代码如下: PDPage page new PDPage(PDRectangle.A4);document.addPage(page);PDFont fontFile PDType0Font.load(document…

【c++】全面理解C++多态:虚函数表深度剖析与实践应用

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;通过本篇文章&#xff0c;来详细理解多态的内容 目录 1.多态的定义及实现1.1多态的构成条件1.2虚函数的重写1.3 C11 override 和 final1.4重载、覆盖(重写)、隐藏…

智能驱动,精准管理:打造高效干部管理系统

干部管理系统是现代组织管理中不可或缺的工具&#xff0c;它通过信息技术的应用&#xff0c;提高了干部管理的效率和准确性。干部管理系统的主要功能包括&#xff1a; 1. 信息管理&#xff1a;系统可以存储和管理干部的个人信息&#xff0c;包括基本资料、工作经历、教育背景、…

静态IP设置:小白必看攻略

在现代网络环境中&#xff0c;IP地址是连接互联网的基石。它就像网络世界中的门牌号&#xff0c;让数据能够在庞大的网络海洋中准确找到目标。其中&#xff0c;静态IP地址由于其固定不变的特性&#xff0c;在某些特殊应用场景下尤为重要。那么&#xff0c;如何设置静态IP地址呢…

鸿蒙开发接口Ability框架:【@ohos.wantAgent (WantAgent模块)】

WantAgent模块 WantAgent模块提供了触发、取消、比较WantAgent实例和获取bundle名称的能力&#xff0c;包括创建WantAgent实例、获取实例的用户ID、获取want信息等。 说明&#xff1a; 本模块首批接口从API version 7开始支持。后续版本的新增接口&#xff0c;采用上角标单独标…