CN115202612A - 基于异步fifo的超导单磁通量子跨时钟域通信方法及*** - Google Patents

基于异步fifo的超导单磁通量子跨时钟域通信方法及*** Download PDF

Info

Publication number
CN115202612A
CN115202612A CN202210249404.9A CN202210249404A CN115202612A CN 115202612 A CN115202612 A CN 115202612A CN 202210249404 A CN202210249404 A CN 202210249404A CN 115202612 A CN115202612 A CN 115202612A
Authority
CN
China
Prior art keywords
address
write
clock
read
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210249404.9A
Other languages
English (en)
Inventor
刘建
唐光明
杨佳洪
郑祥雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN202210249404.9A priority Critical patent/CN115202612A/zh
Publication of CN115202612A publication Critical patent/CN115202612A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明提出一种基于异步FIFO的超导单磁通量子跨时钟域通信方法和***,包括:初始化FIFO,外部写电路向FIFO输入写信号,FIFO根据写信号生成写地址和写标志,并与读地址和读标志进行比较,若读地址和写地址相等,但写标志和读标志相反,等待外部读电路读出数据并生成新的读标志和读地址之后,根据写地址将待写数据写入FIFO;否则根据写地址将待写数据写入FIFO。外部读电路向FIFO输入读信号,并产生读地址和读标志,与写地址和写标志进行比较,如果读地址和写地址相同,读标志和写标志也相同,则执行等待外部写电路写入数据产生一个新的写地址和写标志之后,根据读地址读出数据返回外部读电路,否则根据读地址读出数据返回外部读电路。

Description

基于异步FIFO的超导单磁通量子跨时钟域通信方法及***
技术领域
本发明涉及计算机***中的超导单磁通量子(RSFQ)微处理器领域,特别涉及超导单磁通量子处理器跨时钟域通信。
背景技术
在进行异步时钟域通信时,由于不同时钟域的时钟频率和相位可能都不相同,所以在进行跨时钟域通信时很可能出现如数据丢失,出现不定态等问题。对于这些问题,半导体领域的一种解决方案是采用异步FIFO,工作方式是源时钟域的电路将数据按顺序写入异步FIFO,目的时钟域的电路将数据按顺序读出去,而异步FIFO的作用有存储数据,判定数据有没有写满,有没有读空,以及在出现不定态时避免出现数据错误。
RSFQ电路领域目前没有可以用于跨时钟域通信的异步FIFO,且由于半导体电路和RSFQ电路的不同,直接将半导体电路中的异步FIFO用RSFQ电路实现后存在一些问题:一是在寄存器数目较少时生成地址,转化成海明码在进行译码这些电路消耗资源太多,二是半导体FIFO为了降低出现亚稳态概率,将地址转化为海明码确保每次生成地址时只有一位地址发生改变以降低出错概率,但是由于RSFQ和半导体电路的区别,这样的设计在RSFQ电路中并没有用。
即因为地址改变时电路中信号会发生变化,而异步FIFO需要跨时钟域,跨时钟域通信时要使变化的信号数量越少越好,越少越容易减少不定态产生的概率。在半导体电路中用独热编码每次地址变化会有两根信号线电平翻转,而采用海明码只会有一根信号线电平翻转,并且相同根数的信号线,海明码可以表示的地址范围要更大,所以半导体都采用海明码。而rsfq电路中的信号不是电平信号而是脉冲信号。通过两个时钟之间有无脉冲表示1和0,两个时钟之间有脉冲为1,无脉冲为0。因此在跨时钟域通信中,rsfq电路追求的是脉冲数量少,脉冲数量越少越不容易出错,所以采用只有一个1的onehot编码。故半导体领域的异步FIFO也无法直接应用在RSFQ领域。
因此需要可在RSFQ电路环境下使用的异步FIFO,以匹配不同时钟域的时钟频率和相位。
发明内容
本发明的目的是解决RSFQ电路跨时钟域通信的问题,提出了一种适用于RSFQ电路的异步FIFO。
针对现有技术的不足,本发明提出一种基于异步FIFO的超导单磁通量子跨时钟域通信方法,其中包括:
步骤1、初始化FIFO,外部写电路向FIFO输入写信号,FIFO根据该写信号生成写地址和写标志,并与读地址和读标志进行比较,若读地址和写地址相等,但写标志和读标志相反,执行步骤2;否则根据该写地址将待写数据写入FIFO;
步骤2、此时FIFO已写满,等待外部读电路读出数据并生成新的读标志和读地址之后,根据该写地址将待写数据写入FIFO;
步骤3、外部读电路向FIFO输入读信号,并产生读地址和读标志,与该写地址和该写标志进行比较,如果读地址和写地址相同,读标志和写标志也相同,则执行步骤4,否则根据该读地址读出数据返回该外部读电路;
步骤4、此时FIFO已读空,等待该外部写电路写入数据产生一个新的写地址和写标志之后,根据该读地址读出数据返回该外部读电路。
2.如权利要求1所述的基于异步FIFO的超导单磁通量子跨时钟域通信方法,其中该FIFO包括寄存器堆、读控制电路、写控制电路;
该写控制电路由地址生成器、地址寄存器、数据寄存器、判满电路和时钟门控电路组成;
该地址生成器由多个D触发器、rtffl、非破坏性读出单元组成,用于在重置信号到来时清空该地址生成器内所有单元,并向最低位D触发器输入一个脉冲,该外部写入电路每来一个时钟,该脉冲将向上位移一位,在时钟到来的同时所有D触发器的输出也将组成一组地址,其中只有原来包含脉冲的D触发器输出为1,其余输出均为0,之后脉冲到达最高位D触发器后,再来时钟则会向rtffl和非破坏性读出单元清空端输出一个脉冲,清空非破坏性读出单元,然后如果这是到达rtffl的第奇数个脉冲,那么rtffl将会向非破坏性读出单元输出一个脉冲,否则不会输出,当非破坏性读出单元中有脉冲时,每来一个时钟,非破坏性读出单元将会输出一个脉冲,该地址生成器的输出为所有D触发器输出的地址和非破坏性读出单输出的地址标志;
该地址寄存器由多个D触发器组成,输入为地址生成器输出的地址,当时钟到来后会把保存的地址输出;
该数据寄存器由多个D触发器组成,输入为外部给的多位数据,当时钟到来后就会将该多位数据输出;
判满电路由地址比较电路、标志比较电路和满标志生成电路组成;
地址比较电路包括多个非破坏性读出单元和多层融合缓冲组成,非破坏性读出单元的输入为读控制电路的读地址,时钟为该写控制电路的写地址,清空信号为该控制电路传来的读时钟;当读写地址相等,读控制电路生成地址后会先清空该地址比较电路中所有非破坏性读出单元,之后读地址送到该地址比较电路中所有非破坏性读出单元中,写地址生成器每输出一组地址后就会把地址送到该地址比较电路中所有非破坏性读出单元的时钟电路,当读写地址相等时,该地址比较电路中会有一个非破坏性读出单元既有数据又有时钟,所以会输出一个脉冲,这个脉冲经过该多层融合缓冲之后输出;
标志比较电路由非破坏性读出单元和异或门组成,非破坏性读出单元的输入为该读控制电路的读地址标志,非破坏性读出单元的时钟为写时钟,清空电路为读时钟;异或门的输入分别为写地址标志和非破坏性读出单元的输出,时钟为写时钟;读控制电路每产生一个读标志之后送入该标志比较电路的非破坏性读出单元,之后写时钟到来后会读出该标志比较电路的非破坏性读出单元,并通过控制延迟,让异或门的时钟在异或门的输入都到来之后到达异或门,当异或门的输入不同时即读写地址标志不同时会产生输出;
满标志生成电路的数据输入为标志比较电路的输出,时钟为地址比较电路的输出,清空电路为写时钟;写时钟先到达该满标志生成电路的D触发器对其进行一次清空,之后标志比较电路的输出到达,之后地址比较电路的输出到达,如果数据和时钟在一个写时钟周期都到达的话就会产生输出;
时钟门控电路由多个D触发器和非破坏性读出单元组成,非破坏性读出单元的输入为重置信号和经过两级D触发器的满标志信号,时钟为直接输入的写时钟,清空信号为满标志信号,时钟门控电路的非破坏性读出单元直接控制时钟,当非破坏性读出单元有数据时时钟可以通过非破坏性读出单元之后作用到保存写信号的D触发器中,当非破坏性读出单元没有数据时,时钟被屏蔽,写电路停止工作;
该读控制电路由地址生成电路、地址寄存器、判空电路和时钟门控电路组成;
该读控制电路的地址生成电路、地址寄存器和时钟门控电路的组成和工作原理和上述写控制电路的地址生成电路、地址寄存器和时钟门控电路相同;
判空电路的标志比较电路多一个非门,写地址标志在进入非破坏性读出单元前先进行一次取反,非门时钟为写时钟,判空电路其余电路和写控制电路的判满电路相同。
所述的基于异步FIFO的超导单磁通量子跨时钟域通信方法,其中
该步骤1中根据该写信号生成写地址和写标志的过程具体为:根据初始化信号重置写标志和写地址,之后FIFO每收到一次写信号,写地址会增加一,写地址每增加指定次数后,对写标志取反并重置写地址;
该步骤3中产生读地址和读标志的过程具体为:根据初始化信号重置读标志和读地址,之后FIFO每收到一次读信号,读地址会增加一,读地址每增加指定次数后,对读标志取反并重置读地址。
所述的基于异步FIFO的超导单磁通量子跨时钟域通信方法,其中该写地址和该读地址均采用独热编码。
本发明还提出了一种基于异步FIFO的超导单磁通量子跨时钟域通信***,其中包括:
写模块,用于初始化FIFO,外部写电路向FIFO输入写信号,FIFO根据该写信号生成写地址和写标志,并与读地址和读标志进行比较,若读地址和写地址相等,但写标志和读标志相反,调用第一等待模块;否则根据该写地址将待写数据写入FIFO;
第一等待模块,用于等待外部读电路读出数据并生成新的读标志和读地址之后,根据该写地址将待写数据写入FIFO;
读模块,用于外部读电路向FIFO输入读信号,并产生读地址和读标志,与该写地址和该写标志进行比较,如果读地址和写地址相同,读标志和写标志也相同,则调用第二等待模块,否则根据该读地址读出数据返回该外部读电路;
第二等待模块,用于等待该外部写电路写入数据产生一个新的写地址和写标志之后,根据该读地址读出数据返回该外部读电路。
所述的基于异步FIFO的超导单磁通量子跨时钟域通信***,其中该FIFO包括寄存器堆、读控制电路、写控制电路;
该写控制电路由地址生成器、地址寄存器、数据寄存器、判满电路和时钟门控电路组成;
该地址生成器由多个D触发器、rtffl、非破坏性读出单元组成,用于在重置信号到来时清空该地址生成器内所有单元,并向最低位D触发器输入一个脉冲,该外部写入电路每来一个时钟,该脉冲将向上位移一位,在时钟到来的同时所有D触发器的输出也将组成一组地址,其中只有原来包含脉冲的D触发器输出为1,其余输出均为0,之后脉冲到达最高位D触发器后,再来时钟则会向rtffl和非破坏性读出单元清空端输出一个脉冲,清空非破坏性读出单元,然后如果这是到达rtffl的第奇数个脉冲,那么rtffl将会向非破坏性读出单元输出一个脉冲,否则不会输出,当非破坏性读出单元中有脉冲时,每来一个时钟,非破坏性读出单元将会输出一个脉冲,该地址生成器的输出为所有D触发器输出的地址和非破坏性读出单输出的地址标志;
该地址寄存器由多个D触发器组成,输入为地址生成器输出的地址,当时钟到来后会把保存的地址输出;
该数据寄存器由多个D触发器组成,输入为外部给的多位数据,当时钟到来后就会将该多位数据输出;
判满电路由地址比较电路、标志比较电路和满标志生成电路组成;
地址比较电路包括多个非破坏性读出单元和多层融合缓冲组成,非破坏性读出单元的输入为读控制电路的读地址,时钟为该写控制电路的写地址,清空信号为该控制电路传来的读时钟;当读写地址相等,读控制电路生成地址后会先清空该地址比较电路中所有非破坏性读出单元,之后读地址送到该地址比较电路中所有非破坏性读出单元中,写地址生成器每输出一组地址后就会把地址送到该地址比较电路中所有非破坏性读出单元的时钟电路,当读写地址相等时,该地址比较电路中会有一个非破坏性读出单元既有数据又有时钟,所以会输出一个脉冲,这个脉冲经过该多层融合缓冲之后输出;
标志比较电路由非破坏性读出单元和异或门组成,非破坏性读出单元的输入为该读控制电路的读地址标志,非破坏性读出单元的时钟为写时钟,清空电路为读时钟;异或门的输入分别为写地址标志和非破坏性读出单元的输出,时钟为写时钟;读控制电路每产生一个读标志之后送入该标志比较电路的非破坏性读出单元,之后写时钟到来后会读出该标志比较电路的非破坏性读出单元,并通过控制延迟,让异或门的时钟在异或门的输入都到来之后到达异或门,当异或门的输入不同时即读写地址标志不同时会产生输出;
满标志生成电路的数据输入为标志比较电路的输出,时钟为地址比较电路的输出,清空电路为写时钟;写时钟先到达该满标志生成电路的D触发器对其进行一次清空,之后标志比较电路的输出到达,之后地址比较电路的输出到达,如果数据和时钟在一个写时钟周期都到达的话就会产生输出;
时钟门控电路由多个D触发器和非破坏性读出单元组成,非破坏性读出单元的输入为重置信号和经过两级D触发器的满标志信号,时钟为直接输入的写时钟,清空信号为满标志信号,时钟门控电路的非破坏性读出单元直接控制时钟,当非破坏性读出单元有数据时时钟可以通过非破坏性读出单元之后作用到保存写信号的D触发器中,当非破坏性读出单元没有数据时,时钟被屏蔽,写电路停止工作;
该读控制电路由地址生成电路、地址寄存器、判空电路和时钟门控电路组成;
该读控制电路的地址生成电路、地址寄存器和时钟门控电路的组成和工作原理和上述写控制电路的地址生成电路、地址寄存器和时钟门控电路相同;
判空电路的标志比较电路多一个非门,写地址标志在进入非破坏性读出单元前先进行一次取反,非门时钟为写时钟,判空电路其余电路和写控制电路的判满电路相同。
所述的基于异步FIFO的超导单磁通量子跨时钟域通信***,其中
该写模块,用于根据该写信号生成写地址和写标志的过程具体为:根据初始化信号重置写标志和写地址,之后FIFO每收到一次写信号,写地址会增加一,写地址每增加指定次数后,对写标志取反并重置写地址;
该读模块,用于产生读地址和读标志的过程具体为:根据初始化信号重置读标志和读地址,之后FIFO每收到一次读信号,读地址会增加一,读地址每增加指定次数后,对读标志取反并重置读地址。
所述的基于异步FIFO的超导单磁通量子跨时钟域通信***,其中该写地址和该读地址均采用独热编码。
本发明还提出了一种存储介质,用于存储执行所述任意一种基于异步FIFO的超导单磁通量子跨时钟域通信方法的程序。
本发明还提出了一种客户端,用于上述任意一种基于异步FIFO的超导单磁通量子跨时钟域通信***。
由以上方案可知,本发明的优点在于:
可以解决RSFQ电路跨时钟域通信的问题。具体来说本发明提出新的地址比较电路,可以降低跨时钟域出现的时序错误的概率,并且可以在出现时序错误时使其不会造成数据出错;提出地址生成电路,可以生成一组独热(onehot)编码地址,并生成一个地址每变化一周便改变一次的标志位。
附图说明
图1为写控制部分的地址生成器电路结构示意图;
图2为写控制部分中地址寄存器电路结构示意图;
图3为写控制部分中数据寄存器的电路结构示意图;
图4为写控制部分中判满部分的电路结构示意图;
图5为判满部分中地址比较部分的电路结构示意图;
图6为判满部分中标志比较部分的电路结构示意图;
图7为寄存器堆的电路结构示意图。
具体实施方式
发明人发现通过直接使用onehot编码作为地址,可在RSFQ电路中减少资源消耗,降低时钟碰撞出现的概率以及降低地址生成时的复杂度,只需使用改进的位移寄存器便可以实现,并省去译码电路。之后读写两部分都采用对方生成的地址做数据,将对方生成的地址放入一组ndro(非破坏性读出单元),用自己生成的地址做时钟,如果两组地址相同就会有一个ndro同时有数据和时钟,产生一个输出,如果两组地址不同,就不存在ndro既有数据又有时钟,所以不会有ndro输出,且每组地址只有一个脉冲,同样降低了出现时钟碰撞的概率。
本发明基于异步FIFO的超导单磁通量子跨时钟域通信方法包括写部分和读部分,其中写部分包括:
步骤W1:给1个restart信号初始化FIFO,之后FIFO会向读写电路分别发行一个readable和writeable信号,表示可以进行读和写了。
步骤W2:外部写电路向FIFO输入一个write信号。其中外部指的是FIFO之外的电路,因为FIFO中的数据需要外部进行写入,也会供外部进行读出,故外部对FIFO写入的电路为外部写电路,外部对FIFO进行读出的电路为外部读电路。
步骤W3:返回外部写电路一个writeable信号,表示外部写电路可以向FIFO输出此次写的数据并可以给出下一次写的write信号了;并同时产生写地址和写标志,与此时的读地址和读标志进行比较,如果地址相等标志相反表示FIFO已满,转步骤W6;否则转步骤W4。其中,写地址和写标志是根据write信号和之前的写地址写标志生成的,每来一次write信号,写地址会增加一(因为是onehot,所以实际是左移一位),写地址每左移七次之后,会变成1000_0000,之后的下一次左移会使写标志取反,写地址变为0000_0001。最开始的时候由写标志和写地址会被restart信号初始化为0,和0000_0001。读地址和读标志最开始是由restart信号初始化的,初始化为0和0000_0001。Restart会不仅在读电路完成,还会在写电路的比较部分输入初始化的读标志和读地址。
步骤W4:外部写电路向FIFO输入要写的数据,并可以输入下一个write信号了。
步骤W5:将数据写入对应的写地址。如果步骤W4中输入了下一个write信号,则返回外部写电路一个writeable信号,表示可以向FIFO输出此次写的数据并可以给出下一次写的write信号了,并同时产生写地址和写标志,与此时的读地址和读标志进行比较,如果地址相等标志相反表示FIFO已满,转步骤W6;否则转步骤W4;如果步骤W4中没有输入write信号,等待write信号的输入,输入之后转步骤W3。
步骤W6:此时FIFO已写满,要等待读部分读出一组数据并生成新的读标志和读地址之后,转步骤W4。
读部分:
步骤R1:给1个restart信号初始化FIFO,之后FIFO会向读写电路分别发行一个readable和writeable信号,表示可以进行读和写了。
步骤R2:外部读电路向FIFO输入一个read信号;
步骤R3:如果之前外部电路向FIFO输入了read信号还没有读出对应的数据,则根据当前读地址读出数据返回该外部读电路;若之前外部电路没有向FIFO输入了read信号,则不会输出要读的数据。返回外部读电路一个readable信号,表示可以进行下一次的读了。并产生读地址和读标志,与此时的写地址和写标志进行比较,如果地址相同,标志相同表示FIFO已空,无法继续读,转步骤R4;否则转步骤R2。
即本发明提出的FIFO电路可在首个read信号来临时不会产生读数据,从第二个read信号开始,每个read出一个数据,相当于一个深度为2的流水线,所以相当于每来一个read信号,就会读出上一个read信号要读的数据返回给外部读电路。
步骤R4:此时FIFO已读空,要等待写部分写入一组数据产生一个新的写地址和写标志之后,转步骤R2。
通过上述读和写过程,可将原时钟域电路的数据写入FIFO,目标时钟域电路从FIFO中读出数据,已实现数据的夸时钟域传输通信。
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
此异步FIFO共包括寄存器堆,读控制部分,写控制部分三个部分。
写控制部分由地址生成部分,地址寄存器,数据寄存器,判满部分和时钟门控部分组成。
如图1所示,地址生成器由8个rdff(带复位端口的D触发器),一个rtffl(带复位端口的T触发器,l表示是在有奇数个脉冲数入时会有脉冲输出),一个ndro组成,首先重置restart信号到来,清空图1中所有单元,包括8个rdff,1个ndro,1个rtffl单元,并向最低位rdff输入一个脉冲。之后写入电路每来一个时钟这个脉冲将向上位移一位,所以这八个rdff只会有一个包含脉冲。在时钟到来的同时这8个rdff的输出也将组成一组地址,其中只有原来包含脉冲的rdff输出为1,其余输出均为0。之后脉冲到达第八个rdff后,再来时钟,则还会向rtffl和ndro清空端输出一个脉冲,清空ndro然后如果这是到达rtffl的奇数个脉冲,那么rtffl将会向ndro输出一个脉冲,否则不会输出。当ndro中有脉冲时,每来一个时钟,ndro将会输出一个脉冲。地址生成器的输出就为8个rdff输出的8位地址和ndro输出的地址标志。
如图2所示,地址寄存器由八个dff(D触发器)组成,输入为地址生成器输出的地址,当时钟到来后就会把保存的地址输出。
如图3所示,数据寄存器由16个dff组成,输入为外部给的十六位数据,当时钟到来后就会把这十六位数据输出。
如图4所示,判满部分由地址比较部分,标志比较部分和满标志生成部分组成。
如图5所示,地址比较部分为8个ndro和3层共7个cb(融合缓冲)组成,ndro的输入为读控制部分传来的读地址,时钟为写控制部分传来的写地址,清空信号为读控制部分传来的读时钟。工作原理:读地址和写地址格式是一样的,都为8位,且都只有一位为1,其余位为0,当读写地址为1的位是同一位时,读写地址相等。读控制部分生成地址后会先清空这8个ndro,之后读地址送到这8个ndro中。写地址生成器每输出一组地址后就会把地址送到这8个ndro的时钟部分,这时,当读写地址不相等时,这些ndro要么没有数据,要么没有时钟,要么时钟和数据都没有,所以都不会有输出,当读写地址相等时,那么就会有一个ndro既有数据又有时钟,所以会输出一个脉冲,这个脉冲经过三层cb之后输出。
如图6所示,标志比较部分由一个ndro和一个异或门组成。ndro的输入为读控制部分送来的读地址标志,ndro的时钟为写时钟,清空部分为读时钟。异或门的输入分别为写地址标志和这个ndro的输出,时钟为写时钟。工作方式是读控制部分每产生一个读标志之后,会先清空这个ndro,然后读标志送入这个ndro,之后写时钟到来后会读出这个ndro,并通过控制延迟,让异或门的时钟在异或门的输入都到来之后到达异或门,当异或门的输入不同时即读写地址标志不同时会产生输出。
满标志生成部分为一个rdff,数据输入为标志比较部分的输出,时钟为地址比较部分的输出,清空部分为写时钟。工作方式是写时钟先到达rdff对其进行一次清空,之后标志比较部分的输出到达(如果有的话),之后地址比较部分的输出到达(如果有的话),如果数据和时钟在一个写时钟周期都到达的话就会产生输出。
时钟门控部分由四个dff,一个ndro组成。ndro的输入为restart信号和经过两级dff的满标志信号,时钟为直接输入的写时钟,清空信号为满标志信号,这个ndro直接控制时钟,当ndro有数据时时钟可以通过ndro之后作用到保存write信号的dff中,当ndro没有数据时,时钟被屏蔽,写部分停止工作。到达ndro数据输入端口的满标志经过的两级dff中第一级dff的时钟为读时钟,这说明已经有一组新的读地址生成,说明寄存器堆不再是满的了,可以继续进行写操作了,第二级dff时钟为未经过门控的写时钟,作用是进行一级延迟,避免出现时序错误。write信号输入后会先进入一级dff,写时钟到来后输出,输出到地址生成部分,和地址比较部分,并同时进入下一个dff,以及输出到外部,通知外部电路,可以输入数据以及输入下一个write信号。进入下一级dff的信号会在写时钟到来后输出,作为地址寄存器和数据寄存器的时钟。
读控制部分由地址生成部分,地址寄存器,判空部分和时钟门控部分组成。
地址生成部分,地址寄存器,时钟门控部分和写控制部分相同。
判空部分的标志比较部分多一个非门,写地址标志在进入ndro前先进行一次取反,非门时钟为写时钟,其余部分和写控制部分的相同。
如图7所示,寄存器堆由8个16位寄存器组成,每个寄存器由两组十六个的rdff组成,写数据时数据先放入第一组rdff,然后由写地址决定向哪个寄存器写入,被选中的寄存器第一组rdff会来一个时钟,将数据写入第二个rdff,在之后每个寄存器都会到来一个清空信号,清空第一组rdff。在读数据时读地址选中的寄存器会到来一个时钟信号,将数据读出。
关于跨时钟域的时钟碰撞问题:因为读写指针采用的onehot编码,在一个时刻只有一个ndro有时钟也只有一个ndro有数据,有时钟和数据的ndro是一个的时候才会出现时序冲突问题。
设读指针为r_addr,读标志为r_sign,写指针为w_addr,写标志为w_sign,假设在t1时刻出现时序冲突,之前FIFO正常运行,那么有r_addr1=w_addr1,r_sign1=!w_sign1,且r_addr1,r_sign1和w_addr1,w_sign1到达判满部分时间间隔极小,小于器件保持时间或建立时间。那么我们考虑上个状态,r_addr0和w_addr0也相等,r_sign0和w_sign0相反,并且一定是r_addr0和r_sign0先到,因为如果w_addr0和w_sign0先到的话说明写地址已经超过读地址一周了,那么FIFO已经出错了,不会出现这种情况。所以一定是r_addr0和r_sign0先到,所以当w_addr0和w_sign0到来时判满部分会判断为满,停止写地址产生,直到下一个读指针到来后并延迟一个写周期,才会产生新的写地址,所以假设情况不会出现。不会出现应该判满但没有判满的错误。
以下为与上述方法实施例对应的***实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
本发明还提出了一种基于异步FIFO的超导单磁通量子跨时钟域通信***,其中包括:
写模块,用于初始化FIFO,外部写电路向FIFO输入写信号,FIFO根据该写信号生成写地址和写标志,并与读地址和读标志进行比较,若读地址和写地址相等,但写标志和读标志相反,调用第一等待模块;否则根据该写地址将待写数据写入FIFO;
第一等待模块,用于等待外部读电路读出数据并生成新的读标志和读地址之后,根据该写地址将待写数据写入FIFO;
读模块,用于外部读电路向FIFO输入读信号,并产生读地址和读标志,与该写地址和该写标志进行比较,如果读地址和写地址相同,读标志和写标志也相同,则调用第二等待模块,否则根据该读地址读出数据返回该外部读电路;
第二等待模块,用于等待该外部写电路写入数据产生一个新的写地址和写标志之后,根据该读地址读出数据返回该外部读电路。
所述的基于异步FIFO的超导单磁通量子跨时钟域通信***,其中该FIFO包括寄存器堆、读控制电路、写控制电路;
该写控制电路由地址生成器、地址寄存器、数据寄存器、判满电路和时钟门控电路组成;
该地址生成器由多个D触发器、rtffl、非破坏性读出单元组成,用于在重置信号到来时清空该地址生成器内所有单元,并向最低位D触发器输入一个脉冲,该外部写入电路每来一个时钟,该脉冲将向上位移一位,在时钟到来的同时所有D触发器的输出也将组成一组地址,其中只有原来包含脉冲的D触发器输出为1,其余输出均为0,之后脉冲到达最高位D触发器后,再来时钟则会向rtffl和非破坏性读出单元清空端输出一个脉冲,清空非破坏性读出单元,然后如果这是到达rtffl的第奇数个脉冲,那么rtffl将会向非破坏性读出单元输出一个脉冲,否则不会输出,当非破坏性读出单元中有脉冲时,每来一个时钟,非破坏性读出单元将会输出一个脉冲,该地址生成器的输出为所有D触发器输出的地址和非破坏性读出单输出的地址标志;
该地址寄存器由多个D触发器组成,输入为地址生成器输出的地址,当时钟到来后会把保存的地址输出;
该数据寄存器由多个D触发器组成,输入为外部给的多位数据,当时钟到来后就会将该多位数据输出;
判满电路由地址比较电路、标志比较电路和满标志生成电路组成;
地址比较电路包括多个非破坏性读出单元和多层融合缓冲组成,非破坏性读出单元的输入为读控制电路的读地址,时钟为该写控制电路的写地址,清空信号为该控制电路传来的读时钟;当读写地址相等,读控制电路生成地址后会先清空该地址比较电路中所有非破坏性读出单元,之后读地址送到该地址比较电路中所有非破坏性读出单元中,写地址生成器每输出一组地址后就会把地址送到该地址比较电路中所有非破坏性读出单元的时钟电路,当读写地址相等时,该地址比较电路中会有一个非破坏性读出单元既有数据又有时钟,所以会输出一个脉冲,这个脉冲经过该多层融合缓冲之后输出;
标志比较电路由非破坏性读出单元和异或门组成,非破坏性读出单元的输入为该读控制电路的读地址标志,非破坏性读出单元的时钟为写时钟,清空电路为读时钟;异或门的输入分别为写地址标志和非破坏性读出单元的输出,时钟为写时钟;读控制电路每产生一个读标志之后送入该标志比较电路的非破坏性读出单元,之后写时钟到来后会读出该标志比较电路的非破坏性读出单元,并通过控制延迟,让异或门的时钟在异或门的输入都到来之后到达异或门,当异或门的输入不同时即读写地址标志不同时会产生输出;
满标志生成电路的数据输入为标志比较电路的输出,时钟为地址比较电路的输出,清空电路为写时钟;写时钟先到达该满标志生成电路的D触发器对其进行一次清空,之后标志比较电路的输出到达,之后地址比较电路的输出到达,如果数据和时钟在一个写时钟周期都到达的话就会产生输出;
时钟门控电路由多个D触发器和非破坏性读出单元组成,非破坏性读出单元的输入为重置信号和经过两级D触发器的满标志信号,时钟为直接输入的写时钟,清空信号为满标志信号,时钟门控电路的非破坏性读出单元直接控制时钟,当非破坏性读出单元有数据时时钟可以通过非破坏性读出单元之后作用到保存写信号的D触发器中,当非破坏性读出单元没有数据时,时钟被屏蔽,写电路停止工作;
该读控制电路由地址生成电路、地址寄存器、判空电路和时钟门控电路组成;
该读控制电路的地址生成电路、地址寄存器和时钟门控电路的组成和工作原理和上述写控制电路的地址生成电路、地址寄存器和时钟门控电路相同;
判空电路的标志比较电路多一个非门,写地址标志在进入非破坏性读出单元前先进行一次取反,非门时钟为写时钟,判空电路其余电路和写控制电路的判满电路相同。
所述的基于异步FIFO的超导单磁通量子跨时钟域通信***,其中
该写模块,用于根据该写信号生成写地址和写标志的过程具体为:根据初始化信号重置写标志和写地址,之后FIFO每收到一次写信号,写地址会增加一,写地址每增加指定次数后,对写标志取反并重置写地址;
该读模块,用于产生读地址和读标志的过程具体为:根据初始化信号重置读标志和读地址,之后FIFO每收到一次读信号,读地址会增加一,读地址每增加指定次数后,对读标志取反并重置读地址。
所述的基于异步FIFO的超导单磁通量子跨时钟域通信***,其中该写地址和该读地址均采用独热编码。
本发明还提出了一种存储介质,用于存储执行所述任意一种基于异步FIFO的超导单磁通量子跨时钟域通信方法的程序。
本发明还提出了一种客户端,用于上述任意一种基于异步FIFO的超导单磁通量子跨时钟域通信***。

