当前位置: 首页 > news >正文

Avalon总线学习

Avalon总线学习

avalon总线可以分为:

  • Avalon clock interface

  • Avalon reset interface

  • Avalon Memory mapped interface

  • Avalon iterrupt interface

  • Avalon streaming interface

  • Avalon tri-state conduit interface

  • Avalon conduit interface

1、Avalon clock interface

这是一个时钟接口,所有的avalon接口都是同步的,都需要有一个时钟,在qsys中,我们每添加一个新的IP核,都需要将它与时钟连接上。自定义IP核时,可以定义一个时钟接口,也可以定义多个时钟接口,时钟接口可以时输入,也可以是输出,就比如PLL锁相环,有输入时钟,又有输出时钟。下图是锁相环的接口图

image-20240311222307514

我们重点关注clock sink输入接口和clock source输出接口。

1)clock sink信号类型:

信号宽度方向是否必选描述
clk1input一时钟信号,为内部逻辑和其他接口提供同步

在qsys中clock sink的属性:

image-20240311223033325

只有一个clock rate,如果为0,那么clock rate无效,如果不为0并且连接的时钟源不是指定的频率,那么qsys则发出警告,一般我们这里采用默认设置就可以了。

2)clock source信号类型

信号宽度方向是否必选描述
clk1output一个输出时钟信号

clock sink是用于整个内部逻辑和其他接口的时序

clock source就是用于外部逻辑和其他接口的时序。

属性如下:

  • associaated direct clock

    任何一个同步的接口都要依附一个时钟,那么这个依附的时钟就是associaated direct clock ,比如双口fifo,我们的输入端口依附的时钟就是输入时钟,我们的输出端口依附的就是输出时钟。

image-20240311224004582

  • clock rate

    表示频率,使用默认设置即可

image-20240311224250374

  • clock rate known

表示时钟频率是否已经知道,如果已经知道,这个信息在系统中可以用于自定义其他 组件

image-20240311224449242

2、Avalon reset interface

这是又给复位接口,avlaon接口他们的复位都是连接在一起的,只要nios ii处理器复位了,那么所有的ip也会一起复位。和时钟接口一样可以分为reset sink和reset source。

信号类型

信号宽度方向是否必选描述
reset、reset_n1input必选复位信号,reset高电平有效,reset_n低电平有效
reset_req1input可选复位请求信号

信号属性

1)reset sink的信号属性:

associateed clock

关联的同步信号,如果我们自定义IP核将输入时钟接口命名为clk,那么此时同步到该接口的时钟名称就是clk,如果我们命名为clock那么此时同步到该接口的时钟名称就是clock。

image-20240311225035474

  • synchronous edges

表示reset输入需要同步类型,none选项表示不服位;deassert选项表示异步复位;both选项表示同步复位。

image-20240311225543627

2)reset source

信号宽度方向是否必选描述
reset、reset_n1output必选复位信号,reset高电平有效,reset_n低电平有效
reset_req1output可选复位请求信号

属性:和reset sink差不多

image-20240312161913465

3、Avalon Memory mapped interface

也就是Avalon-MM,它是一个地址映射接口,可以通过地址读写数据,这个接口非常的常用,也是一个非常重要的接口,疑问我们后面自定义用户外设的化,也是基于这个接口去构建的。采用全同步时序。

Avalon-MM总线是一种主从式的传输方式,由一个主控端外设发起并控制传输的过程,而从属端外设响应经由总线模块发来的信号完成整个传输。Avalon-MM总线不会因为总线被占据而延误传输的时间,有逻辑仲裁,可以遵循先来后到的规则,也可以遵循谁重要谁先访问的规则。image-20240312162658595

也就是nios cpu可以跟多个外设建立一个单独的通道,当多个主机访问同一个slave时,由仲裁模块决定谁先访问.

信号类型以及信号流向:

image-20240312163100949

Avalon-MM信号可以分为主端口信号和从端口,每个单独的主端口或从端口使用的信号类型由外设的设计决定.

属性:

image-20240314201453283

