采用异步通信机制的可重构计算单元的制作方法

文档序号:6654211阅读:224来源:国知局
专利名称:采用异步通信机制的可重构计算单元的制作方法
技术领域
本实用新型涉及一种采用异步通信机制的可重构计算单元,适用于计算密集型应用领域。
背景技术
随着微电子技术和计算机技术的发展,可重构器件被越来越广泛的使用在电子产品的开发应用中。其中,现场可编程门阵列FPGA以其通用性和高性能,几乎占据了可重构器件的半壁江山。
然而,目前市场上以FPGA为代表的可重构器件,由于其单元结构以及连接方式,不可避免的存在以下缺陷。首先,像FPGA这类采用同步通信机制的可重构结构,由于全局时钟的使用,不可避免的出现时钟歪斜的问题。并且,虽然这类单元结构简单且相对面积较小,但都很难突破功耗、性能上的瓶颈。这也是阵列计算具有规模大、路由路径长短差距悬殊等特点所决定的。其次,像FPGA之类可重构结构,为了保证其灵活性,常常加入大面积的路由资源,这就不可避免的导致了片上面积的大规模浪费。

发明内容
本实用新型的目的在于针对现有技术的不足,提供一种采用异步通信机制的可重构计算单元。
本实用新型的异步通信可重构计算单元包括数据输入路由模块、异步计算控制模块、异步计算模块、数据输出路由模块、异步信号生成模块、异步信号输出路由模块和配置模块,所说的数据输入路由模块内具有三个数据输入多路复选器,数据输出路由模块具有八个数据输出多路复选器,异步信号输出路由模块内具有八个异步信号输出多路复选器,异步计算模块包括计算电路、一个预充电电路以及两个用于计算多路复选器,数据输入路由模块中的每个数据输入多路复选器的输入端与输入可重构计算单元的八个数据信号相连,输出端分别与异步计算模块中的预充电电路以及计算电路的输入端相连,异步计算控制模块的输入端与输入可重构计算单元的八个异步信号相连,输出端和异步计算模块中的预充电电路的另一输入端相连,预充电电路的输出端和计算电路的另一输入端相连,计算电路的一个输出端和第一计算多路复选器的输入端相连,计算电路的另一个输出端和第二计算多路复选器的输入端相连,两个计算多路复选器的输出端分别和数据输出路由模块中的八个数据输出多路复选器以及异步信号生成模块的输入端相连,数据输出路由模块中的第一数据输出多路复选器的输入端和可重构计算单元的第三、第五、第七数据信号相连,第二数据输出多路复选器的输入端和可重构计算单元的第四、第六、第八数据信号相连,第三数据输出多路复选器的输入端和可重构计算单元的第一、第五、第七数据信号相连,第四数据输出多路复选器的输入端和可重构计算单元的第二、第六、第八数据信号相连,第五数据输出多路复选器的输入端和可重构计算单元的第一、第三、第七数据信号相连,第六数据输出多路复选器的输入端和可重构计算单元的第二、第四、第八数据信号相连,第七数据输出多路复选器的输入端和可重构计算单元的第一、第三、第五数据信号相连,第八数据输出多路复选器的输入端和可重构计算单元的第二、第四、第六数据信号相连,八个数据输出多路复选器的输出端为可重构计算单元的输出数据信号端,异步信号生成模块的输出端分别与异步信号输出路由模块中的八个异步信号输出多路复选器的输入端相连,异步信号输出路由模块中的第一、第三、第五、第七异步信号输出多路复选器的输入端均与输入可重构计算单元的第一、第三、第五、第七异步信号相连,第二、第四、第六、第八异步信号输出多路复选器的输入端均与输入可重构计算单元的第二、第四、第六、第八异步信号相连,八个异步信号输出多路复选器的输出端为可重构计算单元的输出异步信号端,用于存放单元配置信息的配置模块的输入端连接输入配置数据,输出端分别和可重构计算单元中的数据输入多路复选器、数据输出多路复选器、异步信号输出多路复选器、异步计算控制模块、异步信号生成模块以及计算多路复选器的输入端相连。
本实用新型具有以下技术效果1.提高性能采用数据驱动异步通信机制,不需要用最长运算周期来统一时钟周期,极大地提高了运算效率。
2.降低功耗采用数据驱动异步通信机制,较之同步通信机制功耗大大降低。


