JP2013054444A - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP2013054444A
JP2013054444A JP2011190716A JP2011190716A JP2013054444A JP 2013054444 A JP2013054444 A JP 2013054444A JP 2011190716 A JP2011190716 A JP 2011190716A JP 2011190716 A JP2011190716 A JP 2011190716A JP 2013054444 A JP2013054444 A JP 2013054444A
Authority
JP
Japan
Prior art keywords
packet
relay
unit
integrated circuit
semiconductor integrated
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.)
Granted
Application number
JP2011190716A
Other languages
English (en)
Other versions
JP6013711B2 (ja
Inventor
Yoshiki Kobayashi
小林  芳樹
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.)
Lapis Semiconductor Co Ltd
Original Assignee
Lapis Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lapis Semiconductor Co Ltd filed Critical Lapis Semiconductor Co Ltd
Priority to JP2011190716A priority Critical patent/JP6013711B2/ja
Priority to CN201210317396.3A priority patent/CN102970217B/zh
Priority to US13/602,153 priority patent/US9128914B2/en
Publication of JP2013054444A publication Critical patent/JP2013054444A/ja
Application granted granted Critical
Publication of JP6013711B2 publication Critical patent/JP6013711B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】デバッグを効率的に行なうことができる半導体集積回路を提供する。
【解決手段】受信されたパケットをその宛先に応じて分配する分配部と、自身に分配されたパケットを各々が順次蓄積する複数の蓄積部と、中継許可指令に応じて当該蓄積部のうちの対応する1つに蓄積されているパケットを対応する1つの処理部に各々が供給する複数の中継部と、自身に分配されたパケットが中継許可パケットであると判別した場合に当該中継部のうちの当該中継許可パケットによって指定された1つに対して当該中継許可指令を与える出力制御部と、を含む半導体集積回路。
【選択図】図1

Description

