多电源域多时钟域先进先出队列、集成电路芯片及计算机设备的制作方法

文档序号:21454025发布日期:2020-07-10 17:48阅读:200来源:国知局
多电源域多时钟域先进先出队列、集成电路芯片及计算机设备的制作方法

本发明涉及先进先出(fifo)队列,具体涉及一种多电源域多时钟域先进先出队列、集成电路芯片及计算机设备。



背景技术:

目前技术领域中尚无直接完成多电源域转化的先进先出队列解决方案。当不同电源域的信号进行时钟域转化时,往往通过在fifo外部的输入接口完成电源域转之化后再进入fifo完成信号的跨时钟域转换功能。如图1所示,即为传统异步fifo的电源域转化结构图。写数据相关的信号如写使能wen、写时钟wclk、满信号full、半满信号half_full处于另一个电源域,如图左侧方框区域所示。信号经过电平转化单元levelshift完成电源域转化,再进入异步fifo输入端口完成时钟域转化。整个异步fifo处于另一时钟域,如图右侧方框区域所示。即左侧和右侧方框区域是不同的电源域。因此进入fifo之前,由于信号需要跨越不同的电压区域,需要加入电平转换单元,从而增加了信号传输的延迟,并且这个延时是在同一个时钟域下,进而影响逻辑设计的延时,降低系统工作频率。



技术实现要素:

本发明要解决的技术问题:针对现有技术的上述问题,提供一种多电源域多时钟域先进先出队列、集成电路芯片及计算机设备,本发明能够消除不同电源域的信号进行时钟域转化时带来的信号传输延迟,提高系统的时钟频率。

为了解决上述技术问题,本发明采用的技术方案为:

一种多电源域多时钟域先进先出队列,包括写逻辑、读逻辑、写逻辑电源域以及读逻辑电源域,所述写逻辑处于写逻辑电源域,所述读逻辑处于读逻辑电源域,所述写逻辑电源域、读逻辑电源域设有多个用于完成电源域转化的电平转化单元,且所述写逻辑、读逻辑之间处于不同的时钟域。

可选地,所述写逻辑、读逻辑之间设有四组信号的传输通道,该四组信号包括缓冲器数据data、二进制读指针rbp、格雷码读指针rgp和格雷码写指针wgp,且每一组信号中串接一个电平转化单元。

可选地,所述写逻辑包括写指针产生电路、缓冲单元、地址译码单元、输出选择单元、第一同步单元、第一比较器、释放数量计数器以及第二比较器,写使能wr和写数据din在满标志信号full为低时同一拍进入写逻辑,且写使能wr进入写指针产生电路产生写二进制指针wbp和写格雷码指针wgp,写格雷码指针wgp输出给读逻辑,写二进制指针wbp进入地址译码单元进行地址译码后作为下一个写入数据在缓冲单元中的入口地址,所述输出选择单元根据读逻辑返回的读二进制指针rbp将数据从缓冲单元中取走缓存数据并通过dada信号输出给读逻辑;读逻辑返回的读格雷码指针rgp经过两级第一同步单元同步后再与写格雷码指针wgp进入第一比较器来产生full信号,当读电源关闭信号rvoff有效时full信号有效,且经过两级第一同步单元同步后的读格雷码指针rgp与释放数量计数器产生的格雷码计数结果gp一起作为第二比较器的输入以通过第二比较器产生信用释放信号rel来控制上游的写入且只有当外部接收到信用释放信号rel的个数不为零时才可写入数据,所述写逻辑还包括输入的写时钟信号wr_clk,所述写时钟信号wr_clk分别与写指针产生电路、缓冲单元、释放数量计数器、第一同步单元的时钟信号输入端相连。

可选地,所述写指针产生电路包括第一加法器、第一二进制转格雷码逻辑、第一二进制指针寄存器以及第一格雷码指针寄存器,写使能信号wr进入写指针产生电路后首先进入第一加法器使其递增计数,第一加法器的输出端分别将加法器计数结果输出给第一二进制转格雷码逻辑、第一二进制指针寄存器,所述第一二进制转格雷码逻辑将加法器计数结果生成对应格雷码后输出至第一格雷码指针寄存器后作为格雷码指针wgp输出,所述第一二进制指针寄存器直接将加法器计数结果作为写二进制指针wbp输出并同时作为第一加法器的另一路输入,所述第一二进制指针寄存器以及第一格雷码指针寄存器的时钟信号输入端分别与写时钟信号wr_clk相连。

可选地,所述释放数量计数器包括第二加法器、第二二进制转格雷码逻辑、第二二进制指针寄存器以及第二格雷码指针寄存器,使能信号en进入释放数量计数器后首先进入第二加法器使其递增计数,第二加法器的输出端分别将加法器计数结果输出给第二二进制转格雷码逻辑、第二二进制指针寄存器,所述第二二进制转格雷码逻辑将加法器计数结果生成对应格雷码后输出至第二格雷码指针寄存器后作为格雷码指针wgp输出,所述第二二进制指针寄存器直接将加法器计数结果作为第二加法器的另一路输入,所述第二二进制指针寄存器以及第二格雷码指针寄存器的时钟信号输入端分别与写时钟信号wr_clk相连。

可选地,所述读逻辑包括读指针产生电路、第二同步单元、第三比较器以及用于将来自写逻辑的dada信号直接输出的输出通路,读使能rd进入读逻辑后控制读指针产生电路分别生成读二进制指针rbp和读格雷码指针rgp后输出给写逻辑,来自写逻辑的写格雷码指针wgp经过两级第二同步单元同步后和读格雷码指针rgp一起作为第三比较器的输入,所述第三比较器用于产生读有效信号vld,且在写电源关闭信号wvoff有效时读有效信号vld无效,所述读逻辑还包括输入的读时钟信号rd_clk,所述读时钟信号rd_clk分别与读指针产生电路、第二同步单元的时钟信号输入端相连。

可选地,所述读指针产生电路包括第三加法器、第三二进制转格雷码逻辑、第三二进制指针寄存器以及第三格雷码指针寄存器,读使能rd进入释放数量计数器后首先进入第三加法器使其递增计数,第三加法器的输出端分别将加法器计数结果输出给第三二进制转格雷码逻辑、第三二进制指针寄存器,所述第三二进制转格雷码逻辑将加法器计数结果生成对应格雷码后输出至第三格雷码指针寄存器后作为格雷码指针wgp输出,所述第三二进制指针寄存器直接将加法器计数结果作为第三加法器的另一路输入,所述第三二进制指针寄存器以及第三格雷码指针寄存器的时钟信号输入端分别与读时钟信号rd_clk相连。

此外,本发明还提供一种集成电路芯片,所述集成电路芯片上带有所述的多电源域多时钟域先进先出队列。可选地,所述集成电路芯片为微处理器、dsp芯片、fpga芯片、gpu芯片、专用集成芯片中的一种。

此外,本发明还提供一种计算机设备,该计算机设备至少包括存储器和微处理器,其特征在于,所述微处理器上带有所述多电源域多时钟域先进先出队列。

和现有技术相比,本发明具有下述优点:本发明的多电源域多时钟域先进先出队列包括写逻辑、读逻辑、写逻辑电源域以及读逻辑电源域,写逻辑处于写逻辑电源域,读逻辑处于读逻辑电源域,写逻辑电源域、读逻辑电源域设有多个用于完成电源域转化的电平转化单元,且写逻辑、读逻辑之间处于不同的时钟域。一般的时钟域转换fifo解决方案,采用的是在输入信号进入fifo之前通过在fifo输入端口处插入电平转换单元完成电压域的转换,而本发明将fifo分为写逻辑电源区域,读逻辑电源区域,在fifo的内部的写逻辑与读逻辑之间即完成电源域转化,此时由于写逻辑与读逻辑处于不同的时钟域,对电源域转换的延迟不敏感,可以有效的消除不同电源域的信号进行时钟域转化时带来的信号传输延迟,因此本发明能够消除不同电源域的信号进行时钟域转化所带来的信号传输延迟,提高系统的时钟频率。

附图说明

图1为现有技术中异步fifo的电源域转化结构图。

图2为本发明实施例中多电源域多时钟域先进先出队列的基本结构示意图。

图3为本发明实施例中写逻辑的结构示意图。

图4为本发明实施例中写逻辑的执行步骤示意图。

图5为本发明实施例中读逻辑的结构示意图。

图6为本发明实施例中读逻辑的执行步骤示意图。

图7为本发明实施例中写逻辑的端口信号波形图。

图8为本发明实施例中读逻辑的端口信号波形图。

图例说明:1、写指针产生电路;11、第一加法器;12、第一二进制转格雷码逻辑;13、第一二进制指针寄存器;14、第一格雷码指针寄存器;2、缓冲单元;3、地址译码单元;4、输出选择单元;5、第一同步单元;6、第一比较器;7、释放数量计数器;71、第二加法器;72、第二二进制转格雷码逻辑;73、第二二进制指针寄存器;74、第二格雷码指针寄存器;8、第二比较器;9、读指针产生电路;91、第二同步单元;92、第三比较器;93、第三加法器;94、第三二进制转格雷码逻辑;95、第三二进制指针寄存器;96、第三格雷码指针寄存器。

具体实施方式

如图2所示,本实施例多电源域多时钟域先进先出队列包括写逻辑、读逻辑、写逻辑电源域以及读逻辑电源域,所述写逻辑处于写逻辑电源域,所述读逻辑处于读逻辑电源域,所述写逻辑电源域、读逻辑电源域设有多个用于完成电源域转化的电平转化单元,且所述写逻辑、读逻辑之间处于不同的时钟域。

如图2所示,本实施例中写逻辑、读逻辑之间设有四组信号的传输通道,该四组信号包括缓冲器数据data、二进制读指针rbp、格雷码读指针rgp和格雷码写指针wgp,且每一组信号中串接一个电平转化单元(levelshift),由于在写逻辑与读逻辑之间通过电平转化单元(levelshift)完成电源域转化,此时由于写逻辑与读逻辑处于不同的时钟域,对电源域转换的延迟不敏感,从而带来时钟频率的提升。

如图3所示,写逻辑包括写指针产生电路1、缓冲单元2、地址译码单元3、输出选择单元4、第一同步单元5、第一比较器6、释放数量计数器7以及第二比较器8,写使能wr和写数据din在满标志信号full为低时同一拍进入写逻辑,且写使能wr进入写指针产生电路1产生写二进制指针wbp和写格雷码指针wgp,写格雷码指针wgp输出给读逻辑,写二进制指针wbp进入地址译码单元3进行地址译码后作为下一个写入数据在缓冲单元2中的入口地址,所述输出选择单元4根据读逻辑返回的读二进制指针rbp将数据从缓冲单元2中取走缓存数据并通过dada信号输出给读逻辑;读逻辑返回的读格雷码指针rgp经过两级第一同步单元5同步后再与写格雷码指针wgp进入第一比较器6来产生full信号,当读电源关闭信号rvoff有效时full信号有效,且经过两级第一同步单元5同步后的读格雷码指针rgp与释放数量计数器7产生的格雷码计数结果gp一起作为第二比较器8的输入以通过第二比较器8产生信用释放信号rel来控制上游的写入且只有当外部接收到信用释放信号rel的个数不为零时才可写入数据,所述写逻辑还包括输入的写时钟信号wr_clk,所述写时钟信号wr_clk分别与写指针产生电路1、缓冲单元2、释放数量计数器7、第一同步单元5的时钟信号输入端相连。

如图3所示,写指针产生电路1包括第一加法器11、第一二进制转格雷码逻辑12、第一二进制指针寄存器13以及第一格雷码指针寄存器14,写使能信号wr进入写指针产生电路1后首先进入第一加法器11使其递增计数,第一加法器11的输出端分别将加法器计数结果输出给第一二进制转格雷码逻辑12、第一二进制指针寄存器13,所述第一二进制转格雷码逻辑12将加法器计数结果生成对应格雷码后输出至第一格雷码指针寄存器14后作为格雷码指针wgp输出,所述第一二进制指针寄存器13直接将加法器计数结果作为写二进制指针wbp输出并同时作为第一加法器11的另一路输入,所述第一二进制指针寄存器13以及第一格雷码指针寄存器14的时钟信号输入端分别与写时钟信号wr_clk相连。指针信号进入第一二进制指针寄存器13以及第一格雷码指针寄存器14两个寄存器的目的在于组合逻辑加法器产生的信号带有毛刺,需要用同步时钟同步消除毛刺,从而避免直接进入另外一个时钟域时(如从写时钟域进入读时钟域),产生亚稳态现象。

