(57)【要約】【課題】中央処理装置がデータバスを介して周辺モジュールからデータを読み出し、また書き込む際に、中央処理装置がビット反転操作をしないで済むようにする。【解決手段】ＣＰＵ１００がデータバス１０１を介してデータの読み出しを行う周辺モジュール１０２は、バス１０３から書き込まれる反転指示データに従ってデータのビット値を反転値とするか否かの指示を与える反転指示信号１４２を発生するビット反転レジスタと、データバス１０１に送出するために記憶回路１２１から読み出されたデータＤ００〜Ｄ１５の各ビットに反転指示信号１４２の指示に従った非反転と反転のいずれかの操作を施し、データバス１０１へのデータ送出タイミングを制御するバッファ１３２に出力する排他的論理和回路１３１とを備えている。【選択図】      図１
2004362262.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置とこの中央処理装置がデータバスを介してデータの読み出しを行う周辺モジュールとを備える半導体集積回路において、
前記周辺モジュールは、
データのビット値を反転値とするか否かの指示を与える反転指示信号を発生するビット反転制御手段と、
前記データバスに送出するために記憶手段から読み出されたデータの各ビットに前記反転指示信号の指示に従った非反転と反転のいずれかの操作を施し、前記データバスへのデータ送出タイミングを制御するバッファに出力するビット操作手段と、
を備えたことを特徴とする半導体集積回路。
【請求項２】
前記ビット反転制御手段は、
前記データバスから書き込まれる反転指示データに従って前記反転指示信号を出力する反転レジスタである、
ことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記ビット反転制御手段は、
前記記憶手段に対するリードアクセスが行われる度に出力信号である前記反転指示信号を反転指示と非反転指示とに交互に変化させるフリップフロップである、
ことを特徴とする請求項１に記載の半導体集積回路。
【請求項４】
前記ビット反転制御手段は、
前記記憶手段に対するリードアクセスが行われる回数をカウントし、所定値に到達するとオーバーフロー信号を出力して再度所定値までのカウント動作を行うカウンタと、
前記カウンタから前記オーバーフロー信号が入力する度に出力信号である前記反転指示信号を反転指示と非反転指示とに交互に変化させるフリップフロップと、
を備えたことを特徴とする請求項１に記載の半導体集積回路。
【請求項５】
前記ビット反転制御手段は、
前記データバスから比較用のアドレス信号が書き込まれる比較用レジスタと、
前記記憶手段に対するリードアクセスが行われる度に読出アドレスと前記比較用レジスタの内容との一致不一致を判定する手段と、
前記判定の結果が、一致のときは反転指示と非反転指示の一方を示す前記反転指示信号を出力し、不一致のときは反転指示と非反転指示の他方を示す前記反転指示信号を出力する手段と、
を備えたことを特徴とする請求項１に記載の半導体集積回路。
【請求項６】
前記ビット反転制御手段は、
前記記憶手段に対するリードアクセスが行われる度に読出アドレス中のオフセット信号を監視し、前記オフセット信号が存在するときは反転指示と非反転指示の一方を示す前記反転指示信号を出力し、前記オフセット信号が存在しないときは反転指示と非反転指示の他方を示す前記反転指示信号を出力する手段である、
ことを特徴とする請求項１に記載の半導体集積回路。
【請求項７】
中央処理装置とこの中央処理装置がデータバスを介してデータの書き込み等を行う周辺モジュールとを備える半導体集積回路において、
前記周辺モジュールは、
データのビット値を反転値とするか否かの指示を与える反転指示信号を発生するビット反転制御手段と、
前記データバスから取り込むデータの各ビットに前記反転指示信号の指示に従った操作を施し、内部回路に出力するビット操作手段と、
を備えたことを特徴とする半導体集積回路。
【請求項８】
前記ビット反転制御手段は、
前記データバスから書き込まれる反転指示データに従って前記反転指示信号を出力する反転レジスタである、
ことを特徴とする請求項７に記載の半導体集積回路。
【請求項９】
前記ビット反転制御手段は、
前記内部回路の記憶手段へのライトアクセスが行われる度に出力信号である前記反転指示信号を反転指示と非反転指示とに交互に変化させるフリップフロップである、
ことを特徴とする請求項７に記載の半導体集積回路。
【請求項１０】
前記ビット反転制御手段は、
前記内部回路の記憶手段に対するライトアクセスが行われる回数をカウントし、所定値に到達するとオーバーフロー信号を出力して再度所定値までのカウント動作を行うカウンタと、
前記カウンタから前記オーバーフロー信号が入力する度に出力信号である前記反転指示信号を反転指示と非反転指示とに交互に変化させるフリップフロップと、
を備えたことを特徴とする請求項７に記載の半導体集積回路。
【請求項１１】
前記ビット反転制御手段は、反転許否信号が反転操作許可を示すとき前記反転指示信号を出力することを特徴とする請求項３〜６，９，１０のいずれか一つに記載の半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、中央処理装置にデータバスを介して各種の周辺モジュールが接続される半導体集積回路に関するものである。
【０００２】
【従来の技術】
中央処理装置（以降「ＣＰＵ」という）にデータバスを介して各種の周辺モジュールが接続される半導体集積回路では、周辺モジュール間のデータバスを介した転送データはＣＰＵの制御下に行われる。
【０００３】
ところで、ＣＰＵによるデータ処理機能を持つ半導体集積回路間でシリアルデータを授受する場合、受信側において、送信されてきたデータの確認が容易に行えるようにするため、送信側が、反転操作をしていない真値データと反転操作をした反転値データとをセットで送信する場合がある。
【０００４】
すなわち、送信側の半導体集積回路では、ＣＰＵが、まずＲＡＭモジュールから読み出した送信データをそのままシリアル通信モジュールに転送してレジスタに書き込み、引き続いて再度ＲＡＭモジュールから同じ送信データを読み出し、ビット反転操作を施してシリアル通信モジュールに転送してレジスタに書き込むようにしている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記のようにＣＰＵがビット反転操作を実行する方法では、送信するデータ量が大量である場合にはＣＰＵの処理負荷が大きくなるという問題がある。
【０００６】
この発明は、上記に鑑みてなされたもので、中央処理装置がデータバスを介して周辺モジュールからデータを読み出し、また書き込む際に、中央処理装置がビット反転操作をしないで済む半導体集積回路を得ることを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかる半導体集積回路は、中央処理装置とこの中央処理装置がデータバスを介してデータの読み出しを行う周辺モジュールとを備える半導体集積回路において、前記周辺モジュールは、データのビット値を反転値とするか否かの指示を与える反転指示信号を発生するビット反転制御手段と、前記データバスに送出するために記憶手段から読み出されたデータの各ビットに前記反転指示信号の指示に従った操作を施し、前記データバスへのデータ送出タイミングを制御するバッファに出力するビット操作手段とを備えたことを特徴とする。
【０００８】
この発明によれば、中央処理装置がデータバスを介してデータの読み出しを行う周辺モジュールにおいて、データバスに送出するために記憶手段から読み出されたデータの各ビットに反転指示信号の指示に従った操作を施し、中央処理装置に引き渡すことができる。したがって、中央処理装置は、ある周辺モジュールから読み出したデータを他の周辺モジュールに転送する場合にビット反転操作をしないで済み、処理負荷の軽減が図れる。
【０００９】
また、つぎの発明にかかる半導体集積回路は、中央処理装置とこの中央処理装置がデータバスを介してデータの書き込みを行う周辺モジュールとを備える半導体集積回路において、前記周辺モジュールは、データのビット値を反転値とするか否かの指示を与える反転指示信号を発生するビット反転制御手段と、前記データバスから取り込むデータの各ビットに前記反転指示信号の指示に従った操作を施し、内部回路に出力するビット操作手段とを備えたことを特徴とする。
【００１０】
この発明によれば、中央処理装置がデータバスを介してデータの書き込みを行う周辺モジュールにおいて、データバスから取り込むデータの各ビットに反転指示信号の指示に従った操作を施し、内部回路に出力することができる。したがって、中央処理装置は、ある周辺モジュールから読み出したデータを他の周辺モジュールに転送する場合にビット反転操作をしないで済み、処理負荷の軽減が図れる。
【００１１】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる半導体集積回路の好適な実施の形態を詳細に説明する。
【００１２】
実施の形態１．
図１は、この発明の実施の形態１である半導体集積回路の構成を示す回路図である。図１において、ＣＰＵ１００にデータバス１０１を介して接続される周辺モジュール１０２は、ＣＰＵ１００がデータの読み出しを行う例えばＲＡＭモジュールであり、１６ビットのデータＤ００〜Ｄ１５を並列に出力する記憶回路１２１を備えている。
【００１３】
この周辺モジュール１０２において、記憶回路１２１とデータバス１０１との間に、ビット反転制御回路１２２が設けられている。ビット反転制御回路１２２は、記憶回路１２１が出力する１６ビットのデータＤ００〜Ｄ１５毎に設けられる排他的論理和回路１３１およびトライステートバッファ１３２とビット反転レジスタ１３３とを備えている。
【００１４】
ビット反転レジスタ１３３には、データバス１０２に接続されるビット反転指示データ送出バス１０３から送られてくるビット反転指示データが設定され、２値レベルのビット反転指示信号１４２を出力するようになっている。
【００１５】
排他的論理和回路１３１は、記憶回路１２１が出力する１６ビットのデータＤ００〜Ｄ１５のうちの対応するデータビットとビット反転指示信号１４２との排他的論理和を取り、対応するトライステートバッファ１３２に出力する。トライステートバッファ１３２は、読出制御信号１４１に従って排他的論理和回路１３１の出力をデータバス１０１に送出するようになっている。
【００１６】
以上の構成において、ビット反転レジスタ１３３は、ビット反転指示データ送出バス１０３から送られてくるビット反転指示データが“０”である場合は、ビット反転指示信号１４２を低レベル（以降「Ｌレベル」という）にする。その結果、記憶回路１２１が出力する１６ビットのデータＤ００〜Ｄ１５は、そのまま排他的論理和回路１３１およびトライステートバッファ１３２を介してデータバス１０１に読出データＤＢ００〜ＤＢ１５として送出され、ＣＰＵ１００に取り込まれる。
【００１７】
一方、ビット反転レジスタ１３３は、ビット反転指示データ送出バス１０３から送られてくるビット反転指示データが“１”である場合は、ビット反転指示信号１４２を高レベル（以降「Ｈレベル」という）にする。その結果、記憶回路１２１が出力する１６ビットのデータＤ００〜Ｄ１５は、排他的論理和回路１３１にてビット反転操作を受け、トライステートバッファ１３２を介してデータバス１０１に読出データＤＢ００〜ＤＢ１５として送出され、ＣＰＵ１００に取り込まれる。
【００１８】
したがって、ＣＰＵ１００は、周辺モジュール１０２から読み出したデータを他の周辺モジュール（例えば外部にシリアルデータを出力するシリアルインタフェースモジュール）に転送する場合、単に、ビット反転レジスタ１３３に“０”を設定し、次に、“１”を設定する操作をするだけで、反転操作を行っていない非反転値データＤＢ００〜ＤＢ１５と反転操作を行った反転値データＤＢ００〜ＤＢ１５とを続けて読み出し、転送して書き込むことができる。
【００１９】
このように、実施の形態１によれば、データを読み出す周辺モジュールにおいてビット反転操作が行えるようにしたので、ＣＰＵは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【００２０】
実施の形態２．
図２は、この発明の実施の形態２である半導体集積回路の構成を示す回路図である。なお、図２では、図１に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態２に関わる部分を中心に説明する。
【００２１】
図２に示すように、実施の形態２では、図１に示した構成において、周辺モジュール１０２に代えて周辺モジュール２００が設けられている。周辺モジュール２００が備えるビット反転制御回路２０１では、図１に示したビット反転制御回路１２２において、ビット反転レジスタ１３３に代えてフリップフロップ（以降「Ｆ／Ｆ」と記す）２１１が設けられている。
【００２２】
Ｆ／Ｆ２１１は、記憶回路１２１へのリードアクセス信号２２１と反転許否信号（ＥＮ）２２２とが入力され、それに基づき反転指示信号１４２を出力するようになっている。
【００２３】
すなわち、反転許否信号（ＥＮ）２２２は、反転操作を許可するときは例えばＨレベルとなり、反転操作を許可しないときはＬレベルとなる信号である。Ｆ／Ｆ２１１は、反転許否信号（ＥＮ）２２２がＬレベルであるときは、リードアクセス信号２２１のアサート・ネゲートとは無関係に、反転指示信号１４２をＬレベルに固定するが、反転許否信号（ＥＮ）２２２がＨレベルであるときは、リードアクセス信号２２１がアサートされる度に、反転指示信号１４２をＬレベルとＨレベルとに交互に変化させるようになっている。
【００２４】
次に、図３は、図２に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。記憶回路１２１の図示しない読出制御回路は、記憶回路１２１に対し、反転許否信号（ＥＮ）２２２がＬレベルに操作されるときは、読出アドレスを順次更新するが、反転許否信号（ＥＮ）２２２がＨレベルに操作されるときは、同一アドレスに２回アクセスするようになっている。
【００２５】
ここでは、反転許否信号（ＥＮ）２２２がＨレベルに操作される場合であるので、図３（１）に示すように、読出アドレスは、“アドレスａ、アドレスａ”“アドレスｂ、アドレスｂ”“アドレスｃ、アドレスｃ”のように、２回続けて同じアドレスとなり、記憶回路１２１では、２回同じアドレスがアクセスされる。
【００２６】
リードアクセス信号２２１は、図３（２）に示すように、読出アドレス（１）のアドレス切り替わり時にＨレベルに立ち上がり、中央までＨレベルを維持してＬレベルに立ち下がり、以降次のアドレス切り替わり時までＬレベルを維持する信号である。
【００２７】
Ｆ／Ｆ２１１は、図３（３）に示すように、リードアクセス信号２２１がＨレベルからＬレベルに変化するタイミングに応答してＬレベルとＨレベルとに交互に変化する反転指示信号１４２を出力する。
【００２８】
具体的には、反転指示信号１４２は、“アドレスａ、アドレスａ”の最初のアドレスａにおけるリードアクセス信号２２１のＨレベルからＬレベルへの変化タイミングにてＨレベルからＬレベルに立ち下がり、２つ目のアドレスａにおけるリードアクセス信号２２１のＨレベルからＬレベルへの変化タイミングまでＬレベルを維持してそのＬレベルからＨレベルに立ち上がり、以降、各アドレスにおいて同様に変化する。
【００２９】
排他的論理和回路１３１では、実施の形態１にて説明したように、反転指示信号１４２がＬレベルであるときはビット反転操作は行わず、反転指示信号１４２がＨレベルであるときにビット反転操作を行う。図３の例で言えば、“アドレスａ、アドレスａ”“アドレスｂ、アドレスｂ”“アドレスｃ、アドレスｃ”における最初のアドレスではビット反転操作は行われず、２つ目のアドレスではビット反転操作が行われる。
【００３０】
したがって、データバス１０１に送出される読出データＤＢ００〜ＤＢ１５は、図３（４）に示すようになる。すなわち、読出アドレス“アドレスａ、アドレスａ”に対しては最初のアドレスａによる読出データＤＢ００〜ＤＢ１５は、反転操作が行われない非反転値データ“データａ正”となり、次のアドレスａによる読出データＤＢ００〜ＤＢ１５は、反転操作が行われた反転値データ“データａ反”となる。“アドレスｂ、アドレスｂ”“アドレスｃ、アドレスｃ”に対しても同様である。
【００３１】
このように、実施の形態２によれば、データを読み出す周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態１と同様にＣＰＵは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【００３２】
加えて、実施の形態２による周辺モジュールでは、ビット反転操作を行うか否かを選択することができ、ビット反転操作を行うときは、ＣＰＵ１００は、実施の形態１にて説明した特別の操作をすることなく簡単に非反転値データと反転値データとを連続して読み出すことができる。
【００３３】
したがって、実施の形態２では、記憶回路１２１から同一データを２回続けて読み出すようにすれば、ＣＰＵ１００は、同一データについての非反転値データと反転値データとを連続して読み出し、例えば外部にシリアルデータを出力するシリアルインタフェースモジュールに転送して書き込むことができる。
【００３４】
実施の形態３．
図４は、この発明の実施の形態３である半導体集積回路の構成を示す回路図である。なお、図４では、図２に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態３に関わる部分を中心に説明する。
【００３５】
図４に示すように、実施の形態３では、図２に示した構成において、周辺モジュール２００に代えて周辺モジュール３００が設けられている。周辺モジュール３００が備えるビット反転制御回路３０１では、図２に示したビット反転制御回路２０１において、１６ビットカウンタ３１１が設けられている。
【００３６】
１６ビットカウンタ３１１は、初期値は任意であるが、リードアクセス信号２２１がアサートされる回数をカウントし、アサートされた回数が１６回に到達する度にオーバーフロー信号３２１をＦ／Ｆ２１１に与えることを繰り返すようになっている。
【００３７】
Ｆ／Ｆ２１１は、１６ビットカウンタ３１１からのオーバーフロー信号３２１と反転許否信号（ＥＮ）２２２とが入力され、それに基づき反転指示信号１４２を出力するようになっている。
【００３８】
すなわち、Ｆ／Ｆ２１１は、反転許否信号（ＥＮ）２２２がＬレベルであるときは、１６ビットカウンタ３１１からオーバーフロー信号３２１の入力有無とは無関係に、反転指示信号１４２をＬレベルに固定するが、反転許否信号（ＥＮ）２２２がＨレベルであるときは、オーバーフロー信号３２１が入力される度に、反転指示信号１４２をＬレベルとＨレベルとに交互に変化させるようになっている。
【００３９】
次に、図５は、図４に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。記憶回路１２１の図示しない読出制御回路は、記憶回路１２１に対し、反転許否信号（ＥＮ）２２２がＬレベルに操作されるときは、読出アドレスを順次更新するが、反転許否信号（ＥＮ）２２２がＨレベルに操作されるときは、１６個のアドレスに２回アクセスすることを繰り返すようになっている。
【００４０】
ここでは、反転許否信号（ＥＮ）２２２がＨレベルに操作される場合であるので、図５（１）に示すように、読出アドレスは、“アドレスａ、アドレスｂ、・・・、アドレスｐ”“アドレスａ、アドレスｂ、・・・、アドレスｐ”のように、１６個のアドレスが２回続けて記憶回路１２１に与えられる。
【００４１】
リードアクセス信号２２１は、図５（２）に示すように、読出アドレス（１）のアドレス切り替わり時にＨレベルに立ち上がり、中央までＨレベルを維持してＬレベルに立ち下がり、以降次のアドレス切り替わり時までＬレベルを維持する信号である。
【００４２】
１６ビットカウンタ３１１は、図５（３）に示すように、リードアクセス信号２２１がＨレベルに立ち上がるのに応答してカウントアップ動作を行い、“アドレスａ、アドレスｂ、・・・、アドレスｐ”に対応して値１から値Ｆまでをカウントし、図５（４）に示すように、“アドレスａ”のカウント時にオーバーフロー信号３２１を出力する。オーバーフロー信号３２１は、リードアクセス信号２２１がＨレベルを維持している期間をパルス幅とするパルス信号である。
【００４３】
Ｆ／Ｆ２１１では、図５（５）に示すように、オーバーフロー信号３２１の終了タイミングに応答してＬレベルとＨレベルとに交互に変化する反転指示信号１４２を出力する。
【００４４】
具体的には、反転指示信号１４２は、最初の“アドレスａ、アドレスｂ、・・・、アドレスｐ”ではＬレベルであり、２つ目の“アドレスａ、アドレスｂ、・・・、アドレスｐ”ではＨレベルである。以降、各１６ビット毎の２アドレスにおいて同様に変化する。
【００４５】
排他的論理和回路１３１では、実施の形態１にて説明したように、反転指示信号１４２がＬレベルであるときはビット反転操作は行わず、反転指示信号１４２がＨレベルであるときにビット反転操作を行う。図５の例で言えば、最初の“アドレスａ、アドレスｂ、・・・、アドレスｐ”ではビット反転操作は行われず、２つ目の“アドレスａ、アドレスｂ、・・・、アドレスｐ”ではビット反転操作が行われる。
【００４６】
したがって、データバス１０１に送出される読出データＤＢ００〜ＤＢ１５は、図５（６）に示すようになる。すなわち、読出アドレス“アドレスａ、アドレスｂ、・・・、アドレスｐ”“アドレスａ、アドレスｂ、・・・、アドレスｐ”に対しては、最初の“アドレスａ、アドレスｂ、・・・、アドレスｐ”による読出データＤＢ００〜ＤＢ１５は、反転操作が行われない非反転値データ“データａ正、データｂ正、・・・、データｐ正”となり、次の“アドレスａ、アドレスｂ、・・・、アドレスｐ”による読出データＤＢ００〜ＤＢ１５は、反転操作が行われた反転値データ“データａ反、データｂ反、・・・、データｐ反”となる。以降、各１６ビット毎の２アドレスに対する読出データＤＢ００〜ＤＢ１５も同様である。
【００４７】
このように、実施の形態３によれば、データを読み出す周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態１，２と同様にＣＰＵは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【００４８】
加えて、実施の形態３による周辺モジュールでは、ビット反転操作を行うか否かを選択することができ、ビット反転操作を行うときは、ＣＰＵ１００は、実施の形態１にて説明した特別の操作をすることなく簡単に、任意の読み出し回数毎に非反転値データと反転値データとを連続して読み出すことができる。
【００４９】
したがって、実施の形態３では、任意の読み出し回数を１単位として記憶回路１２１から同一データを２回続けて読み出すようにすれば、ＣＰＵ１００は、任意の読み出し回数分のデータについての非反転値データと反転値データとを連続して読み出し、例えば外部にシリアルデータを出力するシリアルインタフェースモジュールに転送して書き込むことができる。
【００５０】
実施の形態４．
図６は、この発明の実施の形態４である半導体集積回路の構成を示す回路図である。なお、図６では、図１に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態４に関わる部分を中心に説明する。
【００５１】
図６に示すように、実施の形態４では、図１に示した構成において、周辺モジュール１０２に代えて周辺モジュール４００が設けられている。周辺モジュール４００が備えるビット反転制御回路４０１では、図１に示したビット反転制御回路１２２において、ビット反転レジスタ１３３に代えて、比較用アドレスレジスタ４１０、３入力のＡＮＤ回路４１１、２入力のＡＮＤ回路４１２およびラッチ回路４１３が設けられている。
【００５２】
比較用アドレスレジスタ４１０には、データバス１０２に接続される比較用アドレス送出バス４０３から送られてくる比較用アドレスが設定され、その設定された比較用アドレスを３入力のＡＮＤ回路４１１に出力する。
【００５３】
ＡＮＤ回路４１１は、他の２入力がリードアクセス信号２２１と読出アドレス４２１であり、３入力の条件が一致したとき、Ｈレベルのアドレス一致信号４２２を２入力のＡＮＤ回路４１２に出力する。
【００５４】
ＡＮＤ回路４１２は、他の１入力が反転許否信号２２２であり、アドレス一致信号４２２と反転許否信号２２２が共にＨレベルであるとき、ラッチ回路４１３に対する出力をＨレベルにし、その他の場合はＬレベルをラッチ回路４１３に出力する。
【００５５】
ラッチ回路４１３は、ＡＮＤ回路４１２の出力を取り込み反転指示信号１４２を出力する。したがって、反転指示信号１４２の信号レベルは、ＡＮＤ回路４１２の出力レベルと同じになる。
【００５６】
次に、図７は、図６に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。図７（１）では、読出アドレスは、“０××０Ｈ”“０××２Ｈ”“０××４Ｈ”“１××０Ｈ”“１××２Ｈ”“１××４Ｈ”“０××６Ｈ”“１××６Ｈ”・・となっている。このように、記憶回路１２１の図示しない読出制御回路は、記憶回路１２１に対し、任意の読出アドレスを与える。これは、ＡＮＤ回路４１１に与えられる読出アドレス４２１でもある。
【００５７】
リードアクセス信号２２１は、図７（２）に示すように、読出アドレス（１）のアドレス切り替わり時にＨレベルに立ち上がり、中央までＨレベルを維持してＬレベルに立ち下がり、以降次のアドレス切り替わり時までＬレベルを維持する信号である。
【００５８】
図７（３）に示すように、比較用アドレスレジスタ４１０には、読出アドレス“１××０Ｈ”のタイミングで、比較用アドレス“１×××Ｈ”が設定される。この比較用アドレス“１×××Ｈ”は、読出アドレス（１）中のアドレス“１××０Ｈ”“１××２Ｈ”“１××４Ｈ”“１××６Ｈ”と一致する。
【００５９】
したがって、ＡＮＤ回路４１１が出力するアドレス一致信号４２２は、図７（４）に示すように、読出アドレス（１）中のアドレス“０××０Ｈ”“０××２Ｈ”“０××４Ｈ”のタイミングでは発生せず、アドレス“１××０Ｈ”“１××２Ｈ”“１××４Ｈ”“１××６Ｈ”のタイミングでは、リードアクセス信号２２１がアサートされる度にそのＨレベルである期間毎に発生し、次のアドレス“０××６Ｈ”のタイミングでは発生せず、次のアドレス“１××６Ｈ”のタイミングでは、リードアクセス信号２２１がＨレベルである期間に発生することになる。
【００６０】
ここでは、反転許否信号（ＥＮ）２２２がＨレベルに操作される場合であるので、ＡＮＤ４１２からラッチ回路４１３に対して、図７（４）に示すアドレス一致信号４２２がそのまま入力されるので、ラッチ回路４１３が出力する反転指示信号１４２は、図７（５）に示すように、読出アドレス（１）中のアドレス“０××０Ｈ”“０××２Ｈ”“０××４Ｈ”のタイミングではＬレベルとなり、アドレス“１××０Ｈ”“１××２Ｈ”“１××４Ｈ”“１××６Ｈ”のタイミングではＨレベルとなり、次のアドレス“０××６Ｈ”のタイミングではＬレベルとなり、次のアドレス“１××６Ｈ”のタイミングではＨレベルとなる。
【００６１】
排他的論理和回路１３１では、実施の形態１にて説明したように、反転指示信号１４２がＬレベルであるときはビット反転操作は行わず、反転指示信号１４２がＨレベルであるときにビット反転操作を行う。図７の例で言えば、比較用アドレス（３）と一致したアドレス“１××０Ｈ”“１××２Ｈ”“１××４Ｈ”“１××６Ｈ”ではビット反転操作が行われ、一致しないアドレス“０××０Ｈ”“０××２Ｈ”“０××４Ｈ”“０××６Ｈ”ではビット反転操作は行われない。
【００６２】
したがって、データバス１０１に送出される読出データＤＢ００〜ＤＢ１５は、図７（６）に示すようになる。すなわち、読出アドレス（１）中、アドレス“０××０Ｈ”“０××２Ｈ”“０××４Ｈ”による読出データＤＢ００〜ＤＢ１５は、反転操作が行われない非反転値データ“データａ正、データｂ正、データｃ正”となり、次のアドレス“１××０Ｈ”“１××２Ｈ”“１××４Ｈ”による読出データＤＢ００〜ＤＢ１５は、反転操作が行われた反転値データ“データＤ反、データＥ反、データＦ反”となり、次のアドレス“０××６Ｈ”による読出データＤＢ００〜ＤＢ１５は、反転操作が行われない非反転値データ“データＧ正”となり、次のアドレス“１××６Ｈ”による読出データＤＢ００〜ＤＢ１５は、反転操作が行われた反転値データ“データＨ反”となる。
【００６３】
このように、実施の形態４によれば、データを読み出す周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態１〜３と同様にＣＰＵは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【００６４】
加えて、実施の形態４による周辺モジュールでは、ビット反転操作を行うか否かを選択することができ、ビット反転操作を行うときは、ＣＰＵ１００は、実施の形態１にて説明した特別の操作をすることなく、単に任意の比較アドレスを設定するだけで、その任意の比較アドレスと一致した読出データについて反転値データを得ることができる。
【００６５】
実施の形態５．
図８は、この発明の実施の形態５である半導体集積回路の構成を示す回路図である。なお、図８では、図６に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態５に関わる部分を中心に説明する。
【００６６】
図８に示すように、実施の形態５では、図６に示した構成において、周辺モジュール４００に代えて周辺モジュール５００が設けられている。周辺モジュール５００が備えるビット反転制御回路５０１では、図６に示したビット反転制御回路４０１において、比較用アドレスレジスタ４１０、３入力のＡＮＤ回路４１１、２入力のＡＮＤ回路４１２に代えて、３入力のＡＮＤ回路５１０が設けられ、また記憶回路１２１に読出アドレスを与えるデコーダ５１２が明示されている。
【００６７】
この実施の形態５にて扱う読出アドレス５２１は、オフセットされている“１×××Ｈ”の場合と、オフセットされていない“０×××Ｈ”の場合とがある。そこで、読出アドレス５２１のうち、オフセット操作されることのあるアドレス上位５２３をＡＮＤ回路５１０に与え、アドレス下位“×××Ｈ”５２４をデコーダ５１２に与えるようにしている。
【００６８】
ＡＮＤ回路５１０は、他の２入力がリードアクセス信号２２１と反転許否信号２２２であり、３入力の条件が一致したとき、Ｈレベルのオフセットアドレスヒット信号５２６をラッチ回路４１３に出力する。
【００６９】
ラッチ回路４１３は、ＡＮＤ回路５１０の出力を取り込み反転指示信号１４２を出力する。したがって、反転指示信号１４２の信号レベルは、ＡＮＤ回路５１０の出力レベルと同じになる。
【００７０】
次に、図９は、図８に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。図９（１）では、読出アドレスは、“０××０Ｈ”“０××２Ｈ”“０××４Ｈ”“１××０Ｈ”“１××２Ｈ”“１××４Ｈ”“０××６Ｈ”“１××６Ｈ”・・となっている。
【００７１】
したがって、ＡＮＤ回路５１０に入力されるアドレス上位５２３は、図９（３）に示すように、“０”“０”“０”“１”“１”“１”“０”“１”に対応したレベルになる。また、デコーダ５１２に入力されるアドレス下位５２４は、図９（４）に示すように、“××０Ｈ”“××２Ｈ”“××４Ｈ”“××０Ｈ”“××２Ｈ”“××４Ｈ”“××６Ｈ”“××６Ｈ”となる。
【００７２】
リードアクセス信号２２１は、図９（２）に示すように、読出アドレス（１）のアドレス切り替わり時にＨレベルに立ち上がり、中央までＨレベルを維持してＬレベルに立ち下がり、以降次のアドレス切り替わり時までＬレベルを維持する信号である。
【００７３】
ここでは、反転許否信号（ＥＮ）２２２がＨレベルに操作される場合であるので、ＡＮＤ５１０からラッチ回路４１３に対して、図９（３）に示すアドレス上位の信号波形がそのままオフセットアドレスヒット信号５２６として入力されるので、ラッチ回路４１３が出力する反転指示信号１４２は、図９（５）に示すように、読出アドレス（１）中のアドレス“０××０Ｈ”“０××２Ｈ”“０××４Ｈ”のタイミングではＬレベルとなり、アドレス“１××０Ｈ”“１××２Ｈ”“１××４Ｈ”“１××６Ｈ”のタイミングではＨレベルとなり、次のアドレス“０××６Ｈ”のタイミングではＬレベルとなり、次のアドレス“１××６Ｈ”のタイミングではＨレベルとなる。
【００７４】
排他的論理和回路１３１では、実施の形態１にて説明したように、反転指示信号１４２がＬレベルであるときはビット反転操作は行わず、反転指示信号１４２がＨレベルであるときにビット反転操作を行う。図９の例で言えば、オフセットアドレスヒット信号５２６が発生したアドレス“１××０Ｈ”“１××２Ｈ”“１××４Ｈ”“１××６Ｈ”ではビット反転操作が行われ、オフセットアドレスヒット信号５２６が発生しないアドレス“０××０Ｈ”“０××２Ｈ”“０××４Ｈ”“０××６Ｈ”ではビット反転操作は行われない。
【００７５】
したがって、データバス１０１に送出される読出データＤＢ００〜ＤＢ１５は、図７（６）に示すようになる。すなわち、読出アドレス（１）におけるアドレス下位（４）が記憶回路１２１に与えられるので、そのアドレス下位（４）中、アドレス“××０Ｈ”“××２Ｈ”“××４Ｈ”による読出データＤＢ００〜ＤＢ１５は、反転操作が行われない非反転値データ“データａ正、データｂ正、データｃ正”となり、次のアドレス“××０Ｈ”“××２Ｈ”“××４Ｈ”による読出データＤＢ００〜ＤＢ１５は、反転操作が行われた反転値データ“データａ反、データｂ反、データｃ反”となり、次のアドレス“××６Ｈ”による読出データＤＢ００〜ＤＢ１５は、反転操作が行われない非反転値データ“データＤ正”となり、次のアドレス“××６Ｈ”による読出データＤＢ００〜ＤＢ１５は、反転操作が行われた反転値データ“データＤ反”となる。
【００７６】
このように、実施の形態５によれば、データを読み出す周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態１〜４と同様にＣＰＵは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【００７７】
加えて、実施の形態５による周辺モジュールでは、ビット反転操作を行うか否かを選択することができ、ビット反転操作を行うときは、オフセットされる読出アドレスを使用して、オフセットアドレスにヒットしないときは非反転値データを読み出し、オフセットアドレスにヒットしたときは反転値データを読み出すことができる。
【００７８】
実施の形態６．
図１０は、この発明の実施の形態６である半導体集積回路の構成を示す回路図である。図１０において、ＣＰＵ１００にデータバス１０１を介して接続される周辺モジュール６００は、ＣＰＵ１００がデータの書き込みを行う例えばシリアルインタフェースモジュールであり、１６ビットの並列データＷＤ００〜ＷＤ１５を内部のデータレジスタに送り込むローカルバス６０１を備えている。
【００７９】
ここで、ＣＰＵ１００がデータバス１０１を介して周辺モジュール６００に書き込む１６ビットの並列データＤＢ００〜ＤＢ１５は、ビット反転操作の行われていない非反転値データである。
【００８０】
そこで、この周辺モジュール６００では、ローカルバス６０１とデータバス１０１との間に、データバス１０１から取り込む非反転値データＤＢ００〜ＤＢ１５にビット反転／非反転の操作を施した書込データＷＤ００〜ＷＤ１５を生成するビット反転制御回路６０５が設けられている。
【００８１】
ビット反転制御回路６０５は、データバス１０１から取り込む１６ビットのデータＤＢ００〜ＤＢ１５毎に設けられる排他的論理和回路６０２およびトライステートバッファ６０３とビット反転レジスタ６１１とを備えている。
【００８２】
ビット反転レジスタ６１１には、データバス１０２に接続されるビット反転指示データ送出バス６１２から送られてくるビット反転指示データが設定され、２値レベルのビット反転指示信号６２１を出力するようになっている。
【００８３】
排他的論理和回路６０２は、データバス１０１から取り込む１６ビットのデータＤＢ００〜ＤＢ１５のうちの対応するデータビットとビット反転指示信号６２１との排他的論理和を取り、対応するトライステートバッファ６０３に出力する。トライステートバッファ６０３は、書込制御信号６２２に従って排他的論理和回路６０２の出力をローカルデータバス６０１に送出するようになっている。
【００８４】
以上の構成において、ビット反転レジスタ６１１は、ビット反転指示データ送出バス６１２から送られてくるビット反転指示データが“０”である場合は、ビット反転指示信号６２１をＬレベルにする。その結果、データバス１０１から取り込む１６ビットのデータＤＢ００〜ＤＢ１５は、そのまま排他的論理和回路６０２およびトライステートバッファ６０３を介してローカルデータバス６０１に書込データＷＤ００〜ＷＤ１５として送出され、内部のデータレジスタに書き込まれる。
【００８５】
一方、ビット反転レジスタ６１１は、ビット反転指示データ送出バス６１２から送られてくるビット反転指示データが“１”である場合は、ビット反転指示信号６２１をＨレベルにする。その結果、データバス１０１から取り込む１６ビットのデータＤＢ００〜ＤＢ１５は、排他的論理和回路６０２にてビット反転操作を受け、トライステートバッファ６０３を介してローカルデータバス６０１に書込データＷＤ００〜ＷＤ１５として送出され、内部のデータレジスタに書き込まれる。
【００８６】
したがって、ＣＰＵ１００は、他の周辺モジュールから読み出したデータをこの周辺モジュール６００に転送する場合、単に、ビット反転レジスタ６１１に“０”を設定し、次に、“１”を設定する操作をするだけで、周辺モジュール６００のデータレジスタに、反転操作を行っていない非反転値データＷＤ００〜ＷＤ１５と反転操作を行った反転値データＷＤ００〜ＷＤ１５とを書き込むことができる。
【００８７】
このように、実施の形態６によれば、データを書き込む周辺モジュールにおいてビット反転操作が行えるようにしたので、ＣＰＵは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【００８８】
実施の形態７．
図１１は、この発明の実施の形態７である半導体集積回路の構成を示す回路図である。なお、図１１では、図１０に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態７に関わる部分を中心に説明する。
【００８９】
図１１に示すように、実施の形態７では、図１０に示した構成において、周辺モジュール６００に代えて周辺モジュール７００が設けられている。周辺モジュール７００が備えるビット反転制御回路７０１では、図１０に示したビット反転制御回路６０５において、ビット反転レジスタ６１１に代えてＦ／Ｆ７１０が設けられている。
【００９０】
Ｆ／Ｆ７１０は、ローカルデータバス６０１に接続される図示しないデータレジスタへのライトアクセス信号７２１と反転許否信号（ＥＮ）７２２とが入力され、それに基づき反転指示信号６２１を出力するようになっている。
【００９１】
すなわち、反転許否信号（ＥＮ）７２２は、反転操作を許可するときは例えばＨレベルとなり、反転操作を許可しないときはＬレベルとなる信号である。Ｆ／Ｆ７１０は、反転許否信号（ＥＮ）７２２がＬレベルであるときは、ライトアクセス信号７２１のアサート・ネゲートとは無関係に、反転指示信号６２１をＬレベルに固定するが、反転許否信号（ＥＮ）７２２がＨレベルであるときは、ライトアクセス信号７２１がアサートされる度に、反転指示信号６２１をＬレベルとＨレベルとに交互に変化させるようになっている。
【００９２】
この構成によれば、周辺モジュール７００では、データバス１０１から取り込んだデータＤＢ００〜ＤＢ１５を内部のデータレジスタに書き込む際に、ライトアクセス信号７２１がアサートされる度に、反転操作を行わない非反転値データＷＤ００〜ＷＤ１５と反転操作を行った反転値データＷＤ００〜ＷＤ１５とを交互に書き込むことができる。
【００９３】
このように、実施の形態７によれば、データを書き込む周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態６と同様にＣＰＵは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【００９４】
実施の形態８．
図１２は、この発明の実施の形態８である半導体集積回路の構成を示す回路図である。なお、図１２では、図１１に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態８に関わる部分を中心に説明する。
【００９５】
図１２に示すように、実施の形態８では、図１１に示した構成において、周辺モジュール７００に代えて周辺モジュール８００が設けられている。周辺モジュール８００が備えるビット反転制御回路８０１では、図１１に示したビット反転制御回路７０１において、１６ビットカウンタ８１１が設けられている。
【００９６】
１６ビットカウンタ８１１は、初期値は任意であるが、ライトアクセス信号７２１がアサートされる回数をカウントし、アサートされた回数が１６回に到達する度にオーバーフロー信号８２１をＦ／Ｆ７１０に与えることを繰り返すようになっている。
【００９７】
Ｆ／Ｆ７１０は、１６ビットカウンタ８１１からのオーバーフロー信号８２１と反転許否信号（ＥＮ）７２２とが入力され、それに基づき反転指示信号６２１を出力するようになっている。
【００９８】
すなわち、Ｆ／Ｆ７１０は、反転許否信号（ＥＮ）７２２がＬレベルであるときは、１６ビットカウンタ８１１からオーバーフロー信号８２１の入力有無とは無関係に、反転指示信号６２１をＬレベルに固定するが、反転許否信号（ＥＮ）７２２がＨレベルであるときは、オーバーフロー信号８２１が入力される度に、反転指示信号６２１をＬレベルとＨレベルとに交互に変化させるようになっている。
【００９９】
この構成によれば、周辺モジュール７００では、データバス１０１から取り込んだデータＤＢ００〜ＤＢ１５を内部のデータレジスタに書き込む際に、ライトアクセス信号７２１がアサートされる回数が所定値（図１２では１６回）になるまでは、例えば反転操作を行わない非反転値データＷＤ００〜ＷＤ１５を書き込み、次にライトアクセス信号７２１がアサートされる回数が所定値になるまでは、反転操作を行った反転値データＷＤ００〜ＷＤ１５を書き込むことができる。
【０１００】
このように、実施の形態８によれば、データを書き込む周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態６，７と同様にＣＰＵは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【０１０１】
【発明の効果】
以上説明したように、この発明によれば、中央処理装置がデータバスを介してデータの読み出しを行う周辺モジュールにおいて、あるいは、中央処理装置がデータバスを介してデータの書き込みを行う周辺モジュールにおいて、必要なビット反転操作を行うようにしたので、中央処理装置は、例えばある周辺モジュールから読み出したデータを他の周辺モジュールに転送する場合にビット反転操作をしないで済み、処理負荷の軽減が図れる。
【図面の簡単な説明】
【図１】この発明の実施の形態１である半導体集積回路の構成を示す回路図である。
【図２】この発明の実施の形態２である半導体集積回路の構成を示す回路図である。
【図３】図２に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。
【図４】この発明の実施の形態３である半導体集積回路の構成を示す回路図である。
【図５】図４に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。
【図６】この発明の実施の形態４である半導体集積回路の構成を示す回路図である。
【図７】図６に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。
【図８】この発明の実施の形態５である半導体集積回路の構成を示す回路図である。
【図９】図８に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。
【図１０】この発明の実施の形態６である半導体集積回路の構成を示す回路図である。
【図１１】この発明の実施の形態７である半導体集積回路の構成を示す回路図である。
【図１２】この発明の実施の形態８である半導体集積回路の構成を示す回路図である。
【符号の説明】
１００  中央処理装置（ＣＰＵ）、１０１  データバス、１０２，２００，３００，４００，５００，６００，７００，８００  周辺モジュール、１０３，６１２  ビット反転指示データ送出バス、１２１  記憶回路、１２２，２０１，３０１，４０１，５０１，６０５，７０１，８０１  ビット反転制御回路、１３１，６０２  排他的論理和回路（ビット操作手段）、１３２，６０３  トライステートバッファ、１３３，６１１  ビット反転レジスタ、１４１  読出制御信号、１４２，６２１  反転指示信号、２１１，７１０  フリップフロップ（Ｆ／Ｆ）、２２１  リードアクセス信号、２２２，７２２  反転許否信号（ＥＮ）、３１１，８１１  １６ビットカウンタ、３２１，８２１  オーバーフロー信号、４０３  比較用アドレス送出バス、４１０  比較用アドレスレジスタ、４１１，４１２，５１０  ＡＮＤ回路、４１３  ラッチ回路、４２１，５２１  読出アドレス、４２２  アドレス一致信号、５１２  デコーダ、５２３  アドレス上位、５２４  アドレス下位、６０１  ローカルデータバス、６２２  書込制御信号、７２１  ライトアクセス信号。
【図１】
2004362262.tif 000003
【図２】
2004362262.tif 000004
【図３】
2004362262.tif 000005
【図４】
2004362262.tif 000006
【図５】
2004362262.tif 000007
【図６】
2004362262.tif 000008
【図７】
2004362262.tif 000009
【図８】
2004362262.tif 000010
【図９】
2004362262.tif 000011
【図１０】
2004362262.tif 000012
【図１１】
2004362262.tif 000013
【図１２】
2004362262.tif 000014