一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

半导体器件的制作方法

2021-11-09 20:23:00 来源:中国专利 TAG:


1.本公开涉及半导体器件。


背景技术:

2.自动驾驶车辆中安装的半导体器件需要是高度可靠的。另一方面,由于宇宙射线或物理劣化,半导体器件可能会执行无意的操作。这意味着在半导体器件中可能发生故障。由于不可能防止在半导体器件中发生的所有故障,因此需要检测已发生的故障。
3.用于检测在半导体器件中发生的故障的一个技术是被称为锁步的技术。在该技术中,使用可以实现相同功能的两个电路块,并且每个电路块在特定的定时进行操作。在对两个电路块的处理完成之后,比较两个电路块的处理结果。
4.以下列出了所公开的技术。
5.[专利文献1]日本未审查专利申请公开号2020

4108
[0006]
专利文献1公开了用于执行软件锁步(swls)的半导体器件。专利文献1中所公开的半导体器件包括cpu 10、cpu 20、cpu 230和存储器260。在swls操作期间,cpu 10和cpu 20中的每一个读取针对swls的、被存储在存储器中的程序和数据。cpu 10和cpu 20中的每一个执行针对swls的程序,来将执行结果写入存储器260中。cpu 230从存储器260中读取cpu 10的执行结果和cpu 20的执行结果,并且将它们进行比较。


技术实现要素:

