包括现场可编程门阵列的系统和方法.pdf

上传人:54 文档编号:966181 上传时间:2018-03-21 格式:PDF 页数:21 大小:954.43KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910149775.4

申请日:

2009.05.15

公开号:

CN101594138A

公开日:

2009.12.02

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):H03K 19/177申请日:20090515授权公告日:20131106终止日期:20140515|||授权|||实质审查的生效IPC(主分类):H03K 19/177申请日:20090515|||公开

IPC分类号:

H03K19/177; G06F9/445

主分类号:

H03K19/177

申请人:

通用电气公司

发明人:

A·A·韦斯

地址:

美国纽约州

优先权:

2008.5.15 US 12/120872

专利代理机构:

中国专利代理(香港)有限公司

代理人:

王洪斌;王忠忠

PDF下载: PDF下载
内容摘要

一种用于在现场可编程门阵列(FPGA)中对逻辑进行编程的方法包括,接收逻辑过程,其包括逻辑节点,并将节点与逻辑描述符关联起来,并且在FPGA的存储器中保存逻辑描述符。逻辑描述符包括:节点的唯一标识符;启用指示符,可操作来指示节点是否被启用;功能指示符,可操作来定义由节点执行的逻辑功能;输入数指示符,可操作来定义节点的输入数;输出指示符,可操作来指示节点的输出的逻辑状态;以及输入指示符,可操作来指示节点的输入的唯一标识符。

权利要求书

1.  一种用于在现场可编程门阵列(FPGA)(102)中对逻辑进行编程的方法包括:
接收包括逻辑节点(301)的逻辑过程;
将节点(301)与逻辑描述符(402)关联起来,所述逻辑描述符包括:
节点(301)的唯一标识符;
启用指示符,可操作来指示节点(301)是否被启用;
功能指示符,可操作来定义由节点(301)执行的逻辑功能;
输入数指示符,可操作来定义节点(301)的输入数;
输出指示符,可操作来指示节点(301)的输出的逻辑状态;
以及
输入指示符,可操作来指示节点(301)的输入的唯一标识符;以及
在FPGA(102)的存储器中保存逻辑描述符(400)。

2.
  如权利要求1所述的方法,其中逻辑描述符(400)还包括最后节点指示符,其可操作来指示节点(301)是否是逻辑过程中的最后的节点。

3.
  如权利要求1所述的方法,其中逻辑描述符(400)还包括反转指示符,其可操作来指示节点(301)的输出是否被反转。

4.
  如权利要求1所述的方法,其中逻辑描述符(400)还包括缺省指示符,其可操作来指示在启用指示符指示节点(301)被禁用的情况下由节点(301)输出的节点(301)的缺省值。

5.
  如权利要求1所述的方法,其中逻辑描述符(400)还包括节点(301)的缺省值。

6.
  如权利要求1所述的方法,其中逻辑描述符(400)还包括由节点(301)驱动的FPGA(102)的离散输出的唯一标识符。

7.
  如权利要求1所述的方法,其中逻辑描述符(400)还包括时间戳指示符,其可操作来指示节点(301)被更新的最后时间。

8.
  如权利要求1所述的方法,其中逻辑描述符(400)还包括:
第二功能指示符,可操作来指示节点(301)的定时器功能的功能;以及
第二功能指示符,可操作来指示节点(301)的定时器功能的延迟值。

9.
  如权利要求1所述的方法,其中逻辑描述符(400)还包括第二功能指示符,其可操作来指示在节点(301)的N中取M功能中被比较的输入数。

10.
  如权利要求1所述的方法,其中逻辑描述符(400)还包括由节点(301)输出的离散输出值。

说明书

包括现场可编程门阵列的系统和方法
技术领域
本发明的实施例大体上涉及现场可编程门阵列,更特别地涉及对现场可编程门阵列进行编程。
背景技术
在这方面,现场可编程门阵列(FPGA)被用于各种控制应用。例如,FPGA可以用于控制发电机系统中的紧急跳闸系统。FPGA是具有逻辑块的半导体设备,其中可以在现场对所述逻辑块进行编程以执行逻辑功能。如果FPGA中需要新的逻辑程序,则可以由技术人员对FPGA进行重新编程。在现场重新编程FPGA所必需的硬件和专业技能增加了重新编程FPGA所必需的时间和成本。需要一种允许容易地对FPGA进行编程以执行逻辑功能的方法。
发明内容
一种示例性方法用于在现场可编程门阵列(FPGA)中对逻辑进行编程。所述方法包括,接收逻辑过程,其包括逻辑节点,将节点和逻辑描述符(descriptor)关联起来,所述逻辑描述符包括节点的唯一标识符,可操作来(operative to)指示结点是否被启用(enable)的启用指示符,可操作来定义由节点执行的逻辑功能的功能指示符,可操作来定义节点的输入数的输入数指示符,可操作来指示节点的输出的逻辑状态的输出指示符,以及可操作来指示节点的输入的唯一标识符的输入指示符,并且在FPGA的存储器中保存逻辑描述符。
示例性方法用于在现场可编程门阵列(FPGA)中执行逻辑过程。所述方法包括,接收具有第一逻辑描述符的逻辑描述符列表,所述第一逻辑描述符包括逻辑过程中第一节点的唯一标识符,启用指示符,逻辑功能指示符,以及输入指示符,通过以下操作来处理第一逻辑描述符:确定逻辑描述符的启用指示符是否指示第一节点被启用,根据逻辑功能指示符来确定与第一节点相关联的逻辑功能,根据输入指示符来确定第一节点的输入数,从与逻辑过程中第二节点相关联的第二逻辑描述符读取与第一节点的输入相关联的输出值,执行逻辑功能以确定第一节点的逻辑状态,并且响应于执行逻辑功能而更新第一逻辑描述符中第一节点的逻辑状态,确定第一逻辑描述符是否指示在逻辑描述符列表中第一逻辑描述符是顺序上(sequentially)的最后逻辑描述符,输出与逻辑过程相关联的信号,并且响应于确定第一逻辑描述符是逻辑描述符列表中顺序上的最后逻辑描述符而接收并处理逻辑描述符列表中顺序上的初始逻辑描述符,响应于确定第一逻辑描述符不是逻辑描述符列表中顺序上的最后逻辑描述符而接收并处理逻辑描述符列表中第一逻辑描述符之后顺序上的下一个逻辑描述符,并且响应于确定第一逻辑描述符被禁用(disable)而接收并处理逻辑描述符列表中第一逻辑描述符之后顺序上的下一个逻辑描述符。
用于发电机的示例性电子安全跳闸系统包括具有FPGA的电子安全跳闸部。FPGA可操作来执行以下逻辑过程:接收具有第一逻辑描述符的逻辑描述符列表,所述第一逻辑描述符包括逻辑过程中第一节点的唯一标识符,启用指示符,逻辑功能指示符,以及输入指示符,通过以下操作来处理第一逻辑描述符:确定逻辑描述符的启用指示符是否指示第一节点被启用,根据逻辑功能指示符来确定与第一节点相关联的逻辑功能,根据输入指示符来确定对第一节点的输入数,从与逻辑过程中第二节点相关联的第二逻辑描述符读取与第一节点的输入相关联的输出值,执行逻辑功能以确定第一节点的逻辑状态,并且响应于执行逻辑功能而更新第一逻辑描述符中第一节点的逻辑状态,确定第一逻辑描述符是否指示在逻辑描述符列表中第一逻辑描述符是顺序上的最后逻辑描述符,输出与逻辑过程相关联的信号,可操作来控制发电机,并且响应于确定第一逻辑描述符是逻辑描述符列表中顺序上的最后逻辑描述符而接收并处理逻辑描述符列表中顺序上的初始逻辑描述符,响应于确定第一逻辑描述符不是逻辑描述符列表中顺序上的最后逻辑描述符而接收并处理逻辑描述符列表中第一逻辑描述符之后顺序上的下一个逻辑描述符,并且响应于确定第一逻辑描述符被禁用而接收并处理逻辑描述符列表中第一逻辑描述符之后顺序上的下一个逻辑描述符。
附图说明
当参考附图阅读以下详细说明时,本发明的这些及其他特征、方面以及优点将变得更容易理解,其中自始至终附图中同样的附图标记表示同样的部分,其中:
图1图示出在紧急跳闸系统中的FPGA的示例性实施例。
图2图示出FPGA的示例性实施例的详细框图。
图3图示出用于对FPGA进行编程的图形用户界面的示例性实施例。
图4图示出逻辑描述符列表和逻辑描述符的示例性实施例。
图5图示出图2的逻辑处理器的示例性操作方法的框图。
具体实施方式
在下面的详细说明中,为了对本发明的各个实施例提供彻底的理解,阐述了很多具体细节。但是,本领域技术人员将会理解,可以在没有这些具体细节的情况下实施本发明的实施例,并且本发明不限于所描述的实施例,本发明可以以各种可替换的实施例来实施。在其他的情况下,没有详细描述公知方法、过程和组件。
更进一步地,各种操作可以被描述为以有助于理解本发明实施例的方式执行的多个不连续的步骤。但是,不应该将描述的次序理解为这些操作需要按它们所呈现的次序执行,或者它们甚至是依赖于次序的。而且,重复使用短语“在一个实施例中”并不一定指相同的实施例,尽管可能如此。最后,本申请中所使用的术语“包含”、“包括”、“具有”等等旨在为同义的,除非另有规定。
现场可编程门阵列(FPGA)是执行逻辑功能的半导体设备。FPGA的优点是它们可以被编程来执行用于不同应用的各种逻辑功能,而无需改变FPGA的内部结构。因此,用户可以设计具有逻辑处理器的系统并且使用现有的FPGA来实现逻辑。通过允许开发者使用预存的逻辑处理器,FPGA的使用加速了开发时间。
FPGA还可以在现场被重新编程以允许在不改变系统中的硬件的情况下改变逻辑。FPGA的缺点是FPGA是利用硬件描述语言(HDL)而被编程的。HDL通常是需要专业技能和软件的复杂的仿汇编码(resembling assembly code)。通常当用户要求FPGA中新的逻辑功能时,用户设计逻辑功能并雇用技术人员将逻辑功能转换成用来编程FPGA的HDL码。利用HDL将逻辑功能编程为FPGA是代价高且耗时的。
关掉FPGA以便用HDL码对FPGA进行重新编程。对于一些应用,例如发电,系统关闭可能代价很高。要求一种方法,用于在不包括关闭系统的FPGA中对逻辑功能进行编程。
图1图示了使用FPGA的系统100的示例。系统100是发电系统,包括例如可操作地与燃气轮机连接的发电机103。紧急跳闸系统(ETS)101用来监控发电机103的临界操作参数,并且执行紧急措施如下,例如如果发电机103超过操作参数或者经历其他会导致关机的预定情况,则关闭发电机103。ETS 101包括可通信地连接到中央处理器(CPU)104、发光二极管(LED)106、离散的输入108以及速度输入110的FPGA 102。FPGA 102输出离散的输出112。在操作中,例如,FPGA 102接收诸如来自中继器(relay)或者其他传感器的数字输入之类的离散输入108以及诸如发电机速度之类的速度输入110。FPGA 102可以接收来自CPU 104的其他输入。FPGA 102利用逻辑来处理输入并输出离散的输出112然后根据输入状态来启动LED 106或者其他的警报指示器。如果输入超过发电机103的操作参数,则FPGA 102可以启动关闭命令并且启动警报。如果系统100的操作员打算改变由FPGA 102执行的逻辑,则以下所描述的方法允许在不必关闭系统100的情况下很容易地改变FPGA 102所执行的逻辑。
图2图示了FPGA 102的示例性实施例的详细框图。FPGA 102包括可通信地连接到CPU 104和配置、警报、事件序列(SOE)处理器204的个人计算机接口(PCI)。LED处理器可通信地连接到LED 106和配置、警报。SOE处理器204。串行外围接口(SPI)210可通信地连接到离散输入108和配置、警报、SOE处理器204。速度处理器206可通信地连接到速度信号输入110和配置、警报、SOE处理器204。逻辑处理器202可通信地连接到离散输出112和配置、警报、SOE处理器204。逻辑描述符列表(LDL)212包括双端口的块随机存取存储器(RAM),其可通信地连接到逻辑处理器202和配置、警报、SOE处理器204。
在操作中,配置、警报、SOE处理器204发送数字输入到逻辑处理器202。逻辑处理器202从LDL 212接收表示逻辑功能的位串。逻辑处理器202执行逻辑功能并输出数字信号到离散输出112和配置、警报、SOE处理器204。例如,一些输入,如离散输入108输入表示离散的数字值如1或者0。例如,传感器可以处理诸如温度之类的检测值并且确定检测值是否超过阈值。如果检测值超过阈值,则传感器将输出离散信号1,而如果检测值低于阈值,则传感器将输出离散信号0。速度处理器206可以通过确定分量速度是否在操作阈值之外来执行类似的操作并适当地输出离散信号。
FPGA 102所执行的逻辑过程可以通过简单地改变存储在RAM中的逻辑描述符列表(LDL)212而被重新编程。因此允许LDL 212被编译和更新的接口大大简化了对FPGA 102所执行的逻辑过程的编程而不使用HDL。
方法的详细说明如下,所述方法用于对LDL 212进行编程,其使得逻辑处理器202能够执行逻辑功能。对LDL和FPGA 102的合成(resultant)功能的编程不限于如上在图1和2中所描述的示例性实施例。LDL 212和逻辑处理器202可以用来针对实际上结合FPGA的任意应用执行FPGA中的逻辑功能。在可替换的应用中,FPGA 102可以包括附加功能,例如附加的输入和输出,或者可以不包括一些上面说明的特征。
图3图示了应用的图形用户界面300的示例性实施例,所述应用接收逻辑过程并可以被用于对FPGA 102上的逻辑过程进行编程。图形用户界面300包括窗口,其允许用户设计逻辑过程的示意图。在本例中,用户已经输入包括由块302所表示的逻辑功能的逻辑过程。逻辑功能可以包括,例如,“非”、“与”、“或”以及定时器功能。对逻辑功能的输入由箭头示出。对逻辑的输入信号304被显示在窗口左侧,并且输出信号306被显示在窗口右侧。输入信号、输出信号和逻辑功能将在下文中被称为节点。
在图3所示的示例中,节点301是复位信号(reset signal)。节点303是“非”逻辑门,其接收来自节点301的复位信号。节点305是“与”逻辑门,其接收来自节点303的信号和速度信号。输出信号306也是节点,其输出逻辑过程的结果。
一旦用户已经结束逻辑过程,就定义每个节点并且通过应用将其与逻辑描述符相关联。如果FPGA 102不支持磁泡逻辑,则视情况而定将任何磁泡逻辑门功能转变成“非”门。根据逻辑过程中的每个关联节点的位置(逻辑深度)顺序地排列逻辑描述符。逻辑过程的顺序逻辑描述符组成逻辑描述符列表。
图4图示了逻辑描述符列表400的示例性实施例和示例性32位逻辑描述符402。逻辑描述符402包括多个字段。在下面的列表中描述每个字段的功能。

