(57)【要約】  【課題】  半導体集積回路装置において、ＲＯＭ回路やＲＡＭ回路に対する連続アドレスによるデータアクセス時における消費電流を低減する。  【解決手段】  ＲＯＭ回路１と、ＲＯＭ回路に対するデータアクセスを制御する制御回路６８とが内蔵された半導体集積回路装置であって、制御回路は、ＲＯＭ回路に対して、連続アドレスによるデータアクセスを行なう際に、１ビットのみ値が順次変化する複数ビットのアドレス信号を出力する。【選択図】  図１
2005044379.tif 000002
【特許請求の範囲】
【請求項１】
タイマカウンタ回路が内蔵された半導体集積回路装置であって、
前記タイマカウンタ回路は、
入力されるクロックを所定の分周比ずつ分周して複数の分周クロックを出力するカウンタ回路と、
前記カウンタ回路から出力される下位のビットに対応する分周クロックに基づいて、すぐ上位のビットに対応する分周クロックをデータとして格納し、１ビットのみ値が順次変化するカウント値を出力するカウンタレジスタと、
所定の比較設定値を格納するコンペアレジスタと、
前記カウンタレジスタからのカウント値と前記コンペアレジスタからの所定の比較設定値とを比較して、その比較結果を出力するコンペア回路とを含むことを特徴とする半導体集積回路装置。
【請求項２】
前記半導体集積回路装置は、前記コンペアレジスタに格納されている前記比較設定値を、前記コンペアレジスタからのカウンタ値の変化に対応した値に変換する手段を備えたことを特徴とする請求項１記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置に内蔵されたＲＯＭ回路やＲＡＭ回路を制御するためのアドレス信号を生成する技術に関し、特に、かかる半導体集積回路装置における消費電力を低減する技術に関する。
【背景技術】
【０００２】
従来例として、ＲＯＭ回路、およびＲＯＭ回路を制御する回路を内蔵した従来の半導体集積回路装置について、図１０から図１２を参照して説明する。
【０００３】
図１０は、かかる従来の半導体集積回路装置の構成を示すブロック図である。
【０００４】
図１０において、半導体集積回路装置は、ＲＯＭ回路１と、ＲＯＭ回路１を制御する制御回路８とを内蔵している。ＲＯＭ回路１は、データを記憶するためのメモリセルがアレイ状に配置されたメモリセルアレイ２と、外部の制御回路８から入力されるアドレス信号７をデコードするためのアドレスデコード回路３と、データを出力するためのデータ出力回路４とで構成されている。
【０００５】
制御回路８は、外部から入力されるクロック１１に基づいてアドレス信号７を生成するアドレス生成回路９と、ＲＯＭ回路１のデータ出力回路４から出力されるデータ出力信号６を処理するデータ処理回路１０とで構成されている。
【０００６】
データ出力信号６のビット数は、メモリセルアレイ２の構成で決まる。例えば、メモリの最小構成単位がバイト（８ビット）単位であれば、データ出力信号６は８ビット（ｎ＝８、Ｄ７〜Ｄ０）、メモリの最小構成単位がワード（１６ビット）単位であれば、データ出力信号６は１６ビット（ｎ＝１６、Ｄ１５〜Ｄ０）となる。また、アドレス信号７のビット数は、メモリセルアレイ２のメモリ容量に応じて決まる。例えば、メモリの最小構成単位がバイト単位でメモリ容量が１Ｋバイトであれば、アドレス信号７は１０ビット（ｍ＝１０、Ａ９〜Ａ０）、メモリ容量が６４Ｋバイトであれば、アドレス信号７は１６ビット（ｍ＝１６、Ａ１５〜Ａ０）となる。
【０００７】
制御回路８がＲＯＭ回路１からデータを読み出す場合、制御回路８はＲＯＭ回路１を選択していることを示すＣＳ信号（チップセレクト信号）１２およびアドレス信号７を出力する。アドレス信号７は、ＲＯＭ回路１のアドレスデコード回路３に入力され、メモリセルアレイ２の特定のアドレスを選択するワード線５に変換される。ワード線５で示されたメモリセルアレイ２の特定アドレスのデータは、データ出力回路４を通して出力される。データ出力信号６は、制御回路８のデータ処理回路１０に入力され、データに応じた処理がされる。
【０００８】
ここで、図１１を用いて、ＣＳ信号１２、アドレス信号７、データ出力信号６のタイミングについて説明する。
【０００９】
図１１（ａ）は、制御回路８がＲＯＭ回路１から１回だけデータを読み出す場合の信号タイミングを示している。図１１（ａ）において、まず、制御回路８のデータ処理回路１０がＣＳ信号１２を、アドレス生成回路９がアドレス信号７を出力する。ＣＳ信号１２が論理「Ｈ」レベルにある期間（ＲＯＭ選択期間）、ＲＯＭ回路１は入力されたアドレス信号７が有効なアドレスであると判断し、有効なデータを制御回路８のデータ処理回路１０に出力する。
【００１０】
また、図１１（ｂ）は、制御回路８がＲＯＭ回路１から連続してデータを読み出す場合の信号タイミングを示している。図１１（ｂ）において、ＣＳ信号１２は、一旦論理「Ｈ」レベルになると、連続してデータを読み出している期間中、論理「Ｈ」レベルを保持する。アドレス信号７は、ＲＯＭ回路１からデータを読み出す毎に（すなわち１サイクル毎に）インクリメントされる。図１１（ｂ）には、下位４ビット（Ａ３〜Ａ０）のみの変化タイミングを示している。一例として、アドレス信号の下位４ビット（Ａ３〜Ａ０）の変化は、１１１１→００００→０００１→００１０である。これらのアドレス信号に対応した有効なデータが順次、制御回路８のデータ処理回路１０に出力される。
【００１１】
なお、ここでは、ＣＳ信号１２が論理「Ｈ」レベルにある期間をＲＯＭ選択期間とし、論理「Ｌ」レベルにある期間をＲＯＭ非選択期間としたが、極性は任意であり、ＲＯＭ回路１に依存する。
【００１２】
次に、図１２を用いて、制御回路８のアドレス生成回路９についてさらに説明する。図１２（ａ）は、アドレス生成回路９の構成を示すブロック図で、図１２（ｂ）は、クロック１１に対するアドレス信号７のタイミング図である。なお、図１２（ｂ）には、アドレス信号７としてＡ３〜Ａ０の下位４ビットのみを例示している。
【００１３】
図１２（ａ）において、アドレス生成回路９は、外部からのクロック１１を分周するカウンタ回路１６で構成されている。アドレス信号７が、ｍビット（ｍは整数）の場合、カウンタ回路１６の段数はｍ段であり、クロック１１を１／２分周した信号がＡ０、（１／２）2（＝１／４）分周した信号がＡ１、（１／２）3（＝１／８）分周した信号がＡ２、（１／２）4（＝１／１６）分周した信号がＡ３、以下順次１／２ずつ分周され、（１／２）m分周した信号がＡ（ｍ−１）であり、それぞれ、出力バッファ１７を通して出力される。
【００１４】
図１２（ｂ）に示すように、クロック１１の立ち下がりエッジで、カウント回路１６がカウントアップしていき、各アドレス信号が変化する。なお、クロック１１の立ち上がりエッジでカウントを行うことも可能である。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、上述したような従来の半導体集積回路装置では、ＲＯＭ回路１から連続してデータを読み出す場合に、アドレス信号７の変化する確率が、約５０％となり、ＲＯＭ回路１のアドレスデコード回路３および制御回路８のアドレス生成回路９で消費される電流が大きくなるという問題があった。
【００１６】
これについて、図１３から図１５を用いて説明する。
【００１７】
図１３は、図１２のアドレス生成回路９におけるアドレス信号７の遷移表である。ここでは、アドレス信号７としてＡ３〜Ａ０の下位４ビットのみを例示している。図１３において、アドレス信号７が００００→０００１へと変化する場合、最下位ビットＡ０が０→１に変化しているだけなので、変化ビット数は１である。アドレス信号７が０１１１→１０００へと変化する場合、全ビットが変化しているので、変化ビット数は４である。また、図１３の１行目における００００という状態は、前の状態が１１１１であるから、やはり変化ビット数は４となる。
【００１８】
したがって、ＲＯＭ回路１から連続してデータを読み出している場合、図１３に示す１６サイクルの間にアドレス信号が変化する平均変化ビット数は、（４＋１＋２＋１＋３＋１＋２＋１＋４＋１＋２＋１＋３＋１＋２＋１）／１６＝３０／１６≒２ビットとなる。
【００１９】
また、平均変化確率は、２ビット／４ビット＝５０％となる。アドレス信号７のビット数が増えても同様に、アドレス信号７の変化確率は、平均５０％となる。
【００２０】
次に、このようなアドレス信号の変化が消費電流に及ぼす影響について、図１４を用いて説明する。
【００２１】
図１４は、ＲＯＭ回路１のアドレスデコード回路３の一構成例を示す回路図であり、アドレス信号７の下位４ビットＡ３〜Ａ０のデコード回路のみを示している。図１４において、各信号Ａ３〜Ａ０は、ＲＯＭ回路１を選択していることを示すＣＳ信号１２で制御され、ＣＳ信号１２が論理「Ｈ」レベルの場合に有効となる。
【００２２】
ＣＳ信号１２が論理「Ｈ」レベルの場合、４個の２入力ＮＡＮＤ回路からなるＮＡＮＤ回路群２０および４個のインバータ回路からなるインバータ回路群３０によって、Ａ３〜Ａ０の反転信号および非反転信号が生成される。ＮＡＮＤ回路群４０は、Ａ１およびＡ０のデコード回路、ＮＡＮＤ回路群４１は、Ａ３およびＡ２のデコード回路となる。ＮＡＮＤ回路群４０、４１でデコードされた信号は、さらに１６個の２入力ＮＯＲ回路からなるＮＯＲ回路群５０によって、Ａ３〜Ａ０のデコード信号１６本に変換される。
【００２３】
例えば、２入力ＮＯＲ回路５０１は、Ａ３〜Ａ０がすべて論理「Ｌ」である場合に、論理「Ｈ」レベル（すなわち選択されていることを示し、その他の組み合わせは非選択である）を出力し、２入力ＮＯＲ回路５０２は、Ａ３〜Ａ０がすべて論理「Ｈ」である場合に、論理「Ｈ」レベル（すなわち選択されていることを示し、その他の組み合わせは非選択である）を出力する。
【００２４】
これらの１６本の信号は、さらに上位のアドレス信号のデコード結果と組み合わされ、最終的にワード線５の信号となる。
【００２５】
ここで、制御回路８が、ＲＯＭ回路１から連続してデータを読み出している場合、ＣＳ信号１２は常に論理「Ｈ」レベルであるため、アドレス信号７の変化にともない、上述のＮＡＮＤ回路群２０の２入力ＮＡＮＤ回路、さらにそれに接続されているインバータ回路群３０のインバータ回路では必ず信号反転が生じ、電流を消費する。また、ＮＡＮＤ回路群４０、４１およびＮＯＲ回路群５０でも信号の組み合わせにより、信号反転が生じる。
【００２６】
また、複数のアドレス信号が同時に変化した場合、静的には反転しない回路が、動的に反転する可能性はある。これについて、図１５を用いて説明する。
【００２７】
図１５（ａ）は、図１４に示すアドレスデコード回路３から、Ａ１とＡ０に関するデコード部を抜き出した回路図で、図１５（ｂ）は、Ａ１とＡ０の変化が同時である場合、図１５（ｃ）は、Ａ１の変化がＡ０よりも遅い場合、図１５（ｄ）は、Ａ０の変化がＡ１よりも遅い場合の、それぞれにおける２入力ＮＡＮＤ回路４０１〜４０４からのそれぞれの出力信号のタイミング図である。
【００２８】
図１５において、Ａ１が０→１、Ａ０が１→０に変化した場合、その変化が全くの同時であれば、２入力ＮＡＮＤ回路４０２の出力信号Ｓ４０２が１→０に変化し、２入力ＮＡＮＤ回路４０３の出力信号Ｓ４０３が、０→１に変化するだけである（図１５（ｂ））。
【００２９】
ところが、図１５（ｃ）および図１５（ｄ）に示すように、２入力ＮＡＮＤ回路４０１および４０４においても、２つの入力信号のうち、どちらか一方がマスクレイアウト的な配線遅延の違いや、アドレス信号から入力に至るまでの回路段数の違いで、わずかでも遅延すれば、その遅延の間に動作し、電流を消費する（これは、一般に、ハザードと呼ばれる）。しかも、このとき、わずかの遅延の間に出力信号（図１５（ｃ）では出力信号Ｓ４０１、図１５（ｄ）では出力信号Ｓ４０４）が２回反転する。
【００３０】
アドレス信号の平均変化確率が５０％もあれば、このようなハザードはアドレスデコード回路３内において頻発する。このようにして、アドレスデコード回路３における消費電流が増大する。通常、ＲＯＭ回路１で消費される電流のうち、２０〜３０％がアドレスデコード回路３内で消費される。
【００３１】
また、制御回路８とＲＯＭ回路１との間のアドレス信号７用配線は、マスクレイアウト的に距離が長くなりやすく、負荷容量が大きくなる。アドレス信号７の平均変化確率が高くなればなるほど、アドレス生成回路９の出力バッファ１７（合計でｍ個）で消費される電流が増大する。
【００３２】
本発明は、上記従来の問題点に鑑みてなされたものであり、その目的は、ＲＯＭ回路やＲＡＭ回路に対する連続アドレスによるデータアクセス時に、アドレス生成回路およびアドレスデコード回路での消費電流を低減し、全体として低消費電力化を図った半導体集積回路装置を提供することにある。
【００３３】
また、本発明の他の目的は、連続してカウント値を出力するカウンタタイマ回路での消費電流を低減し、全体として低消費電力化を図った半導体集積回路装置を提供することにある。
【課題を解決するための手段】
【００３４】
前記の目的を達成するため、本発明に係る第１の半導体集積回路装置は、半導体メモリ回路と、半導体メモリ回路に対するデータアクセスを制御する制御回路とが内蔵された半導体集積回路装置であって、制御回路は、半導体メモリ回路に対して、連続アドレスによるデータアクセスを行なう際に、１ビットのみ値が順次変化する複数ビットのアドレス信号を出力することを特徴とする。この場合、半導体メモリ回路はＲＯＭ回路、ＲＡＭ回路、またはその両方からなる。
【００３５】
この構成によれば、制御回路が半導体メモリ回路に対して連続アドレスによるデータアクセスを行なう際に消費される電流を大幅に低減することができる。また、半導体メモリ回路としてＲＯＭ回路とＲＡＭ回路の両方を含む場合、１つの制御回路で両方を制御することができ、さらに有効になる。
【００３６】
第１の半導体集積回路装置において、制御回路は、入力されるクロックを分周して、ビット０を最下位ビットとした複数（ｍ）ビットのアドレス信号を生成するアドレス生成回路を含み、アドレス生成回路は、クロックを（１／４）×（１／２）i分周してビットｉ（ｉ＝０〜（ｍ−１））を生成するとともに、各ビットの位相をすぐ下位のビットの周期に対して１／４周期ずつ遅延させて、１ビットのみ値が順次変化する複数ビットのアドレス信号を出力することが好ましい。
【００３７】
この構成によれば、連続したアドレスの変化に対し、アドレス信号の変化が１ビットのみとなるアドレス生成回路を容易に構成することができる。
【００３８】
この場合、第１の半導体集積回路装置は、半導体メモリ回路に記憶されているデータの配置を、前記アドレス生成回路からのアドレス信号の変化に対応した配置に変換する手段を備えることが好ましい。
【００３９】
この構成によれば、半導体メモリ回路に何ら変更を加えることなく、半導体メモリ回路に格納されている、従来手法で開発されたプログラムを、制御回路で実行することができる。
【００４０】
前記の目的を達成するため、本発明に係る第２の半導体集積回路装置は、タイマカウンタ回路が内蔵された半導体集積回路装置であって、タイマカウンタ回路は、入力されるクロックを所定の分周比ずつ分周して複数の分周クロックを出力するカウンタ回路と、カウンタ回路から出力される下位のビットに対応する分周クロックに基づいて、すぐ上位のビットに対応する分周クロックをデータとして格納し、１ビットのみ値が順次変化するカウント値を出力するカウンタレジスタと、所定の比較設定値を格納するコンペアレジスタと、カウンタレジスタからのカウント値とコンペアレジスタからの所定の比較設定値とを比較して、その比較結果を出力するコンペア回路とを含むことを特徴とする。
【００４１】
この構成によれば、コンペアレジスタ方式により時間計測を行うタイマカウンタ回路における消費電流を低減することができる。
【００４２】
この場合、第２の半導体集積回路装置は、コンペアレジスタに格納されている比較設定値を、コンペアレジスタからのカウンタ値の変化に対応した値に変換する手段を備えることが好ましい。
【００４３】
この構成によれば、コンペアレジスタおよびコンペア回路に何ら変更を加えることなく、従来手法で開発されたプログラムを実行することができる。
【発明の効果】
【００４４】
本発明によれば、半導体集積回路装置が半導体メモリ回路としてＲＯＭ回路、ＲＡＭ回路、またはその両方を内蔵する場合、制御回路が半導体メモリ回路に対して連続アドレスによるデータアクセスを行なう際に、制御回路のアドレス生成回路および半導体メモリ回路のアドレスデコード回路で消費される電流を低減することができ、全体として低消費電力化を図った半導体集積回路装置を実現することが可能になる。
【００４５】
また、半導体集積回路装置がタイマカウンタ回路を内蔵する場合、コンペアレジスタで消費される電流を低減することができ、全体として低消費電力化を図った半導体集積回路装置を実現することが可能になる。
【発明を実施するための最良の形態】
【００４６】
以下、本発明の実施の形態について、図面を参照して説明する。
【００４７】
（第１の実施形態）
まず、本発明の第１の実施形態として、ＲＯＭ回路が内蔵された半導体集積回路装置について、図１から図４を参照して説明する。
【００４８】
図１は、本発明の第１の実施形態１による半導体集積回路装置の構成を示すブロック図である。なお、図１において、図８と同様の構成要素については同一の符号を付して説明を省略する。本実施形態が従来例と異なる点は、制御回路６８に含まれるアドレス生成回路６９の内部構成、および連続アドレスによりＲＯＭ回路１からデータを読み出す際に、アドレス生成回路６９から出力されるアドレス信号６７のタイミングにある。
【００４９】
ここで、図２を用いて、ＣＳ信号１２、アドレス信号６７、およびデータ出力信号６のタイミングについて説明する。
【００５０】
図２（ａ）は、制御回路６８がＲＯＭ回路１から１回だけデータを読み出す場合の信号タイミングを示す図で、図２（ｂ）は、制御回路６８がＲＯＭ回路１から連続してデータを読み出す場合の信号タイミングを示す図である。
【００５１】
図２（ａ）に示すように、制御回路６８がＲＯＭ回路１から１回だけデータを読み出す場合は、図１１（ａ）の従来例と同じアドレス信号となる。
【００５２】
しかし、図２（ｂ）に示すように、制御回路６８がＲＯＭ回路１から連続アドレスによりデータを読み出す場合、アドレス生成回路６９から順次出力されるアドレス信号６７は従来例と異なる。
【００５３】
すなわち、ＲＯＭ回路１からデータを読み出す毎に（すなわち１サイクル毎に）、一例として示す、アドレス信号６７の下位４ビット（Ａ３〜Ａ０）は、１０００→００００（Ａ３のみが１→０に変化）→０００１（Ａ０のみが０→１に変化）→００１１（Ａ１のみが０→１に変化）と変化する。これらのアドレスに対応した有効なデータが順次、制御回路６８のデータ処理回路１０に出力される。
【００５４】
このように、複数（ｍ）ビットのアドレス信号６７のうち、変化するのは１ビットのみである。
【００５５】
図３は、この様子をアドレス信号６７の遷移表にしたものである。図３に示すように、複数（ｍ）ビットのアドレス信号のうち、変化するのはつねに１ビットのみである。これにより、従来のアドレス生成回路９におけるアドレス信号７の平均変化確率が５０％であるのに対し、本実施形態のアドレス生成回路６９におけるアドレス信号６７の変化率は、１ビット／ｍビット＝１／ｍとなる。すなわち、ｍ＝１０であれば１０％、ｍ＝１６であれば約６％であり、従来の５０％（ｍに依存しない）に比べ、大幅にアドレス信号の変化率が低減される。
【００５６】
このように、アドレス信号６７の変化率が大きく低減されることから、図１４を用いて説明したようなアドレスデコード回路３で消費される電流が大きく減少する。また、アドレス信号が１ビットしか変化しないので、図１５を用いて説明したようなハザードによって回路が動作することはありえない。
【００５７】
通常、ＲＯＭ回路１で消費される電流のうち、２０〜３０％がアドレスデコード回路３内で消費されるが、本実施形態によれば、１０％以下に低減される。
【００５８】
ここで、図４を用いて、制御回路６８に含まれるアドレス生成回路６９についてさらに説明する。
【００５９】
図４において、アドレス生成回路６９は、外部からのクロック（ＣＬＫ）１１を分周するカウンタ回路７６と、カウンタ回路７６の出力をサンプリングして位相調整するサンプリング回路７７とで構成されている。アドレス信号６７が、ｍビット（ｍは整数）の場合、カウンタ回路７６の段数はｍ段である。カウンタ回路７６では、１／２分周クロック（１／２ＣＬＫ）、１／４分周クロック（１／４ＣＬＫ）、…、（１／２）m分周クロック（（１／２）mＣＬＫ）が生成される。ここで、カウンタ回路７６は、クロック１１の立ち下がりエッジでカウントダウンする方式を用いている。
【００６０】
従来例では、図１２で説明したように、分周クロックがそのまま出力バッファ１７を通して、アドレス信号７として出力されていたが、本実施形態のアドレス生成回路６９では、分周クロックがサンプリング回路７７と出力バッファ１７を通して、アドレス信号６７として出力される。サンプリング回路７７によって、各分周クロックは位相調整され、図３のアドレス遷移表に示す論理遷移を行なう。
【００６１】
例えば、アドレス信号６７の最下位ビットＡ０は、１／４分周クロック（１／４ＣＬＫ）を１／２分周クロック（１／２ＣＬＫ）の立ち下がりエッジでサンプリングした信号である。すなわち、最下位ビットＡ０は、１／４分周クロック（１／４ＣＬＫ）を１／４周期だけ遅延させた信号となる。
【００６２】
以下、最上位ビットから２ビット目のＡ（ｍ−２）までは同様にして生成される。すなわち、Ａ１は１／８分周クロック（１／８ＣＬＫ）を１／４周期だけ遅延させた信号、Ａ２は１／１６分周クロック（１／１６ＣＬＫ）を１／４周期だけ遅延させた信号、Ａ３は１／３２分周クロック（１／３２ＣＬＫ）を１／４周期だけ遅延させた信号、最上位ビットから２ビット目のＡ（ｍ−２）は（１／２）m分周クロック（（１／２）mＣＬＫ）を１／４周期だけ遅延させた信号となる。
【００６３】
なお、最上位ビットＡ（ｍ−１）も同様に生成することは可能であるが、カウンタ回路７６の段数が１段多く必要となること、また２m回カウント後に初期値に戻る必要があることを考慮して、（１／２）m分周クロックを出力バッファ１８で反転した信号を最上位ビットＡ（ｍ−１）として用いている。
【００６４】
このようにして、制御回路６８がＲＯＭ回路１から連続アドレスによりデータを読み出す場合、１ビットしか順次変化しない複数ビットのアドレス信号６７を生成するアドレス生成回路６９を簡単に構成することができる。
【００６５】
なお、サンプリング回路７７の分だけ、回路規模が大きくなるが、アドレス生成回路６９で消費される電流のうち、大きな負荷容量がつながる出力バッファ１７および１８で消費される電流が支配的であるので、問題にはならない。
【００６６】
（第２の実施形態）
次に、本発明の第２の実施形態について、図５および図６を参照して説明する。
【００６７】
通常、ＲＯＭ回路１のメモリセルアレイ２に記憶されているデータは、データ処理回路１０を動作させるための命令データであったり、データ処理回路１０が処理に応じて使用するテーブルデータであったりする。ＲＯＭ回路に記憶させるデータの開発時（いわゆるプログラム開発時）、アドレスの配置は従来のように、１ずつ増加している方がわかりやすい。したがって、本実施形態においても、従来と全く同じの手法でプログラム開発を行った後、データ内容がアドレス生成回路６９のアドレス信号６７の変化に対応した配置に変換される。
【００６８】
まず、ＲＯＭ回路１に記憶させるデータが、テーブルデータや、アドレスが変化するままに処理される命令データであれば、再配置方法１として、図１１に示す従来のアドレス遷移表と図３に示す本実施形態のアドレス遷移表との関係に従って再配置すればよい。この再配置方法について、図５を用いて説明する。
【００６９】
図５（ａ）は、本発明の第２実施形態におけるＲＯＭ回路１へのデータを再配置する手順を示すフローチャート、図５（ｂ）は、プログラム開発時に図５（ａ）のステップに沿って再配置されるデータ内容を示す図、図５（ｃ）は、プログラム実行時のデータ内容を示す図である。
【００７０】
図５（ａ）において、まず、従来手法によるプログラム開発を行ない（Ｓ５０１）、Ａ１の値を見て、Ａ１＝１の場合、上位と下位のデータ順序を入換える（すなわち、Ａ０＝０とＡ０＝１のデータを入換える）（Ｓ５０２）。次に、Ａ２＝１の場合、上位２つのデータと下位２つのデータの順序を入換える（すなわち、Ａ１＝０とＡ１＝１のデータを入換える）（Ｓ５０３）。さらに、Ａ３＝１の場合、上位4つのデータと下位4つのデータの順序を入換える（すなわち、Ａ２＝０とＡ２＝１のデータを入換える）（Ｓ５０４）。これにより、データ作成時のデータ内容が、図５（ｂ）に示すように再配置される。
【００７１】
このようにして、Ａ（ｍ−１）＝１の場合まで、同様の操作を繰返せば（Ｓ５０５）、データの再配置が完了する。再配置されたデータは、ＲＯＭ回路１のメモリセルアレイ２に配置され（Ｓ５０６）、プログラムとして実行される（図５（ｃ））。
【００７２】
こうして、ＲＯＭ回路１には何ら変更を加えることなく、従来手法で開発されたプログラムが制御回路６８で実行される。これによって、制御回路６８が、ＲＯＭ回路１から大量にテーブルデータを読み出す場合、あるいは順次処理されるような命令データを実行する場合に、半導体集積回路装置の消費電流を低減することができる。
【００７３】
ところで、命令コードの中には、ジャンプ命令や分岐命令などがあり、アドレスが順次増加するような処理では済まない場合がある。このような命令データを含む場合、再配置方法１によるデータの再配置を実施する前に、ジャンプ命令や分岐命令の飛び先アドレスをアドレス遷移表の関係に従って変換する。この変換方法について、図６を用いて説明する。
【００７４】
図６（ａ）は、本発明の第２実施形態におけるＲＯＭ回路１の飛び先アドレスを変換する手順を示すフローチャート、図６（ｂ）は、プログラム開発時に図６（ａ）のステップに沿って変換される飛び先アドレス内容を示す図である。
【００７５】
図６（ａ）において、まず、従来手法によるプログラム開発を行ない（Ｓ６０１）、そのプログラムについてジャンプ（ＪＵＭＰ）命令、分岐（ＢＲＡ）命令を検索する（Ｓ６０２）。次に、検索されたＪＵＭＰ命令やＢＲＡ命令について、飛び先アドレスのビットＡ１の値を見て、Ａ１＝１の場合、Ａ０を反転する（ＪＵＭＰ命令の飛び先アドレス０１１１→０１１０に変換、ＢＲＡ命令の飛び先アドレス１１０１はそのまま）（Ｓ６０３）。次に、飛び先アドレスのビットＡ２＝１の場合、Ａ１を反転する（ＪＵＭＰ命令の飛び先アドレス０１１０→０１００に変換、ＢＲＡ命令の飛び先アドレス１１０１→１１１１に変換）（Ｓ６０４）。さらに、飛び先アドレスのビットＡ３＝１の場合、Ａ２を反転する（ＪＵＭＰ命令の飛び先アドレス０１００はそのまま、ＢＲＡ命令の飛び先アドレス１１１１→１０１１に変換）（Ｓ６０５）。これにより、プログラム開発時の飛び先アドレスが、図６（ｂ）に示すように変換される。
【００７６】
このようにして、Ａ（ｍ−１）＝１の場合まで、同様の操作を繰返せば、アドレスの変換が完了する（Ｓ６０６）。その後、図５に示す再配置方法によりデータの再配置を行うことで（Ｓ６０７）、再配置されたデータが、ＲＯＭ回路１のメモリセルアレイ２に配置される（Ｓ６０８）。
【００７７】
これによって、ＲＯＭ回路１には何ら変更を加えることなく、従来手法で開発されたプログラムが、制御回路６８で実行される。もちろん、ジャンプ命令や分岐命令が実行されれば、アドレス信号６７の変化は複数ビットとなる。
【００７８】
（第３の実施形態）
次に、本発明の第３の実施形態として、ＲＡＭ回路を内蔵した半導体集積回路装置について、図７を参照して説明する。
【００７９】
図７は、本発明の第３の実施形態による半導体集積回路装置の構成を示すブロック図である。
【００８０】
第１および第２の実施形態において、制御回路６８がＲＯＭ回路１からテーブルデータを読み出すときや順次処理されるような命令データを実行する場合に、アドレス生成回路６９が出力するアドレス信号６７の変化が１ビットのみであることが、消費電流の低減に有効であることを述べた。このことは、本実施形態のように、制御回路６８がＲＡＭ回路８１を制御する場合でも、消費電流の低減に有効な場合がある。
【００８１】
例えば、データ処理回路１０が他の回路と大量のデータ送受信を行なう場合に、ＲＡＭ回路８１をデータバッファ領域として使用する場合や、データ処理回路１０がある処理を実行中に、他の処理をする必要性が発生したときに、現在処理している内容の退避メモリとしてＲＡＭ回路８１を使用する場合である。このような場合、制御回路６８は連続してＲＡＭ回路８１のデータを読み出したり、ＲＡＭ回路８１にデータを書き込んだりする。
【００８２】
ＲＡＭ回路８１をデータバッファ領域、あるいは退避メモリとして使用し、データ処理回路１０が自動的にアドレス生成回路６９を制御して、アドレス信号６７をインクリメントまたはデクリメントする場合、プログラムとしてはスタートアドレスを指定するだけである。
【００８３】
また、プログラムで逐次、ＲＡＭ回路８１に対するアドレスを指定する場合には、図６の飛び先アドレス変換方法を用いて、アドレス変換を行う。これによって、ＲＡＭ回路８１には何ら変更を加えることなく、従来手法で開発されたプログラムが、制御回路６８で実行される。
【００８４】
また、半導体集積回路装置においては、ＲＯＭ回路とＲＡＭ回路の両方を内蔵するものが数多くあり、同じ制御回路で両方を制御することは非常に有効である。
【００８５】
（第４の実施形態）
次に、本発明の第４の実施形態として、タイマカウンタ回路が内蔵された半導体集積回路装置について、図８および図９を参照して説明する。
【００８６】
図８は、本発明の第４の実施形態による半導体集積回路装置に内蔵されるタイマカウンタ回路の構成を示すブロック図である。
【００８７】
本実施形態と第１の実施形態との相違点は、アドレス生成回路６９の回路構成を、タイマカウンタ回路９１のカウンタ回路７６およびカウンタレジスタ９２として応用している点にある。すなわち、第１の実施形態におけるカウンタ回路７６をカウンタ回路７６として、サンプリング回路７７をカウンタレジスタ９２として用いている。
【００８８】
図８において、タイマカウンタ回路９１は、外部からのクロック１１を分周するｍ段のカウンタ回路７６と、カウントされた値を示すカウンタレジスタ９２と、計測するべき時間をカウント値（ＴＣ０〜ＴＣ（ｍ−１））に対する比較設定値（ＣＰ０〜ＣＰ（ｍ−１））として予め格納しておくコンペアレジスタ９３と、カウンタレジスタ９２からのカウント値とコンペアレジスタ９３の比較設定値とを比較するコンペア回路９４とで構成されている。コンペア回路９４は、カウンタレジスタ９２からのカウント値とコンペアレジスタ９３の比較設定値が一致した場合に、一致信号９５（ここでは、論理「Ｈ」レベル）を出力する。
【００８９】
ここで、カウンタ回路７６が動作中、カウンタレジスタ９２の各レジスタからの出力値ＴＣ０〜ＴＣ（ｍ−１）は、１ビットしか変化しないので、コンペア回路９４の各回路の動作確率は大きく低減される。また、図１３を用いて説明したようなハザードも起こりえない。このようにして、コンペア回路９４の消費電流を低減することができる。
【００９０】
また、計測すべき時間を比較設定値としてコンペアレジスタ９３に設定するとき、プログラム開発時には、カウンタ回路７６のカウントアップが、従来例で説明したカウンタ回路１６のカウントアップに従うことを前提にしたほうが計算しやすい。したがって、本実施形態のタイマカウント回路９１においても、従来と全く同じプログラム開発手法でコンペアレジスタ９３に比較設定値を格納した後、その値をカウンタレジスタ９２からのカウント値の変化に対応した値に変換する。この変換方法について、図９を用いて説明する。
【００９１】
図９は、本発明の第４の実施形態におけるコンペアレジスタ９３の値を変換する手順を示すフローチャートである。
【００９２】
図９において、まず、従来手法によるプログラム開発時に、比較設定値をコンペアレジスタ９３に格納し（Ｓ９０１）、コンペアレジスタ９３への比較設定値を検索する（Ｓ９０２）。次に、検索したコンペアレジスタ９３の比較設定値に対して、ＣＰ１の値を見て、ＣＰ１＝１の場合、ＣＰ０の値を反転する（Ｓ９０３）。次に、ＣＰ２＝１の場合、ＣＰ１の値を反転する（Ｓ９０４）。さらに、ＣＰ３＝１の場合、ＣＰ２の値を反転する（Ｓ９０５）。このようにして、ＣＰ（ｍ−１）＝１の場合まで、同様の操作を繰返せば（Ｓ９０６）、コンペアレジスタ９３の比較設定値の変換が完了する。
【００９３】
これによって、コンペアレジスタ９３およびコンペア回路９４に何ら変更を加えることなく、従来手法で開発されたプログラムを実行することができる。
【図面の簡単な説明】
【００９４】
【図１】本発明の第１の実施形態による半導体集積回路装置の構成を示すブロック図
【図２】図１の半導体集積回路装置において、ＲＯＭ回路１から１回だけデータを読み出す場合（ａ）、およびＲＯＭ回路１から連続してデータを読み出す場合（ｂ）のＣＳ信号、アドレス信号、データ出力信号のタイミング図
【図３】図１のアドレス生成回路６９におけるアドレス信号下位４ビットの遷移表
【図４】図１のアドレス生成回路６９の構成を示すブロック図（ａ）、クロック、分周クロック、およびアドレス信号のタイミング図（ｂ）
【図５】本発明の第２実施形態におけるＲＯＭ回路１へのデータを再配置する手順を示すフローチャート（ａ）、プログラム開発時に図５（ａ）のステップに沿って再配置されるデータ内容を示す図（ｂ）、プログラム実行時のデータ内容を示す図（ｃ）
【図６】本発明の第２実施形態におけるＲＯＭ回路１の飛び先アドレスを変換する手順を示すフローチャート（ａ）、プログラム開発時に図６（ａ）のステップに沿って変換される飛び先アドレス内容を示す図（ｂ）
【図７】本発明の第３の実施形態による半導体集積回路装置の構成を示すブロック図
【図８】本発明の第４の実施形態による半導体集積回路装置に内蔵されるタイマカウンタ回路の構成を示すブロック図
【図９】図８のコンペアレジスタ９３の値を変換する手順を示すフローチャート
【図１０】従来の半導体集積回路装置の構成を示すブロック図
【図１１】図１０の半導体集積回路装置において、ＲＯＭ回路１から１回だけデータを読み出す場合（ａ）、およびＲＯＭ回路１から連続してデータを読み出す場合（ｂ）のＣＳ信号、アドレス信号、データ出力信号のタイミング図
【図１２】従来のアドレス生成回路９の構成を示すブロック図（ａ）、クロックとアドレス信号のタイミング図（ｂ）
【図１３】従来のアドレス生成回路９におけるアドレス信号下位４ビットの遷移表
【図１４】アドレスデコード回路の部分構成を示す回路図
【図１５】図１４のアドレスデコード回路の部分構成を示す回路図（ａ）、Ａ１とＡ０の変化が同時である場合（ｂ）、Ａ１の変化がＡ０よりも遅い場合（ｃ）、Ａ０の変化がＡ１よりも遅い場合（ｄ）の、それぞれにおける２入力ＮＡＮＤ回路４０１〜４０４からのそれぞれの出力信号のタイミング図
【符号の説明】
【００９５】
１  ＲＯＭ回路
２  メモリセルアレイ
３  アドレスデコード回路
４  データ出力回路
５  ワード線
６  データ出力信号
７  アドレス信号
８  制御回路
９  アドレス生成回路
１０  データ処理回路
１１  クロック
１２  ＣＳ信号（チップセレクト信号）
１６  カウンタ回路
１７  出力バッファ
１８  出力バッファ
２０、４０、４１  ＮＡＮＤ回路群
３０  インバータ回路群
５０  ＮＯＲ回路群
５０１、５０２  ２入力ＮＯＲ回路
６７  アドレス信号
６８  制御回路
６９  アドレス生成回路
７６  カウンタ回路
７７  サンプリング回路
８１  ＲＡＭ回路
８２  メモリセルアレイ
８３  アドレスデコード回路
８４  データ出力回路
８５  ワード線
８６  データ出力信号
９１  タイマカウンタ回路
９２  カウンタレジスタ
９３  コンペアレジスタ
９４  コンペア回路
９５  一致信号
【図１】
2005044379.tif 000003
【図２】
2005044379.tif 000004
【図３】
2005044379.tif 000005
【図４】
2005044379.tif 000006
【図５】
2005044379.tif 000007
【図６】
2005044379.tif 000008
【図７】
2005044379.tif 000009
【図８】
2005044379.tif 000010
【図９】
2005044379.tif 000011
【図１０】
2005044379.tif 000012
【図１１】
2005044379.tif 000013
【図１２】
2005044379.tif 000014
【図１３】
2005044379.tif 000015
【図１４】
2005044379.tif 000016
【図１５】
2005044379.tif 000017