图1是采用异步通信机制的可重构单元结构框图;图2是异步计算模块的结构框图;图3是预充电电路图;图4是以差动级联逻辑实现1位全加器的计算电路图;
具体实施方式
下面根据附图详细说明本实用新型。
参照图1,本实用新型的异步通信可重构计算单元包括数据输入路由模块1、异步计算控制模块2、异步计算模块3、数据输出路由模块4、异步信号生成模块5、异步信号输出路由模块6和配置模块7,所说的数据输入路由模块1内具有三个数据输入多路复选器8,数据输出路由模块4具有八个数据输出多路复选器9,异步信号输出路由模块6内具有八个异步信号输出多路复选器10,异步计算模块3包括一个预充电电路11、计算电路12以及两个用于计算多路复选器13(如图2所示),其中,计算电路12的个数与异步可重构计算单元支持的计算功能数目相对应,例如要支持与、与非、或、或非、异或、比较、判零、判一、多路复选、动态路由、移位、全加、全减等13种运算功能,则需要13个计算电路12。数据输入路由模块1中的每个数据输入多路复选器8的输入端与输入可重构计算单元的八个数据信号ed1,ed2,sd1,sd2,wd1,wd2,nd1,nd2相连,输出端分别与异步计算模块3中的预充电电路11以及计算电路12的输入端相连,异步计算控制模块2的输入端与输入可重构计算单元的八个异步信号ea1,ea2,sa1,sa2,wa1,wa2,na1,na2相连,输出端和异步计算模块3中的预充电电路11的另一输入端相连,预充电电路11的输出端pre和计算电路12的另一输入端相连,计算电路12的一个输出端fout和第一计算多路复选器13的输入端相连,计算电路12的另一个输出端cout和第二计算多路复选器13的输入端相连,两个计算多路复选器13的输出端dout1,dout2分别和数据输出路由模块4中的八个数据输出多路复选器9以及异步信号生成模块5的输入端相连,数据输出路由模块4中的第一数据输出多路复选器9的输入端和可重构计算单元的第三、第五、第七数据信号sd1,wd1,nd1相连,第二数据输出多路复选器9的输入端和可重构计算单元的第四、第六、第八数据信号sd2,wd2,nd2相连,第三数据输出多路复选器9的输入端和可重构计算单元的第一、第五、第七数据信号ed1,wd1,nd1相连,第四数据输出多路复选器9的输入端和可重构计算单元的第二、第六、第八数据信号ed2,wd2,nd2相连,第五数据输出多路复选器9的输入端和可重构计算单元的第一、第三、第七数据信号ed1,sd1,nd1相连,第六数据输出多路复选器9的输入端和可重构计算单元的第二、第四、第八数据信号ed2,sd2,nd2相连,第七数据输出多路复选器9的输入端和可重构计算单元的第一、第三、第五数据信号ed1,sd1,wd1相连,第八数据输出多路复选器9的输入端和可重构计算单元的第二、第四、第六数据信号ed2,sd2,wd2相连,八个数据输出多路复选器9的输出端为可重构计算单元的输出数据信号端,异步信号生成模块5的输出端分别与异步信号输出路由模块6中的八个异步信号输出多路复选器10的输入端相连,异步信号输出路由模块6中的第一、第三、第五、第七异步信号输出多路复选器10的输入端均与输入可重构计算单元的第一、第三、第五、第七异步信号ea1,sa1,wa1,na1相连,第二、第四、第六、第八异步信号输出多路复选器10的输入端均与输入可重构计算单元的第二、第四、第六、第八异步信号ea2,sa2,wa2,na2相连,八个异步信号输出多路复选器10的输出端为可重构计算单元的输出异步信号端,用于存放单元配置信息的配置模块7的输入端连接输入配置数据,输出端分别和可重构计算单元中的数据输入多路复选器8、数据输出多路复选器9、异步信号输出多路复选器10、异步计算控制模块2、异步信号生成模块5以及计算多路复选器13的输入端相连。这里,配置模块7可由基于双端口D触发器的寄存器堆文件构成。
由于该异步可重构计算单元支持8个输入数据信号,因此,数据输入多路复选器8可采用8选1多路复选器实现。
由于每个数据输出多路复选器9分别与3个异步可重构计算单元输入数据信号以及计算多路复选器13的2个输出数据信号相连,因此数据输出多路复选器9可采用5选1多路复选器实现。
由于每个异步信号输出多路复选器10的输入端分别和4个异步可重构计算单元输入异步信号以及异步信号生成模块5的输出信号aout相连,因此异步信号输出多路复选器10可采用5选1多路复选器实现。
本实用新型中的预充电电路11如图3所示,可由七个pmos管P、七个nmos管N以及一个反相器T构成。图中,start信号端为与异步计算控制模块2的输出端相连端点,ainh,binh,cinh信号端为与三个数据输入多路复选器8的输出端相连的端点。ainl,binl,cinl信号分别为ainh,binh,cinh信号的取反。
图4是以1位全加器为例的计算电路图,它由两个差动级联逻辑电路构成,其中第一个差动级联逻辑电路用于产生结果位(fout),其包括两个pmos管P,四个反向器T以及21个nmos管N;第二个差动级联逻辑电路用于产生进位(cout),其包括两个pmos管P,四个反向器T以及11个nmos管N。其中,每个差动级联逻辑电路中的四个反向器T都分为两组,头尾相接,起到缓冲暂存的作用。
本实用新型的异步通信可重构计算单元工作过程如下数据输入路由模块1中的三个8选1数据输入多路复选器8从可重构计算单元的8个输入数据信号ed1,ed2,sd1,sd2,wd1,wd2,nd1,nd2中选择3个ain,bin,cin作为异步计算模块3的3个输入数据。异步计算控制模块2通过对可重构计算单元的8个输入异步信号ea1,ea2,sa1,sa2,wa1,wa2,na1,na2进行判断,看其是否有效,从而产生异步计算启动信号start输出到异步计算模块3,用于控制异步计算的工作状态。预充电电路11中,ainh,ain1,binh,bin1,cinh,cin1为3组互补输入信号。这3组互补输入信号用于通过2位编码来标志输入数据——当互补输入信号为“01”或者“10”时,代表有效的“0”或者“1”信号,可以用以计算;“00”则代表无效信号,不进行计算;“11”为非法信号,不应在计算中出现。当且仅当3组互补输入数据均为有效,且异步计算控制模块2的输出的计算启动信号start有效时,预充电电路11的输出充电信号pre才为有效,即该充电信号将对计算电路12进行充电,使其进入计算状态。
以一位全加器为例,当充电信号有效时,计算电路12中的两个差动级联逻辑电路中的四个pmos管P均导通,两个接地的nmos管N均关闭,电路开始进行充电,进入待计算状态。第一个差动级联逻辑电路中的其余20个nmos管N用于实现一位全加器的结果位逻辑,分别产生2个互补的结果位(fouth,foutl),其中有效结果位为fouth;第二个差动级联逻辑电路中的其余10个nmos管N用于实现一位全加器的结果位逻辑,分别产生2个互补的结果位(couth,coutl),其中有效结果位为couth。计算电路12的两个输出fout,cout通过反向器缓冲暂存,分别输出到第一、第二计算多路复选器13。第一、第二计算多路复选器13从计算电路12输出信号中选择出所需的两个计算结果信号dout1,dout2,分别输出到异步信号生成模块5以及八个数据输出多路复选器9。八个数据输出多路复选器9对计算结果dout1,dout2以及可重构计算单元输入数据进行选择,生成该可重构计算单元的八个输出数据。异步信号生成模块5通过对计算结果进行处理,判断当前计算是否完成,从而产生用于标志该可重构计算单元状态的异步应答信号aout输出到八个异步信号输出多路复选器10。八个异步信号输出多路复选器10对异步信号生成模块5产生的异步应答信号以及可重构计算单元的输入异步信号进行选择,生成该异步可重构计算单元的八个输出异步信号。
上述实施例用来解释说明本实用新型,而不是对本实用新型进行限制,在本实用新型的精神和权利要求的保护范围内,对本实用新型作出的任何修改和改变,都落入本实用新型的保护范围。
权利要求1.采用异步通信机制的可重构计算单元,其特征是,它包括数据输入路由模块(1)、异步计算控制模块(2)、异步计算模块(3)、数据输出路由模块(4)、异步信号生成模块(5)、异步信号输出路由模块(6)和配置模块(7),所说的数据输入路由模块(1)内具有三个数据输入多路复选器(8),数据输出路由模块(4)具有八个数据输出多路复选器(9),异步信号输出路由模块(6)内具有八个异步信号输出多路复选器(10),异步计算模块(3)包括计算电路(12)、一个预充电电路(11)以及两个用于计算多路复选器(13),数据输入路由模块(1)中的每个数据输入多路复选器(8)的输入端与输入可重构计算单元的八个数据信号(ed1,ed2,sd1,sd2,wd1,wd2,nd1,nd2)相连,输出端分别与异步计算模块[3]中的预充电电路(11)以及计算电路(12)的输入端相连,异步计算控制模块(2)的输入端与输入可重构计算单元的八个异步信号(ea1,ea2,sa1,sa2,wa1,wa2,na1,na2)相连,输出端和异步计算模块(3)中的预充电电路(11)的另一输入端相连,预充电电路(11)的输出端(pre)和计算电路(12)的另一输入端相连,计算电路(12)的一个输出端(fout)和第一计算多路复选器(13)的输入端相连,计算电路(12)的另一个输出端(cout)和第二计算多路复选器(13)的输入端相连,两个计算多路复选器(13)的输出端(dout1,dout2)分别和数据输出路由模块(4)中的八个数据输出多路复选器(9)以及异步信号生成模块(5)的输入端相连,数据输出路由模块(4)中的第一数据输出多路复选器(9)的输入端和可重构计算单元的第三、第五、第七数据信号(sd1,wd1,nd1)相连,第二数据输出多路复选器(9)的输入端和可重构计算单元的第四、第六、第八数据信号(sd2,wd2,nd2)相连,第三数据输出多路复选器(9)的输入端和可重构计算单元的第一、第五、第七数据信号(ed1,wd1,nd1)相连,第四数据输出多路复选器(9)的输入端和可重构计算单元的第二、第六、第八数据信号(ed2,wd2,nd2)相连,第五数据输出多路复选器(9)的输入端和可重构计算单元的第一、第三、第七数据信号(ed1,sd1,nd1)相连,第六数据输出多路复选器(9)的输入端和可重构计算单元的第二、第四、第八数据信号(ed2,sd2,nd2)相连,第七数据输出多路复选器(9)的输入端和可重构计算单元的第一、第三、第五数据信号(ed1,sd1,wd1)相连,第八数据输出多路复选器(9)的输入端和可重构计算单元的第二、第四、第六数据信号(ed2,sd2,wd2)相连,八个数据输出多路复选器(9)的输出端为可重构计算单元的输出数据信号端,异步信号生成模块(5)的输出端分别与异步信号输出路由模块(6)中的八个异步信号输出多路复选器(10)的输入端相连,异步信号输出路由模块(6)中的第一、第三、第五、第七异步信号输出多路复选器(10)的输入端均与输入可重构计算单元的第一、第三、第五、第七异步信号(ea1,sa1,wa1,na1)相连,第二、第四、第六、第八异步信号输出多路复选器(10)的输入端均与输入可重构计算单元的第二、第四、第六、第八异步信号(ea2,sa2,wa2,na2)相连,八个异步信号输出多路复选器(10)的输出端为可重构计算单元的输出异步信号端,用于存放单元配置信息的配置模块(7)的输入端连接输入配置数据,输出端分别和可重构计算单元中的数据输入多路复选器(8)、数据输出多路复选器(9)、异步信号输出多路复选器(10)、异步计算控制模块(2)、异步信号生成模块(5)以及计算多路复选器(13)的输入端相连。
2.根据权利要求1所述的采用异步通信机制的可重构计算单元,其特征在于所说的配置模块(7)由基于双端口D触发器的寄存器堆文件构成。
3.根据权利要求1所述的采用异步通信机制的可重构计算单元,其特征在于所说的数据输入多路复选器(8)是8选1多路复选器。
4.根据权利要求1所述的采用异步通信机制的可重构计算单元,其特征在于所说的数据输出多路复选器(9)是5选1多路复选器。
5.根据权利要求1所述的采用异步通信机制的可重构计算单元,其特征在于所说的异步信号输出多路复选器(10)是5选1多路复选器。
6.根据权利要求1所述的采用异步通信机制的可重构计算单元,其特征在于所说的预充电电路(11)由七个pmos管、七个nmos管以及一个反相器构成。
7.根据权利要求1所述的采用异步通信机制的可重构计算单元,其特征在于所说的计算电路(12)是差动级联逻辑运算电路。
8.根据权利要求1所述的采用异步通信机制的可重构计算单元,其特征在于所说的计算电路(12)的个数与异步可重构计算单元支持的计算功能数目相对应。
专利摘要本实用新型公开的采用异步通信机制的可重构计算单元包括数据输入路由模块、异步计算控制模块、异步计算模块、数据输出路由模块、异步信号生成模块、异步信号输出路由模块和配置模块。根据配置模块中的信息,输入数据经数据输入路由模块选择进入异步计算模块,在异步计算控制模块的控制下进行计算。计算结果输出到异步信号生成模块和数据输出路由模块。数据输出路由模块通过选择产生该可重构单元的输出数据,异步信号生成模块通过对计算结果进行判断产生该可重构单元的异步应答信号输至异步信号输出路由模块,其通过选择产生该可重构单元的输出异步信号。本实用新型采用异步通信机制,不需要用最长运算周期来统一时钟周期,极大地提高了运算效率,同时功耗大大降低。
文档编号G06F15/76GK2849838SQ200520116898
公开日2006年12月20日 申请日期2005年12月2日 优先权日2005年12月2日
发明者沈海斌, 季爱明 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1