[go: up one dir, main page]

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

半導体集積回路 Download PDF

Info

Publication number
JP2010281695A
JP2010281695A JP2009135390A JP2009135390A JP2010281695A JP 2010281695 A JP2010281695 A JP 2010281695A JP 2009135390 A JP2009135390 A JP 2009135390A JP 2009135390 A JP2009135390 A JP 2009135390A JP 2010281695 A JP2010281695 A JP 2010281695A
Authority
JP
Japan
Prior art keywords
data
hash value
register
semiconductor integrated
integrated circuit
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
JP2009135390A
Other languages
English (en)
Inventor
Takashi Fujiwara
崇 藤原
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009135390A priority Critical patent/JP2010281695A/ja
Priority to US12/722,203 priority patent/US20100312986A1/en
Publication of JP2010281695A publication Critical patent/JP2010281695A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】 本発明は、周波数又は電圧が異なる領域間をデータが伝送される際に発生するデータ伝送エラーを検出できる構成を備えた半導体集積回路を提供することを目的とする。
【解決手段】
第1領域10から第2領域20にデータを伝送するデータ経路30と、第1領域10内のデータ経路40上から、データ経路40上を伝送される第1データを読み込み、第1データから第1ハッシュ値を算出する第1ハッシュ値算出器11と、第2領域20内のデータ経路30上に配置され、データ経路30上を伝送される第2データを読み込むレジスタ40と、レジスタ40から出力される第2データを読み込み、第2データから第2ハッシュ値を算出する第2ハッシュ値算出器21と、第1ハッシュ値と第2ハッシュ値とが一致しているか否かを比較する比較部と、を備える。
【選択図】 図1

Description

