延迟不敏感异步电路单元、M

文档序号:28167160发布日期:2021-12-24 22:48阅读:118来源:国知局
延迟不敏感异步电路单元、M
延迟不敏感异步电路单元、m
×
n

join及其工作方法
技术领域
1.本发明涉及异步电路领域,具体涉及一种延迟不敏感异步电路单元、m
×
n

join及其工作方法。


背景技术:

2.随着电路规模不断的扩大,传统的以时钟为主要同步方式的电路遇到一系列问题,如时钟偏移,模块化程度底等。而异步电路在设计时无需中央时钟信号协调,各个模块之间的信息交互可以通过握手等方式完成,同时还支持丰富的编码方案,例如较常见的如双轨编码等;即异步电路具有低功耗、运行速度快、电磁兼容性好、可靠性强、可避免时钟偏斜问题等优点。
3.延迟不敏感电路(di电路)是一种异步电路,在这种电路中,互连线和模块可能会出现任意的延迟,而延迟不会影响电路输出的正确性。di电路是事件驱动型的,也就是说,电路一旦收到一组完整的输入信号,就会被触发工作。如果一个电路的外部输入和输出行为保持不变,而不考虑任何内部模块或互连线的任意(但有限的)延迟,那么这个电路就是延迟不敏感的。这种电路的稳健性很强,但是由于约束太多,所以这一类的电路很少。在异步电路的几大类理论模型中,延时不敏感电路模型是理论前景最好、潜力最大的一种,但同时也是最难实现的一种。
4.keller在《towards a theory of universal speed

independent modules》中曾经论述过,由一组基础的异步元件进行组合,我们可以构建任意的异步电路。按照keller的思路,priyadarsan patra在《building

blocks for designing di circuits》提出了一系列异步电路元件的实现,而m
×
n

jion电路就是其中之一。m
×
n

jion可作为di电路的核心组件,形成如图1所示的一个di电路的模型,m
×
n

jion作为mealy自动机在电路中发挥了重要作用。但patra设计的电路具有一些不足,比如架构方式复杂,可实现性较差等。如图2所示,patra提出的电路中m
×
n

jion可以理解为一个四叉树的索引过程。四叉树索引的基本思想可以概括为将空间递归的划分为不同层次深度的树结,然后按照一定方法进行搜索。它将已知范围的空间等分成四个相等的子空间,如此递归下去,直至树的层次达到一定深度或者满足某种要求后停止分割。patra提出的m
×
n

join电路可以被递归的方式进行构建,通过不断的递归过程,我们最终可以得到一个用keller提出的2
×2‑
join,2
×1‑
join以及merge等基础元件加以实现的基础jion。在patra提出的m
×
n

join中,输入信号(r
i
,c
j
)依照i,j的取值范围,信号最终会进入到位于电路四个角的jion中,这些jion的构造和m
×
n

join在除了m,n取值不同之外无甚差异;之后信号会不断的重复此过程,直到最终能被基础的2
×2‑
join计算处理并且输出。patra提出的m
×
n

jion搜索方式复杂;且基于递归的设计,使得扩展上存在较多问题,比如考虑到m和n取奇数或偶数时,电路的自身结构会发生较大的改变,会对电路设计产生不好的影响;除此之外,该电路平面性较差,而平面型较差的电路在运用到微电子领域如芯片布线时,需要做额外的设计工作来防止信号干扰,应用复杂。


技术实现要素:

5.本发明的目的在于克服现有技术中所存在的上述不足,提供一种延迟不敏感异步电路单元、m
×
n