属性名称描述
address units为地址信号指定单位
associated clock同步到该接口的时钟名称
associated reset同步到该接口的复位名称
Bits per symbol定义每个符号位的位数
Burstcount ubits为burstcount信号指定单位
Explicit address span明确地址范围
setup数据建立时间
read wait读取等待时间
write wait写入等待时间
Hold数据保持时间
Timing units为setup,hold,write wait和read wait指定单位
Read latenccy读延时
Maximum pending read transactions在从设备中:这个参数是从设备在等候未读的队列最大数。在主设备中:表示主设备生成的未解决的读事件数量
Burst on rurst boundaries only写信号
LineWrap Bursts写进来的数据

传输方式有:基本传输、流水线传输、突发传输的。流水线传输地址需要多次发送,而突发传输只需要发送1次(首地址)。

Avalon-MM的传输时序:

同种类型的主端口与从端口传输在时序上基本是一致的,其区别仅在于主端口传输时由主端口外设驱动总线模块,而从端口传输是由总线模块驱动从端口外设。

  • Avalon-MM从端口固定延时的写基本传输时序图

    当时钟的上升沿到来的时候,拉高write信号,同时给出写地址address和要写的数据writedata。信号的流向可以参考上图:信号类型以及信号流向

image-20240314200835015

将write wait设置为2,就变成下图,write信号延迟了2个时钟周期,可以给外设充分的响应时间。

image-20240314203104586

  • 可变延迟的写基本传输时序

    可变延迟传输和固定延迟传输的区别在于是否存在waitrequest信号。

    image-20240314203345358

当waitrequest信号为低时,且write为高时,在时钟上升沿地址和数据才能被传输。

  • 流水线传输时序

    下面时序是主机读取从机的数据,主机将read拉高,从机发送低电平的waitrequest信号给主机时,主机将地址address信号传输给从机,从机返还数据给主机的同时把readdatavalid信号拉高,代表数据有效。

image-20240314203706193

在流水线时序传输时序中,需亚奥设置Maximum pending read transactions信号属性,这个属性时表示这个模块最大能接受的流水量。

  • 写突发传输时序

    只需要给出初始地址address,和突发长度,地址能依次累加写入数据。

image-20240314204731121

image-20240314205007164

  • 读突发传输

    read:主机->从机,拉高,同时将address地址和burstcount突发长度给从机,告诉从机从哪里开始读取数据,读取几个数据。

    readdatavali:从机–>主机,拉高时,代表从机返还数据给主机,主机可以开始接收数据了。

    在这里插入图片描述

4、Avalon interrupt interface

这一一个中断接口,自定义外设组件中需要使用中断功能的时候,我们就可以通过这个接口来实现。

1)输入:interrupt receiver

信号类型位宽是否必选描述方向
irq1-32irq是n位的矢量,每个位直接对应一个IRQ发送器,没有优先级在内的呈现输入
  • 属性
  • image-20240314210553370

2)输出:interrupt sender

信号类型位宽是否必选描述方向
irq、irq_n1中断请求信号。当从器件需要接收时使irq有效output
  • 属性:

image-20240314212344299

中断号0的最高,然后是1,依次递推。

5、Avalon streaming interface

它是一个流接口,streaming就是流水的意思,它支持单向数据流,包括数据包,dsp数据等等,avalon-st接口与avalon-mm接口的区别是非常明显的,avalon-mm接口主要用于sopc控制流传输或者简单的数据流传输,而avalon-st接口则主要用于sopc设计中高速数据流的传输,二者可以说是相辅相成的,搭配使用可以清晰的分离系统内的控制流核数据流,显著地提高系统整体地可靠性核运行效率。Avalon-ST是一种单向点对点的高速接口。

Avalon-MM用于qsys控制流传输或者简单的数据流传输
Avalon-ST适用于一些传递速度要求较高,没有地址要求的应用方面

Avalon-MM包含两种接口source端口和sink端口,数据流向

在这里插入图片描述

  • 信号类型:

image-20240314213048046

  • 属性:

image-20240314213134240

注意first symbol in high-order bits选项:

image-20240314213343306

解释一下这个选项的含义:

image-20240314213657135

假设data bits per symbol=16,将它分为symbol0、symble1、symbol2和symbol3四组,如果选中了first symbol in high-order bits,那么symbol0就在最高位,如果没有选中,那么symbol0就会在最低位。

时序图:valid信号为高就可以采集数据了,此时数据有效。

image-20240314214438504

有反馈信号ready的基本传输连接示意图:

image-20240314214740256

因为有ready信号,我们就可以使用到于ready信号相配合使用的ready latency信号属性。如下图,当ready为低的时候,sink是不接受数据的,只有当ready、

valid同时为高是,sink接口才可以接收数据。

image-20240314214937793

再看一个例子:当ready信号有效时,valid信号等待了2个时钟周期才有效,此时sink才会接收source发送的数据。

image-20240314215127567

2)包传输

在Avalon-ST中,我们使用SOP和EOP来指示一个包。sop就是start of packet ,eop就是end of packet。

image-20240314215517584

时序图:

startofpacket和endofpacket的值仅在valid信号拉高时有意义。当startofpacket为高时,数据就开始传输,当endofpacket为高时,数据包停止传输。当两次包传输之间没有空闲期时,startofpacket信号可以紧跟一次包传输的endofpacket信号。注意当ready信号和valid信号同时为高时才开始传输数据。

image-20240314215539223

在看一下其他信号:empty\channel\error

image-20240314220233652

由于使用了channel信号,所以需要设置maximun channel信号属性。maxinmum channel就是用来说明数据接口支持的最大通道数。

image-20240314220827725

6、Avalon tri-state conduit interface

简称Avalon-TC,它是一个三态导管接口。是为了驱动外围组件地片上控制器而设计地。由于多重外围设备可以通过该接口共享数据,地址核控制引脚,因此它能节约FPGA引脚。一个点到点的接口。

altera提供的关于avalon三态导管接口的IP核:

generic tri-state controller、tri-state conduit bridege、tri-state conduit bridge translator、tri-state conduit pin shaarer

7、Avalon conduit interface

它是一个单纯地导管接口,该接口可以将Qsys系统中地信号或者信号组连接到设计中的其他模块或者FPGA的管教上,比如我们将PIO IP核的引脚引出Qsys系统,然后分配给LED管脚,或者其他FPGA管脚。

image-20240314222721151

属性

image-20240314222817145

--晓凡  2024314日于武汉书

相关文章:

Avalon总线学习

Avalon总线学习 avalon总线可以分为: Avalon clock interface Avalon reset interface Avalon Memory mapped interface Avalon iterrupt interface Avalon streaming interface Avalon tri-state conduit interface Avalon conduit interface 1、Avalon c…...

Sentinel(熔断规则)

慢调用比例 慢调用比例( SLOM_REQUEST_RATTo ):选择以慢调用比例作为阈值,需要设置允许的慢调用RT(即最大的响应时间),请求的响应时间大于该值则统计为慢调用。当单位统计时长(statIntervalMs)内请求数目大于设置的最小请求数目,…...

Hive借助java反射解决User-agent编码乱码问题

一、需求背景 在截取到浏览器user-agent,并想保存入数据库中,经查询发现展示的为编码后的结果。 现需要经过url解码过程,将解码后的结果保存进数据库,那么有几种实现方式。 二、问题解决 1、百度:url在线解码工具 …...

Linux下安装Android Studio及创建桌面快捷方式

下载 官网地址:https://developer.android.com/studio?hlzh-cn点击下载最新版本即可 安装 将下载完成后文件,进行解压,然后进入android-studio-2023.2.1.23-linux/android-studio/bin目录下,启动studio.sh即可为了更加方便的使…...

【析】一类动态车辆路径问题模型和两阶段算法

