包括多个功能块的现场可编程门阵列和用于动力装置的控制装置的制作方法

文档序号:13847104阅读:209来源:国知局
包括多个功能块的现场可编程门阵列和用于动力装置的控制装置的制作方法

本发明涉及包括多个功能块的现场可编程门阵列,该功能块中的至少一个包括至少一种功能,该功能中的至少一种使用参数,其中所述功能块适于在计算阶段执行所述至少一种功能。

进一步地,本发明涉及用于动力装置,尤其是核动力装置的控制装置,其中该控制装置包括所述现场可编程门阵列。

wo2008/138420a1公开了用于无线电通信系统的动态重配置的装置。该装置包括可被重编程为从传输模式切换到接收模式或从接收模式切换到传输模式的功能块。

在核工业中,目前使用基于cpu的仪表和控制平台,例如基于iec61131功能块图(fbd),在信号流取向的人工可读图的帮助下来执行项目特定的工程任务。工具链自动将这些图转换为可以在基于cpu的安全仪表和控制系统上编译和运行的c代码。整个工具链的二进制结果具有高度的可预测性,因此该方法可以用于安全应用。

然而,对于现场可编程门阵列(fpga),由于fpga及其工具链的性质,即使设计入门级的小改变也可能导致最终芯片在先前不可预知的、完全不同的时序特性。因此,fpga很少用于使用基于图的方法的安全仪表和控制行业中。相反,需要电子专家以使用基于硬件描述语言如vhdl(超高速集成电路硬件描述语言)的众所周知的技术来进行fpga设计。这导致了固定的设计,该设计只有通过执行非常复杂的项目工程任务才能在不同的情况下重复使用,所述任务不仅涉及来自应用领域的专家,而且涉及来自fpga设计领域的专家。

此外,每种fpga设计都需要通过采用复杂的开发和验证过程来非常仔细地进行资格认证。通常,fpga的资格认证需要付出很大努力。

本发明的目的是提供一种现场可编程门阵列,其使得能够证明以图为中心的特定工程方法,同时仍然提供fpga技术的益处。

鉴于以上,现场可编程门阵列包括:

多个功能块,功能块中的至少一个包括至少一种功能,该功能中的至少一种使用参数,其中功能块适于在计算阶段执行至少一种功能;

数据输送器,包括多个数据间隙,其中在数据传送阶段,每个功能块适于从一个或多个预定义的第一间隙接收输入数据和/或向一个或多个预定义的第二间隙提供输出数据;以及

配置电路,适于为使用参数的至少一种功能配置参数,以及定义一个或多个第一间隙和/或一个或多个第二间隙,用于至少一个功能块,其中,

现场可编程门阵列适于循环重复数据传送阶段和计算阶段。

根据进一步的实施方式,本发明可以包括以任何技术上可能的组合的以下特征中的一个或多个:

-配置电路适于定义多个功能块,尤其是所有功能块的一个或多个第一间隙和/或一个或多个第二间隙;

-至少一个功能块适于从至少两个第一间隙接收输入数据或向至少两个第二间隙提供输出数据,其中第一间隙或第二间隙中的至少两个间隙彼此不相邻;

-至少一个功能块适于接收至少两个功能块的输出数据作为输入数据;

-第一间隙和/或第二间隙是时隙,和/或在至少两个后续数据传送阶段,例如所有数据传送阶段,功能块适于分别从相同的一个或多个预定义的第一时隙接收输入数据和/或分别向相同的一个或多个预定义的第二时隙提供输出数据;

-数据输送器包括多路复用器和/或包括分布式多路复用器结构的中央元件;

-数据输送器包括至少一个具有多个输入端口的或门,其中多个功能块的输出端口连接于或门的输入端口;

-每个功能块包括用于输入数据的至少一个数据接收盒,尤其作为输入移位寄存器,和/或用于输出数据的至少一个数据发送盒,尤其作为输出移位寄存器;

-功能块的至少一种功能适于读取至少一个输入数据,尤其是从数据接收盒读取至少一个输入数据,以在至少一个输入数据上执行任务,以及尤其在数据发送盒中,提供任务的结果作为至少一个输出数据;

-至少一种功能是用于二进制逻辑运算的二进制功能、比较功能、表决功能、计算功能和/或二进制存储;

-现场可编程门阵列适于同时执行所有功能块的至少一种功能;

-至少一个功能块,尤其是多个功能块是输入块,其中每个输入块适于从现场可编程门阵列外部的装置接收数据并提取所述数据,用于执行功能的至少一个功能块,并且其中至少一个功能块,尤其是多个功能块是适于输出块,所述输出块适于转换来自执行功能的至少一个功能块的输出数据,用于现场可编程门阵列外部的装置的功能;和/或

配置电路适于从现场可编程门阵列外部的外部存储器检索配置数据。

根据另一个方面,一种用于动力装置,尤其是核动力装置的控制装置,其中,所述控制装置包括根据本文公开的实施方式的现场可编程门阵列。

与使用单独编程的fpga相比,使用根据本发明的fpga设计导致显著较低的工程成本。具体而言,可以使用以图表为中心的程序编程的基于fpga的装置可以用于动力装置,特别是核动力装置中。

尤其与典型的fpga使用情况相比,电路的灵活性降低,但仍然足够大以使fpga适于动力装置领域的特定项目,特别是核动力装置、仪器仪表和控制系统的特定项目。对于根据本发明的现场可编程门阵列,大大减少了资格认证工作,因为可以在为特定项目配置fpga之前完成资格认证工作。

根据本发明,fpga执行多个功能块,所述功能块可以根据项目以可配置的方式相互连接,例如通过时间多路复用电路使用用于每个功能块的输入和输出的固定(可配置)时隙。然而,fpga的这种适配不需要对基于vhdl的基本电路进行修改。换句话说,fpga电路可能是合格的,并且可以在每个项目中完成详细的配置。fpga可能包括不同项目所需的所有逻辑块的超集。

根据一种实施方式,小的配置电路或存储器可以按照对各个项目的规定,单独适应每个功能块。

进一步的优点、特征、方面和细节由从属权利要求、说明书和附图变得明显。

为了能够详细理解本发明的上述特征的方式,可以通过参考实施方式来阅读上面简要总结的本发明的更具体的描述。附图涉及本发明的实施方式并且在以下进行描述:

图1图示了根据本发明的fpga的实施方式的流程图;

图2显示了根据本发明的fpga的实施方式的系统方框图;

图3显示了数据输送器的实施方式的系统方框图;

图4显示了数据输送器的进一步的实施方式的系统方框图;

图5显示了数据输送器的另一种实施方式的系统方框图;

图6详细地显示了使用图5的数据输送器的根据本发明的fpga的实施方式的系统方框图;

图7图示了使用图5的数据输送器的根据本发明的fpga的功能块的方框图。

可以预期的是,一种实施方式的元件可以有利地用于其他实施方式中而不需要进一步的叙述。

图1显示了根据本发明的fpga(现场可编程门阵列)1的实施方式的图解流程图。

fpga1包括多个功能块10a、10b、10c、10d。进一步地,fpga1包括特定的功能块,称为输入块20和输出块30。每个功能块10a-d、输入块20和输出块30包括待对接收的数据执行的至少一个功能元件或运行器12a、12b、12c、12d、22、32。

功能块10a-d可以执行仪表与控制相关的功能,如表决(voting)2oo4数字输入信号、一个或多个数字门(与、或等)、一次或多次浮点单元执行计算如平方根或对数、一个或多个阈值比较器或计算步骤如功能12a-d。

提供了功能或运行器12a-d作为fpga1中的硬编码电路。每种功能12a-d适于计算来自一个或多个输入数据的一个或多个输出数据。功能块10a-d的输出数据被提供给一个或多个数据发送盒14a、14b、14c、14d。从一个或多个数据接收盒16a、16b、16c、16d接收或读取功能块10a-d的输入数据。

根据一种实施方式,输入块20连接于在fpga1外部并向fpga1提供要处理的数据的第一外部通讯线26。数据可以以任意协议提供,或者甚至可以代表模拟数据。

