FPGA优质开源模块 - SRIO

本文介绍一个FPGA常用模块:SRIO(Serial RapidIO)。SRIO协议是一种高速串行通信协议,在我参与的项目中主要是用于FPGA和DSP之间的高速通信。有关SRIO协议的详细介绍网上有很多,本文主要简单介绍一下SRIO IP核的使用和本工程的源代码结构。

由于Vivado中RapidIO IP核需要付费才能使用,因此本文提供完整工程源码。文章末尾有该工程源码获取方式,有需要的小伙伴可以收藏、分享一下。

一、软硬件平台

  • 软件平台:Vivado 2017.4;
  • 硬件平台:XC7K410T...;

二、IP核参数配置

本工程SRIO IP核参数配置如下图所示,仅供参考:

 三、工程源码结构

 下图是SRIO工程源码结构:

其中,

  • SRIO_Auto_rst_Mod:SRIO自动复位模块;

  • srio_request_gen:SRIO请求事务生成模块;

  • srio_response_gen:SRIO响应事务生成模块;

  • RapidIO_switch_maintr_mod & srio_quick_start:SRIO维护事务生成模块。

四、实现功能

该FPGA SRIO模块采用NWRITE类型事务往DSP目的地址传输数据,每包数据大小为256字节。数据写入完毕后,通过DOORBELL事务给DSP发送数据接收中断。另外FPGA端通过RapidIO IP核m_axis_treq接口接收来自DSP的数据。

五、源码获取方式

需要该工程源码的小伙伴,请下载我的 资源:《FPGA优质开源项目获取方式 ,里面有获取方式。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SIFT算法原理:SIFT算法详细介绍

前面我们介绍了Harris和Shi-Tomasi角点检测算法,这两种算法具有旋转不变性,但不具有尺度不变性,以下图为例,在左侧小图中可以检测到角点,但是图像被放大后,在使用同样的窗口,就检测不到角点了。…

Excel技巧 - 管理规则设置一行变色

如何设置某一列单元格的值大于一个值时,该单元格所在的一整行都变色呢? 1、先框选内容区域,点击开始,条件格式,新建规则 2、如果销量大于20,则该行都变为绿色 编辑格式选择:使用公式确定要设置…

【MySQL】存储过程(十一)

🚗MySQL学习第十一站~ 🚩本文已收录至专栏:MySQL通关路 ❤️文末附全文思维导图,感谢各位点赞收藏支持~ 一.引入 存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的工作,可以减少数据在数据库和应用服务器之间的传输,…

大数据技术之Clickhouse---入门篇---SQL操作、副本

星光下的赶路人star的个人主页 积一勺以成江河,累微尘以崇峻极 文章目录 1、SQL操作1.1 Insert1.2 Update 和 Delete1.3 查询操作1.4 alter操作1.5 导出数据 2、副本2.1 副本写入流程2.2 配置步骤 1、SQL操作 基本上来说传统关系型数据库(以 MySQL 为例…

【雕爷学编程】MicroPython动手做(30)——物联网之Blynk 4

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

phpstudy 进行 composer 全局配置

背景 因为注意到,使用 phpStudy 进行环境搭建时,有时需要使用 composer 每次都需要查找资料进行配置, 在此进行记录笔记,方便有需要的道友借鉴 配置 版本:composer1.8.5(phpStudy8 当前只能安装这一个版本…

Flink作业调度的9种状态

1.什么是作业调度 Flink 通过 Task Slots 来定义执行资源。每个 TaskManager 有一到多个 task slot,每个 task slot 可以运行一条由多个并行 task 组成的流水线。 这样一条流水线由多个连续的 task 组成,比如并行度为 n 的 MapFunction 和 并行度为 n 的…

省份数量(力扣)深度优先 JAVA

有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市c 间接相连。 省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。 给你一个 …

作为一个老程序员,想对新人说什么?

前言 最近知乎上,有一位大佬邀请我回答下面这个问题,看到这个问题我百感交集,感触颇多。 在我是新人时,如果有前辈能够指导方向一下,分享一些踩坑经历,或许会让我少走很多弯路,节省更多的学习的…

CNVD-2023-12632 泛微e-cology9 sql注入 附poc

目录 漏洞描述影响版本漏洞复现漏洞修复 众亦信安,中意你啊! 微信搜索:众亦信安,回复关键字:230317 领批量检测脚本。 声明:文中涉及到的技术和工具,仅供学习使用,禁止从事任何非法…

汽车智能化再掀新热潮!「中央计算架构」进入规模量产周期

中央计算区域控制的新一代整车电子架构,已经成为车企继电动化、智能化(功能上车)之后,新一轮竞争的焦点。 如果说智能化的1.0阶段,是智能驾驶智能座舱的争夺战;那么,即将进入的2.0阶段&#xff…

黑马大数据学习笔记3-MapReduce配置和YARN部署以及基本命令

目录 部署说明MapReduce配置文件YARN配置文件分发配置文件集群启动命令开始启动YARN集群 查看YARN的WEB UI页面保存快照YARN集群的启停命令一键启动脚本单进程启停 提交MapReduce任务到YARN执行提交wordcount示例程序查看运行日志提交求圆周率示例程序 p41~43 https://www.bili…

IntelliJ IDEA快捷键大全 + 动图演示!

一、构建/编译 Ctrl F9:构建项目该快捷键,等同于菜单【Build】—>【Build Project】 执行该命令后,IntelliJ IDEA 会编译项目中所有类,并将编译结果输出到out目录中。IntelliJ IDEA 支持增量构建,会在上次构建的基…

ES6之Promise、Class类与模块化(Modules)

目录 PromiseClass类extendssuper Modules 模块系统export default 和对应importexport 和 import Promise Promise 是 ES6 引入的一种用于处理异步操作的对象。 它解决了传统回调函数(callback)模式中容易出现的回调地狱和代码可读性差的问题。 Promis…

MySQL binLog问题

看到数据库目录下有很多OFF.*文件的时候很诧异,这玩意是啥,binlog不应该都是*bin-log.*​的文件吗?* [roottest ~]# cd /data/mysql_data [roottest mysql_data]# ls ansible hap_attach_yl hap_func_yl hap_msg_yl h…

ThreadPoolExecutor详解(上)

为什么会有线程池? 如果客户端发一个请求,服务端就创建一个线程接收请求,线程资源是有限的,而且创建一个线程和执行结束之后都要调用操作系统资源销毁线程,这样频繁操作肯定非常占用cpu和内存资源,线程池的…

改进粒子群算法优化BP神经网络---回归+分类两种案例

今天采用改进的粒子群算法(LPSO)优化算法优化BP神经网络。本文选用的LPSO算法是之前作者写过的一篇文章:基于改进莱维飞行和混沌映射(10种混沌映射随意切换)的粒子群优化算法,附matlab代码 文章一次性讲解两种案例,回归…

shiro快速入门

文章目录 权限管理什么是权限管理?什么是身份认证?什么是授权? 什么是shiro?shiro的核心架构shiro中的三个核心组件 shiro中的认证shiro中的授权shiro使用默认Ehcache实现缓存shiro使用redis作为缓存实现 权限管理 什么是权限管理…

Express中间件

1.创建最基本的中间件 const express require(express); const send require(send);const app express()const mw function (req, res, next) {console.log(middleware);// 一定要调用next() 把流转关系交给下一个中间件或路由next() }app.listen(80, () > {console.l…

SpringBoot —程序包org.springframework.boot.test.context不存在

一. 遇到问题 &#xff1a;程序包org.springframework.boot.test.context不存在 发生错误的原因是项目中缺少spring-boot-starter-test依赖导致的&#xff0c;解决方案如下: 在项目根目录的pom.xm文件中的<dependencies>节点下增加以下依赖即可&#xff1a; <depen…