1.引言
soc(system on a chip)自20世纪90年代后期出现以来,广受学术界和工业界的关注, soc通常将微处理器、 ip(intelligence property)核和存储器(或片外存储控制接口)集成在单一芯片上,具有小型、轻量、低功耗、多功能、高可靠和低成本化等特征,在计算机、通信、消费类电子、工控、交通运输等领域应用十分广泛。
随着基于ip复用技术的 soc设计的不断发展,片上总线 ocb(on-chip bus)技术成为解决 soc发展的关键技术。目前主要有三大主流片上总线标准: ibm公司的 coreconnect,arm公司的amba (advanced microcontroller bus architecture)以及silicore corp公司的 wishbone。本文针对两大主流 ocb总线标准 amba和coreconnect,完成amba高性能系统总线ahb和coreconnect的外围总线 opb之间的桥接转换,设计出 opb_ahb桥接器。
2.opb_ahb桥接器功能特性
ahb是arm公司微控制器总线体系结构 amba规范定义的三种总线之一,它是先进的系统总线,用于连接高性能系统模块,支持突发数据传输方式及单个数据传输方式, ahb总线可挂接多个功能模块(主 /从),并为它们提供高带宽、低延迟的总线连接。
opb总线是ibm公司推出的一种芯片级的外围设备总线, opb总线主要连接外围低速设备,降低外围设备对系统性能的影响,支持突发( burst)操作 。
xilinx公司的软核处理器 microblaze能够很好的支持 opb总线协议, microblaze环境的 opb总线都是 32位的地址位宽和数据位宽,支持 8bit、16bit、32bit的数据传输 。本文设计的opb_ahb桥接器主要是完成以下四个功能。
3.opb_ahb桥接器结构
图1是一个简单的基于 microblaze的opb_ahb 桥接器拓扑结构图。 microblaze是一个软核处理器,整个系统在 xilinx的edk环境下实现, ahb_opb桥接器可以作为 opb设备和 ahb设备之间数据、地址和控制命令的传输通道。
当opb主设备要向 ahb从设备读写数据时, opb_ahb桥接器可以作为 opb总线这一侧的从设备( slave),同时在 ahb总线这一侧充当主设备 (master)的角色,此时 opb_ahb桥接器主要工作是由图 2中opb2ahb bridge完成。当 ahb主设备要向 opb从设备读写数据时, opb_ahb桥接器可以作为ahb总线这一侧的从设备( slave),同时在 opb总线这一侧充当主设备 (master)的角色,此时 opb_ahb桥接器主要工作是由图 2中ahb2opb bridge完成[4]。
4.opb_ahb桥接器的实现
实现两种总线的互联,关键是完成控制信号之间的转换以及数据和地址的传输,本设计采用的方法包括。
(1)流水线方式, (2)将所有输入的控制信号和数据地址总线都寄存一拍。
(3)控制信号都采用同 (4)步设计方法, (5)在opb_clk的上升沿触发。
(6)数据的读写操作为同 (7)步读写。
4.1opb2ahb_brg的实现
(1) 所有控制信号采用同步设计思想,在 sopb_clk的上升沿触发。 sopb_rst高电平有效,为同步复位,当其有效时,所有信号输出 0状态。
(2) 当桥接器检测到 sopb_sel信号有效时,即表明桥接器被选中,成为 opb总线上的从设备,或者检测到 ahb_resp信号状态为retry,此时 opb2ahb_brg作为ahb总线上的主设备向 ahb仲裁器发出请求总线信号 ahb_busreq。
(3) 当opb2ahb_brg检测到 ahb总线侧的允许信号 ahb_grants时,说明桥接器的请求得 到允许,此时当 ahb_ready有效时,可以根据 sopb_be判断传输数据的大小,决定 ahb_size的状态,当 sopb_be为1111时,ahb_size为010(32bit),sopb_be为1100或0011时,ahb_size为001(16bit),sopb_be为0001、0010、0100、1000时,ahb_size为000(8bit)。
(4) 当sopb_rnw为高电平时,为读取数据,数据流向是从 ahb_rdata到sl_dbus,当 sopb_rnw为低电平时,为写数据,数据流向从 sopb_dbus到ahb_wdata。地址总线相连,即sopb_abus连接ahb_addr。
(5)当一次数据传输完成后, (6)置位sl_xferack信号, (7) 让其输出一个时钟周期的高脉冲。
4.2 ahb_opb_brg的实现
(1) 当桥接器检测到 ahb_sel信号有效时,即表明桥接器被选中,成为ahb总线上的从设备,此时ahb2opb_brg作为opb总线上的主设备向 opb仲裁器发出请求总线信号 m_req。
(2)当桥接器接收到 opb仲裁器发出的允许信号 opb_mgrant信号时, (3)表明桥接器可以
开始工作,(4)这个信号会激励 m_sel信号有效, (5)根据 ip核 bk3721的功能特性, (6) m_be总是输出 1111,(7) m_seqaddr和m_buslock输出为0。
(3) 当ahb_write为高电平时,为写数据有效,此时 ahb主设备向从设备桥接器写数据,同时桥接器作为 opb总线上的主设备向选中的 opb从设备写数据,数据流向为 ahb_wdata到 m_dbus。当ahb_write为低电平时,为读数据有效,此时 ahb主设备从桥接器(作为 ahb总线上的从设备)读取数据,同时桥接器作为 opb总线的主设备从选中的 opb从设备读取数据,数据流向为opb_dbus到ahb_rdata。
(8)当数据传输指 (9)示信号opb_xferack被检测有效时, (10) ahb_ready信号输出高电平有效信号, (11)表示数据传输结束。
5.opb_ahb桥接器的验证
5.1 opb2ahb_brg的验证
用verilog编写testbench,在testbench中虚拟设备一个 ahb从设备存储器 ahb_mem,存储器的数据位宽和地址位宽都是 32位,通过测试平台可以对虚拟存储器进行数据的读写,并将数据的读写结果保存到 wdata.txt文件中。
利用modelsim工具对测试平台进行仿真。在主设备向虚拟从设备写数据时, sopb_rnw为低电平,桥接器作为ahb上的主设备将 sopb_dbus数据线上的数据通过 ahb_wdata写到 ahb_mem存储器中,并在 wdata.txt文件中显示出来,仿真结果如图 3 (a)所示。
在主设备从虚拟从设备读取数据时, sopb_rnw为高电平,桥接器作为 ahb上的主设备将ahb_mem存储器的数据通过 ahb_rdata读取到sl_dbus数据总线上,并在 wdata.txt文件中显示出来,仿真结果如图 3 (b)所示。
5.2 ahb2opb_brg的验证
ahb2opb_brg验证平台主要分为测试激励,被测对象以及响应输出三部分。测试过程为:首先对测试激励进行初始化,产生时钟信号和复位信号及控制信号,然后向虚拟 opb从设备(mem存储器)写数据,写完数据后等待一段时间在进行读取数据操作。在modelsim中仿真结果如图 4所示。
通过观察,当写信号时, ahb_wdata数据总线上的数据能够正确的写入到虚拟从设备 opb_mem中,当读信号有效时,虚拟从诶设备 opb_mem中的数据能够正确通过 opb_dbus传输到ahb_rdata总线上。
6.结束语
本文在分析了 amba总线协议和 opb总线协议的基础上,给出了opb_ahb桥接器的设计和验证方案。本文作者创新点是采用同步设计和流水线设计方法,能够正确的转换 opb总线与 ahb总线之间的数据、地址、控制信号,提高了系统的运行速度和稳定性。最后通过 xilinx的ise综合和时序仿真,最高频率达到 100mhz,并导入到 edk环境中,选择microblaze软核处理器构建 soc系统,实现 opb与ahb总线协议的互连。
米达部落培养高端区块链人才,实现百万年薪不是梦
手机零部件有哪些 手机芯片由什么组成
2020年5G进入高峰期将成为三大运营商未来的取胜关键
如何在三星Galaxy手机上启用暗模式
某政府大楼安防视频监控系统的解决方案
OPB_AHB桥接器的功能特性和如何实现应用设计
云服务器和网络服务器之间的区别是怎样的
正激电路工作原理波形分析
如何使用电阻器来解决限流问题?
PCB设计中有哪些实用的设置和其他成功秘诀?
首尔半导体拍卖高功率LED封装专利 所得利润将投入到未来的新技术开发中
高低压电机的维修步骤有哪些
基于STM32与机智云的智能蜡疗机
深入比较VSCode和SourceInsight
选择微控制器MCU的10个步骤
实时云渲染在虚拟展会中的应用
盘点最有可能赶上科创板“头班车”的半导体公司
目前最顶级的双摄手机,除了iphone7 Plus还有它
理想二极管在功耗和空间消耗方面比肖特基二极管高出四倍
室外防水配电箱规格