一类动态车辆路径问题模型和两阶段算法 摘要 针对一类动态车辆路径问题,分析4种主要类型动态信息对传统车辆路径问题的本质影响,将动态车辆路径问题(Dynamic Vehicle Routing Problem, DVRP)转化为多个静态的多车型开放式车辆路径问题(The Fleet Size a…...

从基础入门到学穿C++

前言知识 C简介 C是一门什么样的语言,它与C语言有着什么样的关系? C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解…...

代码随想录算法训练营第二十四天|leetcode78、90、93题

一、leetcode第93题 class Solution { public:vector<string> restoreIpAddresses(string s) {int n s.size();vector<string> res;function<void(string, int, int)> dfs [&](string ss, int idx, int t) -> void {// 终止条件&#xff0c;枚举完&…...

Java学习笔记NO.20

Java流程控制 1. 用户交互 Scanner Java中的Scanner类用于获取用户输入&#xff0c;可以从标准输入&#xff08;键盘&#xff09;读取各种类型的数据。 import java.util.Scanner; public class UserInputExample { public static void main(String[] args) { Scanner sc…...

关系型数据库mysql(1)基础认知和安装

目录 一.数据库的基本概念 1.1数据 1.2表 1.3数据库 1.4 DBMS 数据库管理系统 1.4.1基本功能 1.4.2优点 1.4.3DBMS的工作模式 二.数据库的发展历史 2.1发展的三个阶段 第一代数据库 第二代数据库 第三代数据库 2.2mysql发展历史 三.主流数据库 四.关系型数据库和…...

WanAndroid(鸿蒙版)开发的第三篇

前言 DevEco Studio版本&#xff1a;4.0.0.600 WanAndroid的API链接&#xff1a;玩Android 开放API-玩Android - wanandroid.com 其他篇文章参考&#xff1a; 1、WanAndroid(鸿蒙版)开发的第一篇 2、WanAndroid(鸿蒙版)开发的第二篇 3、WanAndroid(鸿蒙版)开发的第三篇 …...

全国农产品价格分析预测可视化系统设计与实现

全国农产品价格分析预测可视化系统设计与实现 【摘要】在当今信息化社会&#xff0c;数据的可视化已成为决策和分析的重要工具。尤其是在农业领域&#xff0c;了解和预测农产品价格趋势对于农民、政府和相关企业都至关重要。为了满足这一需求&#xff0c;设计并实现了全国农产…...

堆排序(数据结构)

本期讲解堆排序的实现 —————————————————————— 1. 堆排序 堆排序即利用堆的思想来进行排序&#xff0c;总共分为两个步骤&#xff1a; 1. 建堆 • 升序&#xff1a;建大堆 • 降序&#xff1a;建小堆 2. 利用堆删除思想来进行排序. 建堆和堆删…...

使用DMA方式控制串口

本身DMA没什么问题&#xff0c;但是最后用GPIOB点灯&#xff0c;就是点不亮。 回到原来GPIO点灯程序&#xff0c;使用GPIOB就是不亮&#xff0c;替换为GPIOA就可以&#xff0c;简单问题总是卡得很伤。...

ModbusTCP转Profinet网关高低字节交换切换

背景&#xff1a;在现场设备与设备通迅之间通常涉及到从一种字节序&#xff08;大端或小端&#xff09;转换到另一种字节序。大端字节序是指高位字节存储在高地址处&#xff0c;而小端字节序是指低位字节存储在低地址处。在不动原有程序而又不想或不能添加程序下可选用ModbusTC…...

OpenvSwitch VXLAN 隧道实验

OpenvSwitch VXLAN 隧道实验 最近在了解 openstack 网络&#xff0c;下面基于ubuntu虚拟机安装OpenvSwitch&#xff0c;测试vxlan的基本配置。 节点信息&#xff1a; 主机名IP地址OS网卡node1192.168.95.11Ubuntu 22.04ens33node2192.168.95.12Ubuntu 22.04ens33 网卡信息&…...

GPT能复制人类的决策和直觉吗?

GPT-3能否复制人类的决策和直觉&#xff1f; 近年来&#xff0c;像GPT-3这样的神经网络取得了显著进步&#xff0c;生成的文本几乎与人类写作内容难以区分。令人惊讶的是&#xff0c;GPT-3在解决数学问题和编程任务方面也表现出色。这一显著进步引发了一个问题&#xff1a;GPT…...

权限设计种类【RBAC、ABAC】

ACL 模型&#xff1a;访问控制列表 DAC 模型&#xff1a;自主访问控制 MAC 模型&#xff1a;强制访问控制 ABAC 模型&#xff1a;基于属性的访问控制 RBAC 模型&#xff1a;基于角色的权限访问控制 一、简介前三种模型&#xff1a; 1.1 ACL&#xff08;Access Control L…...

C语言经典面试题目(十九)

1、什么是C语言&#xff1f;简要介绍一下其历史和特点。 C语言是一种通用的高级计算机编程语言&#xff0c;最初由贝尔实验室的Dennis Ritchie在1972年至1973年间设计和实现。C语言被广泛应用于系统编程、应用程序开发、嵌入式系统和操作系统等领域。它具有高效、灵活、可移植…...

VSCode 远程调试C++程序打开/dev/tty设备失败的问题记录

概述 因为需要协助同事调试rtklib中的rtkrcv程序&#xff0c;一直调试程序都是用了vscode&#xff0c;这次也不例外&#xff0c;但是在调试过程中&#xff0c;发现程序在打开当前终端(/dev/tty)的时候&#xff0c;总是打开失败&#xff0c;返回的错误原因是“No such device o…...

亮相AWE 2024,日立中央空调打造定制空气新体验

日立中央空调于3月14日携旗下空气定制全新成果&#xff0c;亮相2024中国家电及消费电子博览会&#xff08;简称AWE 2024&#xff09;现场&#xff0c;围绕“科创先行 智引未来”这一主题&#xff0c;通过技术与产品向行业与消费者&#xff0c;展现自身对于家居空气的理解。 展会…...

KY61 放苹果(用Java实现)

描述 把 M 个同样的苹果放在 N 个同样的盘子里&#xff0c;允许有的盘子空着不放&#xff0c;问共有多少种不同的分法&#xff1f; 注意&#xff1a;5、1、1 和 1、5、1 是同一种分法&#xff0c;即顺序无关。 输入描述&#xff1a; 输入包含多组数据。 每组数据包含两个正整…...

原型模式(Clone)——创建型模式

原型模式(clone)——创建型模式 什么是原型模式&#xff1f; 原型模式是一种创建型设计模式&#xff0c; 使你能够复制已有对象&#xff0c; 而又无需依赖它们所属的类。 总结&#xff1a;需要在继承体系下&#xff0c;实现一个clone接口&#xff0c;在这个方法中以本身作为拷…...

<.Net>VisaulStudio2022下用VB.net实现socket与汇川PLC进行通讯案例(Eazy521)

前言 此前&#xff0c;我写过一个VB.net环境下与西门子PLC通讯案例的博文&#xff1a; VisaulStudio2022下用VB.net实现socket与西门子PLC进行通讯案例&#xff08;优化版&#xff09; 最近项目上会用到汇川PLC比较多&#xff0c;正好有个项目有上位机通讯需求&#xff0c;于是…...

漫途桥梁结构安全监测方案,护航桥梁安全!

桥梁作为城市生命线的重要组成部分&#xff0c;承载着城市交通、物流输送、应急救援等重要职能。然而&#xff0c;随着我国社会经济的飞速发展&#xff0c;桥梁所承载的交通流量逐年增长&#xff0c;其安全性所面临的挑战亦日益严峻。例如恶劣的外部环境、沉重的荷载以及长期使…...

LAMP架构部署--yum安装方式

这里写目录标题 LAMP架构部署web服务器工作流程web工作流程 yum安装方式安装软件包配置apache启用代理模块 配置虚拟主机配置php验证 LAMP架构部署 web服务器工作流程 web服务器的资源分为两种&#xff0c;静态资源和动态资源 静态资源就是指静态内容&#xff0c;客户端从服…...

关于PXIE3U18槽背板原理拓扑关系

如今IT行业日新月异&#xff0c;飞速发展&#xff0c;随之带来的是数据吞吐量的急剧升高。大数据&#xff0c;大存储将成为未来数据通信的主流&#xff0c;建立快速、大容量的数据传输通道将成为电子系统的关键。随着集成技术和互连技术的发展&#xff0c;新的串口技术&#xf…...

网络安全等保测评指标一览表

什么是等保&#xff1f; 等保是指对国家重要信息、法人和其他组织及公民的专有信息以及公开信息和存储、传输、处理这些信息的信息系统分等级实行安全保护&#xff0c;对信息系统中使用的信息安全产品实行按等级管理&#xff0c;对信息系统中发生的信息安全事件分等级响应、处…...

C语言中函数的递归

在C语言中&#xff0c;递归是一种解决问题的方法&#xff0c;其中函数直接或间接地调用自身来解决问题。递归通常用于解决那些可以分解为更小、更简单的同类问题的问题。递归有两个关键部分&#xff1a;基本情况&#xff08;base case&#xff09;和递归情况&#xff08;recurs…...

01|模型IO:输入提示、调用模型、解析输出

Model I/O 可以把对模型的使用过程拆解成三块&#xff0c;分别是输入提示&#xff08;对应图中的Format&#xff09;、调用模型&#xff08;对应图中的Predict&#xff09;和输出解析&#xff08;对应图中的Parse&#xff09;。这三块形成了一个整体&#xff0c;因此在LangCha…...

Android Studio实现内容丰富的安卓民宿酒店预订平台

获取源码请点击文章末尾QQ名片联系&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动 1.开发环境android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登录 2.查看民宿 3.民宿预订 4.民宿预订支付&#xff0c; 5.支付订单 6.评论管…...

学设计的网站有哪些/华夏思源培训机构官网

Oracle软件在安装维护过程中长要和操作用户组(OS user group)打交道&#xff0c;从早前的只有oracle用户和dba组发展到今天11gr2中的grid用户和asm组&#xff0c;Oracle管理的日新月异可见一斑。我们在单实例(single-instance)环境中常用的三个操作用户组&#xff0c;分别是:oi…...

那个平台能免费做网站/关键词热度

任何一个文件在使用之前和使用之后, 必须要进行打开和关闭istream,ostream,cin.get(),cin.getline(),cin.read(),cout.write() fopen,fgetc(),fputc(),getc(),putc(),fgets(),fputs() getchar(),putchar(),gets(),puts()char infile[255],outputfile[255];FILE *inf,*outf;st…...

做网站赚钱嘛/百度指数下载手机版

前言create-react-app搭建的项目中&#xff0c;请求需要处理跨域问题解决方案找到webpackDevServer.config.jsimage.png寻找proxyimage.png3.普通代理修改为proxy: {/postApi: {target: http:// 192.168.0.2:8080,changeOrigin: true,secure: false,},/xxx: {target: http:// …...

泌阳专业网站建设/西安百度公司官网

地址 http://www.jianshu.com/p/736dd7b63ece 目录 概念存储读取概念 文件存储是 Android 中最基本的一种数据存储方式&#xff0c;它不对存储的内容进行任何的格式化处理&#xff0c;所有数据都是原封不动的保存到文件当中的。它比较适合用于存储一些简单的文本数据或二进制数…...

wordpress修改页面标题显示不出来/佛山网络推广公司

企业内部发展很关键&#xff0c;这是硬实力&#xff0c;而产品的质量和功效也是属于硬实力&#xff0c;但是宣传也是一大要点。因为宣传企业和产品才是软实力。也是企业销售中的亮点。如今的销售方式有很多&#xff0c;但是不管什么样的销售方式前提都是宣传&#xff0c;让更多…...

seo网站优化报价/竞价推广工具

在日常的生活和工作中&#xff0c;面板开关&#xff0c;空气开关&#xff0c;漏电保护开关&#xff0c;我们经常见到和使用到&#xff0c;相信都非常的熟悉&#xff0c;但是当我们出差在外&#xff0c;住宿宾馆&#xff0c;酒店的时候&#xff0c;我们发现酒店或者宾馆房间进门…...