JP2004362262A - 半導体集積回路 - Google Patents
半導体集積回路 Download PDFInfo
- Publication number
- JP2004362262A JP2004362262A JP2003159866A JP2003159866A JP2004362262A JP 2004362262 A JP2004362262 A JP 2004362262A JP 2003159866 A JP2003159866 A JP 2003159866A JP 2003159866 A JP2003159866 A JP 2003159866A JP 2004362262 A JP2004362262 A JP 2004362262A
- Authority
- JP
- Japan
- Prior art keywords
- inversion
- data
- bit
- signal
- instruction
- 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
Abstract
【課題】中央処理装置がデータバスを介して周辺モジュールからデータを読み出し、また書き込む際に、中央処理装置がビット反転操作をしないで済むようにする。
【解決手段】CPU100がデータバス101を介してデータの読み出しを行う周辺モジュール102は、バス103から書き込まれる反転指示データに従ってデータのビット値を反転値とするか否かの指示を与える反転指示信号142を発生するビット反転レジスタと、データバス101に送出するために記憶回路121から読み出されたデータD00〜D15の各ビットに反転指示信号142の指示に従った非反転と反転のいずれかの操作を施し、データバス101へのデータ送出タイミングを制御するバッファ132に出力する排他的論理和回路131とを備えている。
【選択図】 図1
【解決手段】CPU100がデータバス101を介してデータの読み出しを行う周辺モジュール102は、バス103から書き込まれる反転指示データに従ってデータのビット値を反転値とするか否かの指示を与える反転指示信号142を発生するビット反転レジスタと、データバス101に送出するために記憶回路121から読み出されたデータD00〜D15の各ビットに反転指示信号142の指示に従った非反転と反転のいずれかの操作を施し、データバス101へのデータ送出タイミングを制御するバッファ132に出力する排他的論理和回路131とを備えている。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
この発明は、中央処理装置にデータバスを介して各種の周辺モジュールが接続される半導体集積回路に関するものである。
【0002】
【従来の技術】
中央処理装置(以降「CPU」という)にデータバスを介して各種の周辺モジュールが接続される半導体集積回路では、周辺モジュール間のデータバスを介した転送データはCPUの制御下に行われる。
【0003】
ところで、CPUによるデータ処理機能を持つ半導体集積回路間でシリアルデータを授受する場合、受信側において、送信されてきたデータの確認が容易に行えるようにするため、送信側が、反転操作をしていない真値データと反転操作をした反転値データとをセットで送信する場合がある。
【0004】
すなわち、送信側の半導体集積回路では、CPUが、まずRAMモジュールから読み出した送信データをそのままシリアル通信モジュールに転送してレジスタに書き込み、引き続いて再度RAMモジュールから同じ送信データを読み出し、ビット反転操作を施してシリアル通信モジュールに転送してレジスタに書き込むようにしている。
【0005】
【発明が解決しようとする課題】
しかしながら、上記のようにCPUがビット反転操作を実行する方法では、送信するデータ量が大量である場合にはCPUの処理負荷が大きくなるという問題がある。
【0006】
この発明は、上記に鑑みてなされたもので、中央処理装置がデータバスを介して周辺モジュールからデータを読み出し、また書き込む際に、中央処理装置がビット反転操作をしないで済む半導体集積回路を得ることを目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかる半導体集積回路は、中央処理装置とこの中央処理装置がデータバスを介してデータの読み出しを行う周辺モジュールとを備える半導体集積回路において、前記周辺モジュールは、データのビット値を反転値とするか否かの指示を与える反転指示信号を発生するビット反転制御手段と、前記データバスに送出するために記憶手段から読み出されたデータの各ビットに前記反転指示信号の指示に従った操作を施し、前記データバスへのデータ送出タイミングを制御するバッファに出力するビット操作手段とを備えたことを特徴とする。
【0008】
この発明によれば、中央処理装置がデータバスを介してデータの読み出しを行う周辺モジュールにおいて、データバスに送出するために記憶手段から読み出されたデータの各ビットに反転指示信号の指示に従った操作を施し、中央処理装置に引き渡すことができる。したがって、中央処理装置は、ある周辺モジュールから読み出したデータを他の周辺モジュールに転送する場合にビット反転操作をしないで済み、処理負荷の軽減が図れる。
【0009】
また、つぎの発明にかかる半導体集積回路は、中央処理装置とこの中央処理装置がデータバスを介してデータの書き込みを行う周辺モジュールとを備える半導体集積回路において、前記周辺モジュールは、データのビット値を反転値とするか否かの指示を与える反転指示信号を発生するビット反転制御手段と、前記データバスから取り込むデータの各ビットに前記反転指示信号の指示に従った操作を施し、内部回路に出力するビット操作手段とを備えたことを特徴とする。
【0010】
この発明によれば、中央処理装置がデータバスを介してデータの書き込みを行う周辺モジュールにおいて、データバスから取り込むデータの各ビットに反転指示信号の指示に従った操作を施し、内部回路に出力することができる。したがって、中央処理装置は、ある周辺モジュールから読み出したデータを他の周辺モジュールに転送する場合にビット反転操作をしないで済み、処理負荷の軽減が図れる。
【0011】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる半導体集積回路の好適な実施の形態を詳細に説明する。
【0012】
実施の形態1.
図1は、この発明の実施の形態1である半導体集積回路の構成を示す回路図である。図1において、CPU100にデータバス101を介して接続される周辺モジュール102は、CPU100がデータの読み出しを行う例えばRAMモジュールであり、16ビットのデータD00〜D15を並列に出力する記憶回路121を備えている。
【0013】
この周辺モジュール102において、記憶回路121とデータバス101との間に、ビット反転制御回路122が設けられている。ビット反転制御回路122は、記憶回路121が出力する16ビットのデータD00〜D15毎に設けられる排他的論理和回路131およびトライステートバッファ132とビット反転レジスタ133とを備えている。
【0014】
ビット反転レジスタ133には、データバス102に接続されるビット反転指示データ送出バス103から送られてくるビット反転指示データが設定され、2値レベルのビット反転指示信号142を出力するようになっている。
【0015】
排他的論理和回路131は、記憶回路121が出力する16ビットのデータD00〜D15のうちの対応するデータビットとビット反転指示信号142との排他的論理和を取り、対応するトライステートバッファ132に出力する。トライステートバッファ132は、読出制御信号141に従って排他的論理和回路131の出力をデータバス101に送出するようになっている。
【0016】
以上の構成において、ビット反転レジスタ133は、ビット反転指示データ送出バス103から送られてくるビット反転指示データが“0”である場合は、ビット反転指示信号142を低レベル(以降「Lレベル」という)にする。その結果、記憶回路121が出力する16ビットのデータD00〜D15は、そのまま排他的論理和回路131およびトライステートバッファ132を介してデータバス101に読出データDB00〜DB15として送出され、CPU100に取り込まれる。
【0017】
一方、ビット反転レジスタ133は、ビット反転指示データ送出バス103から送られてくるビット反転指示データが“1”である場合は、ビット反転指示信号142を高レベル(以降「Hレベル」という)にする。その結果、記憶回路121が出力する16ビットのデータD00〜D15は、排他的論理和回路131にてビット反転操作を受け、トライステートバッファ132を介してデータバス101に読出データDB00〜DB15として送出され、CPU100に取り込まれる。
【0018】
したがって、CPU100は、周辺モジュール102から読み出したデータを他の周辺モジュール(例えば外部にシリアルデータを出力するシリアルインタフェースモジュール)に転送する場合、単に、ビット反転レジスタ133に“0”を設定し、次に、“1”を設定する操作をするだけで、反転操作を行っていない非反転値データDB00〜DB15と反転操作を行った反転値データDB00〜DB15とを続けて読み出し、転送して書き込むことができる。
【0019】
このように、実施の形態1によれば、データを読み出す周辺モジュールにおいてビット反転操作が行えるようにしたので、CPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0020】
実施の形態2.
図2は、この発明の実施の形態2である半導体集積回路の構成を示す回路図である。なお、図2では、図1に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態2に関わる部分を中心に説明する。
【0021】
図2に示すように、実施の形態2では、図1に示した構成において、周辺モジュール102に代えて周辺モジュール200が設けられている。周辺モジュール200が備えるビット反転制御回路201では、図1に示したビット反転制御回路122において、ビット反転レジスタ133に代えてフリップフロップ(以降「F/F」と記す)211が設けられている。
【0022】
F/F211は、記憶回路121へのリードアクセス信号221と反転許否信号(EN)222とが入力され、それに基づき反転指示信号142を出力するようになっている。
【0023】
すなわち、反転許否信号(EN)222は、反転操作を許可するときは例えばHレベルとなり、反転操作を許可しないときはLレベルとなる信号である。F/F211は、反転許否信号(EN)222がLレベルであるときは、リードアクセス信号221のアサート・ネゲートとは無関係に、反転指示信号142をLレベルに固定するが、反転許否信号(EN)222がHレベルであるときは、リードアクセス信号221がアサートされる度に、反転指示信号142をLレベルとHレベルとに交互に変化させるようになっている。
【0024】
次に、図3は、図2に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。記憶回路121の図示しない読出制御回路は、記憶回路121に対し、反転許否信号(EN)222がLレベルに操作されるときは、読出アドレスを順次更新するが、反転許否信号(EN)222がHレベルに操作されるときは、同一アドレスに2回アクセスするようになっている。
【0025】
ここでは、反転許否信号(EN)222がHレベルに操作される場合であるので、図3(1)に示すように、読出アドレスは、“アドレスa、アドレスa”“アドレスb、アドレスb”“アドレスc、アドレスc”のように、2回続けて同じアドレスとなり、記憶回路121では、2回同じアドレスがアクセスされる。
【0026】
リードアクセス信号221は、図3(2)に示すように、読出アドレス(1)のアドレス切り替わり時にHレベルに立ち上がり、中央までHレベルを維持してLレベルに立ち下がり、以降次のアドレス切り替わり時までLレベルを維持する信号である。
【0027】
F/F211は、図3(3)に示すように、リードアクセス信号221がHレベルからLレベルに変化するタイミングに応答してLレベルとHレベルとに交互に変化する反転指示信号142を出力する。
【0028】
具体的には、反転指示信号142は、“アドレスa、アドレスa”の最初のアドレスaにおけるリードアクセス信号221のHレベルからLレベルへの変化タイミングにてHレベルからLレベルに立ち下がり、2つ目のアドレスaにおけるリードアクセス信号221のHレベルからLレベルへの変化タイミングまでLレベルを維持してそのLレベルからHレベルに立ち上がり、以降、各アドレスにおいて同様に変化する。
【0029】
排他的論理和回路131では、実施の形態1にて説明したように、反転指示信号142がLレベルであるときはビット反転操作は行わず、反転指示信号142がHレベルであるときにビット反転操作を行う。図3の例で言えば、“アドレスa、アドレスa”“アドレスb、アドレスb”“アドレスc、アドレスc”における最初のアドレスではビット反転操作は行われず、2つ目のアドレスではビット反転操作が行われる。
【0030】
したがって、データバス101に送出される読出データDB00〜DB15は、図3(4)に示すようになる。すなわち、読出アドレス“アドレスa、アドレスa”に対しては最初のアドレスaによる読出データDB00〜DB15は、反転操作が行われない非反転値データ“データa正”となり、次のアドレスaによる読出データDB00〜DB15は、反転操作が行われた反転値データ“データa反”となる。“アドレスb、アドレスb”“アドレスc、アドレスc”に対しても同様である。
【0031】
このように、実施の形態2によれば、データを読み出す周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態1と同様にCPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0032】
加えて、実施の形態2による周辺モジュールでは、ビット反転操作を行うか否かを選択することができ、ビット反転操作を行うときは、CPU100は、実施の形態1にて説明した特別の操作をすることなく簡単に非反転値データと反転値データとを連続して読み出すことができる。
【0033】
したがって、実施の形態2では、記憶回路121から同一データを2回続けて読み出すようにすれば、CPU100は、同一データについての非反転値データと反転値データとを連続して読み出し、例えば外部にシリアルデータを出力するシリアルインタフェースモジュールに転送して書き込むことができる。
【0034】
実施の形態3.
図4は、この発明の実施の形態3である半導体集積回路の構成を示す回路図である。なお、図4では、図2に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態3に関わる部分を中心に説明する。
【0035】
図4に示すように、実施の形態3では、図2に示した構成において、周辺モジュール200に代えて周辺モジュール300が設けられている。周辺モジュール300が備えるビット反転制御回路301では、図2に示したビット反転制御回路201において、16ビットカウンタ311が設けられている。
【0036】
16ビットカウンタ311は、初期値は任意であるが、リードアクセス信号221がアサートされる回数をカウントし、アサートされた回数が16回に到達する度にオーバーフロー信号321をF/F211に与えることを繰り返すようになっている。
【0037】
F/F211は、16ビットカウンタ311からのオーバーフロー信号321と反転許否信号(EN)222とが入力され、それに基づき反転指示信号142を出力するようになっている。
【0038】
すなわち、F/F211は、反転許否信号(EN)222がLレベルであるときは、16ビットカウンタ311からオーバーフロー信号321の入力有無とは無関係に、反転指示信号142をLレベルに固定するが、反転許否信号(EN)222がHレベルであるときは、オーバーフロー信号321が入力される度に、反転指示信号142をLレベルとHレベルとに交互に変化させるようになっている。
【0039】
次に、図5は、図4に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。記憶回路121の図示しない読出制御回路は、記憶回路121に対し、反転許否信号(EN)222がLレベルに操作されるときは、読出アドレスを順次更新するが、反転許否信号(EN)222がHレベルに操作されるときは、16個のアドレスに2回アクセスすることを繰り返すようになっている。
【0040】
ここでは、反転許否信号(EN)222がHレベルに操作される場合であるので、図5(1)に示すように、読出アドレスは、“アドレスa、アドレスb、・・・、アドレスp”“アドレスa、アドレスb、・・・、アドレスp”のように、16個のアドレスが2回続けて記憶回路121に与えられる。
【0041】
リードアクセス信号221は、図5(2)に示すように、読出アドレス(1)のアドレス切り替わり時にHレベルに立ち上がり、中央までHレベルを維持してLレベルに立ち下がり、以降次のアドレス切り替わり時までLレベルを維持する信号である。
【0042】
16ビットカウンタ311は、図5(3)に示すように、リードアクセス信号221がHレベルに立ち上がるのに応答してカウントアップ動作を行い、“アドレスa、アドレスb、・・・、アドレスp”に対応して値1から値Fまでをカウントし、図5(4)に示すように、“アドレスa”のカウント時にオーバーフロー信号321を出力する。オーバーフロー信号321は、リードアクセス信号221がHレベルを維持している期間をパルス幅とするパルス信号である。
【0043】
F/F211では、図5(5)に示すように、オーバーフロー信号321の終了タイミングに応答してLレベルとHレベルとに交互に変化する反転指示信号142を出力する。
【0044】
具体的には、反転指示信号142は、最初の“アドレスa、アドレスb、・・・、アドレスp”ではLレベルであり、2つ目の“アドレスa、アドレスb、・・・、アドレスp”ではHレベルである。以降、各16ビット毎の2アドレスにおいて同様に変化する。
【0045】
排他的論理和回路131では、実施の形態1にて説明したように、反転指示信号142がLレベルであるときはビット反転操作は行わず、反転指示信号142がHレベルであるときにビット反転操作を行う。図5の例で言えば、最初の“アドレスa、アドレスb、・・・、アドレスp”ではビット反転操作は行われず、2つ目の“アドレスa、アドレスb、・・・、アドレスp”ではビット反転操作が行われる。
【0046】
したがって、データバス101に送出される読出データDB00〜DB15は、図5(6)に示すようになる。すなわち、読出アドレス“アドレスa、アドレスb、・・・、アドレスp”“アドレスa、アドレスb、・・・、アドレスp”に対しては、最初の“アドレスa、アドレスb、・・・、アドレスp”による読出データDB00〜DB15は、反転操作が行われない非反転値データ“データa正、データb正、・・・、データp正”となり、次の“アドレスa、アドレスb、・・・、アドレスp”による読出データDB00〜DB15は、反転操作が行われた反転値データ“データa反、データb反、・・・、データp反”となる。以降、各16ビット毎の2アドレスに対する読出データDB00〜DB15も同様である。
【0047】
このように、実施の形態3によれば、データを読み出す周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態1,2と同様にCPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0048】
加えて、実施の形態3による周辺モジュールでは、ビット反転操作を行うか否かを選択することができ、ビット反転操作を行うときは、CPU100は、実施の形態1にて説明した特別の操作をすることなく簡単に、任意の読み出し回数毎に非反転値データと反転値データとを連続して読み出すことができる。
【0049】
したがって、実施の形態3では、任意の読み出し回数を1単位として記憶回路121から同一データを2回続けて読み出すようにすれば、CPU100は、任意の読み出し回数分のデータについての非反転値データと反転値データとを連続して読み出し、例えば外部にシリアルデータを出力するシリアルインタフェースモジュールに転送して書き込むことができる。
【0050】
実施の形態4.
図6は、この発明の実施の形態4である半導体集積回路の構成を示す回路図である。なお、図6では、図1に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態4に関わる部分を中心に説明する。
【0051】
図6に示すように、実施の形態4では、図1に示した構成において、周辺モジュール102に代えて周辺モジュール400が設けられている。周辺モジュール400が備えるビット反転制御回路401では、図1に示したビット反転制御回路122において、ビット反転レジスタ133に代えて、比較用アドレスレジスタ410、3入力のAND回路411、2入力のAND回路412およびラッチ回路413が設けられている。
【0052】
比較用アドレスレジスタ410には、データバス102に接続される比較用アドレス送出バス403から送られてくる比較用アドレスが設定され、その設定された比較用アドレスを3入力のAND回路411に出力する。
【0053】
AND回路411は、他の2入力がリードアクセス信号221と読出アドレス421であり、3入力の条件が一致したとき、Hレベルのアドレス一致信号422を2入力のAND回路412に出力する。
【0054】
AND回路412は、他の1入力が反転許否信号222であり、アドレス一致信号422と反転許否信号222が共にHレベルであるとき、ラッチ回路413に対する出力をHレベルにし、その他の場合はLレベルをラッチ回路413に出力する。
【0055】
ラッチ回路413は、AND回路412の出力を取り込み反転指示信号142を出力する。したがって、反転指示信号142の信号レベルは、AND回路412の出力レベルと同じになる。
【0056】
次に、図7は、図6に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。図7(1)では、読出アドレスは、“0××0H”“0××2H”“0××4H”“1××0H”“1××2H”“1××4H”“0××6H”“1××6H”・・となっている。このように、記憶回路121の図示しない読出制御回路は、記憶回路121に対し、任意の読出アドレスを与える。これは、AND回路411に与えられる読出アドレス421でもある。
【0057】
リードアクセス信号221は、図7(2)に示すように、読出アドレス(1)のアドレス切り替わり時にHレベルに立ち上がり、中央までHレベルを維持してLレベルに立ち下がり、以降次のアドレス切り替わり時までLレベルを維持する信号である。
【0058】
図7(3)に示すように、比較用アドレスレジスタ410には、読出アドレス“1××0H”のタイミングで、比較用アドレス“1×××H”が設定される。この比較用アドレス“1×××H”は、読出アドレス(1)中のアドレス“1××0H”“1××2H”“1××4H”“1××6H”と一致する。
【0059】
したがって、AND回路411が出力するアドレス一致信号422は、図7(4)に示すように、読出アドレス(1)中のアドレス“0××0H”“0××2H”“0××4H”のタイミングでは発生せず、アドレス“1××0H”“1××2H”“1××4H”“1××6H”のタイミングでは、リードアクセス信号221がアサートされる度にそのHレベルである期間毎に発生し、次のアドレス“0××6H”のタイミングでは発生せず、次のアドレス“1××6H”のタイミングでは、リードアクセス信号221がHレベルである期間に発生することになる。
【0060】
ここでは、反転許否信号(EN)222がHレベルに操作される場合であるので、AND412からラッチ回路413に対して、図7(4)に示すアドレス一致信号422がそのまま入力されるので、ラッチ回路413が出力する反転指示信号142は、図7(5)に示すように、読出アドレス(1)中のアドレス“0××0H”“0××2H”“0××4H”のタイミングではLレベルとなり、アドレス“1××0H”“1××2H”“1××4H”“1××6H”のタイミングではHレベルとなり、次のアドレス“0××6H”のタイミングではLレベルとなり、次のアドレス“1××6H”のタイミングではHレベルとなる。
【0061】
排他的論理和回路131では、実施の形態1にて説明したように、反転指示信号142がLレベルであるときはビット反転操作は行わず、反転指示信号142がHレベルであるときにビット反転操作を行う。図7の例で言えば、比較用アドレス(3)と一致したアドレス“1××0H”“1××2H”“1××4H”“1××6H”ではビット反転操作が行われ、一致しないアドレス“0××0H”“0××2H”“0××4H”“0××6H”ではビット反転操作は行われない。
【0062】
したがって、データバス101に送出される読出データDB00〜DB15は、図7(6)に示すようになる。すなわち、読出アドレス(1)中、アドレス“0××0H”“0××2H”“0××4H”による読出データDB00〜DB15は、反転操作が行われない非反転値データ“データa正、データb正、データc正”となり、次のアドレス“1××0H”“1××2H”“1××4H”による読出データDB00〜DB15は、反転操作が行われた反転値データ“データD反、データE反、データF反”となり、次のアドレス“0××6H”による読出データDB00〜DB15は、反転操作が行われない非反転値データ“データG正”となり、次のアドレス“1××6H”による読出データDB00〜DB15は、反転操作が行われた反転値データ“データH反”となる。
【0063】
このように、実施の形態4によれば、データを読み出す周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態1〜3と同様にCPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0064】
加えて、実施の形態4による周辺モジュールでは、ビット反転操作を行うか否かを選択することができ、ビット反転操作を行うときは、CPU100は、実施の形態1にて説明した特別の操作をすることなく、単に任意の比較アドレスを設定するだけで、その任意の比較アドレスと一致した読出データについて反転値データを得ることができる。
【0065】
実施の形態5.
図8は、この発明の実施の形態5である半導体集積回路の構成を示す回路図である。なお、図8では、図6に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態5に関わる部分を中心に説明する。
【0066】
図8に示すように、実施の形態5では、図6に示した構成において、周辺モジュール400に代えて周辺モジュール500が設けられている。周辺モジュール500が備えるビット反転制御回路501では、図6に示したビット反転制御回路401において、比較用アドレスレジスタ410、3入力のAND回路411、2入力のAND回路412に代えて、3入力のAND回路510が設けられ、また記憶回路121に読出アドレスを与えるデコーダ512が明示されている。
【0067】
この実施の形態5にて扱う読出アドレス521は、オフセットされている“1×××H”の場合と、オフセットされていない“0×××H”の場合とがある。そこで、読出アドレス521のうち、オフセット操作されることのあるアドレス上位523をAND回路510に与え、アドレス下位“×××H”524をデコーダ512に与えるようにしている。
【0068】
AND回路510は、他の2入力がリードアクセス信号221と反転許否信号222であり、3入力の条件が一致したとき、Hレベルのオフセットアドレスヒット信号526をラッチ回路413に出力する。
【0069】
ラッチ回路413は、AND回路510の出力を取り込み反転指示信号142を出力する。したがって、反転指示信号142の信号レベルは、AND回路510の出力レベルと同じになる。
【0070】
次に、図9は、図8に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。図9(1)では、読出アドレスは、“0××0H”“0××2H”“0××4H”“1××0H”“1××2H”“1××4H”“0××6H”“1××6H”・・となっている。
【0071】
したがって、AND回路510に入力されるアドレス上位523は、図9(3)に示すように、“0”“0”“0”“1”“1”“1”“0”“1”に対応したレベルになる。また、デコーダ512に入力されるアドレス下位524は、図9(4)に示すように、“××0H”“××2H”“××4H”“××0H”“××2H”“××4H”“××6H”“××6H”となる。
【0072】
リードアクセス信号221は、図9(2)に示すように、読出アドレス(1)のアドレス切り替わり時にHレベルに立ち上がり、中央までHレベルを維持してLレベルに立ち下がり、以降次のアドレス切り替わり時までLレベルを維持する信号である。
【0073】
ここでは、反転許否信号(EN)222がHレベルに操作される場合であるので、AND510からラッチ回路413に対して、図9(3)に示すアドレス上位の信号波形がそのままオフセットアドレスヒット信号526として入力されるので、ラッチ回路413が出力する反転指示信号142は、図9(5)に示すように、読出アドレス(1)中のアドレス“0××0H”“0××2H”“0××4H”のタイミングではLレベルとなり、アドレス“1××0H”“1××2H”“1××4H”“1××6H”のタイミングではHレベルとなり、次のアドレス“0××6H”のタイミングではLレベルとなり、次のアドレス“1××6H”のタイミングではHレベルとなる。
【0074】
排他的論理和回路131では、実施の形態1にて説明したように、反転指示信号142がLレベルであるときはビット反転操作は行わず、反転指示信号142がHレベルであるときにビット反転操作を行う。図9の例で言えば、オフセットアドレスヒット信号526が発生したアドレス“1××0H”“1××2H”“1××4H”“1××6H”ではビット反転操作が行われ、オフセットアドレスヒット信号526が発生しないアドレス“0××0H”“0××2H”“0××4H”“0××6H”ではビット反転操作は行われない。
【0075】
したがって、データバス101に送出される読出データDB00〜DB15は、図7(6)に示すようになる。すなわち、読出アドレス(1)におけるアドレス下位(4)が記憶回路121に与えられるので、そのアドレス下位(4)中、アドレス“××0H”“××2H”“××4H”による読出データDB00〜DB15は、反転操作が行われない非反転値データ“データa正、データb正、データc正”となり、次のアドレス“××0H”“××2H”“××4H”による読出データDB00〜DB15は、反転操作が行われた反転値データ“データa反、データb反、データc反”となり、次のアドレス“××6H”による読出データDB00〜DB15は、反転操作が行われない非反転値データ“データD正”となり、次のアドレス“××6H”による読出データDB00〜DB15は、反転操作が行われた反転値データ“データD反”となる。
【0076】
このように、実施の形態5によれば、データを読み出す周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態1〜4と同様にCPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0077】
加えて、実施の形態5による周辺モジュールでは、ビット反転操作を行うか否かを選択することができ、ビット反転操作を行うときは、オフセットされる読出アドレスを使用して、オフセットアドレスにヒットしないときは非反転値データを読み出し、オフセットアドレスにヒットしたときは反転値データを読み出すことができる。
【0078】
実施の形態6.
図10は、この発明の実施の形態6である半導体集積回路の構成を示す回路図である。図10において、CPU100にデータバス101を介して接続される周辺モジュール600は、CPU100がデータの書き込みを行う例えばシリアルインタフェースモジュールであり、16ビットの並列データWD00〜WD15を内部のデータレジスタに送り込むローカルバス601を備えている。
【0079】
ここで、CPU100がデータバス101を介して周辺モジュール600に書き込む16ビットの並列データDB00〜DB15は、ビット反転操作の行われていない非反転値データである。
【0080】
そこで、この周辺モジュール600では、ローカルバス601とデータバス101との間に、データバス101から取り込む非反転値データDB00〜DB15にビット反転/非反転の操作を施した書込データWD00〜WD15を生成するビット反転制御回路605が設けられている。
【0081】
ビット反転制御回路605は、データバス101から取り込む16ビットのデータDB00〜DB15毎に設けられる排他的論理和回路602およびトライステートバッファ603とビット反転レジスタ611とを備えている。
【0082】
ビット反転レジスタ611には、データバス102に接続されるビット反転指示データ送出バス612から送られてくるビット反転指示データが設定され、2値レベルのビット反転指示信号621を出力するようになっている。
【0083】
排他的論理和回路602は、データバス101から取り込む16ビットのデータDB00〜DB15のうちの対応するデータビットとビット反転指示信号621との排他的論理和を取り、対応するトライステートバッファ603に出力する。トライステートバッファ603は、書込制御信号622に従って排他的論理和回路602の出力をローカルデータバス601に送出するようになっている。
【0084】
以上の構成において、ビット反転レジスタ611は、ビット反転指示データ送出バス612から送られてくるビット反転指示データが“0”である場合は、ビット反転指示信号621をLレベルにする。その結果、データバス101から取り込む16ビットのデータDB00〜DB15は、そのまま排他的論理和回路602およびトライステートバッファ603を介してローカルデータバス601に書込データWD00〜WD15として送出され、内部のデータレジスタに書き込まれる。
【0085】
一方、ビット反転レジスタ611は、ビット反転指示データ送出バス612から送られてくるビット反転指示データが“1”である場合は、ビット反転指示信号621をHレベルにする。その結果、データバス101から取り込む16ビットのデータDB00〜DB15は、排他的論理和回路602にてビット反転操作を受け、トライステートバッファ603を介してローカルデータバス601に書込データWD00〜WD15として送出され、内部のデータレジスタに書き込まれる。
【0086】
したがって、CPU100は、他の周辺モジュールから読み出したデータをこの周辺モジュール600に転送する場合、単に、ビット反転レジスタ611に“0”を設定し、次に、“1”を設定する操作をするだけで、周辺モジュール600のデータレジスタに、反転操作を行っていない非反転値データWD00〜WD15と反転操作を行った反転値データWD00〜WD15とを書き込むことができる。
【0087】
このように、実施の形態6によれば、データを書き込む周辺モジュールにおいてビット反転操作が行えるようにしたので、CPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0088】
実施の形態7.
図11は、この発明の実施の形態7である半導体集積回路の構成を示す回路図である。なお、図11では、図10に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態7に関わる部分を中心に説明する。
【0089】
図11に示すように、実施の形態7では、図10に示した構成において、周辺モジュール600に代えて周辺モジュール700が設けられている。周辺モジュール700が備えるビット反転制御回路701では、図10に示したビット反転制御回路605において、ビット反転レジスタ611に代えてF/F710が設けられている。
【0090】
F/F710は、ローカルデータバス601に接続される図示しないデータレジスタへのライトアクセス信号721と反転許否信号(EN)722とが入力され、それに基づき反転指示信号621を出力するようになっている。
【0091】
すなわち、反転許否信号(EN)722は、反転操作を許可するときは例えばHレベルとなり、反転操作を許可しないときはLレベルとなる信号である。F/F710は、反転許否信号(EN)722がLレベルであるときは、ライトアクセス信号721のアサート・ネゲートとは無関係に、反転指示信号621をLレベルに固定するが、反転許否信号(EN)722がHレベルであるときは、ライトアクセス信号721がアサートされる度に、反転指示信号621をLレベルとHレベルとに交互に変化させるようになっている。
【0092】
この構成によれば、周辺モジュール700では、データバス101から取り込んだデータDB00〜DB15を内部のデータレジスタに書き込む際に、ライトアクセス信号721がアサートされる度に、反転操作を行わない非反転値データWD00〜WD15と反転操作を行った反転値データWD00〜WD15とを交互に書き込むことができる。
【0093】
このように、実施の形態7によれば、データを書き込む周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態6と同様にCPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0094】
実施の形態8.
図12は、この発明の実施の形態8である半導体集積回路の構成を示す回路図である。なお、図12では、図11に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態8に関わる部分を中心に説明する。
【0095】
図12に示すように、実施の形態8では、図11に示した構成において、周辺モジュール700に代えて周辺モジュール800が設けられている。周辺モジュール800が備えるビット反転制御回路801では、図11に示したビット反転制御回路701において、16ビットカウンタ811が設けられている。
【0096】
16ビットカウンタ811は、初期値は任意であるが、ライトアクセス信号721がアサートされる回数をカウントし、アサートされた回数が16回に到達する度にオーバーフロー信号821をF/F710に与えることを繰り返すようになっている。
【0097】
F/F710は、16ビットカウンタ811からのオーバーフロー信号821と反転許否信号(EN)722とが入力され、それに基づき反転指示信号621を出力するようになっている。
【0098】
すなわち、F/F710は、反転許否信号(EN)722がLレベルであるときは、16ビットカウンタ811からオーバーフロー信号821の入力有無とは無関係に、反転指示信号621をLレベルに固定するが、反転許否信号(EN)722がHレベルであるときは、オーバーフロー信号821が入力される度に、反転指示信号621をLレベルとHレベルとに交互に変化させるようになっている。
【0099】
この構成によれば、周辺モジュール700では、データバス101から取り込んだデータDB00〜DB15を内部のデータレジスタに書き込む際に、ライトアクセス信号721がアサートされる回数が所定値(図12では16回)になるまでは、例えば反転操作を行わない非反転値データWD00〜WD15を書き込み、次にライトアクセス信号721がアサートされる回数が所定値になるまでは、反転操作を行った反転値データWD00〜WD15を書き込むことができる。
【0100】
このように、実施の形態8によれば、データを書き込む周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態6,7と同様にCPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0101】
【発明の効果】
以上説明したように、この発明によれば、中央処理装置がデータバスを介してデータの読み出しを行う周辺モジュールにおいて、あるいは、中央処理装置がデータバスを介してデータの書き込みを行う周辺モジュールにおいて、必要なビット反転操作を行うようにしたので、中央処理装置は、例えばある周辺モジュールから読み出したデータを他の周辺モジュールに転送する場合にビット反転操作をしないで済み、処理負荷の軽減が図れる。
【図面の簡単な説明】
【図1】この発明の実施の形態1である半導体集積回路の構成を示す回路図である。
【図2】この発明の実施の形態2である半導体集積回路の構成を示す回路図である。
【図3】図2に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。
【図4】この発明の実施の形態3である半導体集積回路の構成を示す回路図である。
【図5】図4に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。
【図6】この発明の実施の形態4である半導体集積回路の構成を示す回路図である。
【図7】図6に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。
【図8】この発明の実施の形態5である半導体集積回路の構成を示す回路図である。
【図9】図8に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。
【図10】この発明の実施の形態6である半導体集積回路の構成を示す回路図である。
【図11】この発明の実施の形態7である半導体集積回路の構成を示す回路図である。
【図12】この発明の実施の形態8である半導体集積回路の構成を示す回路図である。
【符号の説明】
100 中央処理装置(CPU)、101 データバス、102,200,300,400,500,600,700,800 周辺モジュール、103,612 ビット反転指示データ送出バス、121 記憶回路、122,201,301,401,501,605,701,801 ビット反転制御回路、131,602 排他的論理和回路(ビット操作手段)、132,603 トライステートバッファ、133,611 ビット反転レジスタ、141 読出制御信号、142,621 反転指示信号、211,710 フリップフロップ(F/F)、221 リードアクセス信号、222,722 反転許否信号(EN)、311,811 16ビットカウンタ、321,821 オーバーフロー信号、403 比較用アドレス送出バス、410 比較用アドレスレジスタ、411,412,510 AND回路、413 ラッチ回路、421,521 読出アドレス、422 アドレス一致信号、512 デコーダ、523 アドレス上位、524 アドレス下位、601 ローカルデータバス、622 書込制御信号、721 ライトアクセス信号。
【発明の属する技術分野】
この発明は、中央処理装置にデータバスを介して各種の周辺モジュールが接続される半導体集積回路に関するものである。
【0002】
【従来の技術】
中央処理装置(以降「CPU」という)にデータバスを介して各種の周辺モジュールが接続される半導体集積回路では、周辺モジュール間のデータバスを介した転送データはCPUの制御下に行われる。
【0003】
ところで、CPUによるデータ処理機能を持つ半導体集積回路間でシリアルデータを授受する場合、受信側において、送信されてきたデータの確認が容易に行えるようにするため、送信側が、反転操作をしていない真値データと反転操作をした反転値データとをセットで送信する場合がある。
【0004】
すなわち、送信側の半導体集積回路では、CPUが、まずRAMモジュールから読み出した送信データをそのままシリアル通信モジュールに転送してレジスタに書き込み、引き続いて再度RAMモジュールから同じ送信データを読み出し、ビット反転操作を施してシリアル通信モジュールに転送してレジスタに書き込むようにしている。
【0005】
【発明が解決しようとする課題】
しかしながら、上記のようにCPUがビット反転操作を実行する方法では、送信するデータ量が大量である場合にはCPUの処理負荷が大きくなるという問題がある。
【0006】
この発明は、上記に鑑みてなされたもので、中央処理装置がデータバスを介して周辺モジュールからデータを読み出し、また書き込む際に、中央処理装置がビット反転操作をしないで済む半導体集積回路を得ることを目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかる半導体集積回路は、中央処理装置とこの中央処理装置がデータバスを介してデータの読み出しを行う周辺モジュールとを備える半導体集積回路において、前記周辺モジュールは、データのビット値を反転値とするか否かの指示を与える反転指示信号を発生するビット反転制御手段と、前記データバスに送出するために記憶手段から読み出されたデータの各ビットに前記反転指示信号の指示に従った操作を施し、前記データバスへのデータ送出タイミングを制御するバッファに出力するビット操作手段とを備えたことを特徴とする。
【0008】
この発明によれば、中央処理装置がデータバスを介してデータの読み出しを行う周辺モジュールにおいて、データバスに送出するために記憶手段から読み出されたデータの各ビットに反転指示信号の指示に従った操作を施し、中央処理装置に引き渡すことができる。したがって、中央処理装置は、ある周辺モジュールから読み出したデータを他の周辺モジュールに転送する場合にビット反転操作をしないで済み、処理負荷の軽減が図れる。
【0009】
また、つぎの発明にかかる半導体集積回路は、中央処理装置とこの中央処理装置がデータバスを介してデータの書き込みを行う周辺モジュールとを備える半導体集積回路において、前記周辺モジュールは、データのビット値を反転値とするか否かの指示を与える反転指示信号を発生するビット反転制御手段と、前記データバスから取り込むデータの各ビットに前記反転指示信号の指示に従った操作を施し、内部回路に出力するビット操作手段とを備えたことを特徴とする。
【0010】
この発明によれば、中央処理装置がデータバスを介してデータの書き込みを行う周辺モジュールにおいて、データバスから取り込むデータの各ビットに反転指示信号の指示に従った操作を施し、内部回路に出力することができる。したがって、中央処理装置は、ある周辺モジュールから読み出したデータを他の周辺モジュールに転送する場合にビット反転操作をしないで済み、処理負荷の軽減が図れる。
【0011】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる半導体集積回路の好適な実施の形態を詳細に説明する。
【0012】
実施の形態1.
図1は、この発明の実施の形態1である半導体集積回路の構成を示す回路図である。図1において、CPU100にデータバス101を介して接続される周辺モジュール102は、CPU100がデータの読み出しを行う例えばRAMモジュールであり、16ビットのデータD00〜D15を並列に出力する記憶回路121を備えている。
【0013】
この周辺モジュール102において、記憶回路121とデータバス101との間に、ビット反転制御回路122が設けられている。ビット反転制御回路122は、記憶回路121が出力する16ビットのデータD00〜D15毎に設けられる排他的論理和回路131およびトライステートバッファ132とビット反転レジスタ133とを備えている。
【0014】
ビット反転レジスタ133には、データバス102に接続されるビット反転指示データ送出バス103から送られてくるビット反転指示データが設定され、2値レベルのビット反転指示信号142を出力するようになっている。
【0015】
排他的論理和回路131は、記憶回路121が出力する16ビットのデータD00〜D15のうちの対応するデータビットとビット反転指示信号142との排他的論理和を取り、対応するトライステートバッファ132に出力する。トライステートバッファ132は、読出制御信号141に従って排他的論理和回路131の出力をデータバス101に送出するようになっている。
【0016】
以上の構成において、ビット反転レジスタ133は、ビット反転指示データ送出バス103から送られてくるビット反転指示データが“0”である場合は、ビット反転指示信号142を低レベル(以降「Lレベル」という)にする。その結果、記憶回路121が出力する16ビットのデータD00〜D15は、そのまま排他的論理和回路131およびトライステートバッファ132を介してデータバス101に読出データDB00〜DB15として送出され、CPU100に取り込まれる。
【0017】
一方、ビット反転レジスタ133は、ビット反転指示データ送出バス103から送られてくるビット反転指示データが“1”である場合は、ビット反転指示信号142を高レベル(以降「Hレベル」という)にする。その結果、記憶回路121が出力する16ビットのデータD00〜D15は、排他的論理和回路131にてビット反転操作を受け、トライステートバッファ132を介してデータバス101に読出データDB00〜DB15として送出され、CPU100に取り込まれる。
【0018】
したがって、CPU100は、周辺モジュール102から読み出したデータを他の周辺モジュール(例えば外部にシリアルデータを出力するシリアルインタフェースモジュール)に転送する場合、単に、ビット反転レジスタ133に“0”を設定し、次に、“1”を設定する操作をするだけで、反転操作を行っていない非反転値データDB00〜DB15と反転操作を行った反転値データDB00〜DB15とを続けて読み出し、転送して書き込むことができる。
【0019】
このように、実施の形態1によれば、データを読み出す周辺モジュールにおいてビット反転操作が行えるようにしたので、CPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0020】
実施の形態2.
図2は、この発明の実施の形態2である半導体集積回路の構成を示す回路図である。なお、図2では、図1に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態2に関わる部分を中心に説明する。
【0021】
図2に示すように、実施の形態2では、図1に示した構成において、周辺モジュール102に代えて周辺モジュール200が設けられている。周辺モジュール200が備えるビット反転制御回路201では、図1に示したビット反転制御回路122において、ビット反転レジスタ133に代えてフリップフロップ(以降「F/F」と記す)211が設けられている。
【0022】
F/F211は、記憶回路121へのリードアクセス信号221と反転許否信号(EN)222とが入力され、それに基づき反転指示信号142を出力するようになっている。
【0023】
すなわち、反転許否信号(EN)222は、反転操作を許可するときは例えばHレベルとなり、反転操作を許可しないときはLレベルとなる信号である。F/F211は、反転許否信号(EN)222がLレベルであるときは、リードアクセス信号221のアサート・ネゲートとは無関係に、反転指示信号142をLレベルに固定するが、反転許否信号(EN)222がHレベルであるときは、リードアクセス信号221がアサートされる度に、反転指示信号142をLレベルとHレベルとに交互に変化させるようになっている。
【0024】
次に、図3は、図2に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。記憶回路121の図示しない読出制御回路は、記憶回路121に対し、反転許否信号(EN)222がLレベルに操作されるときは、読出アドレスを順次更新するが、反転許否信号(EN)222がHレベルに操作されるときは、同一アドレスに2回アクセスするようになっている。
【0025】
ここでは、反転許否信号(EN)222がHレベルに操作される場合であるので、図3(1)に示すように、読出アドレスは、“アドレスa、アドレスa”“アドレスb、アドレスb”“アドレスc、アドレスc”のように、2回続けて同じアドレスとなり、記憶回路121では、2回同じアドレスがアクセスされる。
【0026】
リードアクセス信号221は、図3(2)に示すように、読出アドレス(1)のアドレス切り替わり時にHレベルに立ち上がり、中央までHレベルを維持してLレベルに立ち下がり、以降次のアドレス切り替わり時までLレベルを維持する信号である。
【0027】
F/F211は、図3(3)に示すように、リードアクセス信号221がHレベルからLレベルに変化するタイミングに応答してLレベルとHレベルとに交互に変化する反転指示信号142を出力する。
【0028】
具体的には、反転指示信号142は、“アドレスa、アドレスa”の最初のアドレスaにおけるリードアクセス信号221のHレベルからLレベルへの変化タイミングにてHレベルからLレベルに立ち下がり、2つ目のアドレスaにおけるリードアクセス信号221のHレベルからLレベルへの変化タイミングまでLレベルを維持してそのLレベルからHレベルに立ち上がり、以降、各アドレスにおいて同様に変化する。
【0029】
排他的論理和回路131では、実施の形態1にて説明したように、反転指示信号142がLレベルであるときはビット反転操作は行わず、反転指示信号142がHレベルであるときにビット反転操作を行う。図3の例で言えば、“アドレスa、アドレスa”“アドレスb、アドレスb”“アドレスc、アドレスc”における最初のアドレスではビット反転操作は行われず、2つ目のアドレスではビット反転操作が行われる。
【0030】
したがって、データバス101に送出される読出データDB00〜DB15は、図3(4)に示すようになる。すなわち、読出アドレス“アドレスa、アドレスa”に対しては最初のアドレスaによる読出データDB00〜DB15は、反転操作が行われない非反転値データ“データa正”となり、次のアドレスaによる読出データDB00〜DB15は、反転操作が行われた反転値データ“データa反”となる。“アドレスb、アドレスb”“アドレスc、アドレスc”に対しても同様である。
【0031】
このように、実施の形態2によれば、データを読み出す周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態1と同様にCPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0032】
加えて、実施の形態2による周辺モジュールでは、ビット反転操作を行うか否かを選択することができ、ビット反転操作を行うときは、CPU100は、実施の形態1にて説明した特別の操作をすることなく簡単に非反転値データと反転値データとを連続して読み出すことができる。
【0033】
したがって、実施の形態2では、記憶回路121から同一データを2回続けて読み出すようにすれば、CPU100は、同一データについての非反転値データと反転値データとを連続して読み出し、例えば外部にシリアルデータを出力するシリアルインタフェースモジュールに転送して書き込むことができる。
【0034】
実施の形態3.
図4は、この発明の実施の形態3である半導体集積回路の構成を示す回路図である。なお、図4では、図2に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態3に関わる部分を中心に説明する。
【0035】
図4に示すように、実施の形態3では、図2に示した構成において、周辺モジュール200に代えて周辺モジュール300が設けられている。周辺モジュール300が備えるビット反転制御回路301では、図2に示したビット反転制御回路201において、16ビットカウンタ311が設けられている。
【0036】
16ビットカウンタ311は、初期値は任意であるが、リードアクセス信号221がアサートされる回数をカウントし、アサートされた回数が16回に到達する度にオーバーフロー信号321をF/F211に与えることを繰り返すようになっている。
【0037】
F/F211は、16ビットカウンタ311からのオーバーフロー信号321と反転許否信号(EN)222とが入力され、それに基づき反転指示信号142を出力するようになっている。
【0038】
すなわち、F/F211は、反転許否信号(EN)222がLレベルであるときは、16ビットカウンタ311からオーバーフロー信号321の入力有無とは無関係に、反転指示信号142をLレベルに固定するが、反転許否信号(EN)222がHレベルであるときは、オーバーフロー信号321が入力される度に、反転指示信号142をLレベルとHレベルとに交互に変化させるようになっている。
【0039】
次に、図5は、図4に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。記憶回路121の図示しない読出制御回路は、記憶回路121に対し、反転許否信号(EN)222がLレベルに操作されるときは、読出アドレスを順次更新するが、反転許否信号(EN)222がHレベルに操作されるときは、16個のアドレスに2回アクセスすることを繰り返すようになっている。
【0040】
ここでは、反転許否信号(EN)222がHレベルに操作される場合であるので、図5(1)に示すように、読出アドレスは、“アドレスa、アドレスb、・・・、アドレスp”“アドレスa、アドレスb、・・・、アドレスp”のように、16個のアドレスが2回続けて記憶回路121に与えられる。
【0041】
リードアクセス信号221は、図5(2)に示すように、読出アドレス(1)のアドレス切り替わり時にHレベルに立ち上がり、中央までHレベルを維持してLレベルに立ち下がり、以降次のアドレス切り替わり時までLレベルを維持する信号である。
【0042】
16ビットカウンタ311は、図5(3)に示すように、リードアクセス信号221がHレベルに立ち上がるのに応答してカウントアップ動作を行い、“アドレスa、アドレスb、・・・、アドレスp”に対応して値1から値Fまでをカウントし、図5(4)に示すように、“アドレスa”のカウント時にオーバーフロー信号321を出力する。オーバーフロー信号321は、リードアクセス信号221がHレベルを維持している期間をパルス幅とするパルス信号である。
【0043】
F/F211では、図5(5)に示すように、オーバーフロー信号321の終了タイミングに応答してLレベルとHレベルとに交互に変化する反転指示信号142を出力する。
【0044】
具体的には、反転指示信号142は、最初の“アドレスa、アドレスb、・・・、アドレスp”ではLレベルであり、2つ目の“アドレスa、アドレスb、・・・、アドレスp”ではHレベルである。以降、各16ビット毎の2アドレスにおいて同様に変化する。
【0045】
排他的論理和回路131では、実施の形態1にて説明したように、反転指示信号142がLレベルであるときはビット反転操作は行わず、反転指示信号142がHレベルであるときにビット反転操作を行う。図5の例で言えば、最初の“アドレスa、アドレスb、・・・、アドレスp”ではビット反転操作は行われず、2つ目の“アドレスa、アドレスb、・・・、アドレスp”ではビット反転操作が行われる。
【0046】
したがって、データバス101に送出される読出データDB00〜DB15は、図5(6)に示すようになる。すなわち、読出アドレス“アドレスa、アドレスb、・・・、アドレスp”“アドレスa、アドレスb、・・・、アドレスp”に対しては、最初の“アドレスa、アドレスb、・・・、アドレスp”による読出データDB00〜DB15は、反転操作が行われない非反転値データ“データa正、データb正、・・・、データp正”となり、次の“アドレスa、アドレスb、・・・、アドレスp”による読出データDB00〜DB15は、反転操作が行われた反転値データ“データa反、データb反、・・・、データp反”となる。以降、各16ビット毎の2アドレスに対する読出データDB00〜DB15も同様である。
【0047】
このように、実施の形態3によれば、データを読み出す周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態1,2と同様にCPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0048】
加えて、実施の形態3による周辺モジュールでは、ビット反転操作を行うか否かを選択することができ、ビット反転操作を行うときは、CPU100は、実施の形態1にて説明した特別の操作をすることなく簡単に、任意の読み出し回数毎に非反転値データと反転値データとを連続して読み出すことができる。
【0049】
したがって、実施の形態3では、任意の読み出し回数を1単位として記憶回路121から同一データを2回続けて読み出すようにすれば、CPU100は、任意の読み出し回数分のデータについての非反転値データと反転値データとを連続して読み出し、例えば外部にシリアルデータを出力するシリアルインタフェースモジュールに転送して書き込むことができる。
【0050】
実施の形態4.
図6は、この発明の実施の形態4である半導体集積回路の構成を示す回路図である。なお、図6では、図1に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態4に関わる部分を中心に説明する。
【0051】
図6に示すように、実施の形態4では、図1に示した構成において、周辺モジュール102に代えて周辺モジュール400が設けられている。周辺モジュール400が備えるビット反転制御回路401では、図1に示したビット反転制御回路122において、ビット反転レジスタ133に代えて、比較用アドレスレジスタ410、3入力のAND回路411、2入力のAND回路412およびラッチ回路413が設けられている。
【0052】
比較用アドレスレジスタ410には、データバス102に接続される比較用アドレス送出バス403から送られてくる比較用アドレスが設定され、その設定された比較用アドレスを3入力のAND回路411に出力する。
【0053】
AND回路411は、他の2入力がリードアクセス信号221と読出アドレス421であり、3入力の条件が一致したとき、Hレベルのアドレス一致信号422を2入力のAND回路412に出力する。
【0054】
AND回路412は、他の1入力が反転許否信号222であり、アドレス一致信号422と反転許否信号222が共にHレベルであるとき、ラッチ回路413に対する出力をHレベルにし、その他の場合はLレベルをラッチ回路413に出力する。
【0055】
ラッチ回路413は、AND回路412の出力を取り込み反転指示信号142を出力する。したがって、反転指示信号142の信号レベルは、AND回路412の出力レベルと同じになる。
【0056】
次に、図7は、図6に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。図7(1)では、読出アドレスは、“0××0H”“0××2H”“0××4H”“1××0H”“1××2H”“1××4H”“0××6H”“1××6H”・・となっている。このように、記憶回路121の図示しない読出制御回路は、記憶回路121に対し、任意の読出アドレスを与える。これは、AND回路411に与えられる読出アドレス421でもある。
【0057】
リードアクセス信号221は、図7(2)に示すように、読出アドレス(1)のアドレス切り替わり時にHレベルに立ち上がり、中央までHレベルを維持してLレベルに立ち下がり、以降次のアドレス切り替わり時までLレベルを維持する信号である。
【0058】
図7(3)に示すように、比較用アドレスレジスタ410には、読出アドレス“1××0H”のタイミングで、比較用アドレス“1×××H”が設定される。この比較用アドレス“1×××H”は、読出アドレス(1)中のアドレス“1××0H”“1××2H”“1××4H”“1××6H”と一致する。
【0059】
したがって、AND回路411が出力するアドレス一致信号422は、図7(4)に示すように、読出アドレス(1)中のアドレス“0××0H”“0××2H”“0××4H”のタイミングでは発生せず、アドレス“1××0H”“1××2H”“1××4H”“1××6H”のタイミングでは、リードアクセス信号221がアサートされる度にそのHレベルである期間毎に発生し、次のアドレス“0××6H”のタイミングでは発生せず、次のアドレス“1××6H”のタイミングでは、リードアクセス信号221がHレベルである期間に発生することになる。
【0060】
ここでは、反転許否信号(EN)222がHレベルに操作される場合であるので、AND412からラッチ回路413に対して、図7(4)に示すアドレス一致信号422がそのまま入力されるので、ラッチ回路413が出力する反転指示信号142は、図7(5)に示すように、読出アドレス(1)中のアドレス“0××0H”“0××2H”“0××4H”のタイミングではLレベルとなり、アドレス“1××0H”“1××2H”“1××4H”“1××6H”のタイミングではHレベルとなり、次のアドレス“0××6H”のタイミングではLレベルとなり、次のアドレス“1××6H”のタイミングではHレベルとなる。
【0061】
排他的論理和回路131では、実施の形態1にて説明したように、反転指示信号142がLレベルであるときはビット反転操作は行わず、反転指示信号142がHレベルであるときにビット反転操作を行う。図7の例で言えば、比較用アドレス(3)と一致したアドレス“1××0H”“1××2H”“1××4H”“1××6H”ではビット反転操作が行われ、一致しないアドレス“0××0H”“0××2H”“0××4H”“0××6H”ではビット反転操作は行われない。
【0062】
したがって、データバス101に送出される読出データDB00〜DB15は、図7(6)に示すようになる。すなわち、読出アドレス(1)中、アドレス“0××0H”“0××2H”“0××4H”による読出データDB00〜DB15は、反転操作が行われない非反転値データ“データa正、データb正、データc正”となり、次のアドレス“1××0H”“1××2H”“1××4H”による読出データDB00〜DB15は、反転操作が行われた反転値データ“データD反、データE反、データF反”となり、次のアドレス“0××6H”による読出データDB00〜DB15は、反転操作が行われない非反転値データ“データG正”となり、次のアドレス“1××6H”による読出データDB00〜DB15は、反転操作が行われた反転値データ“データH反”となる。
【0063】
このように、実施の形態4によれば、データを読み出す周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態1〜3と同様にCPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0064】
加えて、実施の形態4による周辺モジュールでは、ビット反転操作を行うか否かを選択することができ、ビット反転操作を行うときは、CPU100は、実施の形態1にて説明した特別の操作をすることなく、単に任意の比較アドレスを設定するだけで、その任意の比較アドレスと一致した読出データについて反転値データを得ることができる。
【0065】
実施の形態5.
図8は、この発明の実施の形態5である半導体集積回路の構成を示す回路図である。なお、図8では、図6に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態5に関わる部分を中心に説明する。
【0066】
図8に示すように、実施の形態5では、図6に示した構成において、周辺モジュール400に代えて周辺モジュール500が設けられている。周辺モジュール500が備えるビット反転制御回路501では、図6に示したビット反転制御回路401において、比較用アドレスレジスタ410、3入力のAND回路411、2入力のAND回路412に代えて、3入力のAND回路510が設けられ、また記憶回路121に読出アドレスを与えるデコーダ512が明示されている。
【0067】
この実施の形態5にて扱う読出アドレス521は、オフセットされている“1×××H”の場合と、オフセットされていない“0×××H”の場合とがある。そこで、読出アドレス521のうち、オフセット操作されることのあるアドレス上位523をAND回路510に与え、アドレス下位“×××H”524をデコーダ512に与えるようにしている。
【0068】
AND回路510は、他の2入力がリードアクセス信号221と反転許否信号222であり、3入力の条件が一致したとき、Hレベルのオフセットアドレスヒット信号526をラッチ回路413に出力する。
【0069】
ラッチ回路413は、AND回路510の出力を取り込み反転指示信号142を出力する。したがって、反転指示信号142の信号レベルは、AND回路510の出力レベルと同じになる。
【0070】
次に、図9は、図8に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。図9(1)では、読出アドレスは、“0××0H”“0××2H”“0××4H”“1××0H”“1××2H”“1××4H”“0××6H”“1××6H”・・となっている。
【0071】
したがって、AND回路510に入力されるアドレス上位523は、図9(3)に示すように、“0”“0”“0”“1”“1”“1”“0”“1”に対応したレベルになる。また、デコーダ512に入力されるアドレス下位524は、図9(4)に示すように、“××0H”“××2H”“××4H”“××0H”“××2H”“××4H”“××6H”“××6H”となる。
【0072】
リードアクセス信号221は、図9(2)に示すように、読出アドレス(1)のアドレス切り替わり時にHレベルに立ち上がり、中央までHレベルを維持してLレベルに立ち下がり、以降次のアドレス切り替わり時までLレベルを維持する信号である。
【0073】
ここでは、反転許否信号(EN)222がHレベルに操作される場合であるので、AND510からラッチ回路413に対して、図9(3)に示すアドレス上位の信号波形がそのままオフセットアドレスヒット信号526として入力されるので、ラッチ回路413が出力する反転指示信号142は、図9(5)に示すように、読出アドレス(1)中のアドレス“0××0H”“0××2H”“0××4H”のタイミングではLレベルとなり、アドレス“1××0H”“1××2H”“1××4H”“1××6H”のタイミングではHレベルとなり、次のアドレス“0××6H”のタイミングではLレベルとなり、次のアドレス“1××6H”のタイミングではHレベルとなる。
【0074】
排他的論理和回路131では、実施の形態1にて説明したように、反転指示信号142がLレベルであるときはビット反転操作は行わず、反転指示信号142がHレベルであるときにビット反転操作を行う。図9の例で言えば、オフセットアドレスヒット信号526が発生したアドレス“1××0H”“1××2H”“1××4H”“1××6H”ではビット反転操作が行われ、オフセットアドレスヒット信号526が発生しないアドレス“0××0H”“0××2H”“0××4H”“0××6H”ではビット反転操作は行われない。
【0075】
したがって、データバス101に送出される読出データDB00〜DB15は、図7(6)に示すようになる。すなわち、読出アドレス(1)におけるアドレス下位(4)が記憶回路121に与えられるので、そのアドレス下位(4)中、アドレス“××0H”“××2H”“××4H”による読出データDB00〜DB15は、反転操作が行われない非反転値データ“データa正、データb正、データc正”となり、次のアドレス“××0H”“××2H”“××4H”による読出データDB00〜DB15は、反転操作が行われた反転値データ“データa反、データb反、データc反”となり、次のアドレス“××6H”による読出データDB00〜DB15は、反転操作が行われない非反転値データ“データD正”となり、次のアドレス“××6H”による読出データDB00〜DB15は、反転操作が行われた反転値データ“データD反”となる。
【0076】
このように、実施の形態5によれば、データを読み出す周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態1〜4と同様にCPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0077】
加えて、実施の形態5による周辺モジュールでは、ビット反転操作を行うか否かを選択することができ、ビット反転操作を行うときは、オフセットされる読出アドレスを使用して、オフセットアドレスにヒットしないときは非反転値データを読み出し、オフセットアドレスにヒットしたときは反転値データを読み出すことができる。
【0078】
実施の形態6.
図10は、この発明の実施の形態6である半導体集積回路の構成を示す回路図である。図10において、CPU100にデータバス101を介して接続される周辺モジュール600は、CPU100がデータの書き込みを行う例えばシリアルインタフェースモジュールであり、16ビットの並列データWD00〜WD15を内部のデータレジスタに送り込むローカルバス601を備えている。
【0079】
ここで、CPU100がデータバス101を介して周辺モジュール600に書き込む16ビットの並列データDB00〜DB15は、ビット反転操作の行われていない非反転値データである。
【0080】
そこで、この周辺モジュール600では、ローカルバス601とデータバス101との間に、データバス101から取り込む非反転値データDB00〜DB15にビット反転/非反転の操作を施した書込データWD00〜WD15を生成するビット反転制御回路605が設けられている。
【0081】
ビット反転制御回路605は、データバス101から取り込む16ビットのデータDB00〜DB15毎に設けられる排他的論理和回路602およびトライステートバッファ603とビット反転レジスタ611とを備えている。
【0082】
ビット反転レジスタ611には、データバス102に接続されるビット反転指示データ送出バス612から送られてくるビット反転指示データが設定され、2値レベルのビット反転指示信号621を出力するようになっている。
【0083】
排他的論理和回路602は、データバス101から取り込む16ビットのデータDB00〜DB15のうちの対応するデータビットとビット反転指示信号621との排他的論理和を取り、対応するトライステートバッファ603に出力する。トライステートバッファ603は、書込制御信号622に従って排他的論理和回路602の出力をローカルデータバス601に送出するようになっている。
【0084】
以上の構成において、ビット反転レジスタ611は、ビット反転指示データ送出バス612から送られてくるビット反転指示データが“0”である場合は、ビット反転指示信号621をLレベルにする。その結果、データバス101から取り込む16ビットのデータDB00〜DB15は、そのまま排他的論理和回路602およびトライステートバッファ603を介してローカルデータバス601に書込データWD00〜WD15として送出され、内部のデータレジスタに書き込まれる。
【0085】
一方、ビット反転レジスタ611は、ビット反転指示データ送出バス612から送られてくるビット反転指示データが“1”である場合は、ビット反転指示信号621をHレベルにする。その結果、データバス101から取り込む16ビットのデータDB00〜DB15は、排他的論理和回路602にてビット反転操作を受け、トライステートバッファ603を介してローカルデータバス601に書込データWD00〜WD15として送出され、内部のデータレジスタに書き込まれる。
【0086】
したがって、CPU100は、他の周辺モジュールから読み出したデータをこの周辺モジュール600に転送する場合、単に、ビット反転レジスタ611に“0”を設定し、次に、“1”を設定する操作をするだけで、周辺モジュール600のデータレジスタに、反転操作を行っていない非反転値データWD00〜WD15と反転操作を行った反転値データWD00〜WD15とを書き込むことができる。
【0087】
このように、実施の形態6によれば、データを書き込む周辺モジュールにおいてビット反転操作が行えるようにしたので、CPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0088】
実施の形態7.
図11は、この発明の実施の形態7である半導体集積回路の構成を示す回路図である。なお、図11では、図10に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態7に関わる部分を中心に説明する。
【0089】
図11に示すように、実施の形態7では、図10に示した構成において、周辺モジュール600に代えて周辺モジュール700が設けられている。周辺モジュール700が備えるビット反転制御回路701では、図10に示したビット反転制御回路605において、ビット反転レジスタ611に代えてF/F710が設けられている。
【0090】
F/F710は、ローカルデータバス601に接続される図示しないデータレジスタへのライトアクセス信号721と反転許否信号(EN)722とが入力され、それに基づき反転指示信号621を出力するようになっている。
【0091】
すなわち、反転許否信号(EN)722は、反転操作を許可するときは例えばHレベルとなり、反転操作を許可しないときはLレベルとなる信号である。F/F710は、反転許否信号(EN)722がLレベルであるときは、ライトアクセス信号721のアサート・ネゲートとは無関係に、反転指示信号621をLレベルに固定するが、反転許否信号(EN)722がHレベルであるときは、ライトアクセス信号721がアサートされる度に、反転指示信号621をLレベルとHレベルとに交互に変化させるようになっている。
【0092】
この構成によれば、周辺モジュール700では、データバス101から取り込んだデータDB00〜DB15を内部のデータレジスタに書き込む際に、ライトアクセス信号721がアサートされる度に、反転操作を行わない非反転値データWD00〜WD15と反転操作を行った反転値データWD00〜WD15とを交互に書き込むことができる。
【0093】
このように、実施の形態7によれば、データを書き込む周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態6と同様にCPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0094】
実施の形態8.
図12は、この発明の実施の形態8である半導体集積回路の構成を示す回路図である。なお、図12では、図11に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態8に関わる部分を中心に説明する。
【0095】
図12に示すように、実施の形態8では、図11に示した構成において、周辺モジュール700に代えて周辺モジュール800が設けられている。周辺モジュール800が備えるビット反転制御回路801では、図11に示したビット反転制御回路701において、16ビットカウンタ811が設けられている。
【0096】
16ビットカウンタ811は、初期値は任意であるが、ライトアクセス信号721がアサートされる回数をカウントし、アサートされた回数が16回に到達する度にオーバーフロー信号821をF/F710に与えることを繰り返すようになっている。
【0097】
F/F710は、16ビットカウンタ811からのオーバーフロー信号821と反転許否信号(EN)722とが入力され、それに基づき反転指示信号621を出力するようになっている。
【0098】
すなわち、F/F710は、反転許否信号(EN)722がLレベルであるときは、16ビットカウンタ811からオーバーフロー信号821の入力有無とは無関係に、反転指示信号621をLレベルに固定するが、反転許否信号(EN)722がHレベルであるときは、オーバーフロー信号821が入力される度に、反転指示信号621をLレベルとHレベルとに交互に変化させるようになっている。
【0099】
この構成によれば、周辺モジュール700では、データバス101から取り込んだデータDB00〜DB15を内部のデータレジスタに書き込む際に、ライトアクセス信号721がアサートされる回数が所定値(図12では16回)になるまでは、例えば反転操作を行わない非反転値データWD00〜WD15を書き込み、次にライトアクセス信号721がアサートされる回数が所定値になるまでは、反転操作を行った反転値データWD00〜WD15を書き込むことができる。
【0100】
このように、実施の形態8によれば、データを書き込む周辺モジュールにおいてビット反転操作が行えるようにしたので、実施の形態6,7と同様にCPUは、ビット反転操作を行うことなく大量の反転値データを処理することができ、処理負荷の軽減が図れる。
【0101】
【発明の効果】
以上説明したように、この発明によれば、中央処理装置がデータバスを介してデータの読み出しを行う周辺モジュールにおいて、あるいは、中央処理装置がデータバスを介してデータの書き込みを行う周辺モジュールにおいて、必要なビット反転操作を行うようにしたので、中央処理装置は、例えばある周辺モジュールから読み出したデータを他の周辺モジュールに転送する場合にビット反転操作をしないで済み、処理負荷の軽減が図れる。
【図面の簡単な説明】
【図1】この発明の実施の形態1である半導体集積回路の構成を示す回路図である。
【図2】この発明の実施の形態2である半導体集積回路の構成を示す回路図である。
【図3】図2に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。
【図4】この発明の実施の形態3である半導体集積回路の構成を示す回路図である。
【図5】図4に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。
【図6】この発明の実施の形態4である半導体集積回路の構成を示す回路図である。
【図7】図6に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。
【図8】この発明の実施の形態5である半導体集積回路の構成を示す回路図である。
【図9】図8に示す周辺モジュールでのビット反転動作を説明するタイムチャートである。
【図10】この発明の実施の形態6である半導体集積回路の構成を示す回路図である。
【図11】この発明の実施の形態7である半導体集積回路の構成を示す回路図である。
【図12】この発明の実施の形態8である半導体集積回路の構成を示す回路図である。
【符号の説明】
100 中央処理装置(CPU)、101 データバス、102,200,300,400,500,600,700,800 周辺モジュール、103,612 ビット反転指示データ送出バス、121 記憶回路、122,201,301,401,501,605,701,801 ビット反転制御回路、131,602 排他的論理和回路(ビット操作手段)、132,603 トライステートバッファ、133,611 ビット反転レジスタ、141 読出制御信号、142,621 反転指示信号、211,710 フリップフロップ(F/F)、221 リードアクセス信号、222,722 反転許否信号(EN)、311,811 16ビットカウンタ、321,821 オーバーフロー信号、403 比較用アドレス送出バス、410 比較用アドレスレジスタ、411,412,510 AND回路、413 ラッチ回路、421,521 読出アドレス、422 アドレス一致信号、512 デコーダ、523 アドレス上位、524 アドレス下位、601 ローカルデータバス、622 書込制御信号、721 ライトアクセス信号。
Claims (11)
- 中央処理装置とこの中央処理装置がデータバスを介してデータの読み出しを行う周辺モジュールとを備える半導体集積回路において、
前記周辺モジュールは、
データのビット値を反転値とするか否かの指示を与える反転指示信号を発生するビット反転制御手段と、
前記データバスに送出するために記憶手段から読み出されたデータの各ビットに前記反転指示信号の指示に従った非反転と反転のいずれかの操作を施し、前記データバスへのデータ送出タイミングを制御するバッファに出力するビット操作手段と、
を備えたことを特徴とする半導体集積回路。 - 前記ビット反転制御手段は、
前記データバスから書き込まれる反転指示データに従って前記反転指示信号を出力する反転レジスタである、
ことを特徴とする請求項1に記載の半導体集積回路。 - 前記ビット反転制御手段は、
前記記憶手段に対するリードアクセスが行われる度に出力信号である前記反転指示信号を反転指示と非反転指示とに交互に変化させるフリップフロップである、
ことを特徴とする請求項1に記載の半導体集積回路。 - 前記ビット反転制御手段は、
前記記憶手段に対するリードアクセスが行われる回数をカウントし、所定値に到達するとオーバーフロー信号を出力して再度所定値までのカウント動作を行うカウンタと、
前記カウンタから前記オーバーフロー信号が入力する度に出力信号である前記反転指示信号を反転指示と非反転指示とに交互に変化させるフリップフロップと、
を備えたことを特徴とする請求項1に記載の半導体集積回路。 - 前記ビット反転制御手段は、
前記データバスから比較用のアドレス信号が書き込まれる比較用レジスタと、
前記記憶手段に対するリードアクセスが行われる度に読出アドレスと前記比較用レジスタの内容との一致不一致を判定する手段と、
前記判定の結果が、一致のときは反転指示と非反転指示の一方を示す前記反転指示信号を出力し、不一致のときは反転指示と非反転指示の他方を示す前記反転指示信号を出力する手段と、
を備えたことを特徴とする請求項1に記載の半導体集積回路。 - 前記ビット反転制御手段は、
前記記憶手段に対するリードアクセスが行われる度に読出アドレス中のオフセット信号を監視し、前記オフセット信号が存在するときは反転指示と非反転指示の一方を示す前記反転指示信号を出力し、前記オフセット信号が存在しないときは反転指示と非反転指示の他方を示す前記反転指示信号を出力する手段である、
ことを特徴とする請求項1に記載の半導体集積回路。 - 中央処理装置とこの中央処理装置がデータバスを介してデータの書き込み等を行う周辺モジュールとを備える半導体集積回路において、
前記周辺モジュールは、
データのビット値を反転値とするか否かの指示を与える反転指示信号を発生するビット反転制御手段と、
前記データバスから取り込むデータの各ビットに前記反転指示信号の指示に従った操作を施し、内部回路に出力するビット操作手段と、
を備えたことを特徴とする半導体集積回路。 - 前記ビット反転制御手段は、
前記データバスから書き込まれる反転指示データに従って前記反転指示信号を出力する反転レジスタである、
ことを特徴とする請求項7に記載の半導体集積回路。 - 前記ビット反転制御手段は、
前記内部回路の記憶手段へのライトアクセスが行われる度に出力信号である前記反転指示信号を反転指示と非反転指示とに交互に変化させるフリップフロップである、
ことを特徴とする請求項7に記載の半導体集積回路。 - 前記ビット反転制御手段は、
前記内部回路の記憶手段に対するライトアクセスが行われる回数をカウントし、所定値に到達するとオーバーフロー信号を出力して再度所定値までのカウント動作を行うカウンタと、
前記カウンタから前記オーバーフロー信号が入力する度に出力信号である前記反転指示信号を反転指示と非反転指示とに交互に変化させるフリップフロップと、
を備えたことを特徴とする請求項7に記載の半導体集積回路。 - 前記ビット反転制御手段は、反転許否信号が反転操作許可を示すとき前記反転指示信号を出力することを特徴とする請求項3〜6,9,10のいずれか一つに記載の半導体集積回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003159866A JP2004362262A (ja) | 2003-06-04 | 2003-06-04 | 半導体集積回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003159866A JP2004362262A (ja) | 2003-06-04 | 2003-06-04 | 半導体集積回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004362262A true JP2004362262A (ja) | 2004-12-24 |
Family
ID=34052816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003159866A Pending JP2004362262A (ja) | 2003-06-04 | 2003-06-04 | 半導体集積回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004362262A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI490880B (zh) * | 2008-01-16 | 2015-07-01 | Micron Technology Inc | 資料匯流排反轉裝置、系統及方法 |
CN110688813A (zh) * | 2019-08-19 | 2020-01-14 | 上海亿算科技有限公司 | 降低芯片逻辑翻转率的方法及结构 |
-
2003
- 2003-06-04 JP JP2003159866A patent/JP2004362262A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI490880B (zh) * | 2008-01-16 | 2015-07-01 | Micron Technology Inc | 資料匯流排反轉裝置、系統及方法 |
CN110688813A (zh) * | 2019-08-19 | 2020-01-14 | 上海亿算科技有限公司 | 降低芯片逻辑翻转率的方法及结构 |
CN110688813B (zh) * | 2019-08-19 | 2023-04-25 | 青芯半导体科技(上海)有限公司 | 降低芯片逻辑翻转率的方法及结构 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3088180B2 (ja) | シリアル入力インタフェース回路 | |
JP2762138B2 (ja) | メモリコントロールユニット | |
US7454589B2 (en) | Data buffer circuit, interface circuit and control method therefor | |
US8140797B2 (en) | Integrated circuit and method of securing access to an on-chip memory | |
US7051194B2 (en) | Self-synchronous transfer control circuit and data driven information processing device using the same | |
JPS635444A (ja) | マイクロプロセツサ | |
US6769051B2 (en) | Memory controller and memory control method for controlling an external memory device to be accessible even in an addressing mode that is not supported thereby | |
JP2004362262A (ja) | 半導体集積回路 | |
US7463266B2 (en) | Low overhead serial interface | |
US7725665B2 (en) | Data processor | |
JP2005352568A (ja) | アナログ信号処理回路、並びに、そのデータレジスタ書換方法とそのデータ通信方法 | |
US20020188771A1 (en) | Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof | |
JPH11203237A (ja) | 半導体集積回路 | |
JPH06301596A (ja) | マイクロプロセッサ | |
JP2634609B2 (ja) | データ転送装置 | |
JP3737144B2 (ja) | 割り込み要求回路および割り込み要求の処理方法 | |
KR910006684Y1 (ko) | 중앙처리장치 신호 제어회로 | |
JP3177975B2 (ja) | 1チップマイクロコンピュータ | |
KR0182644B1 (ko) | 메모리의 읽기 및 쓰기제어장치 | |
JPH1125235A (ja) | Pcカード | |
KR19980066531A (ko) | 프로세서의 데이타 읽기방법 및 그 장치 | |
JPH047762A (ja) | メモリアクセス方法 | |
JP2005250999A (ja) | レジスタ制御回路 | |
JP2004348463A (ja) | アービタ回路 | |
JP2004133611A (ja) | Lsiにおけるマクロテスト回路 |