CN116107795B - 报错电路及芯片设备 - Google Patents

报错电路及芯片设备 Download PDF

Info

Publication number
CN116107795B
CN116107795B CN202310398950.3A CN202310398950A CN116107795B CN 116107795 B CN116107795 B CN 116107795B CN 202310398950 A CN202310398950 A CN 202310398950A CN 116107795 B CN116107795 B CN 116107795B
Authority
CN
China
Prior art keywords
error
fifo
logic unit
register
data
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.)
Active
Application number
CN202310398950.3A
Other languages
English (en)
Other versions
CN116107795A (zh
Inventor
张坤
何学文
时鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Smart Chip Semiconductor Co ltd
Shanghai Sasha Mai Semiconductor Co ltd
Tianjin Smart Core Semiconductor Technology Co ltd
Suzhou Sasama Semiconductor Co ltd
Original Assignee
Hefei Smart Chip Semiconductor Co ltd
Shanghai Sasha Mai Semiconductor Co ltd
Tianjin Smart Core Semiconductor Technology Co ltd
Suzhou Sasama Semiconductor Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hefei Smart Chip Semiconductor Co ltd, Shanghai Sasha Mai Semiconductor Co ltd, Tianjin Smart Core Semiconductor Technology Co ltd, Suzhou Sasama Semiconductor Co ltd filed Critical Hefei Smart Chip Semiconductor Co ltd
Priority to CN202310398950.3A priority Critical patent/CN116107795B/zh
Publication of CN116107795A publication Critical patent/CN116107795A/zh
Application granted granted Critical
Publication of CN116107795B publication Critical patent/CN116107795B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种报错电路及芯片设备,电路包括:错误接口逻辑单元,用于根据接收到的N个功能安全逻辑单元发送的N个错误信息,生成先进先出FIFO写使能信号、待写入数据和N个错误状态;FIFO存储逻辑单元,FIFO存储逻辑单元包括FIFO寄存器,FIFO存储逻辑单元用于根据FIFO写使能信号将待写入数据存储至FIFO寄存器;错误计数逻辑单元,用于根据N个错误状态分别对各功能安全逻辑单元的错误信息进行计数,并在有计数值达到相应的中断预设值时,输出状态标志至控制逻辑单元以进行错误处理,以及从FIFO寄存器中读取FIFO读使能信号,以将计数值清零。由此,该电路,能够增加FIFO寄存器空间利用率,自主定义每个错误产生中断时的错误次数。

Description

报错电路及芯片设备
技术领域
本发明涉及汽车芯片技术领域,尤其涉及一种报错电路和一种芯片设备。
背景技术
汽车芯片中,通常将功能安全相关模块的错误汇总到错误报告逻辑,由其统一记录和处理。常用错误报告逻辑中,错误信息采集电路使用一组寄存器记录所有模块的错误标志,并给每个模块分配一个FIFO(First in First out,先入先出队列)记录错误地址,另一个寄存器记录主机ID(即网卡的MAC地址/Identity document,唯一编码)、保护状态等错误信息。一旦检测到功能安全模块错误,产生错误标志并用FIFO记录地址,用寄存器保存相关信息,并且通过溢出标志或者错误计数记录对应功能安全模块的错误数目。
然而,常用错误报告逻辑中存在缺陷:第一,用一个寄存器记录所有错误,在功能安全逻辑较多时导致记录错误信息路径不清晰;第二,所有错误信息统一处理,没有为较为重要的地址设置优先级,难以处理多个错误同时产生的情况;第三,中断使能后所有错误默认出现一次就会产生中断,但很多情况要求为不同错误类型分配产生中断时发生的错误数目;第四,为每个内存报错逻辑分配一个FIFO,在内存分配较多的情况下浪费太多空间,且没有对保存错误信息的寄存器实现随机硬件失效的检测机制。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种报错电路,能够增加FIFO寄存器空间利用率,自主定义每个错误产生中断时的错误次数。
本发明的第二个目的在于提出一种芯片设备。
为达到上述目的,本发明第一方面实施例提出了一种报错电路,所述电路包括:错误接口逻辑单元,具有N组输入端口,所述N组输入端口与N个功能安全逻辑单元一一对应,每组输入端口与对应的功能安全逻辑单元连接,所述错误接口逻辑单元用于根据接收到的N个所述功能安全逻辑单元发送的N个错误信息,生成先进先出FIFO写使能信号、待写入数据和N个错误状态,其中,N为大于1的正整数,所述错误信息包括错误状态和错误地址;FIFO存储逻辑单元,与所述错误接口逻辑单元连接,所述FIFO存储逻辑单元包括FIFO寄存器,所述FIFO存储逻辑单元用于根据所述FIFO写使能信号将所述待写入数据存储至所述FIFO寄存器;错误计数逻辑单元,分别与所述错误接口逻辑单元、所述FIFO存储逻辑单元连接,用于根据所述N个错误状态分别对各功能安全逻辑单元的错误信息进行计数,并在有计数值达到相应的中断预设值时,输出状态标志至控制逻辑单元以进行错误处理,以及从所述FIFO寄存器中读取FIFO读使能信号,以将计数值清零。
根据本发明实施例的报错电路,能够增加FIFO寄存器空间利用率,自主定义每个错误产生中断时的错误次数。
为达到上述目的,本发明第二方面实施例提出了一种芯片设备,包括所述的报错电路。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是本发明一个实施例的报错电路的结构示意图;
图2是本发明第一个具体实施例的报错电路的结构示意图;
图3是本发明第二个具体实施例的报错电路的结构示意图;
图4是本发明一个实施例的FIFO寄存器执行存储操作的流程示意图;
图5是本发明一个实施例的FIFO寄存器执行读操作的流程示意图;
图6是本发明一个具体实施例的报错电路的主要逻辑时序图;
图7是本发明一个实施例的芯片设备的结构示意图。
具体实施方式
在汽车MCU(Microcontroller Unit,微控制器)中,ERU(Error Report Unit,错误报错单元)是功能安全所必需的数字逻辑。根据汽车芯片功能安全需求,ERU可以有选择性地从,诸如SRAM(Static Random Access Memory,静态随机存取存储器)、Flash(闪存存储)等内存或者总线E2E(The end-to-end,端到端)逻辑收集错误状态信息,产生中断传递到CPU(Central Processing Unit,中央处理器)或者生成触发信号传递到复位逻辑。通常情况下,ERU单元会对错误信号进行采集,一旦接收到错误信号就会生成错误标志,并根据需求产生错误中断。但在软件处理、调试错误或者复位逻辑有针对性地处理错误信息时,只有错误标志很难定位错误位置。
因此,为了定位错误信息出现的位置,通常使用寄存器保存错误发生时对应的地址、主机ID、保护状态等信息。但是单个地址寄存器保存的信息太少,而为每个功能安全逻辑配置FIFO会浪费太多地址空间,尤其在功能安全逻辑较多时。
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面将结合说明书附图以及具体的实施方式对本发明实施例的报错电路及芯片设备进行详细地说明。
图1是本发明一个实施例的报错电路的结构示意图。如图1所示,报错电路100包括:错误接口逻辑单元10,FIFO存储逻辑单元20和错误计数逻辑单元30。
其中,错误接口逻辑单元10,具有N组输入端口,N组输入端口与N个功能安全逻辑单元一一对应,每组输入端口与对应的功能安全逻辑单元连接,错误接口逻辑单元10用于根据接收到的N个功能安全逻辑单元发送的N个错误信息,生成先进先出FIFO写使能信号、待写入数据和N个错误状态,其中,N为大于1的正整数,错误信息包括错误状态和错误地址;FIFO存储逻辑单元20,与错误接口逻辑单元10连接,FIFO存储逻辑单元20包括FIFO寄存器21,FIFO存储逻辑单元20用于根据FIFO写使能信号将待写入数据存储至FIFO寄存器21;错误计数逻辑单元30,分别与错误接口逻辑单元10、FIFO存储逻辑单元20连接,用于根据N个错误状态分别对各功能安全逻辑单元的错误信息进行计数,并在有计数值达到相应的中断预设值时,输出状态标志至控制逻辑单元以进行错误处理,以及从FIFO寄存器21中读取FIFO读使能信号,以将计数值清零。
具体地,错误接口逻辑单元10根据接收到的N个功能安全逻辑单元发送的N个错误信息,生成先进先出FIFO写使能信号、待写入数据和N个错误状态。其中,错误信息包括错误状态和错误地址,具体而言,每个功能安全逻辑单元在产生功能安全错误时,均会产生一位代表已经产生错误的错误状态,并在生成1bit错误状态时输出产生错误的地址,例如flash地址0x30000读操作产生ECC错误,会产生1bit错误状态flash_err(高电平)以及对应的错误地址err_addr(0x30000)。FIFO存储逻辑单元20根据错误接口逻辑单元10生成的FIFO写使能信号,将待写入数据存储至FIFO寄存器21。错误计数逻辑单元30根据错误接口逻辑单元10生成的N个错误状态,分别对各功能安全逻辑单元的错误信息进行计数,并在有计数值达到相应的中断预设值时,输出状态标志至控制逻辑单元以进行错误处理,以及从FIFO寄存器21中读取FIFO读使能信号,以将计数值清零。
由此,通过将所有功能安全逻辑单元的待写入数据存储至一个FIFO寄存器,能够增加FIFO寄存器空间利用率,以及根据N个错误状态分别对各功能安全逻辑单元的错误信息进行计数,并在有计数值达到相应的中断预设值时,输出状态标志至控制逻辑单元以进行错误处理,能够自主定义每个错误产生中断时的错误次数。
作为一个示例,参见图2,错误接口逻辑单元10可包括:优先级配置寄存器11、地址选择器12、写使能信号选择器13和N个错误信息处理子单元14,N个错误信息处理子单元14与N个功能安全逻辑单元一一对应。
其中,错误信息处理子单元14的输入端与对应的功能安全逻辑单元连接,错误信息处理子单元14的第一输出端与优先级配置寄存器11连接,以向优先级配置寄存器11输出相应错误地址的有效标志位,错误信息处理子单元14的第二输出端与错误计数逻辑单元30连接,以向错误计数逻辑单元30输出相应的错误状态;优先级配置寄存器11用于根据错误地址的有效标志位确定当前最高优先级错误信息,并输出相应的控制信号;地址选择器12的N个输入端分别与N个功能安全逻辑单元连接,地址选择器12的控制端与优先级配置寄存器11连接,地址选择器12的输出端与FIFO存储逻辑单元20连接,地址选择器12用于在控制信号的作用下输出当前最高优先级错误信息中的错误地址,作为待写入数据;写使能信号选择器13的N个输入端分别与N个错误信息处理子单元14的第二输出端连接,写使能信号选择器13的控制端与优先级配置寄存器11连接,写使能信号选择器13的输出端与FIFO存储逻辑单元20连接,写使能信号选择器13用于在控制信号的作用下输出当前最高优先级错误信息中的错误状态,作为FIFO写使能信号。
具体地,错误信息处理子单元14向优先级配置寄存器11输出相应错误地址的有效标志位(如0或1),优先级配置寄存器11根据错误地址的有效标志位确定当前最高优先级错误信息,并输出相应的控制信号。地址选择器12用于在控制信号的作用下输出当前最高优先级错误信息中的错误地址,作为待写入数据;写使能信号选择器13在控制信号的作用下输出当前最高优先级错误信息中的错误状态,作为FIFO写使能信号。另外,错误信息处理子单元14还向错误计数逻辑单元30输出相应的错误状态。
作为一个示例,参见图3,错误信息处理子单元14可包括:MSB寄存器141、LSB寄存器142、第一地址比较器143、第二地址比较器144、第一与门145、第二与门146和或门147。
其中,MSB寄存器141用于提供预设地址范围的上限值,LSB寄存器142用于提供预设地址范围的下限值;第一地址比较器143的第一输入端与MSB寄存器141连接,第一地址比较器143的第二输入端与对应的功能安全逻辑单元连接,第二地址比较器144的第一输入端与LSB寄存器142连接,第二地址比较器144的第二输入端与对应的功能安全逻辑单元连接,第一地址比较器143和第二地址比较器144用于判断错误地址是否在预设地址范围内;第一与门145第一输入端与第一地址比较器143的输出端连接,第一与门145第二输入端与第二地址比较器144的输出端连接,第一与门145用于在错误地址在预设地址范围内时,输出高电平的有效标志位,在错误地址在预设地址范围外时,输出低电平的有效标志位;所述第二与门146的第一输入端与第一与门145的输出端连接,第二与门146的第二输入端与对应的功能安全逻辑单元连接,第二与门146用于在有效标志位和错误状态均为高电平时,输出高电平;或门147的第一输入端与第二与门146的输出端连接,或门147的第二输入端与对应的功能安全逻辑单元连接,或门147用于在错误状态为高电平时,输出对应的错误状态。
具体地,第一地址比较器143和第二地址比较器144根据MSB寄存器141提供的预设地址范围的上限值和LSB寄存器142提供的预设地址范围的下限值,判断错误地址是否在预设地址范围内。第一与门145在错误地址在预设地址范围内时,输出高电平的有效标志位即1,在错误地址在预设地址范围外时,输出低电平的有效标志位即0。第二与门146在有效标志位和错误状态均为高电平时,输出高电平。或门147在错误状态为高电平时,输出对应的错误状态。
需要说明的是,当有效标志位置位且错误状态产生时,产生严重错误状态,错误信息直接保存到单个地址寄存器,否则就是普通错误状态,错误信息保存到FIFO寄存器21中。其中,单个地址寄存器是指一个地址宽度的错误地址寄存器,例如地址宽度32bit,寄存器位宽就是32bit。由此,通过个性化处理不同类型的错误状态,在保证及时处理错误的同时降低CPU利用率。
作为一个示例,参见图3,MSB寄存器141、LSB寄存器142、优先级配置寄存器11均连接至控制逻辑单元,用于在控制逻辑单元控制下,在MSB寄存器141中设置预设地址范围的上限值,在LSB寄存器142中设置预设地址范围的下限值,在优先级配置寄存器11设置各功能安全逻辑单元的优先级。
具体地,在优先级配置寄存器11设置各功能安全逻辑单元的优先级,当同时产生多个错误信息时,地址选择器12根据每个功能安全逻辑单元的优先级,确定待写入数据,写使能信号选择器13根据每个功能安全逻辑单元的优先级,确定FIFO写使能信号。地址选择器12先将优先级值较高的功能安全逻辑单元的端口ID(由错误接口逻辑单元10分配)、错误信息输出到FIFO存储逻辑单元20,写使能信号选择器13先将相应FIFO写使能信号输出到FIFO存储逻辑单元20,优先级较低的功能安全逻辑单元最后向FIFO存储逻辑单元20保存数据。所有功能安全逻辑单元整合后的错误状态没有优先级选择,均直接输出到错误计数逻辑单元30。需要说明的是,待写入数据中的端口ID在前、错误信息在后组成数据。由此,通过在优先级配置寄存器11设置各功能安全逻辑单元的优先级,解决了多个错误同时发生时的时序和资源冲突问题。
作为一个示例,参见图3,FIFO存储逻辑单元20还可包括:检错逻辑单元22,与地址选择器12连接,用于根据待写入数据生成检错数据,将检错数据附加至错误数据尾部,并将错误数据输出,其中,错误数据包括错误地址、端口ID、指针拓展位、检错数据和数据有效位,其中,FIFO寄存器21分别与检错逻辑单元22、写使能信号选择器13连接,用于根据FIFO写使能信号存储错误数据;FIFO控制器23,与FIFO寄存器21连接,用于控制当前FIFO读操作位置、写操作位置;
其中,控制逻辑单元还与FIFO寄存器21连接,还用于将读使能信号输入至FIFO寄存器21读错误数据,并使FIFO寄存器21输出FIFO读使能信号。
需要说明的是,参见图3,FIFO寄存器21包括写数据Wdata端口,从检错逻辑单元22输入;读数据Rdata端口,输出到检错逻辑单元22;读指针Rptr端口,从FIFO控制器23输入,后用于指示当前FIFO读操作位置;写指针Wptr端口,从FIFO控制器23输入,用于指示当前FIFO写操作位置;写使能Wren端口,从错误接口逻辑单元10输入,用于控制数据写入操作;读使能Rden端口,从控制逻辑单元输入,用于控制读操作;PortID端口,为功能安全逻辑单元对应的端口ID,每个功能安全逻辑单元都会分配一个端口ID,端口ID来源于错误接口逻辑单元10,传输到FIFO存储逻辑单元20,并与错误地址一起被保存到FIFO寄存器21中,用于生成下一个读指针或写指针。
具体地,检错逻辑单元22根据错误接口逻辑单元10中的地址选择器12输出的待写入数据生成检错数据,将检错数据附加至错误数据尾部,并将错误数据输出至FIFO寄存器21写数据Wdata端口,其中,错误数据包括错误地址、端口ID、指针拓展位、检错数据和数据有效位。指针拓展位是指额定FIFO寄存器21深度位宽之后增加几位位宽,例如:FIFO深度为8(即对应写指针和读指针位宽为3位),增加2位位宽(即指针位宽拓展2位),将FIFO指针拓展到3+2=5bit。数据有效位代表当前一组数据的数据读取有效状态,高电平代表有效数据写入可读取,低电平代表数据已被读出。错误接口逻辑单元10中的写使能信号选择器13将FIFO写使能信号输出至FIFO寄存器21写使能Wren端口。
具体而言,检错逻辑单元22会将对从FIFO寄存器21中取出的带有检错数据的错误数据进行检错,检错失败时产生检错失败标志,此时FIFO读取数据为默认安全数据,传递到控制逻辑单元,正常状态下输出FIFO存储错误信息到控制逻辑单元。其中,正常状态是相对于检错失败状态而言,FIFO存储数据没有异常时,就执行正常的读操作,数据输出到控制逻辑单元。一旦FIFO保存数据异常,该数据中异常的端口ID、错误信息均不能成为追踪错误的根据,甚至会导致追踪错误,所以舍弃该数据并返回0值地址和检错失败标志。FIFO存储错误信息包括错误地址和FIFO状态,FIFO状态包括检错失败标志、FIFO空满标志等。由此,通过检错逻辑单元,提供功能安全性能。
需要说明的是,检错逻辑单元22在写操作时执行编码操作,生成检错数据附加到错误数据尾部,不会产生检错失败事件和检错失败标志;在读操作时执行解码操作,确认FIFO读出数据的正确性,FIFO保存数据因FIFO寄存器21失效导致数据改变的情况下,检错逻辑单元22会产生检错失败事件和检错失败标志。另外,检错逻辑单元22从FIFO寄存器21取出数据对应控制逻辑单元将读使能信号输入FIFO寄存器21读数据。一般情况下,控制逻辑单元将APB(Advanced Peripheral Bus,外围总线)或者AHB(Advanced High-performance Bus,高级高性能总线)总线信号组合生成读使能信号传输给FIFO存储逻辑单元20,读地址对应FIFO寄存器21对应地址范围,任何该范围内的地址读操作均被认为是对该FIFO寄存器21的读操作。
另外,错误信息都保存在寄存器(即上述单个地址寄存器和FIFO寄存器21)中,寄存器发生硬件随机失效时,失效位置存储的错误数据会变化。从数据失效位置读取数据的过程时,异常数据经过检错逻辑单元22会产生检错异常标志。读取地址匹配的严重错误信息时存在检错异常标志,则根据地址范围确定处理错误的方式;而读取普通错误信息时产生检错异常标志,则丢弃该数据,根据其他数据确定处理错误的方式。
其中,根据地址范围确定处理错误的方式具体为:地址匹配的严重错误所对应的错误地址会保存到单个地址寄存器中,该单个地址寄存器产生检错异常标志时,可根据异常错误地址以及所设置预设地址范围,判断这个严重错误是产生复位事件还是产生高优先级中断事件。例如:功能安全逻辑单元dataflash,保存代码的flash地址范围为0x10000-0x20000,产生错误地址为0x13400,如果读寄存器出现检错异常,读出地址数据为0x33400,则根据0x10000-0x20000地址判断dataflash出错,复位且重新加载程序。
根据其他数据确定处理错误的方式具体为:普通错误信息保存到FIFO寄存器21中,一个端口ID一般会在产生几个普通错误信息后产生中断事件,此时FIFO寄存器21中已经有几个位置保存了该端口ID的错误信息。若某一个位置的地址读取数据异常,那么丢弃该位置的地址数据,用剩下的几个地址数据追踪错误位置并执行相应的操作。例如:端口ID0x10在FIFO寄存器21中位置0/1/3/6/10中保存数据,中断预设值为5,在位置3中产生异常数据,则在中断处理程序中抛弃位置3数据,使用0/1/6/10位置数据向下执行程序。
作为一个示例,FIFO寄存器21具体用于在存储错误数据时,执行如下存储操作:
写使能信号置位时,若当前位置数据有效位电平为0,则执行FIFO数据直接写入操作,并且将当前数据有效位置位,写指针加1;若当前位置数据有效位电平为1,端口匹配不是最低位指针且错误数据不是最低优先级端口,则执行写指针加1操作,并产生写操作上溢标志;否则执行覆盖FIFO数据操作,当前数据有效位置位,写指针加1。
具体地,参见图4,初始状态时,写指针默认0地址,所有地址的数据有效位均为低电平(即FIFO寄存器21处于空状态)。写指针指向最高位之前,每次写使能信号置位时,如果当前位置数据有效位电平为0,则将错误地址、端口ID、指针拓展位、检错数据和数据有效位组合存储到FIFO寄存器21中(即执行FIFO数据直接写入操作),而后将数据有效位置位,写指针加1。在当前数据有效位置位时,判断端口匹配是否为最低位指针,且错误数据是否为低优先级端口;若均是,则覆盖FIFO数据,当前数据有效位置位,写指针加1;若均否,则生成写操作溢出标志,将写地址加1,并判断写指针是否超过预设FIFO深度,若是,则将指针拓展位加1,在写使能信号置位时,判断当前数据有效位是否置位(即重复存储操作)。另外,FIFO寄存器21在数据有效位均为1,且没有端口匹配数据也没有低优先级端口数据的情况下,生成写操作溢出标志,输出到控制逻辑单元。FIFO寄存器21在产生写操作上溢标志时,若加1后的写指针超过FIFO深度,执行额外指针加1操作,或者,产生FIFO空状态(即所有地址数据有效位为低电平)时,清除指针拓展位;在指针拓展位和写指针在所有数据有效位电平为0时,清零,重新开始执行存储操作。
需要说明的是,FIFO寄存器21符合先进先出原则,在数据写满状态时可以继续更新数据,保证FIFO寄存器21中存储的数据以及总线读取的数据都是最新的数据。其中,FIFO寄存器21在读写操作上是全双工的,可同时读写。具体为:最高位地址写入数据之后,指针拓展位置位,写指针指向0地址。而后每次写使能信号置位时,从当前地址到最高地址再到当前地址前一个地址判断数据有效位是否置位,一旦某个地址数据有效位为低电平,数据有效位置位,写入错误地址、端口ID、指针拓展位、检错数据和数据有效位组合数据,写指针加1(如果是最高位到当前地址前一个地址写入数据,写指针指向下一个地址,指针拓展位清零,指针拓展位下一位置位)。若是所有地址数据有效位均为高电平,则从当前地址到最高地址再到当前地址前一个地址判断端口ID是否匹配,一旦某个地址端口ID匹配则用新数据替换原有数据,数据有效位保持高电平,写指针加1(如果是最高位到当前地址前一个地址,则写指针指向下一个地址,下一个指针拓展位置位,之前指针拓展位清零);若也没有找到端口匹配的地址,则从0地址开始寻找端口优先级较低的端口数据,一旦找到优先级低的端口数据用新数据替换,数据有效位保持高电平,写指针加1。
作为一个示例,FIFO寄存器21根据读使能信号,执行如下读操作:
读使能信号置位时,若当前数据有效位电平为1,且端口匹配,则从读指针值最小的位置读错误数据,并将读指针加1;否则,生成读操作溢出标志。
具体地,参见图5,每当读使能信号置位时,从当前读指针开始到最高地址再到当前读指针前一个地址:一旦检测到数据有效位为高电平、端口ID匹配的数据,则从读指针值最小读取数据,解析出错误数据输出到FIFO输出数据端口(即读数据Rdata端口)且该地址数据有效位清零,读指针指向下一个地址;一旦检测到所有数据有效位为高电平、端口不匹配,则生成读操作溢出标志。当读操作产生FIFO空状态(即所有地址数据有效位为低电平)时,清除指针拓展位。
需要说明的是,FIFO寄存器21处于空状态时,读取数据返回0值且输出读操作下溢标志,读使能信号和写使能信号同时有效时,先执行读操作而后存储操作。
作为一个示例,参见图3,错误计数逻辑单元30可包括N个计数子单元31,N个计数子单元31与N个或门147一一对应,计数子单元31可包括:错误计数器311、中断预设值寄存器312和数值比较器313;其中,中断预设值寄存器312用于提供中断预设值;错误计数器311与对应或门147的输出端连接,用于在接收到高电平错误状态时,将计数值加1,以及在每读取一次FIFO寄存器21中相应的错误数据时,接收到一次FIFO读使能信号,将计数值减1,直至将计数值清零;数值比较器313的第一输入端与错误计数器311连接,数值比较器313的第二输入端与中断预设值寄存器312连接,数值比较器313用于在计数值大于等于中断预设值时,输出状态标志至控制逻辑单元。
具体地,错误计数器311初始值为0,当错误状态有效时,错误计数器311加1;错误计数器311数值达到控制逻辑单元传递给中断预设值寄存器312的中断预设值时,产生状态标志,输出到控制逻辑单元。如果中断使能,正常处理方式是从FIFO寄存器21中读取相应错误状态的错误数据以追踪错误位置,以此决定处理错误状态的方式,同时每次从FIFO寄存器21读取对应状态标志的错误数据时,错误计数器311减1,直到错误计数器311数值为0,此时,所有保存在FIFO寄存器21中的错误数据均已读出。其中,根据错误状态为电平信号还是脉冲信号,采取不同采集方式。也就是说,错误状态有效包括两种情况:第一,若1bit错误状态为脉冲信号,则用高速时钟采集到错误状态上升沿即为有效;第二,若1bit错误状态为电平信号,则用高速时钟采集错误状态时,一起采集SRAM、Flash等功能安全单元的读操作完成标志脉冲,错误状态和完成标志脉冲同时为高电平即为有效。需要说明的是,中断预设值寄存器可以为SRAM、Flash等功能安全单元配置不同的错误处理间隔。另外,错误计数器311在每读取一次FIFO寄存器21中相应的错误数据时,接收到一次FIFO读使能信号,将计数值减1,直至将计数值清零,其中,FIFO读使能信号为脉冲信号,高电平代表有效。需要说明的是,每个错误计数逻辑单元30对应一个FIFO读使能信号,每检测到对应FIFO读使能信号,错误计数逻辑单元30的计数值会减1。正常情况下,错误计数逻辑单元30的计数值会因FIFO读使能信号减少到0。由此,通过错误计数器接收并根据错误接口逻辑单元中对应或门输出的错误状态,对每个功能安全逻辑单元的错误类型进行计数,针对不同类型的错误状态生成不同类型的状态标志。能够在某个错误达到预定数目的错误时,从FIFO中读取预定数目的错误信息。
需要说明的是,错误计数逻辑单元30还可包括N个整体状态标志寄存器和N个错误计数器寄存器,N个整体错误标志寄存器和N个错误计数器寄存器分别与N个计数子单元31一一对应,以存储状态标志和错误状态发生的次数。具体而言,在顶层为每个功能安全逻辑单元提供一个整体错误标志寄存器,而后在第二层为每个功能安全逻辑单元实现一个寄存器保存所有状态标志和一个错误计数器寄存器记录所有错误状态发生的次数。由此,分层级保存所有功能安全逻辑单元的状态标志,错误数据的记录和读取路径更加清晰,且在支持较多错误报告的逻辑中,更方便定位。
举例而言,ERU报错电路主要逻辑时序如图6所示,选取优先级不同的两个功能安全逻辑单元A、B的错误信息进行错误报告作为示例,其中,A优先级高于B,A错误中断预设值为4,FIFO深度为8,写指针指向7地址,5个B错误信息和2个A错误信息(地址0和地址6)。另外ERU需要高频时钟,并对错误信息进行同步处理,以防止错误遗漏和错误多抓。在ERU错误报告结束后,汽车芯片系统在中断处理程序中通过总线读取数据处理错误,或者启动系统复位。
综上所述,该报错电路,将所有功能安全逻辑单元的待写入数据存储至一个FIFO寄存器,以及根据N个错误状态分别对各功能安全逻辑单元的错误信息进行计数,并在有计数值达到相应的中断预设值时,输出状态标志至控制逻辑单元以进行错误处理,能够实时检测功能安全逻辑单元的错误,有效记录错误信息,并及时处理和汽车芯片功能安全相关的错误,保证汽车芯片安全运行。并且该报错电路为纯数字逻辑设计,硬件开销较小,易于在电路设计中实现。
图7是本发明一个实施例的芯片设备的结构示意图。如图7所示,芯片设备200包括上述的报错电路100。
由此,该芯片设备,通过上述的报错电路,能够实时检测功能安全逻辑单元的错误,有效记录错误信息,并及时处理和汽车芯片功能安全相关的错误,保证汽车芯片安全运行。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (9)

1.一种报错电路,其特征在于,所述电路包括:
错误接口逻辑单元,具有N组输入端口,所述N组输入端口与N个功能安全逻辑单元一一对应,每组输入端口与对应的功能安全逻辑单元连接,所述错误接口逻辑单元用于根据接收到的N个所述功能安全逻辑单元发送的N个错误信息,生成先进先出FIFO写使能信号、待写入数据和N个错误状态,其中,N为大于1的正整数,所述错误信息包括错误状态和错误地址;
FIFO存储逻辑单元,与所述错误接口逻辑单元连接,所述FIFO存储逻辑单元包括FIFO寄存器,所述FIFO存储逻辑单元用于根据所述FIFO写使能信号将所述待写入数据存储至所述FIFO寄存器;
错误计数逻辑单元,分别与所述错误接口逻辑单元、所述FIFO存储逻辑单元连接,用于根据所述N个错误状态分别对各功能安全逻辑单元的错误信息进行计数,并在有计数值达到相应的中断预设值时,输出状态标志至控制逻辑单元以进行错误处理,以及从所述FIFO寄存器中读取FIFO读使能信号,以将计数值清零;
所述错误接口逻辑单元包括:优先级配置寄存器、地址选择器、写使能信号选择器和N个错误信息处理子单元,所述N个错误信息处理子单元与所述N个功能安全逻辑单元一一对应;其中,
所述错误信息处理子单元的输入端与对应的功能安全逻辑单元连接,所述错误信息处理子单元的第一输出端与所述优先级配置寄存器连接,以向所述优先级配置寄存器输出相应错误地址的有效标志位,所述错误信息处理子单元的第二输出端与所述错误计数逻辑单元连接,以向所述错误计数逻辑单元输出相应的错误状态;
所述优先级配置寄存器用于根据所述错误地址的有效标志位确定当前最高优先级错误信息,并输出相应的控制信号;
所述地址选择器的N个输入端分别与N个所述功能安全逻辑单元连接,所述地址选择器的控制端与所述优先级配置寄存器连接,所述地址选择器的输出端与所述FIFO存储逻辑单元连接,所述地址选择器用于在所述控制信号的作用下输出当前最高优先级错误信息中的错误地址,作为所述待写入数据;
所述写使能信号选择器的N个输入端分别与N个所述错误信息处理子单元的第二输出端连接,所述写使能信号选择器的控制端与所述优先级配置寄存器连接,所述写使能信号选择器的输出端与所述FIFO存储逻辑单元连接,所述写使能信号选择器用于在所述控制信号的作用下输出当前最高优先级错误信息中的错误状态,作为所述FIFO写使能信号。
2.根据权利要求1所述的报错电路,其特征在于,所述错误信息处理子单元包括:MSB寄存器、LSB寄存器、第一地址比较器、第二地址比较器、第一与门、第二与门和或门;其中,
所述MSB寄存器用于提供预设地址范围的上限值,所述LSB寄存器用于提供所述预设地址范围的下限值;
所述第一地址比较器的第一输入端与所述MSB寄存器连接,所述第一地址比较器的第二输入端与对应的功能安全逻辑单元连接,所述第二地址比较器的第一输入端与所述LSB寄存器连接,所述第二地址比较器的第二输入端与对应的功能安全逻辑单元连接,所述第一地址比较器和所述第二地址比较器用于判断所述错误地址是否在所述预设地址范围内;
所述第一与门第一输入端与所述第一地址比较器的输出端连接,所述第一与门第二输入端与所述第二地址比较器的输出端连接,所述第一与门用于在所述错误地址在所述预设地址范围内时,输出高电平的有效标志位,在所述错误地址在所述预设地址范围外时,输出低电平的有效标志位;
所述第二与门的第一输入端与所述第一与门的输出端连接,所述第二与门的第二输入端与对应的功能安全逻辑单元连接,所述第二与门用于在所述有效标志位和所述错误状态均为高电平时,输出高电平;
所述或门的第一输入端与所述第二与门的输出端连接,所述或门的第二输入端与对应的功能安全逻辑单元连接,所述或门用于在所述错误状态为高电平时,输出对应的错误状态。
3.根据权利要求2所述的报错电路,其特征在于,所述MSB寄存器、所述LSB寄存器、所述优先级配置寄存器均连接至所述控制逻辑单元,用于在所述控制逻辑单元控制下,在所述MSB寄存器中设置所述预设地址范围的上限值,在所述LSB寄存器中设置所述预设地址范围的下限值,在所述优先级配置寄存器设置各功能安全逻辑单元的优先级。
4.根据权利要求2所述的报错电路,其特征在于,所述FIFO存储逻辑单元还包括:
检错逻辑单元,与所述地址选择器连接,用于根据所述待写入数据生成检错数据,将所述检错数据附加至错误数据尾部,并将所述错误数据输出,其中,所述错误数据包括所述错误地址、端口ID、指针拓展位、所述检错数据和数据有效位,其中,所述FIFO寄存器分别与所述检错逻辑单元、所述写使能信号选择器连接,用于根据所述FIFO写使能信号存储所述错误数据;
FIFO控制器,与所述FIFO寄存器连接,用于控制当前FIFO读操作位置、写操作位置;
其中,所述控制逻辑单元还与所述FIFO寄存器连接,还用于将读使能信号输入至所述FIFO寄存器读所述错误数据,并使所述FIFO寄存器输出所述FIFO读使能信号。
5.根据权利要求4所述的报错电路,其特征在于,所述FIFO寄存器具体用于在存储所述错误数据时,执行如下存储操作:
写使能信号置位时,若当前位置数据有效位电平为0,则执行FIFO数据直接写入操作,并且将当前数据有效位置位,写指针加1;
若当前位置数据有效位电平为1,端口匹配不是最低位指针且错误数据不是最低优先级端口,则执行写指针加1操作,并产生写操作上溢标志;否则执行覆盖FIFO数据操作,当前数据有效位置位,写指针加1。
6.根据权利要求5所述的报错电路,其特征在于,所述FIFO寄存器具体用于:在产生写操作上溢标志时,若加1后的写指针超过FIFO深度,执行额外指针加1操作,或者,所述FIFO寄存器处于空状态,清除指针拓展位时,所述错误数据存储结束,以及在指针拓展位和写指针在所有数据有效位电平为0时,清零,重新开始执行所述存储操作。
7.根据权利要求5所述的报错电路,其特征在于,所述FIFO寄存器根据所述读使能信号,执行如下读操作:
读使能信号置位时,若当前数据有效位电平为1,且端口匹配,则从读指针值最小的位置读错误数据,并将读指针加1;否则,生成读操作溢出标志。
8.根据权利要求4所述的报错电路,其特征在于,所述错误计数逻辑单元包括N个计数子单元,所述N个计数子单元与N个所述或门一一对应,所述计数子单元包括:错误计数器、中断预设值寄存器和数值比较器;其中,
所述中断预设值寄存器用于提供中断预设值;
所述错误计数器与对应或门的输出端连接,用于在接收到高电平错误状态时,将计数值加1,以及在每读取一次所述FIFO寄存器中相应的错误数据时,接收到一次所述FIFO读使能信号,将计数值减1,直至将所述计数值清零;
所述数值比较器的第一输入端与所述错误计数器连接,所述数值比较器的第二输入端与所述中断预设值寄存器连接,所述数值比较器用于在所述计数值大于等于所述中断预设值时,输出状态标志至所述控制逻辑单元。
9.一种芯片设备,其特征在于,包括根据权利要求1-8中任一项所述的报错电路。
CN202310398950.3A 2023-04-14 2023-04-14 报错电路及芯片设备 Active CN116107795B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310398950.3A CN116107795B (zh) 2023-04-14 2023-04-14 报错电路及芯片设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310398950.3A CN116107795B (zh) 2023-04-14 2023-04-14 报错电路及芯片设备

Publications (2)

Publication Number Publication Date
CN116107795A CN116107795A (zh) 2023-05-12
CN116107795B true CN116107795B (zh) 2023-07-14

Family

ID=86260213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310398950.3A Active CN116107795B (zh) 2023-04-14 2023-04-14 报错电路及芯片设备

Country Status (1)

Country Link
CN (1) CN116107795B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113299326A (zh) * 2021-05-17 2021-08-24 珠海市一微半导体有限公司 基于fifo的数据先进后出型存储电路及读写方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1286421C (en) * 1987-10-14 1991-07-16 Martin Claude Lefebvre Message fifo buffer controller
KR950010770B1 (ko) * 1993-11-29 1995-09-22 대우전자주식회사 광폭의 데이터전송장치에 있어서 에러검출 및 정정회로
CN100396052C (zh) * 2004-03-12 2008-06-18 华为技术有限公司 高可靠性的先入先出存储器及其实现方法
CN111832240B (zh) * 2020-07-02 2024-04-19 上海思朗科技有限公司 Fifo数据传输方法及fifo存储装置
CN112559426A (zh) * 2020-12-15 2021-03-26 广州智慧城市发展研究院 数据传输方法、接口电路以及装置
CN114968365B (zh) * 2022-07-27 2022-10-28 广州智慧城市发展研究院 适配器寄存器单元及包含其的主机适配器电路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113299326A (zh) * 2021-05-17 2021-08-24 珠海市一微半导体有限公司 基于fifo的数据先进后出型存储电路及读写方法

Also Published As

Publication number Publication date
CN116107795A (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
US9047400B2 (en) Data processor device for handling a watchpoint and method thereof
CN109491958B (zh) 错误处理系统和错误处理方法
US4523275A (en) Cache/disk subsystem with floating entry
US7363436B1 (en) Collision detection in a multi-port memory system
CN108733594B (zh) 存储器控制器与数据储存装置
CN101478481B (zh) 缓存管理方法及装置、数据转发系统
US6640267B1 (en) Architecture for multi-queue storage element
EP2219114A1 (en) Method and apparatus for allocating storage addresses
US20040022099A1 (en) FIFO memory and semiconductor device
CN116107795B (zh) 报错电路及芯片设备
CN108108148B (zh) 一种数据处理方法和装置
US11405406B2 (en) Fraudulent transmission data detection device, fraudulent transmission data detection method, and storage medium
US10095643B2 (en) Direct memory access control device for at least one computing unit having a working memory
US11252108B2 (en) Controller for ordering out-of-order transactions in SoC
CN106776393B (zh) 一种无中断的串口数据接收方法和装置
JP2011234114A (ja) フレーム処理装置及びフレーム処理方法
CN107153580B (zh) 获取队列精确状态的装置及其方法
CN111858256B (zh) 命令队列监控电路、数据交换方法及其设备
US5598578A (en) Data processing system having event word handling facility which can send event word of higher significance without failure
CN115437823B (zh) 一种超时遍历的方法和芯片
US7769911B2 (en) Data reading method and data reading apparatus
CN117527529B (zh) 一种可自动恢复正常的以太网数据存储方法及装置
CN112582016B (zh) 单粒子自检测电路和方法
CN109783021A (zh) 数据存储系统及数据存储、读取方法、装置、电子设备
CN117521570B (zh) 总线的超时检测电路、方法、芯片及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant