一种基于循环优先级实现公平仲裁的仲裁电路的制作方法

文档序号:18331453发布日期:2019-08-03 12:18阅读:404来源:国知局
一种基于循环优先级实现公平仲裁的仲裁电路的制作方法

本发明属于集成电路技术领域,具体涉及一种基于循环优先级实现公平仲裁的仲裁电路。



背景技术:

随着集成电路的不断发展,集成度提高,电路扩大,传统同步电路由时钟信号带来的时钟偏移,信号延迟,功耗大等问题不断凸显。异步的电路的优势逐渐体现出来,异步电路中各个系统由于无法参照时钟信号进行工作,各模块之间常常通过握手完成。

异步电路中通常会出现多个事件同时请求的情况,这个时候需要一种公平的仲裁方式来实现公平仲裁。参考总线仲裁中的循环优先级判别法,如图1所示,其中的优先级是动态分配的,每个请求得到应答的几率是相同的,进而实现公平仲裁。

现有的仲裁电路如图2所示,(专利号201710347888.x,双优先级控制型公平仲裁器)两个请求信号~req0和~req1到来后,通过延迟单元产生d_req0和d_req0,再经过延迟单元和反相器产生~r0和~r0,再通过逻辑运算产生~c0和~c1及cp。之后的逻辑运算都有这些延迟后产生的信号参与。这个电路实现公平仲裁的核心原理是由产生的cp来生成奇数次冲突脉冲_odd和偶数次冲突脉冲ps_even来干扰双稳态电路,进而实现公平仲裁。

以上结构的缺点比较明显。第一,参与最后实现反馈的逻辑电路都有延迟后的信号参与,当多个仲裁单元链接在一起构成仲裁树的时候,会造成非常大的延迟。第二,由产生的脉冲进行干扰及其不稳定,要保证脉冲的宽度还要精确控制脉冲到来的时间,这对工艺有很高的要求,鲁棒性和抗干扰能力较差。



技术实现要素:

为了克服现有技术的缺点,如电路复杂耗面积,延迟大影响仲裁结果,鲁棒性低等,本发明提出了一种基于循环优先级实现公平仲裁的仲裁电路。

本发明通过如下技术方案实现:

一种基于循环优先级实现公平仲裁的仲裁电路,由若干个仲裁单元构成,如图3所示,所述仲裁单元包括优先级选择单元、请求产生单元及应答产生单元;

所述优先级选择单元,如图4所示,包括或非门构成的rs触发器及一位计数器,所述rs触发器(如图5所示)由两个或非门构成,当输入信号在不同时刻到来时,分别与rs触发器的r端和s端接入,输出低电平有效的信号q0和q1;所述一位计数器(如图6所示)由一个下降沿触发的d触发器和全加器组成,全加器的进位输入(ci)和进位输出(co)均接地,输入a端接高电平1,输入b端接d触发器的输出q,输出端sum接触发器d端,复位信号接入d触发器的复位端;当输入信号在同时刻到来时,通过一个两输入的与门后作为d触发器的时钟输入d触发器的输出端分别通过一组mos管接到rs触发器的输出q0和q1上;d触发器的输出信号q和交替变动,控制交替产生低电平有效的q0和q1作为输出传递给应答产生单元;其中,q0有效表示该轮仲裁输入享有优先级,q1有效表示该轮仲裁输入享有优先级;

所述请求产生单元,用于产生请求信号,如图7所示,输入信号通过一个二输入与门产生请求信号有一个输入信号为0(有效),便产生一个请求信号(低电平);两个输入信号都为0(有效)时,同样产生有效的请求信号(低电平);

所述应答产生单元根据请求产生单元产生的请求信号及优先级选择单元的输出信号q0、q1,产生应答信号

进一步地,所述仲裁电路(如图11所示)是2n-1个仲裁单元组成的n层二叉树形状结构;每一个仲裁单元完成对于本层两个请求的仲裁工作,产生一个上一层的请求信号,并在接收到上层返回的应答信号后,按照仲裁的顺序将应答信号返回到下一层仲裁单元中,树状公平仲裁电路的顶层及底层单元会产生的请求信号传输到外部电路,并且接受外部电路返回的应答信号,向下层进行传递。

进一步地,所述应答产生单元,用于产生应答信号,如图8所示,由两个三输入或门构成,两个或门的输入分别为q0及q1,所述由请求产生单元产生的请求信号经过两级反相器延时后生成,当或门的输入均为低电平时,产生有效的应答信号

本发明的一种基于循环优先级实现公平仲裁的仲裁电路的原理如下:

起始时刻,一位计数器的d触发器被复位,当输入信号在不同时刻到来时,rs触发器正常工作不受干扰,根据输入信号决定q0和q1的值;当在同时刻到来时,通过与门产生一个低电平信号作为d触发器的时钟输入,产生第一次冲突时,计数器的输出信号q(switch0)变为1,(switch1)变为0,每个时钟下降沿计1次数,随着第2次、第3次、第4次…冲突到来,计数器不断开始计数,计数器输出信号q(switch0)发生0、1、0、1、...交替变动,(switch1)发生1、0、1、0、...交替变动,控制交替产生低电平有效的q0和q1作为输出传递给应答产生单元;冲突仲裁下,q0有效表示该轮仲裁输入享有优先级,q1有效表示该轮仲裁输入享有优先级。把q和看成开关switch0和switch1,当switch0=0,switch1=1时,q1由于上拉作用被置成1,q0由于下拉作用被置成0;当switch0=1,switch1=0时,q1由于上拉作用被置成0,q0由于下拉作用被置成1。这样做的意义是当同时到来时,q在0和1之间不断反转,由于switch0和switch1的干扰作用,q0和q1被拉低或拉高的几率各为百分之五十。结合后续电路的逻辑,保证了每个请求信号获得应答的概率是一样的,进而实现了公平仲裁。

与现有技术相比,本发明的优点如下:

本发明基于循环优先级实现公平仲裁,替代了用引入延时计数的方法判断奇偶冲突,该发明通过引入一个一位计数器的方法,利用计数器交替产生0和1的特点,判断出了奇偶次冲突,并利用输出结果控制强制拉高或拉低以干扰rs触发器的亚稳态,使得整个电路的延时大大降低。

同时两个开关同时作用确保了电路的稳定性,双向确保了亚稳态性被干扰,不会出现结果不定的情况,极大地增强了电路的鲁棒性。

整体电路减少了门级电路的个数,减少了延时模块的使用,极大地降低了功耗,减少了延迟,减少了电路面积,实现了低功耗,少延迟,面积小性能稳定的公平仲裁电路。

附图说明

图1为本发明的一种基于循环优先级实现公平仲裁的仲裁电路的循环优先级工作流程图;

图2现有仲裁单元,其中,(a)基本结构示意图,(b)预选部分电结构,(c)仲裁部分电路结构,(d)应答部分电路结构,(e)请求传输部分电路结构;

图3为本发明的一种基于循环优先级实现公平仲裁的仲裁电路的仲裁单元电路的示意图;

图4为本发明的一种基于循环优先级实现公平仲裁的仲裁电路的优先级选择单元的示意图;

图5为本发明的一种基于循环优先级实现公平仲裁的仲裁电路的或非门构成的rs触发器的示意图;

图6为本发明的一种基于循环优先级实现公平仲裁的仲裁电路的一位计数器的示意图;

图7为本发明的一种基于循环优先级实现公平仲裁的仲裁电路的请求产生单元的示意图;

图8为本发明的一种基于循环优先级实现公平仲裁的仲裁电路的应答产生单元的示意图;

图9为本发明的一种基于循环优先级实现公平仲裁的仲裁单元的工作时序图;

图10由公平仲裁单元构成的的2阶公平仲裁电路的示意图;

图11由公平仲裁单元构成的n阶公平仲裁电路的示意图。

具体实施方式

下面结合附图对本发明做进一步地说明。

实施例1:

一种基于循环优先级实现公平仲裁的仲裁电路,由若干个仲裁单元构成,如图3所示,所述仲裁单元包括优先级选择单元、请求产生单元及应答产生单元;

所述优先级选择单元,如图4所示,由或非门构成的rs触发器及一位计数器组成,所述rs触发器(如图5所示)由两个或非门构成,当输入信号在不同时刻到来时,分别与rs触发器的r端和s端接入,输出低电平有效的信号q0和q1;所述一位计数器(如图6所示)由一个下降沿触发的d触发器和全加器组成,全加器的进位输入(ci)和进位输出(co)均接地,输入a端接高电平1,输入b端接d触发器的输出q,输出端sum接触发器d端,复位信号接入d触发器的复位端;当输入信号在同时刻到来时,通过一个两输入的与门后作为d触发器的时钟输入把d触发器的输出信号q作为switch0,作为switch1,switch0和switch1分别通过一组mos管接到rs触发器的输出q0和q1上;其中,switch表示控制开关;计数器的输出信号q和交替变动,控制交替产生低电平有效的q0和q1作为输出传递给应答产生单元,其中,q0有效表示该轮仲裁输入享有优先级,q1有效表示该轮仲裁输入享有优先级;

所述请求产生单元,用于产生请求信号,如图7所示,输入信号通过一个二输入与门产生请求信号有一个输入信号为0(有效),便产生一个请求信号(低电平);两个输入信号都为0(有效)时,同样产生有效的请求信号(低电平);

所述应答产生单元根据请求产生单元产生的请求信号及优先级选择单元的输出信号q0、q1,产生应答信号

进一步地,所述应答产生单元,用于产生应答信号,如图8所示,由两个三输入或门构成,两个或门的输入分别为q0及q1,所述由请求产生单元产生的请求信号经过两级反相器延时后生成,当或门的输入均为低电平时,产生有效的应答信号

所述优先级选择单元,如图4所示,当输入信号在不同时刻到来时,输入信号分别从rs触发器的r端和s端接入,该rs触发器是一个双稳态器件且输入端低电平有效;若输入信号为0,为1,则输出信号q0为0,输出信号q1为1,若输入信号为1,为0,则输出信号q0为1,输出信号q1为0;此时该单元不进行优先级选择,做常规判断。若输入信号同时为低电平则rs触发器件进入不确定状态,此时输出信号q0和q1的值由后面的开关switch0(q)和switch1决定;switch0和switch1可通过两组mos管产生上拉或下拉的作用来控制亚稳态下rs触发器的输出q0和q1的值。switch0可以对前端rs触发器的结果q0起到强制上拉或下拉的作用,switch1可以对前端rs触发器的结果q1起到强制上拉或下拉的作用,switch0和switch1的结果总是互斥的,q0和q1也总是互斥的,保证了冲突时只有一个输入有效,当产生第一次冲突时,计数器的输出q(switch0)变为1,(switch1)变为0,随着第2次、第3次、第4次…冲突到来,计数器不断开始计数。计数器输出q(switch0)发生0、1、0、1、...交替变动,(switch1)发生1、0、1、0、...交替变动。控制交替产生低电平有效的q0和q1作为输出传递给应答产生单元(图8)。冲突冲裁下,q0有效表示该轮仲裁输入享有优先级,q1有效表示该轮仲裁输入享有优先级。

基于循环优先级的仲裁电路的工作时序图如图9所示。发生第一次冲突时,虽然同时到来,但优先级更高,所以有效。下一个时间节点先到来,后到来,不发生冲突,仲裁电路正常判断,有效。之后第二次冲突到来,同时发生,此时由于优先级选择单元的重新选择,有更高的优先级,所以有效。再次发起仲裁时会重复这个过程,进而实现循环优先级达成公平仲裁。

具体地,如图9所示,在被拉高后,电路进入正常工作状态,初始时都为1,随后进入第一次冲突,为0处于有效状态。此时触发了请求单元(图7),请求单元由一个与门构成,作为输入信号,只要有一个输入信号为0.输出即为有效,经过两个反向器延时后返回由于同时为0,一位计数器(图6)开始计数,此时q为0,为1,这使得switch0为0,switch1为1。由于同时变为0,这使得rs触发器(图5)进入亚稳态,无法给出确定的q0和q1,但是由于switch0和switch1可以控制两组mos管强制上拉或者下拉,第一轮仲裁中由于上拉作用q1被置1,由于下拉作用q0被置0。此时低电平有效的以及为0的q0共同作为应答产生单元(图8)的输入在或门的作用下返回了低电平有效的此时认为第一轮仲裁完成,这一轮优先读取数据。由于q1取1,无法返回有效的所以的数据没有被读取。

随后被拉高,只有为低电平有效,此时进入正常判断状态。请求单元依旧会再次产生一个有效的并返回由于没有冲突产生,一位计数器不进行计数,不会对q0和q1造成干扰。rs触发器也不进入亚稳态,q0为1q1为0是确定的值。所以经过应答产生单元的或门作用返回了有效信号

接着又是一次正常判断,过程与上次判断类似,有效的输入后,得到了有效的计数器仍然不进行计数。

随后进入了第二次冲突判断,再次同时为0,都视为有效的输入。rs触发器再一次进入亚稳态无法给出确定的q0和q1。此时受到同时为0的影响,计数器再次开始计数,计数结果q为1,为0,与上一次计数结果正好相反。所以此时switch0为1,switch0。所以第二轮仲裁中由于上拉作用q0被置1,由于下拉作用q1被置0。这就产生了与第一次冲突仲裁相反的结果:这一轮优先读取数据,视为无效。

最后又进行了一次正常判断,参考前两次的工作过程,有效的输入后,得到了有效的计数器再一次停止记数。

至此,该仲裁单元一共工作了5次,其中两次为冲突仲裁。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1