根据一种实施方式,输入块20可以包括作为功能元件或运行器22的转换器,用于将来自第一外部通讯线26的格式转换为功能块10a-d使用的内部数据格式。例如,转换器可以是提取从光纤或总线或不同输入格式或协议接收的数据,使得数据可以由功能块10a-d处理。转换的数据输入至少一个数据发送盒24。

输出块30将读取自至少一个接收盒36的输出数据提供至在fpga外部的第二外部通讯线34。例如,第二外部通讯线可以是特定的总线,例如光纤。在其他实施方式中,第二外部通讯线34可以是模拟连接。在其他实施方式中,第二外部通讯线34是二进制连接。因此,输出块30可以包括作为功能元件或运行器32的转换器,用于将来自内部数据格式的数据转换为适于第一外部通讯线34的数据。例如,功能元件32可以包括用于特定协议的打包功能元件。

进一步地,fpga1包括数据输送器40。根据可以与本文公开的其他实施方式合并的实施方式,数据输送器包括多个间隙42。间隙的数目为例如至少256个,例如512至4096个。每个间隙42可以输送一个或多个比特。根据一种实施方式,数据输送器包括至少两组间隙。第一组间隙例如512至4096个间隙是二进制值间隙,第二组间隙例如64至2048个间隙是模拟值间隙。模拟值间隙可以具有至少32比特的宽度。二进制值间隙可以具有1或2比特的宽度。

在至少一个第一处理阶段,每个功能块10a-d和输出块30配置为接收或读取来自一个或多个预定义的间隙42的数据并输入至其各自的一个或多个接收盒16a-d、36。

在至少一个第二处理阶段,每个功能块10a-d和输出块20配置为接收或读取来自其一个或多个发送盒14a-d、24的数据并输入至数据输送器40的一个或多个预定义的间隙42。

因此,每个功能块10a-d、输入块20和输出块30分别适于接收输入数据,以根据多个间隙42的参数或配置将输出数据提供至数据输送器40的多个间隙42。换句话说,任何功能块10a-d、20、30可以配置为使用数据输送器40的任意间隙,用于输入数据或输出数据。

在其他实施方式中,向一个或多个预定义的间隙提供数据和从一个或多个预定义的间隙42读取数据的操作可以在组合的第一和第二处理阶段中,所述第一和第二处理阶段可以被进一步分为子阶段。

根据一种实施方式,对功能12a-d、22、32中的数据执行计算是并行执行的。例如,功能12a-d、22、32中的计算在第三处理阶段中执行。

以相同方式重复第一、第二(或组合的第一和第二)处理阶段和第三处理阶段。在每个第一、第二和第三处理阶段中,功能块仅使用提供或存储在各个间隙中的不同值来执行相同的操作。

例如,根据中央配置,以严格定时的方式写入和读取提供多个间隙42的数据输送器。也就是说,当数据输送器40与接收盒16a-d、36和发送盒14a-d、24之间的数据交换发生时,以及当功能12a-d、22、32在功能块10a-d,尤其在输入块20和输出块30中执行时,所述数据输送器是中央确定的。因此,存在包括至少一个第一和第二处理阶段的数据传送阶段和包括第三处理阶段的数据处理阶段。根据一种实施方式,传输阶段和计算阶段在fpga1中交替地进行。

根据一种实施方式,配置电路(图1中未示出)适于在各个功能块10a-d、输出块20和输入块30中设置参数。例如,配置电路适于根据预定义的参数集例如阈值比较器的阈值使功能块10a-d的功能参数化。进一步地,配置电路适于针对每个功能块10a-d、20、30的输出数据定义或设置间隙42。换句话说,配置电路适于存储和设置发送盒14a-d向数据输送器的各个间隙42的分配和间隙42向各个接收盒16a-d、36的分配。

例如,配置电路适于从存储器例如非易失性存储器读取配置参数,所述配置参数包括针对功能12a-d、22、32的参数以及输入数据或数据接收盒和输出数据或数据发送盒对数据输送器40的间隙42的分配。

因此,在项目期间,只有配置参数必须修改,而fpga以及vhdl中的电路保持不变。

根据一种实施方式,如果特定的项目不需要功能块10a-d,那么功能块10a-d被静态地禁止访问数据输送器40。例如,与门可以用于此目的。

图2显示了fpga100的一种实施方式,其中数据输送器140以不同的方式表示。除非另有说明,相同的特征以与图1中相同的附图标记,并增加100来提供。图2的实施方式的特征可以与本文公开的其他实施方式组合。图2显示了fpga100中不同块的可能的空间分布。

fpga100包括多个功能块110a-h。然而,应该注意的是,功能块的数量不限于8个。fpga100也可以包括或多或少的功能块110a-h。每个功能块110a-h通过输入线114a-h连接至数据输送器或总线140以接收输入数据。进一步地,为每个功能块110a-h提供连接至数据输送器140的输出线116a-h以向数据输送器140提供输出数据。

根据图2中所示的实施方式,fpga包括4个输入块120a、120b、120c、120d和4个输出块130a、130b、130c、130d。在一种实施方式中,输入块和输出块的数目是相同的。在其他实施方式中,输入块和输出块的数目可以彼此不同。在另一个实例中,fpga100可以包括多于或少于4个输入块和/或多于或少于4个输出块。

为每个输入块120a-d提供输出线126a-d以向数据输送器140提供接收自fpga100的输入引脚128a-d的数据。例如,向输入引脚128a-d提供的数据可以来自另一个fpga或i/o模块。输入块120a-d转换接收自输入引脚128a-d的数据,用于数据输送器140,例如上文关于图1所描述的那样。

相反,为每个输出块130a-d提供输入线134a-d以从数据输送器140接收数据。将数据转换或转变为其他格式或协议,例如图1中的实施方式所描述的,以将其提供至fpga的输出引脚138a-d。然后,数据可以由其他外部装置(图2中未示出)使用,例如另一个fpga。

在一种实施方式中,fpga100包括配置电路150。配置电路适于连接于配置存储器152,例如非易失性存储器152。在可以与本文公开的其他实施方式组合的实例中,配置存储器152在fpga100的外部。

配置电路150适于配置所有功能块140a-h、输入块120a-d和输出块130a-d的参数。例如,配置电路150适于提供待由一个或多个尤其是所有功能块140a-h执行的功能的参数。在一些实施方式中,配置电路150适于将功能块140a-h、输入块120a-d和输出块130a-d的接收盒和发送盒分配给数据输送器140的各个间隙。

在一种实施方式中,fpga100的配置所需要的所有参数通常存储在配置存储器152中。配置电路适于读取配置存储器152,然后设置功能块140a-h、输入块120a-d和输出块130a-d中的所有参数。例如,在运行期间也可以改变存储在配置存储器152中的参数,以改变功能块110a-h、120a-d、130a-d的参数。例如,在运行期间阈值可以改变。

fpga100可以进一步包括时钟160。根据一种实施方式,时钟可以提供中央时间信号,并且可以定义计算和数据传送阶段,如上文所讨论。通常,等待时间与所有功能块110a-h的固定量子相同或至少是其倍数。根据一种实施方式,时钟160向每个功能块140a-h、输入块120a-d和输出块130a-d提供时间或时钟信号。

根据一种实施方式,fpga100包括测试逻辑170。测试逻辑170连接于fpga100外部的测试模式存储器172。测试模式存储器172存储测试数据,例如测试向量或测试模式形式的测试数据。

通常,在可以与本文公开的其他实施方式组合的实施方式中,每个功能块具有其自己的资源,例如一个或多个记忆元件、一个或多个逻辑运算单元和/或一个或多个浮点单元,它们与其他功能块的资源分离。例如,每个功能块或功能都有自己的存储单元或浮点单元。但是,每个功能块没有必要拥有所有可用的资源。例如,不是每个功能块都可以有浮点单位。换句话说,功能块、输入块和输出块不共享资源来执行其任务。

以下,公开了数据输送器的几种实施方式。

图3显示了包括数据输送器240的第一实施方式的fpga200。除非另有说明和描述,相同的特征以与图1中相同的附图标记,并增加200来提供。图3的实施方式的特征可以与本文公开的其他实施方式组合。