如图3所示,释放数量计数器7包括第二加法器71、第二二进制转格雷码逻辑72、第二二进制指针寄存器73以及第二格雷码指针寄存器74,使能信号en进入释放数量计数器7后首先进入第二加法器71使其递增计数,第二加法器71的输出端分别将加法器计数结果输出给第二二进制转格雷码逻辑72、第二二进制指针寄存器73,所述第二二进制转格雷码逻辑72将加法器计数结果生成对应格雷码后输出至第二格雷码指针寄存器74后作为格雷码指针wgp输出,所述第二二进制指针寄存器73直接将加法器计数结果作为第二加法器71的另一路输入,所述第二二进制指针寄存器73以及第二格雷码指针寄存器74的时钟信号输入端分别与写时钟信号wr_clk相连。指针信号进入第二二进制指针寄存器73以及第二格雷码指针寄存器74两个寄存器的目的在于组合逻辑加法器产生的信号带有毛刺,需要用同步时钟同步消除毛刺,从而避免直接进入另外一个时钟域时(如从写时钟域进入读时钟域),产生亚稳态现象。

写指针在写使能wr控制下,写逻辑可以同时产生写二进制指针wbp和写格雷码指针wgp,通过比较写格雷码指针wgp,和经二级同步后的读指针rgp产生满标志,并且在读电源关断时(rvoff有效),固定产生满标志,以阻止向缓冲器写入数据。

如图3和图4所示,写逻辑执行流程为:

1、写使能wr和写数据din同一拍进入写逻辑中,此时当满标志信号full为低。

2、写指针产生电路1(wptr)同时产生写二进制指针wbp和写格雷码指针wgp。

3、读二进制指针rbp及读格雷码指针rgp指针进入写逻辑。(1)读二进制指针rbp经过输出选择单元4直接将数据从缓冲单元2中取走,通过dada信号输出到读逻辑中。(2)读格雷码指针rgp由于存在跨时钟域,需要经过两级第一同步单元5(ff)同步,再与写指针产生电路1产生的wgp信号进入第一比较器6(compare)来产生full信号。第一比较器6中根据格雷码特性,当读格雷码指针rgp与写格雷码指针wgp高两位相反后几位相同时,表示缓冲单元2中数据写满且没有数据被读出,此时产生full信号。需要说明的是,当读电源关闭(rvoff)时,full信号有效。(3)同时读格雷码指针rgp与释放数量计数器7(cptr)产生的格雷码计数结果gp比较,产生信用释放信号rel用于控制上游向fifo的写入,只有当外部接收到rel个数不为零时才可以向fifo中写入数据。其中rgp表示需要发出的释放数,gp表示已经发出的释放个数,当两者不相等时,产生rel信号。这里需要说明的是,多电源域多时钟域先进先出队列写入端口流控支持满控制和信用控制两种方式,当采用满控制时,外部写控制逻辑使用full信号进行流控,fifo满时禁止写入;但采用信用控制时,rel信号有效表示fifo释放一个缓冲单元,外部写入控制逻辑需根据信用进行流控,无信用时禁止写入。

写数据波形图如图7所示。写数据d0、d1对应写格雷码指针0、1,读二进制指针0、1和读格雷码指针0、1,分别对应数据d0、d1。读二进制指针rbp负责将数据从regs中直接读走。读格雷码指针rgp负责与写格雷码指针wgp做比较来产生full与rel信号。

如图5所示,读逻辑包括读指针产生电路9、第二同步单元91、第三比较器92以及用于将来自写逻辑的dada信号直接输出的输出通路,读使能rd进入读逻辑后控制读指针产生电路9分别生成读二进制指针rbp和读格雷码指针rgp后输出给写逻辑,来自写逻辑的写格雷码指针wgp经过两级第二同步单元91同步后和读格雷码指针rgp一起作为第三比较器92的输入,第三比较器92用于产生读有效信号vld,且在写电源关闭信号wvoff有效时读有效信号vld无效,读逻辑还包括输入的读时钟信号rd_clk,读时钟信号rd_clk分别与读指针产生电路9、第二同步单元91的时钟信号输入端相连。

如图5所示,读指针产生电路9包括第三加法器93、第三二进制转格雷码逻辑94、第三二进制指针寄存器95以及第三格雷码指针寄存器96,读使能rd进入释放数量计数器9后首先进入第三加法器93使其递增计数,第三加法器93的输出端分别将加法器计数结果输出给第三二进制转格雷码逻辑94、第三二进制指针寄存器95,第三二进制转格雷码逻辑94将加法器计数结果生成对应格雷码后输出至第三格雷码指针寄存器96后作为格雷码指针wgp输出,第三二进制指针寄存器95直接将加法器计数结果作为第三加法器93的另一路输入,第三二进制指针寄存器95以及第三格雷码指针寄存器96的时钟信号输入端分别与读时钟信号rd_clk相连。指针信号进入第三二进制指针寄存器95以及第三格雷码指针寄存器96两个寄存器的目的在于组合逻辑加法器产生的信号带有毛刺,需要用同步时钟同步消除毛刺,从而避免直接进入另外一个时钟域时(如从写时钟域进入读时钟域),产生亚稳态现象。

读逻辑和写逻辑类似,读指针在读使能rd控制下,可以同时产生读二进制指针rbp和读格雷码指针rgp,通过比较读格雷码读指针和经二级同步后的写格雷码指针wgp产生数据有效标志,并且在写电源关断时(wvoff有效),不产生有效标志,以阻止从缓冲器读出数据。读逻辑执行流程如图6所示,具体执行流程为:1、读使能rd进入读逻辑。2、读指针产生电路8分别生成读二进制指针rbp和读格雷码指针rgp后输出给写逻辑。读二进制指针rbp进入写逻辑中,经过输出输出选择单元4直接将数据从缓冲单元2中取走,并通过输出端口dout直接输出。读格雷码指针rgp进入写逻辑中,经过两级同步后用于产生写逻辑的full信号及rel信号。读格雷码指针rgp与来自写逻辑的写格雷码指针wgp信号进入比较逻辑来产生读有效信号vld。读数据波形图如图8所示。当数据写入regs中,读逻辑即可以直接在读逻辑输入端口data观察到。当读使能rd到达时,便可以立即将数据从输出端dout输出,与此同时读使能导致读指针产生电路rptr计算结果累加,改变读指针值,使读指针指向下一个将被读取的数据。即读使能有效时(两拍),数据d0、d1对应读二进制指针0、1和读格雷码指针0、1。数据直接从读逻辑的输出端口dout输出,并产生有效信号vld,表示输出数据有效。波形图中可以观察到当写格雷码指针wgp与读格雷码指针不一致时,即可产生数据有效信号vld。读格雷码指针rgp进入写逻辑负责与写格雷码指针wgp做比较来产生full与rel信号。

此外关于写逻辑与读逻辑之间的数据传输关系,需要说明一下几点。读写逻辑之间有四组信号需要交互,分别是:缓冲器数据data、二进制读指针rbp、格雷码读指针rgp和格雷码写指针wgp。信号关系说明如下:(1)缓冲器数据data在读使能rd进入读指针产生电路9产生二进制指针rbp即可将数据data从regs中直接取出,此时即发送读写逻辑直接的数据传输。(2)读二进制读指针rbp由rptr产生后直接进入写逻辑的输出选择单元4逻辑。rbp作为读使能rd的二进制计数结果随读使能直接变化。(3)读格雷码读指针rgp由读指针产生电路8产生后直接进入写逻辑,经过两级同步后进入第二同步单元91。读格雷码读指针rgp作为读使能rd的格雷码计数结果随读使能直接变化。(4)写格雷码写指针wgp由写指针产生电路1产生后直接进入写逻辑,经过两级同步(ff)后进入第一比较器6,写格雷码写指针wgp作为写使能wr的格雷码计数结果随写使能直接变化。

此外,本实施例还提供一种集成电路芯片,所述集成电路芯片上带有前述的多电源域多时钟域先进先出队列。集成电路芯片可以为微处理器(cpu)、dsp芯片、fpga芯片、gpu芯片、专用集成芯片(asic芯片)等中的一种。

此外,本实施例还提供一种计算机设备,该计算机设备至少包括存储器和微处理器,该微处理器上带有前述的多电源域多时钟域先进先出队列。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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