JP2006178689A - 半導体集積回路及びそのレジスタ設定方法 - Google Patents
半導体集積回路及びそのレジスタ設定方法 Download PDFInfo
- Publication number
- JP2006178689A JP2006178689A JP2004370264A JP2004370264A JP2006178689A JP 2006178689 A JP2006178689 A JP 2006178689A JP 2004370264 A JP2004370264 A JP 2004370264A JP 2004370264 A JP2004370264 A JP 2004370264A JP 2006178689 A JP2006178689 A JP 2006178689A
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- initial setting
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】短時間での初期設定データをレジスタに設定可能とした半導体集積回路及びその方法を提供する。
【解決手段】スキャンチェーンで接続された複数の内部レジスタを有し、初期設定データを前記内部レジスタに設定する半導体集積回路であって、圧縮された状態で入力される初期設定データを解凍する解凍部と、スキャンチェーンに従って、前記解凍部により解凍された前記初期設定データを前記内部レジスタに設定する制御部とを有することとした。
また、初期設定データは、同一のビット単位データの連続性を考慮して、初期化に不要なビット単位のデータを変更や、スキャンチェーンの接続を行うこととしているため、圧縮度を高めることができる初期設定データとなっている。
【選択図】図1
【解決手段】スキャンチェーンで接続された複数の内部レジスタを有し、初期設定データを前記内部レジスタに設定する半導体集積回路であって、圧縮された状態で入力される初期設定データを解凍する解凍部と、スキャンチェーンに従って、前記解凍部により解凍された前記初期設定データを前記内部レジスタに設定する制御部とを有することとした。
また、初期設定データは、同一のビット単位データの連続性を考慮して、初期化に不要なビット単位のデータを変更や、スキャンチェーンの接続を行うこととしているため、圧縮度を高めることができる初期設定データとなっている。
【選択図】図1
Description
本発明は、半導体集積回路及びそのレジスタ設定方法に関し、特に外部から入力された初期設定データを内部レジスタに設定するものに関する。
従来、マイクロコンピュータなどにより所要のプログラムに基づいて動作制御される電子機器では、電源投入にともなってこの電子機器を初期起動状態とするブートプログラムが実行される(例えば、特許文献1参照。)。このように電子機器を初期起動状態とすることを単に「ブート」と呼ぶ。
このような電子機器では、ブートにともなってブートプログラムのコードを逐次実行していくことにより、電子機器内に設けられている半導体集積回路のレジスタ回路等に所定の初期値データを記憶させることによりブートが完了する。
特開平10−116187号公報
しかしながら、従来の半導体集積回路では、レジスタ回路のすべてのレジスタに対して、所定の初期値データを設定していたため、電子機器が使用できるようになるまでの時間が長くなり、その間、利用者は待機しなければならないという問題があった。
本発明者はこのような現状に鑑み、短時間でブートを完了可能なレジスタ回路を開発すべく研究を行い、本発明をなすに至ったものである。
本発明の半導体集積回路では、スキャンチェーンで接続された複数の内部レジスタを有し、初期設定データを内部レジスタに設定する半導体集積回路であって、圧縮された状態で入力される初期設定データを解凍する解凍部と、スキャンチェーンに従って、解凍部により解凍された初期設定データを内部レジスタに設定する制御部とを有することとした。
また、初期設定データは、初期化に不要なビット単位のデータを変更することにより、同一のビット単位データが連続するようにした。
また、スキャンチェーンは、同一のビット単位データの連続性を考慮して、内部レジスタを接続することとした。
また、本発明のレジスタ方法では、スキャンチェーンで接続された複数のレジスタに、初期設定データを設定するレジスタ設定方法であって、圧縮された状態で入力される初期設定データを解凍する第1の工程と、スキャンチェーンに従って、解凍部により解凍された初期設定データをレジスタに設定する第2の工程とを有することとした。
請求項1記載の発明によれば、スキャンチェーンで接続された複数の内部レジスタを有し、初期設定データを内部レジスタに設定する半導体集積回路であって、圧縮された状態で入力される初期設定データを解凍する解凍部と、スキャンチェーンに従って、解凍部により解凍された初期設定データを内部レジスタに設定する制御部とを有することとしたので、初期設定データを圧縮して外部メモリに蓄積することができ、外部メモリのメモリサイズを削減することができる。しかも、外部メモリから半導体集積回路へのデータ転送量も減少させることができ、データ転送の効率化を図ることができる。
請求項2記載の発明によれば、初期設定データは、初期化に不要なビット単位のデータを変更することにより、同一のビット単位データが連続することとしたので、初期設定データの圧縮率を高めることができる。したがって、外部メモリのメモリサイズの削減、データ転送の効率化及び消費電力の削減をさらに向上させることが可能となる。さらに、データ配列の連続性が増加するため、スキャンチェーンでのスイッチング回数が低減できるため、消費電力を大幅に低減することができる。
請求項3記載の発明によれば、スキャンチェーンは、同一のビット単位データの連続性を考慮して、内部レジスタを接続することとしたので、初期設定データの圧縮率を大幅に高めることができる。したがって、外部メモリのメモリサイズの削減、データ転送の効率化及び消費電力の削減を大幅に向上させることが可能となる。さらに、データ配列の連続性が増加するため、スキャンチェーンでのスイッチング回数が低減できるため、消費電力を大幅に低減することができる。
請求項4記載の発明によれば、スキャンチェーンで接続された複数のレジスタに、初期設定データを設定するレジスタ設定方法であって、圧縮された状態で入力される初期設定データを解凍する第1の工程と、スキャンチェーンに従って、解凍部により解凍された初期設定データをレジスタに設定する第2の工程とを有することとしたので、初期設定データを圧縮して外部メモリに蓄積することができ、外部メモリのメモリサイズを削減することができる。しかも、外部メモリから半導体集積回路へのデータ転送量も減少させることができ、データ転送の効率化を図ることができる。
本実施の形態の半導体集積回路及びそのレジスタ設定方法は、電子機器がブート動作する際に、電子機器内の半導体集積回路のレジスタを初期設定するために、予めメモリなどの記憶手段に記憶された圧縮状態の初期設定データが、記憶手段から半導体集積回路へ入力され、半導体集積回路は、その入力された圧縮状態の初期設定データを解凍して、スキャンチェーンに従って内部レジスタを設定するようにしたものである。
このように、半導体集積回路製造時のスキャンテストに使用するスキャンチェーンに従って内部レジスタを設定するようにしたので、その前段にデータ解凍部を挿入することが可能となる。
その結果、初期値データを圧縮された状態で受信することが可能となり、初期設定データを圧縮した形で記憶手段に記憶でき、記憶手段のメモリサイズを削減できる。
しかも、記憶手段から半導体集積回路へのデータ転送の効率化も図れる。
また、初期設定データ内で同一のビット単位データが連続するように、初期状態で必ずしも所定のデータを必要としないレジスタの値を変更したり、スキャンチェーンを張ったりするものである。
このように、初期設定データのデータ配列の連続性を増加させたため、スキャンチェーンでのスイッチング回数が低減できる。
その結果、消費電力を大幅に低減することができる。
以下において図面に基づいて本発明の実施形態を詳説する。図1は、本実施形態の半導体集積回路におけるレジスタ回路の要部を示した構成図である。
図1に示すように、本実施形態の半導体集積回路1は、データ解凍部2、スキャンコントロール部3、複数のレジスタ4a〜z,5a〜qを有している。
データ解凍部2は、外部メモリ6から圧縮された状態で入力される初期設定データを解凍する回路である。
また、スキャンコントロール部3は、データ解凍部2で解凍された初期設定データをスキャンチェーンへ挿入し、このスキャンチェーンに従って、初期設定データを順次シフトして複数のレジスタ4a〜z,5a〜qに設定する。
なお、レジスタ4a〜z,5a〜qは、フリップフロップなどにより構成される。
ここで、スキャンチェーンとは、レジスタであるフリップフロップをチェーン状に接続し、入力されたシリアルデータを、シフトレジスタを用いてこのチェーン状に接続されたフリップフロップに次々と値を設定,読み出しを可能にしたものである。
本実施形態では、このスキャンチェーンで接続された各レジスタ4a〜z,5a〜qへ初期設定データの設定を行う制御部である。
このように、半導体集積回路製造時のスキャンテストにのみ使用されていたスキャンチェーンに従って内部レジスタを設定するようにしたので、その前段にデータ解凍部を挿入することが可能となり、圧縮された初期設定データを受け入れ可能となる。
以下、圧縮された初期設定データをどのように生成するかという点につき、図面を参照して説明する。
図2は、データ解凍部2を有しない半導体集積回路1において、レジスタ4a〜z,5a〜qに、初期設定データがそれぞれ設定された状態を示している。この状態においては、同一ビット単位データの連続性、すなわち0の連続性や1の連続性は少ない。
ここで、初期状態で必ず所定の値のビット単位データを設定する必要があるEssentialレジスタ(以下、「重要レジスタ」とする。)の他に、初期状態では必ずしも所定の値のビット単位データを設定する必要がなく、ブート後に必要なデータに書き換えられるDon’t-careレジスタ(以下、「非重要レジスタ」)が複数存在する。
そこで、初期設定データのうち、重要レジスタに設定される値は変更せずに、非重要レジスタに設定される値を変更することによって、変更後の初期設定データの同一ビット単位データの連続性を増加させようにする。
そして、初期設定データの同一ビット単位データの連続性を増加させる非重要レジスタの書き換えは、図4に示すようなアルゴリズムで実行することができる。
このアルゴリズムは、初期設定データのビット単位データを先頭から順次読み込んで、非重要レジスタを検出すると、直前の重要レジスタのビット単位データと同一の値にすることで、期設定データの同一ビット単位データの連続性を増加させるアルゴリズムである。
以下、図2,3を参照して、具体的に説明する。
図3は、図2で説明した初期設定データを図4のアルゴリズムで変更した初期設定データが、スキャンチェーンで接続されたレジスタ4a〜z、5a〜qに、それぞれ設定された状態を示している。
ここで、本実施形態では、重要レジスタは、4a,4k,4m,4n,4o,4p,4z,5b,5c,5e,5g,5h,5j,5lであり、それ以外は非重要レジスタとする。
そして、初期設定データは、以下のように同一ビット単位データの連続性が増加するように非重要レジスタが変更される。
まず、重要レジスタ4aの次のレジスタは、非重要レジスタ4b〜jであるため、同一ビット単位データの連続性を増加するように、非重要レジスタ4b〜jは重要レジスタ3aと同じ値、すなわち「1」に統一される。したがって、「1」の値でない非重要レジスタ4b,4c,4f,4iが、「0」から「1」へ変更される。
次の重要レジスタ4kは「0」であり、その次のレジスタは非重要レジスタ4lであるため、データ配列の連続性を増加するように、非重要レジスタ4lは重要レジスタ4kと同じ値、すなわち「0」に統一される。したがって、非重要レジスタ4lが、「1」から「0」へ変更される。以下、同様に同一ビット単位データの連続性を増加するように非重要レジスタが変更される。
このように、同一ビット単位データの連続性を増加させように初期設定データを変更することによって、高圧縮可能な初期設定データとすることができる。
この結果、初期設定データを圧縮して外部メモリ6に蓄積することができ、外部メモリ6のメモリサイズを削減することができる。
しかも、外部メモリ6から半導体集積回路1へのデータ転送量も減少させることができ、データ転送の効率化を図ることができる。
さらに、同一ビット単位データの連続性が増加するため、スキャンチェーンでのスイッチング回数が低減できるため、消費電力を大幅に低減することができる。
次に、同一ビット単位データの連続性を増加させる別の方法として、スキャンチェーンの張り方を変更する方法について説明する。
図5は、半導体集積回路1において、図4のアルゴリズムによって非重要レジスタの値が変更された初期設定データが、図2や図3のスキャンチェーンとはチェーン張りを異にするスキャンチェーンで接続されたレジスタ4a〜z、5a〜qに、それぞれ設定された状態を示している。
図5の半導体集積回路では、図2、3に比べて、重要レジスタ4kと非重要レジスタ4qとが入れ替わるようにスキャンチェーンで接続されている。さらに、非重要レジスタ4qの値は、「1」へ変更されている。加えて、重要レジスタ5lと重要レジスタ5gとが入れ替わるようにスキャンチェーンで接続されている。
また、図6の半導体集積回路では、「1」の値を示す重要レジスタ、「0」の値を示す重要レジスタ、そして非重要レジスタの順にスキャンチェーンで接続し、非重要レジスタのレジスタを「0」に統一している。
このように、同一ビット単位データの連続性を考慮したスキャンチェーンの使用及び非重要レジスタに設定される値の変更によって、初期設定データの圧縮率を高めることができる。
なお、図2,3,5,6で示したスキャンチェーン順のレジスタ値を初期設定データとして圧縮した場合のデータサイズを表1に示す。なお、表1において、(1)(2)(3)(4)は、図2,3,5,6に対応する。
なお、上記の圧縮に際して使用する圧縮アルゴリズムは、以下に示すものであり、1又は0の繰り返し群ごとのデータを8ビットのデータとして出力するものである。
圧縮アルゴリズム:
[1bit:繰り返しデータ‘1’or‘0’][7it:繰り返し数]=total 8bit
[1bit:繰り返しデータ‘1’or‘0’][7it:繰り返し数]=total 8bit
例えば、「100110・・」をこの圧縮アルゴリズムで圧縮する場合、最初の「1」を「10000001(81h)」と、次の「00」を「00000010(02h)」と、その次の「11」を「10000010(82h)」というように、1又は0の繰り返し群毎に8ビットの圧縮データとする。
このように、同一ビット単位データの連続性を増加させるように、スキャンチェーンを張り、さらに非重要レジスタの値を変更することによって、高圧縮可能な初期設定データで半導体集積回路のレジスタの初期設定を行うことができる。
ここで、同一ビット単位データの連続性を考慮したスキャンチェーンを生成する方法について、図7にそのアルゴリズムの例を示す。
このアルゴリズムは、配線コスト、遅延コストに加え、上述の圧縮度(以下、「圧縮コスト」とする。)を考慮してスキャンチェーンを生成するものである。
図7中(1)の式は、配線コスト(A)、遅延コスト(B)、圧縮コスト(C)に所定の定数をそれぞれ乗算した後、それらを加算したものを最終的なコストとして算出するものである。
この式(1)によって、圧縮コストを考慮したコスト、すなわち、配線面、遅延面及び圧縮面の多面から見て一番良好なレジスタを判別することができる。
そして、式(2)に示すように、スキャンチェーン未接続のレジスタのうち、一番コストの低いレジスタに順次算出しながらスキャンチェーンを接続していく。
ここで、配線コストとは、レジスタ間を配線した場合の配線距離に基づいたものであり、遅延コストとは、レジスタ間を配線した場合の信号遅延に基づいたものである。
これらの算出方法としては、GATTO:a Genetic Algorithm for Automatic Test Pattern
Generation for Large Synchronous Sequential Circuits(IEEE Transactions on Computer-Aided Design, August 1996, Vol. 15, No. 8, pp. 943-951)などが挙げられる。
Generation for Large Synchronous Sequential Circuits(IEEE Transactions on Computer-Aided Design, August 1996, Vol. 15, No. 8, pp. 943-951)などが挙げられる。
また、圧縮コストは、スキャンチェーンで未接続のレジスタ数を分子とし、一つの連続する同一ビット単位データの群に存在するビット数(Length[value_group])を分母としたものを、同一ビット単位データの群毎に除算し、その結果を加算した値を基準としている。
たとえば、スキャンチェーンで接続されるレジスタの値が111100001111とすると、value_group(1)(2)(3)は、それぞれ12/4となり、Σは9となる。この値が小さいチェーン接続のものが一番圧縮コストの小さいものとなる。
すなわち、同一ビット単位データの群が少なく、群に存在するビット単位データ数が多ければ、圧縮率を高めることができるから、圧縮コストが小さくなる。
このように、圧縮コストを考慮してスキャンチェーンをレジスタに接続することによって、同一ビット単位データの連続性を増すことができる。
したがって、初期設定データの圧縮率を高くすることができるので、記憶手段のメモリサイズの削減、記憶手段から半導体集積回路へのデータ転送の効率化、及びスキャンチェーンでのスイッチング回数の低減による消費電力の削減を実現することができる。
なお、本実施形態では、圧縮された初期設定データを外部メモリから入力することとしているが、半導体集積回路内部に設けられたメモリから入力するようにしてもよい。
また、圧縮アルゴリズムも本実施形態のものに限られず、適宜適切なアルゴリズムの選択を行ってもよい。
1 半導体集積回路
2 データ解凍部
3 スキャンコントロール部
4,5 レジスタ
2 データ解凍部
3 スキャンコントロール部
4,5 レジスタ
Claims (4)
- スキャンチェーンで接続された複数の内部レジスタを有し、初期設定データを前記内部レジスタに設定する半導体集積回路であって、
圧縮された状態で入力される前記初期設定データを解凍する解凍部と、
スキャンチェーンに従って、前記解凍部により解凍された前記初期設定データを前記内部レジスタに設定する制御部とを有する半導体集積回路。 - 前記初期設定データは、初期化に不要なビット単位のデータを変更することにより、同一のビット単位データが連続するようにしたことを特徴とする請求項1に記載の半導体集積回路。
- 前記スキャンチェーンは、同一のビット単位データの連続性を考慮して、前記内部レジスタを接続されたことを特徴とする請求項1又は請求項2に記載の半導体集積回路。
- スキャンチェーンで接続された複数のレジスタに、初期設定データを設定するレジスタ設定方法であって、
圧縮された状態で入力される前記初期設定データを解凍する第1の工程と、
スキャンチェーンに従って、前記解凍部により解凍された前記初期設定データを前記レジスタに設定する第2の工程とを有するレジスタ設定方法
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004370264A JP2006178689A (ja) | 2004-12-21 | 2004-12-21 | 半導体集積回路及びそのレジスタ設定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004370264A JP2006178689A (ja) | 2004-12-21 | 2004-12-21 | 半導体集積回路及びそのレジスタ設定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006178689A true JP2006178689A (ja) | 2006-07-06 |
Family
ID=36732755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004370264A Pending JP2006178689A (ja) | 2004-12-21 | 2004-12-21 | 半導体集積回路及びそのレジスタ設定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006178689A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8189935B2 (en) | 2008-03-27 | 2012-05-29 | Renesas Electronics Corporation | Data processing device, image encoding/decoding device and data processing system |
WO2018130954A1 (ja) * | 2017-01-16 | 2018-07-19 | 株式会社半導体エネルギー研究所 | 半導体装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001352036A (ja) * | 2000-06-05 | 2001-12-21 | Mitsubishi Electric Corp | 半導体集積回路の初期化装置および半導体集積回路の初期化方法 |
-
2004
- 2004-12-21 JP JP2004370264A patent/JP2006178689A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001352036A (ja) * | 2000-06-05 | 2001-12-21 | Mitsubishi Electric Corp | 半導体集積回路の初期化装置および半導体集積回路の初期化方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8189935B2 (en) | 2008-03-27 | 2012-05-29 | Renesas Electronics Corporation | Data processing device, image encoding/decoding device and data processing system |
US8467618B2 (en) | 2008-03-27 | 2013-06-18 | Renesas Electronics Corporation | Data processing device, image encoding/decoding device and data processing system |
WO2018130954A1 (ja) * | 2017-01-16 | 2018-07-19 | 株式会社半導体エネルギー研究所 | 半導体装置 |
JPWO2018130954A1 (ja) * | 2017-01-16 | 2020-01-16 | 株式会社半導体エネルギー研究所 | 半導体装置 |
US10984743B2 (en) | 2017-01-16 | 2021-04-20 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
JP7110116B2 (ja) | 2017-01-16 | 2022-08-01 | 株式会社半導体エネルギー研究所 | 半導体装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7464310B2 (en) | Programmable state machine of an integrated circuit | |
US7653805B2 (en) | Processing in pipelined computing units with data line and circuit configuration rule signal line | |
US20040236898A1 (en) | Synchronous semiconductor storage device module and its control method, information device | |
US8058898B1 (en) | Compression and decompression of configuration data using repeated data frames | |
US20060067102A1 (en) | Non-volatile logic circuit and system LSI having the same | |
US4759021A (en) | Test pattern generator | |
US10074436B1 (en) | Memory device and data reading method thereof | |
US20070283139A1 (en) | Information processing apparatus and control method used thereby | |
US6151692A (en) | Integrated circuit having memory built-in self test (BIST) for different memory sizes and method of operation | |
JP2006178689A (ja) | 半導体集積回路及びそのレジスタ設定方法 | |
CN108459876B (zh) | 用于缩减面积的控制寄存器电路的方法与装置 | |
US7345496B2 (en) | Semiconductor apparatus and test execution method for semiconductor apparatus | |
JP2009122009A (ja) | テスト回路 | |
JP5077806B2 (ja) | メモリ試験装置 | |
CN112926283A (zh) | 用于集成电路的布局设计方法及装置、设备和存储介质 | |
JP2007094603A (ja) | プログラマブルデバイス制御装置およびプログラマブルデバイス制御方法 | |
JP4869911B2 (ja) | ロジックbist回路及びモジュロ回路 | |
JP4891055B2 (ja) | テスト回路 | |
JP2005106619A (ja) | 半導体装置およびその試験方法 | |
JP2005085215A (ja) | 半導体集積回路装置および半導体集積回路装置の検査装置 | |
JP2010112883A (ja) | 半導体集積回路 | |
JP5245653B2 (ja) | 半導体集積回路装置 | |
JP2006322931A (ja) | 集積回路検査装置 | |
KR20060092755A (ko) | 반도체칩 테스트 방법 | |
KR100349683B1 (ko) | 다수의 다중 입력 쉬프트 레지스터를 이용한 롬 테스트 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070518 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100817 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101214 |