fpga240包括多个功能块210a、210b、210c、210d、210e和数据输送器240。数据输送器240通过输入线214a-e和输出线216a-e连接于每个功能块210a-e。输入线214a-e和输出线216a-e可以具有例如32比特的数据宽度。也可以使用其他数据宽度。在一些实施方式中,每个功能块210a-e以序列化形式提供输出信息。从功能块的角度来看,数据输送器240像存储器一样其作用。数据输送器240被配置为将数据发送至正确的输入线214a-e和接收功能块210a-e。因此,每个功能块210a-e仅需要实现一个简单的存储器接口。在该实施方式中,整个装置没有义务遵守严格和恒定的周期时间。

图4显示了包括数据输送器340的第二种实施方式的另一种fpga300。除非另有说明和描述,相同的特征以与图1中相同的附图标记,并增加300来提供。图4的实施方式的特征可以与本文公开的其他实施方式组合。

fpga300包括多个功能块,其中每个功能块包括数据发送盒314a、314b、314c和数据接收盒316a、316b、316c。在其他实施方式中,fpga300可以包括或多或少的功能块。为简单起见,各功能块的数据发送盒和接收盒分别显示在左侧和右侧。

数据发送盒314a-314c通过输出线315a-c连接于总线主控342,所述总线主控342又通过输入线317a-c连接于各自的数据接收盒316a-c。例如,输入线317a-c和/或输出线315a-c可以具有8比特的带宽。在其他实施方式中,输入线317a-c和/或输出线315a-c可以具有另一种带宽。

数据输送器340包括适于向每个数据发送盒314a、314b、314c询问数据的总线主控342。因此,数据发送盒314a-c仅作为从属装置。

总线主控342连接于时钟或计数器344。在一种实施方式中,总线主控342包括多路复用器。总线主控342适于用于一个接一个地服务功能块。当总线主控342从功能块读取数据时,它对发送盒或输出线中存在的数据字进行采样,并通过向各个功能块发出脉冲来确认采样成功。这使功能块能够将接下来的数据提供到输出线上或输出框中。

总线主控342适于以相似的方式一个接一个地将数据提供给各个功能块的功能。总线主控342包括存储器元件,该存储器元件适于在定义目标地址或目标数据接收盒316a-c的可配置地址生成器的帮助下执行路由。

图5和图6显示了包括数据输送器440的第二种实施方式的另一种fpga400的系统方框图。除非另有说明和描述,相同的特征以与图1中相同的附图标记,并增加400来提供。图5和图6的实施方式的特征可以与本文公开的其他实施方式组合。图6显示了fpga400的更详细的视图。应该注意的是,即使输入块和输出块没有在这些图中示出,它们也作为功能块以各自的方式连接到数据输送器、时钟和配置电路。因此,关于功能块描述的大部分特征也适用于输入块和输出块。

根据本文公开的实施方式,输入块和输出块被认为是功能块的具体实施方式。

fpga400包括多个功能块,其中每个功能块包括数据发送盒414a、414b、414c和数据接收盒416a、416b、416c。在其他实施方式中,fpga300可以包括或多或少的功能块。为清楚起见,各功能块的数据发送盒414a、414b、414c和接收盒416a、416b、416c分别显示在图的左侧和右侧。

进一步地,fpga400包括时钟或计数器460。时钟460连接于每个功能块,并且尤其连接于输入块和输出块。

根据本文公开的实施方式,以分布式多路复用器结构实现数据传输。换句话说,多路复用器的功能分布在fpga的被称为中央元件和特别用于每个功能块的至少一个元件的不同元件之间,所述功能块控制要提供给中心元件的数据。功能块特定元件连接于中央元件。例如,多路复用器可以分布在数据输送器440和功能块之间。

数据输送器440包括作为中央元件的至少一个或门442。或门442的输入端口444a、444b、444c分别连接于各自的发送盒414a-c的输出端口415a、415b、415c。或门442的输出端口445分别连接于各自的接收盒416a-c的输入端口417a-c。

