双沿触发环形缓冲器及通信系统转让专利

申请号 : CN201711125693.7

文献号 : CN107797956B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邵逸高檀聿麟戴思特张宁冯海刚

申请人 : 深圳锐越微技术有限公司

摘要 :

本发明公开一种双沿触发环形缓冲器及通信系统,该环形缓冲器包括逻辑时钟生成模块及数据写入模块,其中,逻辑时钟生成模块,用于在检测到多个第一触发信号输入端中对应的触发信号输入时,生成相应的第一逻辑时钟信号;或者多个第二触发信号输入端中对应的触发信号输入时,生成相应的第二逻辑时钟信号;数据写入模块,用于根据第一逻辑时钟信号或第二逻辑时钟信号,从多个对应的输入端写入外部系统输出的数据。本发明解决了没有双沿触发器时,容易出现缓冲器中的寄存器建立时间和保持时间的违反的问题。由于采用两步写入,相较于现有的一步写入,本发明减少了寄存器的数据传输的时序复杂度。

权利要求 :

1.一种双沿触发环形缓冲器,其特征在于,所述环形缓冲器包括逻辑时钟生成模块及数据写入模块,所述逻辑时钟生成模块包括多个第一触发信号输入端、多个第二触发信号输入端及多个逻辑时钟信号输出端,所述逻辑时钟生成模块的多个所述第一触发信号输入端及多个所述第二触发信号输入端分别用于接入相应的触发信号,所述逻辑时钟生成模块的多个逻辑时钟信号输出端分别与所述数据写入模块的多个逻辑时钟信号输入端一一对应连接;所述数据写入模块的多个输入端与外部系统连接;其中,所述逻辑时钟生成模块,用于在检测到多个所述第一触发信号输入端中对应的所述触发信号输入时,生成相应的第一逻辑时钟信号;或者多个所述第二触发信号输入端中对应的所述触发信号输入时,生成相应的第二逻辑时钟信号;

所述数据写入模块,用于根据所述第一逻辑时钟信号或所述第二逻辑时钟信号,从多个所述对应的输入端写入所述外部系统输出的数据。

2.如权利要求1所述的双沿触发环形缓冲器,其特征在于,所述逻辑时钟生成模块包括产生所述第一逻辑时钟信号的第一逻辑时钟生成单元及产生所述第二逻辑时钟信号第二逻辑时钟生成单元,所述第一逻辑时钟生成单元的多个信号输入端为所述逻辑时钟生成模块的第一触发信号输入端,所述第二逻辑时钟生成单元的多个信号输入端为所述逻辑时钟生成模块的第二触发信号输入端,所述第一逻辑时钟生成单元的多个输出端及所述第二逻辑时钟生成单元与所述数据写入模块的多个逻辑时钟信号输入端一一对应连接。

3.如权利要求2所述的双沿触发环形缓冲器,其特征在于,所述第一逻辑时钟生成单元包括多个第一逻辑时钟生成子单元,多个所述第一逻辑时钟生成子单元串联设置,多个所述第一逻辑时钟生成子单元的多个触发端用于输入复位信号、聆听信号及第一选通信号,多个所述第一逻辑时钟生成子单元的输出端还与所述数据写入模块的时钟信号输入端连接。

4.如权利要求3所述的双沿触发环形缓冲器,其特征在于,所述第一逻辑生成子单元包括第一选通器、第二选通器、第三选通器及第一D触发器,所述第一选通器的地址输入端用于输入地址信号,所述第一选通器的数据输入端用于输入所述第一选通信号,所述第一选通器的输入端与所述第二选通器的地址输入端连接,所述第二选通器的数据输入端用于输入所述聆听信号,所述第二选通器的输出端与所述第三选通器的地址输入端连接,所述第三选通器的数据输入端用于输入所述复位信号,所述第三选通器的输出端与所述第一D触发器的输入端连接,所述第一D触发器的输出端为所述第一逻辑生成子单元的输出端。

5.如权利要求2所述的双沿触发环形缓冲器,其特征在于,所述第二逻辑时钟生成单元包括多个第二逻辑时钟生成子单元,多个所述第二逻辑时钟生成子单元串联设置,多个所述第二逻辑时钟生成子单元的多个触发端用于输入复位信号、聆听信号及第二选通信号,多个所述第二逻辑时钟生成子单元的输出端还与所述数据写入模块的时钟信号输入端连接。

