一种适用于异步电路的轮询仲裁器及其方法

文档序号:1831079 发布日期:2021-11-12 浏览:16次 >En<

阅读说明:本技术 一种适用于异步电路的轮询仲裁器及其方法 (Polling arbiter suitable for asynchronous circuit and method thereof ) 是由 王宇宣 朱博宇 傅高鸣 潘红兵 朱德政 于 2021-07-16 设计创作,主要内容包括:本发明公开了一种适用于异步电路的轮询仲裁器及其方法。该轮询仲裁器包括仲裁部分、互斥锁部分和多路选择部分;其中,仲裁部分由多级仲裁单元级联而成,仲裁部分的输入为请求信号以及各请求的权值信息,仲裁部分的输出为反应仲裁结果的响应信号;互斥锁部分由多级互斥单元级联而成,互斥锁部分的输入为从仲裁部分输出的响应信号以及从后级流水线结构输出的握手信号,互斥锁部分的输出为选通信号以及向前级流水线结构传递的握手信号;多路选择部分的输入为互斥锁部分输出的选通信号以及输入数据,多路选择部分的输出为仲裁优先级最高的有效数据。本发明的轮询仲裁器适用于异步电路,取消对于全局时钟的依赖。(The invention discloses a polling arbiter suitable for an asynchronous circuit and a method thereof. The polling arbiter comprises an arbitration part, a mutual exclusion lock part and a multi-path selection part; the arbitration part is formed by cascading a plurality of levels of arbitration units, the input of the arbitration part is a request signal and weight information of each request, and the output of the arbitration part is a response signal reflecting an arbitration result; the mutual exclusion locking part is formed by cascading a plurality of stages of mutual exclusion units, the input of the mutual exclusion locking part is a response signal output from the arbitration part and a handshake signal output from the later stage pipeline structure, and the output of the mutual exclusion locking part is a gating signal and a handshake signal transmitted to the former stage pipeline structure; the input of the multi-path selection part is the gating signal and the input data output by the mutual exclusion lock part, and the output of the multi-path selection part is the valid data with the highest arbitration priority. The polling arbiter of the present invention is suitable for asynchronous circuits, and eliminates the dependence on the global clock.)

一种适用于异步电路的轮询仲裁器及其方法

技术领域

本发明涉及集成电路领域,尤其涉及异步电路路由调度的轮询优先级仲裁器。

背景技术

仲裁器是一类在数字集成系统中用于调度分配共享资源的常用结构,其主要作用是根据对共享资源的请求按照一定的规则进行响应。一种常见的仲裁器使用场景是:在总线系统中多个主模块共用同一总线,各主模块在占用总线传输数据之前,首先向仲裁器发出请求,若有多个模块的请求同时到达,仲裁器将按照设计的优先级规则决定各模块使用总线的先后次序,使得各模块的数据传输能够有序执行,从而避免因冲突而导致的数据丢失或错误。

仲裁器的一个重要特性是公平性。若仲裁器对于来自不同模块的请求给予固定的优先级,则虽然高优先级模块能够无阻塞地进行数据传输,但低优先级模块的请求则可能一直得不到响应,那么将出现总线一直被高优先级模块占用,低优先级模块的数据被阻塞的情况。针对上述问题,出现了可变优先级仲裁器、轮询仲裁器等结构。一个基本的n输入轮询仲裁器结构如图1所示,该结构由多级包含权值输入的仲裁单元、D触发器等组合而成,D触发器的输出端Q端接下一级仲裁单元的权值输入端口,同一时钟周期内有且仅有一个权值信号pi置于高电平,此时该级仲裁单元的优先级最高,其余单元的优先级依次降序排列。为了便于说明,假定所有数据传输的过程均能在一个时钟周期内完成,则在某一时钟周期,若第i级仲裁单元接收到请求信号,且在所有收到有效请求的仲裁单元内具有最高的优先级,则该仲裁单元的响应信号gi随请求信号ri拉高,该高电平信号经过D触发器,在下一时钟周期到来时传递到第i+1级仲裁单元的权值输入端口,即pi+1将被置于高电平,在此时钟周期内第i+1级仲裁单元优先级最高,上述电路动作完成了整个仲裁器权值的更新。当某一时钟周期内没有任何有效请求信号,即ri全为0时,gi全为0,若更新到pi全为0,则将导致仲裁失效,故在仲裁单元和D触发器之间增加由多输入或非门和多级与非门组成的逻辑门结构,其作用在于当gi全为0时,D触发器在下一时钟周期内传递原pi信号,即所有pi信号保持,优先级不变,直到某个或多个请求信号拉高再进行更新。

