FPGA优质开源模块 - SRIO

这篇具有很好参考价值的文章主要介绍了FPGA优质开源模块 - SRIO。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

一、软硬件平台

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

二、IP核参数配置

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

FPGA优质开源模块 - SRIO,fpga开发,开源,SRIO

FPGA优质开源模块 - SRIO,fpga开发,开源,SRIO

FPGA优质开源模块 - SRIO,fpga开发,开源,SRIO

 三、工程源码结构

 下图是SRIO工程源码结构:

FPGA优质开源模块 - SRIO,fpga开发,开源,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优质开源项目获取方式 ,里面有获取方式。或者点击链接,跳转到原文获取:《FPGA优质开源模块 - SRIO》。文章来源地址https://www.toymoban.com/news/detail-640220.html

到了这里,关于FPGA优质开源模块 - SRIO的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于FPGA的SRIO的相关介绍和实现

    1、SRIO简介         SRIO是面向嵌入式系统开发提出的高可靠、高性能、基于包交换的新一代高速互联技术,已于2004年被国际标准化组织(ISO)和国际电工协会(IEC)批准为ISO/IECDIS 18372标准。SRIO则是面向串行背板、DSP和相关串行数据平面连接应用的串行RapidIO接口。串行RapidIO包

    2024年02月07日
    浏览(40)
  • ZYNQ(FPGA)与DSP之间SRIO通信操作

    一、基于XQ6657Z35-EVM平台ZYNQ与DSP之间通信例程 1.1ZYNQ 与DSP之间SRIO通信 1.1.1例程位置 ZYNQ例程保存在资料盘中的DemoZYNQPLsrio_gen2_0_ex文件夹下。 DSP例程保存在资料盘中的DemoDSPXQ_SRIO_x4LANE_5Gbps文件夹下。 1.1.2功能简介 实现DSP与ZYNQ之间SRIO接口传输功能。 DSP与ZYNQ之间SRIO通道宽度

    2024年02月09日
    浏览(47)
  • FPGA中光纤,ddr3,srio数据传输速率、带宽分析

    需求分析:FPGA通过光纤接收数据,将接受的数据写入ddr中,再通过srio将数据传递给dsp。光纤传输的数据量为17万个32bit数据。 光纤速率分析:由于在光纤IP核中设置的速率为3.125G,单位bit。数据位宽为16bit。又由于光纤传输数据会进行8b/10b编码。因此单根光纤本地的传输速率

    2024年02月13日
    浏览(37)
  • FPGA-音频模块开发(一)

    本实验将实现音频模块和FPGA之间的数据通信,通过音频模块把麦克风输入的语音数据存储到SDRAM存储器里,再把音频数据发送给音频模块,从耳机接口进行语音的播放,从而实现录音和播放的功能。 这里简单介绍一下音频模块AN831用到的音频编/解码芯片WM8731。该芯片在本设计

    2023年04月10日
    浏览(31)
  • 【FPGA协议篇】UART通信及其verilog实现(代码采用传参实现模块通用性,适用于快速开发)

    ​ 即通用异步收发器(Universal Asynchronous Receiver/Transmitter),是一种 串行、异步、全双工 的通信协议。特点是通信线路简单,适用于远距离通信,但传输速度慢。 数据传输速率:波特率(单位:baud,波特) 常见波特率有:1200、2400、4800、19200、38400、57600等,最常用的是9600和11520

    2024年02月05日
    浏览(45)
  • 【Python】串口通信-与FPGA、蓝牙模块实现串口通信(Python+FPGA)

    🎉欢迎来到Python专栏~与FPGA、蓝牙模块实现串口通信 ☆* o(≧▽≦)o *☆ 嗨 ~我是 小夏与酒 🍹 ✨ 博客主页: 小夏与酒的博客 🎈该系列 文章专栏: Python学习专栏 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏 📜 欢迎大家关注! ❤️ Python与FPGA串口通信

    2024年02月15日
    浏览(43)
  • 顶层模块【FPGA】

    1顶层模块:                 不能像C语言的h文件那样,把io的定义放在其他文件。 2顶层模块模板: 原来可以,写法上要稍微改下格式

    2024年02月03日
    浏览(31)
  • FPGA模块——DA转换模块(AD9708类)

    由于电路接了反相器,所以对应就不一样了。 电路图: 在ROM中存入要输出的波形数据: 用软件生成各个对应的点。 给DA转换器一个时钟,这个时钟是对clk时序时钟的取反。由于DA也是上升沿锁存数据,这样就保证DA模块读到的数据都是稳定了的数据。这样只是为了保证系统的

    2024年02月02日
    浏览(82)
  • 通用读写仲裁模块(FPGA实现)

      当涉及多个模块向同一个模块进行读写操作、向一个半双工模块请求读写,甚至综合一下,多个模块向一个半双工模块发起读写请求,那就要涉及读写仲裁。因为最近做的项目中涉及的读写仲裁太多了,所以就想还是要写一个通用的读写仲裁模块,最好还是具备“凡请求

    2024年02月07日
    浏览(39)
  • FPGA模块使用Verilog调用另一个Verilog模块

    FPGA模块使用Verilog调用另一个Verilog模块 在FPGA设计中,常常需要将一个大的模块分解成多个子模块来实现。而这些子模块通常由Verilog代码编写而成。在设计中,我们需要通过调用这些子模块来实现整体的功能。本文将介绍如何使用Verilog调用另一个Verilog模块。 为了说明这个过

    2024年02月07日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包