CN1866815A - 接收并行数据的装置及其方法 - Google Patents

接收并行数据的装置及其方法 Download PDF

Info

Publication number
CN1866815A
CN1866815A CNA200510068099XA CN200510068099A CN1866815A CN 1866815 A CN1866815 A CN 1866815A CN A200510068099X A CNA200510068099X A CN A200510068099XA CN 200510068099 A CN200510068099 A CN 200510068099A CN 1866815 A CN1866815 A CN 1866815A
Authority
CN
China
Prior art keywords
data
signal
bit
circuit
clock signal
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.)
Granted
Application number
CNA200510068099XA
Other languages
English (en)
Other versions
CN100559750C (zh
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN1866815A publication Critical patent/CN1866815A/zh
Application granted granted Critical
Publication of CN100559750C publication Critical patent/CN100559750C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4054Coupling between buses using bus bridges where the bridge performs a synchronising function where the function is bus cycle extension, e.g. to meet the timing requirements of the target bus
    • 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/12Synchronisation of different clock signals provided by a plurality of clock generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/005Correction by an elastic buffer
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0626Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers plesiochronous multiplexing systems, e.g. plesiochronous digital hierarchy [PDH], jitter attenuators
    • H04J3/0629Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers plesiochronous multiplexing systems, e.g. plesiochronous digital hierarchy [PDH], jitter attenuators in a network, e.g. in combination with switching or multiplexing, slip buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Dc Digital Transmission (AREA)
  • Communication Control (AREA)

Abstract

接收并行数据的装置及其方法。一种数据接收装置,其根据调整时钟信号,利用数据信号,调整第一时钟信号并获取数据缓冲器中的数据信号,以对并行数据的各个比特或各组比特确保数据信号的创建时间和保持时间。然后,该装置根据第二时钟信号,按照时间顺序选择所述数据缓冲器中的多个比特的数据,并读出所选择的数据作为并行数据。

Description

接收并行数据的装置及其方法
技术领域
本发明涉及用于高速传输并行数据的系统,更具体地,涉及数据接收装置以及使比特之间的相位同步的方法。
背景技术
当使用计算机来构造大规模微处理器系统时,对于连接存储器系统的LSI(大规模集成电路)和处理器的LSI的总线需要具有大的吞吐量。因此,随着LSI速率的加快,总线的传输速率(数据速率)变得更高。
对于利用多条信号线在这些装置之间传输数据的并行数据传输,传统上已经提出了多种系统(例如,参见专利文献1到6)。
[专利文献1]日本专利申请特开公报No.2002-223208
[专利文献2]PCT国际专利申请公开No.WO96/29655
[专利文献3]日本专利申请特开公报No.5-75594
[专利文献4]日本专利申请特开公报No.6-53955
[专利文献5]日本专利申请特开公报No.2000-261297
[专利文献6]日本专利申请特开公报11-275066
但是,传统的并行传输存在以下问题。
如果只在接收端使用对于各个比特进行了调整的时钟信号来接收并行数据,则在比特之间会出现相位差。例如,如图1所示,在同时传输的两个数据信号之间存在偏移并且在比特0和比特1之间出现了相位差的情况下,并不清除由情况A和情况B的两个定时中的哪一个来表示相同时刻数据的组合。此外,这两个定时的组合之外的某些组合也可能与该相同时刻数据相对应。
因此,应当在对该相位差进行了调整并且使各个比特与接收装置的内部时钟同步之后,在接收侧接收并行数据。
但是,当数据速率变高时,数据的有效时间变短,并且往往变得短于接收端的信号到达时间。此外,将用于对数据进行抽样的时钟信号发送到各个接收触发电路的时间周期之间的差异以及由于环境而引起的波动都相对增加,以致于不能忽略它们。此外,也不能忽略多个信号之间的布线长度的差异。因此,在并行传输中,设计一种利用时钟树对所有比特的数据进行抽样的电路在物理上变得较为困难。如果很难绘制出该设计,则当制造电路时,必须对各个装置或各个信号进行设置。但是,由于单独的设置操作需要大量的工作,所以在进行批量生产时该单独设置操作就成为问题。
发明内容
本发明的目的是提供一种在用于高速传输并行数据的系统中使比特之间的相位同步的同时接收数据的装置和方法。
本发明的数据接收装置包括时钟调整装置、数据缓冲装置、读取装置和存储装置,并且其接收多个比特的并行数据。
在本发明的第一方面,时钟调整装置利用各个比特的数据信号调整第一时钟信号,从而对于并行数据的各个比特,确保数据信号的创建时间和保持时间,并且该时钟调整装置生成数量与比特数量相等的调整时钟信号。数据缓冲装置根据调整时钟信号获取各个比特的数据信号,并按照时间顺序为各个比特保持固定数量的数据。读取装置根据第二时钟信号,按照时间顺序选择数据缓冲装置中的多个比特的数据,并读出所选择的数据作为并行数据。存储装置存储所读出的并行数据。
在本发明的第二方面,时钟调整装置利用一个组中的比特的数据信号来调整第一时钟信号,并生成数量与组的数量相等的调整时钟信号,从而使得对于包括两比特或更多个比特的并行数据的各个组,确保数据信号的创建时间和保持时间。该数据缓冲装置根据各个组的调整时钟信号,获取该组中的各个比特的数据信号,并按照时间顺序为各个比特保持固定数量的数据。读取装置根据第二时钟信号,按照时间顺序选择数据缓冲装置102中的多个比特的数据,并读出所选择的数据作为并行数据。存储装置104存储所读出的并行数据。
附图说明
图1表示比特之间的相位差;
图2A表示本发明的数据接收装置的原理;
图2B表示数据传输系统的结构;
图3表示第一接收装置的结构;
图4表示时钟调整电路的结构;
图5表示环形缓冲器/写指针电路/第一读指针电路的结构;
图6表示写指针重置定时检测电路的结构;
图7表示第一同步电路的结构;
图8表示第二同步电路的结构;
图9表示第一调整电路的结构;
图10表示第二调整电路的结构;
图11是第一操作时序图;
图12是写指针重置处理的时序图;
图13是第二操作时序图;
图14表示第二读指针电路的结构;
图15表示第三读指针电路的结构;
图16是第三操作时序图;以及
图17表示第二接收装置的结构。
具体实施方式
以下参照附图详细说明本发明的优选实施例。
图2A表示本发明的数据接收装置的原理。图2A的数据接收装置包括:时钟调整装置101、数据缓冲装置102、读取装置103、存储装置104、检测装置105、同步装置106、调整装置108、写指针装置109和写入装置110,并且其接收多个比特的并行数据。
在本发明的第一方面,数据接收装置包括时钟调整装置101、数据缓冲装置102、读取装置103和存储装置104。时钟调整装置101使用各个比特的数据信号调整第一时钟信号,以使得对并行数据的各个比特确保数据信号的创建时间和保持时间,并且其生成数量与比特数量相等的调整时钟信号。数据缓冲装置102根据调整时钟信号,获取各个比特的数据信号,并按照时间顺序为各个比特保持固定数量的数据。读取装置103根据第二时钟信号,按照时间顺序选择数据缓冲装置102中的多个比特的数据,并读出所选择的数据作为并行数据。存储装置104存储所读出的并行数据。
根据该数据接收装置,通过由时钟调整装置101生成的调整时钟信号来确保各个比特的创建时间和保持时间。随后,以适当的定时在数据缓冲装置102中获取各个比特的数据信号。此外,由读取装置103根据第二时钟信号一次性全部读出多个比特的数据,来调整比特之间的差异,从而提取正确组合的并行数据。
在本发明的第二方面,数据接收装置包括时钟调整装置101、数据缓冲装置102、读取装置103和存储装置104。时钟调整装置101使用一个组中的比特的数据信号来调整第一时钟信号,并生成数量与组的数量相等的调整时钟信号,从而使得对于包括两个或更多个比特的并行数据的各个组,确保数据信号的创建时间和保持时间。该数据缓冲装置102根据各个组的调整时钟信号,获取该组中的各个比特的数据信号,并按照时间顺序对各个比特保持固定数量的数据。读取装置根据第二时钟信号,按照时间顺序选择数据缓冲装置102中的多个比特的数据,并读出所选择的数据作为并行数据。存储装置104存储所读出的并行数据。
根据该数据接收装置,按照与第一方面的数据接收装置相同的方式调整比特之间的差异,以提取正确组合的并行数据。此外,与第一方面的数据接收装置相比,可以通过对两个或更多个比特共享时钟调整装置101,来减少硬件。
在本发明的第三方面,第一或第二方面的数据接收装置还包括检测装置105和同步装置106。数据缓冲装置102包括用于按照时间顺序保持固定数量的数据的固定数量的缓冲装置。读取装置103包括读指针装置107。检测装置105检测对于预先确定的时间序列数据的接收,并输出检测信号。同步装置106使检测信号与第二时钟信号同步,并生成同步信号。读指针装置107根据第二时钟信号进行操作,并存储读指针信息,该读指针信息表示数据缓冲装置102的固定数量的缓冲装置中保持有接下来要读出的数据的缓冲装置。当从同步装置106输出同步信号时,读指针装置107将读指针信息设置为预定值,并更新读指针信息,以按照预定的顺序选择固定数量的缓冲装置。
根据该数据接收装置,可以通过在接收到类似于训练数据的时间序列数据时重设读指针信息,来按照时间顺序从数据缓冲装置102的多个缓冲装置中读出数据。
在本发明的第四方面,第三方面的数据接收装置还包括调整装置108。调整装置108只将同步信号延迟预定数量的时钟脉冲(clocks)。当从调整装置108输出同步信号时,读指针装置107将读指针信息设置为预定值。
根据该数据接收装置,从接收到指定比特的时间序列数据开始,经过预定时间段之后,将读指针信息设置为预定值。因此,如果适当地设置了延迟时钟脉冲的数量,则可以在接收到并行数据的所有比特的时间序列数据之后重设读指针信息。
在本发明的第五方面,第三方面的数据接收装置还包括写指针装置109和写入装置110。写指针装置109存储有写指针信息,该写指针信息表示数据缓冲装置102的固定数量的缓冲装置中的下一个要存储数据的缓冲装置。此外,当从检测装置105输出检测信号时,装置109将写指针信息设置为预定值,并更新写指针信息,以按照预定顺序选择固定数量的缓冲装置。写入装置110将数据信号输入到由该指针信息表示的缓冲装置中。
根据该数据接收装置,可以在接收到类似于训练数据的时间序列数据时重设写指针信息,并将数据依次写入数据缓冲装置102的多个缓冲装置中。
时钟调整装置101、数据缓冲装置102、存储装置104、检测装置105、同步装置106、读指针装置107、调整装置108和写指针装置109例如分别与稍后说明的图3和图17中的环形缓冲器305、接收寄存器314、写指针重置定时检测电路303、同步电路311、读指针电路313、调整电路312和写指针电路304相对应。
读取装置103例如与稍后说明的读指针电路313、以及图5中的解码器512和选择器531相对应。写入装置110例如与图5的解码器511、AND电路522-j和523-j以及OR电路524-j(j=0,1,…,15)相对应。
第一时钟信号、第二时钟信号、调整时钟信号和检测信号例如分别与图3和图17的clk、CLKIN、iclk#0和rst-tim#0相对应。同步信号例如与稍后说明的图7和图8的RPTR_RST_SYNC相对应。
根据本发明,对由于并行数据的高速传输而产生的比特之间的传输时刻的较大差异进行动态调整,并且可以接收正确组合的数据。同时,本发明可以处理由于操作过程中环境的变化而引起的波动,从而在制造单个单元时不需要对该单个单元进行设置。
图2B表示本发明优选实施例的数据传输系统的结构。图2B的数据传输系统包括发送装置201、接收装置202和振荡器203。发送装置201将n比特的并行数据发送到接收装置202。例如,印刷电路板的布线图案连接在发送装置201与接收装置202之间。
发送装置201包括锁相环(PLL)211、D触发电路212、模式生成器213、选择器214和输出缓冲器215。PLL 211根据从振荡器203提供的用作基准的时钟信号生成唯一时钟信号,然后根据该唯一时钟信号生成n比特的发送数据。作为发送数据,生成了常规操作数据和训练数据。
在模式生成器213生成训练数据(为预先确定的时间序列数据)的同时,触发电路212保持操作数据。选择器214根据从用于控制整个系统的机构输出的模式信号,对输入进行切换。当模式信号表示操作模式时,选择触发电路212的输出。当模式信号表示调谐模式时,选择模式生成器213的输出。输出缓冲器215将由选择器214选择的发送数据输出到接收装置202。
接收装置202包括PLL 221以及接收电路222和223。PLL 221根据从振荡器203提供的时钟信号生成内部时钟信号CLKIN,并将所生成的信号输出到接收电路223。此外,将来自振荡器203的时钟信号输入到接收电路222中,作为时钟信号clk。
接收电路222包括为并行数据的各个比特提供的n个比特数据保持电路224-i(i=0,1,…,n-2,n-1)。比特数据保持电路224-i通过调整时钟信号clk的相位来生成调整时钟信号,并根据该时钟信号进行操作,由此保持一个比特的数据。对于各条并行总线设置了接收电路223,并且该接收电路223根据时钟信号CLKIN进行操作,由此保持了并行总线的所有比特的数据。
图3表示图2B的接收装置202的结构示例。图3的接收装置202包括输入缓冲器301。比特数据保持电路224-0包括时钟调整电路302、写指针重置定时检测电路303、写指针电路304和环形缓冲器305。此外,接收电路223包括同步电路311、调整电路312、读指针电路313和接收寄存器314。
输入缓冲器301是用于将来自LSI外部的输入信号的电平与LSI的内部信号的电平进行匹配的专用缓冲器。该缓冲器将来自发送装置201的并行数据分成各个比特的数据信号it#i(i=0,1,…,n-2,n-1),并将这些信号输出到比特数据保持电路224-i。
时钟调整电路302检测数据信号it#0的改变点,并根据该点调整时钟信号clk,以使得可以确保数据信号it#0的创建时间和保持时间,由此生成调整时钟信号iclk#0。写指针重置定时检测电路303从按照时间顺序输入的数据信号it#0中检测出训练数据,并将信号rst-tim#0输出到写指针电路304和同步电路311。
环形缓冲器305包括多个缓冲器,并按照时间顺序对多个缓冲器保持多个数据。为了在环形缓冲器305中写入数据,写指针电路304保持表示在下一时钟脉冲要写入数据的缓冲器的值,作为写指针。该写指针在环形缓冲器305的各个缓冲器的值之间循环,并且通过信号rst-tim#0重置这些值。环形缓冲器305在由写指针的值表示的缓冲器中存储数据信号it#0的值。其它缓冲器保持已经存储的值。例如,使用缓冲器编号作为写指针。
写指针重置定时检测电路303、写指针电路304和环形缓冲器305根据时钟信号iclk#0来进行操作。其它比特数据保持电路224的结构和操作与比特数据保持电路224-0的相同。
为了按照时间顺序从环形缓冲器305中读出数据,读指针电路313保持表示接下来要读出的缓冲器的值作为读指针。该读指针以与写指针相同的方式在环形缓冲器305的各个缓冲器的值之间循环。不必考虑写处理而实现缓冲器的读出处理,并且选择由读指针的值表示的缓冲器的数据,以将其从比特数据保持电路224-0到224-(n-1)的各个环形缓冲器305中一次性地全部读出。
接收寄存器314存储根据时钟信号CLKIN从比特数据保持电路224-0到224-(n-1)读出的数据,作为整个并行数据。由此,对同时从发送装置201发送的并行数据进行抽样。
同步电路311包括多个触发电路,并且使写指针重置定时检测电路303的输出信号rst-tim#0与时钟信号CLKIN同步,由此将经过同步的信号输出到调整电路312。对各个比特设置了写指针重置定时检测电路303。但是,在本示例中,选择bit#0作为并行数据的代表性比特,并且只有信号rst-tim#0与同步电路311相连。
调整电路312还对同步电路311的输出信号进行延迟,并将经过延迟的信号输出到读指针电路313。此外,该电路包括用于设置延迟时钟脉冲数量的机构。在该调整电路312中,设置固定数量的条件中的一个,并且在使同步电路311的输出信号延迟了与设定条件相对应的时钟脉冲数量的同时,将其从调整电路312输出。通过调整电路312的输出信号对读指针进行重置。在不必对同步电路311的输出信号进行延迟的情况下,可以省略调整电路312。
同步电路311、调整电路312、读指针电路313和接收寄存器314根据时钟信号CLKIN进行操作。
根据该接收装置202,通过比特数据保持电路224-i来确保各个比特的创建时间和保持时间,并且通过接收电路223来调整比特之间的差异,由此提取正确组合的并行数据。
下面参照图4到10详细说明图3的比特数据保持电路224-i和接收电路223的具体电路结构。
图4表示图3的时钟调整电路302的结构示例。图4的时钟调整电路包括:sclk发生电路401、移位寄存器电路402、相位调整电路403、DDR(双数据速率)斩波器(chopper)404和D触发电路405。
sclk发生电路401根据数据信号it#0生成定时信号sclk,并将所生成的信号输出到移位寄存器电路402。移位寄存器电路402根据从触发电路405输出的控制信号,为相位调整电路403生成控制信号down。相位调整电路403根据来自移位寄存器电路402的控制信号,对时钟信号clk的相位进行调整并生成时钟信号iclk#0。将所生成的时钟信号iclk#0输入到触发电路405的端子D中,作为数据信号。
DDR斩波器404根据数据信号it#0的上升/下降(上/下)沿,生成时钟信号pdclk。将所生成的时钟信号pdclk输入到触发电路405的端子CK中。
触发电路405用作相位检测装置,用于检测时钟信号iclk#0与数据信号it#0之间的相位关系,并根据时钟信号pdclk对时钟信号iclk#0进行锁存,由此生成控制信号down。
通过这种方式,移位寄存器电路402确定控制信号down的值是逻辑‘1’或‘0’,并对相位调整电路403的延迟量的增加和减少进行控制。由此,形成用于进行调整的反馈回路,以使得用于对数据信号it#0进行抽样的时钟信号iclk#0的有效沿可以与数据信号it#0稳定的点相匹配。
图5表示图3的写指针电路304、环形缓冲器305和读指针电路313的结构示例。对写指针和读指针分别进行控制以按照预定顺序传输固定数量的条件。
图5的写指针电路304可以包括自激(freerun)计数器,并且包括AND电路501、D触发电路502和加法电路503。AND电路501将通过对来自写指针重置定时检测电路303的信号rst-tim#0进行反相而获得的值与加法电路503的输出的逻辑乘积输出到触发电路502。
触发电路502根据时钟信号iclk#0,对AND电路501的输出进行锁存,并将被锁存的输出保持为4比特的写指针WPTR[3:0]。加法电路503对从触发电路502输出的WPTR[3:0]的值加1,并将所获得的值输出到AND电路501。通过这种方式,写指针在值‘0’到‘15’之间进行循环,并当信号rst-tim#0的值为‘1’时,将该值重置为‘0’。
环形缓冲器305包括解码器511和512、D触发电路521-j、AND电路522-j和523-j、OR电路524-j(j=0,l,…,l 5)以及选择器53l。
解码器511对从写指针电路304输出的WPTR[3:0]的值进行解码,并生成16比特的选择信号BUF_WE[15:0],由此将所生成的信号输出到各个比特的AND电路522-0到522-15以及523-0到523-15。在这种情况下,只有由选择信号BUF_WE[15:0]中的WPTR[3:0]的值表示的比特变成‘1’,而其它比特变成‘0’。
AND电路522-j将选择信号BUF_WE[15:0]的比特j的值与数据信号it#0的逻辑乘积输出到OR电路524-j。AND电路523-j将通过对选择信号BUF_WE[15:0]的比特j进行反相而获得的值与触发电路521-j的输出的逻辑乘积输出到OR电路524-j。OR电路524-j将AND电路522-j和AND电路523-j的输出的逻辑和输出到触发电路521-j。随后,触发电路521-j根据时钟信号iclk#0对OR电路524-j的输出进行锁存,并将被锁存的输出信号输出到选择器531。
因此,当选择信号BUF_WE[15:0]的比特j为‘1’时,数据信号it#0只存储在16个触发电路521-0到521-15中的触发电路521-j中,而其它触发电路521保持与以前相同的数据。
解码器512对从读指针电路313输出的4比特的读指针RPTR[3:0]的值进行解码,并生成16比特的选择信号BUF_SEL[15:0],由此将所生成的信号输出到选择器531。在这种情况下,只有由选择信号BUF_SEL[15:0]中的RPTR[3:0]的值所表示的比特变成‘1’,其它比特变成‘0’。当比特j为‘1’时,选择器531选择触发电路521-j的输出,由此将所选择的输出信号输出到接收寄存器314。
接收寄存器314包括D触发电路551。触发电路551根据时钟信号CLKIN,对选择器531的输出进行锁存,并保持被锁存的输出作为接收数据。
读指针电路313可以按照与写指针电路304相同的方式由计数器构成。读指针电路313包括AND电路541、D触发电路542和加法电路543。AND电路541将通过对来自调整电路312的信号RPTR_RST_D进行反相而获得的值与加法电路543的输出的逻辑乘积输出到触发电路542。
触发电路542根据时钟信号CLKIN,对AND电路541的输出进行锁存,并将被锁存的输出保持为RPTR[3:0]。加法电路543对从触发电路542输出的RPTR[3:0]的值加1,并将所获得的值输出到AND电路541。通过这种方式,读指针在值‘0’到‘15’之间循环,并且当信号RPTR_RST_D为‘1’时,将该指针重置为‘0’。
尽管这里将写指针WPTR[3:0]和读指针RPTR[3:0]重置为‘0’,但是也可以将它们重置为‘0’以外的特定值。
图6表示图3的写指针重置定时检测电路303的结构示例。图6的写指针重置定时检测电路包括移位寄存器电路(其包括16个D触发电路601-j(j=0,1,…,15))、D触发电路602和比较电路603。
各个触发电路601-j根据时钟信号iclk#0,将按照时间顺序输入的数据信号it#0移位到下一级触发电路601-(j+1)。触发电路602保持与从发送装置201发送的16比特的训练数据的模式相同的模式,作为PATARN[15:0]。
当对触发电路601-0到601-15的输出与触发电路602的输出进行比较并且这些输出相互匹配时,比较电路603输出‘1’作为信号rst-tim#0。因此,当在移位寄存器电路中设置与在PARARN[15:0]中设定的模式相匹配的数据时,输出写指针的重置时机信号(momentum signal)。
图7表示图3的同步电路311的结构示例。图7的同步电路包括OR电路701、D触发电路702到707、以及AND电路708。OR电路701将信号rst-tim#0与触发电路702的输出的逻辑和输出到触发电路702。随后,触发电路702根据时钟信号iclk#0,对OR电路701的输出进行锁存,并输出被锁存的输出。
触发电路703到707根据时钟信号CLKIN,将触发电路702的输出移位到下一级触发电路。AND电路708将通过对触发电路707的输出进行反相而获得的值与触发电路706的输出的逻辑乘积输出作为信号RPTR_RST_SYNC。
在这种情况下,生成了信号RPTR_RST_SYNC,该信号是通过使成为写指针重置时机的信号rst-tim#0与时钟信号CLKIN同步而获得的。将所生成的信号RPTR_RST_SYNC用于生成变为读指针的重置时机的信号RPTR_RST_D。
在图3中,选择bit#0作为并行数据的代表性比特,并且仅根据信号rst-tim#0对读指针进行重置。但是,根据从用于两个或更多个比特的并行数据的写指针重置定时检测电路输出的两个或更多个信号rst-tim#i(i=0,1,…,n-2,n-1),来重置读指针也是适合的。
图8表示同步电路的结构示例,该同步电路在n=64的情况下等待并行数据的所有比特的写指针重置,并生成信号RPTR_RST_SYNC。图8的同步电路包括OR电路801-i(i=0,1,…,63)、D触发电路802-i、AND电路803和809、以及D触发电路804到808。
OR电路801-i将信号rst-tim#i与触发电路802-i的输出的逻辑和输出到触发电路802-i。然后,触发电路802-i根据时钟信号iclk#i,对OR电路801-i的输出进行锁存,并输出被锁存的输出。AND电路803将触发电路802-0到802-63的输出的逻辑乘积输出到触发电路804。
触发电路804到808根据时钟信号CLKIN,将AND电路803的输出移位到下一级触发电路。AND电路809将通过对触发电路808的输出进行反相而获得的值与触发电路807的输出的逻辑乘积输出,作为信号RPTR_RST_SYNC。
在同步电路311没有等待所有比特的写指针重置处理的情况下,图3的调整电路312通过进行设置来添加与等待这些重置处理的情况下的延迟相当的规则延迟(regular delay),以对比特之间的差异进行补偿。例如,通过计数器电路或者包括多个触发电路的移位寄存器电路来实现该调整电路312。
但是,在比特之间的差异较小的情况下,存在由同步电路311和调整电路312产生不必要的延迟的可能性。该延迟对作为存储器执行时间的处理器的性能有很大影响。由此,为了使该延迟最小,希望找到所需的足够定时,并生成读指针的重置时机。
在本优选实施例中,在利用读指针被构造为循环方式的事实的同时,通过设置与指针值的大约一个周期相当的延迟(包括同步电路311的延迟)来将读出数据时的延迟抑制为最小。
图9表示在使用计数器电路的情况下的调整电路312的结构示例。图9的调整电路包括D触发电路901、905和910,AND电路902、903、908和911,OR电路904和909,减法电路906和检测电路907。
触发电路901可以使用4比特的信号DEFAULT[3:0]将0到15中的任何一个设置为初始值。触发电路901根据时钟信号CLKIN将由此设定的DEFAULT[3:0]的值输出到AND电路902。
AND电路902和903,OR电路904,触发电路905和减法电路906构成递减计数器(down counter)。AND电路902输出信号DEFAULT[3:0]与信号RPTR_RST_SYNC的逻辑乘积。AND电路903输出减法电路906的输出与通过对信号RPTR_RST_SYNC进行反相而获得的值的逻辑乘积。OR电路904输出AND电路902的输出与AND电路903的输出的逻辑和。
触发电路905根据时钟信号CLKIN,对OR电路904的输出进行锁存,并输出被锁存的输出作为表示计数值的信号DEL_TAU[3:0]。减法电路906对信号DEL_TAU[3:0]的值减1,并将经减去处理的值输出到AND电路903。检测电路907检测到信号DEL_TAU[3:0]的值变为‘0’,并输出信号‘1’。
AND电路908输出通过对检测电路907的输出进行反相而获得的值与触发电路910的输出信号ONCE的逻辑乘积。OR电路909输出AND电路908的输出与信号RPTR_RST_SYNC的逻辑和。触发电路910根据时钟信号CLKIN对OR电路909的输出进行锁存,并输出被锁存的输出作为信号ONCE。AND电路911输出检测电路907的输出与信号ONCE的逻辑乘积,作为信号RPTR_RST_D。
根据该调整电路,当信号RPTR_RST_SYNC变为‘1’时,将保持在触发电路905中的初始值载入到触发电路905中。然后,当信号RPTR_RST_SYNC变为‘0’时,开始递减计数。当计数值变为‘0’时,输出‘1’作为信号RPTR_RST_D,并且重置读指针。
因此,当每时钟脉冲的延迟时间周期为τ时,同步电路311的输出信号在1到16τ的范围内延迟,从而可以调整读指针的重置时机。
图10表示在使用移位寄存器电路的情况下调整电路312的结构示例。图10的调整电路包括D触发电路1001、1002-j(j=0,1,…,15),解码器1003和选择器1004。
触发电路1001以与图9的触发电路901相同的方式保持信号DEFAULT[3:0](该信号表示初始值0到15中的任意一个),并根据时钟信号CLKIN将该信号输出到解码器1003。解码器1003对4比特的信号DEFAULT[3:0]进行解码并生成选择信号,并将所生成的选择信号输出到选择器1004。
触发电路1002-0到1002-15根据时钟信号CLKIN,将信号RPTR_RST_SYNC移位到下一级触发电路。将各个触发电路1002-j的输出输入到选择器1004中。然后,选择器1004选择来自触发电路1002-j中的任何一个的输出,并根据来自解码器1003的选择信号输出所选择的输出作为信号RPTR_RST_D。
根据该调整电路,使信号RPTR_RST_SYNC延迟与信号DEFAULT[3:0]的值相对应的延迟时钟脉冲数,并且将经延迟的信号RPTR_RST_SYNC输出为信号RPTR_RST_D。因此,该调整可以在1到16τ的范围内对同步电路311的输出信号进行延迟,并可以按照与图9相同的方式调整读指针的重置时机。
下面参照图11到13说明图3的比特数据保持电路224-i和接收电路223的具体操作。
图11是表示接收电路223不具有调整电路312的情况下的操作的时序图。在这种情况下,将图7的同步电路的输出信号RPTR_RST_SYNC直接输入到读指针电路313中作为重置时机信号RPTR_RST_D。1101到1136表示数据传输系统的以下信号或数据的定时。
<指针重置(适用于所有比特)>
1101:发送装置201的bit#0的发送数据
1102:接收装置202的bit#0的接收数据
1103:时钟信号clk
1104:时钟信号iclk#0
1105:数据信号it#0
1106:信号rst-tim#0
1107:图7的触发电路702的输出
1108:写指针WPTR
<同步电路(仅代表性比特)>
1109:时钟信号CLKIN
1110:图7的触发电路703的输出
1111:图7的触发电路704的输出
1112:图7的触发电路705的输出
1113:图7的触发电路706的输出
1114:图7的触发电路707的输出
1115:读指针RPTR
<数据流>
1116:写指针WPTR
1117:数据信号it#0
1118:时钟信号CLKIN
1119:读指针RPTR
1120:图5的环形缓冲器305的触发电路521-0的输出
1121:图5的环形缓冲器305的触发电路521-1的输出
1122:图5的环形缓冲器305的触发电路521-2的输出
1123:图5的环形缓冲器305的触发电路521-3的输出
1124:图5的环形缓冲器305的触发电路521-4的输出
1125:图5的环形缓冲器305的触发电路521-5的输出
1126:图5的环形缓冲器305的触发电路521-6的输出
1127:图5的环形缓冲器305的触发电路521-7的输出
1128:图5的环形缓冲器305的触发电路521-8的输出
1129:图5的环形缓冲器305的触发电路521-9的输出
1130:图5的环形缓冲器305的触发电路521-10的输出
1131:图5的环形缓冲器305的触发电路521-11的输出
1132:图5的环形缓冲器305的触发电路521-12的输出
1133:图5的环形缓冲器305的触发电路521-13的输出
1134:图5的环形缓冲器305的触发电路521-14的输出
1135:图5的环形缓冲器305的触发电路521-15的输出
1136:接收寄存器314的bit#0的存储数据
当检测到在与iclk#0(1104)的上升沿相对应的T2时刻作为训练数据(1105)发送的重置模式1141时,信号rst-tim#0(1106)变为‘1’,而在与下一个上升沿相对应的T3时刻,信号rst-tim#0变成‘0’。通过这种方式,触发电路702的输出(1107)变成‘1’,并且重置写指针WPTR(1108,1116)。在实现重置之前,写指针WPTR循环适当的值。
当重置写指针WPTR时,在与iclk#0(1104)的下一个上升沿相对应的T4时刻,将接收数据‘HH’(1105,1117)写入环形缓冲器305的触发电路521-0(1120)。此后,每一次写指针WPTR加1,都将接收数据依次写入环形缓冲器305的对应触发电路(1121到1135)中。
另一方面,当触发电路706(1113)输出‘1’时,触发电路702的输出(1107)依次传到触发电路703到707(1110到1114),并且同步电路311的输出信号RPTR_RST_SYNC变为‘1’。然后,在与CLKIN(1109,1118)的下一个上升沿相对应的T5时刻重置读指针RPTR(1115,1119)。在实现重置之前,读指针RPTR在多个适当值之间进行循环。
当重置读指针RPTR时,在与CLKIN(1109,1118)的下一个上升沿相对应的T6时刻,读出环形缓冲器305的触发电路521-0的数据‘HH’(1120),并将所读出的数据存储在接收寄存器314的bit#0(1136)中。此后,每一次读指针RPTR加1,都将数据依次从缓冲器305的对应触发电路(1121到1135)中读出,并将所读出的数据写入接收寄存器314的bit#0。
在本示例中,从T1时刻由发送装置201发送数据‘HH’直到在T6时刻将数据‘HH’存储在接收寄存器314中为止的执行时间变为大约9.5个周期。
图12表示两个比特数据保持电路224-i中的写指针的重置定时的时序图。在本示例中,同时将比特X和Y的数据从发送装置201(输出源)输出,并且接收装置202(输入侧)在比特Y的数据之后接收到比特X的数据。使用数据行0到15作为重置模式。
这种情况下,在比特X和比特Y的比特数据保持电路中,在不同的定时点分别检测到多个重置模式,并且重置写指针。在时刻T11重置比特Y的写指针,然后将比特Y的接收数据写入环形缓冲器的由写指针表示的触发电路中。此外,在时刻T12重置比特X的写指针,然后将比特X的接收数据写入环形缓冲器的由写指针表示的触发电路中。
通常,通过这种方式,对于各个比特在不同定时实现了写指针的重置,并且对于各个比特在不同定时将并行数据写入环形缓冲器。然而,可以通过根据内部时钟信号CLKIN同时从环形缓冲器中读出所有比特的数据,来在同一定时将并行数据存储在接收寄存器314中。
图13是表示接收电路223具有图9的调整电路的情况下的操作的时序图。在本示例中,将‘12’设置为信号DEFAULT[3:0]的值,并且调整电路312使同步电路311的输出信号RPTR_RST_SYNC仅延迟13τ。1101到1136表示与图11中相同的信号和数据的定时。1301到1302表示以下信号的定时。
<调整电路(仅代表性比特)>
1301:图9的信号DEL_TAU[3:0]
1302:图9的信号ONCE
在这种情况下,T5时刻之前的操作与图11的类似。当同步电路311的输出信号RPTR_RST_SYNC变为‘1’时,将信号DEFAULT[3:0]的值载入到触发电路905中,并且在T5时刻输出‘12’作为信号DEL_TAU[3:0](1301)。同时,信号ONCE(1302)变为‘1’,并开始进行递减计数。
随后,在T8时刻将接收数据‘XX’(1105,1117)写入环形缓冲器305的触发电路521-0(1120)中。此后,每一次写指针WPTR加1,都将接收数据依次写入环形缓冲器305的对应触发电路(1121到1135)中。
当终止递减计数并输出‘0’作为信号DEL_TAU[3:0](1301)时,调整电路312的输出信号RPTR_RST_D变为‘1’。在与CLKIN(1109,1118)的下一个上升沿相对应的T9时刻重置读指针RPTR(1115,1119),同时信号ONCE(1302)变为‘0’。在实现重置之前,读指针RPTR在多个适当的值之间进行循环。
当重置读指针RPTR时,在与CLKIN(1109,1118)的下一个上升沿相对应的时刻T10读出环形缓冲器305的触发电路521-0的数据‘XX’(1120),并将所读出的数据存储在接收寄存器314的bit#0(1136)中。随后,每一次读指针RPTR加1,都依次从环形缓冲器305的对应触发电路(1121到1135)中读出数据,并将所读出的数据写入接收寄存器314的bit#0中。
在本示例中,从T7时刻由发送装置201发送数据‘XX’起,直到T10时刻将数据‘XX’存储在接收寄存器314中为止的执行时间变为大约6.5个周期。因此,与图11的数据‘HH’的情况相比,执行时间仅提高了3个周期。换言之,通过利用调整电路312将读指针的重置时机信号仅延迟13τ,使得可以操作读指针,同时缩短了三个周期,从而可以弥补由同步电路311产生的损失。
通过这种方式,在所说明的优选实施例中,假设并行数据的传输频率和内部时钟信号CLKIN的频率之间的关系是一对一的关系,并且不会产生环形缓冲器305的下溢/上溢。在这些频率之间的关系为1:N的情况下,可以通过将读指针的更新次数设定为1/N来防止下溢/上溢。
图14表示读指针电路313的结构示例。图14的读指针电路包括D触发电路1401、1406、1412,OR电路1402、1405和1411,AND电路1403、1404、1409和1410,减法电路1407,检测电路1408,以及加法电路1413。
可以利用4比特的信号N[3:0]将触发电路104设置为0到15中的一个值,作为预定值。由此设置的预定值要比分频比N小1,并且N[3:0]=1,2,3,…,15与N=1,2,3,4,…,16相对应。触发电路1401将根据时钟信号CLKIN设置的N[3:0]的值输出到AND电路1403。
OR电路1402将来自调整电路312的信号RPTR_RST_D与来自检测电路1408的输出信号SAMPLE_TIM的逻辑和输出到AND电路1403和1404。
AND电路1403和1404,OR电路1405,触发电路1406和减法电路1407构成递减计数器,并按照与图9的递减计数器相同的方式进行操作,由此输出表示检测电路1408的计数值的信号。检测电路1408检测到计数值变为‘0’,并且输出‘1’作为信号SAMPLE_TIM。
AND电路1409将通过对信号SAMPLE_TIM进行反相而获得的值与触发电路1412的输出信号RPTR[3:0]的逻辑乘积输出,同时加法电路1413对RPTR[3:0]的值加1,并将所获得的值输出到AND电路1410。AND电路1410将信号SAMPLE_TIM与加法电路1413的输出的逻辑乘积输出,同时OR电路1411将AND电路1409的输出与AND电路1410的输出的逻辑和输出。触发电路1412根据时钟信号CLKIN,对OR电路1411的输出进行锁存,并输出被锁存的输出作为RPTR[3:0]。
根据该读指针电路,当信号RPTR_RST_D变为‘1’时,将保持在触发电路1401中的预定值载入到触发电路1406中,随后信号RPTR_RST_D变为‘0’,开始递减计数。由于在递减计数结束之前信号SAMPLE_TIM保持为‘0’,所以不更新读指针,从而保持当前值。当计数值变为‘0’时,输出‘1’作为信号SAMPLE_TIM,并且更新读指针。同时,再次将该预定值载入到触发电路1406中。此后,重复相同操作,并对各个Nτ更新读指针。
图15表示一结构示例,其中在图14中的读指针电路中添加了与调整电路312类似的功能。在该结构中,由于可以将读指针的重置值设置为可选值,所以调整电路312变得不必要,并且将同步电路311的输出信号RPTR_RST_SYNC直接输入到读指针电路中。
该读指针电路包括:D触发电路1401、1406、1412和1502,OR电路1402、1405和1506,AND电路1403、1404、1503、1504和1505,减法电路1407,检测电路1408和加法电路1413。在这些电路中,标号与图14相同的电路以与图14的电路相同的方式进行操作。
缓冲器1501将所输入的信号RPTR_RST_SYNC输出到OR电路1402,作为信号RPTR_RST_D。触发电路1502可以利用4比特的信号DEFAULT[3:0]将0到15中的一个设置为重置指针的初始值(重置值)。触发电路1502根据时钟信号CLKIN,将由此设置的DEFAULT[3:0]的值输出到AND电路1505。
AND电路1503将通过对信号SAMPLE_TIM进行反相而获得的值、对信号RPTR_RST_SYNC进行反相而获得的值、以及触发电路1412的输出信号RPTR[3:0]的逻辑乘积输出。AND电路1504将通过对信号SAMPLE_TIM进行反相而获得的值、对信号RPTR_RST_SYNC进行反相而获得的值、以及加法电路1413的输出的逻辑乘积输出。OR电路1506将AND电路1503、1504和1505的输出的逻辑和输出。触发电路1412根据时钟信号CLKIN,对OR电路1506的输出进行锁存,并输出被锁存的输出作为RPTR[3:0]。
图16是表示使用图15的读指针电路的情况下的操作的时序图。在本示例中,将‘0’设置为N[3:0](N=1)的值,将‘3’设置为信号DEFAULT[3:0]的值。1101到1136表示与图11相同的信号或数据的定时。
在这种情况下,T5时刻之前的操作与图11的相同。在T5时刻之前的T22时刻,将接收数据‘KK’(1105,1117)写入环形缓冲器305的触发电路521-3(1123)。
当同步电路311的输出信号RPTR_RST_SYNC变为‘1’时,将信号N[3:0]的值载入到触发电路1406中。然后,在T5时刻将信号DEFAULT[3:0]的值载入到触发电路1412中,并将读指针RPTR(1115,1119)重置为‘3’。在实现重置之前,读指针RPTR在多个适当的值之间循环。
当重置读指针RPTR时,在T6时刻读出环形缓冲器305的触发电路521-3的数据‘KK’(1123),并将所读出的数据存储在接收寄存器314的bit#0(1136)中。此后,每一次读指针RPTR加1,都依次从环形缓冲器305的对应缓冲电路(1124到1135,1120到1122)读出数据,并将所读出的数据写入接收寄存器314的bit#0中。
在本示例中,从T21时刻由发送装置201发送数据‘KK’起,直到T6时刻将数据‘KK’存储在接收寄存器314中为止的执行时间变为约6.5个周期。因此,即使没有设置调整电路312,也可以实现与图13的数据‘XX’的情况相同的执行时间。
在图3所示的接收装置202中,为并行数据的各个比特设置了时钟调整电路302。然而,也可以通过将所有比特分为多个组,来对各个组提供时钟调整电路302。
图17表示在将并行数据以每4比特分为多个组的情况下的接收装置的结构示例。在图17中,标号与图3相同的电路具有与图3相同的结构和功能。图17的接收装置1701包括:PLL 221、输入缓冲器301、m个数据保持电路1702-k(k=0,1,…,m-2,m-1)以及接收电路223。
数据保持电路1702-0包括一组时钟调整电路1703和4个比特数据保持电路1704-p(p=0,1,2,3)。该组时钟调整电路1703包括:时钟调整电路302、写指针重置定时检测电路303和写指针电路304。各个比特数据保持电路1704-p均包括环形缓冲器305。
在从输入缓冲器301输出的n个数据信号it#0到it#n中,将4个数据信号it#0到it#3输入到数据保持电路1702-0中。将数据信号it#0输入到该组时钟调整电路1703和比特数据保持电路1704-0中。将数据信号it#1到it#3分别输入到比特数据保持电路1704-1到1704-3中。
该组时钟调整电路1703按照与图3的情况相同的方式,根据数据信号it#0生成调整时钟信号iclk#0和信号rst-tim#0。4个比特数据保持电路1704-0到1704-3的环形缓冲器305根据所有相同的调整时钟信号iclk#0进行操作。
其它数据保持电路1702的结构和操作与数据保持电路1702-0的结构和操作相同。但是,在该示例中,数据保持电路1702-1到1702-(m-1)的输出信号不与同步电路311相连。
另一方面,如果使用与图8相类的同步电路,则该电路可以等待从两组或更多组的写指针重置定时检测电路输出的两个或更多个信号rst-tim#i(i=0,4,8,…)。
根据接收装置1701,与图3的接收装置202相比,可以大量减少时钟调整电路302的硬件等。此外,各个组的比特数量是可选的,因此其并不限于4比特。

Claims (15)

1、一种用于接收多个比特的并行数据的数据接收装置,其包括:
时钟调整装置,用于利用各个比特的数据信号来调整第一时钟信号,并生成数量与比特数量相等的多个调整时钟信号,以对于并行数据的各个比特,确保所述数据信号的创建时间和保持时间;
数据缓冲装置,用于根据所述调整时钟信号,来获取各个比特的数据信号,并按照时间顺序对各个比特保持固定数量的数据;
读取装置,用于根据第二时钟信号,按照时间顺序选择所述数据缓冲装置中的多个比特的数据,并读出所选择的数据作为并行数据;以及
存储装置,用于存储所读出的并行数据。
2、一种用于接收多个比特的并行数据的数据接收装置,其包括:
时钟调整装置,用于利用一个组中的比特的数据信号来调整第一时钟信号,并生成数量与组的数量相等的多个调整时钟信号,以使得对于包括两个比特或更多个比特的并行数据的各个组,确保数据信号的创建时间和保持时间;
数据缓冲装置,用于根据各个组的调整时钟信号,获取组中的各个比特的数据信号,并按照时间顺序对各个比特保持固定数量的数据;
读取装置,用于根据第二时钟信号,按照时间顺序选择所述数据缓冲装置中的多个比特的数据,并读出所选择的数据作为并行数据;以及
存储装置,用于存储所读出的并行数据。
3、根据权利要求1或2所述的数据接收装置,还包括:
检测装置、写指针装置和写入装置,其中:
所述数据缓冲装置包括固定数量的缓冲装置,这些缓冲装置按照时间顺序保持固定数量的数据;
所述检测装置检测对预定时间序列数据的接收,并输出检测信号;
所述写指针装置存储写指针信息,该写指针信息表示所述固定数量的缓冲装置中下一个要存储数据的缓冲装置,当从所述检测装置输出了检测信号时将所述写指针信息设置为预定值,并更新所述写指针信息,以按照预定的顺序选择所述固定数量的缓冲装置;并且
所述写入装置将数据信号输入到由所述写指针信息表示的缓冲装置中。
4、根据权利要求1或2所述的数据接收装置,还包括:
检测装置和同步装置,其中
所述数据缓冲装置包括按照时间顺序保持所述固定数量的数据的固定数量的缓冲装置;
所述读取装置包括读指针装置;
所述检测装置检测对预定时间序列数据的接收,并输出检测信号;
所述同步装置使所述检测信号与所述第二时钟信号同步,并生成同步信号;并且
所述读指针装置根据所述第二时钟信号进行操作,存储读指针信息,该读指针信息表示所述固定数量的缓冲装置中的下一个要读出数据的缓冲装置,当从所述同步装置输出了所述同步信号时,将所述读指针信息设置为预定值,并对所述读指针信息进行更新,以按照预定顺序选择所述固定数量的缓冲装置。
5、根据权利要求4所述的数据接收装置,其中当分别检测到多个比特的时间序列数据的接收并且分别输出了多个检测信号时,所述同步装置使所述多个检测信号的逻辑乘积与所述第二时钟信号同步,并生成同步信号。
6、根据权利要求4所述的数据接收装置,还包括:
调整装置,用于使所述同步信号仅延迟预定数量的时钟脉冲,其中
当从所述调整装置输出了所述同步信号时,所述读指针装置将所述读指针信息设为所述预定值。
7、根据权利要求6所述的数据接收装置,其中所述接收装置保持从分别指定多种时钟脉冲数量的多条信息中选择的信息,并根据所保持的信息对所述同步信号进行延迟。
8、根据权利要求4所述的数据接收装置,其中当所述并行数据的传输频率与所述第二时钟信号的频率之间的关系为1∶N时,所述读指针装置按照所述第二时钟信号的每N个周期一次的频率更新所述读指针。
9、根据权利要求4所述的数据接收装置,还包括:
写指针装置,用于存储写指针信息,该写指针信息表示所述固定数量的缓冲装置中下一个要存储数据的缓冲装置,当从所述检测装置输出所述检测信号时将所述写指针信息设置为预定值,并且更新所述写指针信息,以按照预定顺序选择所述固定数量的缓冲装置;以及
写入装置,用于将数据信号输入到由所述指针信息表示的缓冲装置中。
10、一种用于接收多个比特的并行数据的数据接收装置,其包括:
为所述并行数据的各个比特设置的多个时钟调整装置,这些时钟调整装置的数量与比特的数量相等,各个时钟调整装置都利用各个比特的数据信号来调整第一时钟信号并分别生成调整时钟信号,以确保所述数据信号的创建时间和保持时间;
为所述并行数据的各个比特设置的多个数据缓冲装置,这些数据缓冲装置的数量与比特的数量相等,各个数据缓冲装置根据所述调整时钟信号,获取各个比特的数据信号,并分别按照时间顺序保持固定数量的数据;
读取装置,用于根据第二时钟信号,按照时间顺序选择多个数据缓冲装置中的数据,并读出所选择的数据作为并行数据,该多个数据缓冲装置的数量与比特的数量相等;以及
存储装置,用于存储所读出的并行数据。
11、一种用于接收多个比特的并行数据的数据接收装置,其包括:
为包括两个比特或更多个比特的并行数据的各个组设置的多个时钟调整装置,这些时钟调整装置的数量与组的数量相等,各个时钟调整装置都利用组中的比特的数据信号,来调整第一时钟信号并分别生成调整时钟信号,以确保数据信号的创建时间和保持时间;
为所述并行数据的各个比特设置的多个数据缓冲装置,这些数据缓冲装置的数量与比特的数量相等,各个数据缓冲装置根据各个组的调整时钟信号,获取组中的各个比特的数据信号并分别按照时间顺序保持固定数量的数据;
读取装置,用于根据第二时钟信号,按照时间顺序选择所述多个数据缓冲装置中的数据,并读出所选择的数据作为并行数据,所述多个数据缓冲装置的数量与比特的数量相等;以及
存储装置,用于存储所读出的并行数据。
12、一种用于接收多个比特的并行数据的数据接收方法,包括:
利用各个比特的数据信号,来调整第一时钟信号并生成数量与比特的数量相等的调整时钟信号,以对所述并行数据的各个比特,确保数据信号的创建时间和保持时间;
根据所述调整时钟信号,获取数据缓冲装置中的各个比特的数据信号,该数据缓冲装置按照时间顺序为各个比特保持固定数量的数据;
根据第二时钟信号,按照时间顺序选择所述数据缓冲装置中的多个比特的数据,并读出所选择的数据作为并行数据;以及
将所读出的并行数据存储在存储装置中。
13、一种用于接收多个比特的并行数据的数据接收方法,包括:
利用一个组中的比特的数据信号,来调整第一时钟信号并生成数量与组的数量相等的多个调整时钟信号,以对包括两个比特或更多个比特的并行数据的各个组,确保数据信号的创建时间和保持时间;
根据各个组的调整时钟信号,获取数据缓冲装置中的组中的各个比特的数据信号,该数据缓冲装置按照时间顺序为各个比特保持固定数量的数据;
根据第二时钟信号,按照时间顺序选择所述数据缓冲装置中的多个比特的数据,并读出所选择的数据作为并行数据;以及
将所读出的并行数据存储在存储装置中。
14、一种用于接收多个比特的并行数据的数据接收装置,其包括:
时钟调整装置,用于利用各个比特的数据信号,来调整第一时钟信号并生成数量与比特的数量相等的多个调整时钟信号,以对所述并行数据的各个比特确保所述数据信号的创建时间和保持时间;
数据缓冲装置,用于根据所述调整时钟信号,获取各个比特的数据信号,并按照时间顺序对各个比特保持固定数量的数据;
读取装置,用于根据第二时钟信号,按照时间顺序选择所述数据缓冲装置中的多个比特的数据,并读出所选择的数据作为并行数据;以及
存储装置,用于存储所读出的并行数据。
15、一种用于接收多个比特的并行数据的数据接收装置,其包括:
时钟调整装置,用于利用一个组中的比特的数据信号,来调整第一时钟信号并生成数量与组的数量相等的多个调整时钟信号,以对包括两个比特或更多个比特的并行数据确保数据信号的创建时间和保持时间;
数据缓冲装置,用于根据各个组的调整时钟信号,获取组中的各个比特的数据信号并按照时间顺序对各个比特保持固定数量的数据;
读取装置,用于根据第二时钟信号,按照时间顺序选择所述数据缓冲装置中的多个比特的数据,并读出所选择的数据作为并行数据;以及
存储装置,用于存储所读出的并行数据。
CNB200510068099XA 2004-06-30 2005-05-16 接收并行数据的装置及其方法 Expired - Fee Related CN100559750C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004192626 2004-06-30
JP2004192626A JP4291225B2 (ja) 2004-06-30 2004-06-30 パラレルデータを受信する装置および方法

Publications (2)

Publication Number Publication Date
CN1866815A true CN1866815A (zh) 2006-11-22
CN100559750C CN100559750C (zh) 2009-11-11

Family

ID=35169784

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200510068099XA Expired - Fee Related CN100559750C (zh) 2004-06-30 2005-05-16 接收并行数据的装置及其方法

Country Status (5)

Country Link
US (1) US7620138B2 (zh)
EP (1) EP1612690B1 (zh)
JP (1) JP4291225B2 (zh)
KR (1) KR100669931B1 (zh)
CN (1) CN100559750C (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853217A (zh) * 2009-03-30 2010-10-06 富士通株式会社 缓存控制装置、信息处理装置和计算机可读记录介质
CN104601985A (zh) * 2015-01-14 2015-05-06 华为技术有限公司 信号分析方法、装置和系统
CN108009111A (zh) * 2016-11-01 2018-05-08 华为技术有限公司 数据流连接方法及装置
CN116521613A (zh) * 2023-07-04 2023-08-01 南京启见半导体科技有限公司 超低延迟的时钟域切换数据传输系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483173B2 (en) * 2005-03-10 2009-01-27 Kabushiki Kaisha Toshiba Data processor having a synchronizing function of a plurality of chips
US7401246B2 (en) 2005-06-30 2008-07-15 Intel Corporation Nibble de-skew method, apparatus, and system
WO2007097008A1 (ja) 2006-02-24 2007-08-30 Fujitsu Limited データ受信装置及びデータ送信装置
KR100903132B1 (ko) 2007-12-11 2009-06-16 한국전자통신연구원 병렬 수신 장치 및 방법
KR101918455B1 (ko) * 2012-07-27 2018-11-15 삼성전자주식회사 위상 잠금 루프의 홀드 타임 또는 록 타임을 이용하여 데이터 세그먼트들을 스케쥴링하는 저전력 통신 장치

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4841551A (en) 1987-01-05 1989-06-20 Grumman Aerospace Corporation High speed data-clock synchronization processor
JP3125348B2 (ja) 1991-09-11 2001-01-15 日本電気株式会社 パラレルビット同期方式
JPH0653955A (ja) 1992-04-21 1994-02-25 Nec Corp パラレルビット同期方式
JPH07154381A (ja) 1993-11-30 1995-06-16 Hitachi Ltd データ転送装置
US6078623A (en) * 1995-03-20 2000-06-20 Hitachi, Ltd. Data transmission apparatus and method
JP2730517B2 (ja) * 1995-06-12 1998-03-25 日本電気株式会社 高速データ受信回路
US6279077B1 (en) * 1996-03-22 2001-08-21 Texas Instruments Incorporated Bus interface buffer control in a microprocessor
US6247138B1 (en) * 1997-06-12 2001-06-12 Fujitsu Limited Timing signal generating circuit, semiconductor integrated circuit device and semiconductor integrated circuit system to which the timing signal generating circuit is applied, and signal transmission system
JP4063392B2 (ja) * 1998-03-26 2008-03-19 富士通株式会社 信号伝送システム
US6173432B1 (en) * 1997-06-20 2001-01-09 Micron Technology, Inc. Method and apparatus for generating a sequence of clock signals
US6262998B1 (en) * 1997-12-24 2001-07-17 Nortel Networks Limited Parallel data bus integrated clocking and control
JP3349943B2 (ja) * 1998-03-03 2002-11-25 日本電気株式会社 半導体装置
JP4634605B2 (ja) 1998-03-12 2011-02-16 エルピーダメモリ株式会社 データ伝送システム
JP3228708B2 (ja) * 1998-04-03 2001-11-12 パイオニア株式会社 伝送システムにおける受信インターフェース装置
KR20000026042A (ko) * 1998-10-16 2000-05-06 서평원 고속데이터 전송장치에 구비되는 선입력선출력메모리를 이용한데이터 다중화/역다중화 회로
US6252419B1 (en) * 1999-01-08 2001-06-26 Altera Corporation LVDS interface incorporating phase-locked loop circuitry for use in programmable logic device
US6636993B1 (en) * 1999-02-12 2003-10-21 Fujitsu Limited System and method for automatic deskew across a high speed, parallel interconnection
JP3630591B2 (ja) * 1999-08-30 2005-03-16 沖電気工業株式会社 クロック乗せ換え方法及び回路
JP3522628B2 (ja) * 1999-11-09 2004-04-26 シャープ株式会社 半導体装置および表示装置モジュール
JP2002082830A (ja) 2000-02-14 2002-03-22 Mitsubishi Electric Corp インターフェイス回路
JP3758953B2 (ja) * 2000-07-21 2006-03-22 富士通株式会社 スキュー補正装置
JP3557612B2 (ja) * 2000-12-05 2004-08-25 日本電気株式会社 低レーテンシ高速伝送システム
JP2002223208A (ja) 2001-01-29 2002-08-09 Nec Corp 多チャネルデータ伝送方法および方式
US6907552B2 (en) * 2001-08-29 2005-06-14 Tricn Inc. Relative dynamic skew compensation of parallel data lines
US7085950B2 (en) * 2001-09-28 2006-08-01 Koninklijke Philips Electronics N.V. Parallel data communication realignment of data sent in multiple groups
US7187741B2 (en) * 2001-10-31 2007-03-06 Nxp B.V. Clock domain crossing FIFO
JP3998532B2 (ja) * 2002-08-07 2007-10-31 株式会社ルネサステクノロジ データ転送装置
TWI298223B (en) * 2002-11-04 2008-06-21 Mstar Semiconductor Inc Data recovery circuit, phase detection circuit and method for detecting and correcting phase conditions
JP4467233B2 (ja) * 2002-12-24 2010-05-26 株式会社日立製作所 位相調整装置、位相調整方法および高速並列信号用スキュー補正装置
JP4456432B2 (ja) * 2004-08-02 2010-04-28 富士通株式会社 基準信号を用いて同期伝送を行う装置および方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853217A (zh) * 2009-03-30 2010-10-06 富士通株式会社 缓存控制装置、信息处理装置和计算机可读记录介质
CN101853217B (zh) * 2009-03-30 2013-02-13 富士通株式会社 缓存控制装置、信息处理装置和计算机可读记录介质
CN104601985A (zh) * 2015-01-14 2015-05-06 华为技术有限公司 信号分析方法、装置和系统
CN104601985B (zh) * 2015-01-14 2017-04-12 华为技术有限公司 信号分析方法、装置和系统
CN108009111A (zh) * 2016-11-01 2018-05-08 华为技术有限公司 数据流连接方法及装置
CN108009111B (zh) * 2016-11-01 2020-02-21 华为技术有限公司 数据流连接方法及装置
CN116521613A (zh) * 2023-07-04 2023-08-01 南京启见半导体科技有限公司 超低延迟的时钟域切换数据传输系统
CN116521613B (zh) * 2023-07-04 2023-08-25 南京启见半导体科技有限公司 超低延迟的时钟域切换数据传输系统

Also Published As

Publication number Publication date
US20060002399A1 (en) 2006-01-05
CN100559750C (zh) 2009-11-11
EP1612690A3 (en) 2006-09-20
JP4291225B2 (ja) 2009-07-08
JP2006019790A (ja) 2006-01-19
KR100669931B1 (ko) 2007-01-16
EP1612690A2 (en) 2006-01-04
KR20060001808A (ko) 2006-01-06
US7620138B2 (en) 2009-11-17
EP1612690B1 (en) 2013-04-03

Similar Documents

Publication Publication Date Title
CN1866815A (zh) 接收并行数据的装置及其方法
CN1131640C (zh) 像点时钟再生方法及装置
CN1160634C (zh) 串行/并行转换电路、数据传送控制装置和电子设备
CN1269049C (zh) 数据传送控制装置及电子设备
CN1664753A (zh) 用于集成设备中功率节流的快速频率切换的方法和系统
CN1089504C (zh) 时钟恢复电路
CN1172249C (zh) 数据传送控制装置和电子设备
CN1269041C (zh) 半导体集成电路和存储器测试方法
CN1735005A (zh) 使用基准信号进行同步数据传输的装置和方法
CN1892894A (zh) 用于半导体存储器芯片和存储系统的高速接口电路
CN1266904C (zh) 数据传送装置
CN1883153A (zh) 时钟恢复电路以及通讯装置
CN1679013A (zh) 同步多信道通用串行总线
CN1883116A (zh) 可变延迟电路
CN1758213A (zh) 带有共享内容的异构型并行多线程处理器(hpmt)
CN1350234A (zh) 采样时钟生成电路、数据传送控制装置和电子设备
CN1284055C (zh) 状态指示检测装置和方法
CN1213372C (zh) 数据传送控制装置、电子机器及数据传送控制方法
CN1266840C (zh) 分别具备时钟生成电路和时钟延迟电路的信息处理装置
CN1728630A (zh) 具有数字接口的半导体器件、存储器元件与存储器模块
CN1199114C (zh) 驱动机构控制装置、控制方法、驱动动作确认方法
CN100351733C (zh) 以低功率动作的时钟控制的时序电路及其电路变更方法
CN1747070A (zh) 半导体电路装置及测试半导体装置系统
CN1164038C (zh) 相位同步环电路
CN101069345A (zh) 滤波器调整电路

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CI01 Correction of invention patent gazette

Correction item: [30] priority [32][33][31]

Correct: [32]2004.06.30[33]JP[31]192626/2004

False: Leak open

Number: 47

Volume: 22

CI02 Correction of invention patent application

Correction item: [30] priority [32][33][31]

Correct: [32]2004.06.30[33]JP[31]192626/2004

False: Leak open

Number: 47

Volume: 22

COR Change of bibliographic data

Free format text: CORRECT: ¢30!PRIORITY ¬¢32!¢33!¢31!; FROM: NON-PUBLICITY TO: ¢32!2004.6.30¢33!JP¢31!192626/2004

ERR Gazette correction

Free format text: CORRECT: ¢30!PRIORITY ¬¢32!¢33!¢31!; FROM: NON-PUBLICITY TO: ¢32!2004.6.30¢33!JP¢31!192626/2004

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091111

Termination date: 20170516

CF01 Termination of patent right due to non-payment of annual fee