本発明は、半導体集積回路に係り、特に半導体集積回路の不良を容易に検出できる構成を備えた半導体集積回路に関する。
近年、半導体集積回路は、異なる周波数又は異なる電圧で動作する複数の領域を備える(例えば、特許文献1参照。)。このような半導体集積回路では、周波数又は電圧が異なる領域でデータ伝送を行う際に、データが正常に伝送されないデータ伝送エラーが起こる場合がある。このような、データ伝送エラーを起こす半導体集積回路は、製造不良品であり、出荷前にデータ伝送エラーを検出する必要がある。
このようなデータ伝送エラーを検出するため、例えば、第1の領域側に設けられたCPUから、第2の領域に設けられたメモリにデータを書き込み、次いで、このメモリからデータを読み出すことにより、書き込みデータと読み出しデータが一致するか否かを確認することで、第1領域と第2領域の間でデータが正常に伝送されているか否かを検査する方法がある。書き込みデータと読み出しデータが一致した場合には、このCPUとメモリを接続するリードパス、ライトパス(データ経路)で正常にデータが伝送されることを検査することができる。しかし、この方法では、第2の領域にメモリが接続されている必要があるが、実際にテストを行う場合には、このメモリが接続されない場合もある。このような理由により、前述のような検査方法は適用できない場合があった。
特開2006−313893号公報
本発明は、周波数又は電圧が異なる領域間でデータを行う際に発生するデータ伝送エラーを検出できる構成を備えた半導体集積回路を提供することを目的とする。
本発明の一態様の半導体集積回路は、第1電圧及び第1周波数で動作する第1領域と、
前記第1領域に隣接して設けられ、前記第1電圧又は前記第1周波数の少なくとも何れか一方と異なる電圧及び周波数である第2電圧及び第2周波数で動作する第2領域と、前記第1領域から前記第2領域にデータを伝送するデータ経路と、前記第1領域内の前記データ経路上から、前記データ経路上を伝送される第1データを読み込み、前記第1データから第1ハッシュ値を算出する第1ハッシュ値算出器と、前記第2領域内の前記データ経路上に配置され、前記データ経路上を伝送される第2データを読み込むレジスタと、前記レジスタから出力される第2データを読み込み、前記第2データから第2ハッシュ値を算出する第2ハッシュ値算出器と、前記第1ハッシュ値と前記第2ハッシュ値を読み込み、前記第1ハッシュ値と前記第2ハッシュ値とが一致しているか否かを比較する比較部と、を備えることを特徴とする。
本発明の別態様の半導体集積回路は、第1電圧及び第1周波数で動作する第1領域と、前記第1領域に隣接して設けられ、前記第1電圧又は前記第1周波数の少なくとも何れか一方と異なる電圧及び周波数である第2電圧及び第2周波数で動作する第2領域と、前記第1領域から前記第2領域にデータを伝送するデータ経路と、前記第2領域内の前記データ経路上に配置され、前記データ経路上を伝送されるデータを読み込むレジスタと、前記レジスタから出力されるデータを読み込み、前記データからハッシュ値を算出するハッシュ値算出器と、前記ハッシュ値算出器により算出された前記ハッシュ値と、予め算出された期待値とが一致しているか否か比較する比較部と、を備えることを特徴とする。
本発明は、周波数又は電圧が異なる領域間でデータを行う際に発生するデータ伝送エラーを検出できる構成を備えた半導体集積回路を提供することができる。
本発明の実施例1に係る半導体集積回路の概略構成を示す図である。 本発明の実施例1に係る半導体集積回路のブロック図である。 本発明の実施例1に係る半導体集積回路のデータ経路により伝送される伝送データの模式図である。 本発明の実施例1に係る半導体集積回路においてデータ伝送エラーを検出するフローチャートである。 本発明の実施例2に係る半導体集積回路のブロック図である。 本発明の実施例3に係る半導体集積回路のブロック図である。 本発明の実施例3に係る半導体集積回路のデータ経路により伝送される伝送データと、スタートレジスタとストップレジスタに格納されたデータの模式図である。 本発明の実施例3に係る半導体集積回路においてデータ伝送エラーを検出するフローチャートである。 本発明の実施例3に係る半導体集積回路のデータ経路により伝送される伝送データの模式図である。 本発明の実施例4に係る半導体集積回路のブロック図である。 本発明の実施例5に係る半導体集積回路のブロック図である。
以下、本発明の実施形態について図面を参照しながら説明する。
本発明の実施例1に係る半導体集積回路について、図1を参照して説明する。図1は、本発明の実施例1に係る半導体集積回路の概略構成を示す図である。図1に示すように、半導体集積回路1は、第1領域10、第2領域20、データ経路30、1ハッシュ値算出器11、第2ハッシュ値算出器21、レジスタ40、比較部50とを有して構成される。また、半導体集積回路1は、パターン発生器60と、マルチプレクサ61とを有してもよい。
第1領域10には、第1電圧V1、第1周波数f1により動作する電子回路等(図示せず)が設けられている。
第2領域20には、第2電圧V2、第2周波数f2により動作する電子回路等(図示せず)が設けられている。第2電圧V2と第1電圧V1、第2周波数f2と第1周波数f1の少なくともいずれか一方が異なる。つまり、第2電圧V2、第2周波数f2は、3通りの組み合わせ((V1=V2、f1≠f2)、(V1≠V2、f1=f2)、(V1≠V2、f1≠f2))が想定される。
第1領域10と第2領域20との間には、第1領域10から第2領域20にデータを伝送するデータ経路30が設けられている。データ経路30により、第1領域10から第2領域20にデータ(以下、「伝送データ」と称する)が伝送される。伝送データは、後述するように、複数のデータで構成されるデータ列である。
レジスタ40は、第2領域20側のデータ経路30上に設けられ、データ経路30上を伝送される伝送データを読み込む。レジスタ40は、第1領域側から第2領域に伝送される伝送データを順次読み込み、読み込んだ伝送データをデータ経路30に順次出力する。
第1ハッシュ値算出器11は、第1領域10側のデータ経路30にノードaを介して接続され、データ経路30から、データ経路30上を伝送される伝送データ(第1伝送データ)を読み込む。第1ハッシュ値算出器11は、所定のハッシュ関数により、第1伝送データから、第1伝送データに固有のハッシュ値(第1ハッシュ値)を算出する。算出した第1ハッシュ値は、ハッシュ値保持部71に保持される。ハッシュ値保持部71のアドレスはメモリマップに登録されている。
第2ハッシュ値算出器21は、データ経路30にノードbを介して接続され、レジスタ40からデータ経路30に出力される伝送データ(第2伝送データ)を読み込む。第2ハッシュ値算出器21は、所定のハッシュ関数により、第2伝送データから、第2伝送データに固有のハッシュ値(第2ハッシュ値)を算出する。算出した第2ハッシュ値は、ハッシュ値保持部72に保持される。ハッシュ値保持部72のアドレスはメモリマップに登録されている。
第1ハッシュ値算出器11に用いられるハッシュ関数と、第2ハッシュ値算出器21に用いられるハッシュ関数は同一のものとする。このため、第1伝送データと第2伝送データが同一である場合、第1ハッシュ値と第2ハッシュ値は一致する。第1伝送データと第2伝送データが同一でない場合、第1ハッシュ値と第2ハッシュ値は一致しない。
比較部50は、第1ハッシュ値算出器11が算出した第1ハッシュ値と、第2ハッシュ値算出器が算出した第2ハッシュ値とが一致しているか否かを比較する。
パターン発生器60は、データ経路30に伝送させる伝送データを生成する。パターン発生器60に生成させる伝送データは、任意に設定可能である。
マルチプレクサ61には、データ経路30上流からの伝送データと、パターン発生器60からの伝送データとが入力される。マルチプレクサは、図示しない選択信号に基づいて、データ経路30上流から入力する伝送データ又はパターン発生器60から入力する伝送データを選択し、データ経路30に出力する。
以上の構成により、データ経路30により第1領域から第2領域にデータが伝送される際のデータ伝送エラーの検査が可能となる。即ち、第1ハッシュ値算出器11が第1領域10側のデータ経路30からノードaを介して読み込んだ第1伝送データからが算出した第1ハッシュ値と、第2ハッシュ値算出器21が第2領域20側のデータ経路30からノードbを介して読み込んだ第2伝送データからが算出した第2ハッシュ値を比較することにより、データ経路30上のノードaと、データ経路30上のノードbの間で、データ伝送エラーが発生しているか否かを検査することができる。つまり、第1ハッシュ値と第2ハッシュ値が一致している場合、第1伝送データと第2伝送データが一致していることを意味し、データ経路30のノードaとノードbの間でデータ伝送エラーが発生していないことが確認される。一方、第1ハッシュ値と第2ハッシュ値が一致していない場合、第1伝送データと第2伝送データが一致していないことを意味し、データ経路30のノードaとノードbの間でデータ伝送エラーが発生していることが確認される。
また、第1ハッシュ値算出器11が算出した第1ハッシュ値を保持するハッシュ値保持部71と、第2ハッシュ値算出器21が算出した第2ハッシュ値を保持するハッシュ値保持部72のアドレスがメモリマップに登録されていることにより、図示しないCPU(中央処理装置)から、ハッシュ値保持部71、72に保持された第1ハッシュ値、第2ハッシュ値を読み出すことが可能となり、第1ハッシュ値、第2ハッシュ値の比較を、比較部50を用いずに、CPUにより行うことが可能となる。
また、パターン発生器60とマルチプレクサ61により、パターン発生器60で生成した伝送データをデータ経路30に伝送させることで、データ経路30の第1領域側上流に伝送データを生成する構成が接続されていない場合であっても、データ経路30のノードa、ノードb間のデータ伝送エラーの検査をすることが可能となる。
次に、図2を参照して、実施例1に係る半導体集積回路についてより詳細に説明する。図2は、本発明の実施例1に係る半導体集積回路1のブロック図である。図1と同様の構成については同一の符号を付す。データ経路30は、伝送データをパラレル伝送するデータの伝送路である。データ経路30により伝送される伝送データのデータ幅は、8ビットである。なお、説明の理解を容易にするためにデータ経路30をパラレル伝送経路とし、伝送データのデータ幅を8ビットとした例を示しているが、データ経路30はシリアル伝送経路であってもよいし、伝送データのデータ幅は8ビット以外であってもよい。
第1領域10側のデータ経路30上には、伝送データを読み込み、読み込んだ伝送データを順次出力するレジスタ41、42、43が多段に構成されることにより、FIFO(Fist−In First−Out)方式の伝送路が構成されている。各レジスタ41、42、43は、伝送データのデータ幅に応じて、例えば、フリップフロップ回路により構成される。本実施例では、各レジスタ41、42、43は、8個のフリップフロップ回路により構成している。
第2領域20側のデータ経路30上には、伝送データを読み込み、読み込んだ伝送データを順次出力するレジスタ40、44、45が多段に構成されることにより、FIFO方式の伝送路が構成されている。レジスタ40、44、45は、各レジスタ41、42、43の同様の構成を有するものとする。図2に示すレジスタ40は、図1に示したレジスタ40に相当する。
レジスタ41、42、43と、レジスタ40、44、45とは、データを保持する記憶素子であり、FIFOへの取り込み信号がイネーブルの時に、前段から送られてくるデータを保持する。
第1ハッシュ値算出器11は、排他的論理和演算によりハッシュ値を算出する。第1ハッシュ値演算器11は、排他的論理演算を行うXOR演算部12と、フリップフロップ部13を有して構成される。なお、ハッシュ値の計算方法は、公知技術であり、本実施例では詳細な説明を省略する。本実施例では、一例として、排他的論理和演算によりハッシュ値を計算する構成、方法を示すが、排他的論理演算に限定されない。
XOR演算部12には、データ経路30からの伝送データと、フリップフロップ部13の出力とが入力する。XOR演算部12は、データ経路30からの伝送データと、フリップフロップ部13の出力との排他的論理演算を行い、演算結果をフリップフロップ部13に出力する。
フリップフロップ部13は、XOR演算部12からの演算結果を取り込み、取り込んだ演算結果をXOR演算部12に出力する。フリップフロップ部13がXOR演算部12から取り込んだ演算結果は、比較部50から読み出し可能である。また、フリップフロップ部13がXOR演算部12に出力する値は、外部から設定可能である。図2に示す実施例では、フリップフロップ部13は、図1におけるハッシュ値保持部71に相当する。
第2ハッシュ値算出器21の構成は、第1ハッシュ値算出器11と同様であるため、説明を省略する。図2に示す実施例では、フリップフロップ部23は、図1におけるハッシュ値保持部72に相当する。
比較部50は、フリップフロップ部13から第1ハッシュ値を読み出し、フリップフロップ部23から第2ハッシュ値を読み出し、第1ハッシュ値と第2ハッシュ値とが一致しているか否かを比較する。
パターン発生器60、マルチプレクサ61については、図1で示した構成と同様であり、説明を省略する。
次に、第1ハッシュ値算出器11によるハッシュ値の算出動作について図2、図3を参照して説明する。図3は、データ経路30により伝送される伝送データの模式図である。図3に示すように、伝送データは、順次伝送されるデータA、B、C、D、E、Fから構成されるデータ列である。データA、B、C、D、E、Fのデータ幅は、8ビットである。
第1ハッシュ値算出器11によりデータ経路から順次取り込まれたデータは、XOR演算部12に入力される。XOR演算部12は、最初に入力するデータAと、フリップフロップ部13に設定されている初期値Zの排他的論理演算を行い、演算結果A^Zをフリップフロップ部13に出力する。フリップフリップ部13に初期値を設定する手順については後述する。次に、XOR演算部12は、次に入力するデータBと、フリップフロップ部13から入力する値A^Zの排他的論理演算を行い、演算結果A^Z^Bをフリップフロップ部13に出力する。同様の動作を繰り返すことにより、第1ハッシュ値算出器11は、データ経路30から入力するデータの排他的論理演算を行い、最後に演算結果をフリップフロップ部13に出力する。この最後の演算結果が、第1ハッシュ値算出器11により算出された第1ハッシュ値となる。
第2ハッシュ値算出器21のハッシュ値の算出動作も第1ハッシュ値算出器11と同様であるため、説明を省略する。
次に、本実施例に係る半導体集積回路1においてデータ伝送エラーを検査する手順について、図4を参照して説明する。図4は、半導体集積回路1においてデータ伝送エラーを検査するフローチャートである。
まず、第1ハッシュ値算出器11のフリップフロップ部13と、第2ハッシュ値算出器21のフリップフロップ部23にそれぞれ、同一の初期値Zを設定する(S301)。
次に、半導体集積回路1にプログラムの実行を開始させることにより、データ経路30に伝送データを伝送させる(S302)。
次に、第1ハッシュ値算出器11、第2ハッシュ値算出器21が、それぞれ、データ経路30から伝送データを読み込み、上述した動作によりハッシュ値の計算を開始する(S303)。
次に、半導体集積回路1がプログラムの実行を終了する(S304)。これにより、データ経路30にデータが伝送されなくなり、第1ハッシュ値算出器11、第2ハッシュ値算出器21がそれぞれ第1ハッシュ値、第2ハッシュ値の計算を終了し、算出した第1ハッシュ値、第2ハッシュ値をそれぞれフリップフリップ部13、23に出力する。
次に、比較部50が、フリップフロップ部13、23からそれぞれ第1ハッシュ値、第2ハッシュ値を読み出し(S305)、第1ハッシュ値と第2ハッシュ値が一致しているか否か比較する(S306)。第1ハッシュ値と第2ハッシュ値が一致している場合、検査の対象となった半導体集積回路においては、実行したプログラムにより伝送された伝送データ30によって、データ伝送エラーが発生しないことが確認される。第1ハッシュ値と第2ハッシュ値が一致していない場合、検査の対象となった半導体集積回路において、実行したプログラムにより伝送された伝送データによって、データ伝送エラーが発生することが確認される。
本発明の実施例2に係る半導体集積回路について、図5を参照して説明する。図5は、本発明の実施例2に係る半導体集積回路2のブロック図である。図1、図2と同様の構成については同一の符号を付し、説明を省略する。
本実施例に係る半導体集積回路2が、実施例1に係る半導体集積回路2と異なる点は、本実施例に係る半導体集積回路2では、実施例1の第1ハッシュ値算出器11を備えない点である。
本実施例では、図2に示す構成を有する正常な半導体集積回路(データ伝送エラーのない半導体集積回路)において、データ経路30に所定の伝送データを伝送させ、第2ハッシュ値算出器21によりハッシュ値を算出する。この算出されたハッシュ値を期待値とする。
次に、図2に示す構成を有する、データ伝送エラーの検査対象の半導体集積回路において、データ経路30に所定の伝送データ(データ伝送エラーのない半導体集積回路において期待値を求めるのに用いた「所定のデータ」と同一の伝送データ)を伝送させ、第2ハッシュ値算出器21により第2ハッシュ値を算出する。
次に、期待値と、第2ハッシュ値を比較することにより、データ伝送エラーの検査対象の半導体集積回路において、データ経路30上の伝送データの出力源(図示せず)とデータ経路30上のノードbの間で、データ伝送エラーが発生しているか否かを確認することができる。つまり、第2ハッシュ値と期待値が一致している場合、データ経路30の伝送データの出力源(図示せず)とノードbの間でデータ伝送エラーが発生していないことが確認される。一方、第1ハッシュ値と第2ハッシュ値が一致していない場合、データ経路30の伝送データの出力源(図示せず)とノードbの間でデータ伝送エラーが発生していることが確認される。
以上のように、本実施例によれば、実施例1と同様の効果に加え、実施例1より回路構成が簡素化されることにより、低コスト、省スペース性を向上させることができる。
なお、実施例2に係る半導体集積回路2についても、実施例1に係る半導体集積回路1同様に、パターン発生器60、マルチプレクサ61を備えてもよい。パターン発生器60により生成した伝送データをデータ経路30に出力し、上記の検査を行うことにより、伝送データの出力源(パターン発生器60)とノードbの距離が短くなり、データ伝送エラーが発生した場合に、データ伝送エラーの原因箇所の特定が容易になる。
本発明の実施例3に係る半導体集積回路について、図6を参照して説明する。図6は、本発明の実施例3に係る半導体集積回路のブロック図である。図1、図2と同様の構成については同一の符号を付し、説明を省略する。
実施例1、実施例2に示したように、データ経路30により伝送される伝送データは、複数のデータで構成されるデータ列である。このデータ列のうち、予めデータ転送エラーを発生させやすいデータ列の部分が分かっている場合には、その部分についてデータ転送エラーを検出する動作を実行することで、検査時間の短縮できる。この検査時間短縮を可能とするため、本実施例では、実施例1に示した半導体集積回路2に制御部19、29を用いる。
制御部19は、第1ハッシュ値算出器11のハッシュ値計算の開始と終了のタイミングを制御する。制御部19は、マルチプレクサ14、比較器15、17、スタートレジスタ16、ストップレジスタ18を有して構成される。
制御部29は、第2ハッシュ値算出器21のハッシュ値計算の開始と終了のタイミングを制御する。制御部29は、マルチプレクサ24、比較器25、27、スタートレジスタ26、ストップレジスタ28を有して構成される。
マルチプレクサ14には、データ経路30からの伝送データと、比較器15からの信号(スタート信号)と、比較器17からの信号(ストップ信号)が入力する。マルチプレクサ14の出力はXOR演算部12に入力する。マルチプレクサ14は、比較器15からスタート信号が入力すると、データ経路30から入力する伝送データをXOR演算部12に出力する。また、マルチプレクサ14は、比較器17からストップ信号が入力すると、データ経路30から入力する伝送データをXOR演算部12に出力するのを止め、値「0」をXOR演算部12に出力する。
比較器15には、データ経路30からの伝送データが入力する。また、比較器15には、スタートレジスタ16が接続されている。比較器15は、データ経路30から入力する伝送データと、スタートレジスタ16に格納されたデータ(スタートデータ)とを比較し、一致しているときは、マルチプレクサ14にスタート信号を出力する。
比較器17には、データ経路30からの伝送データが入力する。また、比較器17には、ストップレジスタ18が接続されている。比較器17は、データ経路30から入力する伝送データと、ストップレジスタ18に格納されたデータ(ストップデータ)とを比較し、一致しているときは、マルチプレクサ14にストップ信号を出力する。
制御部29は、制御部19と同様の構成であるので、説明を省略する。具体的には、マルチプレクサ24は、マルチプクレサ14と同様であり、比較器25、27は、それぞれ比較器15、17と同様であり、スタートレジスタ26は、スタートレジスタ16と同様であり、ストップレジスタ28はストップレジスタ18と同様である。
次に、第1ハッシュ値算出器11によるハッシュ値の算出方法について、図6、図7を参照して説明する。図7は、本発明の実施例3にかかわる半導体集積回路3のデータ経路により伝送される伝送データと、スタートレジスタとストップレジスタに格納されたデータ(スタートデータ、ストップデータ)の模式図である。図7に示すように、伝送データは、順次伝送されるデータA〜Yから構成されるデータ列である。
まず、データ経路30に、図7に示すデータ列(伝送データ)が伝送される状態において、マルチプレクサ24は、XOR演算部12に値「0」を出力する。XOR演算部12は、マルチプレクサ24から値「0」が入力すると、値「0」と、フリップフロップ部13に初期値として設定されている値Zとの排他的論理演算を行うため、その演算結果である値Zをフリップフロップ部13に出力する。このため、このとき、フリップフロップ部13は、初期値として設定された値Zを保持する。
次に、データ経路30にスタートレジスタ16に保持されたスタートデータDと同じデータが伝送されると、データDを読み込んだ比較器15がスタート信号をマルチプレクサ14に出力する。これにより、データ経路30に伝送される伝送データがXOR演算部12に入力し、第1ハッシュ算出器11(XOR演算部12)がハッシュ値の計算を開始する。
次に、データ経路30にストップレジスタ18に保持されたストップデータXと同じデータが伝送されると、データXを読み込んだ比較器17がストップ信号をマルチプレクサ14に出力する。これにより、データ経路に伝送される伝送データがXOR演算部12に値「0」を出力する。これにより、XOR演算部12は、フリップフロップ部13に保持された値との排他的論理演算を行う。このため、ストップ信号がマルチプレクサに入力する直前までの伝送データにより計算されたハッシュ値をフリップフロップ部13が保持する。
上記の動作により、第1ハッシュ算出器11は、データ経路30に伝送される伝送データのうち、スタートレジスタ16に設定されたスタートデータと、ストップレジスタ18に設定されたストップレジスタの間のデータ列についてハッシュ値の算出を行う。
第2ハッシュ値算出器21によるハッシュ値の算出方法は、第1ハッシュ値算出器11によるハッシュ値の算出方法と同様であるので説明を省略する。
次に、本実施例に係る半導体集積回路3においてデータ伝送エラーを検出する手順について、図8を参照して説明する。図8は、半導体集積回路においてデータ伝送エラーを検出するフローチャートである。
まず、第1ハッシュ値算出器11のフリップフロップ部13と、第2ハッシュ値算出器21のフリップフロップ部23にそれぞれ、同一の初期値Zを設定する(S801)。
次に、スタートレジスタ16、26にスタートデータを設定し、ストップレジスタ18、28にストップデータを設定する(S802)。
次に、半導体集積回路にプログラムの実行を開始させることにより、データ経路30に伝送データを伝送させる(S803)。
次に、第1ハッシュ値算出器11、第2ハッシュ値算出器21は、前述のように、スタートレジスタと同一のデータからハッシュ値の計算を開始する(S804)。
次に、第1ハッシュ値算出器11、第2ハッシュ値算出器21は、前述のように、ストップレジスタと同一のデータでハッシュ値の計算を終了する(S805)。
次に、半導体集積回路がプログラムの実行を終了する(S806)。
次に、比較部50が、フリップフロップ部13、23からそれぞれ第1ハッシュ値、第2ハッシュ値を読み出し(S807)、第1ハッシュ値と第2ハッシュ値が一致しているか否か比較する(S808)。第1ハッシュ値と第2ハッシュ値が一致している場合、実行したプログラムにより伝送された伝送データによっては、第1領域と第2領域の境界においてデータ伝送エラーが発生しないことが確認される。第1ハッシュ値と第2ハッシュ値が一致していない場合、実行したプログラムにより伝送された伝送データによって、第1領域と第2領域の境界においてデータ伝送エラーが発生することが確認される。
以上の構成により、データ経路30に伝送される伝送データのうち、特定のデータ列(データD〜データX)を対象としてデータ伝送エラーの検査をする際に、データ列のスタートデータと、ストップデータを指定することが可能である。これによりデータ伝送エラーの検査時間を短縮することが可能となる。
(変形例1)
本発明の実施例3に係る半導体集積回路の変形例1について、図8を参照して説明する。図8は、本発明の実施例3に係る半導体集積回路の変形例1の
変形例1に係る半導体集積回路の動作方法が、実施例3に係る半導体集積回路の動作方法と異なる点は、変形例1に係る半導体集積回路では、特定のデータ列(データD〜データX)を対象としてデータ伝送エラーの検査をする際の、データ列のスタートデータと、ストップデータを指定する方法として、カウンタを用いている点である。
変形例1の半導体集積回路では、図8に示すように、伝送データを構成するデータが順次伝送される毎にカウンタを行う。予め、データ伝送エラーの検査を行う特定のデータ列のスタートデータに対応するカウンタのカウンタ値をスタートカウンタ値、ストップデータと対応するカウンタのカウンタ値をストップカウンタ値として、それぞれスタートレジスタ、ストップレジスタに設定する。次いで、実施例3同様に、データ経路30に伝送データを伝送させることにより、第1ハッシュ値算出器11、第2ハッシュ値算出器21が、スタートカウンタ値により指定された伝送データのデータをスタートデータとしてハッシュ値の計算を開始し、ストップカウンタ値により指定された伝送データのデータをストップデータとしてハッシュ値の計算を終了する。これにより、第1ハッシュ値算出器11、第2ハッシュ値算出器21が、それぞれ第1ハッシュ値、第2ハッシュ値を算出し、第1ハッシュ値と第2ハッシュ値を比較することにより、データ列(データD〜データX)をデータ経路30に伝送させることにより、データ伝送エラーが発生するか否かを検査することができる。
本発明の実施例4に係る半導体集積回路について、図10を参照して説明する。図10は、本発明の実施例4に係る半導体集積回路4のブロック図である。図6と同様の構成については、同様の符号を付し、説明を省略する。
本実施例に係る半導体集積回路4が、実施例3に係る半導体集積回路と異なる点は、本実施例に係る半導体集積回路4では、実施例3の第1ハッシュ値算出器11を備えない点である。
本実施例では、実施例2と同様に、正常な半導体集積回路(データ伝送エラーのない半導体集積回路)において、データ経路30に所定の伝送データを伝送させ、第2ハッシュ値算出器21によりハッシュ値を算出し、このハッシュ値を期待値として、データ伝送エラーを検査することが可能とする。
また、本実施例では、実施例4と同様に、スタートレジスタ26、エンドレジスタ28を用いることにより、特定のデータ列を対象としたデータ伝送エラーの検査をすることが可能である。
本発明の実施例5に係る半導体集積回路について、図11を参照して説明する。図11は、本発明の実施例5に係る半導体集積回路5のブロック図である。
本実施例に係る半導体集積回路5は、実施例1乃至4の構成が搭載される半導体集積回路の構成の一例である。
図11に示すように、本実施例の半導体集積回路は、CPU(中央処理装置)100と、メモリコントローラ110と、ブリッジ回路120と、PHYインタフェース130、140とを備える。PHYインタフェース130は、メモリコントローラ110と、外部に接続されるメモリ(図示せず)との間で、論理信号を電気信号に変換する等の役割を果たす。また、PHYインタフェース140は、ブリッジ回路120と、外部に接続される外部回路(図示せず)との間で、論理回路を電気信号に変換する等の役割を果たす。ここで、ブリッジ回路120は、PHYインタフェースとCPUバス(CPU100とブリッジ回路120とを繋ぐ線)プロトコルの変換を行う役目を果たす。
通常、メモリコントローラ110とPHYインタフェース130との間、及びブリッジ回路120とPHYインタフェース140との間では、電圧又は周波数が異なるため、この間でデータが伝送される際に、データ伝送エラーが発生する可能性が高い。このため、本実施例では、メモリコントローラ110とPHYインタフェース130の間のデータ伝送路、及びブリッジ回路120とPHYインタフェース140の間のデータ伝送路に対して、実施例1乃至実施例4の構成を備えることにより、メモリコントローラ110とPHYインタフェース130の間のデータ伝送路、及びブリッジ回路120とPHYインタフェース140の間のデータ伝送路のデータ伝送エラーを検査することを可能とする。
なお、本実施例では、メモリコントローラ110とPHYインタフェース130、ブリッジ回路120とPHYインタフェース140についての実施形態を説明したが、これに限定されない。
なお、前述した各実施例は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良されうると共に、本発明にはその等価物も含まれる。
1、2、3、4、5 半導体集積回路
10 第1領域
11 第1ハッシュ値算出器
12、22 XOR
13、23 フリップフロップ部
14、24、61 マルチプレクサ
15、17、25、27 比較器
16、26 スタートレジスタ
18、28 ストップレジスタ
19、29 制御部
20 第2領域
21 第2ハッシュ値算出器
30 データ経路
40、41、42 レジスタ
50 比較部
60 パターン発生器
100 CPU
110 メモリコントローラ
120 ブリッジ回路
130、140 PHYインタフェース
a、b ノード

Claims (6)

  1. 第1電圧及び第1周波数で動作する第1領域と、
    前記第1領域に隣接して設けられ、前記第1電圧又は前記第1周波数の少なくとも何れか一方と異なる電圧及び周波数である第2電圧及び第2周波数で動作する第2領域と、
    前記第1領域から前記第2領域にデータを伝送するデータ経路と、
    前記第1領域内の前記データ経路上から、前記データ経路上を伝送される第1データを読み込み、前記第1データから第1ハッシュ値を算出する第1ハッシュ値算出器と、
    前記第2領域内の前記データ経路上に配置され、前記データ経路上を伝送される第2データを読み込むレジスタと、
    前記レジスタから出力される第2データを読み込み、前記第2データから第2ハッシュ値を算出する第2ハッシュ値算出器と、
    前記第1ハッシュ値と前記第2ハッシュ値を読み込み、前記第1ハッシュ値と前記第2ハッシュ値とが一致しているか否かを比較する比較部と、
    を備えることを特徴とする半導体集積回路。
  2. 第1電圧及び第1周波数で動作する第1領域と、
    前記第1領域に隣接して設けられ、前記第1電圧又は前記第1周波数の少なくとも何れか一方と異なる電圧及び周波数である第2電圧及び第2周波数で動作する第2領域と、
    前記第1領域から前記第2領域にデータを伝送するデータ経路と、
    前記第2領域内の前記データ経路上に配置され、前記データ経路上を伝送されるデータを読み込むレジスタと、
    前記レジスタから出力されるデータを読み込み、前記データからハッシュ値を算出するハッシュ値算出器と、
    前記ハッシュ値算出器により算出された前記ハッシュ値と、予め算出された期待値とが一致しているか否か比較する比較部と、
    を備えることを特徴とする半導体集積回路。
  3. 前記第1ハッシュ値算出器が参照する第1所定値を保持する第1レジスタと、
    前記第1ハッシュ値算出器が参照する第2所定値を保持する第2レジスタと、
    前記第2ハッシュ値算出器が参照する第1所定値を保持する第3レジスタと、
    前記第2ハッシュ値算出器が参照する第2所定値を保持する第4レジスタと、
    をさらに備え、
    前記第1ハッシュ算出器が、前記第1領域内の前記データ経路上から、前記データ経路上を伝送される第1データを読み込み、前記第1データが前記第1レジスタに保持された第1所定値と一致している場合、前記第1ハッシュ値の計算を開始し、第1データが前記第2レジスタに保持された第2所定値と一致している場合、第1ハッシュ値の計算を終了し、
    前記第2ハッシュ算出器が、前記レジスタから出力される第2データを読み込み、前記第2データが前記第3レジスタに保持された第1所定値と一致している場合、第2ハッシュ値の計算を開始し、前記第2データが前記第4レジスタに保持された第2所定値と一致している場合、第1ハッシュ値の計算を終了する
    ことを特徴とする請求項1記載の半導体集積回路。
  4. 前記ハッシュ値算出器が参照する第1所定値を保持する第1レジスタと、
    前記ハッシュ値算出器が参照する第2所定値を保持する第2レジスタと、
    をさらに備え、
    前記ハッシュ算出器が、前記レジスタから出力されるデータを読み込み、前記データが前記第1レジスタに保持された第1所定値と一致している場合、ハッシュ値の計算を開始し、前記データが前記第2レジスタに保持された第2所定値と一致している場合、ハッシュ値の計算を終了する
    ことを特徴とする請求項2記載の半導体集積回路。
  5. 前記第1ハッシュ値算出器は、算出した第1ハッシュ値を保持する第1記憶部を備え、前記第1記憶部にはメモリマップの第1アドレスが付与されており、
    前記第2ハッシュ値算出器は、算出した第2ハッシュ値を保持する第2記憶部を備え、前記第2記憶部にはメモリマップの第2アドレスが付与されている
    ことを特徴とする請求項1または3記載の半導体集積回路。
  6. 前記ハッシュ値算出器は、算出したハッシュ値を保持する記憶部を備え、前記記憶部にはメモリマップのアドレスが付与されている
    ことを特徴とする請求項2または4記載の半導体集積回路。
JP2009135390A 2009-06-04 2009-06-04 半導体集積回路 Pending JP2010281695A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009135390A JP2010281695A (ja) 2009-06-04 2009-06-04 半導体集積回路
US12/722,203 US20100312986A1 (en) 2009-06-04 2010-03-11 Semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009135390A JP2010281695A (ja) 2009-06-04 2009-06-04 半導体集積回路

Publications (1)

Publication Number Publication Date
JP2010281695A true JP2010281695A (ja) 2010-12-16

Family

ID=43301581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009135390A Pending JP2010281695A (ja) 2009-06-04 2009-06-04 半導体集積回路

Country Status (2)

Country Link
US (1) US20100312986A1 (ja)
JP (1) JP2010281695A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012177626A (ja) * 2011-02-25 2012-09-13 Fujitsu Semiconductor Ltd 半導体装置、試験プログラム、試験方法、および試験装置
US11588498B2 (en) 2021-02-09 2023-02-21 Kioxia Corporation Character string search device and memory system

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9246812B2 (en) * 2014-04-17 2016-01-26 Alcatel Lucent Method and apparatus for selecting a next HOP
WO2018138590A1 (en) * 2017-01-24 2018-08-02 Semiconductor Energy Laboratory Co., Ltd. Display device and electronic device
GB2574614B (en) * 2018-06-12 2020-10-07 Advanced Risc Mach Ltd Error detection in an interconnection network for an integrated circuit
US11777712B2 (en) * 2019-03-22 2023-10-03 International Business Machines Corporation Information management in a database
KR102665443B1 (ko) * 2019-05-30 2024-05-09 삼성전자주식회사 반도체 장치
US20250190631A1 (en) * 2023-12-12 2025-06-12 Samsung Electronics Co., Ltd. System and method for verifying data transmission

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226710B1 (en) * 1997-11-14 2001-05-01 Utmc Microelectronic Systems Inc. Content addressable memory (CAM) engine
US6934796B1 (en) * 2002-02-01 2005-08-23 Netlogic Microsystems, Inc. Content addressable memory with hashing function
US6876559B1 (en) * 2002-02-01 2005-04-05 Netlogic Microsystems, Inc. Block-writable content addressable memory device
US7116664B2 (en) * 2002-05-13 2006-10-03 International Business Machines Corporation Lookups by collisionless direct tables and CAMs

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012177626A (ja) * 2011-02-25 2012-09-13 Fujitsu Semiconductor Ltd 半導体装置、試験プログラム、試験方法、および試験装置
US11588498B2 (en) 2021-02-09 2023-02-21 Kioxia Corporation Character string search device and memory system

Also Published As

Publication number Publication date
US20100312986A1 (en) 2010-12-09

Similar Documents

Publication Publication Date Title
JP2010281695A (ja) 半導体集積回路
US9417287B2 (en) Scheme for masking output of scan chains in test circuit
US20120221903A1 (en) Testing method, non-transitory, computer readable storage medium and testing apparatus
US7149944B2 (en) Semiconductor integrated circuit device equipped with read sequencer and write sequencer
US10401419B2 (en) Failure detection circuit, failure detection system and failure detection method
JP2017010273A (ja) 半導体故障検出装置
JP5279818B2 (ja) 試験モジュール、試験装置および試験方法
US9753084B2 (en) Debug circuit, semiconductor device, and debug method
US10067187B2 (en) Handling of undesirable distribution of unknown values in testing of circuit using automated test equipment
US20170131354A1 (en) Scheme for Masking Output of Scan Chains in Test Circuit
JP2006292646A (ja) Lsiのテスト方法
JP5279816B2 (ja) 試験モジュール、試験装置および試験方法
CN106896317B (zh) 通过扫描测试的扫描链所执行的电路排错方法及电路排错系统
US20210351813A1 (en) Network inspection system and computer readable medium
JP2017059185A (ja) スキャンテスト回路及びスキャンテスト装置
JP5949410B2 (ja) 半導体装置
US8539327B2 (en) Semiconductor integrated circuit for testing logic circuit
JP2014137292A (ja) スキャン回路、半導体装置および半導体装置の試験方法
JP2010061344A (ja) メモリ検査回路
JP2010096728A (ja) 半導体装置
JP2005293622A (ja) 集積回路、及びホールドタイムエラーの余裕度の検査方法
JP2008059688A (ja) 半導体メモリ試験装置
JP4869911B2 (ja) ロジックbist回路及びモジュロ回路
JP5453981B2 (ja) Lsi、及びそのテストデータ設定方法
JP2006064607A (ja) Icテスタ

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111125

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111205