Avalon Interface Special http://www.altera.com.cn/literature/manual/mnl_avalon_spec.pdf

Avalon总线是SOPC硬件系统的重要组成部分,了解龙妹妹总线的特点、信号以及传输模式等,是构建SOPC硬件系统、开发自定义外设IP的基础。

Avalon接口规范定义了外设和Avalon开关互联结构(Avalon Switch Fabric)之间的数据传输。

Avalon接口是一种开放标准,使用Avalon接口创建和发布定制外设不需要任何授权。

Avalon接口定义(片选,读使能,写使能,地址,数据)

(1)一组信号类型

(2)信号的行为

(3)信号支持的传输类型

一下是6种不同的接口类型:

Avalon Memory Mapped Interface (Avalon-MM)—an address-based read/write interface typical of master–slave connections.
Avalon Streaming Interface (Avalon-ST)—an interface that supports the unidirectional flow of data, including multiplexed streams, packets, and DSP data.
Avalon Memory Mapped Tristate Interface—an address-based read/write interface to support off-chip peripherals. Multiple peripherals can share data and address buses to reduce the pin count of an FPGA and the number of traces on the PCB.
Avalon Clock—an interface that drives or receives clock and reset signals to synchronize interfaces and provide reset connectivity.
Avalon Interrupt—an interface that allows components to signal events to other components.
Avalon Conduit—an interface that allows signals to be exported out at the top level of an SOPC Builder system where they can be connected to other modules of the design or FPGA pins.

Avalon端口分为 主端口 和 从端口()

(1)主端口:用于在Avalon总线上发起传输的一组信号

(2)从端口:用于响应传输请求的一组信号\

在传输期间,主端口的控制和数据信号通过Avalon Switch Fabric与从端口进行通信

Avalon Switch Frabic :片上互联逻辑,将Avalon外设连接在一起,形成较大的系统。

