【事件の表示】
　特願２００３−　　７６５２「リコンフィギュラブル回路とそれを利用可能な集積回路装置およびデータ変換装置」拒絶査定不服審判事件〔平成１６年　８月　５日出願公開、特開２００４−２２０３７７〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１．手続の経緯
　本願は、平成１５年１月１５日の出願であって、 平成２０年１月２２日付けで拒絶査定がなされ、これに対して平成２０年２月２８日に拒絶査定不服審判が請求されるとともに、平成２０年３月３１日付けで手続補正がなされたものである。
　　
　　
第２．平成２０年３月３１日付けの手続補正についての補正却下の決定
［補正却下の決定の結論］
　平成２０年３月３１日付けの手続補正（以下、「本件補正」という。）を却下する。
　　
 ［理由］
１．補正内容
　本件補正は、補正前の特許請求の範囲（平成１９年１２月１７日付けで補正）の請求項１：
「　【請求項１】
　乗算演算が可能なリコンフィギュラブル回路において、
　それぞれが複数の算術論理機能を選択的に実行可能な複数の論理回路からなる集合体が複数段にわたって配置された論理回路のアレイと、 
　前記論理回路の間の接続を行う接続部と、を備え、
　前記論理回路のいずれかに、乗算器に替えてビットシフタを実装したことを特徴とするリコンフィギュラブル回路。」を、
　　　　　　　　
「　【請求項１】
　それぞれが複数の算術論理機能を選択的に実行可能な複数の論理回路からなる集合体が複数段にわたって配置され、かつ前記論理回路のいずれかに、乗算器に替えてビットシフタを実装した論理回路のアレイと、
　所定段の論理回路の出力を前記所定段の次段に配置された論理回路の入力に接続する接続部と、を備えた、乗算演算、及び加算、減算、シフト演算が可能なリコンフィギュラブル回路に対し、
　所期の処理を実行せしめる設定データを生成する設定データ生成装置であって、
　前記リコンフィギュラブル回路において実行すべき乗算を、乗算を含まず、かつビットシフトを含むデータフローグラフに変換するコンパイル部と、　前記データフローグラフを設定データに変換する設定データ変換部と、を備え、
　前記設定データ変換部は、前記実行すべき乗算における乗数が２の階乗ではないとき、前記コンパイル部で変換されたデータフローグラフにおいて、複数のパスの段数を合わせるためにｍｏｖ演算を挿入することを特徴とする設定データ生成装置。」
　　　
と補正することを含むものである。
　　　　
　　　　
２．補正内容の検討　　　　
　「明細書、特許請求の範囲又は図面」を、以下「明細書等」という。
　「願書に最初に添付した明細書」を、以下「当初明細書」という。
　「願書に最初に添付した明細書等」を、以下「当初明細書等」という。
　　　　
　ｍｏｖ演算の挿入について当初明細書等に記載されている箇所は、次に示す段落番号【００２７】−【００２８】である。
　　　
「【００２７】
　ｘ＝２×ａ、ｙ＝５×ｂは、それぞれビットシフトを用いると、
　ｘ＝ａ＜＜１、ｙ＝ｂ＋（ｂ＜＜２）　
と表記できる。ここで、「＜＜」は左ビットシフトである。図５はこの表記に対応するデータフローグラフ、図６は図５をもとにマッピングされたリコンフィギュラブル回路１２を示す。同図において、ｍｏｖは前述のＮＯＰ演算である。データフローグラフから実際に回路をマッピングする方法は以下のとおりである。
　【００２８】
　１．データフローグラフの入力端に存在する変数および定数はデータ入力部４０へアサインする。　
　２．データフローグラフで入力端から数えてｉ番目の→の先にある演算は、第ｉ＋１段目のＡＬＵにアサインする。　
　３．２．の例外として、ある演算に到達する複数のパスにおける→の数がｉ、ｊのごとく違う場合、多いほうに合わせる。いま、ｉ＜ｊのとき、当該演算を第ｊ＋１段目にアサインする。　
　４．３．のとき、段数を合わせるために、ｉの側のパスに、ＮＯＰに相当するｍｏｖ演算を（ｊ−ｉ）個挿入する。」
　　　　　　　　　　　　　　　　　　
　段落番号【００２７】−【００２８】には、「ある演算に到達する複数のパスにおける→の数がｉ、ｊのごとく違う場合、段数を合わせるために、ｉ（ただし、ｉ＜ｊ）の側のパスに、ＮＯＰに相当するｍｏｖ演算を（ｊ−ｉ）個挿入する。」という内容が記載されているのみであって、「実行すべき乗算における乗数が２の階乗ではないとき、複数のパスの段数を合わせるためにｍｏｖ演算を挿入する」という内容は記載されていない。
　　　
　「階乗」の定義は、「自然数ｎに対して、１からｎまでのすべての自然数を乗じたものをｎの階乗といい、ｎ！で表す。」である。したがって、「２の階乗」は、２！＝１×２＝２である。したがって、「実行すべき乗算における乗数が４、６又は８であるとき」は補正後の請求項１の「実行すべき乗算における乗数が２の階乗ではないとき」に当たる。以下、「実行すべき乗算における乗数」が４、６又は８であるときについて検討する。
　　　　　
（ａ）実行すべき乗算における乗数が４であるとき
　当初明細書等の記載によれば、実行すべき乗算における乗数が４であるときは、２ビットシフト演算器を使用すれば、４の乗算が実現できるから、ｍｏｖ演算を使用しないことは明らかである。　
　したがって、「実行すべき乗算における乗数が４であるときに、ｍｏｖ演算を挿入すること」を意味する、補正後の請求項１の「前記実行すべき乗算における乗数が２の階乗ではないとき、前記コンパイル部で変換されたデータフローグラフにおいて、複数のパスの段数を合わせるためにｍｏｖ演算を挿入する」は、当初明細書等に記載された事項の範囲内でない。
　　　　  　
（ｂ）実行すべき乗算における乗数が６であるとき
　６は、２の階乗でもなく、また２の冪乗でもない。当初明細書等の記載によれば、実行すべき乗算における乗数が６であるときは、論理回路のアレイの第１段において、１ビットシフトと２ビットシフトを並列的に実行することにより、２倍と４倍とを得て、論理回路のアレイの第２段において、第１段で得た二つの結果を加算することにより実現できることは明らかである。そして、この場合に、ｍｏｖ演算を使用しないことも明らかである。　
　したがって、「実行すべき乗算における乗数が６であるときに、ｍｏｖ演算を挿入すること」を意味する、補正後の請求項１の「前記実行すべき乗算における乗数が２の階乗ではないとき、前記コンパイル部で変換されたデータフローグラフにおいて、複数のパスの段数を合わせるためにｍｏｖ演算を挿入する」は、当初明細書等に記載された事項の範囲内でない。
　　　　
（ｃ）実行すべき乗算における乗数が８であるとき
　実行すべき乗算における乗数が８であるときの実現方法は、当初明細書等の図８に開示されており、明らかにｍｏｖ演算は使用していない。　
　したがって、「実行すべき乗算における乗数が８であるときに、ｍｏｖ演算を挿入すること」を意味する、補正後の請求項１の「前記実行すべき乗算における乗数が２の階乗ではないとき、前記コンパイル部で変換されたデータフローグラフにおいて、複数のパスの段数を合わせるためにｍｏｖ演算を挿入する」は、当初明細書等に記載された事項の範囲内でない。
　　　　
　よって、補正後の請求項１は、当初明細書等のすべての記載を総合することにより導かれる技術的事項との関係において、新たな技術的事項を導入しないものでない。　
　なお、当初明細書等の図２７に、データフローグラフ中にｍｏｖ演算を挿入することが開示されているから、補正後の請求項１の「データフローグラフにおいて、・・・ｍｏｖ演算を挿入する」は、当初明細書等に記載された事項の範囲内である。
　　　
　したがって、本件補正は、平成１４年法律第２４号改正附則第３条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第３項の規定に違反するので、同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　　　
　　　
第３．本願発明について
　　　　　
１．本願発明
　平成２０年３月３１日付の手続補正は上記のとおり却下されたので、本願の請求項１に係る発明（以下、「本願発明」という。）は、平成１９年１２月１７日付け手続補正書の特許請求の範囲の請求項１に記載された事項により特定されるものである。
　　　
　　　
２．刊行物及び引用発明　　　
　原査定の拒絶の理由に引用された刊行物１（特開平９−２９４０６９号公報）には、図面とともに、以下の事項が記載されている。
　　　　　
（ａ）段落番号【００２６】−【００３１】
「【００２６】【発明の実施の形態】以下、図面を参照して本発明の実施の形態を詳細に説明する。図１は本実施の形態のＬＳＩ化する回路の基本構成を示す。図１において１〜１５は関数ユニット（ＰＦＵ）である。各関数ユニット（本発明の演算ユニット）は同一のものを使用できる。関数ユニットの各々は演算内容が異なる複数の演算回路を有している。四則演算回路等などは、メモリで構成することができる。メモリ内には加算用、減算用、乗算用、減算用、ＳＩＮの演算用、ＣＯＳの演算用等約１０種類の関数テーブルが格納されている。
【００２７】加算用の関数テーブルはたとえば５＋１の場合、数値５、１により定まるメモリ領域に加算結果の数値６が格納されている。したがって、使用したい関数テーブルを指定するデータと、演算対象のデータ（上記加算の場合、数値５、１）をメモリのアドレス線に入力すると、そのアドレスで指定されたメモリ領域から演算の結果がメモリのデータ線に出力される。上記各ＰＦＵは上述の演算テーブルの他、定数テーブルをも格納しており、定数のみの出力が可能である。また、ＡＮＤ、ＯＲ等の論理演算テーブルやＩＦ　ＴＨＥＮ形式の論理演算を実行する演算回路をも有している。これらのメモリ、演算器は外部から指示されるデジタル信号によりマルチプレクサ等の切替器により実行に供する演算回路が選択される。なお、本実施の形態ではメモリを使用する演算回路を例としたがその他の形態の演算回路を使用してもよいこと勿論である。
【００２８】各ＰＦＵはクロスバースイッチ（図中○印で図示）により選択的に相互接続される。なお●で示した箇所は接続を表し、たとえば、第１列目（１ｓｔＣｏｌｕｍｎ）に位置するＰＦＵ２は入力データｘとｙに接続され、これらのデータを入力することを示している。第２列目（２ｎｄＣｏｌｕｍｎ）のＰＦＵ６は第１列目のＰＦＵ２と接続し、ＰＦＵ２の演算出力を入力することを示している。
【００２９】したがって、ユーザは各ＰＦＵに実行させる演算の種類を不図示のディップスイッチや他の指示装置を用いて指定し、クロスバースイッチを操作することで任意の演算式を設定することができる。ちなみに図１の接続例で設定された演算式は
【００３０】
【数１】
　ＩＦ　（ｃｏｓ（Ｘ＋Ｙ）＞ｓｉｎ（Ｘ＊Ｚ′））ｔｈｅｎ
　　　　　　　　　　　　　　　Ｚ′−Ｙ　ｅｌｓｅ（Ｘ＋Ｙ）／Ｙ
を示す。この式はｃｏｓ（Ｘ＋Ｙ）の値がｓｉｎ（Ｘ＊Ｚ′）の値よりも大きいときにはＺ′−Ｙの値を演算結果とし、そうでない場合には（Ｘ＋Ｙ）／Ｙの値を演算結果とすることを意味する。
【００３１】このような演算式を従来の演算器の組み合わせで示した例を図２に示す。従来では、図２に示す回路をＬＳＩ化すると、演算式をを変更することは容易ではないが本実施の形態では、自由に演算式を組み替えることができる点に注意されたい。」
　　　
（ｂ）図１には、第１列目にＰＦＵ１〜５を配置し、第２列目にＰＦＵ６〜１０を配置し、第３列目にＰＦＵ１１〜１５を配置し、第１列目のＰＦＵと第２列目のＰＦＵとは、クロスバースイッチで接続可能とし、第２列目のＰＦＵと第３列目のＰＦＵも、クロスバースイッチで接続可能としたプログラマブルＬＳＩが開示されている。　
　　　　　　
　刊行物１の段落番号【００２６】に、「四則演算回路等などは、メモリで構成することができる。メモリ内には加算用、減算用、乗算用、減算用、ＳＩＮの演算用、ＣＯＳの演算用等約１０種類の関数テーブルが格納されている。」と記載されているが、「四則演算」とあるから、「加算用、減算用、乗算用、減算用」は「加算用、減算用、乗算用、
除算
　
　したがって、刊行物１には次の発明（以下、「引用発明」という。）が記載されていると認められる。　
　　　　　　
「第１列目に関数ユニットＰＦＵ１〜５を配置し、第２列目にＰＦＵ６〜１０を配置し、第３列目にＰＦＵ１１〜１５を配置し、第１列目のＰＦＵと第２列目のＰＦＵとは、クロスバースイッチで接続可能とし、第２列目のＰＦＵと第３列目のＰＦＵも、クロスバースイッチで接続可能としたプログラマブルＬＳＩであって、
　関数ユニットの各々は演算内容が異なる複数の演算回路を有しており、四則演算回路等などは、メモリで構成することができ、メモリ内には加算用、減算用、乗算用、除算用、ＳＩＮの演算用、ＣＯＳの演算用等約１０種類の関数テーブルが格納されており、
　各ＰＦＵはクロスバースイッチにより選択的に相互接続され、たとえば、第１列目に位置するＰＦＵ２は入力データｘとｙに接続され、これらのデータを入力することを示しており、第２列目のＰＦＵ６は第１列目のＰＦＵ２と接続し、ＰＦＵ２の演算出力を入力することを示しており、
　ユーザは各ＰＦＵに実行させる演算の種類をディップスイッチや他の指示装置を用いて指定し、クロスバースイッチを操作することで任意の演算式を設定することができるので、自由に演算式を組み替えることができる
　プログラマブルＬＳＩ。」
　
　
３．本願発明と引用発明との一致点・相違点　
　引用発明のプログラマブルＬＳＩは、関数ユニットＰＦＵに乗算用のメモリを有しており、ユーザは各ＰＦＵに実行させる演算の種類をディップスイッチや他の指示装置を用いて指定し、クロスバースイッチを操作することで任意の演算式を設定することができ、自由に演算式を組み替えることができるから、本願発明の「乗算演算が可能なリコンフィギュラブル回路」に相当する。　
　　
　引用発明では、ユーザは各ＰＦＵに実行させる演算の種類をディップスイッチや他の指示装置を用いて指定するので、引用発明の各１本の列は、本願発明の「それぞれが複数の算術論理機能を選択的に実行可能な複数の論理回路からなる集合体」に相当する。したがって、引用発明の三本の列は、本願発明の「それぞれが複数の算術論理機能を選択的に実行可能な複数の論理回路からなる集合体が複数段にわたって配置された論理回路のアレイ」に相当する。
　　
　引用発明のクロスバースイッチは、本願発明の「前記論理回路の間の接続を行う接続部」に相当する。　　　　　　　　　
　　　　　
　したがって、本願発明と引用発明の一致点・相違点は、次のとおりである。
　　　
［一致点］
「乗算演算が可能なリコンフィギュラブル回路において、
　それぞれが複数の算術論理機能を選択的に実行可能な複数の論理回路からなる集合体が複数段にわたって配置された論理回路のアレイと、 
　前記論理回路の間の接続を行う接続部と、を備えたリコンフィギュラブル回路。」である点。　
　　　　　　　
［相違点］
　本願発明は、論理回路のいずれかに、乗算器に替えてビットシフタを実装したのに対して、引用発明は、乗算回路をメモリで構成している点。
　　　　　
　　　　　
４．相違点についての検討
　特開平５−２７９８７号公報の段落番号【０００３】に「従来、整定数による乗算命令列を生成する方法については、ソフトウェア　プラクティス　アンド　イクスピーリアンス、ヴォリューム１６、ナンバー７（１９８６年）第６４１頁から第６５２頁（Ｓｏｆｔｗａｒｅ　Ｐｒａｃｔｉｃｅ　ａｎｄ　Ｅｘｐｅｒｉｅｎｃｅ，ｖｏｌ．１６，ｎｏ．７（１９８６），ｐｐ．６４１−６５２）において論じられている。ここで整定数による乗算とは、変数（コンパイル時に未知の数）と整定数（コンパイル時に既知の整数）との乗算を意味する。本文献では乗算を、加算、減算、シフト算だけを用いて実現する方法が示されている。」と記載され、また特開平１０−１９８７２１号公報の段落番号【０００２】に「【従来の技術】ハードウェアの設計自動化の流れに伴って、レジスタトランスファレベルより上位のレベル（高位）からの設計自動化を実現するための手法の重要性は増している。その中で動作記述、中間表現の変換のための技術は、質の高い設計を実現するために重要なもので、これまで、定数同士の演算をコンパイル時にその演算結果に変換する“Constant folding”、冗長な演算を排除する手法である“Redundant operator”、コントロールデータフローグラフにおいて木の高さを減じる“Tree height reduction ”等が良く知られている。さらに、一方の入力が定数でもう一方が変数であるような乗算がある場合に、そのような定数乗算をシフト、加算、減算を用いて処理する手法が種々のコストの削減のために重要な技術となる。」と記載されているように、「定数乗算を、加算、減算、シフト算だけを用いて実現すること」は、周知である。　
　したがって、引用発明において、定数乗算をビットシフタで実現することは、当業者が容易に想到できたことである。
　　　
　そして、本願発明の作用効果も、引用発明及び周知技術から当業者が予測できる範囲のものである。
　したがって、本願発明は、引用発明及び周知技術に基づいて、当業者が容易に発明をすることができたものである。　
　　　
　　　
５．むすび
　以上のとおり、本願の請求項１に係る発明は、刊行物１に記載された発明及び周知技術に基づいて、当業者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができない。　したがって、本願のその余の請求項にかかる発明について検討するまでもなく、本願は拒絶されるべきものである。
　よって、結論のとおり審決する。