join及其工作方法。
6.为了实现上述发明目的,本发明提供了以下技术方案:
7.一种延迟不敏感异步电路单元,包括一个2
×2‑
jion基础元件和一个splitter组合元件;splitter组合元件包括一个merge基础元件以及两个fork基础元件;第一fork基础元件的第一输出端与2
×2‑
jion基础元件的第三输入端连接;第二fork基础元件的第一输出端与2
×2‑
jion基础元件的第四输入端连接;2
×2‑
jion基础元件的第三输入端与2
×2‑
jion基础元件的第四输入端同轴向;第一fork基础元件的第二输出端与第二fork基础元件的第二输出端分别与merge基础元件的两个输入端连接。
8.一种m
×
n

join,包括上述的延迟不敏感异步电路单元。
9.优选地,所述延迟不敏感异步电路单元之间通过两条或三条连接线实现行或列的扩展。
10.优选地,所述延迟不敏感异步电路单元包括两个输出端组和两个输入端组;2
×2‑
jion基础元件的第一输入端与第二输入端为第一输入端组;第一fork基础元件的输入端与第二fork基础元件的输入端为第二输入端组;2
×2‑
jion基础元件的输出端为第一输出端组;merge基础元件的输出端为第二输出端组;单元分为头部单元和非头部单元,头部单元为第二输入端组留有与外界连接的输入端的单元。
11.优选地,所述头部单元的扩展方式如下:
12.头部单元的第二输出端组的一个端口与扩展单元的第一输入端组的一个端口连接;头部单元的第一输入端组的一个端口与扩展单元的第一输出端组的一个端口连接;
13.或,头部单元的第二输出端组的一个端口与扩展单元的第二输入端组的一个端口连接;头部单元的第一输入端组的一个端口与扩展单元的第一输出端组的一个端口连接;
14.或,头部单元的第一输出端组的两个端口分别与扩展单元的第二输入端组的两个端口连接;头部单元的第二输入端组的一个端口与扩展单元的第二输出端组的一个端口连接。
15.优选地,所述非头部单元的扩展方式如下:
16.非头部单元的第一输出端组的两个端口分别与扩展单元的第二输入端组的两个端口连接;
17.或,非头部单元的第一输出端组的两个端口分别与扩展单元的第一输入端组的两个端口连接;非头部单元的第二输入端组的一个端口与扩展单元的第二输出端组的一个端口连接。
18.优选地,所述单元扩展后,得到的m
×
n

join作为扩展的元件进行进一步的扩展。
19.优选地,所述m
×
n

join连接方式如下:
20.头部单元间,一个头部单元的第二输出端组的一个端口与另一个头部单元的第二输入端组的一个端口连接;且所述一个头部单元的第一输入端组的一个端口与另一个头部单元的第一输出端组的一个端口连接;
21.头部单元与非头部单元间,头部单元的第一输出端组的两个端口与非头部单元的第一输入端组的两个端口连接;头部单元的第一输入端组的一个端口与非头部单元的第二
输出端组的一个端口连接;
22.非头部单元间,与头部单元扩展方向一致的方向扩展时,一个非头部单元的第二输入端组的一个端口与另一个非头部单元的第一输出端组的一个端口连接;与头部单元扩展方向不一致的方向扩展时,一个头部单元的第一输出端组的两个端口与另一个头部单元的第一输入端组的两个端口连接,且一个头部单元的第二输入端组的一个端口与另一个一头部单元的第二输出端组的一个端口连接。
23.一种m
×
n

join的工作方法,包括以下步骤:
24.s1:行列分别选择一个单元输入信号,记作行输入信号和列输入信号;行输入信号按照单元的运行方式导通该列部分单元的行输入端;列输入信号按照单元的运行方式导通该行部分单元的列输入端;
25.s2:当步骤s1中存在一单元的行列输入端均被导通时,此时该单元输出信号导通该行的存在列导通信号的单元或该列的存在行导通信号的单元;
26.s3:步骤s2信号传递完毕后,步骤s1中输入行输入信号或列输入信号的其中一个单元将被导通,输出信号至下一行或下一列的某一单元;
27.s4:重复步骤s1

s3,m
×
n

join的部分单元将被导通。
28.与现有技术相比,本发明的有益效果:本技术提出了一个全新的m
×
n

