柔性逻辑硬件的空间分离的制作方法

文档序号:28326162发布日期:2022-01-05 00:53阅读:149来源:国知局
柔性逻辑硬件的空间分离的制作方法

1.本发明涉及一种电子系统,该电子系统包括各种组件和/或单元,因此该电子系统可以被称为异构系统。本发明的电子系统可以应用于电力系统数字控制领域,并且特别是针对(但不限于)要求硬实时和安全控制的纯电动或混合动力车辆电动马达的动力传动系的控制。


背景技术:

2.在硬实时和安全敏感应用(如汽车动力传动系控制器)的环境中使用可重新配置逻辑(flu/fpga)时,存在以下挑战:
3.·
在多核处理环境中,我们可以如何确保flu资源被独占分配给应用程序?
4.·
在增量固件精化的环境中,我们可以如何确保已认证固件的非回归?
5.现有技术解决方案
6.单fpga
7.如上所提及的,拥有单个基本efpga是一个问题,因为在那里执行的所有应用程序都必须合并为单个fpga配置比特流的一部分。
8.多fpga
9.一个简单的解决方案是将矩阵拆分为多个较小的矩阵(例如4cpu/4flu),如图20(左侧)中所示。
10.该解决方案显然使得能够实现fpcu中执行的(最多)4个应用程序的严格独立性。因此,声明这4个应用程序彼此独立是简单的。
11.此外,由于每个应用程序都在分开的flu比特流中进行编码,因此更新其中一个应用程序不需要重新编译其它应用程序。
12.然而,这种架构严重缺乏灵活性。事实上,如果我们希望执行仅一个非常复杂的应用程序呢?在这种情况下,该应用程序的flu部分将可能不能容纳进flu的其中一个部分。因此,应用程序必须分成4个硬件部分。并且每个部分应独立映射到4个flu部分中。
13.这在技术上是可行的,但实际上几乎无法使用,因为:
14.·
flu的不同部分需要通过soc互连进行通信,这具有以下影响:
15.○
应用程序性能将受到此数据流瓶颈的强烈影响。
16.○
互连通信需要在每个分区中对相关联协议管理的映射。这是对flu资源的巨大浪费。
17.○
该通信将导致互连上的额外业务,这在实时约束方面可能是至关重要的。
18.·
没有任何eda工具足够智能以在flu部件之间自动拆分逻辑并根据需要插入互连通信桥。所以应用程序拆分必须在设计时手动完成。这在生产率方面是个问题。
19.部分重新配置
20.一些fpga供应商提供其fpga矩阵的《部分重新配置》。这个概念是能够在已经映射的fpga上映射新功能。该技术部分地解决了所面临的挑战。
21.然而,部分重新配置仍然存在以下问题:
22.很难证明在fpga中执行的应用程序的独立性;即使其已经用独立的比特流分别映射。事实上,部分重新配置完全由工具处理,且在结果方面不一定是可预测的。这对于安全分析是不可接受的。
23.发明目的
24.本发明提供了一种具有特定专用组件的电子系统,以实现针对上述挑战的特定解决方法。


技术实现要素:

25.针对以上提及的领域,本发明涉及一种电子系统,该电子系统包括各种组件和/或单元,因此该电子系统可以被称为异构系统。
26.本发明涉及一种电子系统,该电子系统包括特定组件,诸如sbox电路和/或特殊控制结构,使得能够实现“空间分离(spatial segregation),其中分开的efpga矩阵具有特殊边界“sbox”元素,以允许“合并”连续的矩阵,就仿佛从fpga工具角度来看这些连续的矩阵是单个的一样。
27.在本发明的第一方面中,一种系统,包括多个柔性逻辑单元布置(500),并排布置并且被适配为成对地物理连接或隔离;以及多个电子控制结构,由此其中的每个电子控制系统唯一地关联到所述柔性逻辑单元布置中的一个;并且所述电子控制结构被适配为与其各自布置的连接或隔离一致地成对物理地连接或断开。
28.为清楚起见,提议的系统允许(通过提供必要的支持结构,如控制结构)运行时成对物理连接或隔离柔性逻辑单元布置,因此在二者之间的选择是flu配置的一部分且这不是在电路设计时被冻结的选择。
29.在本发明的第二方面中,由第一方面的系统启用的多种方法和使用方法,特别是利用所述系统可以被配置成两个或更多个独立功能由组合在一起的一个或多个柔性逻辑单元布置定义,每个所述功能是独立的,这些方法包括对由其相关联(组合的)布置定义的所述功能执行动作(诸如任务或上下文切换,(部分)重新配置,执行安全操作和/或其组合),同时保持这些相关联(组合的)布置之间的(经由所述电路的)连接物理隔离。
30.在本发明的第三方面中,提供了包括计算机可读代码的计算机程序产品,当在计算机系统上运行时,该计算机可读代码使计算机系统执行前述方法中的任一项所述的方法,以及提供了存储有计算机程序产品的相关的非暂态机器可读存储介质。
附图说明
31.图1示出了现有技术异构硬件(fpcu)系统,包括:(i)多个电子组件(cpu、外围设备);和(ii)硬件可编程单元,其是可编程逻辑矩阵或柔性逻辑单元(flu)。
32.图2示出了根据本发明的异构硬件(fpcu)系统,包括:(i)多个电子组件(cpu、外围设备);和(ii)硬件可编程单元,该硬件可编程单元是可编程逻辑矩阵或柔性逻辑单元(flu),其中flu被分离或被适配为被分离。
33.图3示出了本发明中所需的sbox电路的示例性实施例以及其信号路由逻辑,包括使用单个隔离位的选择器(多路复用器)。
34.图4示出了本发明中所需的sbox电路的替代示例性实施例以及其信号路由逻辑,包括使用三个隔离位的选择器(多路复用器)。
35.图5示出了这些sbox电路实施例的示意性概括,其指示了用于物理隔离所述输出或输入、与路由逻辑分开并共享隔离(配置)位或信息的部件,并进一步图示了两个这样的sbox电路如何在柔性逻辑单元(flu)(矩阵)边界的边界处连接。
36.图6示出了典型非拐角sbox电路的抽象表示,其指示了隔离侧(粗线)并指示了输入能够被隔离(粗线)以及组合这种sbox电路的方式。
37.图7也示出了典型非拐角sbox电路的抽象表示,其指示了隔离侧(粗线)并指示了输入和输出都能够被隔离(粗线)以及组合这种sbox电路的方式。
38.图8还示出了替代sbox电路的抽象表示,其指示了隔离侧(粗线)。而左上图示出了输入侧隔离实施例,右上图示出了其输出侧变体。虽然图6、图7的非拐角sbox电路通常具有输入

输出侧,但可以选择拐角sbox电路具有较少的输入

输出侧,如左下图中所示。尽管到目前所示的各种实施例具有1个隔离侧,但右下图示出了也可以向两侧提供隔离功能。
39.图9示出了包括多个柔性逻辑单元(单元)布置的柔性逻辑单元系统,每个布置包括并排布置在(二维阵列)中的多个计算块;在所述布置的边界处提供的多个输入

输出块(iob);和多个连接块(cb)),每个所述(flu)(单元)布置还包括(也)设置在所述布置的边界处并且可连接到所述计算块、同一布置的所述输入

输出块的多个(sbox)(块)电路;并且可在同一布置内(经由所述连接块(cb))彼此间接连接,或者在属于另一个布置时直接连接。
40.图10示出了之前图中系统的实施例,指示了一种可能的互连方案。
41.图11示出了这种柔性逻辑单元系统的抽象表示,该系统包括多个柔性逻辑单元(单元)布置(以1行来布置),每个具有设置在所述布置的边界处、用于提供柔性逻辑电路(布置)外的输入或输出功能的多个输入

输出块(iob),而每个所述柔性逻辑单元(单元)布置还包括(也)设置在所述布置的边界处、提供柔性逻辑单元内的输入和/或输出功能因此当属于另一个布置时可彼此直接连接的多个(sbox)(块)电路。
42.图12示出了这种柔性逻辑单元系统的抽象表示,该系统包括以2维方式布置且因此在2维中可隔离可连接的多个柔性逻辑单元(单元)布置。
43.图13示出了系统的抽象表示,该系统是异构硬件系统,包括:(i)多个电子组件;(ii)硬件可编程单元,该硬件可编程单元是如前所述的可编程逻辑矩阵或柔性逻辑单元,由此第一组合的布置(经由其输入

输出块)连接到第一电子组件;并且第二组合的布置(经由其输入

输出块)连接到第二电子组件(所述连接可以是经由附加(从)接口电路、优选地每个布置一个接口电路的间接连接或直接连接)。
44.图14示出了柔性逻辑单元系统的抽象表示,该系统包括:多个(flu)(单元)布置,在此为并排布置并且被适配为各自成对(因此可沿行延伸)物理连接或隔离;以及多个(电子)控制结构,其中的每个控制系统(唯一地)与所述(flu)(单元)布置中的一个相关联;并且所述(电子)控制结构(同样地)各自成对(因此可沿行延伸)连接或可连接,更具体地所述(电子)控制结构(可连接到同类的控制结构),包括:用于(能够)生成指令或信号以控制(flu)(单元)布置及其周围逻辑的典型控制系统。
45.图15示出了具有典型控制系统或信号生成及其周围逻辑的这种(电子)控制结构的实施例,在此包括选择器(多路复用器)和存储部件(d触发器)。
46.图16示出了这种(电子)控制结构是如何连接的,以及对于某个配置,控制流如何通过这种连接被组织。
47.图17示出了这种(电子)控制结构如何连接及其电路实现。
48.图18示出了未连接的(电子)控制结构以及控制流如何得以组织。
49.图19示意性地示出了flu(单元)布置的各种组织。
50.图20示出了flu(单元)布置及其控制结构的摘要。
51.图21和图22示出了根据本发明的异构硬件(fpcu)系统,包括:(i)多个电子组件(cpu、外围设备);和(ii)硬件可编程单元,该硬件可编程单元是可编程逻辑矩阵或柔性逻辑单元(flu),且示出可以分离flu的各种方式。
52.图23示出了有助于安全操作(根据本发明分离的)(flu)系统的本发明的另外的有利实施例,其中故障管理器在检测到一个或多个所述(flu)(单元)布置中的故障时,选择正确操作一个或多个所述(flu)(单元)布置的结果。
53.图24描述了由本发明的概念实现的一些功率优化。
具体实施方式
54.挑战
55.在开始详细描述本发明的系统及其所需的底层组件之前,更详细来处理所解决的两个挑战。
56.确定性多核处理
57.电动和混合动力车辆的数字控制越来越复杂,因此需要越来越多的计算功率。此外,有一种趋势是尝试使用一个单个cpu装置来控制多个系统。
58.示例:在电动车辆中,能够使用同一mcu控制(一个或多个)电动马达和电池dc/dc转换器两者在系统成本且也在整个系统的效率方面都具有宝贵的优势。实际上,可以在两种控制算法之间共享一些实时信息。
59.因此,mcu处理器倾向于嵌入多个cpu内核,以并行执行多个应用程序。
60.在此类系统中,开发应用程序固件时需要进行关键声明。
61.·
需要声明无论其它应用程序的活动如何,每个应用程序的实时约束都得到保证(硬实时挑战)。
62.·
需要声明当一个应用程序由于某种原因出现故障时,其它应用程序不会受到影响(功能安全挑战)
63.在仅使用纯软件控制的mcu装置中,通常使用以下设计规则来保证先前的挑战:
64.·
每个cpu内核仅一个应用程序
65.·
对关键资源(尤其是存储器)的独占访问
66.·
对soc互连(服务质量)的高效仲裁策略
67.现在,考虑fpcu装置的具体实例,该fpcu装置在同一管芯上具有cpu内核和嵌入式fpga矩阵(flu)。在本上下文中,“应用程序”是cpu内核执行的软件和flu中执行的硬件计算的混合。软件部分可以如上所解释地进行管理。然而,对于应用程序的flu映射部分,必须定义解决方案。因为,默认情况下,在flu中执行的所有应用程序都合并在一个比特流中。
68.增量固件认证
69.这是功能安全要求。
70.仍然使用多核soc。想象以下情况。
71.汽车制造商设计了一个系统,该系统使用中央cpu装置来控制2个电动马达和dc/dc转换器,该中央cpu装置具有负责所有数字处理的多核。该系统稳定且经过充分验证。
72.然后汽车制造商出于某种原因觉得需要更新dc/dc控制。显然,在这种情况下,汽车制造商希望确保马达控制算法不会受到更改的影响。(意味着:即使经编译的二进制代码应该被修改也不会更改)
73.在纯软件计算中(假设汽车制造商使用了上一节提到的设计规则),过程非常简单。dc/dc应用程序被单独重新编译,自然不会影响其它应用程序。
74.现在,在cpu是fpcu的情况下,计算的flu部分必须小心处理,因为所有应用程序都合并在一个flu比特流中。因此,更改应用程序必然意味着重新编译在flu中执行的所有内容。
75.本发明概念
[0076]“空间分离”发明概念基于具有特殊边界“sbox”元素的分开的efpga矩阵,特殊边界“sbox”元素允许“合并”连续矩阵,就好像它们从fpga工具的角度来看是单个矩阵一样。
[0077]
因此,在图21中所示的4/4示例上,可以从fpga合成和布局