在一种实施方式中,发送盒414a-c与或门442之间的连接具有1比特的数据宽度。在其他实施方式中,也可以使用其他数据宽度,例如2或3比特。因此,或门442和数据接收盒416a-c之间的连接与数据发送盒414a-c和或门之间的连接具有相同的数据宽度,例如在这种情况下数据宽度为1比特。

应该注意的是,数据输送器440或分布式数据结构的中心元件可以包括几个级的或门。例如,在布置20输入或门之后,布置触发器例如d-触发器,然后布置另一个或门。根据实例,完全100输入或门可以包括5个20输入或门、5个触发器或其他存储器元件,各自分别连接于每个或门的输出,以及一个5输入或门。在这种情况下,分布式多路复用器结构的中心元件中包括每一级的或门。

如果或门442只有一个输入为高,那么输出也为高。因此,必须控制功能块的输出,例如通过分布式多路复用器结构的功能块特定元件控制功能块的输出。

为每个功能块410a-b提供至少一个针对每个发送盒414a-c和每个接收盒416a-c的配置装置500、502(参见图6)以控制提供给数据输送器的数据或由数据输送器接收的数据。配置装置500、502可以被看作分布式多路复用器结构的功能块特定元件。

根据图5至图7所示的实施方式,数据输送器440适于提供多个时隙。换句话说,通信被分成时隙,而每个功能块410a、410b知道在预分配时隙期间何时可以驱动时隙输出。如果在一个时隙期间,各个源功能块410a、410b想要发出低电平信号,则该信号不驱动时隙输出,同时没有其他功能块410a、410b考虑驱动线路。因此,或门442之后产生的信号保持较低。在功能块410a、410b想要发送高电平信号的情况下,或门442之后的输出变高。

通过配置电路450来配置配置装置500、502和功能412a、412b。(中央)时钟或计数器460触发每个配置装置500、502。如图2所示,配置电路450周期性地或以规律的时间间隔读取外部存储器,以检索参数或配置数据。在图6中仅示出了两个配置装置500、502,尤其对于功能块410a。然而,其他功能块,尤其是输出块和输入块也包括一个或多个配置装置。

具体来说,配置装置500适于为每个数据发送盒414a-c中存储的数据指定数据输送器上的特定时隙。因此,配置装置502适于为每个数据接收盒416a指定特定时隙以接收来自数据输送器440的输入数据。换句话说,第一配置装置500适于控制功能块410a的两个发送盒414a,第二配置装置502适于控制两个发送盒416a。因此,两个配置装置500、502可以被认为是分布式多路复用器结构的功能块特定元件,因为它们控制功能块接收形式或提供给数据输送器的时间。

根据一种实施方式,数据接收盒416a-c和数据发送盒414a-c是移位寄存器。移位寄存器可以以并行方式写入,并且可以以串行方式读取,反之亦然。因此,其他发送盒414a-c为数据输送器提供1比特之后,数据接收盒416a-c可以为数据输送器提供1比特。此外,每个数据接收盒416a-c和每个数据发送盒414a-c由时钟或计数器460触发。

进一步地,在功能块410a-b包括多于一个数据接收盒416a-c和数据发送盒414a-c的情况下,每个数据接收盒和数据发送盒414a-c、416a-c包括选择输入端口503、508,所述选择输入端口503、508定义了是否允许各个数据接收盒或发送盒向数据输送器440写入数据或从数据输送器440接收数据。根据一种实施方式,配置装置500、502根据其配置来设置选择输入端口。

功能块410a-b内的数据发送盒414a,尤其是移位寄存器的输出连接于或门504的输入端口,使得功能块410a提供单一输出。或门504的输出连接于与门506的第一输入。与门506的第二输入由配置装置500驱动。因此,第一配置装置500适于根据时钟输入确定,其中,数据输送器440的时隙,存储于每个数据发送盒414a中的数据可以通过经由选择输入端口503启用两个数据发送盒414a中的一个以及通过使用与门506启用或禁用输出来写入。与门506的输出作为输入连接到数据输送器440,尤其是数据输送器440的或门442。