本発明は、半導体集積回路に関し、特に故障や欠陥を修正するために行われる通信パケット観測のための補助機能を有する半導体集積回路に関する。
従来より、半導体集積回路内に生じた故障や欠陥をデバッグするために、当該回路とCPU等の外部のデバイスとの間で通信されるデータを観測することが行なわれている(例えば特許文献1)。近年、例えばPCI(Peripheral Component Interconnect) Express(以下、PCIeという。)等の規格に従って、いわゆるスプリットトランザクションによる通信が行なわれている。かかる通信の場合、ある1つの要求に対する応答がなされる前に次の要求がなされるので、通信されるパケットを観測しても、要求と応答との対応がわかり難く、デバッグを効率化に行なうことができないという問題があった。例えば特許文献2には、かかる問題の解決を課題とした技術が開示されている。
特開2008−225694号公報 特開2011−9994号公報
本発明は上記した如き問題点に鑑みてなされたものであって、デバッグを効率的に行なうことができる半導体集積回路を提供することを目的とする。
本発明による半導体集積回路は、転送されたパケットの内容に応じてデータ処理を行なう処理部と、到来したパケットをその宛先に応じて前記処理部のいずれかに転送する転送部と、を含む半導体集積回路であって、前記転送部は、当該到来したパケットを順次受信する受信部と、前記受信部によって受信されたパケットをその宛先に応じて分配する分配部と、前記分配部から自身に分配されたパケットを各々が順次蓄積する複数の蓄積部と、中継許可指令に応じて、前記蓄積部のうちの対応する1つに蓄積されているパケットを、前記処理部のうちの対応する1つに各々が供給する複数の中継部と、前記分配部から自身に分配されたパケットが中継許可パケットであると判別した場合に、前記中継部のうちの前記中継許可パケットによって指定された1つに対して前記中継許可指令を与える出力制御部と、を含むことを特徴とする。
また、本発明による半導体集積回路は、転送されたパケットの内容に応じてデータ処理を行なう処理部と、到来したパケットをその宛先に応じて前記処理部のいずれかに転送する転送部と、を含む半導体集積回路であって、前記転送部は、当該到来したパケットを順次受信する受信部と、前記受信部によって受信されたパケットが中継許可パケットであると判別した場合に前記中継許可パケットを取得する出力制御部と、前記受信部によって受信されたパケットのうちの前記中継許可パケット以外のパケットをその宛先に応じて分配する分配部と、前記分配部から自身に分配されたパケットを各々が順次蓄積する複数の蓄積部と、中継許可指令に応じて、前記蓄積部のうちの対応する1つに蓄積されているパケットを、前記処理部のうちの対応する1つに各々が供給する複数の中継部と、を含み、前記出力制御部は、前記中継部のうちの前記中継許可パケットによって指定された1つに対して前記中継許可指令を与えることを特徴とする。
本発明による半導体集積回路によれば、デバッグを効率的に行なうことができる。
本発明の第1の実施例である半導体集積回路の構成を示すブロック図である。 図1の半導体集積回路を外部デバイス及び観測装置と共に示すブロック図である。 図1の半導体集積回路におけるパケットのフローを示すタイムチャートである。 各パケットアナライザによって観測されるパケット及びデータの一例を時系列順に示すタイムチャートである。 本発明の第2の実施例である半導体集積回路の構成を示すブロック図である。
以下、本発明に係る実施例について添付の図面を参照しつつ詳細に説明する。
<第1の実施例>
図1には、本発明の第1の実施例である半導体集積回路1の構成が示されている。
処理部2−1〜2−n及び3−1〜3−n(nは2以上の整数)の各々は、転送されたパケットの内容に応じて各種データ処理を行なう。これらの各々は、例えば、外部デバイス20(図2)からの指示に応じてメモリ23へのデータアクセス処理を実行することができる。処理部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 Microcontroller Bus Architecture Adcanced High-performance Bus)、PCI(Peripheral Component Interconnect)バス等のバス規格に従ってバスアクセス可能なパラレルバスである。
処理部入出力14−1〜14−nは、例えばUART(Universal Asynchronous Receiver Transmitter)、USB(Universal Serial Bus)、SATA(Serial Advanced Technology Attachment)等の通信規格に従ってデータ通信可能な通信路である。
コンバータ5−1は、処理部2−1及び3−1から出力されたバスアクセスをバス4−1を介して受信し、これをキュー蓄積可能なデータ形式すなわちパケットに変換してアップストリームキュー7−1に順次供給する。また、コンバータ5−1は、ダウンストリームキュー8−1に蓄積されているパケットを時系列順に取り出し、これをバスアクセスに変換して、バス4−1を介して処理部2−1又は3−1に供給する。
コンバータ5−2は、処理部2−2及び3−2から出力されたバスアクセスをバス4−2を介して受信し、これをキュー蓄積可能なデータ形式すなわちパケットに変換してアップストリームキュー7−2に順次供給する。また、コンバータ5−2は、中継部6−2から中継されたパケットをバスアクセスに変換して、バス4−2を介して処理部2−1又は3−1に供給する。コンバータ5−3〜5−nの各々もコンバータ5−2と同様の動作を行なう。
中継部6−2は、キュー出力制御部13から中継許可指令を受ける毎に、ダウンストリームキュー8−2に蓄積されているパケットの1つを時系列順に取り出してコンバータ5−2に中継する。中継許可指令は、ダウンストリームキュー8−2に蓄積されているパケットの1つを中継することを許可するものであり、例えば外部デバイス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に蓄積されているパケットの1つを時系列順に取り出して分配部10に中継する。また、中継部9−2は、キュー出力制御部13から中継停止指示を受けた場合には、アップストリームキュー7−2に蓄積されているパケットの中継を停止する。中継部9−3〜9−nの各々も中継部9−2と同様の動作を行なう。
分配部10は、PCIe_IF12によって受信されたパケットをその宛先に応じてダウンストリームキュー8−1〜8−nのうちの1つに供給する。
選択部11は、アップストリームキュー7−1及び中継部9−2〜9−nのうちから選択した1つに蓄積されているパケットを取り出してこれを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には、半導体集積回路1と共に、そのデバッグのための外部デバイス20及び観測装置31、32が示されている。
外部デバイス20は、デバッグのためのデータ及び指令を半導体集積回路1に供給する。
PCIe_IF21は、半導体集積回路1のPCIe_IF12との間で、PCI−Express規格に従ってパケットを送受信するためのインターフェースである。
CPU22は、外部デバイス20全体を制御し、例えば、デバッグのための指令を半導体集積回路1に与えることができる。
メモリ23は、デバッグのためのデータを記憶する。
パケットアナライザ31は、半導体集積回路1と外部デバイス20との間で、PCI−Express規格に従って送受信されるパケットを観測できる。パケットアナライザ32は、処理部2−1〜2−n及び3−1〜3−nから出力されるパケットを観測できる。
以下、図3を参照しつつ、デバッグ時における半導体集積回路1の動作について説明する。図3には、(a)PCIe_I/Fダウンストリーム、(b)PCIe_I/Fアップストリーム、(c)ダウンストリームキュー、(d)アップストリームキュー、(e)バス、(f)処理部入出力の各系列毎にパケットが時系列で示されている。なお、外部デバイス20側から半導体集積回路1側へのパケットの流れをダウンストリームと称し、半導体集積回路1側から外部デバイス20側へのパケットの流れをアップストリームと称する。以下、半導体集積回路1が、外部デバイス20からの指示に応じてPCIe通信路を介して取得したデータをUART等の通信路に転送する場合の動作について説明する。
先ず、外部デバイス20のCPU22から半導体集積回路1に対して中継停止指示パケット41、動作指令パケット52、53及び54、中継許可指示パケット42が順次送信される。これらのパケットは、半導体集積回路1のPCIe_IF12によって順次受信される。
中継停止指示パケット41は、ダウンストリームキュー8−2〜8−nの各々に蓄積されているパケットの中継停止を指示するものであり、キュー出力制御部13を宛先としている。キュー出力制御部13は、分配部10からダウンストリームキュー8−1及びコンバータ5−1を経由してバス4−1に到来した中継停止指示パケット41を受信する。
キュー制御パケット41は、中継停止指示パケット41に応じて、中継部6−2によるダウンストリームキュー8−2からコンバータ5−2へのパケット中継を停止させる。同様に、キュー制御パケット41は、中継部6−3〜6−nによるコンバータ5−3〜5−nへのパケット中継を停止させる。なお、キュー制御パケット41は、中継部9−2〜9−nの各々に対しては中継許可指令を発してパケット中継を許可する。中継部9−2〜9−nの各々は、アップストリームキュー7−2〜7−nに蓄積されたパケットを分配部10に順次中継する。
動作指令パケット52は処理部2−2を宛先とし、動作指令パケット53は処理部2−3を宛先とし、動作指令パケット54は処理部2−4を宛先とする。動作指令パケット52は、分配部10からダウンストリームキュー8−2に供給され蓄積される。同様に、動作指令パケット53はダウンストリームキュー8−3に蓄積され、動作指令パケット54はダウンストリームキュー8−4にそれぞれ蓄積される。これらのパケットは、例えば、これらの処理部に対してメモリ23への直接アクセス(DMA(Direct Memory Access))を指示するものである。
中継許可指示パケット42は、ダウンストリームキュー8−2に蓄積されているパケットのうちの例えば1つを中継することを許可するものであり、キュー出力制御部13を宛先としている。中継許可指示パケット42は、当該宛先情報と自身が中継許可指示パケットであることを示すパケット識別情報とをヘッダ内に含み、中継許可対象のキュー識別番号をペイロード内に含んでいる。
キュー出力制御部13は、分配部10から分配され、ダウンストリームキュー8−1及びコンバータ5−1を経由してバス4−1に到来したパケットが中継許可指示パケット42であるか否かをパケット識別情報に基づいて判別する。
キュー出力制御部13は、中継許可指示パケット42であると判別した場合に、中継許可指示パケット42に含まれるキュー識別番号により指定されたダウンストリームキュー8−2に蓄積されているパケットの1つをコンバータ5−2へ中継させる。この際、中継部6−2は、ダウンストリームキュー8−2から時系列順にパケットを1つ取り出してコンバータ5−2へ中継する。ここでは、動作指令パケット52がコンバータ5−2に中継される。コンバータ5−2は、動作指令パケット52をバス4−2を介して処理部2−2に供給する。
処理部2−2は、動作指令パケット52に応じてメモリ23に対してリードアクセスパケット62を発する。メモリ23からは、読み出し完了通知72と共に読み出しデータ82が送信される。処理部2−2は、バス4−2を介して読出しデータ82を受信し、これを例えばUART等の通信規格に則った通信データ92として処理部入出力14−2(図2)から外部に送信する。また、処理部2−2は、通信データ92の送信完了通知をCPU22に対して発することができる。
続いて、CPU22から半導体集積回路1に対して中継許可指示パケット43が送信される。CPU22は、例えば、処理部2−2によって発せられた送信完了通知を受信したときに中継許可指示パケット43を発する。また、CPU22は、例えば、通信データ92の出力を監視する監視装置(図示せず)からの送信完了通知を受信したときに中継許可指示パケット43を発しても良い。中継許可指示パケット43は、半導体集積回路1のPCIe_IF12によって受信される。
中継許可指示パケット43は、ダウンストリームキュー8−3に蓄積されているパケットのうちの例えば1つを中継することを許可するものであり、キュー出力制御部13を宛先としている。中継許可指示パケット43も、宛先情報、パケット識別情報、及びキュー識別番号を含んでいる。キュー出力制御部13は、分配部10からダウンストリームキュー8−1及びコンバータ5−1を経由してバス4−1に到来した中継許可指示パケット43を受信する。
キュー出力制御部13は、中継許可指示パケット43によるキュー指定に応じて、ダウンストリームキュー8−3に蓄積されているパケットの1つをコンバータ5−3へ中継させる。ここでは、中継部6−3によってダウンストリームキュー8−3から動作指令パケット53が取り出されコンバータ5−3へ中継される。コンバータ5−3は、動作指令パケット53をバス4−3を介して処理部2−3に供給する。
処理部2−3は、動作指令パケット53に応じてメモリ23に対してリードアクセスパケット63を発する。メモリ23からは、読み出し完了通知73と共に読み出しデータ83が送信される。処理部2−3は、バス4−3を介して読出しデータ83を受信し、これを例えばUSB等の通信規格に則った通信データ93として処理部入出力14−3(図2)から外部に送信する。また、処理部2−3は、通信データ93の送信完了通知をCPU22に対して発することができる。
続いて、CPU22から半導体集積回路1に対してキュー制御パケット44が送信される。CPU22は、例えば、処理部2−3又は監視装置(図示せず)によって発せられた送信完了通知を受信したときにキュー制御パケット44を発する。キュー制御パケット44は、半導体集積回路1のPCIe_IF12によって受信される。
キュー制御パケット44は、ダウンストリームキュー8−4に蓄積されているパケットのうちの例えば1つを中継することを許可する中継許可指示パケットであり、キュー出力制御部13を宛先としている。中継許可指示パケット44も、宛先情報、パケット識別情報、及びキュー識別番号を含んでいる。キュー出力制御部13は、分配部10からダウンストリームキュー8−1及びコンバータ5−1を経由してバス4−1に到来した中継許可指示パケット44を受信する。
キュー出力制御部14は、中継許可指示パケット44によるキュー指定に応じて、ダウンストリームキュー8−4に蓄積されているパケットの1つをコンバータ5−4へ中継させる。ここでは、中継部6−4によってダウンストリームキュー8−4から動作指令パケット54が取り出されコンバータ5−4へ中継される。コンバータ5−4は、動作指令パケット54をバス4−4を介して処理部2−4に供給する。
処理部2−4は、動作指令パケット54に応じてメモリ24に対してリードアクセスパケット64を発する。メモリ23からは、読み出し完了通知74と共に読み出しデータ84が送信される。処理部2−4は、バス4−2を介して読出しデータ84を受信し、これを例えばSATA等の通信規格に則った通信データ94として処理部入出力14−4(図2)から外部に送信する。
半導体集積回路1による上記データ転送についてのデバッグのために、パケットアナライザ31は、例えば、図3の(a)すなわちPCIe_IFダウンストリーム系列に示される中継許可指示パケット42〜44を観測対象とする。また、パケットアナライザ32は、例えば、図3の(f)すなわち処理部入出力系列に示される通信データ92〜94を観測対象とする。これらを観測対象とした場合、時系列的には、中継許可指示パケット42、通信データ92、中継許可指示パケット43、通信データ93、中継許可指示パケット44、通信データ94の順に観測される。
図4には、パケットアナライザ31及び32によって観測されるこれらのパケット及びデータが時系列順に示されている。パケットアナライザ31によって中継許可指示パケット42を観測した直後に、これに応じて処理部2−2に供給された動作指令パケット52に対応する通信データ92をパケットアナライザ32によって観測できる。故に、動作指令パケット52とこれに対応する通信データ92との関係を容易に把握することができる。同様に、動作指令パケット53とこれに対応する通信データ93との関係、及び動作指令パケット54とこれに対応する通信データ94との関係についても容易に把握することができる。
上記したように、本実施例の半導体集積回路1は、外部から供給される中継停止指示パケット及び中継許可指示パケットに応じて、各処理部への動作指令パケットの供給タイミングを調整する。詳細には、半導体集積回路1は、複数の動作指令パケットを一時に受信したとしても、中継許可指示パケットを受信するまでは、これらを処理部に対して供給しない。半導体集積回路1は、1つの中継許可指示パケットを受信してはじめてこれに対応する1つの動作指令パケットを処理部に供給する。また、1つの動作指令パケットの供給を受けた処理部は、当該パケットの指令に応じたデータ処理により得られた1つの通信データを出力する。半導体集積回路1は、当該1つの中継許可指示パケットを受信してから当該1つの通信データを出力するまでの間に他の通信データを出力することは無い。故に、例えば図4に示したように、パケットアナライザ31(図2)によって1つの中継許可指示パケット(例えば符号42)を観測した直後に、パケットアナライザ32(図2)によって1つの通信データ(例えば符号92)を観測できるので、1つの動作指令パケットと、これに対応する1つの通信データとの関係を把握することができる。
かかる動作により、例えばPCIe等の通信規格に従ってスプリットトランザクションによる通信を行なった場合においても、動作指令パケットによる要求と、これに対する応答パケット(本実施例の通信データ)との関係を容易に把握することができる。特に、半導体集積回路1が複数のバス4−1〜4−nを備えている場合により大きな効果を奏する。バス4−1〜4−nの各々から出力される通信データがパケットアナライザ32において混在して観測されることが無くなるからである。
また、例えば特許文献2に開示されている技術は、受信パケットを識別するためにシーケンス番号、アドレス、文字列・数値を用いるものであり、以下のような問題があった。シーケンス番号はPCIe規格における「タグ」に相当すると考えられる。PCIeのタグは処理未完了のパケットのみについて重複しないように管理するためのものなので、処理完了のパケットとの間でタグが重複することもあり得る。故に、PCIe通信の場合には、タグを用いてパケットを識別することが困難であるという問題がある。
また、アドレスによって識別できるものは送信元と宛先なので、同一の送信先から送信された複数のパケットの各々についてその種別を識別することはできないという問題がある。更に、文字列・数値をパケットに付加するためには、パケット内に冗長なデータ領域を必要とする。しかし、例えばCPUがデバイスを制御する場合には、通常、パケット内には冗長なデータ領域は存在しない。故に、かかる場合には、文字列・数値を用いてパケットを識別できないという問題もあった。
このように、従来技術においては、例えばPCIe等の通信規格に従ってパケットを通信する半導体集積回路においては、デバッグのためにパケットを観測してもその識別が困難であった。故に、例えばCPU等の外部デバイスからの要求パケットと、半導体集積回路内のデバイスからの応答パケットとの対応がわかり難く、デバッグの効率が低下してしまうという問題があった。
これに対して、本実施例の半導体集積回路1においては、外部から供給される中継停止指示パケット及び中継許可指示パケットに応じて、各処理部への動作指令パケットの供給タイミングを調整するので、従来技術のような問題は生じない。
このように、本実施例の半導体集積回路1によれば、外部からの要求とこれに対する応答との関係を容易に把握でき、デバッグを効率的に行なうことができる。
<第2の実施例>
図5には、本発明の第2の実施例である半導体集積回路1の構成が示されている。以下、第1の実施例と異なる部分について主に説明する。
コンバータ5−1とダウンストリームキュー8−1との間に中継部6−1が設けられている。中継部6−1は、第1の実施例の中継部6−2と同様の動作を行なう。また、アップストリームキュー7−1と選択部11−1との間に中継部9−1が設けられている。中継部9−1は、第1の実施例の中継部9−2と同様の動作を行なう。
キュー出力制御部13は、PCIe_IF12によって受信された中継停止指示パケット及び中継許可指示パケットを取得する。キュー出力制御部13は、これらのパケットに含まれる宛先情報によって、これらが自身を宛先とするパケットであることを判別する。また、キュー出力制御部13は、これらのパケットに含まれるパケット識別情報によって、これらのパケットが中継停止指示パケット又は中継許可指示パケットであることを判別する。また、キュー出力制御部13は、中継許可指示パケットに含まれるキュー識別番号によって中継許可対象のキューを判別し、中継部6−1〜6−n及び9−1〜9−nを制御する。
分配部10は、PCIe_IF12によって受信されたパケットのうちの、キュー出力制御部13によって取得されたパケット以外のパケットを、その宛先に応じてダウンストリームキュー8−1〜8−nのうちの1つに供給する。
以下、図3を参照しつつ、デバッグ時における半導体集積回路1の動作について説明する。
先ず、外部デバイス20のCPU22から送信された中継停止指示パケット41、動作指令パケット52、53及び54、中継許可指示パケット42が半導体集積回路1のPCIe_IF12によって順次受信される。
中継停止指示パケット41は、ダウンストリームキュー8−1〜8−nの各々に蓄積されているパケットの中継停止を指示するものであり、キュー出力制御部13を宛先としている。キュー出力制御部13は、中継停止指示パケット41をPCIe_IF12から直接受信する。
キュー制御パケット41は、中継停止指示パケット41に応じて、中継部6−1によるダウンストリームキュー8−1からコンバータ5−1へのパケット中継を停止させる。同様に、キュー制御パケット41は、中継部6−2〜6−nによるコンバータ5−2〜5−nへのパケット中継を停止させる。
動作指令パケット52はダウンストリームキュー8−2に蓄積され、動作指令パケット53はダウンストリームキュー8−3に蓄積され、動作指令パケット54はダウンストリームキュー8−4にそれぞれ蓄積される。
中継許可指示パケット42は、ダウンストリームキュー8−2に蓄積されているパケットのうちの例えば1つを中継することを許可するものであり、キュー出力制御部13を宛先としている。キュー出力制御部13は、中継許可指示パケット42をPCIe_IF12から直接受信する。
キュー出力制御部13は、中継許可指示パケット42に応じて、ダウンストリームキュー8−2に蓄積されている動作指令パケット52をコンバータ5−2に中継する。コンバータ5−2は、動作指令パケット52をバス4−2を介して処理部2−2に供給する。
処理部2−2は、動作指令パケット52に応じてメモリ23に対してリードアクセスパケット62を発する。処理部2−2は、メモリ23から読み出し完了通知72と共に送信された読出しデータ82を受信し、これを例えばUART等の通信規格に則った通信データ92として処理部入出力14−2(図2)から外部に出力する。
半導体集積回路1は、中継許可指示パケット43及び44が外部デバイス20から供給された場合にも同様の動作を行なう。
このように、本実施例の半導体集積回路1においては、キュー出力制御部13は中継停止指示パケット及び中継許可指示パケットを、バス4−1を介さずにPCIe_IF12から直接受信する。かかる構成により、バス4−1の経路についてのパケット中継タイミングをも適宜調整可能となるので、デバッグをより効率的に行なうことができる。また、キュー出力制御部13がこれらのパケットをPCIe_IF12から直接受信するので、タイミング調整の即応性が向上する。
第1及び第2の実施例は、動作指令パケット52、53及び54の宛先が処理部2−2、2−3及び2−4である場合の例であるが、これに限られない。例えば、動作指令パケット52、53及び54が処理部2−1〜2−nのうちの1つを宛先とした場合においても、同様の処理により同様の効果を奏する。
第1及び第2の実施例においては、デバッグの動作について説明したが、通常動作時すなわちデバッグを行わないときには、キュー出力制御部13は、中継部6−1〜6−n及び9−1〜9−nの各々に対して中継許可指令を発してパケット中継を許可している。
1 半導体集積回路
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 選択部
12 PCIe_IF
13 キュー出力制御部(出力制御部)
14−1〜14−n 処理部入出力
20 外部デバイス
21 PCIe_IF
22 CPU
23 メモリ
31、32 パケットアナライザ

Claims (4)

  1. 転送されたパケットの内容に応じてデータ処理を行なう処理部と、到来したパケットをその宛先に応じて前記処理部のいずれかに転送する転送部と、を含む半導体集積回路であって、
    前記転送部は、
    当該到来したパケットを順次受信する受信部と、
    前記受信部によって受信されたパケットをその宛先に応じて分配する分配部と、
    前記分配部から自身に分配されたパケットを各々が順次蓄積する複数の蓄積部と、
    中継許可指令に応じて、前記蓄積部のうちの対応する1つに蓄積されているパケットを、前記処理部のうちの対応する1つに各々が供給する複数の中継部と、
    前記分配部から自身に分配されたパケットが中継許可パケットであると判別した場合に、前記中継部のうちの前記中継許可パケットによって指定された1つに対して前記中継許可指令を与える出力制御部と、を含むことを特徴とする半導体集積回路。
  2. 前記処理部は、前記中継部から供給された1つのパケットについての前記データ処理が完了したときに完了通知を発することを特徴とする請求項1に記載の半導体集積回路。
  3. 転送されたパケットの内容に応じてデータ処理を行なう処理部と、到来したパケットをその宛先に応じて前記処理部のいずれかに転送する転送部と、を含む半導体集積回路であって、
    前記転送部は、
    当該到来したパケットを順次受信する受信部と、
    前記受信部によって受信されたパケットが中継許可パケットであると判別した場合に前記中継許可パケットを取得する出力制御部と、
    前記受信部によって受信されたパケットのうちの、前記出力制御部によって取得されたパケット以外のパケットをその宛先に応じて分配する分配部と、
    前記分配部から自身に分配されたパケットを各々が順次蓄積する複数の蓄積部と、
    中継許可指令に応じて、前記蓄積部のうちの対応する1つに蓄積されているパケットを、前記処理部のうちの対応する1つに各々が供給する複数の中継部と、を含み、
    前記出力制御部は、前記中継部のうちの前記中継許可パケットによって指定された1つに対して前記中継許可指令を与えることを特徴とする半導体集積回路。
  4. 前記処理部は、前記中継部から供給された1つのパケットについての前記データ処理が完了したときに完了通知を発することを特徴とする請求項2に記載の半導体集積回路。
JP2011190716A 2011-09-01 2011-09-01 半導体集積回路及び半導体集積回路のデバッグ方法 Active JP6013711B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011190716A JP6013711B2 (ja) 2011-09-01 2011-09-01 半導体集積回路及び半導体集積回路のデバッグ方法
CN201210317396.3A CN102970217B (zh) 2011-09-01 2012-08-31 半导体集成电路
US13/602,153 US9128914B2 (en) 2011-09-01 2012-09-01 Semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011190716A JP6013711B2 (ja) 2011-09-01 2011-09-01 半導体集積回路及び半導体集積回路のデバッグ方法

Publications (2)

Publication Number Publication Date
JP2013054444A true JP2013054444A (ja) 2013-03-21
JP6013711B2 JP6013711B2 (ja) 2016-10-25

Family

ID=47753125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011190716A Active JP6013711B2 (ja) 2011-09-01 2011-09-01 半導体集積回路及び半導体集積回路のデバッグ方法

Country Status (3)

Country Link
US (1) US9128914B2 (ja)
JP (1) JP6013711B2 (ja)
CN (1) CN102970217B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10348605B2 (en) 2016-10-28 2019-07-09 Western Digital Technologies, Inc. Embedding analyzer functionality in storage devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05227211A (ja) * 1992-02-17 1993-09-03 Fujitsu Ltd パケット交換システム
JPH11238399A (ja) * 1998-02-02 1999-08-31 Samsung Electronics Co Ltd 半導体メモリ装置
JP2002215602A (ja) * 2001-01-17 2002-08-02 Sharp Corp 自己同期型転送制御回路およびこれを備えるデータ駆動型情報処理装置
WO2008096447A1 (ja) * 2007-02-09 2008-08-14 Fujitsu Limited データ転送回路、情報処理装置および情報処理装置の試験方法
WO2008126471A1 (ja) * 2007-04-06 2008-10-23 Nec Corporation 半導体集積回路およびその試験方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5420299B2 (ja) * 1974-06-03 1979-07-21
DE4129614C2 (de) * 1990-09-07 2002-03-21 Hitachi Ltd System und Verfahren zur Datenverarbeitung
US7436876B2 (en) * 2002-11-15 2008-10-14 Time Domain Corporation System and method for fast acquisition of ultra wideband signals
JP3990332B2 (ja) * 2003-08-29 2007-10-10 日本電気株式会社 データ処理システム
JP2006164183A (ja) * 2004-12-10 2006-06-22 Renesas Technology Corp 半導体信号処理装置
JP4575219B2 (ja) * 2005-04-12 2010-11-04 株式会社東芝 セキュリティゲートウェイシステムとその方法およびプログラム
JP4738112B2 (ja) * 2005-09-12 2011-08-03 ルネサスエレクトロニクス株式会社 半導体記憶装置
US7616036B1 (en) * 2005-09-12 2009-11-10 Virage Logic Corporation Programmable strobe and clock generator
JP4847734B2 (ja) * 2005-10-31 2011-12-28 ルネサスエレクトロニクス株式会社 半導体集積回路装置、それのデバッグシステム及びデバッグ方法。
JP2007206806A (ja) * 2006-01-31 2007-08-16 Matsushita Electric Ind Co Ltd キャッシュ観測装置、プロセッサの解析方法およびキャッシュメモリ
US8255599B2 (en) * 2006-03-28 2012-08-28 Integrated Device Technology Inc. Packets transfer device having data absorbing buffers with elastic buffer capacities
JP4914253B2 (ja) 2007-03-09 2012-04-11 株式会社リコー 半導体集積回路及びエラー解析方法
WO2008136407A1 (ja) * 2007-04-26 2008-11-13 Kabushiki Kaisha Toshiba プログラマブルコントローラのダイアグラムのデバッグシステム、そのプログラミング装置及びそのプログラム
WO2009039462A1 (en) * 2007-09-19 2009-03-26 Tabula, Inc. Method and system for reporting on a primary circuit structure of an integrated circuit (ic) using a secondary circuit structure of the ic
JP4909875B2 (ja) * 2007-11-27 2012-04-04 アラクサラネットワークス株式会社 パケット中継装置
US8525548B2 (en) * 2008-08-04 2013-09-03 Tabula, Inc. Trigger circuits and event counters for an IC
US20100057830A1 (en) * 2008-08-26 2010-03-04 Nokia Corporation Controlling Client-Server Communications
JP5166227B2 (ja) * 2008-12-22 2013-03-21 アラクサラネットワークス株式会社 パケット転送方法、パケット転送装置及びパケット転送システム
JP5402304B2 (ja) 2009-06-25 2014-01-29 富士通株式会社 診断プログラム、診断装置、診断方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05227211A (ja) * 1992-02-17 1993-09-03 Fujitsu Ltd パケット交換システム
JPH11238399A (ja) * 1998-02-02 1999-08-31 Samsung Electronics Co Ltd 半導体メモリ装置
JP2002215602A (ja) * 2001-01-17 2002-08-02 Sharp Corp 自己同期型転送制御回路およびこれを備えるデータ駆動型情報処理装置
WO2008096447A1 (ja) * 2007-02-09 2008-08-14 Fujitsu Limited データ転送回路、情報処理装置および情報処理装置の試験方法
WO2008126471A1 (ja) * 2007-04-06 2008-10-23 Nec Corporation 半導体集積回路およびその試験方法