jion设计,符合keller对基础元件的限制,且比patra设计的电路具有更好的扩展性,平面性等优势。
附图说明:
29.图1为本发明背景技术的di电路的模型示意图;
30.图2为本发明背景技术的由patra提出的m
×
n

jion的索引过程示意图;
31.图3为本发明示例性实施例1的延迟不敏感异步电路单元的示意图;
32.图4为本发明示例性实施例1的2
×2‑
jion基础元件的示意图;
33.图5为本发明示例性实施例1的fork基础元件的示意图;
34.图6为本发明示例性实施例1的merge基础元件的示意图;
35.图7为本发明示例性实施例1的splitter组合元件的示意图;
36.图8为本发明示例性实施例2的m
×
n

join的功能示意图;
37.图9为本发明示例性实施例2的单元分类示意图;
38.图10为本发明示例性实施例2的头部单元的扩展方式示意图;
39.图11为本发明示例性实施例1的非头部单元的扩展方式示意图;
40.图12为本发明示例性实施例2的扩展电路的扩展方式示意图;
41.图13为本发明示例性实施例3的步骤s1信号传输过程示意图;
42.图14为本发明示例性实施例3的步骤s2信号传输过程示意图;
43.图15为本发明示例性实施例3的步骤s3信号传输过程示意图;
44.图16为本发明示例性实施例3的步骤s4信号传输过程示意图一;
45.图17为本发明示例性实施例3的步骤s4信号传输过程示意图二;
46.图18为本发明示例性实施例3的步骤s4信号传输过程示意图三。
具体实施方式
47.下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
48.实施例1
49.如图1所示,本实施例提供一种延迟不敏感异步电路单元,包括一个2
×2‑
jion基础元件和一个splitter组合元件;splitter组合元件包括一个merge基础元件以及两个fork基础元件;第一fork基础元件的第一输出端与2
×2‑
jion基础元件的第一输入端连接;第二fork基础元件的第一输出端与2
×2‑
jion基础元件的第二输入端连接;2
×2‑
jion基础元件的第一输入端与2
×2‑
jion基础元件的第二输入端同轴向;第一fork基础元件的第二输出端与第二fork基础元件的第二输出端分别与merge基础元件的两个输入端连接。
50.简述2
×2‑
jion基础元件、merge基础元件以及fork基础元件。
51.如图4所示,2
×2‑
jion是基础元件之一,其有四条输入线和四条输出线,通过不同输入线上信号的组合,会在相应的输出线上产生输出信号;其中四条输入线分别为i1、i2、i3以及i4,i1和i2为同轴向输入线,i3和i4为同轴向输入线;四条输出线分别为o1、o2、o3以及o4;数学表达式如下:
52.i
i
,i
j
;λ

{o
k
};λ
[0053][0054][0055][0056]
如图5所示,fork是基础元件之一,到达输入线a
f
的信号被同化并复制成两个信号,分别在输出线b
f
和c
f
进行传输。数学表达式如下:
[0057]
{a
f
};λ

{b
f
,c
f
};λ
[0058]
如图6所示,merge是基础元件之一,到达输入线a
m
或b
m
的信号被转移到输出线c
m
,同时merge并非异步电路中的同步元件,故不会产生信号的“等待”。数学表达式如下:
[0059]
{a
m
};λ

{c
m
};λ
[0060]
{b
m
};λ

{c
m
};λ
[0061]
其中,一个merge基础元件以及两个fork基础元件组合得到splitter组合元件。如图7所示,splitter,从a到达的信号将会被fork复制为两支,一支从c输出,另一支通过merge并从c”口输出;从a'到达的信号也同理,一支从c'输出,另一支到达merge并从c”口输出。
[0062]
本实施例所述的延迟不敏感异步电路单元包括四个输入端口和五个输出端口;四个输入端口分别为2
×2‑
jion基础元件的第一输入端、2
×2‑
jion基础元件的第二输入端、第一fork基础元件的输入端以及第二fork基础元件的输入端;五个输出端口分别为2
×2‑
jion基础元件的四个输出端以及merge基础元件的一个输出端。延迟不敏感异步电路单元的功能可以描述为:由c1或c2传输而来的信号通过fork基础元件,将产生两支信号,其中一支会经由merge后通过d1向元件外传输,另一支经由b1或b2进入2
×2‑
jion并等待,当外界收到产生的输入信号a1或a2到达2
×2‑
jion后,经过计算合成,输出与a1、a2、b1以及b2四条输入
线输入信号相对应的输出信号。
[0063]
本实施例所述的延迟不敏感异步电路单元进行连接扩展,可得到m
×
n

join电路。
[0064]
实施例2
[0065]
keller提出了一系列条件来描述di电路的类别,在这些条件下,任何电路都可以通过一组固定的基础元件来实现。而{merge,fork,2
×2‑
join,sequencer}便是其中之一,本实施例采用一种新的延迟不敏感异步电路单元,提出了一种新型的m
×
n

join电路。
[0066]
如图8所示,m
×
n

join的功能为同化,即两个信号,一个来自输入线a
i
(1≤i≤m),另一个来自输入线b
j
(1≤j≤n),被同化并在输出线c
ij
上产生一个信号。同时join是一种同步元件,当一个信号到达某条输入线,但在另一条输入线上没有信号时,信号将被保留,直到另一条线上有信号到达方才产生结果。用数学公式可以表达为:
[0067]
a
i
,b
j
;λ

{c
ij
};λ
[0068][0069][0070]
在异步电路中,m
×
n

join需要满足如下一些功能:(1)确定性(certainty),每组输入对应着唯一的可确定的输出;(2)可计算性(computability),具有可计算性,是一种自动机;(3)泛用性(versatility),可进行所有逻辑与电路的bool型运算。
[0071]
而本实施例所述的m
×
n

join则根据实施例1所述的延迟不敏感异步电路单元进行构建提出了一种全新设计的m
×
n

join,在满足上述要求的同时还具有:(1)可扩展性(expandability),可单元化的向两个维度进行扩展;(2)平面性(flatness):连接线之间没有交叉。
[0072]
本实施例中,延迟不敏感异步电路单元可以通过添加两条或三条连接线的实现行或列的扩展。
[0073]
如图3所示,延迟不敏感异步电路单元包括两个输出端组和两个输入端组;2
×2‑
jion基础元件的第一输入端与第二输入端为第一输入端组;第一fork基础元件的输入端与第二fork基础元件的输入端为第二输入端组;2
×2‑
jion基础元件的输出端为第一输出端组;merge基础元件的输出端为第二输出端组。
[0074]2×2‑
jion基础元件的第一输入端与第二输入端为2
×2‑
jion基础元件未连接splitter组合元件的同一轴向的输入端。
[0075]
如图9所示,将单元分为头部单元和非头部单元,头部单元为第二输入端组留有与外界连接的输入端的单元。
[0076]
头部单元的扩展方式如下:
[0077]
方式一:
[0078]
如图10(a)所示,头部单元的第二输出端组的一个端口与扩展单元的第一输入端组的一个端口连接;头部单元的第一输入端组的一个端口与扩展单元的第一输出端组的一个端口连接。
[0079]
方式二:
[0080]
如图10(b)所示,头部单元的第二输出端组的一个端口与扩展单元的第二输入端组的一个端口连接;头部单元的第一输入端组的一个端口与扩展单元的第一输出端组的一
个端口连接。
[0081]
方式三:
[0082]
如图10(c)所示,头部单元的第一输出端组的两个端口分别与扩展单元的第二输入端组的两个端口连接;头部单元的第二输入端组的一个端口与扩展单元的第二输出端组的一个端口连接。
[0083]
非头部单元的扩展方式如下:
[0084]
方式一:
[0085]
如图11(a)所示,非头部单元的第一输出端组的两个端口分别与扩展单元的第二输入端组的两个端口连接。
[0086]
方式二:
[0087]
如图11(b)所示,非头部单元的第一输出端组的两个端口分别与扩展单元的第一输入端组的两个端口连接;非头部单元的第二输入端组的一个端口与扩展单元的第二输出端组的一个端口连接。
[0088]
如图12所示,单元按照上述方式进行扩展后,得到扩展电路,扩展电路还可作为扩展的元件进行进一步的扩展。
[0089]
头部单元间,上一头部单元的第二输出端组的一个端口与下一头部单元的第二输入端组的一个端口连接;上一头部单元的第一输入端组的一个端口与下一头部单元的第一输出端组的一个端口连接;
[0090]
头部单元与非头部单元间,头部单元的第一输出端组的两个端口与非头部单元的第一输入端组的两个端口连接;头部单元的第一输入端组的一个端口与非头部单元的第二输出端组的一个端口连接;
[0091]
非头部单元间,若头部单元按列方向扩展,则列向上,上一非头部单元的第二输入端组的一个端口与下一非头部单元的第一输出端组的一个端口连接;横向上,上一头部单元的第一输出端组的两个端口与下一头部单元的第一输入端组的两个端口连接,上一头部单元的第二输入端组的一个端口与下一头部单元的第二输出端组的一个端口连接。
[0092]
本实施例扩展方式多样便捷,可以实现可以实现二维空间上的任意方向扩展。
[0093]
实施例3
[0094]
如图13所示,本实施例以一个扩建方式为例说明m
×
n