因此,第二配置装置502适于根据时钟输入确定,其中,数据输送器440的时隙,数据输送器440的数据应该通过经由选择输入端口508启用两个数据发送盒414之一来提供给数据接收盒416a之一。

功能块410a包括将结果写入两个发送盒414a的功能412a。进一步地,功能412a从执行后续计算的两个数据接收盒4116a中读取数据。

在一种实施方式中,数据输送器可以进一步包括连接于或门442的输出的存储器元件446。例如,存储器元件446可以是d-触发器。

根据一种实施方式,数据输送器的配置装置、数据发送盒和数据接收盒、存储器元件通过中心时钟或计数器同步。

图7中,以与图5和6相比不同的方式示出了功能块410a。功能块410仅包括一个数据接收盒416a和一个数据发送盒414a。数据接收盒416a适于从数据输送器440接收数据,并且数据发送盒414a适于向数据输送器440提供数据。功能412a包括两个子功能510(例如比较功能)和512(例如分类功能)。子功能510、512的参数514、516(例如阈值)可以由配置电路450来设置。进一步地,用于多路复用(例如分配数据输送器440上的时隙)和多路分解(例如从数据输送器440读取特定的时隙)的参数518、520也通过配置电路450经由配置装置500、502设置。

在下文中,使用功能块410a解释fpga的功能。在计算阶段期间,功能412a从数据接收盒416a读取数据,并对读取数据进行计算。然后,功能412a将结果提供给数据发送盒414a。

在数据传送阶段,在第一预定义时隙或时钟460的时钟值处,配置装置500使用第一数据发送盒的选择输入端口503和与门506的第二输入端口,启用第一数据发送盒向数据输送器440或或门提供数据。现在,在每个时钟信号处,在数据输送器440上提供第一数据发送盒的一部分,在这种情况下所述数据输送器440是或门442。其他功能块的配置装置在这个时隙期间不允许它们各自的电路(例如它们的移位寄存器或数据发送盒)在数据输送器440上写入数据。然后,在与第一预定义时隙不同的第二预定义时隙或时钟460的时钟值期间,配置装置500使用第二数据发送盒的选择输入端口503和与门506的第二输入端口,启用第二数据发送盒414a。现在,在每个时钟信号处,在数据输送器440上提供第二数据发送盒414a的一部分,在这种情况下所述数据输送器440是或门442。

因此,在数据传送阶段期间,在第三预定义时隙或时钟460的时钟值处,配制装置502使用第一数据接收盒的选择输入端口508,启用第一数据盒416a。现在,在每个时钟信号处,来自数据输送器440的一小部分被写入第一数据接收盒。在与第三预定义时隙不同的第四设定时隙或时钟460的时钟值处,通过使用第二数据接收盒的选择输入端口508配置装置502启动第二数据接收盒416a。在每个时钟信号处,将来自数据输送器的一部分数据写入第二数据接收盒。因此,两个数据接收盒都装载了来自数据输送器440的数据。

因此,根据本文公开的实施方式,所有功能块以及输入块和输出块连接于数据输送器的或门442。通信的可用时间被分成可以持续1比特,1字节甚至1个单词的时隙。每个这样的时隙被分配给时钟460的时钟值。时钟值可以被所有的功能块读取,也可以被输入块和输出块读取。因此,每个功能块的配置数据包括块被允许在哪个时隙向数据输送器提供数据。例如,配置装置500、502适于将当前时钟或计数器值与允许功能块使用的配置的输入或输出间隙进行比较。该比较信号适于被提供给与门506的第二输入端口。配置电路502可以以类似的方式选择在哪个时隙应该从数据输送器440读取数据。

根据本文公开的实施方式,通过静态配置每个功能块向哪里发送其输出信号,功能块可以以任意方式互连。换句话说,如果配置不改变,则各个功能块的分配时隙不会改变。因此,在数据传送阶段,循环地重复写入时隙和从各时隙读取。

这种电路布置允许它使用非常有限量的配置数据来定制仪表和控制应用,这几乎和使用基于软件的系统一样灵活,同时保留了fpga技术的优势。

因此,根据本文公开的实施方式的fpga可以用于使用图表方法来配置fpga的变成。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1