片上总线Wishbone 学习(二)Wishbone总线标准介绍
片上总线Wishbone 学习(二)Wishbone总线标准介绍
Wishbone总线产生、发展
市场是推动技术前进的主要动力,人们对各种电子产品不断的更新,更好,更完美的追求刺激了技术的不断升级和创新。反映在IC设计领域,人们开始追求芯片的系统化,单一化,整体化,突出强调从宏观上提高芯片上的性能。SoC正是在这样的环境下孕育而生,并获得了快速的发展。调查,2004年SoC芯片占芯片设计的26%;预测,到2010年市场上90%的芯片是SOC芯片。Wishbone总线也是顺应了芯片技术的发展,提出的一种片上总线系统方案。该方案有助于SoC芯片的整合,加快芯片设计及充分利用前人开发的IP核等。传统的IP核设计没有考虑到可重用设计方法,因此在SoC中要将这些由不同厂家开发的IP核集成到一个芯片中不是一件很容易的事。首先遇到的是如何有效,可靠的把两个或以上的IP核信号互联起来。Silicore公司开发的Wishbone总线能有效的将各种需要的IP核整合起来,使他们之间可以无障碍的通信。而且Wishbone的设计简单、易行,能够适应各种类型IP(软核,固核,硬核)。
1999年6月,Silicore公司发布Wishbone总线标准A版,即初级版:
1999年7月,Silicore公司发布Wishbone总线标准A.1版;
2001年1月,Silicore公司发布Wishbone总线标准B版;
2001年1月,Silicore公司发布Wishbone总线标准B.1版;
2002年1月,Silicore公司发布Wishbone总线标准B.2版:
2002年9月,Silicore公司发布Wishbone总线标准B.3版。
Wishbone总线设计思想
片上总线设计遵循简单,灵活和可移植性。这样能够在不增加复杂度的情况下将各个不同IP模块连接起来。Wishbone就是这样的一种总线,它能够有效的帮助系统工程师标准化IP模块的接口,实现SOC。Wishbone是采用主端(MASTER)和从端(S“wE)的架构。主端模块发出数据传送请求,然后通过一个互连网络和从端进行数据交换,如图3一l所示。这个互连网络我们称之为INTERCON,它使得主端顺利访问从端。图3—1中圆圈部分是INTERCON,起到连接主端和从端的作用。它的作用
Wishbone名字的由来
根据美国韦伯斯特(Webster,1758—1843,美国词典编辑家)词典,WISHBONE是指大多数鸟类胸骨前的一块叉状型的锁骨。在名字定义初期,Silicore公司设想找一个能够反映双向总线这一特点的名字。这些总线是由多路选择器和三态门实现的,它们的形状类似Y,和锁骨(WISHBONE)相似,所以后来被称为WISHBONE总线。这个名字是由Wade Peterson,一名Silicore公司的工程师,在当年美国感恩节上提出的。
Wishbone总线的主要特征
一般总线规范的共同特点为同时适用于于软核、固核和硬核设计;对开发工具和目标硬件没有特殊要求,并且几乎兼容已有的所有综合工具;可以用多种硬件描述语言来实现;支持结构化设计方法学,以提高大团队的设计效率;灵活的数据和地址总线宽度,支持大端和小端操作;支持主从设备接口,支持多主设备,这是片上共享总线通信所必须的,多个主设备同时需要进行总线操作时,由仲裁器决定当前哪个主设备可以使用总线,仲裁逻辑用户可以自行定义。此外,在作者看来,Wishbone总线规范的特点还包括:
1. 支持点到点、共享总线、十字交叉(Crossbar)和基于交换结构(Switch fabric)的互联。Wishbone总线规范是"轻量级(Lightweight)"规范,它实际上更加侧重于点对点互联以及复杂度不高的共享总线片上系统互联。因此,与其他总线规范相比,Wishbone的接口更加简单紧凑,接口需要的互联逻辑非常少(见本章后续的例子),这是Wishbone的一个重要优势。熟悉AMBA总线的读者在读完本章后就能够理Wishbone比AMBA总线简单的多,但是两者各有个的优势。AMBA将所有的外设分为高速设备和低速设备,高速设备连接到系统总线,通常通信的数据量也较大,如SDRAM控制器、NAND Flash控制器、LCD控制器,低速设备连接外设总线,通常通信数据量小,如通用串口、计时器等。外设总线与系统总线通过总线桥接器相连。在实际系统中,处理器、系统总线、外设总线间的时钟频率的典型比值之一是4:2:1,因此整个系统的功耗被有效降低。另外一个好处是通过在总线桥接器中添加DMA引擎,系统总线和外设总线可以实现速率解耦。而依照Wishbone规范,Wishbone总线上所有设备都要连接到同一总线,无论是高速设备还是低速设备。与Wishbone总线相比,AMBA的缺点是设计较为复杂。但是实际上,Wishbone总线也设计为类似AMBA总线的架构,但此时系统为双Wishbone总线架构。
2. 支持典型的数据操作,包括:单次读/写操作、块读/写操作,读改写(RMW,Read-Modify- Write,细节见后文)操作。最快情况下一个时钟周期可完成一次操作,操作的结束方式包括:成功、错误和重试(Retry)。一个总线周期完成一次操作,一次操作可以是单次读/写操作、块读/写操作或者读改写操作。操作总是在某一总线周期内完成的,因此操作结束方式也称为总线周期结束方式,两者说法在后文将视情况使用。成功是操作的正常结束方式,错误表示操作失败,造成失败的原因可能是地址或者数据校验错误,写操作或者读操作不支持等。重试表示从设备当前忙,不能及时处理该操作,该操作可以稍后重新发起。接收到操作失败或者重试后,主设备如何响应取决于主设备的设计者。
3. 允许从设备进行部分地址解码,有利于减少了冗余地址译码逻辑,提高地址译码速度。这一点本书将通过实例说明。
4. 支持用户定义的标签。这些标签可以用于为地址、数据总线提供额外的信息如奇偶校验,为总线周期提供额外的信息如中断向量、缓存控制操作的类型等。Wishbone规范只定义标签的时序,而标签的具体含义用户可自行定义。支持用户定义的标签是Wishbone规范区别与其他片上总线规范的重要特征之一。
5. 全同步化设计,包括复位方式。但是实际上复位方式采用同步还是异步并不影响IP的互联互通,因此兼容Wishbone规范的IP完全可以采用异步方式,http://www.opencores.org上面的很多兼容Wishbone规范的开源IP采用的就是异步复位。
总结以上内容,Wishbone总线规范区别于其他总线规范的两个核心特点是:(1)是轻量级规范,因此接口更加简单紧凑;(2)支持支持用户定义的标签。
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
片上总线Wishbone 学习(二)Wishbone总线标准介绍相关推荐
- pci总线协议学习笔记——PCI总线基本概念
1.pci总线概述 (1)PCI,外设组件互连标准(Peripheral Component Interconnection),是一种由英特尔(Intel)公司1991年推出的用于定义局部总线的标准; ...
- Hibernate基础学习(二)—Hibernate相关API介绍
一.Hibernate的核心接口 所有的Hibernate应用中都会访问Hibernate的5个核心接口. (1)Configuration接口: 配置Hibernate,启动Hibernate,创建 ...
- CUPS学习二:CUPS概念介绍。
距离上一篇博客已经过去差不多半年的时间,虽然这半年一直有其他各种莫名其妙的事打断,但是工作内容始终还是围绕着linux打印系统在开展.虽然进度很慢,里边到现在还是有细节没有太弄懂,但是源码和介绍已经差 ...
- 基于STM32的CAN总线通信学习笔记
转自:https://blog.csdn.net/ludaoyi88/article/details/53350077 基于STM32的CAN总线通信学习笔记 本文主要简单介绍CAN总线的相关概念,以 ...
- 片上总线Wishbone 学习(十二)总线周期之块写操作
转自http://blog.csdn.net/ce123_zhouwei/article/details/6964008 片上总线Wishbone 学习(十二)总线周期之块写操作 异步周期结束方式 块 ...
- 片上总线Wishbone 学习—— 转载请注明出处:http://blog.csdn.net/ce123
片上总线Wishbone 学习(零)前言 声明:版权所有,欢迎转载! 转载请注明出处:http://blog.csdn.net/ce123 为了更加升入的理解片上系统,比如S3C2440等,今天开始学 ...
- 片上总线学习之Wishbone
片上总线学习之Wishbone Wishbone是Silicore公司推出的一种轻量级协议,结构简单,开源免费,未来有可能成为新的IEEE标准,看好其在Soc片上总线的应用前景,典型的WISHBONE ...
- 片上总线Wishbone 学习(四)接口信号定义
片上总线Wishbone 学习(四)接口信号定义 所有的Wishbone接口信号都是高电平有效,设计成高电平有效的主要原因是由于低电平有效信号的书写问题,不同的设计者表达低电平有效信号的方式不同,拿最 ...
- 片上总线Wishbone 学习(三)Wishbone互联的类型
分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow 片上总线Wishb ...
最新文章
- 10分钟学会Google Map API
- 害怕抑郁症?该系统通过日常交流就能判断你是否有病
- Adam公式+参数解析
- 【赠书】图神经网络优质书籍,送你3本进行学习
- hbase组合rowkey_「从零单排HBase 11」HBase二级索引解决方案
- css实现鼠标覆盖显示大图
- 比新iPhone好看多了!华为Mate 30系列机型外观曝光
- UI超实用通用图标素材模板
- Android 仿微信朋友圈发表图片拖拽和删除功能
- 群晖用php装aria2,群晖Synology安装Aria2实现迅雷离线下载,安装IPKG
- 给交换机console接口设置密码
- 【Unity好用插件】PSD文件转UI插件——Psd 2 Unity uGUI Pro ★★★完整过程
- 【爬虫】巧用 js2py (附带bug解决)
- 图片加载之前显示 加载中或者加载中图片
- 网站突然服务器到期,网站云服务器到期释放
- Android常见页面布局
- OpenJDK8维护暂停?272迟迟不发布
- fflush函数使用
- 非法字符: '\ufeff' 解决方案(Android Studio)
- 能玩java游戏oppo按键手机_游戏手机排行榜 | OPPO Reno果然不负期待
热门文章
- opencv将预测的68个landmarks标注到图片上
- 网络与信息安全-第三章-对称秘钥加密算法
- 智能管家(原型)- 语音控制设备
- 全智通A+常见问题汇总解答—A+库存盘点,点击生成盘点,生成错误的数据
- oracle右键删除表格,Oracle删除表的几种方法
- Sigfox被NB-IoT招安?这只是其成为物联网Uber的一个路径
- svn 分支 合并
- Excel中如何制作双斜线表头和倾斜表头?简单到两步就搞定
- ps扁平图之 油画(莫奈)中的色彩与几何
- python中button对象的方法_Python cmds.shelfButton方法代码示例