使用 AXI_Lite 从口实现寄存器列表的读写,并且自己封装为一个自定义 IP,以便以后使用。本次记录的是 M_AXI_GP0 接口,此接口是 ARM 作为主机,FPGA 作为从机,配置 FPGA 的寄存器或者 RAM。

一、ZYNQ AXI 总线拓扑结构图

  黄色部分即为 FPGA 部分。

二、新建 AXI_Lite 寄存器列表

1..点击主页上方菜单 Tools --- Create adn psckage IP ,点击Next

2.选择第四项,Next

3.选择 IP 名称和存放的路径,Next

4.设置 256 个存储空间(每个存储空间默认位宽为32)

5.选择编辑 IP 看看生成的代码,也可以直接选择第一项。

6.Vivado 打开了一个新的界面,此界面和原界面略有不同,注意分别。

7.可以打开代码看看是什么,可以在里面加入用户逻辑代码。

8.其实已经创建好了 IP,如果有改动则需要点击下面这项,之后此界面会自动关闭

9.选择 Settings --- IP --- Repository,可以看到这个 IP,也可以在这添加第三方 IP

三、调用IP

1.主界面打开 Create Block Design,点击 + 号,即可添加我们定义好的 IP,有3个口,从口,时钟,复位。

2.AXI IP有从口,因此ZYNQ得添加主口,打开 ZYNQ,添加时钟、复位、UART、DDR、中断等,最重要的还要添加 Master GP0 接口

3.ZYNQ 的 AXI_ACLK 和 FCLK_CLK 手动连在一起,并且进行自动布线即可连好。(此处添加了2个一样的AXI IP)

4.在与视图仪器的选项卡中有个 Address Editor,可以看到系统自动分配的地址,当然用户也可以自定义地址

7.也可以添加一个 ILA IP 来观察 AXI 的波形,点击 + 号添加,按下图连线即可

6.之后就可以综合生成 bit 文件导出 HDF 文件进行软件设计。

四、普通自定义IP

  见本人上篇博客《ZYNQ笔记(6):PL精准定时中断》。

五、常用 IP

1.Vector logic :逻辑IP,用于产生与、或、非、异或
2.Concat:总线合并IP,可以将多个单位宽信号合并成一个多位宽信号

参考资料:

[1]V3学院FPGA教程

[2]何宾, 张艳辉. Xilinx Zynq-7000嵌入式系统设计与实现[M]. 电子工业出版社, 2016.

