掌桥专利:专业的专利平台
掌桥专利
首页

一种支持锁步功能的存内计算结构

文献发布时间:2024-04-18 19:59:31


一种支持锁步功能的存内计算结构

技术领域

本发明属于存内计算技术领域,更具体地,本发明涉及一种支持锁步功能的存内计算结构。

背景技术

基于SRAM的存内计算技术,可以减少数据在处理器和内存存储器之间的频繁传输,从而提高系统性能,降低功耗和成本,大幅提升芯片算力和能效比,该存内计算技术也正被用于汽车电子系统中的算力芯片采用。

汽车电子对功能安全要求很高,需要在生产、上电、和运行态中都能主动的完成硬件检测、在不同层次实现应急保护措施,确保整个电子系统能在安全可控的状态中工作。锁步技术LOCK-STEP被广泛的用于车用芯片的控制器和处理器中,作为汽车算力芯片高效的并行计算和AI计算的引擎,在存内计算单元内支持锁步功能是必须解决的技术之一。

现有绝大多数的存内计算大多是在外部增加一个完全相同的存内计算模块,通过外部的输出比较逻辑实现逻辑侦错,进而实现持锁步(LOCK-STEP)功能,上述方案存在如下缺陷:

(1)例化两个一模一样的存内计算模块,极大降低面积效率;

(2)存内计算作为宏模块(HARD BLOCK)参与整个芯片的布局设计,其并行计算使得输入输出信号线急剧增多,在后端布局布线都会有较大挑战。而并行共用两个宏模块会使得输入信号的走线数量直接增大一倍,这会带来更大的物理实现难度,包括走线布通率、目标运行速度等;

(3)在存内计算宏模块外部进行逻辑输出的比较,这只能是在每个计算结果完整输出后才能进行比较,出错报告速度严重滞后、无法满足汽车电子中功能安全最高等级的实时检错的要求。

发明内容

本发明提供一种支持锁步功能的存内计算结构,旨在改善上述问题。

本发明是这样实现的,一种支持锁步功能的存内计算结构,所述存内计算结构包括:

M组IO通道,每组IO通道组包括一个主IO通道和一个副IO通道,每个IO通道存在两个输出端;

每组主IO通道及副IO通道的输出端与异或比较器的输入端连接,异或比较器与或门的输入端连接,或门的输出端输出功能安全告警的信息。

进一步的,所述存内计算结构存在两种工作模式,即普通工作模式及锁步模式;

在普通模式时,主IO通道与副IO通道进行不同系数向量的乘法运算;

在锁步模式时,主IO通道与副IO通道进行相同系数向量的乘法运算。

进一步的,IO通道包括:存储单元、乘法器及累加器,向每个主IO通道的存储单元内写入系数向量W

进一步的,存内计算结构工作在普通模式时,主IO通道将待计算的输入向量XIN与系数向量W

进一步的,所述存内计算结构还包括:

M个选择器,一个选择器的输出端连接一组IO通道中的副IO通道的输入端;

在模式选择信号为普通模式时,选择器输出系数向量W

进一步的,每个IO通道进行累加直接输出的同时,将每组主IO通道、副IO通道的累加输出至异或比较器,在所有位均相同时,异或比较器输出为0,若任何一位有差异,异或比较器输出为1。

进一步的,所有的异或比较器的比较结果送入一个或门OR进行或运算操作后输出锁步状态标志LS_FAIL,在所有异或比较器均输出为0时,LS_FAIL=0代表工作正常,若存在任何一个异或比较器输出为1,则LS_FAIL=1,代表出现功能异常。

进一步的,在锁步模式或普通模式下,主IO通道与副IO通道的输入向量XIN相同。

本发明提供的支持锁步功能的存内计算结构具有如下有益技术效果:

(1)在存内计算模块内通过内部构建影子SHADOW计算通道,并进行内部本地逻辑的低延时实时比对实现了锁步计算LOCK-STEP的功能;

(2)该结构仅在原有端口的基础上增加了几个的控制端口和输出标志,大大减少了后端物理实现的难度;

(3)通过一个锁步模式的控制引脚LS_MODE实现了普通模式和锁步模式的切换,提供了在普通模式下相对于锁步模式2倍的计算能力。

附图说明

图1为本发明实施例提供的支持锁步功能的存内计算结构的结构示意图;

图2为本发明实施例提供的支持锁步功能的存内计算结构的工作流程图。

具体实施方式

下面对照附图,通过对实施例的描述,对本发明的具体实施方式作进一步详细的说明,以帮助本领域的技术人员对本发明的发明构思、技术方案有更完整、准确和深入的理解。

图1为本发明实施例提供的支持锁步功能的存内计算结构的结构示意图,为了便于说明,仅示出与本发明实施例相关的部分,该存内计算结构包括:

M组IO通道,每组IO通道组包括一个主IO通道和一个副IO通道,每个IO通道存在两个输出端;每组主IO通道及副IO通道的一个输出端与异或比较器的输入端连接,异或比较器与或门的输入端连接,或门的输出端输出功能安全告警的信息。

IO通道包括:存储单元、乘法器及累加器,向每个主IO通道的存储单元内写入系数向量W

在本发明实施例中,该存内计算结构存在两种工作模式,即普通工作模式及锁步模式,存内计算结构工作在普通模式时,主IO通道与副IO通道分别使用系数向量W

在本发明实施例中,该存内计算结构还包括:

M个选择器,一个选择器的输出端连接一组IO通道中的副IO通道的输入端;

在模式选择信号为普通模式时,即LS_MODE=0,选择器输出系数向量W

存在计算结构无论是锁步模式还是在普通模式下,所有IO通道的输入向量XIN都是并行输入,且主IO通道与副IO通道的输入向量XIN相同。

每个IO通道进行累加直接输出的同时,将每组主IO通道、副IO通道的累加输出至异或比较器,在所有位均相同时,异或比较器输出为0,若任何一位有差异,异或比较器输出为1。所有的异或比较器的比较结果送入一个或门OR进行或运算操作后输出锁步状态标志LS_FAIL,在所有异或比较器均输出为0时,LS_FAIL=0代表工作正常;若存在任何一个比较器输出为1,则LS_FAIL=1,代表出现功能异常。

在锁步模式或普通模式下,主IO通道与副IO通道都会产生运算结果和锁步状态标志,在锁步模式下,副IO通道的输出结果会被忽略,而在普通模式下,锁步状态标志会被忽略。

结合图1及图2所上述支持锁步功能的存内计算结构进行说明,图1中存在16个IO通道,16个IO通道两两成对组合,例如将IO通道<0>和IO通道<8>组合,IO通道<1>和IO通道<9>组合,…,IO通道<7>和IO通道<15>组合;每组IO通道中的一个为主IO通道,如IO通道<0>~IO通道<7>,另一个为副IO通道,如IO通道<8>~IO通道<15>。在对存内计算单元写入系数矩阵W时,主IO通道(0~7)对应始终采用自有的输入端口D

在初始化系数矩阵W时,副IO通道<8>~副IO通道<15>的系数向量W输入的输入通路D<0:3>选择逻辑。当普通模式LS_MODE=0时,采用自己独立的输入端口D

锁步模式LS_MODE=1下,在对所有组IO通道的计算结果进行比较,形成最终的FAIL/PASS的标志通过端口LS_FAIL进行输出,向系统提供功能安全告警的信息,所有组IO通道的主、副IO通道计算结果均一致时,LS_FAIL=0代表工作正常,存在IO通道组中主、副IO通道计算结果不均一致时,LS_FIAL=1代表出现功能异常。

本发明的存内计算可以完成NOUT(1,N)=XIN(1,M)*W(M,N)的向量与矩阵相乘的运算,其中XIN为宽度为M的一维输入向量,W为M行N列的系数矩阵,输出NOUT为宽度为N的一维向量。

图1示例中M=64代表输入并行度为64(64行),N=16代表运算输出的并行度为16(16个IO通道)。在具体的设计实现中可根据具体的算力并行度需求选用不同的M和N值,N需要保持为2的倍数,两两成对形成锁步逻辑可以任意组合,图中采用的配对方式为(0-8,1-9…7-15)。

所有的输入数据XIN和系数W均采用4bit的数据,在具体的设计实现中,可以是其他任何bit位宽的数据,但XIN和W的数据位宽需保持一致。其中W数据以SRAM的普通操作方式预先写入SRAM BITCELL的存储单元,XIN则分为4个时钟周期节拍输入(对应4bit的数据位宽);计算结果通过NOUT按照每4个时钟周期为单位所有通道并行输出。图1中所示的并行计算能力总计为每4个时钟周期完成64*16次4bit整数的乘法和累加计算,输出位宽为每个通道累加后的结果,位宽扩为14bit。在普通工作模式下可每次(每4个时钟周期)最多完成NOUT(1,16)=XIN(1,64)*W(64,16)共16个IO通道的宽度为64的矢量相乘计算;而在锁步Lock-step模式下,最多支持NOUT(1,8)=XIN(1,64)*W(64,8)共8个IO通道的宽度为64的矢量相乘计算。

本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。

相关技术
  • 硫铝酸盐水泥基多固废复合土壤固化剂及其制备方法
  • 一种铝灰预处理的全固废制备硫铝酸盐水泥的方法及系统
技术分类

06120116523740