【手続補正書】
【提出日】平成28年7月19日(2016.7.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
Ｎ（Ｎは、Ｎ≧２の整数）ビット長のビット列の入力を受け入れて、前記入力されるビット列が表すアドレスに、当該入力されるビット列に含まれる各ビット間の論理演算結果を表すビットをその一部に含む多ビット長のデータを格納してなるルックアップテーブルを記憶するメモリデバイスと、
前記メモリデバイスにアクセスし、前記受け入れたビット列が表すアドレスに格納されたデータに含まれるビットを出力する出力手段と、
を含む論理演算装置。
【請求項２】
請求項１記載の論理演算装置であって、
前記メモリデバイスに格納されたデータには、前記入力されるビット列に含まれる各ビット間の論理演算結果と、その反転ビットとが含まれ、
前記出力手段は、当該ビット間の論理演算結果と、その反転ビットとの一方を選択的に出力する論理演算装置。
【請求項３】
請求項２記載の論理演算装置であって、
Ｍ（Ｍは、Ｍ＞Ｎなる整数）ビット長のビット列の入力を受けて、当該Ｍビット長のビット列からＮビットのビット列を抽出して、当該抽出したＮビットのビット列を時分割的に前記メモリデバイスに出力する分割手段をさらに含み、
時分割的に前記Ｎビットのビット列が出力されるタイミングにおいて、前記出力手段が、前回出力したビットを用いて、メモリデバイスにアクセスして取り出したビット間の論理演算結果と、その反転ビットとの一方を選択的に出力する論理演算装置。
【請求項４】
請求項１から３のいずれか一項に記載の論理演算装置であって、
前記メモリデバイスに格納された論理演算結果は、入力ビット列に含まれる各ビット間の排他的論理和の演算結果である論理演算装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
またｉ番目のスリーステートバッファ２１＿ｉの出力端子Ｙ＿ｉは、メモリデバイス１２のアドレスバスのうち（ｉ mod ８）番目のピンに接続される。ここで（ｉ mod ｋ）は、ｉをｋで除したときの余りを意味する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
クロック供給部２５は、図６に示すように、定期的に立ち上がりと立ち下りとを繰返すクロック信号ＣＬＫを生成してこれを出力する。またこのクロック供給部２５は、ｎ個（ｎは論理演算の対象となるビット数８ｎを、メモリデバイス１２のアドレスバス幅である８で除した値）のサブクロック信号φi（ｉ＝１，２，…ｎ）を生成する。このサブクロック信号φiは、所定の時点からｊ回目にクロック信号ＣＬＫが立ち上る際に、ｉ＝（ｊ mod ｎ）＋１のサブクロック信号φiが立ち上がり、ｊ回目にクロック信号ＣＬＫが立ち下る際に、ｉ＝（ｊ mod ｎ）＋１のサブクロック信号φiが立ち下るようにしておく。この際、ｉ≠（ｊ mod ｎ）＋１なるサブクロック信号φiはLowの状態を維持するものとする。またクロック供給部２５は次のようなサブクロック信号φ0を生成する。すなわち、このφ0は、ｊ回目にクロック信号ＣＬＫが立ち上がる際に（ｊ mod ｎ）＝０であるときに立ち上がり、その後のクロック信号ＣＬＫのｎ／２回目の立ち上がりまたは（ｎ−１）／２回目の立ち下り時など、その後、クロック信号ＣＬＫがｎ回目に立ち上がるまでに立ち下るようにする。図６には、ｎ＝４の場合のサブクロック信号φ1，φ2，φ3，φ4と、φ0とを例示している。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
ここでクロック供給部２５は、サブクロック信号φ1を第１番目のスリーステートバッファ２１＿１から第８番目のスリーステートバッファ２１＿８に供給し、サブクロック信号φ2を第９番目のスリーステートバッファ２１＿９から第１６番目のスリーステートバッファ２１＿１６に供給し…というように、サブクロックφ（［ｐ−１／８］＋１）を、８つのスリーステートバッファ２１＿ｐ（ｐはｐ≧１の整数）に供給する。ここで［＊］は＊を超えない最大の整数を意味するものとする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６４
【補正方法】変更
【補正の内容】
【００６４】
ここでの例では、セレクタ部４１ｂは、セレクタ部４１ａから受け入れたビットが「０」であるときには、メモリデバイス１２から読み出したデータのうちＭＳＢ側のビット（信号線ｄ3が出力する論理演算結果）を選択してラッチし、出力する。またこのセレクタ部４１ｂは、セレクタ部４１ａから受け入れたビットが「１」であるときには、メモリデバイス１２から読み出したデータのうち上記信号線ｄ3の次の信号線ｄ4の表すビット（論理演算結果の反転ビットを表す）を選択してラッチし、出力する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
そしてセレクタ部４１ｃは、クロック供給部２５から入力されるサブクロック信号φ3が立ち上がるタイミングで、メモリデバイス１２が格納しているデータのうち、スリーステートバッファ２１が出力するビット列が表すアドレスに格納されているデータを読み出してラッチする。ここでの例におけるセレクタ部４１ｃはセレクタ部４１ｂから受け入れたビットが「０」であるときには、メモリデバイス１２から読み出したデータのうちＭＳＢ側のビット（信号線ｄ5が出力する論理演算結果）を選択してラッチし、出力する。またこのセレクタ部４１ｃは、セレクタ部４１ｂから受け入れたビットが「１」であるときには、メモリデバイス１２から読み出したデータのうち上記信号線ｄ5の次の信号線ｄ6の表すビット（論理演算結果の反転ビットを表す）を選択してラッチし、出力する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
そしてセレクタ部４１ｄは、クロック供給部２５から入力されるサブクロック信号φ4が立ち上がるタイミングで、メモリデバイス１２が格納しているデータのうち、スリーステートバッファ２１が出力するビット列が表すアドレスに格納されているデータを読み出してラッチする。ここでの例におけるセレクタ部４１ｄはセレクタ部４１ｃから受け入れたビットが「０」であるときには、メモリデバイス１２から読み出したデータのうちＭＳＢ側のビット（信号線ｄ7が出力する論理演算結果）を選択してラッチし、出力する。またこのセレクタ部４１ｃは、セレクタ部４１ｂから受け入れたビットが「１」であるときには、メモリデバイス１２から読み出したデータのうち上記信号線ｄ7の次の信号線ｄ8の表すビット（論理演算結果の反転ビットを表す）を選択してラッチし、出力する。このセレクタ部４１ｄの出力は、外部に出力される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００７１
【補正方法】変更
【補正の内容】
【００７１】
このとき、出力ユニット４０のセレクタ部４１ａが、メモリデバイス１２が格納しているデータのうち、スリーステートバッファ２１＿１から２１＿８が出力するビット列が表すアドレスに格納されているデータを読み出す。なお、ここでセレクタ部４１ａには外部から「０」の信号が入力されているものとする。セレクタ部４１ａは、ラッチを備え、このラッチがサブクロック信号φ1の立ち上るタイミング（図６の時刻ｔ１）においてメモリデバイス１２から読み出したデータのうちＭＳＢのビット（データバスの信号線ｄ1を介して出力されるデータ、つまり論理演算結果）を演算結果Ｒ1としてラッチし、出力する。この出力Ｒ1はセレクタ部４１ｂに出力される。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００７２
【補正方法】変更
【補正の内容】
【００７２】
セレクタ部４１ｂは、この出力Ｒ1を受け入れておく。次にクロック供給部２５の出力するクロック信号ＣＬＫと、サブクロック信号φ2とが立ち上るタイミング（図６の時刻ｔ３）において、スリーステートバッファ２１＿９から２１＿１６が、入力されたビットｂ9，ｂ10，…ｂ16を、メモリデバイス１２のアドレスバスに供給する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００７３
【補正方法】変更
【補正の内容】
【００７３】
そしてセレクタ部４１ｂは、メモリデバイス１２が格納しているデータのうち、スリーステートバッファ２１＿９から２１＿１６が出力するビット列が表すアドレスに格納されているデータを読み出す。そしてセレクタ部４１ｂは、セレクタ部４１ａから入力されたビットが「０」であるとき（演算結果Ｒ1が「０」であったとき）には、メモリデバイス１２から読み出したデータのうちＭＳＢ側のビット（データバス上、ｄ3の信号線の出力、つまり論理演算結果）を演算結果Ｒ2として、サブクロック信号φ2が立ち上るタイミング（図６の時刻ｔ３）においてラッチし、出力する。またこのセレクタ部４１ｂは、セレクタ部４１ａから入力されたビットが「１」であるとき（演算結果Ｒ1が「１」であったとき）には、メモリデバイス１２から読み出したデータのうちｄ4の信号線の出力（論理演算結果の反転ビット）を演算結果Ｒ2として、サブクロック信号φ2が立ち上るタイミング（図６の時刻ｔ３）においてラッチし、出力する。この出力Ｒ2は、セレクタ部４１ｃによって受け入れられる。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
以下セレクタ部４１ｃ…も同様に動作する。そしてクロック供給部２５の出力するサブクロック信号φ4が立ち上るタイミングにおいてスリーステートバッファ２１＿２５から２１＿３２が、入力されたビットｂ25，ｂ26，…ｂ32を、メモリデバイス１２のアドレスバスに供給すると、セレクタ部４１ｄは、メモリデバイス１２が格納しているデータのうち、スリーステートバッファ２１＿２５から２１＿３２が出力するビット列が表すアドレスに格納されているデータを読み出す。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】変更
【補正の内容】
【００７５】
そしてセレクタ部４１ｄは、セレクタ部４１ｃから入力されたビットが「０」であるとき（演算結果Ｒ3が「０」であったとき）には、メモリデバイス１２から読み出したデータのうちＭＳＢ側のビット（データバス上、ｄ7の信号線の出力、つまり論理演算結果）を演算結果Ｒとしてサブクロック信号φ4が立ち上るタイミングにおいてラッチし、出力する。またこのセレクタ部４１ｄは、セレクタ部４１ｃから入力されたビットが「１」であるとき（演算結果Ｒ3が「１」であったとき）には、メモリデバイス１２から読み出したデータのうちｄ8の信号線の出力（論理演算結果の反転ビット）を演算結果Ｒとしてサブクロック信号φ4が立ち上るタイミングにおいてラッチし、出力する。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
このように、本実施の形態のこの例では、出力ユニット４０に含まれる各セレクタ部４１が、時分割的にＮビットずつのビット列が出力されるタイミングにおいて、前回出力したビットを用いて、メモリデバイスにアクセスして取り出したビット間の論理演算結果と、その反転ビットとの一方を選択的に出力する手段として機能している。そして４回目には出力ユニット４０が、８×４＝３２ビット長のデータＤに含まれる各ビットの論理演算結果（ここでの例では排他的論理和）を演算結果Ｒとして出力することとなる。
このように、本実施の形態のこの例では、出力ユニット４０が、時分割的にＮビットのビット列が出力されるタイミングにおいて、前回出力したビットを用いて、メモリデバイスにアクセスして取り出したビット間の論理演算結果と、その反転ビットとの一方を選択的に出力する手段として機能している。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
この図１０の例では、各論理演算装置１が出力する１ビットの出力を、それぞれ図１１に例示したものと同じ８入力排他的論理和回路１００に入力して、その排他的論理和の演算結果１ビットを得ている。この回路構成によると、比較的小規模な回路構成により、８×４×８＝２５６ビット長のビット列に含まれる各ビット間の排他的論理和が得られる。
【手続補正１５】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2015026341.tif 000001
【手続補正１６】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2015026341.tif 000002