ZYNQ笔记(7):AXI从口自定义IP封装的更多相关文章

  1. ZYNQ笔记(6):普通自定义IP封装实现PL精准定时中断

    软件的定时中断很难控制精准触发沿的位置,可以通过 PL-PS 的中断完成精准的定时中断.PL 的中断通过 Verilog 代码产生,这样紧密结合 PS-PL 的处理,发挥各自的优势. 一.PL 侧定时 ...

  2. AXI-Lite总线及其自定义IP核使用分析总结

    ZYNQ的优势在于通过高效的接口总线组成了ARM+FPGA的架构.我认为两者是互为底层的,当进行算法验证时,ARM端现有的硬件控制器和库函数可以很方便地连接外设,而不像FPGA设计那样完全写出接口时序 ...

  3. zynq里面的AXI总线(2017-1-11)

    在ZYNQ中有支持三种AXI总线,拥有三种AXI接口,当然用的都是AXI协议.其中三种AXI总线分别为: AXI4:(For high-performance memory-mapped requir ...

  4. vivado设计三:一步一步生成自己的自定义IP核

    开发环境:xp  vivado2013.4 基于AXI-Lite的用户自定义IP核设计 这里以用户自定义led_ip为例: 1.建立工程 和设计一过程一样,见vivado设计一http://blog. ...

  5. WinBox软路由的自定义IP设定

             软路由ros(MIKRTIK)安装简单步骤 由于本主也是刚刚接触软路由这个硬件方面的知识.所以也是略知皮毛而已,今天通过网上的学习,然后自己总结了一下怎么在软路由中设定一个自定义IP ...

  6. Dynamic CRM 2013学习笔记(二十一)自定义审批流2 - 配置按钮

    上次介绍了 Dynamic CRM 2013学习笔记(十九)自定义审批流1 - 效果演示 现在开始介绍如何配置审批流,首先在form上添加三个按钮,Submit, Agree, Reject: 1. ...

  7. Dynamic CRM 2013学习笔记(三十七)自定义审批流7 - 初始化(整套审批流下载、安装)

    前面介绍了自定义审批流的配置.使用,这篇介绍下如何进行初始化. 一. 下载 从下面的地址下载整个审批流: http://yunpan.cn/cZ5Rdx5HCt3VF 下载完后,一共有三块内容: 二. ...

  8. 教你怎样写自定义IP地址算法

    通过IP地址可以看到算法规律,写成自定义IP地址,也可以把IP地址转为自定格式的IP地址.也可以用于加密一些明文数字.起始次方可自定义(以1次方和0次方为例) a.以下写正反算法(以1次方为最小单位) ...

  9. VSTO 学习笔记(十二)自定义公式与Ribbon

    原文:VSTO 学习笔记(十二)自定义公式与Ribbon 这几天工作中在开发一个Excel插件,包含自定义公式,根据条件从数据库中查询结果.这次我们来做一个简单的测试,达到类似的目的. 即在Excel ...

随机推荐

  1. current transaction is aborted, commands ignored until end of transaction block

    current transaction is aborted, commands ignored until end of transaction block Error updating datab ...

  2. The field file exceeds its maximum permitted size of 1048576 bytes.

    问题原因:Spring Boot内置tomcat限制了请求文件的大小 下面是修改方法:根据自己的Spring Boot版本 2.0之后版本的修改方式 在主配置文件 application.proper ...

  3. python_机器学习(一)、基本概念

    机器学习基础知识: (一).什么是机器学习? 对于某给定的任务T, 在合理的性能调度方案P的前提下, 某计算机程序可以自主学习任务T的经验E, 随着提供合适.优质.大量的经验E, 该程序任务T的性能逐 ...

  4. MySQL基本库表管理

    基本管理指令 mysql登陆 第一种 [root@wei ~]# mysql -u root -p 第二种(带参输入) [root@wei ~]# mysql -uroot -proot 注意:每个命 ...

  5. 详解数据库引擎与SQL语句增删改查(非常详细,带例)

    数据库系统(DBMS): 专门负责数据管理的工具.增加数据.创建索引.建立索引之间的关联关系.更新索引...... 连接器:PHP要访问MySQL,可以通过API访问,也可以通过PHP的驱动,而那个驱 ...

  6. 栈 队列 hash表 堆 算法模板和相关题目

    什么是栈(Stack)? 栈(stack)是一种采用后进先出(LIFO,last in first out)策略的抽象数据结构.比如物流装车,后装的货物先卸,先转的货物后卸.栈在数据结构中的地位很重要 ...

  7. 1. 观察者模式总结(C++)

    1. 介绍 观察者模式:定义了一种"一对多"的依赖关系,让多个观察者对象同时监听一个对象的改变,即当该对象的状态发现改变时,会通知所有它依赖的观察者对象.观察者模式属于行为模式. ...

  8. windows 运行库与dll文件

    Windows 10包含版本 win10家庭版win10专业版win10教育版win 10企业版 Windows 7包含6个版本分别为Windows 7 Starter(初级版)Windows 7 H ...

  9. nginx 其他配置语法

    1.nginx 缓冲区配置 2.跳转重定向 3.头信息 4.超时 location / { proxy_pass http://127.0.0.1:8080;(代理跳转url) proxy_redir ...

  10. chromedriver对应chrome版本

    chromedriver版本 支持的Chrome版本 v2.41 v67-69 v2.40 v66-68 v2.39 v66-68 v2.38 v65-67 v2.37 v64-66 v2.36 v6 ...