当前位置:首页 > 工业控制 > 电子设计自动化
[导读]摘要:本文详细介绍了OPB总线仲裁器的信号和仲裁机理。在QuartusII8.0平台上,分别用固定优先级算法和LRU算法,用硬件描述语言(verilog HDL)对OPB总线仲裁器进行了RTL硬件建模。并用FPGA进行实现,并比较了仿真结果和综

摘要:本文详细介绍了OPB总线仲裁器的信号和仲裁机理。在QuartusII8.0平台上,分别用固定优先级算法和LRU算法,用硬件描述语言(verilog HDL)对OPB总线仲裁器进行了RTL硬件建模。并用FPGA进行实现,并比较了仿真结果和综合结果,两种算法都通过了RTL和网表之间的形式验证。

0 引言

随着 SOC 设计技术的发展,为了使IP 核集成更快速、更方便,缩短进入市场的时间, 迫切需要一种标准的互联方案。CoreConnect 正是在这一背景下为SOC 设计的总线架构。按 照数据访问速度它可分为三层总线,分别是处理器内部总线PLB(Processor Local Bus)、片上 外围总线OPB(On-ChipPeripheral Bus)和设备控制总线DCR(Device Control Register)。 OPB 总线是为UART、GPIO 等慢数据率设备提供接口的总线。由于集成到总线中的功能模 块越来越多,对于共享总线系统,片上仲裁是使得各个模块有效运作的必要手段。目前关于 OPB 总线仲裁器这方面的研究报道较少,为了探寻在不同的系统负载和系统应用下选择最 佳的OPB 总线仲裁方案,本文基于固定优先级和LRU 两种算法,利用自顶向下的设计方法, 设计了OPB 总线的仲裁器,并对其综合结果做了比较。

1 OPB 总线仲裁机制

OPB 总线支持32 位数据/地址位宽,读和写数据总线分开,支持重试模式,支持突发 (burst)传输模式,支持DMA,检测总线超时功能,支持多个主设备的仲裁。OPB 总线的 系统结构分为三个部分:主设备(Master),从设备(Slave)和总线逻辑。信号命名有三种: Mn_打头的,是Master 的输出;Sln_打头的,是Slave 的输出;OPB_打头的,是总线逻辑 的输入或输出。OPB 总线允许有多个master,当这几个master 同时发出请求要求使用总线时, 就必须对他们的请求进行仲裁,并确定他们使用总线的优先级,这就是仲裁器的作用。OPB 总线仲裁器的输入输出信号如图1 所示。


SYSCLK 和RESET 为OPB 总线的系统时钟和复位信号。Mn_REQUEST 为4 个master 的请求信号,OPB_MnGRANT 为仲裁器发出的授权信号,OPB_SELECT 是master 收到授 权信号后发出的占用总线信号,OPB_ABUS 为地址总线,OPB_DBUS 为数据总线, OPB_XFERACK 为slave 数据传输完的响应,OPB_RNW 是读写使能信号,OPB_BUSLOCK 是master 锁定对总线使用权的信号,ARB_DBUS 和ARB_DBUSEN 是仲裁器的数据总线和 使能信号,ARB_XFERACK 是仲裁器传输数据完成的响应信号。OPB_TOUTSUP 是slave 超时禁止的信号,OPB_TIMEOUT 是总线超时信号。

仲裁过程说明如下:

Master 首先发出Mn_REQUEST 信号申请占用总线,仲裁器根据总线占用情况和优先权 算法发出OPB_MnGRANT 信号,得到最高优先权的master 拉高Mn_SELECT 信号,其他 master 把这个信号置低,这4 个select 信号通过或逻辑形成OPB_SELECT 信号输入给仲裁 器。

同时发送地址 Mn_ABUS,也是通过或逻辑转变成OPB_ABUS 输入给仲裁器。OPB 总 线有多个slave 设备,每个slave 都有自己的地址空间值,Master 发送的Mn_ABUS 正是包 含了他所要使用的slave 的地址值,slave 会对值进行比较,如果相等,master 就可以对slave 进行读写操作。

读操作时,master 拉高OPB_RNW,仲裁器拉高ARB_DBUSEN,并通过ARB_DBUS 输 出数据。写操作时,master 拉低OPB_RNW,通过OPB_DBUS 输入数据。当有效数据传输完 成后,仲裁器会拉高ARB_XFERACK 信号响应。Master 在收到响应后,会拉低Mn_SELECT 信号,结束此次总线事务。

2 OPB 总线仲裁器的设计

采用自顶向下的设计方法,将设计分成4 个模块,分别为优先级逻辑模块,仲裁模 块,看门狗超时模块和锁定/停靠模块。原理图如图2 所示。



图2 仲裁器设计原理图

1) 优先级逻辑模块

这个模块采用两种不同的算法进行设计,分别是LRU(Least Recently Used)算法和固定 优先级算法[1]。

a) LRU 算法

LRU 算法就是根据master 的编号循环得到优先级,保证每个设备都有机会获得总线。我 们设计的是最多支持4 个master 的仲裁器,所以采用一个8 位的寄存器,用来存放4 个master 的二进制编号。每个周期都要更新这个寄存器值,将得到最高优先级的master 编号放到最 低优先级,其他3 个master 编号各进一级。用这种算法设计的仲裁器的仿真结果如图3。


其中 ARB_DBUS 读出来的数据正是寄存器中保存的master 编号,优先级从高位到低位 递减。00,01,10,11 代表master 的编号0,1,2,3。当4 个master 同时发出请求时,第 一个时钟周期将优先级授权给master0,第二个时钟周期时,master0 的优先级降为最低,其 他三个优先级递进,所以此时授权给master1。后面的周期依次循环,4 个master 将轮流获 得授权。

b) 固定优先级算法

固定优先级算法将 4 个master 的优先级按顺序固定下来,不会改变[2]。这种算法设计更 简单,不需要每周期对master 的优先级更新。设计时优先级寄存器中的值只在总线执行写 操作和复位时才会改变,平时固定不变。仿真结果见图4。


ARB_DBUS 是写入的4 个master 的优先级顺序,master0 为最高,master3 最低。当4 个master 同时发出请求时,授权给master0;当master0 不发出请求,其他三个master 发出 请求时,则根据优先级顺序,授权给master1;依此类推。

2)仲裁逻辑模块

从优先级逻辑模块得到的优先级寄存器信号,将被输入到仲裁逻辑模块。用以对4 个 master 的Mn_REQUEST 请求信号排序,然后优先级从高到低排序的master 中,第一个拉高 请求信号的master 将被授权占用总线。仲裁逻辑模块输出的授权信号是最原始的,这个信 号还要经过锁定/停靠逻辑模块处理才能得到最终的授权信号(OPB_MnGRANT)。

3) 看门狗超时逻辑模块

看门狗逻辑用来监控OPB 的控制信号,当master 在16 个时钟中期内没有能够收到slave的响应信号( OPB_XFERACK ) 和超时禁止信号( OPB_TOUTSUP ), 将会拉高 OPB_TIMEOUT 超时信号[3]。这部分的设计采用一个4 位计数器对时钟进行记数。

4) 锁定/停靠逻辑模块

优先级锁定是得到最高优先级的master 同时拉高OPB_BUSLOCK 信号,这样在这个信 号被置低之前,这个master 将始终得到总线的占用权,仲裁逻辑将不启用。此时不管master 是否发送请求,都不会对仲裁产生影响。优先级的锁定是通过将仲裁逻辑得到的原始优先级 信号和OPB_BUSLOCK 信号相与后产生的。优先级停靠是当没有新的master 发出请求信号 时,总线继续授权给当前占用总线的master。这里设计了一个四位寄存器用来追踪最近占用 总线的master 编号。

最后,通过altera 公司的CycloneII FPGA 对两种设计进行综合[4],并对综合结果进行比 较。并采用cadence 公司的conformal 进行RTL 代码和网表之间的形式验证。表1 为综合 和形式验证结果。


得出的结论是:固定优先级算法设计简单,占用资源少,可以达到较高的应用频率。但 这种算法使优先级高的设备占着总线不放,当总线事务繁忙时,优先级低的设备将申请不到 总线,所以只适用于总线使用率低,负载低的应用。而LRU 算法虽然更占资源,频率也低 点,但这种算法授权更加公平,使所有设备都有机会申请到总线,适用于总线使用率高,负 载高的应用。

3 结束语

本文通过对 OPB 总线仲裁器两种算法的研究,比较了两种算法的性能优劣并得出结论, 固定优先级算法设计简单,占用资源少,可以达到较高的应用频率,能够保证主要处理器的 运行速度,但缺乏公平性;LRU 算法更占资源,频率较低,但具有公平性,适用于总线使 用率高,负载高的应用。对不同的总线负载和使用率情况下选择最佳的OPB 总线仲裁方案 提供了依据,对高效的系统设计和嵌入式应用有重要的参考价值和指导意义。



来源:xinxin0次

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