SRIO—IP讲解及说明

2024-02-29 01:44
文章标签 讲解 ip 说明 srio

本文主要是介绍SRIO—IP讲解及说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、SRIO IP 概述
    • 1.1 逻辑层
      • 1.1.1 I/O 端口(I/O Port)
      • 1.1.2 消息端口(Messaing Port)
      • 1.1.3 用户自定义端口(User-Defined Port)
      • 1.1.4 维护端口(Maintenance Port)
    • 1.2 缓冲层
    • 1.3 物理层
  • 二、协议格式
    • 2.1 传输数据量小于 8 字节
    • 2.2 传输的数据量大于 8 字节
  • 三、SRIO IP 的创建及讲解
  • 四、Example Design 生成
    • 4.1 时钟逻辑
    • 4.2 复位逻辑


前言

本章将为大家介绍 “Serial RapidIO Gen2 ”IP 的使用以及配置方法。“Serial RapidIO Gen2 ”IP 在进行数据传输时需要按照 Rapidio 协议进行数据传输。Rapidio 协议组成的基本要素是包和控制符号:包是基于各种协议的传输数据内容,控制符号则用于控制物理层数据交互的方式。本章实验的方案是产生一组累加的测试数据,测试数据在经过光模块后再对数据进行接收,将发送和接收的数据进行对比,从而测试我们的开发板是否支持“Serial RapidIO Gen2 ”IP 数据的收发。


提示:任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」 ;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人 。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」

一、SRIO IP 概述

RapidIO 是由 Motorola 和 Mercury 等公司率先倡导的一种高性能、 低引脚数,基于数据包交换的互连体系结构,是为满足高性能嵌入式系统需求而设计的一种开放式互连技术标准。RapidIO 最初是使用并行总线,但是并行总线需要较多的引脚数。现在使用较多的都是串行总线 RapidIO,即 SRIO。并行总线和串行总线它们之间只是物理接口不同,它们具有相同的编程模型,事务处理,
以及寻址机制。接下来我们主要介绍串行总线 RapidIO 即 SRIO。SRIO IP 被划分为三层:逻辑层(Logical Layer),缓冲层(Buffer)以及物理层(Physical Layer),如图所示。
在这里插入图片描述
下面我们来对逻辑层(Logical Layer),缓冲层(Buffer)以及物理层(Physical Layer)分别展开介绍。

1.1 逻辑层

逻辑层(Logical Layer)又被划分成几个模块来控制并且解析发送和接收数据包。逻辑层(Logical Layer)有三个接口:用户接口(User Interface),传输接口(Transport Interface)和配置接口(Configuration Fabric Interface)。用户接口(User Interface)能够接收和发送数据数据包,当生成 SRIO IP 核的时候可以配置端口的事务类型,同时还可以通过 AXI4_Lite 接口发起维护事务对本地或者远程的寄存器进行访问或者配置。传输接口(Transport Interface)包含发送和接收两个端口,它是用来连接中间的 Buffer,对于 SRIO 的顶层来说这两个端口并不可见;配置接口(Configuration Fabric Interface)也包含两个端口,其中配置主机端口(Configuration Master Port)用来读写本地配置空间,而逻辑配置寄存器端口(LOG Configuration Register Port)则是用来读写一部分逻辑层或者是传输层配置寄存器。而对于 SRIO IP 核来说,最需要关注的就是用户接口
(User Interface)。
在这里插入图片描述
下面将着重为大家介绍用户接口(User Interface),用户接口(User Interface)包含 I/O 端口和三个可选的端口,三个可选端口分别为消息端口( Messaging Port ), 维 护 端 口 ( Maintenance Port ) 以 及 用 户 自 定 义 端 口(User_Defined

这篇关于SRIO—IP讲解及说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/757222

相关文章

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

C++ vector的常见用法超详细讲解

《C++vector的常见用法超详细讲解》:本文主要介绍C++vector的常见用法,包括C++中vector容器的定义、初始化方法、访问元素、常用函数及其时间复杂度,通过代码介绍的非常详细,... 目录1、vector的定义2、vector常用初始化方法1、使编程用花括号直接赋值2、使用圆括号赋值3、ve

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Linux配置IP地址的三种实现方式

《Linux配置IP地址的三种实现方式》:本文主要介绍Linux配置IP地址的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境RedHat9第一种安装 直接配置网卡文件第二种方式 nmcli(Networkmanager command-line

C++快速排序超详细讲解

《C++快速排序超详细讲解》快速排序是一种高效的排序算法,通过分治法将数组划分为两部分,递归排序,直到整个数组有序,通过代码解析和示例,详细解释了快速排序的工作原理和实现过程,需要的朋友可以参考下... 目录一、快速排序原理二、快速排序标准代码三、代码解析四、使用while循环的快速排序1.代码代码1.由快