字段描述E启用位。指示节点是否被启用。如果未启用,则节点保持节点的最后的值。一旦未启用,F位就可以被用来强加(force)一值。0-禁用1-启用F强加位(force bit)。指示节点应该被强加0-节点没有被

由‘V’位指定的值。如果节点未启用,则‘F’位仅仅是有效的。强加1-节点被强加V值位。如果节点是XNetDI节点,则V指示节点应取的值。如果节点不是XnetDI节点,那么如果设置‘F’位,则该位指示节点应被强加的值。0-逻辑‘0’1-逻辑‘1’N新的命令位。CPU使用位来指示存在新的DM/A命令。翻转(toggle)0/1缺省为0CMDDM/A命令。如果节点是DM/A节点,则这些位指示应执行哪个命令。00-设置01-复位10-翻转11-脉冲-保留设置为0缺省位所有节点的缺省值。如果节点是XNetDI或者DM/A,则这指示节点的初始值和在CPU故障的情况下其返回的值这二者。0-逻辑‘0’1-逻辑‘1’达到8个输出DMA定时器DM/A节点的16位时间值。如果DM/A命令是PULSE(脉冲),那么按毫秒指定的该时间指示脉冲宽度。0到FFFFI反转位(invert bit)。仅仅对XDI和XDO有效。指示输入/输出应该被反转。0-不反转1-反转L指示这是在列表中最后的节点。在评估该节点之后,FPGA将返回到第一节点。0-不是最后节点1-是最后节点S保存位。对于FPGA而言这是内部的。它存储N位的状态。如果N和S位不匹配,则FPGA知道存在新的DM/A命令要处理。在处理所述命令之后,更新S位。设置=N位

DO_NUM离散的输出数。如果这是DO,则这指示要驱动哪个物理输出。0-7功能要执行的逻辑功能。包括“与”、“或”、“非”、N中取M(M out of N)、定时器等等。如果功能是XDI,那么“功能2”字段用来指示XDI是否具有内建的定时器(TD_ON或者TD_OFF)。如果存在在XDI中内建的定时器,那么“功能3”指示定时器的时间段。如果功能是N中取M,那么“功能3”字段指定M,并且“输入数”字段指定N。如果功能是定时器,那么“功能2”字段指示脉冲(1)、TD_ON(2)、TD_OFF(3)。然后,在“功能3”字段中指定16位延迟值(以ms为单位)。0-XDI1-“与”2-“或”3-“非”4-“异或”5-N中取M6-定时器7-RS触发器(Flip-Flop)8-DMA9-速度10-XNetDI11-XDO功能2多用途。参见“功能”0到3功能3多用途。参见“功能”0到FFFFhO0-O7指示达到用于节点的8个输出的逻辑状态的位屏蔽(bit mask)。B00000000到b11111111输入数指示对节点的输入个数。每个门或者功能块能够支持多达24个输入。需要更多的任意门被级联。例如,三个输入“或”门将具有值3。“非”门将具有值1。物理输入或者“内部DI”不具有输入,因此使用值0。允许每个节点0到8个输入定时器状态用于内部使用。FPGA使用该字段来存储任意TD_ON、TD_OFF或者PULSE功能的状态。内部定时器值用于内部使用。FPGA使用该字段来存储任意TD_ON、TD_OFF或者PULSE功能内部

的延迟时间。时间戳节点最后更新时间的32位时间戳。0到FFFFFFFFh输入节点列表用于节点的输入的连续列表。每个值是输入的12位节点数和该节点的4位输出数量。由于每一节点能够驱动多个输出,所以这指示使用哪个单独的输出。对于XDI和速度功能,“输入节点0”指示XDI的物理地址或速度输入。即0-47用于XDI而0-5用于速度。8个字的长度。每个输入支持0与4096之间的值。字段描述E启用位。指示节点是否被启用。如果未启用,则节点保持节点的最后的值。一旦未启用,则F位可以被用来强加值。0-未启用1-启用F强加位。指示节点应该被强加由‘V’位指定的值。如果节点未启用,则‘F’位仅仅是有效的。0-节点没有被强加1-节点被强加V值位。如果节点是XNetDI节点,则V指示节点应取的值。如果节点不是XnetDI节点,那么如果设置‘F’位,则该位指示节点应被强加的值。0-逻辑‘0’1-逻辑‘1’N新的命令位。CPU使用位来指示存在新的DM/A命令。翻转0/1缺省为0CMDDM/A命令。如果节点是DM/A节点,则这些位指示应执行哪个命令。00-设置01-复位10-翻转11-脉冲-保留设置为0缺省位所有节点的缺省值。如果节点是XNetDI0-逻辑‘0’

或者DM/A,则这指示节点的初始值和在CPU故障的情况下返回的值这二者。1-逻辑‘1’达到8个输出DMA定时器DM/A节点的16位时间值。如果DM/A命令是PULSE,那么按毫秒所指定的该时间指示脉冲宽度。0到FFFFI反转位。仅仅对XDI和XDO有效。指示输入/输出应该被反转。0-不反转1-反转L指示这是在列表中最后的节点。在评估该节点之后,FPGA将返回到第一节点。0-不是最后节点1-是最后节点S保存位。对于FPGA而言这是内部的。它存储N位的状态。如果N和S位不匹配,则FPGA知道存在新的DM/A命令要处理。在处理所述命令之后,更新S位。设置=N位DO_NUM离散的输出数。如果这是DO,则这指示驱动哪个物理输出。0-7功能要执行的逻辑功能。包括“与”、“或”、“非”、N中取M、定时器等等。如果功能是XDI,那么“功能2”字段用来指示XDI是否具有内建的定时器(TD_ON或者TD_OFF)。如果存在在XDI中内建的定时器,那么“功能3”指示定时器的时间段。如果功能是N中取M,那么“功能3”字段指定M,并且“输入数”字段指定N。如果功能是定时器,那么“功能2”字段指示脉冲(1)、TD_ON(2)、TD_OFF(3)。然后,在“功能3”字段中指定16位延迟值(以ms为单位)。0-XDI1-“与”2-“或”3-“非”4-“异或”5-N中取M6-定时器7-RS触发器8-DMA9-速度10-XNetDI11-XDO功能2多用途。参见“功能”0到3

功能3多用途。参见“功能”0到FFFFhO0-O7指示达到用于节点的8个输出的逻辑状态的位屏蔽。B00000000到b11111111输入数指示对节点的输入个数。每个门或者功能块能够支持多达24个输入。需要更多的任意门被级联。例如,三个输入“或”门将具有值3。“非”门将具有值1。物理输入或者“内部DI”不具有输入,因此使用值0。允许每个节点0到8个输入定时器状态用于内部使用。FPGA使用该字段来存储任意TD_ON、TD_OFF,或者PULSE功能的状态。内部定时器值用于内部使用。FPGA使用该字段来存储任意TD_ON、TD_OFF,或者PULSE功能的延迟时间。内部时间戳节点最后更新时间的32位时间戳。0到FFFFFFFFh输入节点列表用于节点的输入的连续列表。每个值是输入的12位节点数和该节点的4位输出数。由于每个节点能够驱动多个输出,所以这指示使用哪个单独的输出。对于XDI和速度功能,“输入节点0”指示XDI的物理地址或速度输入。即0-47用于XDI而0-5用于速度。8个字的长度。每个输入支持0与4096之间的值。

如上所描述的功能包括基本逻辑功能(“与”、“或”、“非”等等)及其他逻辑功能。在这方面XDI功能是离散输入功能,其中XDI节点被配置成接收离散的输入信号。XnetDI功能类似于XDI功能,但是XnetDI节点被配置成经由诸如以太网之类的网络协议来接收离散输入信号。XDO功能配置节点来输出离散输出。DMA功能配置用于软件控制的节点。软件可以控制节点根据软件处理的输入来输出高信号、低信号、脉冲信号或者翻转信号。N中取M功能控制节点来进行比较,例如,如果到节点的输入至少“三个中的两个”为高,则节点将输出高信号而如果到节点的输入少于“三个中的两个”为高,则节点将输出低信号。定时器功能引导节点充当定时器,其中逻辑描述符402的功能2、功能3、定时器状态以及定时器值字段定义并实现节点的定时器操作。
一旦应用定义了逻辑描述符402,和逻辑描述符列表400,逻辑描述符列表400就可以被上载到FPGA 102的RAM 212中(如图2)。FPGA 102的逻辑处理器202然后可以根据逻辑描述符402来执行逻辑过程。
图5图示了逻辑处理器202的示例性操作方法的框图。当逻辑处理器202接收逻辑描述符列表400(图4)时该方法开始。逻辑处理器202在逻辑描述符列表400上从第一逻辑描述符402开始按顺序处理逻辑描述符列表400中的逻辑描述符402。在块504接收定义第一节点的第一逻辑描述符402。在块506中,如由启用位指示符“E”中所指示的那样确定第一节点是否被启用。如果节点被启用,则在块508中确定节点的逻辑功能。在块510中确定节点的输入数。一旦确定了输入数,就在块512中读取到节点的输入值。在块514中,执行节点的逻辑功能。逻辑功能的结果被更新并保存在第一逻辑描述符402的O0-O7字段中。在块518中,读取逻辑描述符402的“L”字段以确定逻辑描述符402是否是逻辑描述符列表400中顺序上的最后逻辑描述符402。如果逻辑描述符402不是逻辑描述符列表400中最后的逻辑描述符402,则在块520中由逻辑处理器202接收并可以按如上所述类似的方式处理逻辑描述符列表400中的下一个顺序逻辑描述符402。如果逻辑描述符402是逻辑描述符列表400中最后的逻辑描述符402,可以按如上所述类似的方式处理逻辑描述符列表400中的第一顺序逻辑描述符402并且然后重复所述过程。
逻辑描述符列表400中逻辑描述符402的连续次序部分地由节点的输入来确定。例如,参考图3,因为节点303和节点307发送输出到节点305,所以在逻辑描述符列表400中,定义了节点303和307的逻辑描述符402应该列在定义了节点305的逻辑描述符402之前。只要到节点305的输入在节点305的处理之前被处理,逻辑过程就可以被成功执行。
可以包括完整性校验,其允许监视逻辑描述符列表400的完整性。完整性校验可以包括,为逻辑描述符列表400计算校验和。在处理每个逻辑描述符402并且更新逻辑描述符的逻辑状态之后,计算逻辑描述符的校验和并将其添加到先前处理的逻辑描述符402的校验和。一旦处理了逻辑描述符列表400的最后的逻辑描述符402,就将先前处理的逻辑描述符402的校验和与逻辑描述符列表400的校验和进行比较。如果校验和匹配,则处理继续按照如上所描述的那样处理第一逻辑描述符402。如果校验和未能匹配,则可以发送错误指示符。错误指示符可以用于指示系统的故障。在ETS应用中,错误指示符可以发起对(图1的)发电机103的关闭。完整性校验不局限于校验和,并且可以使用其它类型的数据完整性校验方法,例如循环冗余校验(CRC),或者其他适用的数据完整性校验方法。
FPGA202可以包括寄存器,其允许确定FPGA 202是否从CPU 104接收输入。在操作中,寄存器接收来自CPU 104周期性地改变(心跳)的指示符。FPGA202可以检查寄存器以确定在定义的时间段内是否指示符已经改变(如图5的块526所示)。如果在定义的时间段中指示符未能改变,则到CPU 104的连接可能丢失,或者CPU 104也许已发生故障。如果故障被确定,则可以发送错误指示符,而且FPGA 202可以利用适当的逻辑(如图5的块528所示)来解决故障。例如,如果由于系统测试的缘故CPU 104已经引导FPGA 202关闭输入,则可以使用心跳检查。如果CPU 104在引导FPGA 202接通输入之前发生故障,则心跳检查将指示故障。FPGA然后可以接通输入以返回正常操作,而无需来自CPU 104的引导。
以上记载的描述运用示例来公开本发明,包括最佳模式,而且还使任何本领域技术人员能够实现本发明,包括制造并使用任意设备或者系统并且执行所有包含的方法。本发明可取得专利的范围由权利要求书来限定,并且可以包括本领域技术人员想得到的其他例子。如果这样的其他示例具有与权利要求书的文字语言没有区别的结构元件,或者如果它们包括等价的结构元素而与权利要求书文字语言无实质的区别,则它们被认为包括在权利要求书的范围内。
部件列表
  100  系统  101  紧急跳闸系统(ETS)  102  FPGA

  103  发电机  104  中央处理器(CPU)  106  发光二极管(LED)  108  离散输入  110  速度输入  112  离散输出  202  逻辑处理器  204  时间序列(SOE)处理器  206  速度处理器  210  串行外围接口(SPI)  212  逻辑描述符列表(LDL)  300  图形用户界面  301  节点  303  节点  305  节点  307  节点  302  块  304  输入信号  306  输出信号  400  逻辑描述符列表  402  逻辑描述符  504  块  506  块  508  块  510  块  512  块  514  块  516  块  518  块  520  块  522  块  524  块  526  块  528  块

包括现场可编程门阵列的系统和方法.pdf_第1页
第1页 / 共21页
包括现场可编程门阵列的系统和方法.pdf_第2页
第2页 / 共21页
包括现场可编程门阵列的系统和方法.pdf_第3页
第3页 / 共21页
点击查看更多>>
资源描述

《包括现场可编程门阵列的系统和方法.pdf》由会员分享,可在线阅读,更多相关《包括现场可编程门阵列的系统和方法.pdf(21页珍藏版)》请在专利查询网上搜索。

一种用于在现场可编程门阵列(FPGA)中对逻辑进行编程的方法包括,接收逻辑过程,其包括逻辑节点,并将节点与逻辑描述符关联起来,并且在FPGA的存储器中保存逻辑描述符。逻辑描述符包括:节点的唯一标识符;启用指示符,可操作来指示节点是否被启用;功能指示符,可操作来定义由节点执行的逻辑功能;输入数指示符,可操作来定义节点的输入数;输出指示符,可操作来指示节点的输出的逻辑状态;以及输入指示符,可操作来指示。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 基本电子电路


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1