CN112799871A - 电子***及其故障检测方法、片上***和总线*** - Google Patents

电子***及其故障检测方法、片上***和总线*** Download PDF

Info

Publication number
CN112799871A
CN112799871A CN202010713686.4A CN202010713686A CN112799871A CN 112799871 A CN112799871 A CN 112799871A CN 202010713686 A CN202010713686 A CN 202010713686A CN 112799871 A CN112799871 A CN 112799871A
Authority
CN
China
Prior art keywords
data
signal
control signal
output
checker
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.)
Pending
Application number
CN202010713686.4A
Other languages
English (en)
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN112799871A publication Critical patent/CN112799871A/zh
Pending legal-status Critical Current

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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7817Specially adapted for signal processing, e.g. Harvard architectures
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/02Manufacture or treatment of semiconductor devices or of parts thereof
    • H01L21/04Manufacture or treatment of semiconductor devices or of parts thereof the devices having potential barriers, e.g. a PN junction, depletion layer or carrier concentration layer
    • H01L21/18Manufacture or treatment of semiconductor devices or of parts thereof the devices having potential barriers, e.g. a PN junction, depletion layer or carrier concentration layer the devices having semiconductor bodies comprising elements of Group IV of the Periodic Table or AIIIBV compounds with or without impurities, e.g. doping materials
    • H01L21/28Manufacture of electrodes on semiconductor bodies using processes or apparatus not provided for in groups H01L21/20 - H01L21/268
    • H01L21/28008Making conductor-insulator-semiconductor electrodes
    • H01L21/28017Making conductor-insulator-semiconductor electrodes the insulator being formed after the semiconductor body, the semiconductor being silicon
    • H01L21/28158Making the insulator
    • H01L21/28167Making the insulator on single crystalline silicon, e.g. using a liquid, i.e. chemical oxidation
    • H01L21/28185Making the insulator on single crystalline silicon, e.g. using a liquid, i.e. chemical oxidation with a treatment, e.g. annealing, after the formation of the gate insulator and before the formation of the definitive gate conductor
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/70Manufacture or treatment of devices consisting of a plurality of solid state components formed in or on a common substrate or of parts thereof; Manufacture of integrated circuit devices or of parts thereof
    • H01L21/77Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate
    • H01L21/78Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices
    • H01L21/82Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices to produce devices, e.g. integrated circuits, each consisting of a plurality of components
    • H01L21/822Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices to produce devices, e.g. integrated circuits, each consisting of a plurality of components the substrate being a semiconductor, using silicon technology
    • H01L21/8232Field-effect technology
    • H01L21/8234MIS technology, i.e. integration processes of field effect transistors of the conductor-insulator-semiconductor type
    • H01L21/823462MIS technology, i.e. integration processes of field effect transistors of the conductor-insulator-semiconductor type with a particular manufacturing method of the gate insulating layers, e.g. different gate insulating layer thicknesses, particular gate insulator materials or particular gate insulator implants
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
    • H01L27/08Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including only semiconductor components of a single kind
    • H01L27/085Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including only semiconductor components of a single kind including field-effect components only
    • H01L27/088Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including only semiconductor components of a single kind including field-effect components only the components being field-effect transistors with insulated gate
    • H01L27/0886Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including only semiconductor components of a single kind including field-effect components only the components being field-effect transistors with insulated gate including transistors with a horizontal current flow in a vertical sidewall of a semiconductor body, e.g. FinFET, MuGFET
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L29/00Semiconductor devices specially adapted for rectifying, amplifying, oscillating or switching and having potential barriers; Capacitors or resistors having potential barriers, e.g. a PN-junction depletion layer or carrier concentration layer; Details of semiconductor bodies or of electrodes thereof ; Multistep manufacturing processes therefor
    • H01L29/40Electrodes ; Multistep manufacturing processes therefor
    • H01L29/43Electrodes ; Multistep manufacturing processes therefor characterised by the materials of which they are formed
    • H01L29/49Metal-insulator-semiconductor electrodes, e.g. gates of MOSFET
    • H01L29/51Insulating materials associated therewith
    • H01L29/517Insulating materials associated therewith the insulating material comprising a metallic compound, e.g. metal oxide, metal silicate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Manufacturing & Machinery (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • General Chemical & Material Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Chemical & Material Sciences (AREA)
  • Ceramic Engineering (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Detection And Correction Of Errors (AREA)
  • Bus Control (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

公开了一种电子***,可以包括被配置为实现主知识产权(IP)、检查器IP和错误检测电路的一个或多个处理电路单元。主知识产权IP包括第一数据路径和第一控制信号路径。检查器IP包括第二控制信号路径。错误检测电路被配置为:通过对由主IP通过第一数据路径输出到错误检测电路的输出数据执行纠错码(ECC)解码,来检测数据的错误,并且基于以下项来检测控制信号的错误:第一信号,由主IP通过第一控制信号路径输出到错误检测电路,第二信号,由检查器IP通过第二控制信号路径输出到错误检测电路。

Description

电子***及其故障检测方法、片上***和总线***
相关申请的交叉引用
本申请要求于2019年11月14日在韩国知识产权局提交的韩国专利申请No.10-2019-0146178的权益,该申请的公开内容通过引用全部并入本文中。
技术领域
本发明构思涉及电子***、检测其故障的方法、片上***和总线***,更具体地,涉及用于检测包括数据和各种信号的错误在内的故障的电子***、片上***、总线***及其故障检测方法。
背景技术
包括片上***(SoC)等的半导体器件已经在各种工业领域中使用。当半导体器件用于各种工业领域时,由于各种原因,可能在要在半导体器件中处理的数据和/或信号中发生错误。
发明内容
本发明构思提供了用于执行可靠的故障检测并减少电子***中芯片或***实现中的面积和/或成本的方法和装置,检测其故障的方法、片上***(SoC)和总线***。在一些示例实施例中,在这样的电子***用于各种工业领域中的情况下,与这样的电子***、SoC和/或总线***相关联地执行的故障检测可以减少或防止控制错误的发生。
根据本发明构思的一些示例实施例,一种电子***可以包括:主知识产权(IP),包括第一数据路径和第一控制信号路径;检查器IP,包括第二控制信号路径;以及错误检测电路,被配置为:通过对由主IP通过第一数据路径输出到错误检测电路的输出数据执行纠错码(ECC)解码,来检测数据的错误,并且基于以下项来检测控制信号的错误:第一信号,由主IP通过第一控制信号路径输出到错误检测电路,第二信号,由检查器IP通过第二控制信号路径输出到错误检测电路。
根据本发明构思的一些示例实施例,一种检测电子***的故障的方法,电子***包括第一知识产权(IP)和第二IP,该方法可以包括:通过对从第一IP的第一数据路径输出的输出数据执行纠错码(ECC)解码来检测输入数据的错误;以及基于从第一IP的第一控制信号路径输出的第一信号和从第二IP的第二控制信号路径输出的第二信号来检测控制信号的错误。
根据本发明构思的一些示例实施例,一种片上***可以包括:纠错码(ECC)编码器,被配置为通过对输入数据执行ECC编码来生成已编码数据;主知识产权(IP),被配置为接收已编码数据和第一控制信号,并且基于已编码数据通过第一数据路径将输出数据输出,并基于第一控制信号通过第一控制信号路径输出第二控制信号;第一延迟电路,被配置为通过将第一控制信号延迟特定的时钟周期来生成第三控制信号;检查器IP,被配置为基于第三控制信号通过第二控制信号路径来输出第四控制信号;ECC解码器,被配置为通过对输出数据执行ECC解码来输出数据错误检测信号;第二延迟电路,被配置为通过将第二控制信号延迟特定的时钟周期来生成第五控制信号;以及检查器电路,被配置为通过将第四控制信号与第五控制信号进行比较来检测控制信号的错误。
根据本发明构思的一些示例实施例,一种总线***可以包括:第一知识产权(IP),被配置为输出数据和第一控制信号;第二IP,被配置为输出第二控制信号;纠错码(ECC)解码器,被配置为通过对输出数据执行ECC解码来输出数据错误检测信号;延迟电路,被配置为通过将第一控制信号延迟特定的时钟周期来生成第三控制信号;以及检查器电路,被配置为通过将第二控制信号与第三控制信号进行比较来检测控制信号的错误。
附图说明
根据以下接合附图的具体实施方式,将更清楚地理解本发明构思的示例实施例,在附图中:
图1示出根据本发明构思的一些示例实施例的电子***;
图2示出根据本发明构思的一些示例实施例的电子***;
图3示出根据本发明构思的一些示例实施例的主IP;
图4示出根据本发明构思的一些示例实施例的ECC编码器、数据和已编码数据;
图5示出根据本发明构思的一些示例实施例的检查器IP;
图6示出根据本发明构思的一些示例实施例的操作电子***的方法的流程图;
图7示出根据本发明构思的一些示例实施例的发送电子***的数据和信号的方法的流程图;
图8示出根据本发明构思的一些示例实施例的检测电子***的故障的方法的流程图;
图9示出根据本发明构思的一些示例实施例的电子***;
图10是示出根据本发明构思的一些示例实施例的检查器IP的设计的流程图;
图11示出根据本发明构思的一些示例实施例的电子***;
图12示出根据本发明构思的一些示例实施例的总线***、第一IP和第二IP;以及
图13示出根据本发明构思的一些示例实施例的驾驶辅助***。
具体实施方式
在下文中,将详细描述本发明构思的一些示例实施例。
图1示出根据本发明构思的一些示例实施例的电子***10。电子***10可以包括主IP 100(在本文中也可互换地称为第一IP)、检查器IP 200(在本文中也可互换地称为第二IP)、ECC编码器300、错误检测电路450和故障收集电路600,并且错误检测电路450可以包括ECC解码器400和检查器电路500。将理解,在一些示例实施例中,电子***10可以不包括全部的主IP 100、检查器IP 200、ECC编码器300、故障收集电路600和错误检测电路450。
可以通过各种方式实现电子***10。例如,可以以集成电路或各种芯片的形式实现电子***10。
在一些示例实施例中,可以以片上***(SoC)的形式实现(例如,可以由片上***(SoC)实现)电子***10。电子***10可以被应用于(例如,可以被包括在)诸如无人机和高级驾驶辅助***(ADAS)等的机器人设备、智能TV、智能电话、医疗设备、移动设备、图像显示设备、测量设备、物联网(IoT)等。另外,电子***10可以安装在各种电子设备之一上。在一些示例实施例中,电子***10可以包括在一个时钟域中操作的组件。例如,所有主IP 100、检查器IP 200和错误检测电路450可以是被配置为在一个时钟域中操作的电路。
在一些示例实施例中,主IP 100、检查器IP 200、ECC编码器300、ECC解码器400、检查器电路500和故障收集电路600中的至少一些可以被实现为一个或多个数字电路(例如,可以由一个或多个数字电路来实现),该一个或多个数字电路可以包括本文所述的处理电路的一个或多个实例。也就是说,所有的主IP 100、检查器IP 200、ECC编码器300、ECC解码器400、检查器电路500和故障收集电路600以被实现为数字电路,或者仅主电路IP 100、检查器IP 200、ECC编码器300、ECC解码器400、检查器电路500和故障收集电路600中的一部分可以被实现为数字电路。然而,本发明构思不限于此,并且所有的主IP 100、检查器IP 200、ECC编码器300、ECC解码器400、检查器电路500和故障收集电路600可以被实现为模拟电路。
主IP 100可以包括各种知识产权(IP)之一。例如,主IP 100可以包括处理单元、包括在处理单元中的多个核、多格式编解码器(MFC)、视频模块(例如,相机接口、联合图像专家组(JPEG)处理器、视频处理器或混频器)、3D图形核、音频***、驱动器、显示驱动器、易失性存储器、非易失性存储器、存储控制器、输入和输出接口块或高速缓冲存储器等。另外,在一些示例实施例中,主IP 100可以包括***总线。
在一些示例实施例中,主IP 100可以传送或处理数据和/或信号。例如,主IP 100可以传送要从ECC编码器300输入的已编码数据DATA_ENC作为输出数据DATA_OUT,或者主IP100可以通过处理已编码数据DATA_ENC,将输出数据DATA_OUT输出。另外,例如,主IP 100可以传送第一信号SIG_1作为第三信号SIG_3,或者可以通过处理第一信号SIG_1来输出第三信号SIG_3。
在一些示例实施例中,主IP 100可以包括用于传送或处理数据的数据路径和用于传送或处理信号的控制信号路径。在本文中,信号可以包括各种信号,并且可以包括例如用于控制电子***10中的各种电路组件的控制信号中的至少一种。换句话说,在一些示例实施例中,主IP 100可以基于已编码数据DATA_ENC通过数据路径,将输出数据DATA_OUT输出,并且可以基于第一信号SIG_1通过控制信号路径来输出第三信号SIG_3。这将参考图3进行更详细地描述。将进一步理解,在本文中路径被描述为执行操作和/或被配置为执行操作(例如,例如基于另一数据或信号来输出数据或信号)的情况下,包括所述路径的元件(例如,主IP 100)将被理解为被配置为执行操作,例如,经由所述路径或基于所述路径执行操作(例如,主IP 100将被理解为被配置为基于经由或基于第一控制信号路径140被输入到主IP 100的第一信号SIG_1,输出第三信号SIG_3)。
检查器IP 200可以传送或处理信号。例如,检查器IP 200可以传送第二信号SIG_2作为第四信号SIG_4,或者可以通过处理第二信号SIG_2来输出第四信号SIG_4。在一些示例实施例中,第二信号SIG_2可以是第一信号SIG_1,或者可以是基于第一信号SIG_1生成的信号。例如,第二信号SIG_2可以是通过将第一信号SIG_1延迟特定的(或者,备选地,预定的)时钟周期而生成的信号。
在一些示例实施例中,检查器IP 200可以包括数据路径和控制信号路径。检查器IP 200可以基于第二信号SIG_2通过控制信号路径来输出第四信号SIG_4。这将参考图5进行更详细地描述。
在一些示例实施例中,在设计***(或电路)的阶段,可以基于主IP 100来设计检查器IP 200。例如,可以基于主IP 100的复制来设计检查器IP 200。在一些示例实施例中,检查器IP 200的控制信号路径可以与主IP 100的控制信号路径相同或基本相同。在一些示例实施例中,检查器IP 200的控制信号路径可以包括与包括在主IP 100的控制信号路径中的电路元件相同或基本相同的电路元件。将理解,在本文中元件可以被描述为与其他元件“相同”,并且将进一步理解,在本文中元件被描述为与其他元件“相同”可以为与其他元件“相同”或“基本相同”,其中与其他元件“基本相同”的元件将理解为在制造公差和/或材料公差内与其他元件相同。与其他电路元件相同或基本相同的电路元件可以在结构上相同或基本相同,在功能上相同或基本相同,和/或在组成上相同或基本相同。另外,在一些示例实施例中,可以在复制主IP 100的数据路径并且然后将要输入到其数据路径的所有输入绑定(例如,继输入到被复制的主IP 100的数据路径并且然后所有输入被绑定之后,响应于作为主IP 100的数据路径被复制并且然后所有输入被绑定,等等)之后,通过执行边界优化来设计检查器IP 200的数据路径。因此,除了主IP 100的设计之外,***设计人员可以不需要执行检查器IP 200的单独设计。另外,检查器IP 200的数据路径的尺寸可以小于主IP 100的数据路径的尺寸。因此,检查器IP 200的尺寸可以小于主IP 100的尺寸。例如,当电子***10被实现为片上***时,芯片上的检查器IP 200所占据的面积可以小于芯片上的主IP 100所占据的面积。
ECC编码器300可以通过对要在电子***10中处理的数据DATA或输入数据DATA执行ECC编码操作来生成已编码数据DATA_ENC。ECC编码器300可以将已编码数据DATA_ENC提供给主IP 100。ECC编码器300可以通过使用纠错码(ECC)来执行ECC编码操作。纠错码(ECC)可以包括奇偶校验、循环冗余码(CRC)、校验和以及汉明码等中的至少一种,但是不限于此。因此,已编码数据DATA_ENC可以包括数据DATA和基于数据DATA生成的检查器数据。也就是说,在一些示例实施例中,已编码数据DATA_ENC的比特的数量可以大于数据DATA的比特的数量。将参考图4更详细地描述数据DATA和已编码数据DATA_ENC。
错误检测电路450可以检测要在电子***10内传送或处理的数据和/或信号的错误。
错误检测电路450可以基于要从主IP 100输出的输出数据DATA_OUT来检测数据的错误。错误检测电路450可以基于已经经由特定数据路径从主IP 100输出的输出数据DATA_OUT来检测数据的错误。例如,错误检测电路450可以通过对已经从主IP输出的输出数据DATA_OUT执行ECC解码来检测数据的错误。错误检测电路450可以基于输出数据DATA_OUT来输出对数据错误进行检测的结果作为数据错误检测信号DED,并且可以将数据错误检测信号DED提供给故障收集电路600。例如,当检测到数据错误时,错误检测电路450可以输出具有第一逻辑电平(例如,“1”)的数据错误检测信号DED。同样,例如,当未检测到数据错误时,错误检测电路450可以不输出单独的信号,或者可以输出具有第二逻辑电平(例如,“0”)的数据错误检测信号DED。为此,错误检测电路450可以包括被配置为通过对输出数据DATA_OUT执行ECC解码来输出数据错误检测信号DED的ECC解码器400。ECC解码器400可以通过使用诸如奇偶校验、循环冗余码(CRC)、校验和以及汉明码等的ECC来执行ECC解码。ECC解码器400可以通过使用包括在输出数据DATA_OUT中的检查器数据来检测数据的错误。在一些示例实施例中,当在输出数据DATA_OUT中存在可校正的错误时,ECC解码器400可以执行校正输出数据DATA_OUT的操作。
如本文所述,关于所述电子***10、总线***1000、驾驶辅助***2000等的一个或多个部分,被描述为“要”输入或输出的数据或信号可以互换地描述为:关于所述电子***10、总线***1000、驾驶辅助***2000的所述一个或多个部分,“是被”或“已经被”输入或输出的数据或信号。例如,可以基于要从主IP 100输出的输出数据DATA_OUT来检测数据的错误的错误检测电路450可以互换地被描述为基于已经(例如,经由特定数据路径)从主IP100输出的输出数据DATA_OUT来检测数据的错误。还将理解,从所述电子***10、总线***1000、驾驶辅助***2000等的一个或多个部分“输出”的数据或信号在本文中可以互换地称为在所述电子***10、总线***1000、驾驶辅助***2000等的一个或多个部分“处生成”或“从其发送”。
错误检测电路450可以基于要从主IP 100输出的第三信号SIG_3和要从检查器IP200输出的第四信号SIG_4来检测控制信号的错误。在一些示例实施例中,如图2所示,错误检测电路450可以基于第四信号SIG_4和图2中的第五信号SIG_5来检测控制信号的错误,其中第五信号SIG_5是第三信号SIG_3的延迟信号。错误检测电路450可以基于第三信号SIG_3和第四信号SIG_4来输出对数据的错误进行检测的结果作为控制信号错误检测信号SED,并且可以将控制信号错误检测信号SED提供给故障收集电路600。例如,当检测到数据错误时,错误检测电路450可以输出具有第一逻辑电平(例如,“1”)的控制信号错误检测信号SED。同样,例如,当未检测到数据错误时,错误检测电路450可以不输出单独的信号,或者可以输出具有第二逻辑电平(例如,“0”)的控制信号错误检测信号SED。为此,错误检测电路450可以包括检查器电路500,该检查器电路500被配置为基于第三信号SIG_3和第四信号SIG_4来输出控制信号错误检测信号SED。在一些示例实施例中,检查器电路500可以通过使用循环校验方法基于第三信号SIG_3和第四信号SIG_4来检测控制信号的错误。换句话说,在一些示例实施例中,检查器电路500可以包括循环校验单元(CCU)。
故障收集电路600可以基于要从错误检测电路450接收的数据错误检测信号DED和控制信号错误检测信号SED,来收集关于在电子***10中发生的故障的信息。故障收集电路600可以基于数据错误检测信号DED和控制信号错误检测信号SED来选择性地输出关于电子***10的故障检测信号FD,从而可以减少或防止与电子***10和/或使用和/或包括电子***10的任何***或设备的操作相关联的控制错误的发生。例如,当数据和/或控制信号中存在错误时,故障收集电路600可以输出具有第一逻辑电平(例如,“1”)的故障检测信号FD。同样,例如,当数据和/或控制信号中不存在错误时,故障收集电路600可以输出具有第二逻辑电平(例如,“0”)的故障检测信号FD。然而,本发明构思不限于此,并且根据检测到的错误的数量,故障收集电路600可以输出具有三个电平或更多电平中的一个电平的故障检测信号FD。
根据按照本发明构思的一些示例实施例的电子***10,电子***10可以通过主IP100的操作、基于主IP 100的复制而设计的检查器IP 200以及错误检测电路450,高效地检测数据和/或控制信号中的错误。例如,电子***10可以通过使用要通过主IP 100的数据路径输出的输出数据DATA_OUT来检测数据的错误,并且可以基于要通过主IP 100的控制信号路径输出的第三信号SIG_3以及要通过检查器IP 200的控制信号路径输出的第四信号SIG_4,来检测具有高可靠性的控制信号的错误。另外,在保持如上所述的高可靠性的错误检测同时,设计者还可以确保设计的简便性,因为不需要与主IP 100的电路设计分开地进行检查器IP 200的附加电路设计。另外,由于检查器IP 200的尺寸小于主IP 100的尺寸,因此与检查器IP 200的尺寸大于主IP100的尺寸的比较示例相比,可以减小用于***实施的面积和/或成本。
图2是示出根据本发明构思的一些示例实施例的电子***10。电子***10可以包括主IP 100、检查器IP 200、ECC编码器300、ECC解码器400、检查器电路500、故障收集电路600、第一延迟电路720和第二延迟电路740。关于图2,将省略与图1的电子***10重叠的描述,并且将着重于与图1的差异来给出描述。
第一信号SIG_1可以输入到主IP 100,第二信号SIG_2可以输入到检查器IP 200。
第一延迟电路720可以基于第一信号SIG_1来生成第二信号SIG_2。例如,第一延迟电路720可以通过将第一信号SIG_1延迟特定的(或者,备选地,预定的)时钟周期来生成第二信号SIG_2。作为非限制性示例,第一延迟电路720可以通过将第一信号SIG_1延迟两个时钟周期来生成第二信号SIG_2。因此,将理解,相对于第一信号SIG_1,第二信号SIG_2可以被延迟特定的时钟周期,例如使得相对于第一信号SIG_1被输入到主IP 100的时间,第二信号SIG_2在输入到检查器IP 200时被延迟特定时钟周期。
主IP 100可以传送第一信号SIG_1作为第三信号SIG_3,或者可以通过处理第一信号SIG_1来输出第三信号SIG_3。例如,主IP 100可以基于第一信号SIG_1通过主IP 100的控制信号路径来输出第三信号SIG_3。
检查器IP 200可以传送第二信号SIG_2作为第四信号SIG_4,或者可以通过处理第二信号SIG_2来输出第四信号SIG_4。例如,检查器IP 200可以基于第二信号SIG_2通过检查器IP 200的控制信号路径来输出第四信号SIG_4。
第二延迟电路740可以基于第三信号SIG_3来生成第五信号SIG_5。例如,第二延迟电路740可以通过将第三信号SIG_3延迟特定的(或者,备选地,预定的)时钟周期来生成第五信号SIG_5。因此,将理解,第五信号SIG_5可以相对于第四信号SIG_4被延迟特定的时钟周期,例如,使得第五信号SIG_5在输入到错误检测电路450时被延迟特定的时钟周期。要由第二延迟电路740延迟的时钟周期的数量(例如,量)可以等于要由第一延迟电路720延迟的时钟周期的数量,使得第二信号SIG_2和第五信号SIG_5分别相对于第一信号SIG_1和第四信号SIG_4都延迟相同的特定时钟周期。作为非限制性示例,第二延迟电路740可以通过将第三信号SIG_3延迟两个时钟周期来生成第五信号SIG_5。
检查器电路500可以通过使用第四信号SIG_4和第五信号SIG_5来检测控制信号的错误。例如,检查器电路500可以通过使用第四信号SIG_4和第五信号SIG_5根据循环校验方式来检测控制信号的错误。例如,检查器电路500可以基于将第四信号SIG_4与第五信号SIG_5进行比较,根据循环校验方式来检测控制信号的错误,并且可以响应于该检测而选择性地输出控制信号错误信号SED。
图3示出根据本发明构思的一些示例实施例的主IP 100。将省略与图1重叠的关于主IP 100的描述。参考图1一起描述图3。
主IP 100可以包括(例如,可以实现)第一数据路径120(在本文中也称为第一数据路径)和第一控制信号路径140。图3示出了主IP 100包括一个第一数据路径120,但是不限于此,并且主IP 100可以包括多个数据路径。同样,图3示出了主IP 100包括一个第一控制信号路径140,但是不限于此,并且主IP 100可以包括多个控制信号路径。
主IP 100可以通过传送已编码数据DATA_ENC或通过处理已编码数据DATA_ENC,将输出数据DATA_OUT输出。在一些示例实施例中,第一数据路径120可以包括所有电路元件,已编码数据DATA_ENC从被输入到主IP 100穿过所述全部电路元件到将输出数据DATA_OUT输出。
同样,主IP 100可以传送第一信号SIG_1,或者可以通过处理第一信号SIG_1来输出第三信号SIG_3。因此,将理解,第一控制信号路径140可以被配置为基于第一信号SIG_1被输入到主IP 100(例如,被输入到第一控制信号路径140),例如基于对第一信号SIG_1进行处理,来输出第三信号SIG_3。在一些示例实施例中,第一控制信号路径140可以包括全部电路元件,第一信号SIG_1从被输入到主IP 100穿过所述全部电路元件到输出第三信号SIG_3。因此,将理解,主IP 100可以被配置为接收已编码数据DATA_ENC和作为第一控制信号的第一信号SIG_1,并基于已编码数据DATA_ENC通过第一数据路径120来输出(例如,生成、发送等)输出数据DATA_OUT,并基于作为第一控制信号的第一信号SIG_1通过第一控制信号路径140来输出作为第二控制信号的第三信号SIG_3。还应理解,第一数据路径120可以被配置为基于已编码数据DATA_ENC,将输出数据DATA_OUT输出,并且第一控制信号路径140可以被配置为基于作为另一控制信号的第一信号SIG_1来输出作为控制信号的第三信号SIG_3。
因此,在一些示例实施例中,第一数据路径120可以是独立于第一控制信号路径140的电路。然而,本发明构思不限于此,并且在一些情况下,第一数据路径120和第一控制信号路径140可以共享一些电路元件。
当电子***10检测到故障时,电子***10可以通过使用对穿过主IP 100的第一数据路径120的数据进行解码的ECC来检测错误,并且可以通过使用穿过检查器IP 200的控制信号路径的控制信号和穿过主IP 100的第一控制信号路径140的控制信号来检测错误。
因此,根据本发明构思的一些示例实施例的包括主IP 100的电子***10可以以高可靠性来检测在数据和/或信号中出现的错误,从而提高电子***10的性能。
图4示出根据本发明构思的一些示例实施例的ECC编码器300、数据DATA(在本文中也称为输入数据)和已编码数据DATA_ENC。将省略与图1重叠的关于ECC编码器300的描述。参考图1一起描述图4。
ECC编码器300可以通过对数据DATA执行ECC编码来生成已编码数据DATA_ENC。数据DATA的比特的数量可以描述为N比特,其中N是自然数。
在一些示例实施例中,ECC编码器300可以通过将要基于数据DATA生成的检查器数据DATA_C添加到数据DATA来生成已编码数据DATA_ENC。也就是说,已编码数据DATA_ENC可以包括数据DATA和要基于数据DATA生成的检查器数据DATA_C。图4示出在数据DATA之后添加检查数据DATA_C,但是不限于此。例如,可以在数据DATA之前添加检查器数据DATA_C,并且在某些情况下,可以在数据DATA的中间添加检查器数据DATA_C。检查器数据DATA_C的比特的数量可以是C比特,其中C是自然数。在一些示例实施例中,C可以具有小于N的值。在一些示例实施例中,N:C的比率可以是8∶1,但不限于此。也就是说,已编码数据DATA_ENC的比特的数量可以是(N+C)比特,并且可以大于数据DATA的比特的数量。
已编码数据DATA_ENC可以被输入到主IP 100。主IP 100可以通过传送或处理已编码数据DATA_ENC,将输出数据DATA_OUT输出。为了说明一些示例实施例,可以假设主IP 100传送已编码数据DATA_ENC作为输出数据DATA_OUT。
在一些示例实施例中,ECC解码器400可以通过对输出数据DATA_OUT执行ECC解码,来检测数据的错误,并因此响应地输出数据错误检测信号DED。例如,ECC解码器400可以通过使用包括在输出数据DATA_OUT中的数据而生成比较检查器数据,然后将所生成的比较检查器数据与包括在输出数据DATA_OUT中的检查器数据进行比较,来检测数据的错误。例如,当所生成的比较检查器数据和包括在输出数据DATA_OUT中的检查器数据不匹配时,ECC解码器400可以确定数据中已经发生错误,并且可以输出指示检测到错误的错误检测信号DED。将理解,在本文中执行数据的编码或解码可以与对数据执行编码或解码互换地提及。
图5示出根据本发明构思的一些示例实施例的检查器IP 200。将省略与图1重叠的关于检查器IP 200的描述。参考图1和图3一起描述图5。
检查器IP 200可以包括(例如,可以实现)第二数据路径220和第二控制信号路径240。在一些示例实施例中,检查器IP 200可以省略第二数据路径220。图5示出了检查器IP200包括一个第二数据路径220,但是不限于此,并且检查器IP 200可以包括多个数据路径。同样地,图5示出了检查器IP 200包括一个第二控制信号路径240,但是不限于此,检查器IP200可以包括多个控制信号路径。
检查器IP 200可以通过传送第二信号SIG_2或通过处理第二信号SIG_2来输出第四信号SIG_4。因此,将理解,第二控制信号路径240可以被配置为基于第二信号SIG_2要被输入到检查器IP 200(例如,被输入到第二控制信号路径240),例如基于处理第二信号SIG_2,来输出第四信号SIG_4。因此,将理解,检查器IP 200可以被配置为基于作为第三控制信号的第二信号SIG_2,通过第二控制信号路径240来输出作为第四控制信号的第四信号SIG_4。将理解,第二控制信号路径240可以被配置为基于相对于第一信号SIG_1延迟了特定时钟周期的第二信号SIG_2来输出第四信号SIG_4作为控制信号。在一些示例实施例中,第二控制信号路径240可以包括全部电路元件,第二信号SIG_2从被输入到检查器IP 200穿过所述全部电路元件到输出第四信号SIG_4。
在一些示例实施例中,可以基于主IP 100的复制来设计检查器IP 200。因此,检查器IP 200的第二控制信号路径240可以包括与主IP 1000的第一控制信号路径140的那些电路组件相同或基本相同(例如,在制造公差和/或材料公差内相同)的电路组件。将理解,在本文中“电路组件”和“电路元件”可以互换地使用。可以在复制主IP100的第一数据路径120并绑定全部输入之后(例如,继复制主IP 100的第一数据路径120并绑定全部输入之后,响应于复制主IP 100的第一数据路径120并绑定全部输入,等等),通过边界优化来设计检查器IP 200的第二数据路径220。因此,可以不向检查器IP 200的第二数据路径220输入信号,并且检查器IP 200的第二数据路径220可以不输出任何输出信号。换句话说,检查器IP 200的第二数据路径220的输入和依赖于该输入的检查器IP 200的第二数据路径220的输出可以在第二数据路径220中被省略。
检查器IP 200的第二数据路径220的尺寸可以小于主IP 100的第一数据路径120的尺寸。因此,检查器IP 200的尺寸可以小于主IP 100的尺寸。换句话说,当电子***10被实现为片上***时,检查器IP 200在片上***的芯片上占据的面积(例如,电路面积)可以小于主IP 100在片上***芯片上占据的面积(例如,电路面积)。例如,当电子***10被实现为片上***时,第二数据路径220在片上***的芯片上占据的面积(例如,电路面积)可以小于第一数据路径120在片上***的芯片上占据的面积(例如,电路面积)。
图6示出了根据本发明构思的一些示例实施例的操作电子***的方法的流程图。将参考图1、图3和图5一起描述图6。
可以将数据和/或控制信号输入到主IP 100和检查器IP 200(S100)。将参考图7更详细地描述操作S100。
电子***10可以基于数据和要从主IP 100输出的控制信号以及要从检查器IP200输出的控制信号来检测错误(S200)。例如,电子***10可以基于要从主IP 100输出的输出数据来检测数据的错误,并且可以基于要从主IP 100输出的第三信号SIG_3以及要从检查器IP 200输出的第四信号SIG_4来检测控制信号的错误。将参考图8更详细地描述操作S200。
图7示出根据本发明构思的一些示例实施例的传送电子***的数据和信号的方法的流程图。具体地,图7可以示出与图6的操作S100相对应的详细流程图。将参考图1、图3和图5一起描述图7。
电子***10可以通过数据DATA的ECC编码(例如,通过执行数据DATA的ECC编码)来生成已编码数据DATA_ENC(S120)。例如,ECC编码器300可以通过对数据DATA进行ECC编码来生成已编码数据DATA_ENC。已编码数据DATA_ENC可以包括数据DATA和要基于数据DATA生成的检查器数据。因此,已编码数据DATA_ENC的比特的数量可以大于数据DATA的比特的数量。
包括在电子***10中的主IP 100可以基于已编码数据DATA_ENC通过主IP 100的第一数据路径120来输出输出数据DATA_OUT(S140)。主IP 100可以传送已编码数据DATA_ENC作为输出数据DATA_OUT,或者可以通过处理已编码数据DATA_ENC,将输出数据DATA_OUT输出。
包括在电子***10中的主IP 100可以基于第一信号SIG_1通过主IP 100的第一控制信号路径140来输出第三信号SIG_3(S160)。主IP 100可以传送第一信号SIG_1作为第三信号SIG_3,或者可以通过处理第一信号SIG_1来输出第三信号SIG_3。
包括在电子***10中的检查器IP 200可以基于第二信号SIG_2通过检查器IP 200的第二控制信号路径240来输出第四信号SIG_4(S180)。检查器IP 200可以传送第二信号SIG_2作为第四信号SIG_4,或者可以通过处理第二信号SIG_2来输出第四信号SIG_4。在一些示例实施例中,第二信号SIG_2可以表示其中第一信号SIG_1被延迟了特定的(或者,备选地,预定的)时钟周期的信号。
图8示出根据本发明构思的一些示例实施例的检测电子***的故障的方法的流程图。具体地,图8可以示出与图6的操作S200相对应的详细流程图。将参考图1、图3和图5一起描述图8。
电子***10可以通过对要从主IP 100输出的输出数据DATA_OUT进行ECC解码来检测数据的错误(S220)。例如,错误检测电路450可以通过对要通过主IP 100的第一数据路径120输出的输出数据DATA_OUT执行ECC解码来检测数据错误。如本文所述,被描述为电子***10的一个或多个元件“要输出”的信号可以理解为包括例如经由电子***10的一个或多个信号路径由电子***10的一个或多个元件实际输出至电子***10的一个或多个其他元件的信号。例如,在S220处,错误检测电路450可以通过对通过主IP 100的第一数据路径120从主IP 100输出到错误检测电路450的输出数据DATA_OUT执行ECC解码来检测数据的错误。为此,错误检测电路450可以包括ECC解码器400,该ECC解码器400可以被配置为执行这种ECC解码。换句话说,ECC解码器400可以通过对将要通过主IP 100的第一数据路径120输出的输出数据DATA_OUT进行ECC解码来检测数据的错误。ECC解码器400可以输出数据错误检测的结果作为数据错误检测信号DED,并且可以将数据错误检测信号DED提供给故障收集电路600。重申一下,ECC解码器400可以被配置为对输出数据执行ECC解码以检测数据错误(S220),并响应于对数据错误的检测而输出数据错误检测信号DED。因此,将理解,操作S220可以包括通过对从主IP 100的第一数据路径120输出的输出数据(例如,基于输入数据的处理从第一数据路径120将输出数据输出的情况)执行ECC解码来检测输入数据(例如,输入到电子***10的数据)的错误。将理解,输出信号(例如,ECC解码器400输出数据错误检测信号DED)可以包括生成信号(例如,ECC解码器400生成数据错误检测信号DED)和/或将信号发送给外部元件(例如,ECC解码器400将数据错误检测信号DED发送给故障收集电路600)。
电子***10可以基于要从主IP 100输出的第三信号SIG_3和要从检查器IP 200输出的第四信号SIG_4来检测控制信号的错误(S240)。例如,错误检测电路450可以基于要通过主IP 100的第一控制信号路径140输出的第三信号SIG_3和要通过检查器IP 200的第二控制信号路径240输出的第四信号SIG_4来检测控制信号的错误。例如,错误检测电路450可以基于由主IP 100通过主IP 100的第一控制信号路径140输出到错误检测电路450(例如,输出到检查器电路500)的信号(例如,第三信号SIG_3,可以称为第一信号)和由检查器IP200通过检查器IP 200的第二控制信号路径240(例如,第二控制信号路径)输出到错误检测电路(例如,检查器电路500)的另一信号(例如,第四信号SIG_4,可以称为第二信号),来检测控制信号的错误。在一些示例实施例中,例如,错误检测电路450可以基于第五信号和要通过检查器IP 200的第二控制信号路径240输出的第四信号SIG_4来检测控制信号的错误,其中第五信号是其中将要通过主IP 100的第一控制信号路径140输出的第三信号SIG_3延迟了特定的(或者,备选地,预定的)时钟周期的信号。为此,错误检测电路450可以包括检查器500。换句话说,检查器电路500可以基于要通过主IP 100的第一控制信号路径140输出的第三信号SIG_3和要通过检查器IP 200的第二控制信号路径240输出的第四信号SIG_4来检测控制信号的错误。检查器电路500可以输出控制信号的错误检测的结果作为控制信号错误检测信号SED,并且可以将控制信号错误检测信号SED提供给故障收集电路600。重申一下,检查器电路500可以被配置为基于第三信号SIG_3和第四信号SIG_4来检测控制信号的错误(S240),并且响应于检测到控制信号的错误而输出控制信号错误检测信号SED。因此,将理解,操作S240可以包括基于从主IP 100的第一控制信号路径140输出的第三信号SIG_3和从检查器IP 200的第二控制信号路径240输出的第四信号SIG_4来检测控制信号的错误。至少参考图2,在S240处检测控制信号的错误可以包括通过(例如,在第二延迟电路740处)将第三信号SIG_3延迟特定时钟周期而产生第五信号SIG_5以及基于将第五信号SIG_5与第四信号SIG_4进行比较而输出控制信号错误检测信号SED(例如,在检查器电路500处,响应于第四信号SIG_4与第五信号SIG_5的比较结果而选择性地输出控制信号错误检测信号SED)。
电子***10可以基于数据错误检测和控制信号错误检测的结果来检测电子***10的故障(S260)。例如,故障收集电路600可以基于要从ECC解码器400接收的数据错误检测信号DED和要从检查器电路500接收的控制信号错误检测信号SED,来检测要在电子***10中处理的数据和/或信号的故障。故障收集电路600可以基于(例如,响应于)数据错误检测信号DED和控制信号错误检测信号SED来选择性地输出故障检测信号FD。因此,将理解,故障收集电路600可以从错误检测电路450(例如,ECC解码器400)接收数据错误检测信号DED,从错误检测电路450(例如,检查器电路500)接收控制信号错误检测信号SED,并响应于数据错误检测信号DED和控制信号错误检测信号SED而选择性地输出关于电子***10的故障检测信号。
图9示出根据本发明构思的一些示例实施例的电子***10。图9的电子***10示出一些示例实施例,其中图3的主IP 100和图5的检查器IP 200被应用于图2的电子***10。也就是说,将省略与图1至图8重叠的图9的电子***10的描述。
电子***10可以包括主IP 100、检查器IP 200、ECC编码器300、ECC解码器400、检查器电路500、故障收集电路600、第一延迟电路720和第二延迟电路740。
主IP 100可以包括(例如,可以实现)第一数据路径120和第一控制信号路径140。主IP 100可以基于已编码数据DATA_ENC通过第一数据路径120来输出输出数据DATA_OUT。主IP 100可以基于第一信号SIG_1通过第一控制信号路径140来输出第三信号SIG_3。
第一延迟电路720可以通过将第一信号SIG_1延迟特定的(或者,备选地,预定的)时钟周期来生成第二信号SIG_2,并且可以将所生成的第二信号SIG_2提供给检查器IP200。
检查器IP 200可以包括(例如,可以实现)第二数据路径220和第二控制信号路径240。检查器IP 200可以基于第二信号SIG_2通过第二控制信号路径240来输出第四信号SIG_4。可以不向第二数据路径220输入数据,并且第二数据路径220可以不输出任何数据。
ECC解码器400可以通过使用要通过第一数据路径120输出的输出数据DATA_OUT来检测数据的错误。
第二延迟电路740可以通过将要通过第一控制信号路径140输出的第三信号SIG_3延迟特定的(或者,备选地,预定的)时钟周期(可以与第一延迟电路720延迟第一信号SIG_1以生成第二信号SIG_2的特定时钟周期相同)来生成第五信号SIG_5,并且可以将所生成的第五信号SIG_5提供给检查器电路500。
检查器电路500可以基于第五信号SIG_5和要通过第二控制信号路径240输出的第四信号SIG_4来检测控制信号的错误。
图10示出根据本发明构思的一些示例实施例的设计检查器IP的流程图。参考图1一起描述图10。
电子***10的设计者可以获取主IP 100的设计源数据(S320)。例如,设计者可以获取主IP 100的以硬件描述语言(HDL)等实现的设计源数据。
设计者可以绑定主IP 100的数据路径的所有输入(S340)。例如,设计者可以设置功能使得基于主IP 100的设计源数据来绑定数据路径的所有输入。
设计者可以合成电路(S360)。也就是说,可以根据操作S340基于要最终获取的设计源数据来合成电路。
设计者可以获取检查器IP 200的网表(NetList)(S380)。网表可以以可以通过布局过程在实际芯片中实现的形式来表示数据。
图11示出根据本发明构思的一些示例实施例的电子***20。图11示出了一些示例实施例,其中图2的电子***10的ECC编码器300、ECC解码器400、检查器电路500和故障收集电路600可以被实现为一个控制电路800。相对于图11,将省略与图1至图9重叠的描述。
电子***20可以包括主IP 100、检查器IP 200、控制电路800、第一延迟电路720和第二延迟电路740。控制电路800可以包括ECC编码器300、ECC解码器400、检查器电路500和故障收集电路600。
在一些示例实施例中,控制电路800可以被实现为数字电路(例如,处理电路的一个或多个实例),以执行ECC编码器300、ECC解码器400、检查器电路500和故障收集电路600的所有功能。例如,控制电路800可以通过对数据DATA执行ECC编码来将已编码数据DATA_ENC提供给主IP 100。例如,控制电路800可以通过对要从主IP 100输出的输出数据DATA_OUT执行ECC解码来检测数据的错误。例如,控制电路800可以通过使用第四信号SIG_4和第五信号SIG_5来检测控制信号的错误。控制电路800可以基于数据错误检测和控制信号错误检测的结果,输出关于电子***20的故障检测信号FD。
图12示出根据本发明构思的一些示例实施例的总线***1000、第一IP 1001和第二IP 1002。图12的总线***1000示出了其中将参考图1至图11描述的电子***10和20应用于(例如,包括在)总线***中的一些示例实施例。换句话说,参考图1至图11描述的组件的功能也可以应用于图12。
第一IP 1001和第二IP 1002可以通过总线***1000彼此交换数据或各种信号。
总线***1000可以包括总线组件1100、复制的总线组件1200、ECC编码器1300、ECC解码器1400、检查器电路1500、故障收集电路1600以及第一延迟电路1720和第二延迟电路1740。
总线组件1100可以与参考图1至图11描述的主IP 100相对应,因此在一些示例实施例中,总线组件110可以被称为第一IP或主IP。总线组件1100可以包括第一数据路径和第一控制信号路径。总线组件1100可以通过经由第一数据路径传送已编码数据DATA_ENC,将输出数据DATA_OUT输出。总线组件1100可以基于第一信号SIG_1通过第一控制信号路径来输出第三信号SIG_3(例如,作为第一控制信号)。
复制的总线组件1200可以与参考图1至图11描述的检查器IP2000相对应,因此在一些示例实施例中,总线组件110可以被称为第二IP或检查器IP。复制的总线组件1200可以包括第二数据路径和第二控制信号路径。复制的总线组件1200可以基于第二信号SIG_2通过第二控制信号路径来输出第四信号SIG_4(例如,作为第二控制信号)。可以不向第二数据路径输入数据,并且第二数据路径可以不输出任何数据。
ECC解码器1400、检查器电路1500、故障收集电路1600、第一延迟电路1720和第二延迟电路1740中的每一个可以分别与参考图1至图11描述的ECC解码器400、检查器电路500、故障收集电路600、第一延迟电路720和第二延迟电路740相对应。
根据依据本发明构思的一些示例实施例的总线***1000,总线***1000可以检测数据DATA的错误以及要在第一IP 1001和第二IP1002之间发送和接收的控制信号的错误。另外,由于可以将复制的总线组件1200的尺寸设计为小于总线组件1100的尺寸,因此可以在设计中减小芯片上的面积和/或成本。
图13示出根据本发明构思的一些示例实施例的驾驶辅助***2000。驾驶辅助***2000可以包括在车辆2001内,该车辆2001可以是任何公知的车辆,包括汽车,包括可以被配置为实现其至少部分自动驾驶的任何车辆。驾驶辅助***2000可以包括处理器2100、传感器单元2200、通信模块2300、驾驶控制单元2400、自动驾驶单元2500和用户界面2600。
处理器2100可以控制应用了驾驶辅助***2000的装置的整体操作。处理器2100可以包括一个处理器核(单核)或多个处理器核(多核)。处理器2100可以处理或执行驾驶辅助***2000的存储器中存储的程序和/或数据。在一些示例实施例中,处理器2100可以包括能够基于以下各种类型的网络来处理计算的NPU:例如卷积神经网络(CNN)、基于区域的卷积神经网络(R-CNN)、区域提取网络(RPN)、递归神经网络(RNN)、全卷积网络(FCN)和长短期记忆(LSTM)网络以及分类网络。
传感器单元2200(在本文中也被简单地称为“传感器”)可以收集与要由应用了驾驶辅助***2000的装置(例如,车辆2201)感测的对象有关的信息。在一些示例实施例中,传感器单元2200可以是图像传感器单元。在一些示例实施例中,传感器单元2200可以包括至少一个图像传感器。传感器单元2200可以从应用了驾驶辅助***2000的装置的外部感测或接收图像信号,并且将图像信号转换成图像数据,即图像帧。在一些示例实施例中,传感器单元2200可以是距离传感器单元,在本文中也被简称为“距离传感器”。在一些示例实施例中,传感器单元2200可以包括至少一个距离传感器。距离传感器可以包括各种类型的传感设备中的至少一种,例如光检测和测距(LIDAR)传感器、无线电检测和测距(RADAR)传感器、飞行时间(ToF)传感器、超声传感器和红外传感器。同时,可以根据有效测量距离将LIDAR传感器和RADAR传感器进行分类。例如,LIDAR传感器可以被分类为长LIDAR传感器和短LIDAR传感器,并且RADAR传感器可以被分类为长RADAR传感器和短RADAR传感器。另外,传感器单元2200可以包括地磁传感器、位置传感器(例如,GPS)、加速度传感器、气压传感器、温度/湿度传感器、接近传感器和陀螺仪传感器中的至少一种,但不限于此。由于本领域技术人员可以从各个传感器的名称直观地推断出其功能,因此将省略其详细描述。
通信模块2300可以发送和/或接收应用了驾驶辅助***2000的装置的数据。例如,通信模块2300可以与装置的外部对象进行通信。在一些示例实施例中,通信模块2300可以以车辆到一切(vehicle to everything,V2X)的方式执行通信。例如,通信模块2300可以以车辆到车辆(V2V)、车辆到基础设施(V2I)、车辆到行人(V2P)以及车辆到移动设备(V2N)的方式执行通信。然而,本发明构思不限于此,并且通信模块2300可以通过各种已知的通信方式来发送和接收数据。例如,通信模块2300可以通过例如3G、LTE、Wi-Fi、蓝牙、蓝牙低能量(BLE)、Zigbee、近场通信(NFC)或通过超声波的通信方法等来执行通信,并且可以包括短距离通信和长距离通信。
驾驶控制单元2400(在本文中也被简称为“驾驶控制器”)可以包括以下任何一个:被配置为控制车辆的方向的车辆转向设备、被配置为通过控制公差马达或发动机来控制加速度和/或减速度的节流阀设备、被配置为控制车辆的制动的制动设备以及外部照明设备等。
自主驾驶单元2500(在本文中也被简称为“自主驾驶控制器”)可以包括计算设备,该计算设备被配置为实现对驾驶控制单元2400的自主控制(例如,控制驾驶控制单元2400以使车辆2001实现自主驾驶)。例如,自主驾驶单元2500可以包括其中实现了驾驶辅助***2000的装置的组件中的至少一个。自主驾驶单元2500可以包括用于存储多个程序指令的存储器和用于执行程序指令的一个或多个处理器。自主驾驶单元2500可以被配置为基于要从传感器单元2200输出的感测信号来控制驾驶控制单元2400。
用户界面2600可以包括驾驶员座椅或乘客座椅中包括的各种电子设备和机械设备,例如指示车辆的仪表板的显示器。
在汽车工业中,可能需要从安全气囊布置***到高级驾驶辅助***(ADAS)的高级别安全***。作为代表性示例,可以根据用于机动车功能安全的国际标准ISO 26262来认证配备有高级别安全***的电子设备。具体地,为了获得ISO 26262 ASIL-D的认证,电子设备应满足单点故障度量(SPFM)为99%或更高。换句话说,需要要求高安全级别的电子设备以检测99%或以上的单点故障度量。
参考图1至图12描述的电子***10和20可以应用于以下至少一个:处理器2100、传感器单元2200、通信模块2300、驾驶控制单元2400、自主驾驶单元2500和驾驶辅助***2000中包括的用户界面2600。
在一些示例实施例中,根据任何示例实施例的***的任何一些或全部可以包括、可以被包括在和/或可以由以下项中的一个或多个实例(例如,物品、零件、单元等)来实现:包含逻辑电路的诸如硬件之类的处理电路;执行软件的诸如处理器之类的硬件/软件组合;或其组合,所述***的任何一些或全部包括以下中的一些或全部:根据任何示例实施例的电子***10、电子***20、公共汽车***1000、和/或驱动辅助***2000(包括以下项中的一些或全部:主IP 100、检查器IP 200、ECC编码器300、故障收集电路600、错误检测电路450、第一延迟电路720、第二延迟电路740、控制电路800、总线组件1100、复制的总线组件1200、ECC编码器1300、ECC解码器1400、检查器电路1500、故障收集电路1600、第一延迟电路1720、第二延迟电路1740、处理器2100、传感器单元2200、通信模块2300、驱动控制单元2400、自主驾驶单元2500和/或用户界面2600)。例如,处理电路更具体地可以包括但不限于中央处理单元(CPU)、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)、片上***(SoC)、可编程逻辑单元、微处理器、专用集成电路(ASIC)等。在一些示例实施例中,处理电路可以包括:存储指令程序的非暂时性计算机可读存储设备或存储器,例如,固态驱动器(SSD);以及处理器,其被配置为执行指令程序以实现根据任何示例实施例的***中的任何一些或全部的功能。将理解,如本文所述,被描述为“实现”元件(例如,主IP 100、检查器IP 200等)的元件(例如,处理电路、数字电路等)将被理解为实现所述实现的元件的功能(例如,主IP 100的功能、检查器IP 200的功能等)。
应用了根据本发明构思的一些示例实施例的电子***10和20的驾驶辅助***2000可以检测到99%或以上的单点故障,并且还可以减小设计面积。
尽管已经参考本发明构思的示例实施例具体示出和描述了本发明构思,但是应当理解,在不脱离所附权利要求的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。

Claims (20)

1.一种电子***,包括:
主知识产权IP,包括第一数据路径和第一控制信号路径;
检查器IP,包括第二控制信号路径;以及
错误检测电路,被配置为:
通过对由所述主IP通过所述第一数据路径输出到所述错误检测电路的输出数据执行纠错码ECC解码,来检测数据错误,并且
基于以下项来检测控制信号的错误:
第一信号,由所述主IP通过所述第一控制信号路径输出到所述错误检测电路,
第二信号,由所述检查器IP通过所述第二控制信号路径输出到所述错误检测电路。
2.根据权利要求1所述的电子***,其中,所述错误检测电路包括:
ECC解码器,被配置为对所述输出数据执行所述ECC解码以检测数据错误,并响应于检测到所述数据错误而输出数据错误检测信号;以及
检查器电路,被配置为基于所述第一信号和所述第二信号来检测所述控制信号的错误,并且响应于检测到所述控制信号的错误而进一步输出控制信号错误检测信号。
3.根据权利要求2所述的电子***,还包括:
故障收集电路,被配置为:
从所述ECC解码器接收所述数据错误检测信号,
从所述检查器电路接收所述控制信号错误检测信号,以及
响应于所述数据错误检测信号和所述控制信号错误检测信号,选择性地输出关于所述电子***的故障检测信号。
4.根据权利要求1所述的电子***,其中,
所述第一控制信号路径被配置为基于输入到所述主IP的第三信号来输出所述第一信号,以及
所述第二控制信号路径被配置为基于第四信号输出所述第二信号,所述第四信号被输入到所述检查器IP并且相对于所述第三信号延迟特定的时钟周期,并且
其中,所述错误检测电路被配置为通过将第五信号与所述第二信号进行比较来检测所述控制信号的错误,其中,所述第五信号相对于所述第一信号延迟所述特定的时钟周期。
5.根据权利要求4所述的电子***,还包括:
第一延迟电路,被配置为通过将所述第三信号延迟所述特定的时钟周期来生成所述第四信号;以及
第二延迟电路,被配置为通过将所述第一信号延迟所述特定的时钟周期来生成所述第五信号。
6.根据权利要求1所述的电子***,还包括:
ECC编码器,被配置为:
通过对输入数据执行ECC编码来生成已编码数据,以及
将所述已编码数据提供给所述主IP。
7.根据权利要求6所述的电子***,其中,所述已编码数据包括所述输入数据和要基于所述输入数据生成的检查器数据。
8.根据权利要求1所述的电子***,其中,所述第二控制信号路径包括与所述第一控制信号路径的电路元件相同的电路元件。
9.根据权利要求1所述的电子***,其中,所述检查器IP还包括第二数据路径,所述第二数据路径是在所述第一数据路径被复制并且然后所有输入被绑定之后,通过边界优化而生成的。
10.根据权利要求9所述的电子***,其中,在所述第二数据路径中,所述第二数据路径的输入和依赖于所述输入的所述第二数据路径的输出被省略。
11.根据权利要求9所述的电子***,其中,
所述电子***被实现为片上***,以及
所述第二数据路径在所述片上***的芯片上占据的电路面积小于所述第一数据路径在所述片上***的芯片上占据的电路面积。
12.根据权利要求1所述的电子***,其中,所有所述主IP、所述检查器IP和所述错误检测电路是被配置为在一个时钟域中操作的电路。
13.一种检测电子***的故障的方法,所述电子***包括第一知识产权IP和第二IP,所述方法包括:
通过对从所述第一IP的第一数据路径输出的输出数据执行纠错码ECC解码来检测输入数据的错误;以及
基于从所述第一IP的第一控制信号路径输出的第一信号和从所述第二IP的第二控制信号路径输出的第二信号来检测控制信号的错误。
14.根据权利要求13所述的方法,其中,检测所述控制信号的错误包括:
通过将所述第一信号延迟特定的时钟周期来生成第三信号;以及
基于对所述第三信号与所述第二信号进行比较,输出控制信号错误检测信号。
15.根据权利要求14所述的方法,还包括:
基于第四信号,由所述第一IP通过所述第一控制信号路径来输出所述第一信号;
通过将所述第四信号延迟所述特定的时钟周期来生成第五信号;以及
基于所述第五信号,由所述第二IP通过所述第二控制信号路径来输出所述第二信号。
16.根据权利要求13所述的方法,还包括:
通过对所述输入数据执行ECC编码来产生已编码数据;以及
基于所述已编码数据,由所述第一IP通过所述第一数据路径来输出所述输出数据。
17.根据权利要求13所述的方法,其中,所述第二IP还包括第二数据路径,所述第二数据路径是在所述第一数据路径被复制并且然后所有输入被绑定之后,通过边界优化而生成的。
18.根据权利要求17所述的方法,其中,在所述第二数据路径中,所述第二数据路径的输入和依赖于所述输入的所述第二数据路径的输出被省略。
19.一种片上***,包括:
纠错码ECC编码器,被配置为通过对输入数据执行ECC编码来生成已编码数据;
主知识产权IP,被配置为接收所述已编码数据和第一控制信号,并且基于所述已编码数据通过第一数据路径将输出数据输出,并基于所述第一控制信号通过第一控制信号路径输出第二控制信号;
第一延迟电路,被配置为通过将所述第一控制信号延迟特定的时钟周期来生成第三控制信号;
检查器IP,被配置为基于所述第三控制信号通过第二控制信号路径来输出第四控制信号;
ECC解码器,被配置为通过对所述输出数据执行ECC解码来输出数据错误检测信号;
第二延迟电路,被配置为通过将所述第二控制信号延迟所述特定的时钟周期来生成第五控制信号;以及
检查器电路,被配置为通过将所述第四控制信号与所述第五控制信号进行比较来检测控制信号的错误。
20.根据权利要求19所述的片上***,还包括:
故障收集电路,被配置为响应于从所述ECC解码器接收的所述数据错误检测信号和从所述检查器电路接收的控制信号错误检测信号,输出关于所述片上***的故障检测信号。
CN202010713686.4A 2019-11-14 2020-07-22 电子***及其故障检测方法、片上***和总线*** Pending CN112799871A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0146178 2019-11-14
KR1020190146178A KR20210058566A (ko) 2019-11-14 2019-11-14 전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템

Publications (1)

Publication Number Publication Date
CN112799871A true CN112799871A (zh) 2021-05-14

Family

ID=75683975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010713686.4A Pending CN112799871A (zh) 2019-11-14 2020-07-22 电子***及其故障检测方法、片上***和总线***

Country Status (5)

Country Link
US (2) US11204837B2 (zh)
KR (1) KR20210058566A (zh)
CN (1) CN112799871A (zh)
DE (1) DE102020118811A1 (zh)
SG (1) SG10202009822VA (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116125853A (zh) * 2022-11-28 2023-05-16 地平线(上海)人工智能技术有限公司 集成电路的安全控制方法、装置、存储介质及电子设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719514A (en) * 1995-03-31 1998-02-17 Ando Electric Co., Ltd. Delay circuit compensating for variations in delay time
US7085959B2 (en) 2002-07-03 2006-08-01 Hewlett-Packard Development Company, L.P. Method and apparatus for recovery from loss of lock step
US7278080B2 (en) * 2003-03-20 2007-10-02 Arm Limited Error detection and recovery within processing stages of an integrated circuit
JP4317212B2 (ja) * 2003-03-20 2009-08-19 アーム・リミテッド 集積回路の処理段における系統的及び確率的誤り検出及び復旧
US7260001B2 (en) * 2003-03-20 2007-08-21 Arm Limited Memory system having fast and slow data reading mechanisms
WO2004084233A1 (en) * 2003-03-20 2004-09-30 Arm Limited Momory system having fast and slow data reading mechanisms
US8185812B2 (en) * 2003-03-20 2012-05-22 Arm Limited Single event upset error detection within an integrated circuit
US8650470B2 (en) * 2003-03-20 2014-02-11 Arm Limited Error recovery within integrated circuit
US7496786B2 (en) 2006-01-10 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for maintaining lock step operation
WO2009040879A1 (ja) 2007-09-25 2009-04-02 Fujitsu Limited 情報処理装置及び制御方法
EP2537091A4 (en) 2010-02-16 2014-08-06 Freescale Semiconductor Inc DATA PROCESSING METHOD, DATA PROCESSOR, AND APPARATUS COMPRISING DATA PROCESSOR
US9118351B2 (en) 2012-02-15 2015-08-25 Infineon Technologies Ag System and method for signature-based redundancy comparison
DE102012024818A1 (de) 2012-03-06 2013-09-12 Conti Temic Microelectronic Gmbh Verfahren zur Verbesserung der funktionalen Sicherheit und Steigerung der Verfügbarkeit eines elektronischen Regelungssystems sowie ein elektronisches Regelungssystem
JP2014052971A (ja) * 2012-09-10 2014-03-20 Toshiba Corp 半導体集積回路
US9417945B2 (en) * 2014-03-05 2016-08-16 International Business Machines Corporation Error checking and correction for NAND flash devices
US10298271B2 (en) 2015-02-03 2019-05-21 Infineon Technologies Ag Method and apparatus for providing a joint error correction code for a combined data frame comprising first data of a first data channel and second data of a second data channel and sensor system
JP2016208164A (ja) * 2015-04-20 2016-12-08 ソニー株式会社 通信装置、通信システム、および通信方法
EP3085596B1 (en) 2015-04-20 2017-11-29 Autoliv Development AB A vehicle safety electronic control system
DE102016102259A1 (de) 2016-02-10 2017-08-10 Hella Kgaa Hueck & Co. Rechner- und Funktionsarchitektur zur Erhöhung der Ausfallsicherheit einer Hilfskraftlenkung
KR102647418B1 (ko) * 2016-06-23 2024-03-13 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US9983930B2 (en) 2016-07-28 2018-05-29 Qualcomm Incorporated Systems and methods for implementing error correcting code regions in a memory
JP2019061392A (ja) 2017-09-26 2019-04-18 ルネサスエレクトロニクス株式会社 マイクロコントローラ及びマイクロコントローラの制御方法
DE102017218643A1 (de) 2017-10-19 2019-04-25 Volkswagen Aktiengesellschaft Funktionsmodul, Steuereinheit für ein Betriebsassistenzsystem und Arbeitsvorrichtung

Also Published As

Publication number Publication date
US11614996B2 (en) 2023-03-28
US20220093470A1 (en) 2022-03-24
DE102020118811A1 (de) 2021-05-20
US20210149765A1 (en) 2021-05-20
SG10202009822VA (en) 2021-06-29
US11204837B2 (en) 2021-12-21
KR20210058566A (ko) 2021-05-24

Similar Documents

Publication Publication Date Title
US11288145B2 (en) Workload repetition redundancy
US11409557B2 (en) Buffer checker for task processing fault detection
KR102094878B1 (ko) 반도체 메모리 장치 및 동작 방법
EP2639699B1 (en) Method and system for fault containment
US9641809B2 (en) Circuit arrangement and method for processing a digital video stream and for detecting a fault in a digital video stream, digital video system and computer readable program product
US20090024775A1 (en) Dual core architecture of a control module of an engine
CN108108262B (zh) 具有检查所选择的存储器访问的硬件检查单元的集成电路
US11614996B2 (en) Electronic systems, fault detecting methods thereof, system on chips, and bus systems
US20240231981A1 (en) Verifying processing logic of a graphics processing unit
US20240045854A1 (en) Method for checking a processing of payload data
US11314513B2 (en) Circuit for verifying the content of registers
US20240129364A1 (en) Gateway for connection to a host processor and multiple slaves and method for operating the gateway
US11797306B2 (en) Circuit for verifying the content of registers
CN117896038A (zh) 与主处理器和多个从设备连接的网关和运行该网关的方法
JP2024502313A (ja) 駆動パラメータを計算するためのデバイスおよび方法
GB2613222A (en) Buffer checker
IT201900007398A1 (it) Procedimento di sicurezza funzionale, system-on-chip, dispositivo e veicolo corrispondenti
CN117215908A (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