CN116560902A - 处理系统、相关集成电路和方法 - Google Patents
处理系统、相关集成电路和方法 Download PDFInfo
- Publication number
- CN116560902A CN116560902A CN202310072018.1A CN202310072018A CN116560902A CN 116560902 A CN116560902 A CN 116560902A CN 202310072018 A CN202310072018 A CN 202310072018A CN 116560902 A CN116560902 A CN 116560902A
- Authority
- CN
- China
- Prior art keywords
- bits
- register
- configuration
- signal
- processing system
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 84
- 238000000034 method Methods 0.000 title abstract description 6
- 230000015654 memory Effects 0.000 claims abstract description 192
- 238000001514 detection method Methods 0.000 claims abstract description 85
- 230000004044 response Effects 0.000 claims abstract description 74
- 238000004891 communication Methods 0.000 claims description 36
- 230000008859 change Effects 0.000 claims description 4
- 101100443251 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) DIG2 gene Proteins 0.000 description 10
- 101100041128 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rst2 gene Proteins 0.000 description 10
- 102100023882 Endoribonuclease ZC3H12A Human genes 0.000 description 8
- 101710112715 Endoribonuclease ZC3H12A Proteins 0.000 description 8
- QGVYYLZOAMMKAH-UHFFFAOYSA-N pegnivacogin Chemical compound COCCOC(=O)NCCCCC(NC(=O)OCCOC)C(=O)NCCCCCCOP(=O)(O)O QGVYYLZOAMMKAH-UHFFFAOYSA-N 0.000 description 8
- 102100040678 Programmed cell death protein 1 Human genes 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 101150022075 ADR1 gene Proteins 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 101710089372 Programmed cell death protein 1 Proteins 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100490563 Caenorhabditis elegans adr-1 gene Proteins 0.000 description 1
- 108700012361 REG2 Proteins 0.000 description 1
- 101150108637 REG2 gene Proteins 0.000 description 1
- 101100120298 Rattus norvegicus Flot1 gene Proteins 0.000 description 1
- 101100412403 Rattus norvegicus Reg3b gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开的实施例涉及处理系统、相关集成电路和方法。处理系统包括配置寄存器和具有存储配置数据位和错误检测位的存储器槽的非易失性存储器。硬件配置电路通过以下方式从非易失性存储器中顺序读取数据位以存储在相应的配置寄存器中:从当前存储器槽接收位;响应于接收到的错误检测位与计算出的错误检测位的比较,选择性地断言错误信号;将所接收的位存储到临时寄存器,在该临时寄存器中,错误信号被解除断言,而在该临时寄存器中,错误信号被断言,否则断言另一错误信号。否则,将预定配置数据存储到临时寄存器。然后将临时寄存器的内容顺序地存储到配置寄存器。响应于所述另一错误信号而生成复位信号以复位所述配置寄存器。
Description
相关申请的交叉引用
本申请要求2022年2月7日提交的意大利专利申请No.102022000002093的优先权,其内容在法律允许的最大程度上通过引用整体并入本文。
技术领域
本公开的实施例涉及用于以例如集成电路的形式管理处理系统内的配置数据的解决方案。
背景技术
在许多处理系统中,处理系统的行为,特别是其一个或多个子电路的行为,可以基于配置数据而变化。
举例来说,图1展示用于从非易失性存储器12(例如,电可擦除可编程只读存储器(EEPROM)或一次性可编程(OTP)存储器)读取此配置数据CD并将所述配置数据CD存储到处理系统10的多个寄存器112(例如,在集成电路30中实施)的可能解决方案。
具体地,在所考虑的实施例中,处理系统10包括配置为从非易失性存储器12读取配置数据CD的硬件配置电路108。例如,出于此目的,硬件配置电路108可包含数据读取电路1080,其被配置为从非易失性存储器12顺序读取配置数据CD的给定数目的位,并且生成包含从存储器12读取的给定数目的位的信号DATA。
在所考虑的示例中,硬件配置电路108还包括例如经由有限状态机(FSM)实现的控制电路1082,其被配置为控制硬件配置电路108的操作。实质上,控制电路1082实现了管理硬件配置电路108的操作的状态控制电路和被配置为将配置数据CD转发到寄存器112的调度电路。
举例来说,在所考虑的实例中,处理系统10包含复位电路116,其被配置为响应于给定事件(例如,处理系统10的通电)而生成复位信号RST。因此,响应于复位信号RST,控制电路1082可生成一个或多个控制信号CTRL,以便指示数据读取电路1080应从非易失性存储器12依序读取配置数据CD。
例如,为了将配置数据CD分配给寄存器112,例如给定数目N的寄存器REG1,……,REGN,每个寄存器REG1,……,REGN可以具有相关联的相应地址,并且控制电路1082可以生成寻址信号ADR,该寻址信号ADR用于指示应当将信号DATA的位存储到哪个寄存器。例如,为此目的,处理系统10可以包括地址解码器124,地址解码器124被配置为将信号DATA根据寻址信号ADR而存储到寄存器REG1,……,REGN之一。
例如,图1的地址解码器124用解多路复用器实现,该解多路复用器被配置为根据寻址信号ADR选择性地将信号DATA转发到寄存器REG1,……,REGN之一。
相反,在图2中,寄存器112经由总线连接到信号DATA,其中信号DATA被并行地提供给所有寄存器112,并且每个寄存器被配置为当断言相应的写入使能信号WEN1,……,WENN时存储信号DATA的位。因此,在这种情况下,地址解码器124可以被配置为根据寻址信号ADR来断言写入使能信号WEN1、……、WENN中的一个写入使能信号。在这种情况下,控制电路1082优选地还生成通用写入使能信号WEN,其中地址解码器124被配置为仅当写入使能信号WEN被控制电路1082断言时才根据寻址信号ADR来断言写入使能信号WEN1、……、WENN中的一个写入使能信号。
例如,在美国专利申请公开No.2020/0169459中公开了这样的解决方案,其在此引入作为参考。例如,在本文档中,配置数据CD以配置数据帧的形式存储,也被标识为设备配置格式(DCF),其中位的第一子集指示寄存器112的地址,例如形成更复杂的配置数据客户端的一部分,而位的第二子集指示要存储到相应寄存器112的配置数据CD。因此,以这种方式,控制电路1082可以基于包括在配置数据帧中的地址生成寻址信号ADR,从而将包括在配置数据帧中的配置数据CD传送到各个寄存器112。通常,在将配置数据CD传送到寄存器112之前,响应于复位信号RST对寄存器112进行复位。
因此,处理系统10的一个或多个电路110可以使用存储到寄存器112的配置数据CD。例如,这种配置数据CD通常是用于保证硬件行为一致的校准数据,从而补偿可能的生产过程容差。例如,这经常应用于处理系统的模拟部件的校准,例如温度传感器,模数转换器,电压基准等。例如,模拟比较器的电压监视器阈值电平可以通过用配置/校准数据调整一些电平而被“微调”到精确的预期值,所述配置/校准数据由处理系统的硬件的制造者写入。附加地或可选地,配置数据CD可以用于选择性地配置,例如激活或去激活处理系统10的给定功能。
例如,图3示出了诸如微控制器的示例性处理系统10的框图。
在所考虑的例子中,处理系统10包括通过软件指令编程的微处理器(MP)102,通常是中央处理单元(CPU)。通常,由微处理器102执行的软件存储在非易失性程序存储器(M)104中,例如闪存或EEPROM。因此,存储器104被配置为存储处理单元102的固件,其中固件包括将由微处理器102执行的软件指令。通常,非易失性存储器104还可以对应于存储器12,并且还可以用于存储配置数据CD。微处理器102通常还与易失性存储器(VM)104b相关联,例如随机存取存储器(RAM)。例如,存储器104b可用于存储临时数据。如图3所示,通常经由一个或多个存储器控制器(MC)100来执行与存储器104和/或104b的通信。存储器控制器100可集成在微处理器102中或经由通信信道(例如,处理系统10的系统总线)连接到微处理器102。类似地,存储器104和/或104b可以与微处理器102集成在单个集成电路中,或者存储器104和/或104b可以是单独的集成电路的形式并且例如经由印刷电路板的迹线连接到微处理器102。
除了微处理器102之外或作为微处理器102的替代,处理系统10可以包括一个或多个(硬件)资源/外围设备106,例如从以下各项的组中选择:
-一个或多个通信接口IF,例如用于经由通信系统20交换数据,诸如通用异步接收器/传输器(UART),串行外围接口总线(SPI),集成电路间(I2C),控制器局域网(CAN)总线和/或以太网接口;以及/或
-一个或多个模数转换器AD和/或数模转换器DA;以及/或
-一个或多个专用数字组件DC,例如硬件定时器和/或计数器,或密码协处理器;以及/或
-一个或多个模拟部件AC,例如比较器,传感器,例如温度传感器等;以及/或
-一个或多个混合信号分量MSC,例如PWM(脉宽调制)驱动器。
通常,专用数字分量DC也可以对应于集成在处理系统10中的现场可编程门阵列(FPGA)。例如,在这种情况下,存储器104还可以包括用于这种FPGA的程序数据。
例如,在微控制器的情况下,资源/外围设备106经由诸如一个或多个系统总线的适当通信系统连接到微处理器102。
例如,在这样的处理系统10中,存储到寄存器112的配置数据CD可用于影响一个或多个资源/外围设备106和/或微处理器102和/或存储器控制器100的行为。例如,配置数据CD可以包括用于一个或多个传感器的校准数据,指示PWM信号定时的配置数据,指示对给定存储器区域的访问是否被禁止的安全配置数据等。
在这方面,美国专利申请公开No.2020/0169459还公开了以下可能性:与每个配置数据帧关联的相应的错误检测和/或校正数据ECC;以及/或在配置数据CD本身中包括一个或多个错误检测数据,例如奇偶校验位,由此配置数据客户端112可以包括错误检测电路,该错误检测电路被配置为验证存储在配置数据客户端112的相应寄存器中的位。
此外,美国专利申请公开No.US2019/0258493A1公开了可以将诸如散列码的签名数据存储在用于所有配置数据CD的非易失性存储器12中,该美国专利申请公开的内容通过引用结合于此。
因此,尽管以上引用的文献公开了用于在不同级别验证配置数据CD的正确性的解决方案,但是这些解决方案是复杂的,并且可能不总是适合于某些应用,例如在低复杂性和低成本处理系统10的情况下。
在本领域中需要提供复杂性降低的解决方案来管理处理系统内的配置数据的分发。
发明内容
一个或多个实施例涉及处理系统。实施例还涉及相关的集成电路,器件和方法。
如上所述,本公开的各种实施例涉及用于管理例如集成在集成电路中的处理系统中的配置数据的分发的解决方案。具体地,在各种实施例中,处理系统包括串行非易失性存储器,该串行非易失性存储器包括给定数目K个存储器槽,其中每个存储器槽具有给定数目L个位,其中存储器槽的L个位包括第一数目的配置数据和第二数目的错误检测位,第二数目的错误检测位是根据相应的第一数目的配置数据来计算的。
在各种实施例中,所述处理系统包含给定数目N个配置寄存器和一个或多个电路,所述电路被配置为依据存储到所述配置寄存器的位值而改变操作。具体来说,每个配置寄存器具有相关联的给定单一(univocal)地址且具有P个位,其中每个配置寄存器被配置为响应于由复位电路生成的复位信号(例如响应于处理系统的通电)而将其内容复位为相应的复位值。因此,存储器槽的给定数目L个位对应于配置寄存器的给定数目P个位的给定倍数Q,其中Q=L/P且N=Q×K,其中Q个配置寄存器与每一存储器槽相关联。
在各种实施例中,所述处理系统还包含硬件配置电路,所述硬件配置电路包含给定数目的Q个临时寄存器,其中每一临时寄存器具有P个位。具体来说,所述硬件配置电路被配置为响应于所述复位信号及/或一个或多个发信号通知事件的其它触发信号而从所述非易失性存储器顺序地读取数据并将所读取的数据存储到相应的配置寄存器。为此,硬件配置电路为非易失性存储器的K个存储器槽中的每一个重复操作序列。
具体来说,在各种实施例中,硬件配置电路确定非易失性存储器的当前存储器槽的索引,并经由串行通信从非易失性存储器接收当前存储器槽的相应L个位。举例来说,出于此目的,硬件配置电路可包含数据读取电路,所述数据读取电路包含具有L个位的接收寄存器和串行通信接口,所述串行通信接口被配置为经由串行通信从非易失性存储器接收当前存储器槽的L个位,并且在已接收到相应L个位之后断言控制信号。举例来说,串行通信接口可被配置为通过向非易失性存储器传输读取请求来接收当前存储器槽的L个位,所述读取请求包含标识非易失性存储器的当前存储器槽的索引的数据。在各种实施例中,串行通信接口还生成指示非易失性存储器的当前存储器槽的索引的信号。
一旦接收到当前存储器槽的相应L个位,硬件配置电路例如使用错误检测电路来根据接收到的配置数据计算另一错误检测位,并且通过将接收到的错误检测位与计算出的错误检测位进行比较来选择性地断言错误信号。
在各种实施例中,硬件配置电路被配置为验证错误信号是否被断言,并且响应于确定错误信号被断言,断言另一错误信号。因此,另一错误信号指示已经读取的至少一个存储器槽的数据是否包括错误。具体地,在各种实施例中,硬件配置电路被配置为验证是否断言了另一错误信号,并且当解除断言另一错误信号时将接收到的L个位存储到临时寄存器。相反,当断言另一错误信号时,硬件配置电路将预定配置数据存储到临时寄存器。举例来说,出于此目的,硬件配置电路可包含控制电路,所述控制电路包含选择电路,所述选择电路被配置为将所接收的L个位或预定配置数据根据另一错误信号来提供到临时寄存器。例如,临时寄存器可以被配置为存储由选择电路响应于由串行通信接口生成的控制信号而提供的数据。
在各种实施例中,硬件配置电路接着通过提供临时寄存器中的一者的内容并经由计数器生成具有与相应配置寄存器相关联的地址的寻址信号来将Q个临时寄存器中的每一者的内容顺序地存储到相应Q个配置寄存器。举例来说,出于此目的,硬件配置电路可包含实施状态机的顺序逻辑电路,其中状态机被配置为响应于由串行通信接口生成的控制信号而顺序地增加Q个连续时钟循环的计数值,其中寻址信号对应于计数值,或通过组合计数值的位与指示当前存储器槽的索引的信号的位来确定寻址信号。
因此,在各种实施例中,在给定存储器槽的配置数据中有错误的情况下,硬件配置电路将该存储器槽和所有随后的存储器槽的预定配置数据提供给配置寄存器。因此,在各种实施例中,所述硬件配置电路可被配置为:一旦已接收到K个存储器槽的数据,便检验是否断言另一错误信号,并且生成用于复位配置寄存器的至少部分内容的另一复位信号,借此还复位已用配置数据编程的所述配置寄存器。举例来说,出于此目的,状态机可被配置为(例如)根据计数值和任选地指示非易失性存储器的当前存储器槽的索引的信号来确定是否已将所有存储器槽转移到配置寄存器。接下来,响应于确定所有存储器槽已经被传送到配置寄存器,状态机可以根据另一错误信号来断言另一复位信号。
在各种实施例中,硬件配置电路(例如选择电路)被配置为响应于确定另一错误信号被断言而将所接收的L个位的错误检测位与预定配置数据一起存储到临时寄存器,借此将针对K个存储器槽而接收的错误检测位存储到配置寄存器的预定位位置。因此,为了避免这些错误检测位经由另一复位信号而被复位,配置寄存器可被配置为响应于复位信号而复位配置寄存器的内容,以及响应于另一复位信号而复位除预定位位置之外的配置寄存器的内容。例如,以此方式,仍可读取错误检测位。举例来说,出于此目的,处理系统可包含通信接口,例如调试接口,其被配置为将配置寄存器中的一个或多个配置寄存器的内容传输到外部装置。
备选地,硬件配置电路(例如,数据读取电路)可被配置为将所接收的L个位的错误检测位存储到另一寄存器,所述另一寄存器被配置为响应于第一复位信号而被复位,并且在第二复位信号被断言时维持其内容。在这种情况下,用于提供错误检测位的配置寄存器的位可以用影子寄存器来实现,影子寄存器连接到用于存储错误检测位的另一寄存器。
附图说明
现在将参照附图描述本公开的实施例,附图仅通过非限制性示例的方式提供,其中:
图1示出了被配置为从非易失性存储器读取配置数据的处理系统的第一示例;
图2示出了被配置为从非易失性存储器读取配置数据的处理系统的第二示例;
图3示出了诸如微控制器的处理系统的示例;
图4示出了包括硬件配置电路的处理系统的实施例,该硬件配置电路被配置为从非易失性存储器读取配置数据并将该配置数据存储到寄存器;
图5示出了图4的非易失性存储器的实施例,其中非易失性存储器存储配置数据和错误检测数据;
图6示出了图4的硬件配置电路的数据读取电路的实施例;
图7示出了图4的硬件配置电路的控制电路的实施例;
图8和9示出了图7的控制电路的各种子电路的实施例;
图10示出了适于读取存储在图4的处理系统的寄存器中的配置数据的处理系统的实施例;
图11和图12示出了图4的处理系统的寄存器的另一实施例;以及
图13和图14示出了图7的控制电路的操作的实施例。
具体实施方式
在以下描述中,给出了许多具体细节以提供对实施例的透彻理解。可以在没有一个或几个具体细节的情况下,或者利用其它方法,组件,材料等来实践实施例。在其它情况下,未示出或详细描述公知的结构,材料或操作,以避免使实施例的各方面模糊。
在整个说明书中对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征,结构或特性被包括在至少一个实施例中。因此,在本说明书中各处出现的短语“在一个实施例中”或“在实施例中”不一定都指同一实施例。此外,特定特征,结构或特性可以以任何合适的方式组合在一个或多个实施例中。
本文提供的标题仅仅是为了方便,并不解释实施例的范围或含义。
在下面的图4至14中,将注意到,已经参照图1和3描述的部分,元件或部件由先前在这些图中使用的相同附图标记表示;为了不使本发明的详细描述负担过重,下面将不再重复对这些先前描述的元件的描述。
如上所述,本公开的各种实施例涉及用于管理处理系统内的配置数据的分发的解决方案。
图4示出了根据本发明的处理系统10a的实施例。具体地,处理系统10a的一般体系结构对应于参考图1到图3描述的体系结构,并且相应的描述整体适用。
具体地,同样在这种情况下,处理系统10a的集成电路30a包括:复位电路116,其被配置为响应于处理系统10a的通电而生成复位信号RST;以及多个寄存器112,例如N个寄存器REG1、……、REGN,其中每个寄存器112被配置为响应于复位信号RST而将其内容复位为相应的复位值。因此,处理系统10a的一个或多个电路110(例如,外围设备/资源106和/或微处理器102和/或存储器控制器100)可被配置为依据存储到寄存器112的配置数据而改变操作。通常,如图4中示意性示出的,复位信号RST也可以用于复位寄存器112和/或一个或多个电路110。
因此,同样在这种情况下,硬件配置电路108a被配置为响应于复位信号RST从非易失性存储器12a读取配置数据CD,并将从非易失性存储器12a读取的配置数据CD存储到寄存器112,从而重写复位值。如前所述,为了将从非易失性存储器12a读取的配置数据存储到寄存器112,硬件配置电路108a可以生成寻址信号ADR和可选的写入使能信号WEN,并且处理系统10a可以包括地址解码器124。通常,地址解码器124也可以集成在硬件配置电路108a中。此外,非易失性存储器12a相对于集成电路30a可以是外部的或内部的。
与图1和图2相比,非易失性存储器12a不仅存储寄存器112的配置数据CD,而且还存储附加的错误检测数据PD,例如一个或多个奇偶校验位。
例如,图5示出了包括存储器区域120和存储器接口电路122的非易失性存储器12a的实施例。
例如,存储器区域120可以被组织在给定数目K个存储器槽中,其中每个存储器槽具有给定数目L个位,在下文中也被表示为存储器字尺寸或页尺寸。举例来说,存储器12a可具有32,64或128位的存储器字尺寸。举例来说,在各种实施例中,存储器区域120具有K=4个存储器槽,其中L=128位。
在所考虑的实施例中,存储器接口(IF)电路122因此被配置为读取一个存储器槽的L个位,并且经由通信信道SER将具有L个位的读取数据提供给处理系统10a,特别是数据读取电路1080a。具体地,在各种实施例中,通信信道SER是串行通信信道,其中存储器接口电路122顺序地传输给定槽的L个位。因此,存储器接口电路122可以包括串行接口,例如:异步串行接口,如UART,其中存储器接口电路122响应于内部时钟信号生成串行传输信号;或者优选地同步串行接口,诸如I2C或SPI接口,其中存储器接口电路122响应于经由专用时钟线提供的时钟信号而生成串行传输信号。
通常,这种串行非易失性存储器在本领域中是公知的。例如,在该上下文中可以引用由例如STMicroelectronics生产的诸如M95010,M95020或M95040的系列M950x0的串行EEPROM,其具有SPI或I2C通信接口。
如图5所示,在各种实施例中,每个存储器槽存储给定数目M个位的错误检测数据PD,例如K=4个存储器槽的错误检测数据PD1,……,PD4,并且该槽的剩余(L-M)个位用于存储配置数据,例如K=4个存储器槽的配置数据CD1,……,CD4。
通常,给定槽的错误检测数据PD可以根据任何合适的错误检测码方案来计算,并且例如可以包括一个或多个奇偶校验位。例如,在各种实施例中,存储器槽的位数L被分成M个子串,其中每个子串具有L/M位(例如,在L=128且M=8的情况下为16位)。在这种情况下,L/M位的每个子串可以包括针对配置数据的其它(L/M-1)位计算的单个奇偶校验位。
一般来说,错误检测数据PD的L个位可与给定存储器槽的配置数据的(M-L)个位交错,或如图5中所示,配置数据和错误检测数据可布置在单独的连续位序列中。
在这方面,图6示出了硬件配置电路108a的数据读取电路1080a的实施例。
如前所述,硬件配置电路108a的数据读取电路1080a可以被配置为顺序地读取K个存储器槽中的每一个存储器槽的位。通常,在不失一般性的情况下,基于寄存器112的数目,数据读取电路1080a也可仅读取存储器12a的实际数目的存储器槽的子集。因此,数目K应被解释为实际从存储器12a传送到寄存器112的存储器槽的数目。
具体地,在各种实施例中,数据读取电路1080a包括具有L个位的接收寄存器(RR)1081和通信接口(IF)1083,通信接口(IF)1083被配置为接收给定存储器槽的L个位并将接收到的位存储到接收寄存器1081。
如上所述,实际上,存储器接口电路122可以被配置为经由串行通信协议传输给定存储器槽的L个位。因此,通信接口1083可以是串行通信接口1083,例如UART,I2C或SPI接口。在这方面,可以在存储器接口电路122和通信接口1083中实现任何合适的通信协议,以便从存储器12a读取数据。例如,数据读取电路1080a可以经由(串行)通信信道SER传输:指示要读取的K个存储器槽之一的索引的命令,并且存储器接口电路122可以作为响应经由一个或多个(物理链路)传输帧提供所请求的存储器槽的相应M位;以及/或请求传输存储器12a的所有位的命令,以及存储器接口电路122可以作为响应经由一个或多个传输帧顺序地提供K个存储器槽的位。
在各种实施例中,数据读取电路1080a可因此生成:提供存储到寄存器1081的L个位(例如128位)的信号DATA,例如最后读取的存储器槽的位;指示新的存储器槽已经被读取/存储到寄存器1081的信号LOAD_OK;可选地,指示最后读取的存储器槽的数目的信号SECT,例如具有用于指示K=4个存储器槽的索引的2位;以及可选地,指示尚未读取所有存储器槽的信号LOAD。
如前所述,硬件配置电路108a被配置为响应于复位信号RST从存储器12a读取数据。因此,数据读取电路1080a可以被配置为直接响应于复位信号RST而启动读取操作,或者间接响应于由控制电路1082a响应于复位信号RST而生成的启动信号START而启动读取操作。
如图6所示,在各种实施例中,数据读取电路1080a包括错误检测(ED)电路1086。具体地,该错误检测电路1086被配置为根据所使用的错误检测方案,基于存储到寄存器1081的配置数据CD的(L-M)位,即从非易失性存储器12a接收的最后存储器槽,根据所使用的错误检测方案来计算另外M个错误检测位。此外,错误检测电路1086将另一M个错误检测位与存储到寄存器1081的M个错误检测位进行比较。响应于确定另外M个错误检测位对应于存储到寄存器1081的M个错误检测位,错误检测电路1086将解除断言错误信号PD_ERR。此外,响应于确定另一M个错误检测位不对应于存储到寄存器1081的M个错误检测位,错误检测电路1086将断言错误信号PD_ERR。
举例来说,在各种实施例中,错误检测电路1086被配置为生成指示存储到寄存器1081(且经由信号DATA提供)的当前数据是否包含错误的单个错误信号PD_ERR。然而,特别地,在数据读取电路1080a还生成信号SECT的情况下,错误检测电路1086可以被配置为生成具有多个位的错误信号PD_ERR,以便指示K个存储器槽中的每一个的错误状态,诸如具有K个位的错误信号PD_ERR,其中相应的位与K个存储器槽中的每一个存储器槽相关联。例如,这在图6中示意性地示出,其中对于K=4个存储器槽的示例性情况,错误信号PD_ERR具有4位。
因此,如图7所示,在各种实施例中,硬件配置电路108a的控制电路1082a被配置为接收上述信号DATA和附加控制信号LOAD_OK和PD_ERR,以及可选地接收信号LOAD和/或SECT。
基于这些信号,控制电路1082a生成信号以便将信号DATA的位转发到相应的寄存器112。具体地,如前所述,在各种实施例中,每个存储器槽具有L个位的存储器字尺寸。在各种实施例中,寄存器具有对应于L的分数的P个位(在下文中也指示为寄存器字尺寸),其中存储器槽的位的数目L是用于在处理系统10a内存储配置数据的寄存器112的P个位的倍数。例如,在各种实施例中,寄存器112具有16或32位,例如P=16且L=128。
因此,在各种实施例中,控制电路不能直接将经由信号DATA接收的L个位转发到单个寄存器112,但控制电路1082a必须生成Q=L/P个写入请求以便将L个位存储到Q个寄存器112,每一写入请求具有P个位。因此,寄存器112的数目N也对应于K×Q。例如,对于P=16和L=128的示例性情况,控制电路1082a将被配置为生成Q=8个写请求,以便将信号DATA的L个位存储到Q=8个相应的寄存器112。例如,为此目的,控制电路1082a可以包括状态机1096,例如用顺序逻辑电路实现,状态机1096被配置为检测信号LOAD_OK(以及可选地信号LOAD)是否指示信号DATA包括新数据。例如,在使用信号LOAD_OK和信号LOAD的情况下,控制电路1094可以包括逻辑门1094,例如AND门,其被配置为:当信号LOAD被断言并且信号LOAD_OK被断言时,断言信号LOAD_OK';以及当信号LOAD被取消断言或信号LOAD_OK被取消断言时,取消断言信号LOAD_OK。
因此,响应于检测到信号LOAD_OK(或LOAD_OK')被断言,状态机1096可以例如响应于时钟信号CLK将计数器值CNT顺序地增加1,持续Q个时钟周期。在省略信号SECT的情况下,寻址信号ADR因此可以对应于计数值CNT。相反,如图7所示,当使用信号SECT时,计数值可以只提供寻址信号ADR的位ADR1的子集,而寻址信号ADR的剩余位可以对应于信号SECT。例如,信号SECT可以对应于寻址信号ADR的最低有效位(LSB)或最高有效位(MSB)。举例来说,在示范性实施例中,寻址信号ADR具有5个位,其中2个位由信号SECT提供且3个位ADR1由状态机1096的计数器提供,状态机1096的计数器因此循环地从0计数到(Q-1)。
如图7中所示,在各种实施例中,状态机1096还可生成(任选的)写入启用信号WEN。例如,响应于信号LOAD_OK(或LOAD_OK'),信号WEN可以被断言Q个时钟周期,其中对于Q个时钟周期的每一个时钟周期,信号ADR1(或直接信号ADR)增加1,从而指示不同寄存器112的地址。
在各种实施例中,控制电路1082a还可以包括寄存器或锁存器RSECT,其被配置为例如响应于信号LOAD_OK(或LOAD_OK')来存储信号SECT。例如,在所考虑的实施例中,所述寄存器RSECT被配置为:响应于复位信号RST将寄存器RSECT的值复位为复位值,并且响应于时钟信号CLK并且当断言信号LOAD_OK(或LOAD_OK')时存储信号SECT的值。
因此,在各种实施例中,控制电路1082a还被配置为生成具有P个位的信号DATA2,其中该信号DATA2用于提供要写入到经由寻址信号ADR选择的给定寄存器112的位(也参见图4)。例如,在各种实施例中,信号DATA的位被选择性地存储到控制电路1082a的(临时)寄存器1098,特别是Q个寄存器R1,……,RQ,每个寄存器具有P个位。因此,信号DATA的P个位的子集可以被存储到寄存器R1、……、RQ中的每一个寄存器。因此,在这种情况下,数据信号DATA2可以提供寄存器R1、……、RQ之一的P位。例如,在所考虑的实施例中,为此目的,控制电路1082a包括多路复用器1100,多路复用器1100被配置为通过根据计数值CNT(例如对应于位ADR1的位)选择寄存器R1……RQ之一的内容来生成信号DATA2。
如图7所示,在各种实施例中,信号DATA不直接提供给寄存器1098,而是通过选择电路1104处理。具体来说,在各种实施例中,选择电路1104被配置为确定数据读取电路1080a是否已经由信号PD_ERR用信号通知错误,并且:响应于确定信号PD_ERR没有发出发信号通知错误,将信号DATA提供给寄存器1098;或者响应于确定信号PD_ERR发信号通知错误,向寄存器1098提供包括预定配置数据的信号DATA'。
因此,在各种实施例中,寄存器1098可被配置为:响应于复位信号RST,将寄存器R1,……,RQ的值复位为复位值,存储响应于时钟信号CLK且当断言信号LOAD_OK(或LOAD_OK')时由选择电路1104提供的信号的值。
在这方面,如图7所示,在信号PD_ERR包括多个位的情况下,选择电路1104可以具有相关联的错误处理(EP)电路1092,其被配置为当错误信号PD_ERR发出任何错误信号时,例如当信号PD_ERR的位中的至少一个被断言时,断言单个错误信号PD_ERR'。
例如,这在图8中示出,其中错误处理电路1092包括在输入端接收错误信号PD_ERR的位的逻辑或门1106。因此,错误信号PD_ERR'可以对应于或门1106的输出处的信号,或者信号PD_ERR'可以经由在输入处接收或门1106的输出处的信号的锁存器或触发器1108来生成。例如,在所考虑的实施例中,错误处理电路1092包括置位-复位锁存器(或触发器),其在置位输入处接收OR门1106的输出处的信号,并在复位输入处接收复位信号RST。
如前所述,选择电路1104被配置为当经由信号PD_ERR用信号通知配置数据中的错误时提供包括预定配置数据的位DATA'。举例来说,如图7中所示,在各种实施例中,选择电路1104包含被配置为提供位DATA′的电路1090,和被配置为根据信号PD_ERR′提供信号DATA或信号DATA′的多路复用器1088。
在这方面,在各种实施例中,信号DATA'提供预定的配置数据。例如,图9示出了电路1090的实施例。具体地,在所考虑的实施例中,选择电路1104,特别是电路1090被配置为通过以下方式生成信号DATA':保持信号DATA的错误检测位PD的L个位;以及用复位值RV重写配置数据的其它(M-L)位。
例如,在最简单的情况下,复位值RV可以对于所有K个存储器位置是固定的,并且可以对应于例如具有设置为低的所有位的位序列。然而,电路1090还可被配置为根据存储器槽来确定复位值RV的位,例如根据指示最后存储器槽读取的信号SECT。
因此,在各种实施例中,在数据读取电路检测到从给定存储器槽读取的位中的错误的情况下,控制电路1082a将经修改的位DATA′存储到寄存器1098,并且因此经修改的位DATA′经由信号DATA2和寻址信号ADR传输到相应寄存器112。
在各种实施例中,例如通过使用组合错误信号PD_ERR',修改的位DATA'因此也将用于随后的存储器槽,即使这些存储器槽可能不包含错误。然而,这没有考虑到一个或多个存储器槽也可能已经被传送到寄存器112。
因此,在各种实施例中,一旦读取并处理了K个存储器槽,状态机1096也可生成另一复位信号RST2。例如,如图4所示,在各种实施例中,该另一复位信号RST2可用于复位寄存器112。举例来说,在图4中示出了逻辑或门1160,其在断言复位信号RST或RST2中的一者时断言组合复位信号RST′。因此,在这种情况下,一旦已经从存储器12a中读取了配置数据CD并且在任何存储器槽中检测到错误,寄存器112可以响应于复位信号RST'而被复位,从而使寄存器112达到它们的复位值。
然而,如图9所示,在各种实施例中,实际上,经修改的信号DATA'包括经由信号DATA提供的原始错误检测位PD,其应对应于相应存储器槽的错误检测位。因此,以这种方式,即使在位序列中检测到错误,也总是将错误检测位PD传送到寄存器112。实际上,如图10所示,处理系统10a可以包括通信接口118,例如调试接口,其允许读取存储到寄存器112的数据,例如用于调试目的。然而,通过生成另一个复位信号RST2,寄存器112的内容将被复位,从而也重写存储在寄存器112中的错误检测位PD。
图11在这方面示出了寄存器112a的不同实施例。
具体地,如前所述,控制电路1082a被配置为经由信号DATA2将信号DATA(或DATA')的L个位存储到各自的Q个寄存器112,每个寄存器具有P个位。例如,在图11中示出了8个寄存器REG1,……,REG8,每个寄存器例如具有16位,其可用于存储第一存储器槽的L个位。
因此,错误检测位PD将被存储到寄存器112内的预定位置。例如,当使用错误检测位PD在给定存储器槽中的示例性位置时,相应的错误检测位将被传送到最后寄存器(例如寄存器REG8)的位的给定子集。例如,配置数据CD1将被存储到寄存器REG1,……,REG7和寄存器REG8的8位的第一子集REG8a,而错误检测位PD将被存储到寄存器REG8的8位的第二子集REG8b。
因此,在各种实施例中,为了允许读取错误检测位(例如位PD1),经布置以存储配置数据CD的位的寄存器112的寄存器位被配置为响应于复位信号RST和复位信号RST′两者或(例如)响应于信号RST′而复位其内容。相反地,被安排成存储错误检测数据PD的位的寄存器112的寄存器位被配置为响应于复位信号RST而不是响应于复位信号RST'来复位它们的内容。因此,以这种方式,即使当复位信号RST2响应于存储到存储器12a的数据中的错误而复位其它寄存器位时,也保持具有存储的错误检测位PD的寄存器112的寄存器位的内容,并且通信接口118可用于读取错误检测位。
图12示出了寄存器112a的另一实施例。
具体地,在所考虑的实施例中,数据读取电路1082a包括附加的K个寄存器1110,每个寄存器具有M个位,用于存储错误检测位PD(例如位PD1,PD2,PD3和PD4)。例如,在所考虑的实施例中,电路1082a被配置为例如通过使用由寄存器RSECT提供的信号作为用于选择K个附加寄存器之一的寻址信号,将信号DATA的位序列PD(也参见图9)存储到相应的寄存器1110。例如,在所考虑的实施例中,解多路复用器1112用于通过根据信号RESCT选择性地转发信号WEN来断言寄存器1110之一的写入使能信号,由此根据信号RSECT来选择寄存器1110之一,并在断言信号WEN时存储位顺序PD。通常,信号RSECT和WEN也可以用信号SECT和LOAD_OK(或LOAD_OK')代替。因此,在所考虑的实施例中,寄存器1110被配置以响应于复位信号RST而被复位,并且当复位信号RST2被断言时维持其内容。
在所考虑的实施例中,用于提供错误检测位PD的寄存器112a的位用(例如,只读)影子寄存器来实现。在这种情况下,用于提供错误检测位PD的寄存器112a的位,例如寄存器REG8b,用寄存器(具有M位)来实现,其可以通过传输到寄存器112a的读取请求来读取,并且基于相应寄存器1110的内容来自动更新内容,例如用于存储位PD1的寄存器1110的内容被自动存储到寄存器REG8b。因此,在这种情况下,即使当响应于用于提供错误检测位PD的影子寄存器(例如REG8b)的信号RST'而执行复位时,这些寄存器的内容通过将寄存器1110的内容传送到相应寄存器112a而在下一时钟周期再次自动更新。
或者,也可以省略用于提供错误检测位PD的寄存器112a的位,例如寄存器REG8b,并且各个位可以直接连接到寄存器1110的各个位。因此,在这种情况下,可以通过向寄存器112a传输读请求来读取寄存器1110的内容,例如向寄存器REG8传输读请求,其中从寄存器REG8a中读取第一位,而从用于存储位序列PD1的寄存器1110中直接读取第二位(REG8b)。
图13中还示出了控制电路1082a,特别是状态机1096的操作的实施例。
具体地,一旦状态机1096在开始步骤4000被激活,例如在处理系统10a通电之后,状态机1096在步骤4002激活状态“复位(RESET)”。具体地,在所考虑的实施例中,状态机1096保持在状态复位,直到接收到第一存储器槽的数据为止。如前所述,数据的接收可以经由信号LOAD_OK(或由逻辑门1094生成的LOAD_OK')来发信号通知。例如,这经由步骤4004示意性地示出,其中状态机1096验证信号LOAD_OK(或LOAD_OK')是否被断言。在信号LOAD_OK(或LOAD_OK')被解除断言(验证步骤4004的输出“N”)的情况下,状态机1096返回到步骤4002。
相反,在断言信号LOAD_OK(或LOAD_OK')的情况下(验证步骤4004的输出“Y”),状态机1096进行到步骤4006,其中状态机激活状态WAIT,其中状态机1096等待单个时钟周期。通常,等待状态WAIT纯粹是可选的,并且在信号DATA(或DATA')和/或PD_ERR(或PD_ERR')和/或信号SECT分别被存储到寄存器1098和/或1108和/或RSECT的情况下是有用的。实际上,这些寄存器可直接响应于信号LOAD_OK(或LOAD_OK')而存储相应信号,例如与状态机1096的操作并行。
因此,在所考虑的实施例中,状态机1096不直接响应于复位信号RST而离开状态RESET,而是响应于信号LOAD_OK(或LOAD_OK')。然而,这并不改变操作,因为如关于图6所述,数据读取电路1080a可能已经响应于检测到复位信号RST被解除断言而开始从存储器12a读取数据。
这也在图14中示出,图14示出了也在图7中示出的主要信号的示例性波形。具体而言,一旦复位信号RST被解除断言,例如一旦信号RST为高,数据读取电路1080a就从第一存储器槽读取L个位,并且接着将所接收的位施加到信号DATA,检验位的内容且最终断言错误信号PD_ERR。此外,数据读取电路1080a断言信号LOAD_OK,由此状态机1096的状态(STATE)从状态复位前进到状态等待。
在所考虑的实施例中,状态机1096接着前进到步骤4008,其中状态机激活状态WE,其中状态机1096断言写入启用信号WEN且等待单个时钟循环。这也在图14中示出。具体地,当信号WEN第一次被断言时,信号ADR被设置为“0”,例如因为由状态机1096生成的计数值CNT被设置为“0”并且由数据读取电路1080a提供的信号SECT被设置为“0”。这意味着寄存器R1的内容被存储到与地址“0”相关联的寄存器112,例如图11所示的寄存器REG1。
在所考虑的实施例中,状态机1096然后前进到步骤4010,其中状态机激活状态CNT,其中状态机1096保持断言的写入使能信号WEN,但是将计数值CNT增加1。因此,计数值CNT和地址ADR增加1,由此寄存器R2的内容被存储到与地址“1”相关联的寄存器112,例如图11所示的寄存器REG2。
因此,状态机1096可保持在状态CNT中直到值CNT已达到值(Q-1)。例如,这经由验证步骤4012示意性地示出,其中状态机1096验证计数值CNT是否小于(Q-1)。因此,在计数值CNT小于(Q-1)的情况下,状态机1096可以返回到步骤4008/保持在状态CNT中,从而顺序地增加计数值CNT并相应地增加地址ADR,从而将存储在寄存器1098中的数据写入由寻址信号ADR指示的各个寄存器112。
相反,当计数值CNT对应于或大于(Q-1)时,状态机1096进行到步骤4014,其中状态机激活状态LINC,其中状态机解除断言写入启用信号WEN且等待单个时钟循环。
状态机1096然后在步骤4016验证是否应该处理其它存储器槽的数据,例如通过验证信号SECT是否小于数字(K-1)。例如,当应该处理另一存储器槽时(验证步骤4016的输出“Y”),例如当信号SECT小于数字(K-1)时,状态机1096进行到步骤4018,其中状态机激活停止状态STOP。具体来说,在所考虑的实施例中,状态机保持在停止状态,直到数据读取电路1080a经由信号LOAD_OK发信号通知已读取新存储器槽的位。例如,为此目的,状态机可以在步骤4020验证信号LOAD_OK(或LOAD_OK')是否被断言,并且当信号未被断言时返回到步骤4018,并且当信号被断言时返回到步骤4006。本领域技术人员将理解,图13没有具体示出计数值CNT的复位。实际上,在所考虑的实施例中,当使用3位计数器计数8个周期时,计数值CNT将自动复位到值“0”。否则,例如在步骤4006,也可以显式地复位计数值CNT。
因此,在所考虑的实施例中,步骤4002-4020仅用于通过生成寻址信号ADR(经由计数值CNT)和写入使能信号WEN来管理信号DATA或DATA'(如由选择电路1104提供的)的位到寄存器112的传送。实际上,信号DATA的位的重写由选择电路1104管理,而电流信号DATA2的选择由多路复用器1100管理。
一旦已经处理了K个存储器槽的所有位,状态机1096就可以验证是否发生了错误。在所考虑的实施例中,状态机1096可仅使用已指示存储器槽中的任一者是否含有错误的信号PD_ERR′(由错误处理电路1092生成)。例如,当信号PD_ERR仅仅用信号通知信号DATA的当前位包含错误时,错误处理电路1092可以被配置为一旦信号PD_ERR被断言就通过断言信号PD_ERR'(例如经由置位-复位触发器或锁存器1108)来生成信号PD_ERR'。
因此,在所考虑的实施例中,当已经处理了最后一个存储器槽(验证步骤4016的输出“N”)时,例如当信号SECT对应于数字(K-1)时,状态机1096进行到验证步骤4022,其中状态机验证信号PD_ERR'的逻辑电平。在信号PD_ERR'被解除断言(验证步骤4022的输出“N”)的情况下,状态机1096前进到停止步骤4026,其中状态机激活指示操作已完成的状态“结束”。相反,在断言信号PD_ERR'(验证步骤4022的输出“Y”)的情况下,状态机1096进行到步骤4024,其中状态机激活状态ERR,其中状态机1096断言信号RST2,并且接着进行到步骤4026。
这也在图14中示出,其中为第二存储器槽(SECT=“1”)的数据断言信号PD_ERR',但状态机前进到步骤ERR,从而仅在数据已被传送到最后寄存器112(例如具有相关联的地址“31”)时才断言复位信号RST2。
实际上,如上文所述,在各种实施例中,硬件配置电路仍处理所有K个存储器槽以将错误检测数据传送到寄存器112,其中寄存器112被配置为即使在断言复位信号RST2时也维持错误检测数据。
因此,前述的硬件配置电路108a具有几个优点。通常,该解决方案允许保护处理系统10a免受错误配置数据的下载的影响。在这方面,通过在错误的情况下经由复位信号RST2复位配置数据,可以避免在正确写入的寄存器和消隐的寄存器之间的可能的故障引起的失配。此外,在错误的情况下,设备可以使用默认(例如,安全)配置RV来让设备在正常状态下工作。然而,处理系统10a能够保持错误检测位PD,以便向用户提供通过读取寄存器112的相应位来找到错误源的可能性。
当然,在不违背本发明的原理的情况下,构造和实施例的细节可以相对于在此仅通过示例的方式描述和示出的内容而广泛地变化,而不由此脱离由所附权利要求限定的本发明的范围。
例如,虽然先前的解决方案使用错误检测数据PD,但是这些数据还可以包括错误校正码(ECC)位,例如根据单错误校正和双错误检测(SECDED)码来确定。例如,在这种情况下,错误检测电路1086可以用错误检测和校正电路代替,其中信号PD_ERR指示信号DATA的位是否包含不可校正的错误。
权利要求是本文提供的公开的技术教导的整体的部分。
Claims (23)
1.一种处理系统,包括:
串行非易失性存储器,包括K个存储器槽,其中每个存储器槽具有L个位,其中所述L个位包括第一数目的配置数据位和第二数目的错误检测位,所述第二数目的错误检测位是根据相应的第一数目的配置数据位来计算的;
复位电路,被配置为响应于所述处理系统的通电而生成复位信号;
N个配置寄存器,其中每个配置寄存器与单一地址相关联,并具有P个位,其中每个配置寄存器响应于所述复位信号而被复位为相应的复位值,其中每个存储器槽的所述L个位对应于所述配置寄存器的所述P个位的倍数Q,其中Q=L/P,并且N=Q×K,其中Q个配置寄存器与每个存储器槽相关联;
一个或多个电路,被配置为根据存储到所述配置寄存器的位值而改变操作;
硬件配置电路,包括Q个临时寄存器,每个临时寄存器具有P个位;
其中所述硬件配置电路被配置为响应于所述复位信号,通过对所述非易失性存储器的所述K个存储器槽中的每个存储器槽执行以下操作,来从所述非易失性存储器顺序地读取数据并且将所读取的数据存储到相应的配置寄存器:
确定所述非易失性存储器的当前存储器槽的索引,并经由串行通信从所述非易失性存储器接收所述当前存储器槽的所述L个位;
一旦已接收到所述当前存储器槽的所述L个位:
根据接收到的所述配置数据位来计算另一错误检测位,并且通过将所接收到的错误检测位与所计算出的错误检测位进行比较来选择性地断言错误信号;
验证所述错误信号是否被断言,并且响应于确定所述错误信号被断言,断言另一错误信号,由此所述另一错误信号指示任何已经读取的存储器槽的数据是否包括错误;
验证所述另一错误信号是否被断言,以及:
a)响应于确定所述另一错误信号被解除断言,将所接收的L个位存储到所述临时寄存器;以及
b)响应于确定所述另一错误信号被断言,将预定配置数据位存储到所述临时寄存器;
通过提供所述临时寄存器之一的内容并且经由计数器生成具有与相应的配置寄存器相关联的地址的寻址信号,将所述Q个临时寄存器的内容顺序地存储到相应的Q个配置寄存器;
其中所述硬件配置电路被配置为,一旦已接收到所述K个存储器槽的数据,就验证所述另一错误信号是否被断言;以及
响应于确定所述另一错误信号被断言,生成另一复位信号,所述另一复位信号用于复位所述配置寄存器的至少部分内容。
2.根据权利要求1所述的处理系统,其中所述硬件配置电路包括数据读取电路,所述数据读取电路包括:
具有L个位的接收寄存器;
串行通信接口,被配置为经由串行通信从所述非易失性存储器接收所述当前存储器槽的所述L个位,并且响应于已接收到相应的L个位而断言控制信号;以及
错误检测电路,被配置为计算所述另一错误检测位并选择性地断言所述错误信号。
3.根据权利要求2所述的处理系统,其中所述串行通信接口被配置为生成指示所述非易失性存储器的所述当前存储器槽的所述索引的信号。
4.根据权利要求3所述的处理系统,其中所述串行通信接口被配置为通过向所述非易失性存储器发送读取请求来接收所述当前存储器槽的所述L个位,所述读取请求包括标识所述非易失性存储器的所述当前存储器槽的所述索引的数据。
5.根据权利要求2所述的处理系统,其中所述硬件配置电路包括控制电路,所述控制电路包括选择电路,所述选择电路被配置为根据所述另一错误信号,将所接收的L个位或所述预定配置数据位提供到所述临时寄存器,并且其中所述临时寄存器被配置为存储由所述选择电路响应于所述控制信号而提供的数据。
6.根据权利要求2所述的处理系统,其中所述硬件配置电路包括实施状态机的顺序逻辑电路,其中所述状态机被配置为:
响应所述控制信号,顺序增加用于Q个连续时钟周期的计数值;
其中所述寻址信号对应于所述计数值。
7.根据权利要求6所述的处理系统,其中所述状态机被配置为:
根据所述计数值、以及可选地根据指示所述非易失性存储器的所述当前存储器槽的所述索引的所述信号,来确定是否已经将所有存储器槽传送到所述配置寄存器;以及
响应于确定所有存储器槽已被传送到所述配置寄存器,根据所述另一错误信号来断言所述另一复位信号。
8.根据权利要求2所述的处理系统,其中所述硬件配置电路包括实施状态机的顺序逻辑电路,其中所述状态机被配置为:
响应于所述控制信号,顺序增加用于Q个连续时钟周期的计数值;
其中所述寻址信号是通过组合所述计数值的位和指示所述当前存储器槽的所述索引的所述信号的位来确定的。
9.根据权利要求8中所述的处理系统,其中所述状态机被配置为:
根据所述计数值、以及可选地根据指示所述非易失性存储器的所述当前存储器槽的所述索引的所述信号,来确定是否已经将所有存储器槽传送到所述配置寄存器,以及
响应于确定所有存储器槽已被传送到所述配置寄存器,根据所述另一错误信号来断言所述另一复位信号。
10.根据权利要求1所述的处理系统,其中所述硬件配置电路被配置为响应于确定所述另一错误信号被断言,将所接收到的L个位的所述错误检测位与所述预定配置数据位一起存储到所述临时寄存器,其中针对所述K个存储器槽接收到的所述错误检测位被存储到所述配置寄存器的预定位位置,并且其中所述配置寄存器被配置为:
响应于所述复位信号复位所述配置寄存器的内容;以及
响应于所述另一复位信号,复位除所述预定位位置之外的所述配置寄存器的内容。
11.根据权利要求1所述的处理系统,其中所述硬件配置电路被配置为将所接收到的L个位的所述错误检测位存储到另一寄存器,其中所述另一寄存器被配置为响应于所述第一复位信号而被复位,并且当所述第二复位信号被断言时维持其内容,并且其中用于提供所述错误检测位的所述配置寄存器的所述位用影子寄存器来实施,所述影子寄存器连接到所述另一寄存器。
12.根据权利要求1所述的处理系统,进一步包括通信接口,所述通信接口被配置为将所述配置寄存器中的一个或多个配置寄存器的所述内容传输到外部装置。
13.根据权利要求1所述的处理系统,进一步包括被配置为将相应第一数目的配置数据位和相应第二数目的错误检测位存储到所述串行非易失性存储器的所述K个存储器槽中的每个存储器槽的电路。
14.根据权利要求1所述的处理系统,进一步包括用于接通所述处理系统使得所述硬件配置电路操作以从所述非易失性存储器顺序读取数据并且将所读取的数据或所述预定配置数据位存储到所述相应的配置寄存器的电路。
15.根据权利要求14所述的处理系统,进一步包括被配置为经由所述通信接口读取所述配置寄存器的内容的电路。
16.一种集成电路,包括:根据权利要求1所述的处理系统。
17.一种处理系统,包括:
非易失性存储器,包括多个存储器槽,其中每个存储器槽存储配置数据位和根据所述配置数据位计算的错误检测位;
多个配置寄存器,与每个存储器槽相关联;
其操作根据存储在所述配置寄存器中的数据而被控制的电路;
硬件配置电路,包括多个临时寄存器;
其中所述硬件配置电路被配置为:
接收来自所述存储器槽的所述配置数据位;
根据所接收的配置数据位来计算另一错误检测位;
将所接收的错误检测位与所计算的另一错误检测位进行比较;
响应于所述比较而断言错误信号,以指示所接收的配置数据位包含错误;
通过以下方式将数据存储在所述配置寄存器中:
a)响应于所述错误信号的解除断言,将接收到的配置数据位存储到所述临时寄存器;
b)响应于所述错误信号的断言,将预定配置数据位存储到所述临时寄存器;以及
c)将内容从所述临时寄存器传送到所述配置寄存器。
18.根据权利要求17所述的处理系统,进一步包括响应于所述错误信号的断言而复位所述配置寄存器的至少部分内容。
19.根据权利要求17所述的处理系统,进一步包括响应于所述处理系统的通电而复位每个配置寄存器。
20.根据权利要求17所述的处理系统,其中将数据存储在所述配置寄存器中包括将所述临时寄存器的内容顺序存储到相应配置寄存器。
21.根据权利要求17所述的处理系统,其中所述硬件配置电路包括数据读取电路,所述数据读取电路包括:
接收寄存器;
串行通信接口,被配置为经由来自所述非易失性存储器的串行通信从所述存储器槽接收数据,并且响应于此来断言控制信号;以及
错误检测电路,被配置为计算所述另一错误检测位并且选择性地断言所述错误信号。
22.根据权利要求21所述的处理系统,其中所述硬件配置电路进一步包括控制电路,所述控制电路包括选择电路,所述选择电路被配置为根据所述错误信号来将所述配置数据位或所述预定配置数据位提供到所述临时寄存器,并且其中所述临时寄存器被配置为存储由所述选择电路响应于所述控制信号而提供的数据。
23.一种集成电路,包括:根据权利要求17所述的处理系统。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102022000002093 | 2022-02-07 | ||
US18/106,117 | 2023-02-06 | ||
US18/106,117 US20230251926A1 (en) | 2022-02-07 | 2023-02-06 | Processing system, related integrated circuit and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116560902A true CN116560902A (zh) | 2023-08-08 |
Family
ID=87502553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310072018.1A Pending CN116560902A (zh) | 2022-02-07 | 2023-02-07 | 处理系统、相关集成电路和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116560902A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502932A (zh) * | 2018-05-18 | 2019-11-26 | 意法半导体(格勒诺布尔2)公司 | 处理系统、相关集成电路和方法 |
-
2023
- 2023-02-07 CN CN202310072018.1A patent/CN116560902A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502932A (zh) * | 2018-05-18 | 2019-11-26 | 意法半导体(格勒诺布尔2)公司 | 处理系统、相关集成电路和方法 |
CN110502932B (zh) * | 2018-05-18 | 2023-11-03 | 意法半导体(格勒诺布尔2)公司 | 处理系统、相关集成电路和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190272252A1 (en) | Method of processing deadlock of i2c bus, electronic device and communication system | |
US11068255B2 (en) | Processing system, related integrated circuit, device and method | |
US11513734B2 (en) | Hardware-based power management integrated circuit register file write protection | |
JP5753988B2 (ja) | エラー検出方法および1つまたは複数のメモリデバイスを含むシステム | |
CN109407969B (zh) | 在物理接口总线上检查数据完整性时最大化频率的方法及数据存储设备 | |
US10855529B2 (en) | Processing system, related integrated circuit, device and method | |
CN114328316B (zh) | Dma控制器、soc系统及基于dma控制器的数据搬运方法 | |
CN116560902A (zh) | 处理系统、相关集成电路和方法 | |
EP4141677A1 (en) | Processing system, related integrated circuit, device and method | |
CN105843766B (zh) | 用于配置串行装置的方法及设备 | |
EP4224321B1 (en) | A processing system, related integrated circuit and method | |
JP6340291B2 (ja) | 情報処理装置 | |
EP4239481B1 (en) | Processing system, related integrated circuit, device and method | |
US11836035B2 (en) | Data storage device with data verification circuitry | |
EP4296850B1 (en) | Processing system, related integrated circuit, device and method | |
US20230393931A1 (en) | Error Detection in Communications over Serial Peripheral Interfaces | |
CN116701045A (zh) | 处理系统、相关集成电路、设备和方法 | |
US20230027826A1 (en) | Processing system, related integrated circuit, device and method | |
CN118394281A (zh) | 数据读取方法、装置和芯片 | |
CN118152176A (zh) | 微控制器、控制系统及控制方法 | |
CN117253518A (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 |