CN102292913B - 用于检测和校正并串联电路中的错误的方法和设备 - Google Patents

用于检测和校正并串联电路中的错误的方法和设备 Download PDF

Info

Publication number
CN102292913B
CN102292913B CN201080005614.9A CN201080005614A CN102292913B CN 102292913 B CN102292913 B CN 102292913B CN 201080005614 A CN201080005614 A CN 201080005614A CN 102292913 B CN102292913 B CN 102292913B
Authority
CN
China
Prior art keywords
data
clock signal
response
output
clock
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.)
Active
Application number
CN201080005614.9A
Other languages
English (en)
Other versions
CN102292913A (zh
Inventor
曼登·M·帕托
保罗·T·萨萨奇
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.)
Xilinx Inc
Original Assignee
Xilinx Inc
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 Xilinx Inc filed Critical Xilinx Inc
Publication of CN102292913A publication Critical patent/CN102292913A/zh
Application granted granted Critical
Publication of CN102292913B publication Critical patent/CN102292913B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • G01R31/31726Synchronization, e.g. of test, clock or strobe signals; Signals in different clock domains; Generation of Vernier signals; Comparison and adjustment of the signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/19Monitoring patterns of pulse trains
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • 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
    • H03L7/08Details of the phase-locked loop
    • H03L7/085Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
    • H03L7/095Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal using a lock detector
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Logic Circuits (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

一种电路(301),其具有:第一部分(302),其以第一速率接收数据;第二部分(305),其以与所述第一速率同步但不相同的第二速率输出数据;第三部分(350),其将来自所述第一部分(302)的数据传送到所述第二部分(305);以及第四部分(361),其响应于所述第一速率与第二速率之间的同步性的破坏而产生经错误检测的信号。不同的方面涉及一种方法,所述方法包含:在第一部分(302)中以第一速率接收数据;将来自所述第一部分(302)的数据传送到第二部分(305);以第二速率输出来自所述第二部分(305)的数据,所述第二速率与所述第一速率同步但不相同;以及响应于对所述第一速率与第二速率之间的所述同步性的破坏的检测而产生经错误检测的信号。

Description

用于检测和校正并串联电路中的错误的方法和设备
技术领域
本发明涉及集成电路装置(IC)。更明确地说,本发明涉及IC中的错误检测和校正。
背景技术
可编程逻辑装置(PLD)是众所周知的集成电路类型,其可经编程以执行指定逻辑功能。一种类型的PLD,即,现场可编程门阵列(FPGA),通常包含可编程瓦片的阵列。这些可编程瓦片可包含(例如)输入/输出块(IOB)、可配置逻辑块(CLB)、专用随机存取存储器块(BRAM)、乘法器、数字信号处理块(DSP)、处理器、时钟管理器、延迟锁定环路(DLL)等等。
每一可编程瓦片通常包含可编程互连和可编程逻辑两者。可编程互连通常包含由可编程互连点(PIP)互连的大量不同长度的互连线。可编程逻辑使用可编程元件来实施用户设计的逻辑,所述可编程元件可包含(例如)功能产生器、寄存器、算术逻辑等等。
通常通过将配置数据流(streamofconfigurationdata)加载到内部配置存储器单元中来对可编程互连和可编程逻辑进行编程,所述内部配置存储器单元界定了如何对可编程元件进行配置。可由外部装置从存储器(例如,从外部PROM)读出配置数据或者将配置数据写入FPGA中。个别存储器单元的集体状态于是确定FPGA的功能。
另一类型的PLD是复杂可编程逻辑装置,或者CPLD。CPLD包含两个或两个以上“功能块”,所述“功能块”通过互连开关矩阵连接在一起且连接到输入/输出(I/O)资源。CPLD的每一功能块包含二级与/或(AND/OR)结构,所述二级与/或(AND/OR)结构类似于用于可编程逻辑阵列(PLA)装置和可编程阵列逻辑(PAL)装置中的二级“与/或”结构。在CPLD中,配置数据通常以在芯片上的方式存储于非易失性存储器中。在一些CPLD中,配置数据以在芯片上的方式存储于非易失性存储器中,随后作为初始配置(编程)序列的部分而下载到易失性存储器。
对于所有这些可编程逻辑装置(PLD)来说,所述装置的功能性受到出于所述目的而向所述装置提供的数据位的控制。数据位可存储于易失性存储器(例如,静态存储器单元,如在FPGA和某些CPLD中)、非易失性存储器中(例如,快闪存储器,如在某些CPLD中),或者在任一其它类型的存储器单元中。
通过施加例如金属层等处理层来对其它PLD进行编程,所述处理层以编程方式对装置上的各种元件进行互连。这些PLD被称为掩模可编程装置。还可以其它方式来实施PLD,例如,使用熔丝技术或反熔丝技术。术语“PLD”和“可编程逻辑装置”包含但不限于这些示范性装置,以及涵盖仅部分可编程的装置。举例来说,一种类型的PLD包含硬编码晶体管逻辑与以编程方式对硬编码晶体管逻辑进行互连的可编程交换结构(programmableswitchfabric)的组合。
图1和图2中所示的所述类型的FPGA将通常包含并串联转换器电路。所述电路使用两个时钟信号,所述两个时钟信号中的一者为具有一个速率的较慢时钟,且所述两个时钟信号中的另一者为具有不同速率的较快时钟。较快时钟的频率为较慢时钟的频率的整数倍,其中所述整数为供应到并串联转换器电路的并行数据字中的位的数目。所述电路使用较慢时钟来接收并行数据,并使用较快时钟以串行方式将此数据移出。为了正确进行电路操作,必须维持较快时钟与较慢时钟之间的比率。较快时钟中的假信号(glitch)可能会破坏此比率,且因此引起串行传输的数据发生错误。现有的并串联电路不能够检测此类型的故障。因此,尽管现有的并串联转换器电路大体上已足够用于其既定目的,但其并非在所有方面都是完全令人满意的。
发明内容
一种设备的实施例可包含电路,所述电路具有:数据输入接收部分,其以第一速率接收输入数据;数据输出传输部分,其以与第一速率同步但不相同的第二速率传输来自所述电路的输出数据;数据传送部分,其将来自数据输入接收部分的数据传送到数据输出传输部分;以及错误检测部分,其监视第一速率与第二速率之间的同步性,且响应于第一速率与第二速率之间的同步性的破坏而在输出处产生经错误检测的信号。
数据输入接收部分可响应于在第一速率下运作的第一时钟信号,且数据输出传输部分可响应于在第二速率下运作的第二时钟信号。所述错误检测部分可包含存储元件和比较器,所述存储元件存储指示在第一时钟信号的选定循环数目期间应发生的第二时钟信号的循环数目的比较值,所述比较器将所述比较值与时钟循环值进行比较,其中所述时钟循环值表示从最后与所述比较值相等开始在所述第二时钟信号中已实际发生的循环数目。所述比较器可具有耦合到错误检测部分的输出的输出。
所述错误检测部分可包含捕获部分,所述捕获部分耦合在比较器的输出与错误检测部分的输出之间,并可在比较器的输出处捕获信号以充当经错误检测的信号。
所述捕获部分可包含触发器,所述触发器具有:耦合到比较器的输出的输入、接收第一时钟信号的时钟输入,以及耦合到错误检测电路的输出的输出。
比较值可具有多个位,且时钟循环值可具有多个位。比较器可包含“与非”门,所述“与非”门具有耦合到比较器的输出的输出且可具有多个输入,且可包含多个“异或非”门。所述多个“异或非”门中的每一者可具有接收存储元件中的比较值的相应位的输入、接收时钟循环值的相应位的另一输入以及耦合到“与非”门的相应输入的输出。
错误检测部分可包含捕获部分,所述捕获部分耦合在比较器的输出与错误检测部分的输出之间,并在比较器的输出处捕获信号以充当经错误检测的信号。
所述捕获部分可包含触发器,所述触发器具有:耦合到比较器的输出的输入、接收第一时钟信号的时钟输入以及耦合到错误检测电路的输出的输出。
数据传送部分可包含负载信号产生器,所述负载信号产生器响应于在第一时钟信号的所述选定循环数目中应发生的第二时钟信号的循环数目的发生而产生负载信号,所述负载信号致使数据输出传输部分接收来自数据输入接收部分的数据。
数据输出传输部分可包含移位寄存器,所述移位寄存器具有:耦合到数据输入接收部分的多个输入;响应于负载信号的控制输入;响应于第二时钟信号的时钟输入;以及输出。移位寄存器的所述多个输入可响应于在控制输入处发生的负载信号而并行接收来自数据输入接收部分的数据的相应位,且所述移位寄存器可响应于所述第二时钟信号且在所述控制输入处不发生的负载信号而在其输出处以串行方式输出数据。
数据输入接收部分可响应于在第一速率下运作的第一时钟,且数据输出传输部分响应于在第二速率下运作的第二时钟。
数据输入接收部分可并行地接收输入数据。数据传送部分可致使数据从数据输入接收部分并行地传送到数据输出传输部分。数据输出传输部分可以串行方式传输所述输出数据。第二速率可大于第一速率。
一种方法的实施例可包含:在数据输入接收部分处以第一速率接收数据;将来自数据输入接收部分的数据传送到数据输出传输部分;以第二速率输出来自数据输出传输部分的数据,所述第二速率与第一速率同步但不相同;监视第一速率与第二速率之间的同步性,包含在发生破坏的情况下检测同步性的破坏;以及响应于检测到同步性的破坏而产生经错误检测的信号。
所述方法可包含响应于在第一速率下运作的第一时钟信号而操作数据输入接收部分,以及响应于在第二速率下运作的第二时钟信号而操作数据输出传输部分。所述监视可包含维持指示在第一时钟信号的选定循环数目期间应发生的第二时钟信号的循环数目的比较值。另外,所述监视可包含维持表示从最后与所述比较值相等的时间点开始在所述第二时钟信号中已实际发生的循环数目的时钟循环值,且可包含将所述比较值与时钟循环值进行比较。可随所述比较的结果而变来执行经错误检测的信号的所述产生。
经错误检测的信号的产生可响应于指示所述比较值与时钟循环值不同的所述比较而发生。
经错误检测的信号的产生可与第一时钟信号的沿同步。
所述方法可包含响应于在第一时钟信号的选定数目循环中应发生的第二时钟信号的循环数目的发生而产生负载信号。另外,所述方法可包含将数据输出发射部分配置为具有移位寄存器,所述移位寄存器响应于负载信号的发生而接收来自数据输入接收部分的数据,且所述移位寄存器响应于第二时钟信号且在不发生负载信号时以串行方式输出数据。
所述方法可包含响应于在第一速率下运作的第一时钟信号而操作数据输入接收部分,以及响应于在第二速率下运作的第二时钟信号而操作数据输出传输部分。
所述接收可包含并行地接收数据,且所述传送可包含并行地传送数据,所述输出可包含以串行方式输出数据,且第二速率可大于第一速率。
设备的另一实施例可包含电路,所述电路具有:数据输入接收部分,其以第一时钟速率接收输入数据;数据输出传输部分,其以与第一时钟速率同步但不相同的第二时钟速率传输来自所述电路的输出数据;可编程负载产生器,其耦合到数据输入接收部分和数据输出传输部分,且包含计数器,其中所述计数器由第二时钟速率驱动;寄存器,其包含值;比较器,其耦合到可编程负载产生器和寄存器,以将所述值与计数器的输出进行比较;以及控制电路,其耦合到所述比较器,以检查比较器在第一时钟速率下运作的第一时钟的下降沿处的输出,以确定第一时钟速率与第二时钟速率之间的比率是否已被破坏。
在第一时钟速率与第二时钟速率之间的比率已被破坏的情况下,控制电路可输出复位信号。
附图说明
图1是包含若干个不同类型的可编程逻辑块的高级现场可编程门阵列(FPGA)架构的图解视图。
图2是作为图1的FPGA的替代实施例且包含若干个不同类型的可编程逻辑块的另一FPGA架构的图解视图。
图3是展示作为图1和图2的FPGA架构中的每一者的一部分的并串联转换器电路的电路示意图。
图4是展示图3的电路的操作的若干方面的时序图。
图5是展示作为图3的电路的组件的可编程负载产生器以及将检测用于图3的电路内的较快时钟与较慢时钟之间的比率的破坏的误差检测电路的电路示意图。
具体实施方式
图1是包含若干个不同类型的可编程逻辑块的高级现场可编程门阵列(FPGA)架构100的图解视图。举例来说,图1中的FPGA架构100具有大量的不同可编程瓦片,所述可编程瓦片包含多千兆位收发器(MGT)101、可配置逻辑块(CLB)102、随机存取存储器块(BRAM)103、输入/输出块(IOB)104、配置和计时逻辑(CONFIG/CLOCKS)105、数字信号处理块(DSP)106、专门输入/输出块(I/O)107(例如,配置端口和时钟端口)以及例如数字时钟管理器、模/数转换器、系统监视逻辑等其它可编程逻辑108。FGPA100还包含专用处理器块(PROC)110。
在FGPA100中,每一可编程瓦片包含具有到每一邻近瓦片中的对应互连元件及来自每一邻近瓦片中的对应互连元件的标准化连接的可编程互连元件(INT)111。因此,一起采用的可编程互连元件为所说明的FPGA实施可编程互连结构。如图1顶部处所包含的实例所示,可编程互连元件(INT)111还包含到同一瓦片内的可编程逻辑元件及来自同一瓦片内的可编程逻辑元件的连接。
举例来说,CLB102可包含可经编程以实施用户逻辑的可配置逻辑元件(CLE)112以及单一可编程互连元件(INT)111。除了一个或一个以上可编程互连元件之外,BRAM103可包含BRAM逻辑元件(BRL)113。通常,包含在瓦片中的互连元件的数目取决于所述瓦片的高度。在图示的实施例中,BRAM瓦片具有与五(但也可使用其它数目(例如,四))个CLB相同的高度。除了适当数目个可编程互连元件之外,DSP瓦片106可包含DSP逻辑元件(DSPL)114。除了可编程互连元件(INT)111的一个例子之外,IOB104可包含(例如)输入/输出逻辑元件(IOL)115的两个例子。如所属领域的技术人员将明白,连接到(例如)I/O逻辑元件115的实际I/O垫通常不限于输入/输出逻辑元件115的区域。
在图示的实施例中,接近裸片的中心的柱状区域(在图1中以阴影展示)用于配置、时钟以及其它控制逻辑。从此柱延伸的水平区域109用于跨FPGA的广度而分配时钟和配置信号。在其它实施例中,配置逻辑可位于FPGA裸片的不同区域中,例如,在裸片的拐角中。
一些利用图1中所说明的架构的FPGA包含额外的逻辑块,所述额外的逻辑块破坏组成FPGA的大部分的规则柱状结构。额外的逻辑块可为可编程块和/或专用逻辑。举例来说,图1中所示的处理器块PROC110横跨若干列的CLB和BRAM。
图1说明一个示范性FPGA架构。举例来说,包含在图1的顶部处的一列中的逻辑块的数目、列的相对宽度、列的数目和排序、包含在列中的逻辑块的类型、逻辑块的相对大小、阵列内的逻辑块的位置以及互连/逻辑实施方案纯粹是示范性的。在实际的FPGA中,无论CLB出现在何处,通常包含CLB的一个以上邻近的列,用以促进用户逻辑的有效实施,但邻近的CLB列的数目随FPGA的总大小而变化。
图2示意了图1的FPGA的替代实施例,且所述替代实施例包含若干个不同类型的可编程逻辑块。图2的FPGA200包含CLB202、BRAM203、划分为“I/O组”204的I/O块(其各自包含40个I/O垫和伴随逻辑)、配置和计时逻辑205、DSP块206、时钟I/O207、时钟管理电路(CMT)208、配置I/O217以及配置和时钟分配区域209。
在图2的FPGA200中,示范性CLB202包含单一可编程互连元件(INT)211和两个不同的“片”,片L(SL)212和片M(SM)213。在一些实施例中,所述两个片是相同的(例如,片L的两个副本,或者片M的两个副本)。在其它实施例中,所述两个片具有不同的能力。在一些实施例中,一些CLB包含两个不同的片,而一些CLB包含两个类似的片。举例来说,在一些实施例中,一些CLB列仅包含具有两个不同片的CLB,而其它CLB列仅包含具有两个类似片的CLB。
图3是展示作为图1和图2的FPGA架构中的每一者的一部分的并串联转换器电路301的电路示意图。在图3的左侧处,电路301具有并行地接收输入数据字的数据输入接收部分302,其中每一字可含有至多6个数据位d1到d6。电路301还具有随后在串行输出303处将每一所述字作为输出数据而以串行格式输出的数据输出传输部分305。电路301为6位的片,且可处置来自宽度为2位到6位的并行字。举例来说,将根据数据输入d1到d4来供应4位字,并将在串行输出303处以串行方式输出所述4位字。将根据数据输入d1到d6来供应6位字,并将在串行输出303处以串行方式输出所述6位字。另外,为了处置大小大于6位的并行字,可用另一相同的电路来对电路301进行级联,包含一个所述电路的串行输出303到其它电路的串行输入306的连接。
现在转到电路301的内部结构,为了此论述而假设供应到数据输入接收部分302的并行输入字的宽度为6位。数据输入接收部分302具有数据输入d1到d6以及由6个D型触发器311到316界定的输入寄存器。每一6位输入字以并行格式供应到数据输入d1到d6,通过六个2到1选择器341到346,并加载到输入寄存器(触发器311到316)中。如上文所论述,具有图1和图2中所示的类型的FPGA架构具有由最终用户进行配置或编程的某一能力。作为此编程过程的一部分,用户将对选择器341到346中的每一者进行配置,以向相关联的触发器311到314提供呈现在相关联的数据输入d1到d6处的信号的经反相或未经反相版本。出于此论述的目的,假设用户已将选择器341到346配置为非反相。
在已将6位数据字加载到输入寄存器(触发器311到316)中后,随后在电路301的操作序列中的合适点处(稍后更详细描述),将此6位字并行传送到数据输出传输部分305。所述数据输出传输部分305包含六个2到1选择器321到326,以及由6个D型触发器331到336界定的寄存器。通过所述2到1选择器321到326来并行地接收6位字,并将其加载到寄存器(触发器331到336)中。在已加载了触发器331到336之后,2到1选择器321到326切换到交替模式,其中选择器321到325向每一触发器331到335的数据输入供应触发器332到336中的相应一者的输出,而选择器326向触发器336的数据输入供应串行输入306(如上文所注,其可任选地耦合到另一电路301的串行输出304)处的状态。因此,触发器331到336随后充当串行移位寄存器,且触发器331到336中的数据在串行输出303处以串行方式输出。
将时钟信号oclkdiv_b供应给触发器311到316中的每一者的时钟输入,并将不同的时钟信号oclk_b供应给触发器331到336中的每一者的时钟输入。触发器331到336的时钟信号oclk_b的频率是触发器311到316的时钟信号oclkdiv_b的整数倍,其中所述整数等于并行字中的位的数目。因此,由于已出于此论述目的而假设电路301具备具有6位的并行字,所以时钟oclk_b的频率或速率将是时钟信号oclkdiv_b的频率或速率的6倍。为了方便起见,在本文中有时将时钟信号oclk_b称为较快时钟,且在本文中有时将时钟信号oclkdiv_b称为较慢时钟。
电路301具有数据传送部分350,所述数据传送部分350包含可编程负载产生器351。所述可编程负载产生器351包含接收与触发器331到336相同的时钟信号oclk_b的4位时钟循环计数器352。所述负载产生器351具有输出,以在所述输出处为时钟信号oclk_b的每X个脉冲产生一个输出脉冲,其中X是并行输入字中的位的数目。出于本论述的目的,X为6个脉冲。数据传送部分350还包含“与”门353,所述“与”门353具有接收来自负载产生器351的输出的一个输入,以及接收控制信号“串联启用”(SERIALENABLE)的另一输入。当利用了并串联转换时,信号“串联启用”始终为逻辑高。“与”门353的输出充当作为控制信号而供应到2到1选择器321到326中的每一者的负载信号。可编程负载产生器351连同“与”门353一起充当负载信号产生器。当负载信号解除致动时,选择器321到326经设置以使得触发器331到336作用为5个时钟循环的串行移位寄存器。在负载信号致动时,选择器321到326即刻针对一个时钟循环而切换到并行负载模式,以使得可用来自触发器311到316的数据并行地对触发器331到336进行加载。电路301具有复位信号sr_b,所述复位信号sr_b被供应给可编程负载产生器351、触发器311到316中的每一者以及触发器331到336中的每一者。图4是展示电路301的操作的若干方面的时序图。
如上文所论述,具有图1和图2中所示的类型的FPGA架构具有由最终用户进行配置或编程的某一能力。作为此编程过程的部分,用户将以与并行数据字中的位的数目X一致的方式来配置可编程负载产生器351。因此,如果并行数据字具有X=4位,那么可编程负载产生器351便将经配置以为较快时钟ockl_b就每4个脉冲输出一个脉冲。如果并行字具有X=6位,那么负载产生器351便将经配置以为较快时钟ockl_b就每6个脉冲输出一个脉冲。如果并行字具有X=10位,那么负载产生器351便将经配置以为较快时钟ockl_b就每10个脉冲输出一个脉冲。
为了使电路301正确地操作,必须维持较慢时钟oclkdiv_b与较快时钟oclk_b之间的比率。如果在较快时钟oclk_b中有任何不规则性或“假信号”,那么便将破坏所述比率,且将破坏在含有触发器311到316的寄存器与含有触发器331到336的寄存器之间的同步性。
图5是展示可编程负载产生器351以及图3中未展示但为图3的电路301的一部分的错误检测电路361的电路示意图。所述错误检测电路361将检测在较慢时钟oclkdiv_b(图3)与较快时钟ockl_b的速率之间的比率的破坏。电路361包含4位寄存器366(其为存储元件)。在所揭示的实施例中,用四个存储器单元(未单独说明)来实施寄存器366。如上文所论述,具有图1和图2中所示类型的FPGA架构具有由最终用户进行配置或编程的某一能力。作为此编程过程的部分,用户将指定将永久存储于寄存器366中的4位二进制比较值。将注意到,在图4中,恰好在较慢时钟oclkdiv_b的每一下降沿之前,只要在较快时钟与较慢时钟之间的比率中未存在破坏,负载产生器351就将始终输出同一4位时钟循环值(在图4中表示为十六进制的“d”)。当正在对FPGA架构进行配置时,对图5中的寄存器366进行编程以使其含有表示同一十六进制值“d”的位。尽管图3和图4展示在单数据速率(“SDR”)模式下操作的并串联转换器电路,但在并串联转换器电路经配置以在双数据速率(“DDR”)模式下操作的情况下,本发明的一个或一个以上实施例也适用。
错误检测电路361包含比较器电路368。所述比较器电路368包含四个”异或非”(NOR)门371到374。如上文所提及,负载产生器351含有4位时钟循环计数器,且此计数器的4位中的每一者耦合到四个门371到374中的相应一者的一个输入。寄存器366中的四个存储器单元中的每一者耦合到门371到374中的相应一者的另一输入。比较器368进一步包含“与非”(NAND)门377,所述“与非”门377具有一输出,且具有四个输入,所述四个输入各自耦合到门371到374中的相应一者的输出。错误检测电路361可任选地包含D型触发器380(稍后对其进行论述)。以虚线展示此触发器,以便反映其为任选的这一事实。目前,假设不存在触发器380。“与非”门377的输出是供应到并串联转换器电路301的控制电路386的经错误检测的信号。
控制电路386检查比较器368在每一较慢时钟的下降沿处具有的输出状态。如果比较器368的输出为二进制“0”(因为比较值和时钟循环值相同),那么较快时钟与较慢时钟的比率便未被破坏,且电路301应该正在正确地操作。另一方面,如果比较器368的输出为二进制“1”(因为比较值和时钟循环值不同),那么较快时钟与较慢时钟的比率便已被破坏(例如,由于较快时钟中的假信号的缘故)。控制电路386随后可将复位信号供应给电路301,或者至少供应给负载产生器351,且随后为至少最后三个较慢时钟循环重新发送6位并行数据字,以便确保通过电路301的串行输出以串行方式正确地传输整个数据流。
如上文所提及,可任选地提供触发器380。当存在触发器380时,其数据输入耦合到比较器368的输出,其时钟输入接收较慢时钟oclkdiv_b,且其数据输出耦合到控制电路386。当存在触发器380时,在触发器380中捕获比较器368在较慢时钟信号oclkdiv_b的每一下降沿处的输出。触发器380因此充当捕获部分,且比较器368在触发器380中被捕获的输出充当经错误检测的信号。
尽管已详细说明和描述了选定实施例,但应了解,在不脱离如由所附权利要求书所界定的本发明的精神和范围的情况下,替代和变更是有可能的。

Claims (9)

1.一种包括电路的设备,所述电路具有:
数据输入接收部分,其响应于在第一速率下运作的第一时钟信号而并行地接收输入数据;
数据输出传输部分,其响应于在第二速率下运作的第二时钟信号而以串行方式传输来自所述电路的输出数据,所述第一速率与所述第二速率同步但不相同;
负载信号产生器,其包含用于计算所述第二时钟信号的脉冲的计数器且输出循环计数值,且所述负载信号产生器经配置以响应于在所述第一时钟信号的选定循环数目中应发生的所述第二时钟信号的循环数目的发生而产生负载信号,所述循环计数值表示从最后与比较值相等开始所述第二时钟信号的循环数目,且所述负载信号致使所述数据输出传输部分接收来自所述数据输入接收部分的数据;以及
错误检测部分,其包含:
存储元件,用以存储所述比较值,所述比较值表示在所述第一时钟信号的所述选定循环数目期间应发生的所述第二时钟信号的循环数目;
比较器,其耦合到所述存储元件和所述计数器,所述比较器经配置以比较所述循环计数值的位和所述比较值;且
捕获部分,其耦合到所述比较器和经配置以捕获所述比较器在所述第一时钟信号的每一个循环处的输出,其中所述错误检测部分经配置而产生经错误检测的信号,以响应于所述比较器的经捕获输出指示出所述循环计数值和所述比较值不同。
2.根据权利要求1所述的设备,
其中所述比较值具有多个位,且所述循环计数值具有多个位;且
其中所述比较器包含“与非”门和多个“异或非”门,其中所述“与非”门具有耦合到所述比较器的所述输出的输出且具有多个输入,且其中所述多个“异或非”门中的每一者具有接收所述存储元件中的所述比较值的相应位的输入、接收所述循环计数值的相应位的另一输入以及耦合到所述“与非”门的相应输入的输出。
3.根据权利要求1或2所述的设备,其中所述数据输出传输部分包含移位寄存器,所述移位寄存器具有:耦合到所述数据输入接收部分的多个输入;响应于所述负载信号的控制输入;响应于所述第二时钟信号的时钟输入;以及输出,所述移位寄存器的所述多个输入响应于在所述控制输入处发生的所述负载信号而以并行方式接收来自所述数据输入接收部分的数据的相应位,且所述移位寄存器在其输出处以串行方式输出数据,以响应于所述第二时钟信号和在所述控制输入处不发生的所述负载信号。
4.根据权利要求1或2所述的设备,其中所述数据输入接收部分响应于在所述第一速率下运作的第一时钟,且所述数据输出传输部分响应于在所述第二速率下运作的第二时钟。
5.根据权利要求1或2所述的设备,
其中所述数据输入接收部分并行地接收所述输入数据;
其中所述负载信号产生器致使数据从所述数据输入接收部分并行地传送到所述数据输出传输部分;
其中所述数据输出传输部分以串行方式传输所述输出数据;且
其中所述第二速率大于所述第一速率。
6.一种操作具有数据输入接收部分和数据输出传输部分的电路的方法,所述方法包括:
在所述数据输入接收部分响应于在第一速率下运作的第一时钟信号而并行地接收数据;
计算第二时钟信号的循环且产生循环计数值,以指示所计算的所述第二时钟信号的循环数目;
响应于在所述第一时钟信号的选定循环数目中应发生的所述第二时钟信号的循环数目的发生而产生负载信号,所述循环计数值表示从最后与比较值相等开始所述第二时钟信号的循环数目;
响应于所述负载信号以将来自所述数据输入接收部分的数据传送到所述数据输出传输部分;
响应于在第二速率下运作的第二时钟信号而以串行方式输出来自所述数据输出传输部分的数据,所述第二速率与所述第一速率同步但不相同;
存储所述比较值;
通过比较器比较所述循环计数值的位和所述比较值,所述比较值表示在所述第一时钟信号的所述选定循环数目期间应发生的所述第二时钟信号的循环数目;
捕获所述比较器在所述第一时钟信号的每一个循环处的输出;以及
响应于指示所述循环计数值和所述比较值不同的所述比较器的经捕获输出而产生经错误检测的信号。
7.根据权利要求6所述的方法,其中所述经错误检测的信号的所述产生与所述第一时钟信号的沿同步。
8.根据权利要求6所述的方法,
包含将所述数据输出传输部分配置为具有移位寄存器,所述移位寄存器响应于所述负载信号的发生而接收来自所述数据输入接收部分的数据,且所述移位寄存器响应于所述第二时钟信号且在不发生所述负载信号时以串行方式输出数据。
9.根据权利要求6到8中任一权利要求所述的方法,
其中所述接收包含并行地接收数据;
其中所述传送包含并行地传送数据;
其中所述输出包含以串行方式输出数据;且
其中所述第二速率大于所述第一速率。
CN201080005614.9A 2009-01-31 2010-01-08 用于检测和校正并串联电路中的错误的方法和设备 Active CN102292913B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14892509P 2009-01-31 2009-01-31
US61/148,925 2009-01-31
US12/474,248 US7971115B2 (en) 2009-01-31 2009-05-28 Method and apparatus for detecting and correcting errors in a parallel to serial circuit
US12/474,248 2009-05-28
PCT/US2010/020560 WO2010088016A2 (en) 2009-01-31 2010-01-08 Method and apparatus for detecting and correcting errors in a parallel to serial circuit

Publications (2)

Publication Number Publication Date
CN102292913A CN102292913A (zh) 2011-12-21
CN102292913B true CN102292913B (zh) 2016-01-20

Family

ID=42396272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080005614.9A Active CN102292913B (zh) 2009-01-31 2010-01-08 用于检测和校正并串联电路中的错误的方法和设备

Country Status (6)

Country Link
US (1) US7971115B2 (zh)
EP (1) EP2384544B1 (zh)
JP (1) JP5232308B2 (zh)
KR (1) KR101263110B1 (zh)
CN (1) CN102292913B (zh)
WO (1) WO2010088016A2 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130016810A (ko) * 2011-08-09 2013-02-19 에스케이하이닉스 주식회사 내부제어신호 조절회로
IN2014CH00439A (zh) * 2014-01-30 2015-08-07 Mentor Graphics Corp
DE102016201141B4 (de) * 2016-01-27 2017-11-16 Wago Verwaltungsgesellschaft Mbh Sicherheitsanordnung
CN107423153B (zh) * 2017-07-24 2020-01-21 上海交通大学 一种用于错误检测与校正技术的校正电路
CN110196781B (zh) * 2019-06-11 2021-04-02 中国科学院长春光学精密机械与物理研究所 基于点负载的fpga加载配置问题检查方法
FR3100346B1 (fr) * 2019-09-04 2022-07-15 St Microelectronics Rousset Détection d'erreurs
US11334426B2 (en) * 2020-04-20 2022-05-17 Micron Technology, Inc. CRC error alert synchronization

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1249936A2 (en) * 2001-04-10 2002-10-16 Nec Corporation Lock detection circuit
WO2004038994A1 (en) * 2002-10-25 2004-05-06 Koninklijke Philips Electronics N.V. Device for exchanging data signals between two clock domains
US7091890B1 (en) * 2004-08-17 2006-08-15 Xilinx, Inc. Multi-purpose source synchronous interface circuitry

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5065396A (en) * 1990-01-02 1991-11-12 At&T Bell Laboratories Inverse multiplexer and demultiplexer techniques
US5062105A (en) * 1990-01-02 1991-10-29 At&T Bell Laboratories Programmable multiplexing techniques for mapping a capacity domain into a time domain within a frame
JP3135990B2 (ja) * 1992-07-31 2001-02-19 沖電気工業株式会社 パリティ付加回路
JPH10322200A (ja) 1997-05-21 1998-12-04 Mitsubishi Electric Corp 位相ロック検出回路
US6581183B1 (en) * 2000-03-30 2003-06-17 International Business Machines Corporation System and method for resynchronization of transmit and receive compression dictionaries
JP3501732B2 (ja) * 2000-06-23 2004-03-02 日本電気通信システム株式会社 パラレルシリアル変換回路
US7593432B2 (en) * 2001-03-31 2009-09-22 Redback Networks Inc. Method and apparatus for deframing signals
US7406118B2 (en) * 2003-09-11 2008-07-29 Xilinx, Inc. Programmable logic device including programmable multi-gigabit transceivers
US7289589B2 (en) * 2003-10-01 2007-10-30 Northrop Grumman Corporation Maximum likelihood bit synchronizer and data detector
TW200731702A (en) * 2005-07-29 2007-08-16 Koninkl Philips Electronics Nv Data stream synchronization
US7567449B2 (en) * 2006-10-27 2009-07-28 Xilinx, Inc. One-time-programmable logic bit with multiple logic elements
US7812664B1 (en) * 2007-07-19 2010-10-12 Xilinx, Inc. Method of and circuit for suppressing noise in a circuit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1249936A2 (en) * 2001-04-10 2002-10-16 Nec Corporation Lock detection circuit
WO2004038994A1 (en) * 2002-10-25 2004-05-06 Koninklijke Philips Electronics N.V. Device for exchanging data signals between two clock domains
US7091890B1 (en) * 2004-08-17 2006-08-15 Xilinx, Inc. Multi-purpose source synchronous interface circuitry

Also Published As

Publication number Publication date
EP2384544B1 (en) 2016-12-28
WO2010088016A2 (en) 2010-08-05
JP5232308B2 (ja) 2013-07-10
US20100199136A1 (en) 2010-08-05
KR20110110288A (ko) 2011-10-06
EP2384544A2 (en) 2011-11-09
CN102292913A (zh) 2011-12-21
US7971115B2 (en) 2011-06-28
KR101263110B1 (ko) 2013-05-09
JP2012516642A (ja) 2012-07-19
WO2010088016A3 (en) 2011-03-10

Similar Documents

Publication Publication Date Title
CN102292913B (zh) 用于检测和校正并串联电路中的错误的方法和设备
US7212448B1 (en) Method and apparatus for multiple context and high reliability operation of programmable logic devices
US8786310B1 (en) Partially programming an integrated circuit using control memory cells
US7036059B1 (en) Techniques for mitigating, detecting and correcting single event upset effects in systems using SRAM-based field programmable gate arrays
US7576557B1 (en) Method and apparatus for mitigating one or more event upsets
US8099625B1 (en) Self-checking and self-correcting internal configuration port circuitry
US8350590B1 (en) Method and apparatus for distributing clock signals
US9075930B2 (en) Configurable embedded memory system
JP6250188B2 (ja) Serdes受信機オーバーサンプリングレート
US8015530B1 (en) Method of enabling the generation of reset signals in an integrated circuit
US8909941B1 (en) Programmable integrated circuit and a method of enabling the detection of tampering with data provided to a programmable integrated circuit
US7589558B1 (en) Method and apparatus for configuring an integrated circuit
US7576558B1 (en) Apparatus and method for enhanced readback of programmable logic device state information
CN105009455A (zh) 同步数字系统中对芯片间通信的多频率时钟漂移控制
US7266020B1 (en) Method and apparatus for address and data line usage in a multiple context programmable logic device
US8917111B1 (en) Configuration of programmable integrated circuits
US9252778B2 (en) Robust flexible logic unit
US10515047B1 (en) Pipelined data channel with ready/valid handshaking
US7250786B1 (en) Method and apparatus for modular redundancy with alternative mode of operation
US7990173B1 (en) Single event upset mitigation
US7242217B2 (en) Output reporting techniques for hard intellectual property blocks
US8874999B1 (en) Pulse width determination for phase detection
US8713409B1 (en) Bit error mitigation
US7305599B1 (en) Testing propagation delay of a shift register using a ring oscillator
US7683663B1 (en) Authorization of an implementation of a user design in a programmable integrated circuit

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant