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锁相环,有输入时钟,又有输出时钟。下图是锁相环的接口图
我们重点关注clock sink输入接口和clock source输出接口。
1)clock sink信号类型:
信号 | 宽度 | 方向 | 是否必选 | 描述 |
---|---|---|---|---|
clk | 1 | input | 是 | 一时钟信号,为内部逻辑和其他接口提供同步 |
在qsys中clock sink的属性:
只有一个clock rate,如果为0,那么clock rate无效,如果不为0并且连接的时钟源不是指定的频率,那么qsys则发出警告,一般我们这里采用默认设置就可以了。
2)clock source信号类型
信号 | 宽度 | 方向 | 是否必选 | 描述 |
---|---|---|---|---|
clk | 1 | output | 是 | 一个输出时钟信号 |
clock sink是用于整个内部逻辑和其他接口的时序
clock source就是用于外部逻辑和其他接口的时序。
属性如下:
-
associaated direct clock
任何一个同步的接口都要依附一个时钟,那么这个依附的时钟就是associaated direct clock ,比如双口fifo,我们的输入端口依附的时钟就是输入时钟,我们的输出端口依附的就是输出时钟。
-
clock rate
表示频率,使用默认设置即可
- clock rate known
表示时钟频率是否已经知道,如果已经知道,这个信息在系统中可以用于自定义其他 组件
2、Avalon reset interface
这是又给复位接口,avlaon接口他们的复位都是连接在一起的,只要nios ii处理器复位了,那么所有的ip也会一起复位。和时钟接口一样可以分为reset sink和reset source。
信号类型
信号 | 宽度 | 方向 | 是否必选 | 描述 |
---|---|---|---|---|
reset、reset_n | 1 | input | 必选 | 复位信号,reset高电平有效,reset_n低电平有效 |
reset_req | 1 | input | 可选 | 复位请求信号 |
信号属性
1)reset sink的信号属性:
associateed clock
关联的同步信号,如果我们自定义IP核将输入时钟接口命名为clk,那么此时同步到该接口的时钟名称就是clk,如果我们命名为clock那么此时同步到该接口的时钟名称就是clock。
- synchronous edges
表示reset输入需要同步类型,none选项表示不服位;deassert选项表示异步复位;both选项表示同步复位。
2)reset source
信号 | 宽度 | 方向 | 是否必选 | 描述 |
---|---|---|---|---|
reset、reset_n | 1 | output | 必选 | 复位信号,reset高电平有效,reset_n低电平有效 |
reset_req | 1 | output | 可选 | 复位请求信号 |
属性:和reset sink差不多
3、Avalon Memory mapped interface
也就是Avalon-MM,它是一个地址映射接口,可以通过地址读写数据,这个接口非常的常用,也是一个非常重要的接口,疑问我们后面自定义用户外设的化,也是基于这个接口去构建的。采用全同步时序。
Avalon-MM总线是一种主从式的传输方式,由一个主控端外设发起并控制传输的过程,而从属端外设响应经由总线模块发来的信号完成整个传输。Avalon-MM总线不会因为总线被占据而延误传输的时间,有逻辑仲裁,可以遵循先来后到的规则,也可以遵循谁重要谁先访问的规则。
也就是nios cpu可以跟多个外设建立一个单独的通道,当多个主机访问同一个slave时,由仲裁模块决定谁先访问.
信号类型以及信号流向:
Avalon-MM信号可以分为主端口信号和从端口,每个单独的主端口或从端口使用的信号类型由外设的设计决定.
属性:
属性名称 | 描述 |
---|---|
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。信号的流向可以参考上图:信号类型以及信号流向
将write wait设置为2,就变成下图,write信号延迟了2个时钟周期,可以给外设充分的响应时间。
当waitrequest信号为低时,且write为高时,在时钟上升沿地址和数据才能被传输。
-
流水线传输时序
下面时序是主机读取从机的数据,主机将read拉高,从机发送低电平的waitrequest信号给主机时,主机将地址address信号传输给从机,从机返还数据给主机的同时把readdatavalid信号拉高,代表数据有效。
在流水线时序传输时序中,需亚奥设置Maximum pending read transactions信号属性,这个属性时表示这个模块最大能接受的流水量。
-
读突发传输
read:主机->从机,拉高,同时将address地址和burstcount突发长度给从机,告诉从机从哪里开始读取数据,读取几个数据。
readdatavali:从机–>主机,拉高时,代表从机返还数据给主机,主机可以开始接收数据了。
4、Avalon interrupt interface
这一一个中断接口,自定义外设组件中需要使用中断功能的时候,我们就可以通过这个接口来实现。
1)输入:interrupt receiver
信号类型 | 位宽 | 是否必选 | 描述 | 方向 |
---|---|---|---|---|
irq | 1-32 | 是 | irq是n位的矢量,每个位直接对应一个IRQ发送器,没有优先级在内的呈现 | 输入 |
- 属性
2)输出:interrupt sender
信号类型 | 位宽 | 是否必选 | 描述 | 方向 |
---|---|---|---|---|
irq、irq_n | 1 | 中断请求信号。当从器件需要接收时使irq有效 | output |
- 属性:
中断号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端口,数据流向
- 信号类型:
- 属性:
注意first symbol in high-order bits选项:
解释一下这个选项的含义:
假设data bits per symbol=16,将它分为symbol0、symble1、symbol2和symbol3四组,如果选中了first symbol in high-order bits,那么symbol0就在最高位,如果没有选中,那么symbol0就会在最低位。
-
Avalon-ST的传输时序
分为基本传输和包传输。
1)基本传输:
基本传输无反馈信号连接示意图:source接口发送数据,sink接口接收数据。valid信号表示数据是否有效。
时序图:valid信号为高就可以采集数据了,此时数据有效。
有反馈信号ready的基本传输连接示意图:
因为有ready信号,我们就可以使用到于ready信号相配合使用的ready latency信号属性。如下图,当ready为低的时候,sink是不接受数据的,只有当ready、
valid同时为高是,sink接口才可以接收数据。
再看一个例子:当ready信号有效时,valid信号等待了2个时钟周期才有效,此时sink才会接收source发送的数据。
2)包传输
在Avalon-ST中,我们使用SOP和EOP来指示一个包。sop就是start of packet ,eop就是end of packet。
时序图:
startofpacket和endofpacket的值仅在valid信号拉高时有意义。当startofpacket为高时,数据就开始传输,当endofpacket为高时,数据包停止传输。当两次包传输之间没有空闲期时,startofpacket信号可以紧跟一次包传输的endofpacket信号。注意当ready信号和valid信号同时为高时才开始传输数据。
在看一下其他信号:empty\channel\error
由于使用了channel信号,所以需要设置maximun channel信号属性。maxinmum channel就是用来说明数据接口支持的最大通道数。
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管脚。
属性
--晓凡 2024年3月14日于武汉书
相关文章:
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 {// 终止条件,枚举完&…...
Java学习笔记NO.20
Java流程控制 1. 用户交互 Scanner Java中的Scanner类用于获取用户输入,可以从标准输入(键盘)读取各种类型的数据。 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版本:4.0.0.600 WanAndroid的API链接:玩Android 开放API-玩Android - wanandroid.com 其他篇文章参考: 1、WanAndroid(鸿蒙版)开发的第一篇 2、WanAndroid(鸿蒙版)开发的第二篇 3、WanAndroid(鸿蒙版)开发的第三篇 …...
全国农产品价格分析预测可视化系统设计与实现
全国农产品价格分析预测可视化系统设计与实现 【摘要】在当今信息化社会,数据的可视化已成为决策和分析的重要工具。尤其是在农业领域,了解和预测农产品价格趋势对于农民、政府和相关企业都至关重要。为了满足这一需求,设计并实现了全国农产…...
堆排序(数据结构)
本期讲解堆排序的实现 —————————————————————— 1. 堆排序 堆排序即利用堆的思想来进行排序,总共分为两个步骤: 1. 建堆 • 升序:建大堆 • 降序:建小堆 2. 利用堆删除思想来进行排序. 建堆和堆删…...
使用DMA方式控制串口
本身DMA没什么问题,但是最后用GPIOB点灯,就是点不亮。 回到原来GPIO点灯程序,使用GPIOB就是不亮,替换为GPIOA就可以,简单问题总是卡得很伤。...
ModbusTCP转Profinet网关高低字节交换切换
背景:在现场设备与设备通迅之间通常涉及到从一种字节序(大端或小端)转换到另一种字节序。大端字节序是指高位字节存储在高地址处,而小端字节序是指低位字节存储在低地址处。在不动原有程序而又不想或不能添加程序下可选用ModbusTC…...
OpenvSwitch VXLAN 隧道实验
OpenvSwitch VXLAN 隧道实验 最近在了解 openstack 网络,下面基于ubuntu虚拟机安装OpenvSwitch,测试vxlan的基本配置。 节点信息: 主机名IP地址OS网卡node1192.168.95.11Ubuntu 22.04ens33node2192.168.95.12Ubuntu 22.04ens33 网卡信息&…...
GPT能复制人类的决策和直觉吗?
GPT-3能否复制人类的决策和直觉? 近年来,像GPT-3这样的神经网络取得了显著进步,生成的文本几乎与人类写作内容难以区分。令人惊讶的是,GPT-3在解决数学问题和编程任务方面也表现出色。这一显著进步引发了一个问题:GPT…...
权限设计种类【RBAC、ABAC】
ACL 模型:访问控制列表 DAC 模型:自主访问控制 MAC 模型:强制访问控制 ABAC 模型:基于属性的访问控制 RBAC 模型:基于角色的权限访问控制 一、简介前三种模型: 1.1 ACL(Access Control L…...
C语言经典面试题目(十九)
1、什么是C语言?简要介绍一下其历史和特点。 C语言是一种通用的高级计算机编程语言,最初由贝尔实验室的Dennis Ritchie在1972年至1973年间设计和实现。C语言被广泛应用于系统编程、应用程序开发、嵌入式系统和操作系统等领域。它具有高效、灵活、可移植…...
VSCode 远程调试C++程序打开/dev/tty设备失败的问题记录
概述 因为需要协助同事调试rtklib中的rtkrcv程序,一直调试程序都是用了vscode,这次也不例外,但是在调试过程中,发现程序在打开当前终端(/dev/tty)的时候,总是打开失败,返回的错误原因是“No such device o…...
亮相AWE 2024,日立中央空调打造定制空气新体验
日立中央空调于3月14日携旗下空气定制全新成果,亮相2024中国家电及消费电子博览会(简称AWE 2024)现场,围绕“科创先行 智引未来”这一主题,通过技术与产品向行业与消费者,展现自身对于家居空气的理解。 展会…...
KY61 放苹果(用Java实现)
描述 把 M 个同样的苹果放在 N 个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? 注意:5、1、1 和 1、5、1 是同一种分法,即顺序无关。 输入描述: 输入包含多组数据。 每组数据包含两个正整…...
原型模式(Clone)——创建型模式
原型模式(clone)——创建型模式 什么是原型模式? 原型模式是一种创建型设计模式, 使你能够复制已有对象, 而又无需依赖它们所属的类。 总结:需要在继承体系下,实现一个clone接口,在这个方法中以本身作为拷…...
<.Net>VisaulStudio2022下用VB.net实现socket与汇川PLC进行通讯案例(Eazy521)
前言 此前,我写过一个VB.net环境下与西门子PLC通讯案例的博文: VisaulStudio2022下用VB.net实现socket与西门子PLC进行通讯案例(优化版) 最近项目上会用到汇川PLC比较多,正好有个项目有上位机通讯需求,于是…...
漫途桥梁结构安全监测方案,护航桥梁安全!
桥梁作为城市生命线的重要组成部分,承载着城市交通、物流输送、应急救援等重要职能。然而,随着我国社会经济的飞速发展,桥梁所承载的交通流量逐年增长,其安全性所面临的挑战亦日益严峻。例如恶劣的外部环境、沉重的荷载以及长期使…...
LAMP架构部署--yum安装方式
这里写目录标题 LAMP架构部署web服务器工作流程web工作流程 yum安装方式安装软件包配置apache启用代理模块 配置虚拟主机配置php验证 LAMP架构部署 web服务器工作流程 web服务器的资源分为两种,静态资源和动态资源 静态资源就是指静态内容,客户端从服…...
关于PXIE3U18槽背板原理拓扑关系
如今IT行业日新月异,飞速发展,随之带来的是数据吞吐量的急剧升高。大数据,大存储将成为未来数据通信的主流,建立快速、大容量的数据传输通道将成为电子系统的关键。随着集成技术和互连技术的发展,新的串口技术…...
网络安全等保测评指标一览表
什么是等保? 等保是指对国家重要信息、法人和其他组织及公民的专有信息以及公开信息和存储、传输、处理这些信息的信息系统分等级实行安全保护,对信息系统中使用的信息安全产品实行按等级管理,对信息系统中发生的信息安全事件分等级响应、处…...
C语言中函数的递归
在C语言中,递归是一种解决问题的方法,其中函数直接或间接地调用自身来解决问题。递归通常用于解决那些可以分解为更小、更简单的同类问题的问题。递归有两个关键部分:基本情况(base case)和递归情况(recurs…...
01|模型IO:输入提示、调用模型、解析输出
Model I/O 可以把对模型的使用过程拆解成三块,分别是输入提示(对应图中的Format)、调用模型(对应图中的Predict)和输出解析(对应图中的Parse)。这三块形成了一个整体,因此在LangCha…...
Android Studio实现内容丰富的安卓民宿酒店预订平台
获取源码请点击文章末尾QQ名片联系,源码不免费,尊重创作,尊重劳动 1.开发环境android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端: 1.注册登录 2.查看民宿 3.民宿预订 4.民宿预订支付, 5.支付订单 6.评论管…...
学设计的网站有哪些/华夏思源培训机构官网
Oracle软件在安装维护过程中长要和操作用户组(OS user group)打交道,从早前的只有oracle用户和dba组发展到今天11gr2中的grid用户和asm组,Oracle管理的日新月异可见一斑。我们在单实例(single-instance)环境中常用的三个操作用户组,分别是: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搭建的项目中,请求需要处理跨域问题解决方案找到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 中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动的保存到文件当中的。它比较适合用于存储一些简单的文本数据或二进制数…...
wordpress修改页面标题显示不出来/佛山网络推广公司
企业内部发展很关键,这是硬实力,而产品的质量和功效也是属于硬实力,但是宣传也是一大要点。因为宣传企业和产品才是软实力。也是企业销售中的亮点。如今的销售方式有很多,但是不管什么样的销售方式前提都是宣传,让更多…...
seo网站优化报价/竞价推广工具
在日常的生活和工作中,面板开关,空气开关,漏电保护开关,我们经常见到和使用到,相信都非常的熟悉,但是当我们出差在外,住宿宾馆,酒店的时候,我们发现酒店或者宾馆房间进门…...