上述轮询仲裁器中的仲裁单元本质是一种权值可变的仲裁单元结构,由多个逻辑门组成,如图2所示。对于一个n级级联的仲裁结构,将第i级仲裁单元输出的响应信号gi拉高的充要条件为:1.请求信号ri有效,置于高电平;2.来自第i-1级的进位输入信号ci拉高,或权值信号pi置于高电平。将第i级仲裁单元输出到第i+1级的进位信号ci+1拉高的充要条件为:1.请求信号ri无效,置于低电平;2.来自第i-1级的进位输入信号ci拉高,或权值信号pi置于高电平。故上述结构保证了同一时钟周期内最多仅有一个响应信号gi置于高电平,进位信号保证了各级仲裁单元的优先级以权值信号pi置于高电平的第i级单元开始依次降序排列。

在对集成电路速度和功耗要求愈发严格的当下,特别是随着片上系统、片上网络的兴起和广泛应用,全局同步时钟的实现已愈发困难,时钟产生的功耗问题也无法得到很好的解决;因此不依赖全局时钟的异步电路作为一种颇具发展前景的解决方案,逐渐受到广泛关注。但上述的轮询仲裁器仅适用于同步电路,需要利用D触发器和同步时钟信号完成权值的更新,并不适用于异步电路。

发明内容

为克服现有技术不足,针对现有轮询仲裁结构不适用于异步电路的问题,本发明目的在于设计一种适用于异步电路的轮询仲裁器及其方法,取消对于全局时钟的依赖。

本发明采用的技术方案是:

一种适用于异步电路的轮询仲裁器,该轮询仲裁器包括仲裁部分、互斥锁部分和多路选择部分;其中,仲裁部分由多级仲裁单元级联而成,仲裁部分的输入为请求信号以及各请求的权值信息,仲裁部分的输出为反应仲裁结果的响应信号;互斥锁部分由多级互斥单元级联而成,互斥锁部分的输入为从仲裁部分输出的响应信号以及从后级流水线结构输出的握手信号,互斥锁部分的输出为选通信号以及向前级流水线结构传递的握手信号;多路选择部分的输入为互斥锁部分输出的选通信号以及输入数据,多路选择部分的输出为仲裁优先级最高的有效数据。

进一步地,所述互斥单元由多级C单元和多输入非与门级联构成。

本发明利用上述轮询仲裁器的仲裁方法,具体过程为:假设具有n输入的所述轮询仲裁器同时收到多个有效请求信号,即ri,ri+m0,ri+m1,,……,ri+mn拉高,data_ini,data_ini+m0,data_ini+m1,,……,data_ini+mn为非空有效输入,其中m0<m1<……<mn且均为正整数,0≤i<i+mn≤n;假设此时请求的权值信息pq为1,即第q级仲裁单元具有最高的优先级;此时自q级开始降序计算优先级,由请求信号rs获得最高优先级,对应互斥锁部分输出的响应信号gs拉高,当存在q<s≤n时,s的取值满足(s-q)最小,反之s的取值满足(q-s)最大;互斥锁部分在响应信号gs拉高后,将对应的选通信号sels拉高,多路选择部分将data_ins作为有效数据输出;多路选择部分完成数据data_out的输出后,由后级流水线结构传来的握手信号ack_in拉高,故第s级互斥单元的C单元将输出的握手信号ack_outs随之拉高,告知前级单元数据传输已完成;其余向前级传输的握手信号仍保持低位,权值信息ps+1的权值信号拉高,其余权值信号置低,至此完成权值信息的更新;此时自s+1级开始降序计算优先级,由请求信号rj获得最高优先级,对应互斥锁部分输出的响应信号gj拉高,当存在s<j≤n时,j的取值满足(j-s)最小,反之j的取值满足(s-j)最大;但由于C单元的特性,握手信号ack_outs仍保持为1,其余所有选通信号均为0,故第j级的选通信号实际“锁存”在互斥单元当中;直到数据data_ins传输完成并由下一级流水线确认收到后,全局流水线进行复位动作,握手信号ack_in拉低,第j级的选通信号“解锁”,对应选通信号selj拉高,输出握手信号ack_outj拉高,多路选择部分将data_inj作为有效数据输出;多路选择部分完成数据data_out的输出后,由后级流水线结构传来的握手信号ack_in信号拉高,故第j级互斥单元的C单元将输出的握手信号ack_outj随之拉高,告知前级单元数据传输已完成;其余向前级传输的握手信号仍保持低位,权值信息pj+1的权值信号拉高,其余权值信号置低,完成权值信息的再次更新,以下继续重复上述过程。

