CN103155413A - 用于现场可编程门阵列(fpga)芯片组中的延迟电路的查找表 - Google Patents
用于现场可编程门阵列(fpga)芯片组中的延迟电路的查找表 Download PDFInfo
- Publication number
- CN103155413A CN103155413A CN2011800092173A CN201180009217A CN103155413A CN 103155413 A CN103155413 A CN 103155413A CN 2011800092173 A CN2011800092173 A CN 2011800092173A CN 201180009217 A CN201180009217 A CN 201180009217A CN 103155413 A CN103155413 A CN 103155413A
- Authority
- CN
- China
- Prior art keywords
- signal
- data
- delay
- chip group
- fpga chip
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1731—Optimisation thereof
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
提供一种方法、查找表(LUT)的新用途和现场可编程门阵列(FPGA)芯片组用于延迟数据信号。FPGA包括输入和操作地连接到接口并从接口接收数据信号和时钟信号的LUT的集。LUT的集按延迟将数据信号延迟,使得从LUT的集输出的对应第一延迟的数据信号与时钟信号同步,以便FPGA芯片组执行延迟的数据信号的适当采样。FPGA芯片组的制造过程包括计算用于延迟数据信号和使数据信号与时钟信号同步以满足芯片组的要求的延迟,计算用于延迟数据信号的LUT的数量,以及在数据信号的数据路径中实现该数量的LUT。
Description
技术领域
本发明涉及现场可编程门阵列(FPGA)芯片组的领域。
背景技术
现场可编程门阵列(FPGA)是设计成由客户或设计人员在制造后配置的集成电路。可使用类似于用于专用集成电路(ASIC)的语言的硬件描述语言(HDL)来指定FPGA配置。FPGA能够用于实现ASIC能够执行的任何逻辑功能。在发货后更新功能性的能力、设计部分的部分重新配置及相对于ASIC设计的低偶生工程成本(尽管通常更高的单位成本)对于许多应用提供了优点。FPGA包含称为“逻辑块”的可编程逻辑组件和允许块“连线在一起”,有点像能够在不同配置中互连线的许多(可更改)逻辑门的可重新配置互连的层次。逻辑块能够配置成执行复杂的组合功能,或者只是像“与”和“异或”等简单的逻辑门。在大多数FPGA中,逻辑块也包括存储器元件,存储器元件可以是简单的触发器或更完整的存储器块。FPGA在其内部可编程互连结构上携带数字一和零。FPGA的应用包括数字信号处理、软件定义的无线电、航空航天和防卫***、ASIC原型设计、医学成像、计算机视觉、语音识别、加密、生物信息学、计算机硬件仿真、射电天文学、金属检测及其它领域的增长范围。
现在参照示出FPGA单元104的现有技术实现的高级示范图的图1(现有技术)。FPGA单元要从存储器单元100接收时钟信号106和数据信号108。在许多情况下,要求使用延迟单元102以便调整数据信号108的相位对时钟信号106(图1中示为DQS)的相位,以便满足FPGA单元的要求。延迟单元102例如用于延迟数据信号108的相位,并且输出延迟的数据信号112以便在FPGA单元104中输入,信号的相位对时钟的相位得到调整以满足FPGA芯片组的要求。因此,延迟单元102的目的是调整数据信号的相位对时钟信号的相位(可能不一定完全如在示范图形1中以图形方式所示),使得FPGA单元的处理单元119(也称为寄存器单元)能够进行数据信号的适当读取和采样。虽然理解延迟单元102也可用于稍微延迟时钟信号,例如,由于单元102的导线和电路引起的延迟,但此类延迟极小,并因此在图2的示范图示中未考虑。最后,根据现有技术实现,延迟单元102在存储器单元100(例如,DRAM单元)与FPGA芯片组104之间实现,以便例如按某个延迟值移动数据信号108的相位。然而,使用在FPGA芯片组104外部的延迟单元102的此方案具有几个缺点。首先,延迟单元102在印刷电路板(PCB)上需要额外的空间,并且因此,此类布局更昂贵,且更难以设计。其次,此类电路的RC(电阻器-电容器)参数调整也更复杂(这是因为延迟值取决于电阻器值和电容器值,这些值也与诸如噪声、边缘时间等信号质量有关)。
现在另外参照图2(现有技术),图2示出另一现有技术实现的高端图示,其中,内部专用延迟单元102'在FPGA单元104'内使用和实现以便调整数据信号相位。在此实现中,存储器单元100发出与前面相对于图1所述相同的时钟信号106(图2中也示为DQS)和数据信号108。为调整数据和时钟信号以适当地满足FPGA单元的要求,在FPGA单元104'内***了内部延迟单元102'。延迟单元102'接收时钟信号106和数据信号108,并且按某个延迟值将数据信号延迟,因此产生满足FPGA单元118的要求的延迟的数据信号112(注意,相位对准可不一定如图1中以图形方式所示)。虽然理解延迟单元102'也可用于稍微延迟时钟信号,例如,由于单元102'的导线和电路引起的延迟,但此类延迟极小,并因此在图2的示范图示中未考虑。随后,在FPGA的处理单元118中输入延迟的数据信号112,使得能够实现数据信号的适当读取和处理(例如,采样)。图2中所示实现的类型基本上适用于高端FPGA芯片组,其中,专用延迟单元在FPGA芯片组内实现以便进行数据信号相位调整。在此类实现中,设计人员能够直接使用延迟单元以便控制数据信号的延迟值。然而,由于内部延迟单元的成本原因,仅高端系列的更新FPGA芯片组包含专用延迟单元。另外,一些FPGA芯片组的延迟单元可需要高达200 MHz的特殊高频以便正常操作。在许多设计中,此时钟速度在没有延迟单元时是不需要的,并且因此此类实现通常使得FPGA单元更昂贵。
因此,应容易理解,为克服现有解决方案的缺陷和不足,具有用于在FPGA单元中同步数据信号和时钟信号的有效、不昂贵和简单的解决方案会是有利的。
发明内容
通过本发明,避免一般在FPGA芯片组中使用的专用延迟电路的必要,以及使用FPGA芯片组内的查找表的一个或多个适当集实现一个或多个数据信号的相位的适当调整变得可能。这节省了在PCB上(与例如现有技术的外部延迟电路相比)或在FPGA芯片内(与内部FPGA延迟电路相比)的空间。同样地,由于本发明提议使用LUT作为延迟电路,并且由于LUT在许多时候无论如何在FPGA芯片组内是需要的,因此,本发明也允许降低与FPGA芯片组制造相关联的成本。
在一个实施例中,本发明是现场可编程门阵列(FPGA)芯片组,其包括输入接口和操作地连接到输入接口并从输入接口接收数据信号和时钟信号的一个或多个查找表(LUT)的集。LUT的集按延迟值将数据信号延迟,使得从LUT的集输出的对应延迟的数据信号与时钟信号同步,以便FPGA芯片组的处理单元执行第一延迟的数据信号的适当采样。
在另一实施例中,本发明是一种用于FPGA芯片组中的信号延迟的方法,方法通过在操作地连接到FPGA芯片组的输入接口的一个或多个查找表(LUT)的集从输入接口接收数据信号开始。方法随后允许由LUT的集按延迟值将数据信号延迟,使得从一个或多个LUT的第一集输出的对应第一延迟的数据信号与时钟信号同步,以便FPGA芯片组的处理单元执行第一延迟的数据信号的适当采样。
在又一实施例中,本发明是制造包括用于延迟一个或多个数据信号的一个或多个LUT的集的FPGA芯片组的过程,过程包括计算用于延迟数据信号的延迟值,以便数据信号与时钟信号同步,使得在数据信号和时钟信号的相位之间的关系满足FPGA芯片组的保持时间要求和建立时间要求。方法还包括计算按延迟值延迟数据信号需要的LUT的第一数量,以及在数据信号的数据路径中实现按第一延迟值延迟第一信号需要的该数量的LUT。
在再一实施例中,本发明是在FPGA芯片组中的一个或多个LUT的集的新用途,其中,LUT的集用于按延迟值将数据信号延迟,以便数据信号与时钟信号同步,其中,在数据信号和时钟信号的相位之间的关系满足FPGA芯片组的保持时间要求和建立时间要求。
附图说明
为更详细地理解本发明、它的另外目的和优点,现在能够结合附图,参照以下说明,其中:
图1(现有技术)是连接到FPGA单元的延迟电路的第一现有技术实现的高级框图表示;
图2(现有技术)是在FPGA单元内实现的内部延迟单元的另一现有技术实现;
图3是本发明的一示范优选实施例的高级框图表示;
图4.a是与FPGA单元的建立时间要求有关的本发明的一优选实施例的示范高级表示;
图4.b是与FPGA单元的保持时间要求有关的本发明的一优选实施例的示范高级表示;
图4.c是与FPGA单元的保持时间和建立时间要求均有关的本发明的一优选实施例的示范高级表示;
图5是与包括一个或多个查找表的延迟单元的使用有关的本发明的一优选实施例的示范高级表示;
图6是与用于制造包括带有一个或多个LUT的延迟单元的FPGA芯片组的方法有关的本发明的一优选实施例的示范高级表示;
图7.a是与计算发送到FPGA芯片组的数据信号的最小延迟时间有关的本发明的一优选实施例的示范高级表示;
图7.b是与计算发送到FPGA芯片组的数据信号的最大延迟时间有关的本发明的一优选实施例的示范高级表示;以及
图8是与在FPGA芯片组中用于延迟多个数据信号的多个延迟单元的使用有关的本发明的一优选实施例的示范高级表示。
具体实施方式
将特别参照各种示范实施例来描述本发明的创新教导。然而,应理解,此实施例类只提供本发明的创新教导的许多有利使用的几个示例。通常,本申请的说明书中所做的陈述不一定限制本发明的各种要求保护的方面中的任何方面。另外,一些陈述可适用于一些发明特征但不适用于其它特征。在附图中,在几个视图中用相同的标号来标明相像或类似的元件。
FPGA芯片组对数据信号采样时,数据信号与对应时钟信号的相位关系必须满足FPGA芯片组本身施加的一系列要求。如果数据信号相位未经调整并且以某种方式与从存储器单元接收的时钟信号的相位适当同步,则FPGA芯片组要求未得到满足,并且不能执行数据信号的适当读取和处理。
本发明的实施例确保在数据信号与时钟信号之间的相位关系以有效和不昂贵的方式满足FPGA芯片组的要求。在一些实施例中,本发明提供一种新FPGA芯片组实现,其使用查找表(LUT)以便延迟在击中FPGA芯片组的处理单元(也称为寄存器)前需要与时钟信号同步的一个或多个数据信号。另外,本发明的优选实施例还提供一种通过使用一个或多个LUT的集(或多个集)来延迟数据信号以便在数据信号和时钟信号输入FPFA芯片组的处理单元或寄存器前延迟数据信号并将其相位和时钟信号同步的方法。在一些实施例中,本发明提供不那么昂贵的FPGA芯片组,其中,使用LUT以便执行在现有技术中以前由专用延迟电路执行的操作,专用延迟电路昂贵,并且难以在FPGA芯片组和/或PCB的有限空间中实现。因此,本发明例如通过使***设计更简单而允许节省PCB空间和成本。同样地,通过包括但不限于SD-RAM、DDR或QDR接口等许多类型的DRAM到FPGA接口,可使用和实现本发明的实施例。最后,可为需要在FPGA芯片组中输入的各种类型和数量的数据信号和/或时钟信号实现本发明的实施例。例如,在本发明的一些实施例中,查找表的不同集能够在各种数据信号或时钟信号的数据路径中用于为每个此类数据信号提供调整和个性化类型的延迟。
现在参照图3,图3示出在FPGA芯片组302中实现的本发明的一优选实施例。图3中示出了连接到FPGA芯片组302的存储器单元300。前者包括操作地连接到查找表308、310和312的集307的输入接口303,而集本身另外连接到处理单元/采样寄存器320。存储器300将时钟信号304和第一数据信号306发送到FPGA芯片组302。信号304和306在芯片组302的输入接口303被接收,并且对应的信号304'和306'另外从输入接口向FPGA芯片组302的处理单元/采样寄存器320发送。信号304'和306'对应于由输入接口303从前接收并且可能稍微延迟(例如,由于内部导线和电路的原因)的信号304和306。在从存储器单元300发送并且在FPGA芯片组302接收时钟信号306和数据信号304时,其相位可如图3中所示对准,即,处于相位同步(时钟信号304'的上升/活动缘在时间上对应于数据信号块的开始)。然而,在时钟信号304'与数据信号306'之间的此相位对准未满足FPGA芯片组的采样要求(这是因为每个FPGA芯片组对在数据信号与时钟信号之间要求的同步有特殊要求,以进行数据信号的适当读取和处理)。因此,在本示范情形中,假设数据信号306'需要按(例如以纳秒测量的)某个延迟值延迟以便满足FPGA芯片组302的要求。为此,根据本发明的一优选实施例,在数据信号306'的数据路径中提供查找表(LUT) 308、310、312的集307以便按某个延迟值将信号延迟,使得从LUT的集307输出经调整和延迟的数据信号316。假设延迟的数据信号316具有满足FPGA芯片组的要求的相对于时钟信号304'的信号相位,使得延迟的数据信号316和时钟信号304'均能够在FPGA芯片组302的处理单元302中输入以进行适当的另外处理。
FPGA芯片组的采样要求通常由两(2)部分组成。首先,需要建立时间(setup time)要求以便FPGA单元302(并且更具体地说,处理单元320)能够对数据信号适当地读取和采样。
现在参照图4.a,图4.a示出为示范时钟信号304'和示范数据信号316计算的建立时间要求400的示例。建立时间被定义为在时钟信号的活动(上升)缘前数据信号必须稳定以便FPGA单元能够适当读取数据信号的最小时间量。对此最小要求的时间的任何违例将造成捕捉不正确的数据,并且称为设置违例。在图4.a中,建立时间400计算为从数据块的开始直至时钟信号(DQS)的上升缘。
其次,如图4.b中示范地示出,FPGA采样要求也包括保持时间,其定义为在时钟信号的活动缘后数据必须稳定以便进行适当读取的最小时间量。图4.b中示出与保持时间要求402的计算有关的示范时钟信号304'和相同示范数据信号316'。对此要求的时间的任何违例将造成捕捉不正确的数据,并且称为保持违例。保持时间402计算为从时钟信号(DQS) 304'的上升缘直至数据信号316的数据块的末端。
在FPGA芯片组302通过使用时钟信号对数据信号采样时,数据信号与时钟信号的相位关系必须满足建立时间和保持时间要求两者以便进行适当采样。这意味着时钟信号的上升缘必须(大致)在数据信号块的中间,并且时钟信号的下降缘必须(大致)在数据信号块的中间(这是因为FPGA使用上升和下降缘两者对数据采样)。
现在参照图4.c,图4.c示出在建立时间400和保持时间402两者方面满足FPGA芯片组的采样要求的时钟信号304'和经调整和延迟的数据信号316的示范相位关系。如果时钟信号(DQS)的缘落在图4.c的数据信号316的阴影区域中,则建立时间400和保持时间402要求均得以满足。此类数据信号316可由FPGA芯片组302的LUT的集307输出,并且可输入到处理单元320以进行适当采样和另外处理。
现在联合参照图3和图5,其示出根据本发明的一优实施例的用作FPGA芯片组302中的延迟单元的LUT的集307的示范图示。图5示出一旦时钟信号304'和数据信号306'已通过输入接口303,便经输入接口303在FPGA芯片组中接收的时钟信号304'和数据信号306'。信号304'和306'对应于带有例如接口303造成的一些引起的延迟的信号304和306。在数据信号306'击中延迟单元307前,数据信号306的相位与时钟信号304'的相位未适当对准以满足保持时间和设置的要求。因此,将数据信号306'通过包含一个或多个LUT的延迟单元307,使得按某个延迟值将它延迟。选择延迟值,使得在LUT延迟单元307的输出,延迟的数据信号316被生成并具有与时钟信号之一适当对准的信号相位以满足那些要求。随后,时钟信号304'和延迟的数据信号316(其相位关系现在满足建立时间要求和保持时间要求)均在数据采样寄存器320中输入以用于另外处理。更具体地说,LUT延迟单元307对数据信号306'引起的延迟相对于时钟信号调整数据信号316的相位,使得时钟信号的上升缘在例如数据信号的D1块的中间,并且还使时钟信号的下降缘与数据信号的D2数据块的中间对准。这样,FPGA的建立时间和保持时间要求均得以满足。图5示出LUT延迟单元307延迟数据信号,使得时钟信号DQS的上升缘2能够在数据信号的D1块的中间。
图7.a和7.b示出与计算用于使用包括一个或多个LUT的延迟单元307来延迟数据信号的延迟值有关的本发明的更详细实施例。此类延迟值可计算为在如下所述计算的最小延迟值与最大延迟值之间的值,或其平均值或大致其平均值。
现在具体参照图7.a,图7.a示出与计算最小延迟值的方式有关的本发明的一优选实施例的更详细表示,最小延迟值用于在FPGA芯片组中将数据信号延迟以便该数据信号和其对应时钟信号的相位关系满足FPGA芯片组的建立时间和保持时间要求。图7.a示出用于计算最小延迟值的以下信号:
- DQS_DDR_Output是由存储器单元300输出的时钟信号304,
- DATA_DDR_Output是由存储器单元300输出的数据信号306,
- DQS_FPGA_Input是一旦时钟信号进入FPGA芯片组302,例如在由输入接口303接收后,便稍微延迟的时钟信号304'(相对于信号304)。DQS_FPGA_Input相对信号304的延迟可以是由于接口303的导线和其它电路的原因。
- DATA_FPGA_Input是一旦数据信号进入FPGA芯片组302,例如在由输入接口303接收后,便稍微延迟的数据信号306'(相对于信号306)。DATA_FPGA_Input信号306'(相对于信号306)的延迟可以是由于接口303的导线和其它电路的原因。
并且还示出用于计算最小延迟值的以下参数:
- DCLK(延迟的时钟值):所有信号在进入FPGA芯片组时被延迟;DCLK 304'是时钟信号(DQS) 304的延迟值。能够从FPGA设计工具或规范获得准确的DCLK延迟值。在图7.a中,DCLK计算为从DQS_DDR输出304的下降缘到DQS_FPGA输入304'的相同下降缘。
- Ddata_pad(延迟的数据信号值):所有信号在进入FPGA芯片组时被延迟;Ddata_pad是一旦数据信号进入FPGA芯片组302后,但在被LUT延迟单元307延迟前数据信号的延迟的值。Ddata_pad的准确延迟值也能够由FPGA设计工具提供。在图7.a中,Ddata_pad例如计算为从DATA_DDR输出D2块的开始到DATA_FPGA输入D2块的开始(使用D2数据块便于公式计算和说明目的)。
- Thold_min:如前面所述,它是保持时间。它被定义为在时钟块的活动缘后数据信号必须稳定以便进行适当读取的最小时间量。对此要求的时间的任何违例将造成捕捉不正确的数据,并且称为保持违例。能够从FPGA芯片组的数据表或从设计工具获得Thold_min。
- Tdelay_Min:它是必须由LUT延迟单元307对数据信号 引起的最小延迟值,用于确保如此延迟的数据信号316和延迟的时钟信号304'的相位关系满足FPGA芯片组的要求(例如,能够正确地对数据采样)。它意味着从时钟的上升缘到数据块的末端的值必须优于Thold_min。Tdelay_min能够计算如下:
其中,TCycle是DQS_FPGA_input的周期。
现在参照图7.b,图7.b示出与最大延迟值的计算有关的本发明的一优选实施例,最大延迟值要用于延迟要在FPGA芯片组中输入的数据信号以便该数据信号和对应时钟信号的相位关系满足FPGA芯片组的建立时间和保持时间要求。图7.b示出除以下之外与前面相对于7.a详细所述相同的信号和参数:
- Tsetup_min:如前面所述,它是建立时间。它被定义为在时钟信号的活动(上升)缘前数据信号必须稳定以便FPGA单元能够适当读取(采样)数据信号的最小时间量。对此要求的建立时间的任何违例将造成捕捉不正确的数据,并且称为建立时间违例。能够从FPGA芯片组的数据表或从设计工具获得Tsetup_min。
- Tdelay_Max:它是必须由LUT延迟单元307对数据信号306'引起的最大延迟值,以便确保如此延迟的数据信号316和延迟的时钟信号304'的相位关系满足FPGA芯片组的要求(例如,能够正确地对数据采样)。
Tdelay_max能够计算如下:
其中,TCycle是DQS_FPGA_input的周期。
根据本发明的优选实施例之一,一旦最小延迟值Tdelay_Min和最大延迟值Tdelay_max的值均如本文上面所述计算得出,LUT延迟单元317便能够配置成按在这两个值之间包括的延迟值将数据信号306'延迟,使得FPGA芯片组在保持时间和建立时间方面的要求均得以满足。在一特殊实施例中,计算Tdelay_max和Tdelay_min的平均值,并且配置LUT延迟单元317以便对数据信号306'引起对应于Tdelay_max和Tdelay_min的平均值的延迟。只要其它延迟满足最小和最大延迟值的要求,便也可计算其它延迟。
现在参照图6,图6是与制造包括一个或多个查找表的集的FPGA芯片组的过程有关的本发明的一优选实施例的示范流程图,一个或多个查找表的集用于延迟一个数据信号(或多个数据信号),使得在数据信号与其对应时钟信号之间的相位关系满足FPGA芯片组的指定要求。根据本发明的此示范优选实施例,提议的制造过程包括计算用于将第一数据信号延迟以便数据信号与时钟信号同步的第一延迟值,随后计算按该延迟值延迟第一数据信号需要的查找表的第一数量,以及在第一数据信号的数据路径中实现按第一延迟值将第一信号延迟需要的第一数量的查找表。更详细地说,过程600在动作602中开始,并且在动作604中,FPGA设计工具例如用于预实现提议的FPGA芯片组设计以便获得时钟延迟值和数据暂记区(data pad)延迟值。此外,在动作606中,该过程允许计算最大延迟值Tdelay_max和最小延迟值Tdelay_min,例如,如本文中前面相对于图7.a和7.b所述。在动作608中,计算数据信号延迟值,如通过平均如在动作606中计算的最大延迟值Tdelay_max和最小延迟值Tdelay_min。在动作610中,诸如从规范数据库或与LUT有关的数据表提取被认为在FPGA芯片组中实现的每个查找表的延迟值。在动作612中,该过程计算实现如在动作608中计算的要求延迟值需要的查找表的类型和数量。动作612也可包括例如确定LUT连接的拓扑,即,确定数量和类型的LUT应该如何连接在一起以便全局地产生用于数据信号的所期望延迟。在动作614中,在数据信号的路径中添加适当的类型和数量的查找表以便获得要求的延迟值。此外,在动作616中,保存对应时间约束,如保存FPGA设计工具生成的时序约束,或者直接在约束文件(例如,类似于文本文件的文件)中写入时序约束。时序约束的使用是为了定义要使用的LUT的数量,在FPGA中定位LUT延迟单元,计算整个LUT延迟单元(数据信号、LUT延迟单元和采样寄存器等的连接)的延迟值。此外,在动作618中,例如使用相同的FPGA设计工具实现整个如此获得的设计。在动作620中,进行有关时序收敛(timing closure)值(即,Tsetup_min和Thold_min要求)是否得到满足的验证,并且如果得到满足,则过程在动作624结束。如果在动作620中确定收敛值未实现,则在动作622中,能够例如在查找表的数量或布局方面修改FPGA芯片组的设计,并且过程返回到动作618以便更新和再次实现整个设计,以及再次进行动作620的验证。动作618、620和622可重复例如直到找到用于FPGA芯片组的适当设计,其中,FPGA的建立时间和保持时间得到满足。
现在参照图8,图8示出本发明的另一示范优选实施例,其中,FPGA芯片组处理多个数据信号。在FPGA芯片组302的输入接口303接收多个数据信号,并且使用用于每个数据信号的LUT的各种集将多个数据信号延迟以满足FPGA芯片组的要求(在保持时间和建立时间方面,如本文中前面所述)。根据本发明的本示范优选实施例,第一数据信号802、第二数据信号804、第三数据信号806及时钟信号304'示为已在FPGA芯片组的输入接口303被接收并已通过FPGA芯片组的输入接口303之后。在输入FPGA芯片组的对应寄存器814、816和818以进行适当读取和处理前,数据信号802到806的相位需要进行调整和与时钟信号304'适当同步。为此,提供了LUT的三个集808、810和812以便根据FPGA芯片组302的要求来适当调整每个数据信号的相位。例如,第一数据信号802输入到四(4)个查找表的集808,该集按第一延迟值将第一数据信号802延迟以便产生延迟的数据信号830,延迟的数据信号830和时钟信号304'一起进一步输入到寄存器814以进行读取和处理。同样地,将第二数据信号804输入到五(5)个查找表810的集810以便被延迟,使得产生经调整的数据信号832并将其和时钟信号304'一起进一步输入到寄存器816以进行另外处理。类似的处理应用到第三数据信号806,其在被延迟前输入到三(3)个查找表812的集812,使得形成延迟的数据信号834,延迟的信号834和时钟信号304'一起输入到寄存器818以进行处理。每个集808、810和812必需的查找表的数量取决于需要施加到数据信号802、804和806中的每个数据信号的相位延迟。每个信号的延迟和整个FPGA芯片组302的设计可如本文中前面所述和相对于图6和7所示来计算和执行。
因此,通过本发明,避免一般在FPGA芯片组中使用的专用延迟电路的必要,以及使用FPGA芯片组内的查找表的一个或多个适当集实现一个或多个数据信号的相位的适当调整将变得可能。这节省了在PCB上(与例如现有技术的外部延迟电路相比)或在FPGA芯片内(与内部FPGA延迟电路相比)的空间。同样地,由于本发明提议使用LUT作为延迟电路,并且由于LUT在许多情况下无论如何需要在FPGA芯片组内用于其它处理目的,因此,本发明也允许降低与FPGA芯片组制造相关联的成本。
基于前面所述,现在本领域技术人员应明白,本发明提供了一种用于相对于时钟信号的相位延迟和调整数据信号相位以满足FPGA芯片组的要求的有利解决方案。相信从前面的描述中将明白本发明的操作和构造。虽然所示和所述方法和***已表征为优选,但将容易明白的是,在不脱离如本文下面阐述的权利要求书定义的本发明的范围的情况下,能够进行各种更改和修改。
虽然本发明的方法和***的几个实施例已在附图中示出且在前面的详细说明中描述了,但将理解,本发明并不限于公开的实施例,而是能够进行如以下权利要求书阐述和定义的多种重排、修改和替代。
Claims (24)
1. 一种现场可编程门阵列(FPGA)芯片组,包括:
输入接口;以及
操作地连接到所述输入接口并从所述输入接口接收第一数据信号和时钟信号的一个或多个查找表(LUT)的第一集,一个或多个LUT的所述第一集按第一延迟值将所述第一数据信号延迟,使得从一个或多个LUT的所述第一集输出的对应第一延迟的数据信号与所述时钟信号同步,以便所述FPGA芯片组的处理单元执行所述第一延迟的数据信号的适当采样。
2. 如权利要求1所述的FPGA芯片组,其中选择所述第一延迟值以延迟所述第一数据信号,使得时钟信号的上升缘落在所述第一数据信号的数据块的中央,以及使得时钟信号的下降缘落在所述数据信号的另一块的中央。
3. 如权利要求1所述的FPGA芯片组,其中选择所述第一延迟值以延迟所述第一数据信号并使所述第一数据信号和所述时钟信号同步,使得满足所述FPGA芯片组的建立时间值和保持时间值。
4. 如权利要求1所述的FPGA芯片组,其中所述输入接口从外部存储器经所述输入接口接收所述时钟信号和所述第一数据信号。
5. 如权利要求4所述的FPGA芯片组,其中所述外部存储器是从由动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)和双倍数据速率同步动态随机存取存储器(DR SDRAM)组成的存储器单元组中选择的存储器单元。
6. 如权利要求1所述的FPGA芯片组,还包括:
操作地连接到所述输入接口并从所述输入接口接收第二数据信号的一个或多个查找表(LUT)的第二集,一个或多个LUT的所述第二集按第二延迟值将所述第二数据信号延迟,使得一个或多个LUT的所述第二集的对应第二延迟的数据信号输出与所述时钟信号同步,以便所述FPGA芯片组的处理单元执行所述第二延迟的数据信号的适当采样。
7. 如权利要求1所述的FPGA芯片组,其中所述处理单元包括寄存器单元,其中还在所述FPGA芯片组的寄存器单元中输入所述第一延迟的数据信号和所述时钟信号。
8. 如权利要求1所述的FPGA芯片组,其中所述第一延迟值是在最小延迟值与最大延迟值之间选择的值。
9. 如权利要求8所述的FPGA芯片组,其中所述第一延迟值计算为在所述最小延迟值与所述最大延迟值之间的平均值。
10. 如权利要求4所述的FPGA芯片组,其中所述第一延迟值和所述第二延迟值不同。
11. 一种在现场可编程门阵列(FPGA)芯片组中用于数据信号延迟的方法,所述方法包括:
在操作地连接到所述FPGA芯片组的输入接口的一个或多个查找表(LUT)的第一集,从所述输入接口接收第一数据信号;以及
由一个或多个LUT的所述第一集按第一延迟值将所述第一数据信号延迟,使得从一个或多个LUT的所述第一集输出的对应第一延迟的数据信号与时钟信号同步,以便所述FPGA芯片组的处理单元执行所述第一延迟的数据信号的适当采样。
12. 如权利要求11所述的方法,其中选择所述第一延迟值以延迟所述第一数据信号,使得时钟信号的上升缘落在所述第一数据信号的数据块的中央,以及使得时钟信号的下降缘落在所述数据信号的另一块的中央。
13. 如权利要求11所述的方法,其中选择所述第一延迟值以延迟所述第一数据信号并使所述第一数据信号和所述时钟信号同步,使得满足所述FPGA芯片组的建立时间要求和保持时间要求。
14. 如权利要求11所述的方法,其中所述输入接口从外部存储器接收所述时钟信号和所述第一数据信号。
15. 如权利要求11所述的方法,其中所述外部存储器是从由动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)和双倍数据速率同步动态随机存取存储器(DR SDRAM)组成的存储器单元组中选择的存储器单元。
16. 如权利要求11所述的方法,还包括:
在所述FPGA芯片组的输入接口,接收第二数据信号;
在操作地连接到所述输入接口的一个或多个查找表(LUT)的第二集,从所述输入接口接收所述第二数据信号;以及
由一个或多个LUT的所述第二集按第二延迟值将所述第二数据信号延迟,使得一个或多个LUT的所述第二集的对应第二延迟的数据信号输出与所述时钟信号同步,以便所述FPGA芯片组的处理单元执行所述第二延迟的数据信号的适当采样。
17. 如权利要求1所述的方法,还包括以下步骤:
发送所述第一延迟的数据信号和所述时钟信号到所述FPGA芯片组的寄存器单元。
18. 如权利要求1所述的方法,其中所述第一延迟值是在最小延迟值与最大延迟值之间选择的值。
19. 如权利要求14所述的方法,其中所述第一延迟值计算为在所述最小延迟值与所述最大延迟值之间的平均值。
20. 如权利要求12所述的方法,其中所述第一延迟值和所述第二延迟值不同。
21. 一种制造包括用于延迟一个或多个数据信号的一个或多个查找表(LUT)的集的现场可编程门阵列(FPGA)芯片组的过程,所述过程包括:
计算用于延迟第一数据信号的第一延迟值,以便所述第一数据信号与时钟信号同步,使得在所述数据信号和所述时钟信号的相位之间的关系满足所述FPGA芯片组的保持时间要求和建立时间要求;
计算按所述延迟值来延迟所述第一数据信号需要的LUT的第一数量;以及
在所述第一数据信号的数据路径中实现按所述第一延迟值来延迟所述第一信号需要的第一数量的LUT。
22. 如权利要求21所述的制造所述FPGA芯片组的过程,其中计算所述延迟值的步骤还包括以下步骤:
计算最大延迟值和最小延迟值;
选择在所述最大延迟值与所述最小延迟值之间的用于延迟所述第一数据信号的延迟值。
23. 如权利要求21所述的制造所述FPGA芯片组的过程,还包括以下步骤:
计算用于延迟第二信号的第二延迟值,以便所述第二信号与所述时钟信号同步;
计算按所述延迟值来延迟所述第二信号需要的LUT的第二数量;以及
在所述第二信号的数据路径中实现按所述第二延迟值来延迟所述第二信号需要的第一数量的LUT。
24. 一种在现场可编程门阵列(FPGA)芯片组中的一个或多个查找表(LUT)的集的新用途,其中LUT的所述集用于按延迟值将数据信号延迟,使得所述数据信号与时钟信号同步,其中在所述数据信号和所述时钟信号的相位之间的关系满足所述FPGA芯片组的保持时间要求和建立时间要求。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/001007 WO2012171142A1 (en) | 2011-06-17 | 2011-06-17 | Look-up tables for delay circuitry in field programmable gate array (fpga) chipsets |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103155413A true CN103155413A (zh) | 2013-06-12 |
Family
ID=47353211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011800092173A Pending CN103155413A (zh) | 2011-06-17 | 2011-06-17 | 用于现场可编程门阵列(fpga)芯片组中的延迟电路的查找表 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20120319752A1 (zh) |
EP (1) | EP2561615A4 (zh) |
CN (1) | CN103155413A (zh) |
WO (1) | WO2012171142A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017084104A1 (zh) * | 2015-11-20 | 2017-05-26 | 京微雅格(北京)科技有限公司 | 一种基于fpga的查找表工艺映射方法及查找表 |
CN108470078A (zh) * | 2017-02-23 | 2018-08-31 | 上海复旦微电子集团股份有限公司 | 一种基于查找表的fpga芯片逻辑单元时延建模方法和*** |
CN111539176A (zh) * | 2019-03-29 | 2020-08-14 | 成都海光集成电路设计有限公司 | 集成电路设计与制造的多实例时间预算 |
CN112055128A (zh) * | 2019-06-06 | 2020-12-08 | 海信视像科技股份有限公司 | 图像数据采样方法及装置、电子设备、存储介质 |
CN117787168A (zh) * | 2023-11-15 | 2024-03-29 | 北京国科天迅科技股份有限公司 | Fpga的速度等级确定方法、装置及电子设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201300802A (zh) * | 2011-06-28 | 2013-01-01 | Hon Hai Prec Ind Co Ltd | 印刷電路板之訊號群延遲分析系統及方法 |
US8988081B2 (en) * | 2011-11-01 | 2015-03-24 | Teradyne, Inc. | Determining propagation delay |
US10564219B2 (en) | 2017-07-27 | 2020-02-18 | Teradyne, Inc. | Time-aligning communication channels |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004084277A2 (en) * | 2003-03-19 | 2004-09-30 | Mentor Graphics Corporation | Retiming circuits using a cut-based approach |
US7088136B1 (en) * | 2003-11-06 | 2006-08-08 | Altera Corporation | Programmable logic device latch circuits |
CN101309245A (zh) * | 2007-05-18 | 2008-11-19 | 大唐移动通信设备有限公司 | 数字预失真处理装置及数字预失真器更新方法 |
US20090167350A1 (en) * | 2007-12-26 | 2009-07-02 | Raminda Madurawe | Programmable logic based latches and shift registers |
CN101645726A (zh) * | 2008-06-10 | 2010-02-10 | 阿尔特拉公司 | 用于时域预强调和时域均衡的设备及相关联的方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151682A (en) * | 1997-09-08 | 2000-11-21 | Sarnoff Corporation | Digital signal processing circuitry having integrated timing information |
US6690201B1 (en) * | 2002-01-28 | 2004-02-10 | Xilinx, Inc. | Method and apparatus for locating data transition regions |
US7028281B1 (en) * | 2002-07-12 | 2006-04-11 | Lattice Semiconductor Corporation | FPGA with register-intensive architecture |
US6798241B1 (en) * | 2003-02-27 | 2004-09-28 | Xilinx, Inc. | Methods for aligning data and clock signals |
US7231538B2 (en) * | 2003-11-06 | 2007-06-12 | Mentor Graphics (Holdings) Ltd. | Synchronized communication between integrated circuit chips |
US7019557B2 (en) * | 2003-12-24 | 2006-03-28 | Viciciv Technology | Look-up table based logic macro-cells |
US6980026B1 (en) * | 2003-12-16 | 2005-12-27 | Xilinx, Inc. | Structures and methods for reducing power consumption in programmable logic devices |
US7049845B1 (en) * | 2004-03-02 | 2006-05-23 | Xilinx, Inc. | Programmable delay line using configurable logic block |
US7689643B2 (en) * | 2004-10-27 | 2010-03-30 | Stmicroelectronics Pvt. Ltd. | N-bit constant adder/subtractor |
US7224184B1 (en) * | 2004-11-05 | 2007-05-29 | Xilinx, Inc. | High bandwidth reconfigurable on-chip network for reconfigurable systems |
US7420390B1 (en) * | 2006-01-09 | 2008-09-02 | Altera Corporation | Method and apparatus for implementing additional registers in field programmable gate arrays to reduce design size |
US7362135B1 (en) * | 2006-10-04 | 2008-04-22 | Hyun-Taek Chang | Apparatus and method for clock skew adjustment in a programmable logic fabric |
US7629825B1 (en) * | 2006-10-13 | 2009-12-08 | Altera Corporation | Efficient delay elements |
US7573770B1 (en) * | 2007-07-16 | 2009-08-11 | Lattice Semiconductor Corporation | Distributed front-end FIFO for source-synchronized interfaces with non-continuous clocks |
US7863931B1 (en) * | 2007-11-14 | 2011-01-04 | Lattice Semiconductor Corporation | Flexible delay cell architecture |
CN101459636B (zh) * | 2007-12-12 | 2012-04-18 | 中兴通讯股份有限公司 | 自适应预失真方法 |
US7809521B1 (en) * | 2008-02-29 | 2010-10-05 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Precise delay measurement through combinatorial logic |
US8719613B2 (en) * | 2010-01-28 | 2014-05-06 | Futurewei Technologies, Inc. | Single-wire serial interface with delay module for full clock rate data communication between master and slave devices |
-
2011
- 2011-06-17 EP EP11857967.1A patent/EP2561615A4/en not_active Withdrawn
- 2011-06-17 US US13/148,574 patent/US20120319752A1/en not_active Abandoned
- 2011-06-17 CN CN2011800092173A patent/CN103155413A/zh active Pending
- 2011-06-17 WO PCT/CN2011/001007 patent/WO2012171142A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004084277A2 (en) * | 2003-03-19 | 2004-09-30 | Mentor Graphics Corporation | Retiming circuits using a cut-based approach |
US7088136B1 (en) * | 2003-11-06 | 2006-08-08 | Altera Corporation | Programmable logic device latch circuits |
CN101309245A (zh) * | 2007-05-18 | 2008-11-19 | 大唐移动通信设备有限公司 | 数字预失真处理装置及数字预失真器更新方法 |
US20090167350A1 (en) * | 2007-12-26 | 2009-07-02 | Raminda Madurawe | Programmable logic based latches and shift registers |
CN101645726A (zh) * | 2008-06-10 | 2010-02-10 | 阿尔特拉公司 | 用于时域预强调和时域均衡的设备及相关联的方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017084104A1 (zh) * | 2015-11-20 | 2017-05-26 | 京微雅格(北京)科技有限公司 | 一种基于fpga的查找表工艺映射方法及查找表 |
CN108470078A (zh) * | 2017-02-23 | 2018-08-31 | 上海复旦微电子集团股份有限公司 | 一种基于查找表的fpga芯片逻辑单元时延建模方法和*** |
CN108470078B (zh) * | 2017-02-23 | 2021-12-03 | 上海复旦微电子集团股份有限公司 | 一种基于查找表的fpga芯片逻辑单元时延建模方法和*** |
CN111539176A (zh) * | 2019-03-29 | 2020-08-14 | 成都海光集成电路设计有限公司 | 集成电路设计与制造的多实例时间预算 |
CN111539176B (zh) * | 2019-03-29 | 2023-04-07 | 成都海光集成电路设计有限公司 | 集成电路设计与制造的多实例时间预算 |
CN112055128A (zh) * | 2019-06-06 | 2020-12-08 | 海信视像科技股份有限公司 | 图像数据采样方法及装置、电子设备、存储介质 |
CN117787168A (zh) * | 2023-11-15 | 2024-03-29 | 北京国科天迅科技股份有限公司 | Fpga的速度等级确定方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
EP2561615A4 (en) | 2015-05-06 |
US20120319752A1 (en) | 2012-12-20 |
EP2561615A1 (en) | 2013-02-27 |
WO2012171142A1 (en) | 2012-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103155413A (zh) | 用于现场可编程门阵列(fpga)芯片组中的延迟电路的查找表 | |
US20210082534A1 (en) | Methods for memory interface calibration | |
US20200389159A1 (en) | Data Transmission Using Delayed Timing Signals | |
US6553472B2 (en) | Method for programming clock delays, command delays, read command parameter delays, and write command parameter delays of a memory controller in a high performance microprocessor | |
US8677171B2 (en) | Method for controlling the dynamic power signature of a circuit | |
US20040202027A1 (en) | Buffer amplifier architecture for semiconductor memory circuits | |
US10804889B2 (en) | Double compression avoidance | |
WO2004061689A3 (en) | Two dimensional data eye centering for source synchronous data transfers | |
US8386828B1 (en) | Circuit for estimating latency through a FIFO buffer | |
WO2005098862A3 (en) | Reconstruction of signal timing in integrated circuits | |
US8754656B2 (en) | High speed test circuit and method | |
CN104113304B (zh) | 两相互不交叠时钟电路及其方法 | |
CN111010148B (zh) | 一种高频dram的上升沿触发脉冲生成器及方法 | |
CN100578246C (zh) | 一种生成测试向量的方法 | |
CN103714012B (zh) | 数据处理方法和装置 | |
US8171329B2 (en) | Method of dynamically adjusting signal delay time of circuit system | |
US20110210779A1 (en) | Circuit and method for recovering clock data in highly integrated semiconductor memory apparatus | |
CN109359010B (zh) | 获取存储模块内部传输延时的方法及*** | |
CN104424984A (zh) | 存储器控制电路与控制存储器模块的数据读取程序的方法 | |
CN103247346B (zh) | 延迟线结构的量测初始化路径以及执行量测初始化的方法 | |
US7280419B1 (en) | Latency counter having frequency detector and latency counting method thereof | |
US7791964B2 (en) | Memory system and method ensuring read data stability | |
US11756605B2 (en) | Semiconductor device | |
US10591538B2 (en) | Data reading device and data reading method for design-for-testing | |
US20040267848A1 (en) | Clock divider with glitch free dynamic divide-by change |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130612 |
|
WD01 | Invention patent application deemed withdrawn after publication |