[0007]
专利文献1中公开的用于执行swls的半导体器件可以使得cpu 10和cpu 20分别执行不同的处理。因此,当swls操作和非swls操作被混合时,执行swls的半导体器件具有可以有效地利用硬件资源(cpu 10和cpu 20)的优点。
[0008]
然而,在swls操作期间,cpu 10和cpu 20中的每一个从存储器260读取针对swls的程序和数据,并且将执行结果写入存储器260中。此外,cpu 230从存储器260读取cpu 10的执行结果和cpu 20的执行结果。即,在swls操作期间,存在如下问题:访问存储器260所需的总线带宽增加。
[0009]
从本说明书的描述和附图,其他目的和新特征将是明显的。
[0010]
根据一个实施例的半导体器件执行软件锁步(swls)。半导体器件包括:第一电路组,包括在第一地址空间中待被操作的第一知识产权(ip)、第一总线以及经由第一总线而耦合到第一ip的第一存储器;第二电路组,包括在第二地址空间中待被操作的第二ip、第二总线以及经由第二总线而耦合到第二ip的第二存储器;可连接到第三存储器的第三总线;以及与第一总线至第三总线耦合的传输控制电路,并且该传输控制电路包括比较器。当swls被执行时,传输控制电路将针对swls的程序从第三存储器传输到第一存储器和第二存储器。第一ip执行针对swls的、被存储在第一存储器中的程序,以将第一执行结果存储在第一存储器中。第二ip执行针对swls的、被存储在第二存储器中的程序,以将第二执行结果存储在第二存储器中。传输控制电路从第一存储器和第二存储器读取第一执行结果和第二执
行结果,并且利用比较器来对第一执行结果与第二执行结果进行比较。第二电路组将访问地址从第二ip转换到第二存储器,使得在第二地址空间中被分配给第二存储器的地址与第一地址空间中被分配给第一存储器的地址相同。
[0011]
根据一个实施例,可以减少在swls操作期间,访问存储器所需的总线带宽。
附图说明
[0012]
图1是示出了根据第一实施例的半导体器件的配置示例的框图。
[0013]
图2是示出了根据第一实施例的半导体器件的软件锁步(swls)操作的示例的流程图。
[0014]
图3是示出了根据第一实施例的修改的半导体器件的swls操作的示例的流程图。
[0015]
图4是示出了根据第二实施例的半导体器件的配置示例的框图。
[0016]
图5是示出了根据第三实施例的半导体器件的配置示例的框图。
具体实施方式
[0017]
在下文中,将参考附图来详细描述实施例。在说明书和附图中,相同或对应的组件由相同的附图标记表示,并且省略其重复描述。在附图中,为了便于描述,配置可能被省略或简化。
[0018]
第一实施例
[0019]
图1是示出了根据第一实施例的半导体器件1的配置示例的框图。如图1所示,半导体器件1包括中央处理单元(cpu)11、第一电路组12、第二电路组13、第三总线14和传输控制电路15。第一电路组12包括第一知识产权(ip)121、第一总线122和第一存储器123。第二电路组13包括第二ip 131、第二总线132和第二存储器133。
[0020]
在第一实施例中,第一电路组12和第二电路组13执行软件锁步(swls)。在swls中,针对swls的相同程序由第一ip 121和第二ip 131执行,并且第一ip 121的执行结果和第二ip 131的执行结果被比较。即,swls指的是如下的处理,在该处理中,通过由多个ip执行具有相同结果的程序、并且确认多个ip的执行结果相同,来检测半导体器件中发生的故障。
[0021]
附加地,在第一实施例中,在第一电路组12和第二电路组13正在执行与swls有关的一系列处理时的操作被表示为swls操作。另一方面,在第一电路组12和第二电路组13未执行与swls有关的一系列处理时的操作被表示为非swls操作。
[0022]
第一存储器123和第二存储器133是诸如例如静态随机存取存储器(sram)的存储器。在第一实施例中,第一存储器123和第二存储器133被描述为分别独立于第一ip 121和第二ip 131而提供的配置,但是本公开不限于此。即,第一存储器123和第二存储器133可以分别内置在第一ip 121和第二ip 131中。
[0023]
此外,半导体器件1被连接到第三存储器2。具体地,第三存储器2被连接到半导体器件1中的第三总线14。第三存储器2是诸如例如双倍数据速率同步动态随机存取存储器(ddr

sdram)的存储器。在第一实施例中,第三存储器2被描述为在半导体器件1的外部,但是本公开不限于此。即,第三存储器2可以在半导体器件1内部。
[0024]
cpu 11被连接到第一ip 121、第二ip 131、第二总线132和传输控制电路15。在swls操作期间,cpu 11控制第一ip 121、第二ip 131和传输控制电路15的操作。
[0025]
cpu 11执行如下设置,该设置用于使传输控制电路15将针对swls的程序和数据从第三存储器2传输到第一存储器123和第二存储器133。例如通过以下来执行设置:将第三存储器2的地址存储在传输控制电路15中的、用于存储传输源地址的寄存器中,并且将第一存储器123和第二存储器133的地址存储在传输控制电路15中的用于存储传输目的地地址的寄存器中。之后,cpu 11向传输控制电路15传送激活请求,该激活请求用于使传输控制电路15开始传输针对swls的程序和数据。
[0026]
此外,在cpu 11检测到传输控制电路15已完成针对swls的程序和数据的传输之后,cpu 11向第一ip 121和第二ip 131中的每一个传送激活请求,激活请求用于使第一ip 121和第二ip 131中的每一个执行针对swls的程序和数据。由第一ip 121执行针对swls的程序的执行结果作为第一执行结果被存储在第一存储器123中。由第二ip 131执行针对swls的程序的执行结果作为第二执行结果被存储在第二存储器133中。
[0027]
此外,在cpu 11检测到第一ip 121和第二ip 131已完成针对swls的程序的执行之后,cpu 11向传输控制电路15传送激活信号,激活信号用于使传输控制电路15读取第一存储器123中存储的第一执行结果以及第二存储器133中存储的第二执行结果并且对它们进行比较。
[0028]
附加地,cpu 11将第一值或第二值设置在第二总线132中所包括的操作模式设置寄存器134中,第一值指示swls待被执行,第二值指示swls将不被执行。稍后将描述操作模式设置寄存器134的细节。
[0029]
第一ip 121被连接到cpu 11和第一总线122。第一总线122被连接到第一存储器123。第一ip 121在第一地址空间中操作。在第一地址空间中,预定地址被分配给第一存储器123。第一ip 121使用在第一地址空间中被分配给第一存储器123的地址来访问第一存储器123。
[0030]
此外,第一ip 121基于cpu 11的控制来读取并执行第一存储器123中存储的针对swls的程序。此时,第一ip 121读取第一存储器123中存储的针对swls的数据并且根据针对swls的程序中写入的地址,将通过执行针对swls的程序而生成的数据写入第一存储器123中。通过执行针对swls的程序而生成的数据包括第一ip 121对针对swls的程序的执行结果,即,第一执行结果。
[0031]
第二ip 131被连接到cpu 11和第二总线132。此外,第二总线132被连接到第二存储器133。第二ip 131在第二地址空间中操作。在第二地址空间中,预定地址被分配给第二存储器133。第二ip 131使用在第二地址空间中被分配给第二存储器133的地址来访问第二存储器133。
[0032]
此外,第二ip 131基于cpu 11的控制来读取并执行第二存储器133中存储的针对swls的程序。此时,第二ip 131读取第二存储器133中存储的针对swls的数据,并且根据针对swls的程序中写入的地址,将通过执行针对swls的程序而生成的数据写入第二存储器123中。通过执行针对swls的程序而生成的数据包括第二ip 131对针对swls的程序的执行结果,即,第二执行结果。
[0033]
第二总线132还包括操作模式设置寄存器134和地址转换电路135。指示swls待被执行的第一值或指示swls不被执行的第二值被设置在操作模式设置寄存器134中。如上所述,第一值和第二值由cpu 11来设置。
[0034]
地址转换电路135基于操作模式设置寄存器134中设置的值来确定是否将访问地址从第二ip 131转换到第二存储器133。更具体地,当第一值被设置在操作模式设置寄存器134中时,地址转换电路135将访问地址从第二ip 131转换到第二存储器133,使得在第二地址空间中被分配给第二存储器133的地址与在第一地址空间中被分配给第一存储器123的地址相同。另一方面,当第二值被设置在操作模式设置寄存器134中时,地址转换电路135不将访问地址从第二ip 131转换到第二存储器133。
[0035]
针对swls的程序被写入,以由第一ip 121执行。即,被写入在针对swls的程序中的、用于数据访问的地址对应于在第一地址空间中分配给第一存储器123的地址。在swls操作期间,根据被写入在针对swls的程序中的地址,第一ip 121需要访问第一存储器123,并且第二ip 131需要访问第二存储器133。然而,在swls操作中,由于第一ip 121和第二ip 131执行为第一ip 121而编写的针对swls的相同程序,因此第二ip 131无法根据被写入在针对swls的程序中的地址来访问第二存储器133。
[0036]
在第一实施例中,当第一电路组12和第二电路组13执行swls时,cpu 11将指示swls待被执行的第一值设置在操作模式设置寄存器134中。当第一值被设置在操作模式设置寄存器134中时,地址转换电路135将访问地址从第二ip 131转换到第二存储器133,使得在第二地址空间中被分配给第二存储器133的地址与第一地址空间中被分配给第一存储器123的地址相同。结果,即使第二ip 131执行为第一ip 121而编写的针对swls的程序,第二ip 131也可以适当地访问第二存储器133。
[0037]
如上所述,在swls操作中,第二电路组13将访问地址从第二ip 131转换到第二存储器133,使得在第二地址空间中被分配给第二存储器133的地址与第一地址空间中被分配给第一存储器123的地址相同。因此,即使针对swls的相同程序被执行,第一电路组12和第二电路组13也能够适当地执行swls。
[0038]
另一方面,在非swls操作中,第二电路组13不将访问地址从第二ip 131转换到第二存储器133。因此,处于非swls操作中的第二ip 131可以适当地访问第二存储器133。即,即使当swls操作和非swls操作被混合时,半导体器件1也会适当地操作。
[0039]
如图1所示,半导体器件1包括连接第一总线122和第二总线132而不经过传输控制电路15的路径。因此,在非swls操作中,使用该路径,第一ip 121除了可以访问第一存储器123以外,还可以访问第二存储器133,并且第二ip 131除了可以访问第二存储器133之外,还可以访问第一存储器123。附加地,半导体器件1包括连接第一总线122和第三总线14而不经过传输控制电路15的路径,以及连接第二总线132和第三总线14而不经过传输控制电路15的路径。因此,在非swls操作中,第一ip 121和第二ip 131中的每一个可以使用这些路径来访问第三存储器2。
[0040]
传输控制电路15被连接到cpu 11、第一总线122、第二总线132和第三总线14。在swls操作中,传输控制电路15传输针对swls的程序和数据、读取第一执行结果和第二执行结果并对它们进行比较。
[0041]
传输控制电路15基于cpu 11的控制来传输针对swls的程序和数据。传输控制电路15经由第三总线14来读取第三存储器2中存储的针对swls的程序和数据。传输控制电路15经由第一总线122和第二总线132,将所读取的针对swls的程序和数据传输到第一存储器123和第二存储器133。在该情况下,考虑在swls操作期间,访问地址从第二ip 131被转换到
第二存储器123,传输控制电路15传输针对swls的程序和数据,使得到第一存储器123的布置和到第二存储器的布置相同。
[0042]
此外,传输控制电路15基于cpu 11的控制来读取第一存储器123中存储的第一执行结果和第二存储器133中存储的第二执行结果。此时,第一执行结果和第二执行结果经由第一总线122和第二总线132来读取。传输控制电路15包括比较器151,并且使用比较器151来比较第一执行结果和第二执行结果。
[0043]
此后,传输控制电路15经由第三总线14来将第一执行结果存储在第三存储器2中。此外,当第一执行结果和第二执行结果彼此不一致时,传输控制电路15传送中断信号,中断信号用于向cpu 11通知第一执行结果和第二执行结果彼此不一致。
[0044]
接下来,将描述根据第一实施例的半导体器件1的swls操作。图2是示出根据第一实施例的半导体器件1的swls操作的示例的流程图。图2的流程图包括四个处理步骤s201

s204。首先,在步骤s201中,执行设置针对swls操作的地址的处理。在设置地址的处理中,cpu 11将指示swls待被执行的第一值设置在操作模式设置寄存器134中。通过设置第一值,执行将访问地址从第二ip 131到第二存储器133的转换。
[0045]
接下来,在步骤s202中,执行传输针对swls的程序和数据的处理。在传输针对swls的程序和数据的处理中,cpu 11执行如下设置,该设置使传输控制电路15将针对swls的程序和数据从第三存储器2传输到第一存储器123和第二存储器133,并且然后激活传输控制电路15,以使传输控制电路15开始传输。被激活的传输控制电路15经由第三总线14来读取第三存储器2中所存储的针对swls的程序和数据。传输控制电路15将所读取的针对swls的程序和数据经由第一总线122和第二总线132传输至第一存储器123和第二存储器133。
[0046]
此时,传输控制电路15在一次读取处理中,将针对swls的程序和数据传输到第一存储器123和第二存储器133。即,与以下情况相比,访问第三存储器3所需的总线带宽可以被减小:从第三存储器2到第一存储器123的传输以及从第三存储器2到第二存储器133的传输被单独执行的情况。附加地,在第一实施例中,由于地址转换电路135执行访问地址的转换,因此第一ip 121和第二ip 131可以执行针对swls的相同程序。结果,针对swls的程序的传输可以在一次传输处理中执行。
[0047]
接下来,在步骤s203中,执行如下处理:执行针对swls的程序。在执行针对swls的程序的处理中,cpu 11检测到通过传输控制电路15已完成针对swls的程序和数据的传输。例如,传输控制电路15将用于通知传输完成的信号传送到cpu 11,并且cpu 11接收信号,由此cpu 11可以检测到传输控制电路15的传输处理已完成。在cpu 11检测到传输控制电路15已完成针对swls的程序和数据的传输之后,cpu 11激活第一ip 121和第二ip 131,以使第一ip 121和第二ip 131执行针对swls的程序。
[0048]
被激活的第一ip 121读取并执行第一存储器123中存储的针对swls的程序。这时,第一ip 121使用在第一地址空间中被分配给第一存储器123的地址来访问第一存储器123。第一ip 121将针对swls的程序的执行结果作为第一执行结果存储在第一存储器123中。
[0049]
此外,被激活的第二ip 131读取并执行第二存储器133中存储的针对swls的程序。这时,第二ip 131使用在第二地址空间中被分配给第二存储器133的地址来访问第二存储器133。第二ip 131将针对swls的程序的执行结果作为第二执行结果存储在第二存储器133中。
[0050]
第一ip 121在其中进行操作的第一地址空间与第二ip 131在其中进行操作的第二地址空间不同。即,第一地址空间中被分配给第一存储器123的地址与第二地址空间中被分配给第二存储器133的地址不同。在swls操作中,第一ip 121和第二ip 131执行针对swls的相同程序。因此,在swls操作中,第二电路组13将访问地址从第二ip 131转换到第二存储器133,使得第二地址空间中被分配给第二存储器133的地址与第一地址空间中被分配给第一存储器123的地址相同。
[0051]
具体地,地址转换电路135确认被设置在操作模式设置寄存器134中的值。在swls操作中,由于在步骤s201中设置了指示swls待被执行的第一值,因此地址转换电路135将访问地址从第二ip 131转换到第二存储器133,使得第二地址空间中被分配给第二存储器133的地址与第一地址空间中被分配给第一存储器123的地址相同。结果,即使第二ip 131执行为第一ip 121编写的针对swls的程序,第二ip 131也可以适当地实现swls的操作。
[0052]
最后,在步骤s204中,执行对执行结果进行比较的处理。在对执行结果进行比较的处理中,cpu 11检测到第一ip 121和第二ip 131已完成针对swls的程序的执行。例如,第一ip 121和第二ip 131中的每一个向cpu 11传送用于通知针对swls的程序的执行处理完成的信号,并且cpu 11从第一ip 121接收信号并且从第二ip 131接收信号,由此cpu 11可以检测到第一ip 121和第二ip 131已完成针对swls的程序的执行处理。在cpu 11检测到第一ip 121和第二ip 131已完成针对swls的程序的执行之后,cpu 11激活传输控制电路15,以使传输控制电路15读取第一存储器123中存储的第一执行结果和第二存储器133中存储的第二执行结果并且对它们进行比较。
[0053]
被激活的传输控制电路15经由第一总线122,从第一存储器123读取第一执行结果。此外,传输控制电路15经由第二总线132,从第二存储器133读取第二执行结果。传输控制电路15使用比较器151来对第一执行结果与第二执行结果进行比较。传输控制电路15将第一执行结果经由第三总线14存储在第三存储器2中。传输控制电路15在比较两个执行结果时,在第三存储器中仅存储一个执行结果,并且因此不会增加访问第三存储器2所需的总线带宽。附加地,当第一执行结果和第二执行结果彼此不一致时,传输控制电路15向cpu 11传送中断信号,中断信号用于通知第一执行结果和第二执行结果彼此不一致。
[0054]
当步骤s204的处理完成时,swls的一系列操作完成。此后,当半导体器件1从swls操作转移到非swls操作时,cpu 11将指示swls不被执行的第二值设置在操作模式设置寄存器134中。
[0055]
如上所述,根据第一实施例,由于传输控制电路15可以通过从第三存储器2进行一次读取处理来传输针对swls的程序和数据,换言之,从第三存储器2向第一存储器123和第二存储器133进行一次传输处理,因此访问第三存储器2所需的总线带宽可以被减少。
[0056]
此外,在第一实施例中,当swls被执行时,第二电路组13将访问地址从第二ip 131转换到第二存储器133,使得第二地址空间中被分配给第二存储器133的地址与第一地址空间中被分配给第一存储器123的地址相同。结果,即使第二ip 131执行为第一ip 121编写的针对swls的程序,第二ip 131也可以适当地访问第二存储器133。
[0057]
在图1中,第一电路组12和第二电路组13被示出为具有相同的配置,该配置设置有ip、总线和存储器,但是第一电路组12和第二电路组13不一定必须具有相同的配置。即,只要第一电路组12和第二电路组13可以执行swls,它们可以具有不对称的配置。
[0058]
在图1中,第一电路组12和第二电路组13中的每一个被示出为具有设置有一个ip的配置,但是第一电路组12和第二电路组13中的每一个可以设置有多个ip。在该情况下,由于swls操作和非swls操作可以针对每个ip而被混合,因此地址转换电路135可以针对每个ip来转换访问地址。
[0059]
在图1中,操作模式设置寄存器134和地址转换电路135被示出为第二总线132中包括的配置,但是本公开不限于此。即,操作模式设置寄存器134和地址转换电路135仅需要被包括在第二电路组13中,而不必被包括在第二总线132中。例如,第二ip 131可以包括操作模式设置寄存器134和地址转换电路135。
[0060]
在图1中,操作模式设置寄存器134和地址转换电路135被示出为在第二电路组13侧的第二总线132中包括的配置,但是它们可以被包括在第一电路组12侧的第一总线122中。在该情况下,针对swls的程序可以被编写为对应于第二地址空间中被分配给第二存储器133的地址。
[0061]
在图2中,尽管针对swls操作来设置地址的处理被描述为在传输针对swls的程序和数据的处理之前执行,但是针对swls操作来设置地址的处理以及传输针对swls的程序和数据的处理的顺序可以交换。
[0062]
cpu 11可以被配置为在swls操作和非swls操作期间可被第二存储器133访问。在该情况下,无论在操作模式设置寄存器134中设置的值如何,地址转换电路135都不将访问地址从cpu 11转换到第二存储器133。
[0063]
第一实施例的修改
[0064]
接下来,将描述第一实施例的修改。在第一实施例中,尽管第一ip 121和第二ip 131被描述为执行针对swls的相同程序,但是第一ip 121和第二ip 131也可以执行针对swls的不同程序。在第一实施例的修改中,将描述当针对swls的不同程序被执行时,半导体器件1的配置和操作。
[0065]
第一ip 121执行针对swls的第一程序。针对swls的第一程序被写入为对应于第一地址空间中被分配给第一存储器123的地址。第二ip 131执行针对swls的第二程序。针对swls的第二程序被写入为对应于第二地址空间中被分配给第二存储器133的地址。尽管针对swls的第一程序和针对swls的第二程序在与以下有关的描述中不同,但是针对swls的第一程序的执行结果以及针对swls的第二程序的执行结果相同:用于访问第一存储器123的地址和用于访问第二存储器133的地址。
[0066]
此外,由于第二ip 131执行待被第二ip 131执行写入的swls的第二程序,所以不需要操作模式设置寄存器134和地址转换电路135。因此,根据第一实施例的修改的半导体器件1不包括操作模式设置寄存器134和地址转换电路135。即,在第一实施例的修改中,在swls操作期间,第二电路组13不将访问地址从第二ip 131转换到第二存储器133。
[0067]
图3是示出了根据第一实施例的修改的半导体器件1的swls操作的示例的流程图。在步骤s202a和s202b的处理中,图3的流程图与图2的流程图不同。附加地,在图2至图3的流程图中,步骤s203和s204的处理相同。
[0068]
在图3的步骤s202a中,执行传输针对swls的数据的处理。在传输针对swls的数据的处理中,传输控制电路15经由第三总线14来读取第三存储器2中存储的针对swls的数据。传输控制电路15将所读取的针对swls的数据经由第一总线122和第二总线132传输到第一
存储器123和第二存储器133。图3的步骤s202的处理与图2的步骤s202的处理的不同之处在于,仅传输针对swls的数据,而不传输针对swls的程序。
[0069]
在图3的步骤s202b中,执行传输针对swls的程序的处理。在传输针对swls的程序的处理中,传输控制电路15经由第三总线14来读取第三存储器2中存储的针对swls的第一程序,并且将所读取的针对swls的第一程序经由第一总线122传输至第一存储器123。附加地,传输控制电路15经由第三总线14来读取第三存储器2中存储的针对swls的第二程序,并且将所读取的针对swls的第二程序经由第一总线132传输到第二存储器133。
[0070]
根据第一实施例的修改,由于传输控制电路15可以通过一次传输处理,将针对swls的数据从第三存储器2传输到第一存储器123和第二存储器133,因此访问第三存储器2所需的总线带宽可以被减少。
[0071]
在以上描述中,传输控制电路15在步骤s202b中执行针对swls的第一程序和针对swls的第二程序的传输处理,但是第一ip 121和第二ip 131可以执行传输处理。在该情况下,在cpu 11检测到传输控制电路15已完成针对swls的数据的传输之后,cpu 11激活第一ip 121来使第一ip 121开始传输针对swls的第一程序,并且激活第二ip 131来使第二ip131开始传输针对swls的第二程序。
[0072]
被激活的第一ip 121将针对swls的第一程序经由连接第一总线122和第三总线14的路径,从第三存储器2传输到第一存储器123。此外,被激活的第二ip 131将针对swls的第二程序经由连接第二总线132和第三总线14的路径,从第三存储器2传输到第二存储器133。
[0073]
第二实施例
[0074]
接下来,将描述第二实施例。根据第二实施例的半导体器件与根据第一实施例的半导体器件的不同之处在于,可以在第一ip与传输控制电路之间以及第二ip与传输控制电路之间相互通信。图4是示出了根据第二实施例的半导体器件1a的配置示例的框图。如图4所示,图1中的第一电路组12、第一ip 121、第二电路组13、第二ip 131和传输控制电路15被分别更改为第一电路组12a、第一ip 121a、第二电路组13a、第二ip 131a和传输控制电路15a。
[0075]
传输控制电路15a被连接到第一ip 121a和第二ip 131a。在传输控制电路15a已完成了针对swls的程序和数据的传输处理之后,传输控制电路15a将用于使第一ip 121a执行针对swls的程序的激活请求传送到第一ip 121a,并且将用于使第二ip 131a执行针对swls的程序的激活请求传输到第二ip 131a。例如通过以下来执行这些激活请求:将用于通知传输处理已完成的信号从传输控制电路15a传送到第一ip 121a,并且将用于通知传输处理已完成的信号从传输控制电路传送到第二ip 131a。在接收到激活请求之后,第一ip 121a和第二ip 131a中的每一个执行针对swls的程序。
[0076]
在第一ip 121a和第二ip 131a已完成针对swls的程序的执行处理之后,第一ip 121a和第二ip 131a中的每一个将用于使传输控制电路15a读取第一存储器123中存储的第一执行结果和第二存储器133中存储的第二执行结果并且对它们进行比较的激活请求传送到传输控制电路15a。例如通过以下来执行这些激活请求:将用于通知执行处理完成的信号从第一ip 121a传送到传输控制电路15a,并且将用于通知执行处理完成的信号从第二ip 131a传送到传输控制电路15a。在接收到来自第一ip 121a的激活请求和来自第二ip 131a的激活之后,传输控制电路15a将第一执行结果与第二执行结果进行比较。
[0077]
如上所述,根据第二实施例,在不使用cpu 11的情况下,传输控制电路15a可以将用于使第一ip 121a执行针对swls的程序的激活请求传送到第一ip 121a,并且将用于使第二ip 131a执行针对swls的程序的激活请求传送到第二ip 131a。此外,在不使用cpu 11的情况下,第一ip 121a和第二ip 131a中的每一个可以将用于使传输控制电路15a读取第一执行结果和第二执行结果并对它们进行比较的激活请求传送到传输控制电路15a。结果,与根据第一实施例的半导体器件1相比,根据第二实施例的半导体器件1a可以显著减轻cpu 11进行中断处理的负担。具体地,随着第一电路组12a和第二电路组13a中包括的ip的数量增加,减小cpu 11上的负载的效果变得更加显著。
[0078]
上述激活请求可以包括针对传输控制电路15a、第一ip 121a或第二ip 131a的寄存器设置的处理。附加地,即使当传输控制电路15a、第一ip 121a和第二ip 131a在执行其他处理的同时接收到激活请求时,激活请求也可以被排队并且经排队的激活请求可以被稍后处理。
[0079]
第三实施例
[0080]
接下来,将描述第三实施例。根据第三实施例的半导体器件与根据第一实施例和第二实施例的半导体器件的不同之处在于,传输控制电路包括保护电路。图5是示出了根据第三实施例的半导体器件1b的配置示例的框图。如图5所示,半导体器件1b在连接第一总线122和第二总线132的路径上包括保护电路16。
[0081]
第一ip 121经由连接第一总线122和第二总线132的路径来访问第二电路组13中包括的第二存储器133。附加地,第二ip 131经由连接第一总线122和第二总线132的路径来访问第一电路组12中包括的第一存储器123。因此,第一ip 121和第二ip 131可以增加能够使用的存储器容量。
[0082]
保护电路16控制以下访问的许可或不许可:从第一ip 121到第二存储器133的访问以及从第二ip 131到第一存储器123的访问。具体地,当swls被执行时,保护电路16禁止第一ip 121经由连接第一总线122和第二总线132的路径来访问第二存储器133,并且禁止第二ip 131经由连接第一总线122和第二总线132的路径来访问第一存储器123。另一方面,当swls未被执行时,保护电路16允许第一ip 121经由连接第一总线122和第二总线132的路径来访问第二存储器133,并且允许第二ip 131经由连接第一总线122和第二总线132的路径来访问第一存储器。
[0083]
如上所述,根据第三实施例,保护电路16监视从一个电路组到另一电路组的访问,诸如从第一ip 121到第二存储器133的访问以及从第二ip 131到第一存储器123的访问,并且禁止在swls操作期间进行此类访问。由此,例如,可以避免未被检测到以下故障的问题:在swls操作期间,第一ip 121将相同数据存储在第一存储器123和第二存储器133两者中。
[0084]
保护电路16可以基于设置在操作模式设置寄存器134中的值,来确定是否正在执行swls。保护电路16还可以被配置为从cpu 11直接接收与swls是否正在被执行有关的信息。
[0085]
此外,在半导体器件1b中,经由第三总线14而不使用连接第一总线122和第二总线132的路径,第一ip 121可以访问第二存储器133,并且第二ip 131可以访问第一存储器123。然而,使用第三总线14的访问不是优选的,因为会增加访问第三总线14的竞争。
[0086]
尽管已基于实施例具体描述了本发明人做出的发明,但是不用说,本发明不限于
上述实施例,并且可以在不脱离本发明范围的情况下进行各种改变。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献