本发明基于基本的轮询仲裁结构,通过以多级C单元和多输入非与门级联构建的互斥锁部分替代D触发器,借助流水线结构的握手信号有序更新权值信息、有序输出数据,实现了适用于异步电路的轮询仲裁器。

附图说明

图1为现有一种基本的n输入轮询仲裁器结构图。

图2为现有一种基本的仲裁单元结构图。

图3为本发明适用于异步电路的轮询仲裁器基本结构示意图。

图4为本发明实施例中互斥单元结构图。

图5为本发明实施例中C单元电路结构图。

具体实施方式

本发明采用的适用于异步电路的轮询仲裁器结构如图3所示,借助异步电路的流水线结构,该仲裁器包括仲裁部分、互斥锁部分和多路选择部分。其中,仲裁部分由多级图2给出的仲裁单元级联而成,r0至rn为请求信号,p0至pn为各请求的权值信息,输出g0至gn为反应仲裁结果的响应信号。

互斥锁部分由多级如图4所示的互斥单元级联而成,输入除了接从仲裁部分得到的响应信号g0至gn,还包括从后级流水线结构得到的ack_in握手信号,输出sel0至seln为选通信号,ack_out0至ack_outn为向前级流水线结构传递的握手信号;多路选择部分的输入除了sel0至seln的选通信号,还包括data_in0至data_inn的数据输入,输出仲裁优先级最高的数据作为data_out,此部分的功能描述为:当且仅当选通信号seli拉高,同时data_ini为有效数据输入,data_out才具备有效输出数据data_ini。此外,互斥锁部分使用到的C单元是一种Muller C单元的电路结构,如图5所示,其功能描述为:当两输入全为0时,输出置0;当两输入全为1时,输出置1;否则,输出不发生改变。

本实施例轮询仲裁器的工作原理和过程叙述如下:

假设具有n输入的轮询仲裁器同时收到多个有效请求信号,即ri,ri+m0,ri+m1,,……,ri+mn(m0<m1<……<mn且均为正整数,0≤i<i+mn≤n)拉高,data_ini,data_ini+m0,data_ini+m1,,……,data_ini+mn为非空有效输入,假设此时pq为1,即第q级仲裁单元具有最高的优先级。此时自q级开始降序计算优先级,有请求信号rs获得最高优先级,对应输出的响应信号gs拉高。互斥锁部分在gs拉高后,将对应的选通信号sels拉高,多路选择部分将data_ins作为有效数据输出;完成数据data_out的输出后,由后级流水线结构传来的ack_in信号拉高,故第s级互斥单元的C单元将输出的握手信号ack_outs随之拉高,告知前级单元数据传输已完成;其余向前级传输的握手信号仍保持低位,ps+1权值信号拉高,其余权值信号置低,至此完成权值信息的更新。

此时自s+1级开始降序计算优先级,有请求信号rj获得最高优先级,对应输出的响应信号gj拉高。但由于C单元的特性,ack_outs仍保持为1,其余所有选通信号均为0,故第j级的选通信号实际“锁存”在互斥单元当中。直到data_ins数据传输完成并由下一级流水线确认收到后,全局流水线进行复位动作,ack_in拉低,第j级的选通信号“解锁”,对应选通信号selj拉高,输出握手信号ack_outj拉高,多路选择部分将data_inj作为有效数据输出;完成数据data_out的输出后,由后级流水线结构传来的ack_in信号拉高,故第j级互斥单元的C单元将输出的握手信号ack_outj随之拉高,告知前级单元数据传输已完成;其余向前级传输的握手信号仍保持低位,pj+1权值信号拉高,其余权值信号置低,完成权值信息的再次更新,以下继续重复上述过程。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种业务板的访问方法、装置、设备及可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!