6.如权利要求5所述的双沿触发环形缓冲器,其特征在于,所述第二逻辑生成子单元包括第四选通器、第五选通器、第六选通器及第二D触发器,所述第四选通器的地址输入端用于输入地址信号,所述第四选通器的数据输入端用于输入选通信号,所述第四选通器的输入端与所述第五选通器的地址输入端连接,所述第五选通器的数据输入端用于输入聆听信号,所述第五选通器的输出端与所述第六选通器的地址输入端连接,所述第六选通器的数据输入端用于输入复位信号,所述第六选通器的输出端与所述第二D触发器的输入端连接,所述第二D触发器的输出端为所述第一逻辑生成子单元的输出端。

7.如权利要求1所述的双沿触发环形缓冲器,其特征在于,所述数据写入模块包括多个并联设置的寄存器,多个所述寄存器的数据输入端与所述外部系统的数据端连接,多个所述寄存器的触发端为所述数据写入模块的时钟信号输入端,多个所述寄存器的输出端为所述数据写入模块的输出端。

8.如权利要求1至7任意一项所述的双沿触发环形缓冲器,其特征在于,所述双沿触发环形缓冲器还包括数据读取模块,所述数据读取模块的多个输入端分别与所述数据写入模块的多个输出端一一对应连接,所述数据读取模块的输出端用于输出相应的数据。

9.如权利要求8所述的双沿触发环形缓冲器,其特征在于,所述数据读取模块为N-1选路器,所述N-1选路器的多个数据输入端为所述数据读取模块的多个输入端,所述N-1选路器的输出端为数据读取模块的输出端。

10.一种通信系统,其特征在于,包括如权利要求1至9任意一项所述的双沿触发环形缓冲器。

说明书 :

双沿触发环形缓冲器及通信系统

技术领域

[0001] 本发明涉及通信技术领域,特别涉及一种双沿触发环形缓冲器及通信系统。

背景技术

[0002] 在两个系统进行通讯时,两个系统时钟可能不同步,因此在进行数据传输时,需要建议一个缓冲区,例如设置一环形缓冲器来协调两个系统时钟不同步时数据传输的进程。并且大多采用双沿触发缓冲器来在时钟的上升沿、下降沿都会进行一次数据传输,以在每一时钟周期内数据传输最大化。
[0003] 但是,在ASIC开发中,这种环形缓冲器由于需要对每一个来临数据与时钟沿的相对关系进行仔细的安排,出现寄存器建立时间和保持时间的违反,这样将导致数据传输的时序复杂,且容易出现同步问题。

发明内容

