专利名称:半导体集成电路的制作方法
技术领域:
本发明涉及半导体集成电路,特别涉及具有为了修正故障或缺陷而进行的通信数据包观测用的辅助功能的半导体集成电路。
背景技术:
以往,为了对在半导体集成电路内产生的故障或缺陷进行调试,对在该电路和(PU等外部的设备之间通信的数据进行观测(例如,专利文献I)。近年来,按照例如PCI(Peripheral Component Interconnect :外设部件互联)Express (以下,称为 PCIe。)等的标准,利用所谓的数据分割传输进行通信。在这样的通信的情况下,在对某一个请求进行响应之前进行下一个请求,所以,即使对通信的数据包进行观测,也很难得知请求和响应的对应,存在不能有效地进行调试的问题。例如,在专利文献2中,公开了将这样的问题的解决 作为课题的技术。专利文献I :日本特开2008-225694号公报;
专利文献2 :日本特开2011-9994号公报。
发明内容
本发明是鉴于上述那样的问题而提出的,其目的在于提供一种能够有效地进行调试的半导体集成电路。本发明的半导体集成电路包括处理部,根据所传送的数据包的内容进行数据处理;传送部,将到来的数据包根据其目的地传送到所述处理部的任意一个,其特征在于,所述传送部包括接收部,依次接收该到来的数据包;分配部,将由所述接收部接收到的数据包根据其目的地进行分配;多个存储部,分别对从所述分配部分配给自身的数据包依次进行存储;多个中继部,根据中继许可指令,分别将在所述存储部中的对应的一个中所存储的数据包向所述处理部中的对应的一个供给;输出控制部,在判别为从所述分配部分配给自身的数据包是中继许可数据包的情况下,对所述中继部中的由所述中继许可数据包指定的一个提供所述中继许可指令。此外,本发明的半导体集成电路包括处理部,根据所传送的数据包的内容进行数据处理;传送部,将到来的数据包根据其目的地传送到所述处理部的任意一个,其特征在于,所述传送部包括接收部,依次接收该到来的数据包;输出控制部,在判别为由所述接收部接收到的数据包是中继许可数据包的情况下,取得所述中继许可数据包;分配部,将由所述接收部接收到的数据包中的所述中继许可数据包以外的数据包根据其地址进行分配;多个存储部,分别依次存储从所述分配部分配给自身的数据包;多个中继部,根据中继许可指令,分别将在所述存储部中的对应的一个中所存储的数据包向所述处理部中的对应的一个供给,所述输出控制部对所述中继部中的由所述中继许可数据包指定的一个提供所述中继许可指令。根据本发明的半导体集成电路,能够有效地进行调试。
图I是表示本发明的第一实施例的半导体集成电路的结构的框图。图2是将图I的半导体集成电路与外部设备以及观测装置一同示出的框图。图3是表示图I的半导体集成电路的数据包的流的时序图。图4是将利用各数据包分析器所观测的数据包以及数据的一例以时间序列顺序示出的时序图。图5是表示本发明的第二实施例的半导体集成电路的结构的框图。
具体实施例方式以下,参照附图详细地对本发明的实施例进行说明。〈第一实施例〉
在图I中示出本发明的第一实施例的半导体集成电路I的结构。处理部2-1 2-n以及3-1 3_n (n为2以上的整数)分别根据所传送的数据包的内容进行各种数据处理。它们中的每一个能够根据来自例如外部设备20 (图2)的指示执行针对存储器23的数据存取(data access)处理。处理部2_1以及3_1经由总线4_1收发数据包。处理部2-2 2-n以及3-2 3_n也分别经由对应的总线4_2 4_n收发数据包。总线4-2 4_n 是能够按照例如 AMBA AHB(Advanced MicrocontrollerBus Architecture Adcanced High-performance Bus)、PCI(Peripheral ComponentInterconnect)总线等的总线标准进行总线存取(bus access)的并行总线。处理部输入输出14-1 14_n是能够按照例如UART(Universal AsynchronousReceiver Transmitter)、 USB (Universal Serial Bus)、 SATA(Serial AdvancedTechnology Attachment)等的通信标准进行数据通信的通信线路。变换器5-1经由总线4-1接收从处理部2-1以及3-1输出的总线存取,将其变换为能够进行队列存储的数据形式即数据包,依次供给到上游队列(UpStream QUeUe)7-l。此夕卜,变换器5-1按时间序列顺序将存储在下游队列(Downstream Queue) 8-1中的数据包取出,将其变换为总线存取,经由总线4-1向处理部2-1或者3-1供给。变换器5-2经由总线4-2接收从处理部2-2以及3_2输出的总线存取,将其变换为能够进行队列存储的数据形式即数据包,依次供给到上游队列7-2。此外,变换器5-2将从中继部6-2中继的数据包变换为总线存取,经由总线4-2供给到处理部2-1或者3-1。变换器5-3 5-n的每一个都进行与变换器5-2相同的动作。中继部6-2每当从队列输出控制部13接收中继许可指令时按时间序列顺序取出在下游队列8-2中存储的数据包的一个,向变换器5-2中继。中继许可指令是许可对在下游队列8-2中存储的数据包的一个进行中继的指令,例如,由来自外部设备20 (图2)的中继许可指示数据包提供。此外,中继部6-2在从队列输出控制部13接收了中继停止指令的情况下使在下游队列8-2中存储的数据包的中继停止。中继部6-3 6-n的每一个都进行与中继部6-2相同的动作。上游队列7-1依次存储从变换器5-1供给的数据包。上游队列7-2 7-n的每一个都进行与上游队列7-1相同的动作。下游队列8-1依次存储从分配部10供给的数据包。下游队列8-2 8-n的每一个都进行与下游队列8-1相同的动作。中继部9-2每当从队列输出控制部13接收中继许可指令时按时间序列顺序取出在上游队列7-2中存储的数据包的一个,向分配部10中继。此外,中继部9-2在从队列输出控制部13接收了中继停止指示的情况下使在上游队列7-2中存储的数据包的中继停止。中继部9-3 9-n的每一个都进行与中继部9-2相同的动作。分配部10将由PCIe_IF12接收到的数据包根据其目的地供给到下游队列8_1
8-n中的一个。选择部11将在从上游队列7-1以及中继部9-2 9-n中选择的一个中所存储的 数据包取出,将其供给到PCIe_IF12。PCIe_IF12是经由PCI-Express通信线路收发数据包的接口。PCIe_IF12能够将从选择部11供给的数据包向外部设备20 (图2)发送。此外,PCIe_IF12能够将从外部设备20到来的数据包向选择部11供给。队列输出控制部13在判别为经由总线4-1到来的针对自身的数据包是中继停止指示数据包或中继许可指示数据包(以下,将这些统称为队列控制指示数据包)的情况下,根据其内容对中继部6-2 6-n以及中继部9-2 9_n进行控制。队列输出控制部13例如能够对这些中继部发出数据包的中继停止指令以及中继许可指令。以下,将包括PCIe_IF12、分配部10、下游队列8_1 8_n、中继部6_1 6_n、队列输出控制部13的结构称为传送部。在图2中,与半导体集成电路I 一起示出其调试用的外部设备20以及观测装置31、32。外部设备20向半导体集成电路I供给调试用的数据以及指令。PCIe_IF21是用于在与半导体集成电路I的PCIe_IF12之间按照PCI-Express标准收发数据包的接口。CPU22控制外部设备20整体,例如,能够向半导体集成电路I提供调试用的指令。存储器23存储调试用的数据。数据包分析器31能够对在半导体集成电路I和外部设备20之间按照PCI-Express标准收发的数据包进行观测。数据包分析器32能够对从处理部2_1 2_n以及3-1 3-n输出的数据包进行观测。以下,参照图3对调试时的半导体集成电路I的动作进行说明。在图3中,以时间序列按照(a)PCIe_I/F下游、(b)PCIe_I/F上游、(c)下游队列、(d)上游队列、(e)总线、(f)处理部输入输出的各系列示出数据包。并且,将从外部设备20侧向半导体集成电路I侧的数据包的流称为下游,将从半导体集成电路I侧向外部设备20侧的数据包的流称为上游。以下,对半导体集成电路I在根据来自外部设备20的指示经由PCIe通信线路取得的数据向UART等通信线路传送的情况下的动作进行说明。首先,从外部设备20的CPU22对半导体集成电路I依次发送中继停止指示数据包41、动作指令数据包52、53以及54、中继许可指示数据包42。这些数据包由半导体集成电路I的PCIe_IF12依次接收。
中继停止指示数据包41是指示在下游队列8-2 8-n的每一个中存储的数据包的中继停止的数据包,将队列输出控制部13作为目的地。队列输出控制部13接收从分配部10经由下游队列8-1以及变换器5-1到达总线4-1的中继停止指示数据包41。队列输出控制部13根据中继停止指示数据包41使利用中继部6-2进行的从下游队列8-2向变换器5-2的数据包中继停止。同样,队列输出控制部13使利用中继部6-3 6-n进行的向变换器5-3 5-n的数据包中继停止。并且,队列输出控制部13对中继部
9-2 9-n的每一个发出中继许可指令,许可数据包中继。中继部9-2 9_n的每一个将在上游队列7-2 7-n中存储的数据包依次中继到分配部10。 动作指令数据包52将处理部2-2作为目的地,动作指令数据包53将处理部2_3作为目的地,动作指令数据包54将处理部2-4作为目的地。从分配部10向下游队列8-2供给动作指令数据包52并进行存储。同样地,动作指令数据包53被存储在下游队列8-3中,动作指令数据包54被存储在下游队列8-4中。这些数据包例如是对这些处理部指示向存储器23的直接存取(DMA(Direct Memory Access))的数据包。中继许可指示数据包42是许可对在下游队列8-2中存储的数据包中的例如一个进行中继的数据包,将队列输出控制部13作为目的地。中继许可指示数据包42在报头(header)内包含该目的地信息和表示自身是中继许可指示数据包的数据包识别信息,在有效载荷(pay I oad )内包含中继许可对象的队列识别号码。队列输出控制部13基于数据包识别信息判别从分配部10分配并且经由下游队列8-1以及变换器5-1到达总线4-1的数据包是否是中继许可指示数据包42。队列输出控制部13在判别为是中继许可指示数据包42的情况下,使在利用在中继许可指示数据包42中包含的队列识别号码所指定的下游队列8-2中存储的数据包的一个向变换器5-2中继。此时,中继部6-2按时间序列顺序从下游队列8-2取出一个数据包并向变换器5-2中继。此处,将动作指令数据包52向变换器5-2中继。变换器5-2经由总线4-2将动作指令数据包52供给到处理部2-2。处理部2-2根据动作指令数据包52对存储器23发出读出存取数据包62。从存储器23与读取完成通知72 —起发送读取数据82。处理部2-2经由总线4_2接收读取数据82,将其作为按照例如UART等通信标准的通信数据92从处理部输入输出14_2 (图2)向外部发送。此外,处理部2-2能够对CPU22发出通信数据92的发送完成通知。接着,从CPU22对半导体集成电路I发送中继许可指示数据包43。CPU22例如在接收了由处理部2-2发出的发送完成通知时发出中继许可指示数据包43。此外,CPU22例如在接收了来自对通信数据92的输出进行监视的监视装置(未图示)的发送完成通知时发出中继许可指示数据包43也可以。中继许可指示数据包43由半导体集成电路I的PCIe_IF12接收。中继许可指示数据包43是许可对在下游队列8-3中存储的数据包中的例如一个进行中继的数据包,将队列输出控制部13作为目的地。中继许可指示数据包43也包含目的地信息、数据包识别信息以及队列识别号码。队列输出控制部13对从分配部10经由下游队列8-1以及变换器5-1到达总线4-1的中继许可指示数据包43进行接收。队列输出控制部13根据利用中继许可指示数据包43进行的队列指定,将在下游队列8-3中存储的数据包的一个向变换器5-3中继。此处,利用中继部6-3从下游队列8-3取出动作指令数据包53并向变换器5-3中继。变换器5-3经由总线4-3将动作指令数据包53供给到处理部2-3。处理部2-3根据动作指令数据包53对存储器23发出读出存取数据包63。从存储器23与读取完成通知73 —起发送读取数据83。处理部2-3经由总线4_3接收读取数据83,将其作为按照例如USB等通信标准的通信数据93从处理部输入输出14-3 (图2)向外部发送。此外,处理部2-3能够对CPU22发出通信数据93的发送完成通知。接着,从CPU22对半导体集成电路I发送队列控制数据包44。CPU22例如在接收了由处理部2-3或者监视装置(未图示)发出的发送完成通知时发出队列控制数据包44。队列控制数据包44由半导体集成电路I的PCIe_IF12接收。队列控制数据包44是许可对存储在下游队列8-4中的数据包中的例如一个进行中继的中继许可指示数据包,将队列输出控制部13作为目的地。中继许可指示数据包44也包含目的地信息、数据包识别信息以及队列识别号码。队列输出控制部13接收从分配部10经由下游队列8-1以及变换器5-1到达了总线4-1的中继许可指示数据包44。·队列输出控制部13根据利用中继许可指示数据包44进行的队列指定,将在下游队列8-4中存储的数据包的一个向变换器5-4中继。此处,利用中继部6-4从下游队列8-4取出动作指令数据包54并向变换器5-4中继。变换器5-4经由总线4-4将动作指令数据包54供给到处理部2-4。处理部2-4根据动作指令数据包54对存储器23发出读出存取数据包64。从存储器23与读取完成通知74 一起发送读取数据84。处理部2-4经由总线4_2接收读取数据84,将其作为按照例如SATA等通信标准的通信数据94从处理部输入输出14_4 (图2)向外部发送。为了对于利用半导体集成电路I进行的上述数据转送进行调试,数据包分析器31将例如图3的(a)即PCIe_IF下游队列系列中所示的中继许可指示数据包42 44作为观测对象。此外,数据包分析器32将例如图3的(f)即处理部输入输出系列中所示的通信数据92 94作为观测对象。在将这些作为观测对象的情况下,在时间序列上按中继许可指示数据包42、通信数据92、中继许可指示数据包43、通信数据93、中继许可指示数据包44、通信数据94的顺序进行观测。在图4中,按时间序列顺序显示利用数据包分析器31以及32观测的这些数据包以及数据。在利用数据包分析器31对中继许可指示数据包42进行了观测之后,与此对应地能够利用数据包分析器32对与供给到处理部2-2的动作指令数据包52对应的通信数据92进行观测。因此,能够容易地掌握动作指令数据包52和与其对应的通信数据92的关系。同样地,也能够容易地掌握动作指令数据包53和与其对应的通信数据93的关系以及动作指令数据包54和与其对应的通信数据94的关系。如上所述,本实施例的半导体集成电路I根据从外部供给的中继停止指示数据包以及中继许可指示数据包对针对各处理部的动作指令数据包的供给时序进行调整。详细地说,半导体集成电路I即使暂时接收了多个动作指令数据包,在接收中继许可指示数据包之前也不会将这些供给到处理部。半导体集成电路I接收一个中继许可指示数据包,首先将与其对应的一个动作指令数据包供给到处理部。此外,接收了一个动作指令数据包的供给的处理部将利用与该数据包的指令对应的数据处理所得到的一个通信数据输出。半导体集成电路I在接收该一个中继许可指示数据包之后,在输出该一个通信数据之前的期间不输出其他的通信数据。因此,例如如图4所示,利用数据包分析器31 (图2)对一个中继许可指示数据包(例如,附图标记42)进行观测之后,能够利用数据包分析器32 (图2)对一个通信数据(例如,附图标记92)进行观测,所以,能够掌握一个动作指令数据包和与其对应的一个通信数据的关系。即使在利用这样的动作按照例如PCIe等通信标准进行了利用数据分割传输进行的通信的情况下,也能够容易地掌握动作指令数据包的请求和与其对应的响应数据包(本实施例的通信数据)的关系。特别是,起到比半导体集成电路I具备多个总线4-1 4-n的情况大的效果。这是因为,从各个总线4-1 4-n输出的通信数据在数据包分析器32中不会混合进行观测。此外,例如在专利文献2中所公开的技术是为了识别接收数据包而使用序列号、地址、文字串/数值的技术,存在以下的问题。被认为序列号相当于PCIe标准中的“标签”。 PCIe的标签用于仅对处理未完成的数据包以不重复的方式进行管理,所以,也存在在与处理完成的数据包之间标签重复的情况。因此,在PCIe通信的情况下,存在使用标签识别数据包困难的问题。此外,存在如下问题能够利用地址进行识别的是发送源和目的地,对于从同一发送源发送的多个数据包的每一个,不能够识别其种类。并且,为了在数据包中附加文字串/数值,在数据包内需要冗长的数据区域。但是,例如在CPU对设备进行控制的情况下,通常,在数据包内不存在冗长的数据区域。因此,在这样的情况下,也存在不能够使用文字串/数值对数据包进行识别的问题。这样,在现有技术中,在按照例如PCIe等通信标准对数据包进行通信的半导体集成电路中,为了进行调试,即使观测数据包,其识别也是困难的。因此,来自例如CPU等外部设备的请求数据包和来自半导体集成电路内的设备的响应数据包的对应很难知道,存在调试的效率降低的问题。相对于此,在本实施例的半导体集成电路I中,根据从外部供给的中继停止指示数据包以及中继许可指示数据包,对针对各处理部的动作指令数据包的供给定时进行调整,所以,不产生如现有技术那样的问题。这样,根据本实施例的半导体集成电路I,能够容易掌握来自外部的请求和与其对应的响应的关系,能够有效地进行调试。〈第二实施例〉
在图5中示出本发明的第二实施例的半导体集成电路I的结构。以下,主要对与第一实施例不同的部分进行说明。中继部6-1设置在变换器5-1和下游队列8-1之间。中继部6-1进行与第一实施例的中继部6-2相同的动作。此外,中继部9-1设置在上游队列7-1和选择部11-1之间。中继部9-1进行与第一实施例的中继部9-2相同的动作。队列输出控制部13取得由PCIe_IF12接收的中继停止指示数据包以及中继许可指示数据包。队列输出控制部13根据在这些数据包中包含的目的地信息,判别这些是将自身作为目的地的数据包。此外,队列输出控制部13根据在这些数据包中包含的数据包识别信息,判别这些数据包是中继停止指示数据包或者中继许可指示数据包。此外,队列输出控制部13根据在中继许可指示数据包中包含的队列识别号码对中继许可对象的队列进行判另U,对中继部6-1 6-n以及9-1 9_n进行控制。分配部10将由PCIe_IF12接收的数据包中的利用队列输出控制部13取得的数据包以外的数据包根据其目的地供给到下游队列8-1 8-n中的一个。以下,参照图3对调试时的半导体集成电路I的动作进行说明。首先,利用半导体集成电路I的PCIe_IF12依次接收从外部设备20的CPU22发送的中继停止指示数据包41、动作指令数据包52、53以及54、中继许可指示数据包42。中继停止指示数据包41是指示在下游队列8-1 8-n的每一个中所存储的数据包的中继停止的数据包,将队列输出控制部13作为目的地。队列输出控制部13从PCIe_IF12直接接收中继停止指示数据包41。
队列输出控制部13根据中继停止指示数据包41使利用中继部6-1进行的从下游队列8-1向变换器5-1的数据包中继停止。同样地,队列输出控制部13使利用中继部
6-2 6-n进行的向变换器5-2 5_n的数据包中继停止。动作指令数据包52存储在下游队列8-2中,动作指令数据包53存储在下游队列
8-3中,动作指令数据包54存储在下游队列8-4中。中继许可指示数据包42是许可对在下游队列8-2中存储的数据包中的例如一个进行中继的数据包,将队列输出控制部13作为目的地。队列输出控制部13从PCIe_IF12直接接收中继许可指示数据包42。队列输出控制部13根据中继许可指示数据包42将在下游队列8-2中存储的动作指令数据包52中继到变换器5-2中。变换器5-2经由总线4-2将动作指令数据包52供给到处理部2-2。处理部2-2根据动作指令数据包52对存储器23发出读取存取数据包62。处理部2-2接收从存储器23与读取完成通知72 —起发送的读取数据82,将其作为按照例如UART等通信标准的通信数据92从处理部输入输出14-2 (图2)向外部输出。半导体集成电路I在从外部设备20供给中继许可指示数据包43以及44的情况下,也进行相同的动作。这样,在本实施例的半导体集成电路I中,队列输出控制部13不经由总线4-1直接从PCIe_IF12接收中继停止指示数据包以及中继许可指示数据包。根据这样的结构,也能够对关于总线4-1的路径的数据包中继定时进行适当调整,所以,能够更加有效地进行调试。此外,队列输出控制部13从PCIe_IF12直接接收这些数据包,所以,定时调整的适应性提闻。第一以及第二实施例是动作指令数据包52、53以及54的目的地为处理部2_2、2_3以及2-4的情况下的例子,但是,并不限于此。例如,在动作指令数据包52、53以及54将处理部2-1 2-n中的一个作为目的地的情况下,利用同样的处理起到同样的效果。在第一以及第二实施例中对调试的动作进行了说明,但是,在通常动作时即不进行调试时,队列输出控制部13对中继部6-1 6-n以及9-1 9_n的每一个发出中继许可指令,许可数据包中继。附图标记说明
I半导体集成电路2-1 2-n、3-1 3-n 处理部
4-1 4_n总线
5-1 5-n变换器
6-1 6-n中继部
7-1 7-n上游队列
8-1 8-n下游队列
9-1 9-n中继部10分配部
11选择部
12PCIe_IF
13队列输出控制部(输出控制部)14-1 14-n处理部输入输出20外部装置
21PCIe_IF
22CPU
23存储器31、32数据包分析器。
权利要求
1.一种半导体集成电路,包括处理部,根据所传送的数据包的内容进行数据处理;传送部,将到来的数据包根据其目的地传送到所述处理部的任意一个,其特征在于,所述传送部包括 接收部,依次接收该到来的数据包; 分配部,将由所述接收部接收到的数据包根据其目的地进行分配; 多个存储部,分别依次存储从所述分配部分配给自身的数据包; 多个中继部,根据中继许可指令,分别将在所述存储部中的对应的一个中所存储的数据包向所述处理部中的对应的一个供给;以及 输出控制部,在判别为从所述分配部分配给自身的数据包是中继许可数据包的情况下,对所述中继部中的由所述中继许可数据包指定的一个提供所述中继许可指令。
2.如权利请求I所述的半导体集成电路,其特征在于, 所述处理部在对于从所述中继部供给的一个数据包的所述数据处理完成时发出完成通知。
3.一种半导体集成电路,包括处理部,根据所传送的数据包的内容进行数据处理;传送部,将到来的数据包根据其目的地传送到所述处理部的任意一个,其特征在于, 所述传送部包括 接收部,依次接收该到来的数据包; 输出控制部,在判别为由所述接收部接收到的数据包是中继许可数据包的情况下,取得所述中继许可数据包; 分配部,将由所述接收部接收到的数据包中的利用所述输出控制部取得的数据包以外的数据包根据其目的地进行分配; 多个存储部,分别依次存储从所述分配部分配给自身的数据包;以及多个中继部,根据中继许可指令,分别将在所述存储部中的对应的一个中所存储的数据包向所述处理部中的对应的一个供给, 所述输出控制部对所述中继部中的由所述中继许可数据包指定的一个提供所述中继许可指令。
4.如权利请求2所述的半导体集成电路,其特征在于, 所述处理部在对于从所述中继部供给的一个数据包的所述数据处理完成时发出完成通知。
全文摘要
本发明提供一种能够有效地进行调试的半导体集成电路。本发明的半导体集成电路包括分配部,将接收到的数据包根据其目的地进行分配;多个存储部,分别依次存储对自身分配的数据包;多个中继部,根据中继许可指令分别将在该存储部中的对应的一个中所存储的数据包供给到对应的一个处理部;输出控制部,在判别为分配给自身的数据包是中继许可数据包的情况下,对该中继部中的由该中继许可数据包所指定的一个提供该中继许可指令。
文档编号H04L12/70GK102970217SQ20121031739
公开日2013年3月13日 申请日期2012年8月31日 优先权日2011年9月1日
发明者小林芳树 申请人:拉碧斯半导体株式会社