片上总线Wishbone 学习(八)总线周期之单次读操作
- 格式:docx
- 大小:10.09 KB
- 文档页数:2
三种常用SoC片上总线的分析与比较作者:李瑞张春元罗莉来源:国防科技大学发表时间:2006-02-22内容摘要随着集成电路设计技术的发展,在片上系统(SoC)中,越来越多地使用各种功能IP核部件构成系统。
总线是这些部件连接的主要方式,目前有数家公司和组织研发了多种面向SoC设计的总线系统。
本文介绍SoC中常用的三种片上总线AMBA、Wishbone和Avalon,分析和比较其特性,并针对其不同的特点阐述其使用范围。
引言 嵌入式系统是当今计算机工业发展的一个热点。
随着超大规模集成电路的迅速发展,半导体工业进入深亚微米时代,器件特征尺寸越来越小,芯片规模越来越大,可以在单芯片上集成上百万到数亿只晶体管。
如此密集的集成度使我们现在能够在一小块芯片上把以前由CPU和若干I/O接口等数块芯片实现的功能集成起来,由单片集成电路构成功能强大的、完整的系统,这就是我们通常所说的片上系统SoC (System on Chip)。
由于功能完整,SoC逐渐成为嵌入式系统发展的主流。
相比板上系统,具有许多优点:SoC ①充分利用IP技术,减少产品设计复杂性和开发成本,缩短产品开发的时间; ②单芯片集成电路可以有效地降低系统功耗; ③减少芯片对外引脚数,简化系统加工的复杂性; ④减少外围驱动接口单元及电路板之间的信号传递,加快了数据传输和处理的速度; ⑤内嵌的线路可以减少甚至避免电路板信号传送时所造成的系统信号串扰。
SoC的设计过程中,最具特色的是IP复用技术。
即选择所需功能的IP(给出IP定义)核,集成到一个芯片中用。
由于IP核的设计千差万别,IP核的连接就成为构造SoC的关键。
片上总线(On-Chip Bus,OCB)是实现SoC中IP核连接最常见的技术手段,它以总线方式实现IP核之间数据通信。
与板上总线不同,片上总线不用驱动底板上的信号和连接器,使用更简单,速度更快。
一个片上总线规范一般需要定义各个模块之间初始化、仲裁、请求传输、响应、发送接收等过程中驱动、时序、策略等关系。
Wishbone总线的主要特征概括
Wishbone总线是Silicore公司推出的片上总线协议。
它的结构极其简单、灵活,又完全公开、完全免费,获得众多支持。
图3 给出了Wishbone总线的逻辑结构:Wishbone 总线的主要特征概括如下:
图29 Wishbone总线结构图
●所有应用使用一个总线体系结构;●简单、紧凑的体系结构;●支持多控制器;● 64位地址空间;● 8~64 位数据总线(可扩展);●单周期读和写;● RMW(R E A D - M O D I F Y - W R I T E )周期;●事件周期;●支持重试;●支持内存映射,FIFO(FISRT IN FIRST O U T )和十字互连接口;●提供为较慢设备使用而扼制数据流的机制;●使用者定义标志为,确定数据传输类型;●由终端用户定义仲裁方式。
总结
在以上介绍的三种总线中,CoreConnect虽免费不过需要IBM 公司许可,ARM 没有明确的正式说法,可能也会免费,而Wishbone 是绝对免费的。
三种总线都是同步的总线,使用时钟上升沿驱图7 8-bit SLAVE输出端。
嵌入式SoC总线分析与研究马秦生,魏翠,孙力军,秦鸣,曹阳武汉大学电子信息学院,湖北武汉 430079摘要:本文主要介绍和分析了在集成芯片设计中几种常用的片上系统总线-CoreConnect总线、AMBA总线、Wishbone总线和OCP总线,通过比较这些总线的特性及适用范围,展望了它们的发展前景。
关键词:IP SoC 片上总线The Analyse And Research of embeded SoC BusAbstract:In this paper, the OCB of CoreConnect, AMBA(Advanced Microcontroller Bus Architecture), Wishbone, OCP(Open Core Protocol) are mainly introduced and analyzed. By comparing the characteristic and the applied scope of these SoC bus, the paper views the foreground of the SoC bus mentioned above.Key words: IP SoC OCB(On-Chip Bus)1.引言随着深亚微米工艺制造技术的发展,集成电路芯片的规模越来越大,目前,在单一IC 芯片中已经允许包含数亿个晶体管。
与此同时,IC的设计方法也从基于时序驱动的方式,发展到了基于IP复用的方式,这种基于IP复用的设计方法已经在SoC设计中得到了广泛应用。
基于IP复用的设计方法的关键是建立片上总线(OCB,on-chip bus),片上总线除了必须具有正确、高效和灵活的特点外,还必须具有可复用性。
这样,就可以实现IP芯核的可移植性和IP设计的可复用性,就可以充分地利用公共外设核处理器,就可以提高从公共设计平台创建产品的定制化能力。
因此,实现OCB的标准化是十分必要的。
Wishbone 总线解析2012-03-13 08:35WISHBONE 为我们提供了灵活的连接结构,使我们能非常容易的定制自己的所需用途。
它通过提供标准的数据交换协议,使用户非常方便进行TEAMWORK,把系统组件化,增加了模块的重用性。
节省了二次开发的时间。
WISHBONE 地址和数据位都是32 位(如果小于32 位也可以这行通信),最多可以连接8 个主设备,16 个从设备,当多个主设备申请控制时,通过仲裁机制决定什么时候哪个主设备能访问共享总线。
WISHBONE 具有灵活的可变性连接方式,允许系统通过四种不同的方式实现IP CORES 之间的互联:一。
点到点连接方式(point-to-point interconnection))这是IP CORES 之间最简单的连接方式,只需要一主一从两个IP CORES 之间进行数据通信,例如,主设备可以是微处理器IP CORE ,从设备可以使串口的I/O PORT.二。
数据流连接方式(data flow interconnection)数据流连接方式()这种连接方式用于数据以时序的方式进行处理。
一些时候,这种方式可用作流水线作业。
比如下图三个IP CORES 都是实现浮点运算,假设它们工作的时间都相同,这样三个IP CORES 互联在一起,可以实现高速的类似并行化的时序操作,使处理数据的时间节省三分之二。
三。
共享总线的连接方式(share bus interconnection)共享总线的连接方式()这种方式通常用于两个或以上主设备和一个或以上从设备之间的互联,仲裁机制决定什么时候哪个主设备能够访问总线,这种连接方式的主要优点是结构紧凑,能够用较少的逻辑资源去实现相关结构。
缺点是:每次只能有一个主设备访问总线,其他的主设备在总线忙时只能处于等待状态,降低了数据传输的速度。
这种共享总线的连接方式我们可以在一些标准的总线中看到,例如PCI,VMEbus。
多核处理器核间高速通讯架构的研究汪健;张磊;王少轩;赵忠惠;陈亚宁【摘要】多核处理器使得并行系统的结构日益复杂,已经成为处理器的主流,并发展成为各种通信与媒体应用的主流处理平台.通讯结构是多核系统中的核心技术之一,核间通信的效率是影响多核处理器性能的重要指标.目前有三种主要的通讯架构:总线系统结构、交叉开关网络和片上网络.总线结构设计相对方便、硬件消耗较少、成本较低,交叉开关是适用于构建大容量系统的交换网络结构,而片上网络是更高层次、更大规模的片上网络系统,目前可以彻底解决多核体系结构问题,是多核系统最有前途的解决方案之一.论文较为详细地分析了这三种结构的基本原理、系统结构和功能,提供了部分单元的设计实现.【期刊名称】《电子与封装》【年(卷),期】2011(011)006【总页数】8页(P41-48)【关键词】多核处理器;核间通信;总线结构;交叉开关;片上网络【作者】汪健;张磊;王少轩;赵忠惠;陈亚宁【作者单位】中国兵器工业第214研究所苏州研发中心,江苏,苏州,215163;中国兵器工业第214研究所苏州研发中心,江苏,苏州,215163;中国兵器工业第214研究所苏州研发中心,江苏,苏州,215163;中国兵器工业第214研究所苏州研发中心,江苏,苏州,215163;中国兵器工业第214研究所苏州研发中心,江苏,苏州,215163【正文语种】中文【中图分类】TN4021 引言在当今处理器的发展中,提高处理器主频的做法实现起来似乎更加困难,用户市场上难以看到芯片主频率高达4GHz或者4GHz以上的传统单核处理器出现。
世界顶级芯片巨头Intel、AMD公司为代表的供应商,依靠不断提高处理器频率提升系统性能的时代即将成为过去。
究其原因可能有三点:首先仅仅依靠提升主频已经很难大幅度提升CPU的性能,从而减缓了消费者对高频CPU的热衷;其次当CPU主频达到2GHz以上的时候,处理器功耗也达到了近100W,这已经是目前风冷散热技术的极限;第三,在嵌入式产品领域,传统的单核处理器结构越来越不能满足呈几何级数增长的计算规模的需求。
ISA总线ISA总线(或称工业标准结构总线)在与IBM兼容的PC系统刚起步时就已出现了(约1982年)。
实际上,任何早期PC中的功能卡均可插入最先进的基于Pentium4的计算机中,并且发挥作用。
这是因为在所有这些计算机都有ISA总线接口,从而与早期的PC仍然兼容。
ISA总线最近在家用计算机中已几乎不用了,但仍用于许多工业应用,且越来越受到限制。
ISA总线已经不同于它的早期版本。
ISA总线已从最初的8位标准总线发展为在大多数系统中广泛应用的16位标准总线。
在发展过程中甚至出现过一种称为EISA(扩展ISA)总线的32位标准总线,但已基本消失。
在一些比较老的主板上仍保留有ISA插槽,既可以插入8位ISA卡,又可以插入16位ISA卡。
32位的印制电路板则经常是PCI卡。
8位ISA总线接口引脚信号名称输入输出引脚信号名称输入输出A1I/OCHCK I B1GNDA2D7I/O B2RESET IA3D6I/O B3+5V IA4D5I/O B4IRQ2OA5D4I/O B5-5V IA6D3I/O B6DRQ2OA7D2I/O B7-12V IA8D1I/O B8NOWS OA9D0I/O B9+12V IA10IOCHRAY I/O B10GNDA11AEN I/O B11/SMEMW I/OA12A19I/O B12/SMEMR I/OA13A18I/O B13/IOW I/OA14A17I/O B14/IOR I/OA15A16I/O B15/DACK3IA16A15I/O B16DRQ3OA17A14I/O B17/DACK1IA18A13I/O B18DRQ1OA19A12I/O B19/REFRESH I/OA20A11I/O B20CLK IA21A10I/O B21IRQ7OA22A9I/O B22IRQ6OA23A8I/O B23IRQ5OA24A7I/O B24IRQ4OA25A6I/O B25IRQ3OA26A5I/O B26/DACK2IA27A4I/O B27T/C I/OA28A3I/O B28BALE IA29A2I/O B29+5V IA30A1I/O B30OSC IA31A0I/O B31GND1、下面对引脚信号做一些简要说明:D7~D0:8位数据线,双向,三态。
本文详细介绍了Wishbone标准,主要参考了Wishbone标准版本的核心内容,感兴趣的读者可去下载英文原文。
一、片上总线技术综述随着超大规模集成电路的迅速发展,半导体工业进入深亚微米时代,器件特征尺寸越来越小,芯片规模越来越大,可以在单芯片上集成上百万到数亿只晶体管。
如此密集的集成度使我们现在能够在一小块芯片上把以前由CPU和外设等数块芯片实现的功能集成起来,由单片集成电路构成功能强大的、完整的系统,这就是我们通常所说的片上系统。
IP复用是片上系统时代的核心技术之一。
由于IP核的设计千差万别,它们要能够直接连接,就要遵守相同的接口标准。
在片上系统中,处理器核和所有外设通过共享总线互通互联,因此这些IP核必须遵守相同的总线规范。
总线规范定义的是IP核之间的通用接口,因此它定义了一套标准的信号和总线周期,以连接不同的模块,而不是试图去规范IP核的功能和接口如何实现。
一个片上总线规范一般需要定义各个模块之间初始化、仲裁、请求传输、响应、发送接收等过程中驱动、时序、策略等关系。
芯片与电路板的资源和环境的不同,导致片上总线与板上总线存在若干明显差异,包括:①片上总线多采用单向信号线,而板上总线多采用三态信号。
片上三态总线无论在功耗、速度、可测性上都存在很大缺陷,而且一旦出现多驱动情况便会损毁芯片(比如若应该输出"Z"的信号实际输出为"1",而另有一个信号输出为"0",就形成一个低电阻通路,导致局部电流过大,热量难以及时释放,从而增加芯片功耗和大大降低芯片寿命)。
由于片上布线资源较为丰富,因此片上总线多采用单向信号线。
由于电路板上布线资源较为昂贵,因此板上总线多采用三态总线,但是由于三态总线的功耗问题和速度限制,目前板上总线也在向串行和非三态方向发展,如USB和PCI Express。
②片上总线比板上总线更加简单灵活。
首先片上总线结构要简单,这样可以占用较少的逻辑单元;其次时序要简单,以利于提高总线的速度;第三接口要简单,如此可减少与IP核连接的复杂度。
W i s h b o n e b3中文版本文详细介绍了Wishbone标准,主要参考了Wishbone标准版本的核心内容,感兴趣的读者可去下载英文原文。
一、片上总线技术综述随着超大规模集成电路的迅速发展,半导体工业进入深亚微米时代,器件特征尺寸越来越小,芯片规模越来越大,可以在单芯片上集成上百万到数亿只晶体管。
如此密集的集成度使我们现在能够在一小块芯片上把以前由CPU和外设等数块芯片实现的功能集成起来,由单片集成电路构成功能强大的、完整的系统,这就是我们通常所说的片上系统。
IP复用是片上系统时代的核心技术之一。
由于IP核的设计千差万别,它们要能够直接连接,就要遵守相同的接口标准。
在片上系统中,处理器核和所有外设通过共享总线互通互联,因此这些IP核必须遵守相同的总线规范。
总线规范定义的是IP核之间的通用接口,因此它定义了一套标准的信号和总线周期,以连接不同的模块,而不是试图去规范IP核的功能和接口如何实现。
一个片上总线规范一般需要定义各个模块之间初始化、仲裁、请求传输、响应、发送接收等过程中驱动、时序、策略等关系。
芯片与电路板的资源和环境的不同,导致片上总线与板上总线存在若干明显差异,包括:①片上总线多采用单向信号线,而板上总线多采用三态信号。
片上三态总线无论在功耗、速度、可测性上都存在很大缺陷,而且一旦出现多驱动情况便会损毁芯片(比如若应该输出"Z"的信号实际输出为"1",而另有一个信号输出为"0",就形成一个低电阻通路,导致局部电流过大,热量难以及时释放,从而增加芯片功耗和大大降低芯片寿命)。
由于片上布线资源较为丰富,因此片上总线多采用单向信号线。
由于电路板上布线资源较为昂贵,因此板上总线多采用三态总线,但是由于三态总线的功耗问题和速度限制,目前板上总线也在向串行和非三态方向发展,如USB和PCIExpress。
②片上总线比板上总线更加简单灵活。
Wishbone简介一、背景介绍随着以IP核复用为基础的SoC设计技术的发展,工业界及研究组织积极从事相关IP 互联标准方案的制定工作,从目前的研究和发展看,影响力较大的有IBM公司的CoreConnect、ARM公司的AMBA 和Silicore Corp公司的Wishbone。
Wishbone现在由OpenCores组织维护,是OpenCores建议的片上总线标准,目前已有大量开源的IP Core使用Wishbone总线作为互连标准。
Wishbone总线只定义了信号和信号间的时序关系,因此可用于软核、固核和硬核,对硬件描述语言、综合工具和实现手段没有特殊要求。
与其他片上总线相比,Wishbone总线结构简单,互连灵活,对用户定制的支持良好,与其他片上总线的互连也较简单,因此随着SOPC技术的发展,有着广泛应用前景。
二、总线的整体结构图1给出了Wishbone 总线的逻辑结构:图1Wishbone总线的主要特征概括如下:● 所有应用使用一个总线体系结构;● 简单、紧凑的体系结构;● 支持多控制器;● 64位地址空间;● 8~64位数据总线(可扩展);● 单周期读和写;● R MW(READ-MODIFY-WRITE)周期;● 事件周期;● 支持重试;● 支持内存映射,FIFO(FISRT IN FIRST OUT)和十字互连接口;● 提供为较慢设备使用而扼制数据流的机制;● 使用者定义标志为,确定数据传输类型;● 由终端用户定义仲裁方式。
三、Wishbone的信号Wishbone有三种模块分别为SYSCON、MASTER、和SLA VE模块。
1、SYSCON模块信号CLK_O:系统时钟的输出,同步了Wishbone连接的所有模块,INTERCON模块将CLK_O 输出与MASTER和SLA VE的CLK_I信号相连。
RST_O:系统的复位输出,它强制将与Wishbone相连的模块重启,将自启动的状态机复位到初始状态,INTERCON模块将RST_O输出与MASTER和SLA VE的RST_I相连2、MASTER和SLA VE共有的信号CLK_I:模块的系统时钟输入DAT_I():数据输入,最大位宽到64位DAT_O():数据输出,最大位宽64位RST_I():模块的复位输入TGD_I():在MASTER和SLA VE接口中使用,它包含了与数据输入DAT_I()相关的信息,STB_I标记其有效TGD_O():同上,包含了与数据输出DAT_O()相关的信息,STB_O标记其有效3、MASTER模块的信号ACK_I:确认信号输入,当有效时表示一个正常的总线周期的结束ADR_O():二进制地址输出,如果它是以字节为粒度数的,当数据总线是32位时的它的最大地址数就是ADR_O(n..2),n最大为63。
第21卷第3期V01.21一No.3百色学院学报.JOURNALOFBAlSEUNIVERSlTY2008年6月JuIL2008SoC片上五种总线标准的分析比较邓崇亮,覃焕昌(百色学院物理与电信工程系,广西百色533000)摘要:随着SoC(片上系统)的快速发展,高速片上数据传输对片上总线的要求越来越高。
文章在分析当前设计中常用的几种SoC片上总线标准(ARM的AMBA总线、Silicore的Wishbone总线、IBM公司的CoreConnect总线、Altera的Avalon总线和0CP—IP设计的0CP总线)的基础上,对它们的综合应用和性能进行了分析比较。
关键词:SoC;AMBA总线;Wishbone总线;CoreConnect总线;Avalon总线;0CP总线分类号:TN405.97文献标识码:A文章编号:1673—8233【2008)03一0050一06随着超大规模集成电路的迅速发展,半导体工业进入深亚微米时代,器件特征尺寸越来越小,芯片规模越来越大,可以在单芯片上集成上百万到数亿只晶体管。
如此密集的集成度使我们现在能够在一小块芯片上把以前由CPU和若干I/O接口等数块芯片实现的功能集成起来,由单片集成电路构成功能强大、完整的系统,这就是我们通常所说的片上系统SoC(SystemonChip)。
它是以嵌入式系统为核心,以IP复用技术为基础,集软、硬件于一体,并追求产品系统最大包容的集成芯片。
近lo年来,无论是消费类产品如电视、录像机,还是通信类产品如电话、网络设备,这些产品的核心部分都开始采用芯片作为它们的“功能中枢”。
s0C片上总线尚处于发展阶段,不像微机总线那样成熟,目前还没有统一的标准。
因此各大厂商和组织纷纷推出自己的标准,以便在未来的S(灯片上总线标准中占有一席之地。
目前,SOC总线架构有很多,本文就目前使用较多的几种SOC片上总线标准——ARM的AMBA总线、Silicore的Wishbone总线、1BM公司的CoreCo肌ect总线、Altem的Avalon总线和()CP—IP设计的OCP总线进行了分析讨论,为大家使用提供一些参考:1SoC片上的五种总线标准1.1AMBA总线AMBA(AdvancedMicrocontrollerBusArchitecture)总线规范是ARM公司设计的一种用于高性能嵌入式系统的总线标准。
第3章 QMEM剖析OR1200中那么多模块,笔者决定首先分析QMEM,理由如下:(1)第2章建立的最小系统中,指令都存储在QMEM中。
(2)在建立最小系统过程中,or1200_qmem_top.v是唯一一个修改了源代码的文件,该文件就是QMEM 模块的顶层文件,我们需要明白为什么要做这个修改。
(3)从图1.6中可以发现QMEM处于IMMU与ICache、DMMU与DCache之间的“交通要道”,地位十分重要,便于通过QMEM的分析理解Wishbone总线。
(4)QMEM很简单。
本章首先描述了QMEM的作用,由于QMEM与CPU、IMMU、ICache、DMMU、DCache都是通过Wishbone总线连接的,所以会对Wishbone总线规范进行介绍。
在此基础上分析QMEM的内部RAM实现。
在OR1200运行过程中,会在三种情况下使用到QMEM:取指令、加载(Load)数据、存储(Store)数据,本章将结合取指令的情况分析QMEM在其中的工作过程,后两种情况将留在“加载存储类指令剖析”时再分析。
取指令又分两种情况:复位后取第一条指令、正常运行过程中的指令读取,在本章的最后两小节,将分别对这两种情况进行分析。
3.1 QMEM的作用QMEM是Quick Memory的简称,顾名思义,就是快速存储器,实际上这是一个片上RAM,可以实现在一个时钟周期内读取其中存储内容(指令、数据),用户可以把一些常用的代码存放在其中,比如:Context切换过程、异常处理句柄、堆栈等。
有学者将QMEM类比为OR1200的一级缓存(L1 Cache),这种说法是不对的,缓存是不可寻址的,但是QMEM是可以寻址的,而且QMEM没有缓存中存在的替换问题,所以QMEM的作用不是缓存,就是一可寻址的片上存储器。
其在OR1200结构中的位置如图3.1所示。
图3.1 QMEM在OR1200中的位置取指令的过程:CPU给出指令的有效地址(EA:Effective Address),IMMU将有效地址翻译为物理地址(PA:Physical Address),然后送到QMEM中,QMEM判断该地址是否位于QMEM的地址范围内,如果是,就直接取出指令送到CPU,如果不是位于QMEM的地址范围内,则将该地址发送给ICache,ICache 查看该地址是否被缓存,如果是就直接读出指令送往QMEM,后者直接转发给CPU,如果ICache没有命中,则通过指令WB_BIU模块访问外部存储器获取指令。
片上总线Wishbone 学习(八)总线周期之单次读操作
异步周期结束方式单次读操作每次操作只完成一次读或者写,是最基本的
总线操作方式。
但是,Wishbone主设备或者从设备也可以不支持单次读/写操作,甚至没有地址和数据总线。
单次读操作如图1。
在时钟上升沿0,主设备将地址信号ADR_O()、TGA_O()放到总线上,将WE_O置为低表示读操作,将适当的SEL_O()信号置高通知从设
备将数据放在数据总线的适当位置,将CYC_O和TGC_O置高表示操作正在
进行,将STB_O置高表示操作开始。
在时钟上升沿1到达之前,从设备检测到主设备发起的操作,将适当的数据
放到主设备的输入信号DAT_I()和TGD_I(),将主设备的ACK_I置高作为对主
设备STB_O的响应。
在时钟上升沿1,主设备发现ACK_I信号为高,将DAT_I()和TGD_I()采样,
并将STB_O和CYC_O置为低表示操作完成。
从设备发现STB_O置低后,也
将主设备的输入信号ACK_I置低。
在图1中,从设备可以上升沿0和上升沿1之间插入任意多个等待周期。
图1Wishbone总线的单次读操作(周期异步结束方式)
同步周期结束方式图2Wishbone总线的单次读操作(周期同步结束方式)在时
钟上升沿0:Master在[ADR_O()]和[TGA_O()]发出有效的地址Master拉低[WE_O],表明是一个读周期Master发出有效数据选择信号[SEL_O()]表明哪些
数据是有效的Master发出[CYC_O]和[TGC_O()]表明总线周期的开始Master发
出[STB_O]表明操作的开始在时钟上升沿1:Slave检测到主设备发起的操作,。