Claims (9)

1.一种基于异步FIFO的超导单磁通量子跨时钟域通信方法,其特征在于,包括:
步骤1、初始化FIFO,外部写电路向FIFO输入写信号,FIFO根据该写信号生成写地址和写标志,并与读地址和读标志进行比较,若读地址和写地址相等,但写标志和读标志相反,执行步骤2;否则根据该写地址将待写数据写入FIFO;
步骤2、此时FIFO已写满,等待外部读电路读出数据并生成新的读标志和读地址之后,根据该写地址将待写数据写入FIFO;
步骤3、外部读电路向FIFO输入读信号,并产生读地址和读标志,与该写地址和该写标志进行比较,如果读地址和写地址相同,读标志和写标志也相同,则执行步骤4,否则根据该读地址读出数据返回该外部读电路;
步骤4、此时FIFO已读空,等待该外部写电路写入数据产生一个新的写地址和写标志之后,根据该读地址读出数据返回该外部读电路。
2.如权利要求1所述的基于异步FIFO的超导单磁通量子跨时钟域通信方法,其特征在于,该FIFO包括寄存器堆、读控制电路、写控制电路;
该写控制电路由地址生成器、地址寄存器、数据寄存器、判满电路和时钟门控电路组成;
该地址生成器由多个D触发器、rtffl、非破坏性读出单元组成,用于在重置信号到来时清空该地址生成器内所有单元,并向最低位D触发器输入一个脉冲,该外部写入电路每来一个时钟,该脉冲将向上位移一位,在时钟到来的同时所有D触发器的输出也将组成一组地址,其中只有原来包含脉冲的D触发器输出为1,其余输出均为0,之后脉冲到达最高位D触发器后,再来时钟则会向rtffl和非破坏性读出单元清空端输出一个脉冲,清空非破坏性读出单元,然后如果这是到达rtffl的第奇数个脉冲,那么rtffl将会向非破坏性读出单元输出一个脉冲,否则不会输出,当非破坏性读出单元中有脉冲时,每来一个时钟,非破坏性读出单元将会输出一个脉冲,该地址生成器的输出为所有D触发器输出的地址和非破坏性读出单输出的地址标志;
该地址寄存器由多个D触发器组成,输入为地址生成器输出的地址,当时钟到来后会把保存的地址输出;
该数据寄存器由多个D触发器组成,输入为外部给的多位数据,当时钟到来后就会将该多位数据输出;
判满电路由地址比较电路、标志比较电路和满标志生成电路组成;
地址比较电路包括多个非破坏性读出单元和多层融合缓冲组成,非破坏性读出单元的输入为读控制电路的读地址,时钟为该写控制电路的写地址,清空信号为该控制电路传来的读时钟;当读写地址相等,读控制电路生成地址后会先清空该地址比较电路中所有非破坏性读出单元,之后读地址送到该地址比较电路中所有非破坏性读出单元中,写地址生成器每输出一组地址后就会把地址送到该地址比较电路中所有非破坏性读出单元的时钟电路,当读写地址相等时,该地址比较电路中会有一个非破坏性读出单元既有数据又有时钟,所以会输出一个脉冲,这个脉冲经过该多层融合缓冲之后输出;
标志比较电路由非破坏性读出单元和异或门组成,非破坏性读出单元的输入为该读控制电路的读地址标志,非破坏性读出单元的时钟为写时钟,清空电路为读时钟;异或门的输入分别为写地址标志和非破坏性读出单元的输出,时钟为写时钟;读控制电路每产生一个读标志之后送入该标志比较电路的非破坏性读出单元,之后写时钟到来后会读出该标志比较电路的非破坏性读出单元,并通过控制延迟,让异或门的时钟在异或门的输入都到来之后到达异或门,当异或门的输入不同时即读写地址标志不同时会产生输出;
满标志生成电路的数据输入为标志比较电路的输出,时钟为地址比较电路的输出,清空电路为写时钟;写时钟先到达该满标志生成电路的D触发器对其进行一次清空,之后标志比较电路的输出到达,之后地址比较电路的输出到达,如果数据和时钟在一个写时钟周期都到达的话就会产生输出;
时钟门控电路由多个D触发器和非破坏性读出单元组成,非破坏性读出单元的输入为重置信号和经过两级D触发器的满标志信号,时钟为直接输入的写时钟,清空信号为满标志信号,时钟门控电路的非破坏性读出单元直接控制时钟,当非破坏性读出单元有数据时时钟可以通过非破坏性读出单元之后作用到保存写信号的D触发器中,当非破坏性读出单元没有数据时,时钟被屏蔽,写电路停止工作;
该读控制电路由地址生成电路、地址寄存器、判空电路和时钟门控电路组成;
该读控制电路的地址生成电路、地址寄存器和时钟门控电路的组成和工作原理和上述写控制电路的地址生成电路、地址寄存器和时钟门控电路相同;
判空电路的标志比较电路多一个非门,写地址标志在进入非破坏性读出单元前先进行一次取反,非门时钟为写时钟,判空电路其余电路和写控制电路的判满电路相同。
3.如权利要求1所述的基于异步FIFO的超导单磁通量子跨时钟域通信方法,其特征在于,
该步骤1中根据该写信号生成写地址和写标志的过程具体为:根据初始化信号重置写标志和写地址,之后FIFO每收到一次写信号,写地址会增加一,写地址每增加指定次数后,对写标志取反并重置写地址;
该步骤3中产生读地址和读标志的过程具体为:根据初始化信号重置读标志和读地址,之后FIFO每收到一次读信号,读地址会增加一,读地址每增加指定次数后,对读标志取反并重置读地址。
4.如权利要求1所述的基于异步FIFO的超导单磁通量子跨时钟域通信方法,其特征在于,该写地址和该读地址均采用独热编码。
5.一种基于异步FIFO的超导单磁通量子跨时钟域通信***,其特征在于,包括:
写模块,用于初始化FIFO,外部写电路向FIFO输入写信号,FIFO根据该写信号生成写地址和写标志,并与读地址和读标志进行比较,若读地址和写地址相等,但写标志和读标志相反,调用第一等待模块;否则根据该写地址将待写数据写入FIFO;
第一等待模块,用于等待外部读电路读出数据并生成新的读标志和读地址之后,根据该写地址将待写数据写入FIFO;
读模块,用于外部读电路向FIFO输入读信号,并产生读地址和读标志,与该写地址和该写标志进行比较,如果读地址和写地址相同,读标志和写标志也相同,则调用第二等待模块,否则根据该读地址读出数据返回该外部读电路;
第二等待模块,用于等待该外部写电路写入数据产生一个新的写地址和写标志之后,根据该读地址读出数据返回该外部读电路。
6.如权利要求5所述的基于异步FIFO的超导单磁通量子跨时钟域通信***,其特征在于,该FIFO包括寄存器堆、读控制电路、写控制电路;
该写控制电路由地址生成器、地址寄存器、数据寄存器、判满电路和时钟门控电路组成;
该地址生成器由多个D触发器、rtffl、非破坏性读出单元组成,用于在重置信号到来时清空该地址生成器内所有单元,并向最低位D触发器输入一个脉冲,该外部写入电路每来一个时钟,该脉冲将向上位移一位,在时钟到来的同时所有D触发器的输出也将组成一组地址,其中只有原来包含脉冲的D触发器输出为1,其余输出均为0,之后脉冲到达最高位D触发器后,再来时钟则会向rtffl和非破坏性读出单元清空端输出一个脉冲,清空非破坏性读出单元,然后如果这是到达rtffl的第奇数个脉冲,那么rtffl将会向非破坏性读出单元输出一个脉冲,否则不会输出,当非破坏性读出单元中有脉冲时,每来一个时钟,非破坏性读出单元将会输出一个脉冲,该地址生成器的输出为所有D触发器输出的地址和非破坏性读出单输出的地址标志;
该地址寄存器由多个D触发器组成,输入为地址生成器输出的地址,当时钟到来后会把保存的地址输出;
该数据寄存器由多个D触发器组成,输入为外部给的多位数据,当时钟到来后就会将该多位数据输出;
判满电路由地址比较电路、标志比较电路和满标志生成电路组成;
地址比较电路包括多个非破坏性读出单元和多层融合缓冲组成,非破坏性读出单元的输入为读控制电路的读地址,时钟为该写控制电路的写地址,清空信号为该控制电路传来的读时钟;当读写地址相等,读控制电路生成地址后会先清空该地址比较电路中所有非破坏性读出单元,之后读地址送到该地址比较电路中所有非破坏性读出单元中,写地址生成器每输出一组地址后就会把地址送到该地址比较电路中所有非破坏性读出单元的时钟电路,当读写地址相等时,该地址比较电路中会有一个非破坏性读出单元既有数据又有时钟,所以会输出一个脉冲,这个脉冲经过该多层融合缓冲之后输出;
标志比较电路由非破坏性读出单元和异或门组成,非破坏性读出单元的输入为该读控制电路的读地址标志,非破坏性读出单元的时钟为写时钟,清空电路为读时钟;异或门的输入分别为写地址标志和非破坏性读出单元的输出,时钟为写时钟;读控制电路每产生一个读标志之后送入该标志比较电路的非破坏性读出单元,之后写时钟到来后会读出该标志比较电路的非破坏性读出单元,并通过控制延迟,让异或门的时钟在异或门的输入都到来之后到达异或门,当异或门的输入不同时即读写地址标志不同时会产生输出;
满标志生成电路的数据输入为标志比较电路的输出,时钟为地址比较电路的输出,清空电路为写时钟;写时钟先到达该满标志生成电路的D触发器对其进行一次清空,之后标志比较电路的输出到达,之后地址比较电路的输出到达,如果数据和时钟在一个写时钟周期都到达的话就会产生输出;
时钟门控电路由多个D触发器和非破坏性读出单元组成,非破坏性读出单元的输入为重置信号和经过两级D触发器的满标志信号,时钟为直接输入的写时钟,清空信号为满标志信号,时钟门控电路的非破坏性读出单元直接控制时钟,当非破坏性读出单元有数据时时钟可以通过非破坏性读出单元之后作用到保存写信号的D触发器中,当非破坏性读出单元没有数据时,时钟被屏蔽,写电路停止工作;
该读控制电路由地址生成电路、地址寄存器、判空电路和时钟门控电路组成;
该读控制电路的地址生成电路、地址寄存器和时钟门控电路的组成和工作原理和上述写控制电路的地址生成电路、地址寄存器和时钟门控电路相同;
判空电路的标志比较电路多一个非门,写地址标志在进入非破坏性读出单元前先进行一次取反,非门时钟为写时钟,判空电路其余电路和写控制电路的判满电路相同。
7.如权利要求5所述的基于异步FIFO的超导单磁通量子跨时钟域通信***,其特征在于,
该写模块,用于根据该写信号生成写地址和写标志的过程具体为:根据初始化信号重置写标志和写地址,之后FIFO每收到一次写信号,写地址会增加一,写地址每增加指定次数后,对写标志取反并重置写地址;
该读模块,用于产生读地址和读标志的过程具体为:根据初始化信号重置读标志和读地址,之后FIFO每收到一次读信号,读地址会增加一,读地址每增加指定次数后,对读标志取反并重置读地址。
8.如权利要求5所述的基于异步FIFO的超导单磁通量子跨时钟域通信***,其特征在于,该写地址和该读地址均采用独热编码。
9.一种存储介质,用于存储执行如权利要求1到4所述任意一种基于异步FIFO的超导单磁通量子跨时钟域通信方法的程序。
CN202210249404.9A 2022-03-14 2022-03-14 基于异步fifo的超导单磁通量子跨时钟域通信方法及*** Pending CN115202612A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210249404.9A CN115202612A (zh) 2022-03-14 2022-03-14 基于异步fifo的超导单磁通量子跨时钟域通信方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210249404.9A CN115202612A (zh) 2022-03-14 2022-03-14 基于异步fifo的超导单磁通量子跨时钟域通信方法及***