[0004] 本发明的主要目的是提出一种双沿触发环形缓冲器及通信系统,旨在采用两步数据写入的方式,减少寄存器的数据传输的时序复杂度。
[0005] 为实现上述目的,本发明提出一种双沿触发环形缓冲器,所述环形缓冲器包括逻辑时钟生成模块及数据写入模块,所述逻辑时钟生成模块包括多个第一触发信号输入端、多个第二触发信号输入端及多个逻辑时钟信号输出端,所述逻辑时钟生成模块的多个所述第一触发信号输入端及多个所述第二触发信号输入端分别用于接入相应的触发信号,所述逻辑时钟生成模块的多个逻辑时钟信号输出端分别与所述数据写入模块的多个逻辑时钟信号输入端一一对应连接;所述数据写入模块的多个输入端与外部系统连接;其中,[0006] 所述逻辑时钟生成模块,用于在检测到多个所述第一触发信号输入端中对应的所述触发信号输入时,生成相应的第一逻辑时钟信号;或者多个所述第二触发信号输入端中对应的所述触发信号输入时,生成相应的第二逻辑时钟信号;
[0007] 所述数据写入模块,用于根据所述第一逻辑时钟信号或所述第二逻辑时钟信号,从多个所述对应的输入端写入所述外部系统输出的数据。
[0008] 优选地,所述逻辑时钟生成模块包括产生所述第一逻辑时钟信号的第一逻辑时钟生成单元及产生所述第二逻辑时钟信号第二逻辑时钟生成单元,所述第一逻辑时钟生成单元的多个信号输入端为所述逻辑时钟生成模块的第一触发信号输入端,所述第二逻辑时钟生成单元的多个信号输入端为所述逻辑时钟生成模块的第二触发信号输入端,所述第一逻辑时钟生成单元的多个输出端及所述第二逻辑时钟生成单元与所述数据写入模块的多个逻辑时钟信号输入端一一对应连接。
[0009] 优选地,所述第一逻辑时钟生成单元包括多个第一逻辑时钟生成子单元,多个所述第一逻辑时钟生成子单元串联设置,多个所述第一逻辑时钟生成子单元的多个触发端用于输入复位信号、聆听信号及第一选通信号,多个所述第一逻辑时钟生成子单元的输出端还与所述数据写入模块的时钟信号输入端连接。
[0010] 优选地,所述第一逻辑生成子单元包括第一选通器、第二选通器、第三选通器及第一D触发器,所述第一选通器的地址输入端用于输入地址信号,所述第一选通器的数据输入端用于输入所述第一选通信号,所述第一选通器的输入端与所述第二选通器的地址输入端连接,所述第二选通器的数据输入端用于输入所述聆听信号,所述第二选通器的输出端与所述第三选通器的地址输入端连接,所述第三选通器的数据输入端用于输入所述复位信号,所述第三选通器的输出端与所述第一D触发器的输入端连接,所述第一D触发器的输出端为所述第一逻辑生成子单元的输出端。
[0011] 优选地,所述第二逻辑时钟生成单元包括多个第二逻辑时钟生成子单元,多个所述第二逻辑时钟生成子单元串联设置,多个所述第二逻辑时钟生成子单元的多个触发端用于输入复位信号、聆听信号及第二选通信号,多个所述第二逻辑时钟生成子单元的输出端还与所述数据写入模块的时钟信号输入端连接。
[0012] 优选地,所述第二逻辑生成子单元包括第四选通器、第五选通器、第六选通器及第二D触发器,所述第四选通器的地址输入端用于输入地址信号,所述第四选通器的数据输入端用于输入选通信号,所述第四选通器的输入端与所述第五选通器的地址输入端连接,所述第五选通器的数据输入端用于输入聆听信号,所述第五选通器的输出端与所述第六选通器的地址输入端连接,所述第六选通器的数据输入端用于输入复位信号,所述第六选通器的输出端与所述第二D触发器的输入端连接,所述第二D触发器的输出端为所述第一逻辑生成子单元的输出端。
[0013] 优选地,所述数据写入模块包括多个并联设置的寄存器,多个所述寄存器的数据输入端与所述外部系统的数据端连接,多个所述寄存器的触发端为所述数据写入模块的时钟信号输入端,多个所述寄存器的输出端为所述数据写入模块的输出端。
[0014] 优选地,所述双沿触发环形缓冲器还包括数据读取模块,所述数据读取模块的多个输入端分别与所述数据写入模块的多个输出端一一对应连接,所述数据读取模块的输出端用于输出相应的数据。
[0015] 优选地,所述数据读取模块为N-1选路器,所述N-1选路器的多个数据输入端为所述数据读取模块的多个输入端,所述N-1选路器的输出端为数据读取模块的输出端。
[0016] 本发明还提出一种通信系统,包括如上所述所述的双沿触发环形缓冲器;所述环形缓冲器包括逻辑时钟生成模块及数据写入模块,所述逻辑时钟生成模块包括多个第一触发信号输入端、多个第二触发信号输入端及多个逻辑时钟信号输出端,所述逻辑时钟生成模块的多个所述第一触发信号输入端及多个所述第二触发信号输入端分别用于接入相应的触发信号,所述逻辑时钟生成模块的多个逻辑时钟信号输出端分别与所述数据写入模块的多个逻辑时钟信号输入端一一对应连接;所述数据写入模块的多个输入端与外部系统连接;其中,所述逻辑时钟生成模块,用于在检测到多个所述第一触发信号输入端中对应的所述触发信号输入时,生成相应的第一逻辑时钟信号;或者多个所述第二触发信号输入端中对应的所述触发信号输入时,生成相应的第二逻辑时钟信号;所述数据写入模块,用于根据所述第一逻辑时钟信号或所述第二逻辑时钟信号,从多个所述对应的输入端写入所述外部系统输出的数据。
[0017] 本发明采用将双沿触发环形缓冲器采用两步写入的方式,先通过逻辑时钟生成模块完成第一步的逻辑时钟生成,再通过逻辑时钟生成模块生成的逻辑时钟信号控制数据写入模块根据逻辑时钟信号进行对应的数据写入,从而保证在写入模块中的各寄存器在下一时钟沿来临时,该写入的数据已经建立完毕,如此,可以解决出现缓冲器中的寄存器建立时间和保持时间的违反的问题。由于采用两步写入,相较于现有的一步写入,本发明可以减少寄存器的数据传输的时序复杂度。