Also Published As

Publication number Publication date
JP6013711B2 (ja) 2016-10-25
US9128914B2 (en) 2015-09-08
CN102970217B (zh) 2017-12-12
US20130058207A1 (en) 2013-03-07
CN102970217A (zh) 2013-03-13

Similar Documents

Publication Publication Date Title
JP5360607B2 (ja) Pciエクスプレススイッチ、pciエクスプレスシステム、及びネットワーク制御方法
US9525626B2 (en) Managing sideband routers in On-Die system fabric
JP5460143B2 (ja) データ処理装置、データ処理方法およびプログラム
US20140092740A1 (en) Adaptive packet deflection to achieve fair, low-cost, and/or energy-efficient quality of service in network on chip devices
US10206175B2 (en) Communications fabric with split paths for control and data packets
US20170068628A1 (en) Reducing ethernet latency in a multi-server chassis
US8327053B2 (en) Bus control system and semiconductor integrated circuit
JP2014045421A (ja) ネットワークシステム
US20140241350A1 (en) Information processing apparatus and operation method thereof, computer program, and storage medium
US20140304450A1 (en) Switching device, packet control method, and data communication system
JP6254331B2 (ja) ネットワークオンチップトポロジー内のトンネリング
JP6013711B2 (ja) 半導体集積回路及び半導体集積回路のデバッグ方法
JP5414506B2 (ja) データ処理装置、データ処理方法、及びプログラム
US20120005399A1 (en) Data transmission system and method of reading data
WO2012149742A1 (zh) 信号保序方法和装置
US9614902B2 (en) Data processing apparatus using network-on-chip technology and control method therefor
JP5728043B2 (ja) ゲートウェイ装置
US8788737B2 (en) Transport of PCI-ordered traffic over independent networks
JPWO2010110289A1 (ja) ルータ装置、半導体集積回路装置、ルーティング方法及びプログラム
JP2007116350A (ja) 負荷分散装置
US20120170588A1 (en) Data transmission system and data transmission method
US8521940B2 (en) Paired node controllers
US20210303496A1 (en) Actuation of data transmission lanes between states
CN108701103B (zh) 具有工作存储器的计算单元的存储器直接访问控制装置
JP2007325171A (ja) パケット処理システム、パケット処理方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160401

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160923

R150 Certificate of patent or registration of utility model

Ref document number: 6013711

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150