Avalon Memory-Mapped Master(http://www.altera.com.cn/support/examples/nios2/exm-avalon-memory-slave.html#figure1)

Avalon Memory-Mapped Slave(http://www.altera.com.cn/support/examples/nios2/exm-avalon-memory-slave.html)

Clock input Signal Types

基本的信号量:

(1)clk : Avalon 接口同步时钟

(2)reset_n : 外设复位信号

(3)chipselect : Avalon 从接口的片选信号

(4)address(1~32) : 从Avalon Switch Fabric到Avalon从接口的地址线。可访问一个字,指定一个字的偏移量到从端口的地址空间。控制最宽位1个字(16bit,超出动态寻址)。address进行译码,配置寄存器

但是实际设计中碰到了

实际上,当address为静态寻址的时候,Address至少是[1:0]的 4的倍数

(5)byteenable(0,2,4,8,16) : 允许特殊的字节段,高低字节片选等(长度超过8位时,byteenable有效)

(6)read : 从主端口读请求信号

(7)readdata (32): 从主端口读传输数据

(8)write : 来自主端口的写请求

(9)writedata(32): 到Avalon Switch Fabric的写传输数据

等待状态信号,pepeline信号,突发信号,流控制信号,三态信号,其他信号:Avalon主从端口个不一样,此处不具体讲述,相见文档

readdata,writedata,可以不用用一个或者两个1~128(使用动态总线的时候必须8,16,,3,64,128)

Avalon 从端口传输

(1)从端口读传输:

chipselect :

address :

read :

readdata :

byteenable :

一个周期:

(A)第一个周期开始于clk上升沿

(B)read和address信号有效

(C)从Avalon Switch Fabric 对address译码,并设置chipselect有效

(D)clk上升沿标志第一个且是唯一的一个等待周期结束。从端口可在clk上升沿捕获address,read,chipselect

(E)从端口在第二个周期内返回有效数据

(F)从Avalon Switch Fabric 在clk上升沿捕获readdata,读传输到此结。下一个周期从此开始

(2)从端口写传输

chipselect :

address  :

write :

writedata :

byteenable : 为writedata大于1个字节时候,只写指定字节提供机制(不使用所有字节段则始终被允许)

一个周期:

(A)写传输开始于clk上升沿

(B)Avalon Switch Fabric 设置 writedata,address,byteenable,write有效

(C)Avalon Switch Favric对address译码,并向从端口设置chipselect

(D)从端口的下一个clk上升沿捕获writedata,address,byteenable,write和chipselect,写传输结束。下一个周期从这里开始

Focus on Avalon-MM Slave Transfers

这是不是说slave_writedata必须是8,16,32…位宽的??

The minimum requirements are readdata for read for a read-only interface or writedata and write for a write-only interface.

等等……

Memory chip

Conduit

。。。。还是不懂,发现自己不懂得 越来越多

Avalon-MM 阿窝龙妹妹应用笔记相关推荐

  1. DX11龙书学习笔记---渲染管线

    DX11龙书学习笔记---渲染管线 1.输入装配阶段 - 顶点 - 图元拓扑 - 点列表 - 线带 - 线列表 - 三角形带 - 三角形列表 - 带有邻接信息的图元 - 控制点面片列表 - 索引 2. ...

  2. 正确理解Avalon MM总线的动态地址寻址Dynamic Addressing

    目前Nios已经取消了Native寻址模式(即从设备到主设备寄存器直接映射),全部采用了Dynamic寻址模式,查找了目前存在的一些资料,尤其是某些教程,还在使用Native模式,对Dynamic动态 ...

  3. NIOS II 16:Avalon MM Master学习总结

    1.Avalon MM Master 通过学习我们知道NIOS II就是一个典型的Avalon MM Master. Master在Avalon MM总线上,可以对Slave进行读写操作. 2.用户自 ...

  4. DX11龙书学习笔记---准备工作

    DX11龙书学习笔记---准备工作 1.交换链和页面翻转 深度缓冲区 多重采样 1.交换链和页面翻转 为了避免在动画中出现闪烁,最好的做法是在一个离屏(off-screen)纹理中执行所有的动画帧绘制 ...

  5. 阿龙的学习笔记---转载及精炼总结github仓库:cpp-backend-reference

    -> 转载自https://github.com/chankeh/cpp-backend-reference 突击复习常见题,要提前批了,之前的忘了不少,知识广度先再拓展一下.文章中的一些详细讲 ...

  6. 阿龙的学习笔记---《程序员自我修养-链接、装载与库》读书笔记(一)

    记录笔记,因为看了好久还没看完-真的是,但是虽然后面的没看完,但我前面的页快忘完了呀,记录一下吧还是. 一. 温故而知新 从计算机组成原理之类的开始讲,说明这部分还是蛮重要的,虽然也快忘完了. 讲到操 ...

  7. 阿龙的学习笔记---CMake指定C++版本

    主要参考这个文章: https://cloud.tencent.com/developer/article/1741243 调试毕业设计程序,编译安装库时遇到的问题:说98版本不支持long long ...

  8. 阿龙的学习笔记---哈希表与C++11中unordered_map学习笔记

       散列表(Hash table,也叫哈希表),是根据 关键码值(Key value) 而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个映射函 ...

  9. 阿龙的学习笔记---如何用C++ STL 实现一个 LRU缓存

    LRU缓存原理和链表实现:https://blog.csdn.net/weixin_41247813/article/details/82948989 C++的STL的unordered_map 和 ...

最新文章

  1. 吴恩达演讲直指AI落地三大挑战,并提出解决方案(附视频)
  2. (五)Docker镜像管理1之镜像操作
  3. 构建之法读书笔记之五
  4. Oracle Database的安装与卸载
  5. Think Python - Chapter 12 Tuples
  6. Expected BEGIN_OBJECT but was BEGIN_ARRARY at line 1 column 2 path$异常解决方法
  7. linux下通过rsync+inotify 实现数据实时备份(远程容灾备份系统)
  8. Node中使用token(基于第三方包jsonwebtoken)
  9. [UE4] Pawn 移动时没有碰撞的解决办法:使用 AddActorWorldOffset 并勾选 Sweep
  10. NodeJS 加密 —— crypto 模块
  11. [Angularjs] 第一步开始一个项目
  12. 从源码解析LinkedList集合
  13. 关于UIScrollViewDelegate协议中每个回调函数的意义及执行
  14. Vmware vSphere5.0网络连接服务器配置常见问题
  15. java 什么是封闭类,封闭类与声明类
  16. WBE15_HttpServletRequest
  17. MFC图片类CImage数据转换:yuv422转CImage、rgb转CImage、CImage拷贝到CImage、rgb数据垂直镜像
  18. python求一个数的因子_0是素数吗(python求一个数的因子)
  19. 牛客网 月出皎兮,佼人僚兮。 树上启发式合并
  20. 使用xpath批量爬取堆糖图片

热门文章

  1. PHP 读取Excel数据
  2. HDU2612 Find a Way BFS
  3. linux 信号处理
  4. (转)Vix_API 操作 VMware
  5. Linux的僵尸进程及其解决方法(转)
  6. (转)字符型指针变量与字符数组的区别
  7. docker基础知识之挂载本地目录
  8. 奇异值分解和图像压缩
  9. 选择性模糊及其算法的实现。
  10. Java基础之CopyOnWriteArrayList