n

布线eda工具的角度管理各种efpga配置。这样做可以完全解决挑战,同时维持最大的efpga资源使用灵活性,而无需任何设计时间或硬件使用开销。
[0078]
现在进一步描述本发明的概念。
[0079]
如图14中所示,本发明涉及(flu)系统(400),包括多个(flu)(单元)布置(500,510),所述多个(flu)(单元)布置(500,510)并排布置并且被适配为成对地物理连接或隔离(根据配置信息)(并且可沿行、列或行列二者延伸);以及多个(电子)控制结构(接收所述配置信息),由此其中的每个控制系统(唯一地)与所述(flu)(单元)布置中的一个相关联;并且所述(电子)控制结构被适配为成对地连接或断开(根据所述配置信息)。
[0080]
实际上,在fpcu装置中,flu矩阵必然与负责以下各项的flu控制器相关联:
[0081]
·
flu矩阵时钟/复位生成
[0082]
·
flu矩阵比特流加载
[0083]
·
flu矩阵上下文切换序列控制
[0084]
·

[0085]
这些序列基于在flu矩阵和flu控制之间来回的专用信号。在根据本发明的分离架构中,每个flu分区必须与一个控制器相关联。这在所有分区彼此隔离时是可以的。
[0086]
然而,当两个或多个分区联结在一起时,必须确保所涉flu控制器之间的某些同步:
[0087]
·
联结flu分区的所有时钟和复位必须同时
[0088]
·
联结flu分区的上下文切换序列必须同时
[0089]
·

[0090]
所以必须有一种方法来确保这种同步。
[0091]
我们的解决方案基于“主flu控制器”的概念,其中“合并的”flu分区组中的一个flu控制器对上面列出的动作具有主控作用。
[0092]
图20的示例解释了主flu控制器的概念。在这个示例中:
[0093]
·
控制器0是flu组0+1+2的主控制器
[0094]
·
控制器1和2是该组的从控制器
[0095]
·
控制器3是组3的主控制器
[0096]
在前面的示例中,flu矩阵0/1/2的时钟和复位必须由所有控制器同时生成。
[0097]
为实现这一点,基于图15中描述的控制器内的基本结构在所有“连续”控制器之间构建了菊花链。所有控制器并排连接,如图17中所示。
[0098]
因此,如果flu分区与其最左边的flu分区联结,那么两个相应的控制器被链接,并且最左边的成为该组的主控制器。
[0099]
对于我们的示例,控制器链将如图16中所示。
[0100]
注意:
[0101]
·
图底部的“前向”链被设计为将信号从主控制器传播到最右侧的控制器。此路径上可以有零个或多个触发器。这在功能方面并不重要(只是插入了延迟)。然而,在设计的时序收敛方面,有机会放置触发器是重要的(避免太长的路径)
[0102]
·
反向路径将信号传播回主控制器。在该路径上,不能有任何触发器以确保到组中所有flu矩阵的信号的同步行为。
[0103]
一般而言,在这种(flu)系统(400)内,这些所述的(电子)控制结构(700)(可连接到同类控制结构)包括:控制系统(710),用于(能够)生成控制信号(指令或信号(诸如时钟、复位或上下文切换信号))以用于控制(flu)(单元)布置(500,510);第一控制信号输入部件(720),用于从第一(外部)控制系统(可能是其它类似(电子)控制结构的一部分)接收第一控制信号;第二控制输入部件(730),用于接收第二控制信号(可能来自又另一个类似的(电子)控制结构);配置输入部件(740),用于输入表示(相邻)布置是物理连接还是隔离的信息(配置位);控制逻辑,能够基于所述信息,选择由所述控制系统生成的控制信号(指令或信号)作为输出(760)(朝向其相关联的(flu)(单元)布置),或者两者都传递所述第一控制信号通过(750)至所述又另一个控制结构(可选地具有延迟),使用所述第二控制信号作为输出(朝向其相关联的(flu)(单元)布置)并传递通过(770)所述第二控制信号至所述其它控制结构。
[0104]
这种控制结构的示例性实施例在图17中示出,图17示出了(电子)控制结构控制逻辑包括(两个)选择器(800,810),优选地多路复用器(由所述信息控制,所述信息是例如所述配置位)。电子控制结构控制逻辑包括存储部件(820),优选地是传递路径中的(d

)触发器。
[0105]
如图9中所示,本发明包括(flu)系统(400),包括多个(flu)(单元)布置(500,510),每个布置包括多个计算块(410)(可配置逻辑块(clb)和/或信号处理单元(spu),以(2d阵列)并排布置);多个输入

输出块(iob)(420),设置在所述布置的边界处;(和多个连接块(cb)(430)),每个所述(flu)(单元)布置还包括:多个(sbox)(块)电路(100,105,110),(也)设置在所述布置的边界处并且可连接到所述计算块、同一布置的所述输入

输出块(直接或经由所述连接块(cb)间接地);并且可在同一布置内(经由所述连接块(cb))彼此间接连接或者在属于另一个布置时直接连接。优选地,用上面讨论的本发明的控制器方面来补充以上内容。
[0106]
值得注意的是,实质上提供iob以确保flu外部的通信(输入、输出),而提供(sbox)电路以用于flu内部的通信,来使得能够用作更大的矩阵(尽管其不一定限于此)。
[0107]
在这个阶段还值得强调的是,(flu)(单元)布置(500,510)意味着能够独立、自主行动,且因此能够以其自己的比特流来被编程或被配置。
[0108]
一般而言,所述(sbox)电路(属于不同的布置)仅经由所述物理上可隔离的输入或输出中的至少一个、并且可选地分别经由所述物理上可隔离的输出或输入中的两个直接连接。如图6中所示,唯一的必要条件是沿着这些电路中的其中两个电路的连接存在一个隔离可能性。如图7中所示,其中预见到两种隔离可能性的替代方案也是可能的,这提供了额外的安全性。
[0109]
在图9的示例性实施例中,进一步观察到布置在所述计算块或输入

输出块之间的多个连接块(cb)(430),以将同一布置的相邻计算块至少彼此连接或与同一布置的输入

输出块连接。
[0110]
替代方案将本发明构思为提供一种(flu)系统(400),包括多个计算块(410)(可配置逻辑块(clb)和/或信号处理单元(spu),以(2d阵列)并排布置;多个输入

输出块(iob)(420);(和多个连接块(cb)(430)),该系统还包括可连接到所述计算块、所述输入

输出块(经由所述连接块(cb))的多个(sbox)(块)电路(100,105,110);并且可彼此间接连接(经由所述连接块(cb))或直接连接。
[0111]
更一般地说,该(flu)系统包括定义了内部路由逻辑的许多块,可以定义:为了确保本发明提供的分离功能,(sbox)电路作为该内部路由逻辑的一部分来提供。
[0112]
回想flu矩阵结构基本上是与在路由信道网络上互连在一起的开关盒交错的逻辑功能(lut、spu、ram
……
)的瓦片。开关盒(sbox)包括一组多路复用器,该多路复用器根据从应用程序比特流加载的fpga配置信息路由信道信号。sbox的基本结构如图3中部分(150)中所描述的(仅示出一个信道)。空间分离概念基于对该标准sbox的修改。在该组件的一侧,添加了特定逻辑以提供“隔离”能力。
[0113]
隔离逻辑负责:
[0114]
1.(强制):将给定侧的每个输入设定为恒定值。
[0115]
2.(可选):将给定侧的每个输出设定为恒定值。
[0116]
隔离机制由特定配置位控制,该特定配置位是所考虑的flu部分的配置比特流的一部分。
[0117]
图3和图4给出了可能的隔离部件的一些示例。
[0118]
因此,本发明提供了具有至少3个io(输入

输出)侧(每个具有至少一个输入和一个输出)的以下(sbox)电路(100,110,200,300),该电路被布置为引导(选择性地)所述输入中的每一个(单独地)到所述输出中的两个或更多个,该电路的特征在于在一侧或多侧对输入和/或(一个或多个)输出的访问是物理可隔离的,并且可选地输入和/或(一个或多个)输出可被设定在预定的值。此外,本发明提供了具有4个io侧的非拐角(sbox)电路。
[0119]
sbox电路具有用于物理隔离所述输出或输入的部件(120)。
[0120]
这里提供了两个示例性实施例。
[0121]
在第一实施例中,所述部件(用于物理隔离所述输出或输入)包括(配置位)存储部件(130)和隔离部件(140)(诸如逻辑与门)(实际上至少一个这样的存储部件和隔离部件用
于输入或用于输出,且可能一个用于输入和输出二者)。
[0122]
在第二替代实施例中,所述部件(用于物理隔离所述输出或输入)包括都使用所述配置位作为输入以及选择器控制(实际上,至少一个选择器用于输入或用于输出,且可能一个选择器用于输入和输出二者)的(配置位)存储部件(130)和选择器(优选地多路复用器)。
[0123]
sbox电路确实具有信号路由逻辑(150),例如使用多路复用器(160)。
[0124]
很明显,这些特殊sbox然后被放置在每个flu部分的侧部,每个flu部分与另一个flu部分彼此连续且因此用作flu分区连接,如图5中所示。因此,连续的flu部分可以是独立的(即,隔离)或通过sbox完全连接。在后一种情况下,从工具的角度可以将连续的flu部分视为单个,因为两个部分之间的路由资源与在每个部分内侧的任何点可以发现的路由资源100%相同(即,隔离逻辑透明)。
[0125]
如上所讨论的,本发明提供了特定(电子)控制结构(700)(可连接到同类型控制结构),包括:控制系统(710),用于(能够)生成用于控制(flu)(单元)布置(500,510)的指令或信号(诸如时钟、复位或上下文切换信号);第一控制输入部件(720),用于从第一(外部)控制系统(可能是其它类似(电子)控制结构的一部分)接收第一控制信号;第二控制输入部件(730),用于接收第二控制信号(可能来自又另一个类似的(电子)控制结构);配置输入部件(740),用于输入表示(相邻)布置是物理连接还是隔离的信息(配置位);控制逻辑,能够在所述信息的基础上,选择由所述控制系统生成的指令或信号作为输出(760)(朝向其相关联的(flu)(单元)布置)或传递所述第一控制信号通过(750)至所述又另一个控制结构(可选地具有延迟),使用所述第二控制信号作为输出(朝向其关联的(flu)(单元)布置)并且传递(770)所述第二控制信号至所述其它控制结构。
[0126]
可以通过使用计算机辅助设计(flu)系统(400)的计算机实现方法来充分利用所提供的系统,包括:(i)加载该(flu)系统的模板;(ii)确定计算块(410)(可配置逻辑块(clb)和/或信号处理单元(spu)、输入

输出块(iob)(420)(和连接块(cb)(430))的量,(iii)确定要作为(flu)(单元)布置(500,510)的一部分的每个这样的块的量,(iv)确定用于这样的(flu)(单元)布置的(sbox)(块)电路(100,105,110)的量;(v)定义相邻布置的(sbox)块之间的连接线;以及(vi)自动生成定义的(flu)系统。
[0127]
本发明的系统可以支持不同的方法。如前所述,单个柔性逻辑单元被定义为可以执行独立功能的单元。本发明的目的是安全地(通过使用sbox功能)组合这样的布置,从而能够定义两个或更多个独立的功能,该两个或更多个独立的功能由组合在一起的一个或多个柔性逻辑单元布置来定义,同样每个所述功能是独立的。以两个功能来描述以下方法,然而本发明不限于此。
[0128]
本发明因此提供了一种操作如上所述的(flu)系统的方法,其中所述(flu)系统被配置成(flu)(单元)布置中的第一一个或多个布置联合定义第一独立功能,而第二一个或多个这样的(flu)(单元)布置联合定义了第二独立功能(不同于所述第一独立功能),该方法包括:通过其相关联(组合的)布置独立地执行所述功能,同时保持这些相关联(组合的)布置之间的连接(经由所述sbox电路)物理隔离。注意,定义其功能的这些第一或第二一个或多个(flu)(单元)布置中的一个或多个在不同的时钟工作和/或可能甚至分别断电。
[0129]
可以有利地使用本发明的典型系统是异构硬件系统,包括:(i)多个电子组件,每个电子组件是软件可编程单元,优选为微处理器核或图形处理器核;以及(ii)硬件可编程
单元,该硬件可编程单元是可编程逻辑矩阵,具有所述的分离功能,由此第一组合的布置连接(经由其输入

输出块)到第一电子组件(600);以及第二组合的布置,(经由其输入

输出块)连接到第二电子组件(640)(所述连接可以是直接的或经由附加的(从)接口电路(620,630)间接的,优选地每个布置一个)。
[0130]
替代系统是异构硬件系统,包括:(i)多个电子组件,每个电子组件是(soc)外围硬件单元,可选地专用于电动引擎控制单元硬件功能;以及(ii)硬件可编程单元,硬件可编程单元是可编程逻辑矩阵,具有所描述的功能,由此第一组合的布置(经由其输入

输出块)连接到第一电子组件;并且第二组合的布置被连接(经由其输入

输出块)到第二电子组件(所述连接可以是直接的或经由一个或多个附加(主)接口电路间接的,可能每个布置一个,可选地(用于输入到系统)经由(直接)多路复用器,优选地每个布置一个)。
[0131]
另一种方法提供了如所描述的(flu)系统的部分重新配置,其中所述(flu)系统被配置成(flu)(单元)布置中的第一一个或多个布置联合定义第一独立功能,而第二一个或多个这样的(flu)(单元)布置联合定义第二独立功能,该方法包括:重新配置第一(组合的)布置,同时通过第二(组合的)布置执行所述第二功能,第二(组合的)布置的连接保持与第一(组合的)布置物理上隔离。
[0132]
在如上所述的(flu)系统内提供另一个任务和/或上下文切换方法,其中所述(flu)系统被配置成第一一个或多个(flu)(单元)布置联合定义第一独立功能,而第二一个或多个这样的(flu)(单元)布置联合定义第二独立功能,其中定义其功能的这些第一和第二一个或多个(flu)(单元)布置被适配为顺次地执行至少两个任务(或功能),所述方法包括:针对第一(组合的)布置执行任务和/或上下文切换,同时通过第二(组合的)布置执行所述第二功能,所述第二(组合的)布置的连接与第一(组合的)布置保持物理上隔离。
[0133]
公开了一种增强安全操作发生部分故障的(flu)系统的进一步方法,其中所述(flu)系统被配置成经由所述sbox电路连接的多个(flu)(单元)布置能够联合执行第一功能,该方法包括:当所述多个(flu)(单元)布置经由所述sbox电路连接时,执行所述第一功能;在检测到所述(flu)(单元)布置之一中的故障时,终止所述执行;重新配置所述(flu)(单元)布置中的布置的其余静止操作,并执行重新配置的操作(第二功能),同时保持所述(flu)(单元)布置中的布置的出故障的操作和其余静止操作之间的连接在物理上隔离。
[0134]
讨论了(flu)系统内的任务和/或上下文切换的替代使用方法,其中所述(flu)系统被配置成(flu)(单元)布置中的第一一个或多个布置联合定义第一独立实体,而第二一个或多个这样的(flu)(单元)布置联合定义第二独立实体,由此第二(组合的)布置其连接保持为与第一(组合的)布置在物理上隔离,进一步特征在于所述第一和第二独立实体也具有独立(因此可能是不同的)任务和/或上下文切换策略。
[0135]
还描述了一种安全操作(flu)系统的方法,其中所述(flu)系统被配置成(flu)(单元)布置中的第一一个或多个布置联合定义第一功能,而第二一个或多个这样的(flu)(单元)布置联合定义相同的第一功能(在相同数据上),该方法包括:通过第一(组合的)布置执行第一功能且使用其结果,同时通过第二(组合的)布置执行所述第二功能,第二(组合的)布置的连接与第一(组合的)布置保持在物理上隔离;在检测到所述(flu)(单元)布置中的所述第一一个或多个布置中的故障时,选择所述(flu)(单元)布置中的所述第二一个或多个布置的结果。
[0136]
flu分区布置
[0137]
在硅上,不同的flu分区可以位于图19中所示的任何并排布置中。然而,由于flu的基于列的微架构,最现实的布置是左右成直线布置,如图21左侧中所示。注意,分区的数量不受限制。
[0138]
flu工具配置
[0139]
一旦如前一节中所示定义了flu分区结构,必须确保flu映射工具可以管理不同的flu布置。
[0140]
第一个任务是定义可以针对给定flu分区结构配置的所有可能的flu布置配置:
[0141]
示例:对于4个flu分区的典型结构来说,从flu工具角度来看,有四种基本布置要考虑,如图19左下角示意性所示的。
[0142]
每个布置与描述矩阵资源的工具配置文件相关联(这是与efpga矩阵一起工作的通常方式)。
[0143]
一旦工具配置文件准备就绪,最终用户就可以随意使用它们,以便按照他的意愿填充flu分区。
[0144]
示例:
[0145]
·
如果用户有两个小应用程序要映射,那么他将使用第一个配置两次(每个应用程序一次)。结果将是flu分区0和1被使用,而其它分区保持空闲。
[0146]
·
如果用户有一个小应用程序和另一个大应用程序。那么用户将为小应用程序使用配置1,并且为大应用程序使用第三个配置。结果将是flu分区0将运行小应用程序。其余3个分区将合并为一个以运行大应用程序。
[0147]
本发明实现的其它有益用途
[0148]
分离的时钟和复位
[0149]
每个flu控制器都可以编程为以用户定义的速率生成flu时钟。
[0150]
该机制针对每个flu分区独立应用,因为每个分区具有分开的flu控制器。在前一节中,已呈现了同一flu组的flu控制器可以如何同步自身以使得能够实现该组的所有flu矩阵的共同时钟。
[0151]
所以:
[0152]
·
组中的所有flu矩阵都保证具有完全相同的时钟信号。
[0153]
·
不同组的flu矩阵可以具有不同的时钟频率。
[0154]
·
未使用的flu分区可以具有空闲时钟(功耗优化)。
[0155]
分离的上下文切换
[0156]
如果flu矩阵能够进行上下文切换,根据本发明,该机制针对每个flu分区独立应用,因为每个flu分区都具有分开的flu控制器。在上一节中,已经呈现了同一flu组的flu控制器可以如何同步自身以实现对该组中所有flu矩阵的共同控制。
[0157]
所以:
[0158]
·
组中的所有flu矩阵都具有相同的上下文切换控制。
[0159]
·
不同组的flu矩阵具有不同的上下文切换场景。
[0160]
示例:
[0161]
想象图22左侧中所示的flu分组(即:3个应用程序)。
[0162]
在该架构中,可以想象以下上下文切换策略:
[0163]
·
组0:无上下文切换
[0164]
·
组1:两个比特流之间的快速上下文切换(乒乓模式)
[0165]
·
组2:三个比特流之间的慢速上下文切换
[0166]
功耗优化
[0167]
由于flu分区在我们的分离概念中是物理上分开的,因此可以将它们嵌入到分开的电源域中。
[0168]
因此,可以根据装置计算功率要求启动/关闭flu的任何分区的功率。
[0169]
还可以混合上下文切换、功率切换和时钟门控,以使得能够实现flu的细粒度功耗优化。这与对于cpu内核电源状态存在的情况非常类似。
[0170]
示例:假设有两个flu矩阵组和两个要以相对低的计算功率要求执行的应用程序。在这种情况下,我们的架构允许根据硅技术的功率特性不同地执行这些应用程序。
[0171]
图24的顶部简略图应更有利于具有高静态泄漏的技术节点。
[0172]
图24的底部简略图应更有利于具有低静态泄漏的技术节点。
[0173]
与安全相关的益处
[0174]
时钟分离
[0175]
在功能安全方面,有一个很大的益处是每flu组具有分开的时钟和复位控制。实际上,在flu时钟发生器发生故障的情况下,只有一个flu组受到影响。所有其它组继续正常工作。
[0176]
故障操作场景
[0177]
我们的flu矩阵嵌入了多种机制来检测运行时的暂时性错误:
[0178]
·
配置完整性
[0179]
·
用户触发器完整性
[0180]
此外,可以对fpcu的安全监控模块进行编程,以确保flu正常运行(如看门狗或事件图检查器》)
[0181]
在任何先前机制检测到的情况或错误中。优先行动是停止出故障的flu矩阵且将其所有输出置于“安全”状态。
[0182]
该策略对于某些应用程序来说是可行的,然而对于其它应用程序可能是危险的。
[0183]
·
在动力传动系马达控制的情况下。可行的是:马达不再被驱动,车辆最终将缓慢停止。
[0184]
·
然而,在电动转向控制的情况下,该策略可能是致命的。无法承担失去转向控制。
[0185]
在后一种情况下,需要《故障操作》场景,其中在出故障的系统上可以替代使用冗余系统。
[0186]
这由于具有以下用法的flu分离而可以完成:
[0187]
·
让具有两个flu组
[0188]
·
以完全相同的比特流对两个组编程。
[0189]
·
设法管理让两个组接收完全相同的输入数据。
[0190]

除了指定有效“活动”组的一个输入之外。该信息应来自fpcu的故障管理器。这
一个应被编程为在复位时激活一个组,且在第一flu组上检测到错误的情况下自动切换到其它。
[0191]
在运行时,两个组并行启动。因此两个组都以相同方式逐个周期地操作。
[0192]
因此,当故障管理器从一个组切换到另一个组时,转换以不会对系统级有影响来完成。在图23中对此有示出。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1