join的工作方法,包括以下步骤:
[0095]
s1,行列分别选择一个单元输入信号,记作行输入信号和列输入信号;行输入信号按照单元的运行方式导通该列部分单元的行输入端;列输入信号按照单元的运行方式导通该行部分单元的列输入端;
[0096]
s2,当步骤s1中存在一单元的行列输入端均被导通时,此时该单元输出信号导通该行的存在列导通信号的单元或该列的存在行导通信号的单元;
[0097]
s3,步骤s2信号传递完毕后,步骤s1中输入行输入信号或列输入信号的其中一个单元将被导通,输出信号至下一行或下一列的某一单元;
[0098]
s4,重复步骤s1

s3,m
×
n

join的部分单元将被导通。
[0099]
实施例4
[0100]
本实施例将以一个m
×
n

join为例说明信号在电路中是如何运行的。首先定义本
实施例将出现的特殊符号和术语。
[0101]
(1)术语定义
[0102]
行:若干个单元水平的组合在一起,一行之内信号的传输只能在水平方向上进行;
[0103]
列:若干个单元垂直的组合在一起,一列之间的信号传输只能在竖直的方向进行;
[0104]
上行:在电路图中信号向图中的上方传输,与实际信号传输无关;
[0105]
右行:在电路图中信号向图中的右方传输,与实际信号传输无关。
[0106]
(2)特殊符号定义
[0107]
·
:代表元件存在等待状态的信号。
[0108]
在描述传输过程时会涉及到对元件端口,为了统一命名,端口名称按照图4所示。
[0109]
信号在电路中的传输过程包括以下步骤:
[0110]
s1,信号(a
i
,b
j
)输入;
[0111]
如图13所示,上行的输入信号b
j
通过单元j
mj
的一个fork基础元件分叉,复制并产生两个信号,其中一个传输到j
mj
的2
×2‑
jion基础元件的i3端口,而另一个信号通过merge基础元件将信号传输到同行的单元j
m(j+1)
,通过splitter组合元件的作用,第m行的j
m(j+1)
,j
m(j+2)

···
,j
m(n

1)
,j
mn
每个单元的i4端口都有输入信号等待;
[0112]
右行的输入信号a
i
通过单元j
jn
的一个fork元件分叉产生两个信号,其中一个传输到j
jn
的2
×2‑
jion基础元件的i2端口,而另一个信号通过merge元件将信号输入同列的单元j
(i+1)n
,通过splitter组合元件的作用,第n列的j
(i+1)n
,j
(i+2)n

···
,j
(m

1)n
,j
mn
每个单元的i1端口也都有输入信号等待。
[0113]
s2,信号行内传输;
[0114]
如图14所示,此时观察整个电路,可以发现有且只有单元j
mn
的2
×2‑
jion基础元件的两个轴向的输入线的端口都存在有效的输入信号,并能够进行计算合成,故其o4端口向所在行内输出新合成的右行的信号。单元j
m(n

1)
的i1端口则会接收到来自“左侧”的信号,并在当前单元上进行新的计算与合成,继续将新产生的信号向右传输。该过程会一直重复进行。
[0115]
s3,信号上行传输;
[0116]
如图15所示,直到不断更新的信号传输到第m层的单元j
mj
的i1端口,单元j
mj
就会将步骤s1中已经被i3端口接收并等待的信号与,被传输过来的i1端口接收的经过多次计算更新的信号一起进行结合,进行新的计算更新;且会在单元j
mj
的o1端口输出新的信号,此时由信号将上行传输到第(m

1)层的单元j
(m

1)j
的2
×2‑
jion基础元件的i3端口;
[0117]
s4,信号输出;
[0118]
如图16至18所示,重复步骤s1中输入信号a
i
类似的步骤,也就是将组合信号通过splitter结构的作用,使得第(m

1)层的j
(m

1)(j+1)
,j
(m

1)(j+2)

···
,j
(m

1)(n

1)
,j
(m

1)n
每个单元的i4的端口都有输入信号等待,并且j
(m

1)j
的i3的端口也会接收到新的组合信号;
[0119]
重复步骤s2和s3,使得第(m

1)层的组合信号能够上行传播;直到信号传输到第i层,并完成了步骤s1的合成信息分发,使得j
i(j+1)
,j
i(j+2)

···
,j
i(n

1)
,j
in
的i4端口以及j
ij
元件的i3端口都有信号在等待;此时只有元件j
in
存在两个输入信号,经过计算在端口o3产生输出信号;
[0120]
信号一直右行传输直至元件j
ij
的i2的端口,当前j
ij
元件存在另外一个合成信号正
在i3端口等待,因此经过当前j
ij
元件的最终计算合成,新产生的计算信号s
ij
将从j
ij
元件的o2端口输出。
[0121]
通过上述步骤,实现了m
×
n

jion电路中,部分区域的单元的信号输出。
[0122]
本实施例所述的m
×
n

jion电路与背景技术中提及的patra的电路从搜索原理、可扩展性以及片面性等方面进行对比:
[0123]
搜索原理:patra的电路思路接近四叉树查找,而本文提出的jion原理则是平面搜索;
[0124]
可扩展性:本文设计的单元可以实现二维空间上的任意方向扩展,甚至m
×
n

join自己本身也可以作为基础单元实现扩展;而patra提出的jion电路是基于递归的设计,在扩展上存在较多问题,比如考虑到m,n取奇数或偶数时,电路的自身结构会发生较大的改变,会对电路设计产生不好的影响;
[0125]
平面性:本文所提出的电路设计的连接线之间没有交叉,而patra提出的电路设计存在相当的交叉线。
[0126]
因此本实施例所述的由延迟不敏感异步电路单元构成的m
×
n

join电路符合keller对基础元件的限制,搜索方式简单,比patra设计的电路具有更好的扩展性,平面性等优势。
[0127]
以上所述,仅为本发明具体实施方式的详细说明,而非对本发明的限制。相关技术领域的技术人员在不脱离本发明的原则和范围的情况下,做出的各种替换、变型以及改进均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1