Publications (1)

Publication Number Publication Date
CN115202612A true CN115202612A (zh) 2022-10-18

Family

ID=83574916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210249404.9A Pending CN115202612A (zh) 2022-03-14 2022-03-14 基于异步fifo的超导单磁通量子跨时钟域通信方法及***

Country Status (1)

Country Link
CN (1) CN115202612A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115357095A (zh) * 2022-10-19 2022-11-18 中科声龙科技发展(北京)有限公司 异步信号处理方法及结构

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115357095A (zh) * 2022-10-19 2022-11-18 中科声龙科技发展(北京)有限公司 异步信号处理方法及结构
CN115357095B (zh) * 2022-10-19 2023-01-24 中科声龙科技发展(北京)有限公司 异步信号处理方法及结构

Similar Documents

Publication Publication Date Title
CN111367495B (zh) 一种异步先入先出的数据缓存控制器
US6263410B1 (en) Apparatus and method for asynchronous dual port FIFO
US4841436A (en) Tag Data processing apparatus for a data flow computer
US5524270A (en) System for transferring data between asynchronous data buses with a data buffer interposed in between the buses for synchronization of devices timed by different clocks
US6366530B1 (en) Synchronizing data operations across a synchronization boundary between different clock domains using two-hot encoding
CN101681249B (zh) 先进先出缓冲器
US5365485A (en) Fifo with fast retransmit mode
US5267191A (en) FIFO memory system
JP3645584B2 (ja) データ転送同期装置
JP2007525766A (ja) マルチポートメモリシステムにおける衝突検出
US5138637A (en) First-in-first-out buffer
US7184508B2 (en) Capturing data and crossing clock domains in the absence of a free-running source clock
CN112712829B (zh) 一种跨时钟域的寄存器读写电路及方法
CN115202612A (zh) 基于异步fifo的超导单磁通量子跨时钟域通信方法及***
US6058439A (en) Asynchronous first-in-first-out buffer circuit burst mode control
US7380165B2 (en) Assembly of electronic circuits comprising means for decontaminating error-contaminated parts
US6286072B1 (en) System and method for synchronizing data communication between asynchronous buses
JP2002175687A (ja) 非同期fifo回路
JPH04279945A (ja) メモリ回路
US5515506A (en) Encoding and decoding of dual-ported RAM parity using one shared parity tree and within one clock cycle
GB2060943A (en) Electronic control for timing hammers in impact printers
US20020004881A1 (en) Data transfer apparatus and data transfer method
US6175518B1 (en) Remote register hierarchy accessible using a serial data line
JP3592169B2 (ja) 非同期データ転送制御装置および非同期データ転送制御方法
US6654844B1 (en) Method and arrangement for connecting processor to ASIC

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination