当前位置:首页 > EDA > 电子设计自动化
[导读] 摘要:本文首先介绍了 AHB和OPB总线协议特点,并在此基础上详细阐述了 OPB_AHB总线桥接器的功能和设计思路,最后给出了 OPB_AHB的验证方法和仿真结果。并在 Xilinx的EDK环境下利用MicroBlaze软核构建了 SoC系统并通

 摘要:本文首先介绍了 AHB和OPB总线协议特点,并在此基础上详细阐述了 OPB_AHB总线桥接器的功能和设计思路,最后给出了 OPB_AHB的验证方法和仿真结果。并在 Xilinx的EDK环境下利用MicroBlaze软核构建了 SoC系统并通过 FPGA验证。

  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.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)所示。

  图3 (a)  OPB2AHB_Brg写数据仿真波形

  在主设备从虚拟从设备读取数据时, SOPB_RNW为高电平,桥接器作为 AHB上的主设备将AHB_mem存储器的数据通过 AHB_Rdata读取到Sl_Dbus数据总线上,并在 WData.txt文件中显示出来,仿真结果如图 3 (b)所示。


图3 (b) OPB2AHB_Brg读数据仿真波形


  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总线协议的互连。

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

亚盛医药宣布,公司将在第73届美国肝病研究学会年会上以口头报告形式公布其在研凋亡蛋白抑制因子(IAP)拮抗剂APG-1387治疗慢性乙型肝炎(CHB)的首次人体I期试验的研究成果。(医药健闻)...

关键字: IAP HB

摘要:为解决传统自动化生产线生产效率低、自动化程度低、生产线复杂等问题,设计了一种自动化程度高且简单的自动化机械手臂,并根据设计进行仿真实验。实验结果表明,该设计在自动化生产实践中取得了较好的效果,提高了生产效率,达到了...

关键字: 机械手臂 设计 仿真

摘要:基于数字孪生技术,依托Unity引擎开发虚拟调试应用。通过机器人工作站实例进行虚拟调试仿真,基于socket通信,通过三菱PLC对虚拟机器人工作站进行虚拟调试,检测工作站结构设计的合理性、信号配置和逻辑设计的正确性...

关键字: 数字孪生 虚拟调试 仿真

最近为什么越来越多的研究开始利用FPGA作为CNN加速器?FPGA与CNN的相遇究竟能带来什么神奇效果呢?原来,FPGA拥有大量的可编程逻辑资源,相对于GPU,它的可重构性以及高功耗能效比的优点,是GPU无法比拟的;同时...

关键字: FPGA 可编程逻辑资源 GPU

FPGA的应用领域包罗万象,我们今天来看看在音乐科技领域及医疗照护的智能巧思。

关键字: FPGA 科技领域 智能

麦格纳(MAGNA)正在进行一项1.2亿美元的投资,在印度班加罗尔建立和运营一座全新工程中心,旨在为出行电动化提供支持。该设施占地约2.2万平方米,预计将于2023年第一季度开业,届时该中心将聘请众多经验丰富的工程师和技...

关键字: 工程师 仿真 电动汽车 软件

强大的产品可降低信号噪音并提高分辨率与动态

关键字: Spectrum仪器 数字化仪 FPGA

最近某项目采用以太网通信,实践起来有些奇怪,好像设计成只能应答某类计算机的ICMP(ping)命令, 某类计算机指的是Windows特定系统,其他系统发送ping都不能正确识别。

关键字: 嵌入式Linux FPGA 协议

近两年,国外厂商的FPGA芯片价格飙升,由于价格,货期,出口管制等多方面因素的影响,很多公司都在寻找FPGA国产化替代方案。我工作中正在使用的几款芯片也面临停产的风险,用一片少一片,了解到国产FPGA发展的也不错,完全自...

关键字: FPGA 芯片 EDA

和铂医药宣布,与石药集团全资子公司恩必普药业有限公司达成协议,和铂医药将巴托利单抗(HBM9161)在大中华区(包括中国大陆、香港、澳门及台湾)开发、制造及商业化的独家权益转让于恩必普药业。根据协议,和铂医药将获得最高总...

关键字: HB

电子设计自动化

21191 篇文章

关注

发布文章

编辑精选

技术子站

关闭