附图说明

[0018] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
[0019] 图1为本发明双沿触发环形缓冲器应用于通信系统一实施例的功能模块示意图;
[0020] 图2为图1双沿触发环形缓冲器中逻辑时钟生成模块的电路结构示意图;
[0021] 图3为图2逻辑时钟生成模块中第一逻辑时钟生成单元的电路结构示意图;
[0022] 图4为图1双沿触发环形缓冲器中数据写入模块的电路结构示意图;
[0023] 图5为图1双沿触发环形缓冲器中数据读取模块的电路结构示意图。
[0024] 本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0025] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026] 需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
[0027] 另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
[0028] 本发明提出一种双沿触发环形缓冲器,应用于两个系统的通讯中。
[0029] 在两个系统进行通讯时,两个系统时钟可能不同步,因此在进行数据传输时,需要建议一个缓冲区,例如设置一环形缓冲器来协调两个系统时钟不同步时数据传输的进程。并且大多采用双沿触发缓冲器来在时钟的上升沿、下降沿都会进行一次数据传输,以在每一时钟周期内数据传输最大化。
[0030] 但是,系统传输数据时,仅在通过系统使能一个“聆听信号”给另一系统,以告知此时有一次数据信息需要写入,并在每一个上升沿和下降沿均读入一个数据,如此,使得环形缓冲器由于需要对每一个来临数据与时钟沿的相对关系进行仔细的安排,以解决出现缓冲器中的寄存器建立时间和保持时间的违反,导致寄存器的数据传输的时序复杂,且容易出现不同步问题。
[0031] 参照图1至图5,在本发明一实施例中,该环形缓冲器包括逻辑时钟生成模块10及数据写入模块20,所述逻辑时钟生成模块10包括多个第一触发信号输入端、多个第二触发信号输入端及多个逻辑时钟信号输出端,所述逻辑时钟生成模块10的多个所述第一触发信号输入端及多个所述第二触发信号输入端分别用于接入相应的触发信号,所述逻辑时钟生成模块10的多个逻辑时钟信号输出端分别与所述数据写入模块20的多个逻辑时钟信号输入端一一对应连接;所述数据写入模块20的多个输入端与外部系统连接;其中,
[0032] 所述逻辑时钟生成模块10,用于在检测到多个所述第一触发信号输入端中对应的所述触发信号输入时,生成相应的第一逻辑时钟信号;或者多个所述第二触发信号输入端中对应的所述触发信号输入时,生成相应的第二逻辑时钟信号;
[0033] 所述数据写入模块20,用于根据所述第一逻辑时钟信号或所述第二逻辑时钟信号,从多个所述对应的输入端写入所述外部系统输出的数据。
[0034] 本实施例中,当两个系统需要进行数据传输时,例如A系统需要对B系统进行数据输送时,A系统会向B系统使能一个“聆听信号listen”,此时逻辑时钟生成模块10的触发信号输入端在接收到该“聆听信号listen”,也即A系统此时有一数据信息需要写入时,并在接收到A系统发出的第一选通信号dstrobe时,逻辑时钟生成模块10则生成一第一逻辑时钟信号,以及在接收到A系统发出的第二选通信号dstrobeBar(dstrobe的反),或记做时,逻辑时钟生成模块10则生成一第二逻辑时钟信号,并将该第一逻辑时钟信号和第二逻辑时钟信号输出至数据写入模块20,其中,第一选通信号dstrobe为高电平的触发信号,第二选通信号dstrobeBar为低电平的选通信号,这样,在一个时钟周期内,数据写入模块20即可根据这第一逻辑时钟信号和第二逻辑时钟信号均进行一次数据写入。
[0035] 本发明采用将双沿触发环形缓冲器采用两步写入的方式,其中通过逻辑时钟生成模块10完成第一步的逻辑时钟生成,并通过逻辑时钟生成模块10生成的逻辑时钟信号控制数据写入模块20根据逻辑对应的时钟信号进行相应的数据写入,从而保证在写入模块中的各寄存器在下一时钟沿来临时,该写入的数据已经建立完毕,如此,可以减小出现缓冲器中的寄存器建立时间和保持时间违反的概率。由于采用两步写入,相较于现有的一步写入,本发明可以减少寄存器的数据传输的时序复杂度。
[0036] 参照图1至图5,在一优选实施例中,所述逻辑时钟生成模块10包括产生所述第一逻辑时钟信号的第一逻辑时钟生成单元11及产生所述第二逻辑时钟信号第二逻辑时钟生成单元12,所述第一逻辑时钟生成单元11的多个信号输入端为所述逻辑时钟生成模块10的第一触发信号输入端,所述第二逻辑时钟生成单元12的多个信号输入端为所述逻辑时钟生成模块10的第二触发信号输入端,所述第一逻辑时钟生成单元11的多个输出端及所述第二逻辑时钟生成单元12与所述数据写入模块20的多个逻辑时钟信号输入端一一对应连接。
[0037] 本实施例中,在A系统向B系统使能一个“聆听信号listen”,此时逻辑时钟生成模块10的触发信号输入端在接收到该“聆听信号listen”,也即A系统此时有一数据信息需要写入时,第一逻辑生成单元在接收到A系统发出的第一选通信号dstrobe时,生成一第一逻辑时钟信号,第二逻辑生成单元在接收到A系统发出的第二选通信号dstrobeBar时,生成一第二逻辑时钟信号,第一逻辑时钟生成单元11和第二逻辑时钟生成单元12分别将该第一逻辑时钟信号和第二逻辑时钟信号输出至数据写入模块20,以控制逻辑模块进行数据写入。
[0038] 参照图1至图5,进一步地,所述第一逻辑时钟生成单元11包括多个第一逻辑时钟生成子单元(图未标示),多个所述第一逻辑时钟生成子单元串联设置,多个所述第一逻辑时钟生成子单元的多个触发端用于输入复位信号reset、聆听信号listen及第一选通信号dstrobe,多个所述第一逻辑时钟生成子单元的输出端还与所述数据写入模块20的时钟信号输入端连接。
[0039] 本实施例中,第一逻辑时钟生成子单元的数量可以为四个、八个、或者十六个,本实施例优选为四个,且四个逻辑生成子单元分别为第一一逻辑时钟生成子单元111、第一二逻辑时钟生成子单元112、第一三逻辑时钟生成子单元113、第一四逻辑时钟生成子单元114,其中,第一一逻辑时钟生成子单元111、第一二逻辑时钟生成子单元112、第一三逻辑时钟生成子单元113、第一四逻辑时钟生成子单元114的三个触发端用于输入复位信号reset、聆听信号listen及第一选通信号dstrobe,第四逻辑时钟生成子单元的数据输入端用于输入二进制码‘0’,第一四逻辑时钟生成子单元114的数据输出端与第一三逻辑时钟生成子单元113的数据输入端连接,第一三逻辑时钟生成子单元113的数据输出端与第一二逻辑时钟生成子单元112的数据输入端连接,第一二逻辑时钟生成子单元112的数据输出端与第一一逻辑时钟生成子单元111的数据输入端连接。这样,前一逻辑时钟生成子单元输出信号就作为后一逻辑时钟生成子单元的输入信号,并在复位信号reset、聆听信号listen及第一选通信号dstrobe中任意信号的上升沿被触发,从而实现将信号对应的写入。第一四逻辑时钟生成子单元114的两个地址输入端被写入‘01’,第一一逻辑时钟生成子单元111、第一二逻辑时钟生成子单元112、第一三逻辑时钟生成子单元113的两个地址输入端均被写入‘00’,以实现例如在A系统输出“聆听信号listen”时,四个逻辑生成子单元此时输出的电平对应的二进制码表现为‘1000’,在接收到一“第一选通信号dstrobe”时,四个逻辑生成子单元此时对应的信号跳转为‘0100’,依次类推,每接收到一“第一选通信号dstrobe”进行一次移位,此处的第一选通信号dstrobe为高电平信号,即从‘1000’-‘0100’-‘0010’-‘0001’-‘0000’,进行一次移码后,A系统将输出一高电平的复位信号reset,使对应的四个逻辑生成子单元输出的电平对应的二进制码恢复为‘1000’,并等待A系统的“聆听信号listen”输入的再次触发。
[0040] 在四个逻辑生成子单元中高电平信号跳转为低电平,即从‘1’跳转为‘0’时,也即生成逻辑时钟信号,在这一下降沿时触发数据写入模块20进行一次数据写入。
[0041] 参照图1至图5,进一步地,所述第一逻辑生成子单元xFF包括第一选通器MUX1、第二选通器MUX2、第三选通器MUX3及第一D触发器Tr1,所述第一选通器MUX1的两个c1,d1地址输入端用于输入地址信号,所述第一选通器MUX1的数据输入端用于输入第一选通信号dstrobe,所述第一选通器MUX1的输入端与所述第二选通器MUX2的地址输入端连接,所述第二选通器MUX2的数据输入端用于输入聆听信号listen,所述第二选通器MUX2的输出端与所述第三选通器MUX3器的地址输入端连接,所述第三选通器MUX3器的数据输入端用于输入复位信号reset,所述第三选通器MUX3器的输出端与所述第一D触发器Tr1的输入端连接,所述第一D触发器Tr1的输出端为所述第一逻辑生成子单元xFF的输出端。
[0042] 本实施例中,第一逻辑生成子单元xFF各子单元的结构相同,均是由三个选通器及一个D触发器来实现的。其中,第一D触发器Tr1的数量为为上升沿触发,也即“复位信号reset”,“聆听信号listen”,“第一选通信号dstrobe”,中任意一个信号为高电平时即可触发。第一选通器MUX1、第二选通器MUX2及第三选通器MUX3器用于实现第一逻辑生成子单元xFF的移位,也即在“复位信号reset”,“聆听信号listen”“第一选通信号dstrobe”触发时,对应的第一D触发器Tr1根据数据输入端输入的信号被触发。
[0043] 参照图1至图5,进一步地,所述第二逻辑时钟生成单元12包括多个第二逻辑时钟生成子单元,多个所述第二逻辑时钟生成子单元串联设置,多个所述第二逻辑时钟生成子单元的输出端还与所述数据写入模块20的时钟信号输入端连接。
[0044] 本实施例中,第二逻辑时钟生成子单元的数量可以为四个、八个、或者十六个,本实施例优选为四个,且四个逻辑生成子单元分别为第二一逻辑时钟生成子单元121、第二二逻辑时钟生成子单元122、第二三逻辑时钟生成子单元123、第二四逻辑时钟生成子单元124,其中,第二一逻辑时钟生成子单元121、第二二逻辑时钟生成子单元122、第二三逻辑时钟生成子单元123、第二四逻辑时钟生成子单元124的三个触发端用于输入复位信号reset、聆听信号listen及第二选通信号dstrobeBar,第二四逻辑时钟生成子单元124的数据输入端用于输入二进制码‘0’,第二四逻辑时钟生成子单元124的数据输出端与第三逻辑时钟生成子单元的数据输入端连接,第二三逻辑时钟生成子单元123的数据输出端与第二二逻辑时钟生成子单元122的数据输入端连接,第二二逻辑时钟生成子单元122的数据输出端与第二一逻辑时钟生成子单元121的数据输入端连接。这样,前一逻辑时钟生成子单元输出信号就作为后一逻辑时钟生成子单元的输入信号,并在复位信号reset、聆听信号listen及第二选通信号dstrobeBar中任意信号的上升沿被触发,从而实现将信号打入对应的打入。例如,在A系统输出“聆听信号listen”时,四个逻辑生成子单元此时输出的电平对应的二进制码表现为‘1000’,在接收到一“第二选通信号dstrobeBar”时,四个逻辑生成子单元此时对应的信号跳转为‘0100’,依次类推,每接收到一“第一选通信号dstrobe”进行一次移码,此处的第一选通信号dstrobe为高电平信号,即从‘1000’-‘0100’-‘0010’-‘0001’-‘0000’,进行一次移码后,A系统将输出一高电平的复位信号reset,使对应的四个第一逻辑生成子单元xFF输出的电平对应的二进制码恢复为‘1000’,并等待A系统的“聆听信号listen”输入的再次触发。
[0045] 在四个逻辑生成子单元中高电平信号跳转为低电平,即从‘1’跳转为‘0’时,也即生成逻辑时钟信号,在这一下降沿时触发数据写入模块20进行一次数据写入。
[0046] 参照图1至图5,进一步地,所述第二逻辑生成子单元包括第四选通器、第五选通器、第六选通器及第二D触发器,所述第四选通器的地址输入端用于输入地址信号,所述第四选通器的数据输入端用于输入选通信号,所述第四选通器的输入端与所述第五选通器的地址输入端连接,所述第五选通器的数据输入端用于输入聆听信号,所述第五选通器的输出端与所述第六选通器的地址输入端连接,所述第六选通器的数据输入端用于输入复位信号,所述第六选通器的输出端与所述第二D触发器的输入端连接,所述第二D触发器的输出端为所述第一逻辑生成子单元的输出端。
[0047] 需要说明的是,第二逻辑生成子单元与第一逻辑生成子单元的结构相同,均是由三个选通器及一个D触发器来实现。其中,第一逻辑生成子单元被上升沿时钟触发,而第二逻辑生成子单元被下降沿时钟触发。可以理解的是,由于第二逻辑生成子单元与第一逻辑生成子单元的结构相同,故工作原理相同且达到的技术效果也相同,具体可参照第一逻辑生成子单元,在此不再赘述。
[0048] 参照图1至图5,在一优选实施例中,所述数据写入模块20包括多个并联设置的寄存器(图未标示),多个所述寄存器的数据输入端与所述外部系统的数据端连接,多个所述寄存器的触发端为所述数据写入模块20的时钟信号输入端,多个所述寄存器的输出端为所述数据写入模块20的输出端(Q0~Q7)。
[0049] 本实施例中,寄存器的数量为八个,每一寄存器均被逻辑时钟生成模块10输出下降沿的逻辑时钟信号触发,以在接收到该逻辑时钟信号时触发,并将外部系统输入的数据写入对应的寄存器中,每一个下降沿的逻辑时钟信号触发一个对应的寄存器写入数据,如此,即可减小出现缓冲器中的寄存器建立时间和保持时间的违反。当然在其他实施例中,寄存器的数量可以为16个,32个等,在此不做限制。
[0050] 参照图1至图5,基于上述实施例中,所述双沿触发环形缓冲器还进一步包括数据读取模块30,所述数据读取模块30的多个输入端分别与所述数据写入模块20的多个输出端(Q0~Q7)一一对应连接,所述数据读取模块30的输出端dout用于输出相应的数据。
[0051] 本实施例中,所述数据读取模块30优选采用N-1选路器来实现,所述N-1选路器的多个数据输入端为所述数据读取模块30的多个输入端,所述N-1选路器的输出端为数据读取模块30的输出端dout。
[0052] 本实施例中,N-1选路器优选为8-1选路器,8-1选路器中的八个输入端与数据读取模块30中八个寄存器对应连接,以在对应的寄存器写入数据时,根据地址输入端输入的地址码读取对应的数据。当然在其他实施例中,N-1选路器也可以是16-1选路器,或者12-1选路器等,具体可以根据系统的需求设置,在此不做限制。
[0053] 本发明还提出一种通信系统,所述通信系统包括如上所述的双沿触发环形缓冲器。该双沿触发环形缓冲器的详细结构可参照上述实施例,此处不再赘述;可以理解的是,由于在本发明通信系统中使用了上述双沿触发环形缓冲器,因此,本发明通信系统的实施例包括上述双沿触发环形缓冲器全部实施例的全部技术方案,且所达到的技术效果也完全相同,在此不再赘述。
[0054] 以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。