(57)【要約】【課題】論理ブロックキットの有用性を高めて、より複雑な回路の作成を可能にする。【解決手段】電子論理ブロック１１０は、面を有するハウジングと、面上に設けられた入力コンタクト２４０、２４２、２４４と、出力コンタクト２４６と、入力上に動作して結果を出力コンタクト２４６に出力するプロセッサ２３８及びメモリ２３６と、スイッチ２３４及び入力コンタクト２３０を介してメモリ２３６に与えられる活性化信号によりメモリ２３６が書込可能になっている場合に、メモリ２３６に書込むべきプログラムを外部から受けとるためのプログラム端子２３２とを含む。【選択図】        図４
2005095461.tif 000002
【特許請求の範囲】
【請求項１】
電子論理ブロックであって、
複数の面を有する所定の外形を有するハウジングと、
前記ハウジング上に設けられ外部からクロック信号と電源電圧とを受ける一組の端子と、
前記複数の面のうち第１のものに設けられた少なくとも１個の入力コンタクトと、
前記複数の面のうち第２のものに設けられた少なくとも１個の出力コンタクトと、
前記ハウジング内に設けられ、前記一組の端子、前記少なくとも１個の入力コンタクト、及び前記少なくとも１個の出力コンタクトに接続され、外部入力論理信号と電源電圧とを受けて、前記少なくとも１個の入力コンタクト上の少なくとも１個の入力論理信号に対する演算を行ない、前記少なくとも１個の出力コンタクト上にその演算の結果を出力するためのプログラム可能論理機能回路と、
プログラムトリガ信号に応答して端子から受取られたプログラム信号にしたがって前記プログラム可能論理機能回路をプログラムするための手段とを含む、電子論理ブロック。
【請求項２】
ユーザの手動操作に応じて前記プログラムトリガ信号を発生させるための手動操作可能スイッチをさらに含む、請求項１に記載の電子論理ブロック。
【請求項３】
前記プログラム可能論理機能回路が、
前記少なくとも１個の入力コンタクトと前記少なくとも１個の出力コンタクトと前記一組の端子とに接続されたプロセッサと、
前記プロセッサに接続され、前記プロセッサによって実行されるべきプログラムを記憶するためのメモリと、を含み、
前記電子論理ブロックは、前記ハウジング上に設けられ、前記メモリに接続されて外部からプログラムを受取り、受取ったプログラムを前記メモリに記憶するためのプログラム受信端子をさらに含む、請求項１又は請求項２に記載の電子論理ブロック。
【請求項４】
前記メモリが不揮発性メモリを含む、請求項３に記載の電子論理ブロック。
【請求項５】
前記ハウジングが所定のブロックホルダ内に置かれていることを検出して感知信号を出力するセンサをさらに含み、前記メモリは感知信号を受取るように接続された書込イネーブル信号入力を有する、請求項３又は請求項４に記載の電子論理ブロック。
【請求項６】
前記メモリに接続され、前記メモリに記憶されたプログラムを外部に出力するためのメモリ出力端子をさらに含む、請求項３から請求項５のいずれかに記載の電子論理ブロック。
【請求項７】
複数の前記入力コンタクトを含む、請求項１から請求項６のいずれかに記載の電子論理ブロック。
【請求項８】
請求項１から請求項７のいずれかに記載の電子論理ブロックに、基準回路の機能を転送する機能転送装置であって、前記基準回路は接続されて基準回路を構成する複数の要素論理ブロックを含み、
前記機能転送装置は、
電子論理ブロックのための装着部と、
それぞれの要素論理ブロックの位置及び機能の情報と、前記要素論理ブロック間の接続情報とを収集するための手段と、
前記収集するための手段によって収集された情報に基づいて前記回路と等価なプログラムを生成するための手段と、
前記生成するための手段によって生成されたプログラムを、前記装着部に置かれた電子論理ブロックに書込むための手段とを含む、機能転送装置。
【請求項９】
前記装着部に置かれた電子論理ブロック内に記憶されたプログラムを読出すための手段と、
前記読出すための手段によって読出されたプログラムの視覚的表示を与えるための表示手段とをさらに含む、請求項８に記載の機能転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はブロック型の電子玩具及び計算要素に関する。特に、この発明は論理合成の分野と信号処理回路の設計に好適な、機能獲得型の論理ブロックに関する。
【背景技術】
【０００２】
電子玩具の人気が高くなっている。このような玩具の典型は、電子ブロックセットである。電子ブロックセットは、ペグボードと多数のブロックとを含む。ブロックの各々は一つ以上の入力と、電子的アナログ回路とを含み、回路から信号を出力する端子が含まれることもある。場合によっては、アナログ回路はスピーカ、ダイオード、モータ、電源等の機能要素を含んでもよい。
【０００３】
後掲の特許文献１は立方体形状の先行技術の玩具ブロックを開示している。このブロックは、端子又はコネクタを介して他のブロックに接続できる。このコネクタは立方体ブロックの６面の各々の中心にある円形突起上に形成されおり、それによって、ブロックは隣接するいずれのブロックにも接続可能である。
【０００４】
先行技術の電子玩具は、予め選択された機能を実現する様に設計されたアナログ回路を含む。主に若年層であるユーザは、予め定められたアナログ回路設計に従ってブロックを配置するだけでよい。最終的な結果は精神を刺激するものかも知れないが、取付ける作業そのものは実質的に精神的な活動を必要としない。回路は、すべての要素がそれぞれの定位置に置かれないかぎり、完全には動作しない。さらに、これらはブール論理の教育又は論理合成の調査研究には不向きである。なぜなら、これらは論理動作の結果を示さないからである。
【０００５】
伝統的な電子玩具の別の例は、配線と従来からのチップとを使用することを必要とする、ブレッドボードキットである。このようなキットはユーザの精神的活動を必要とするが、チップに関するある程度の知識が必要とされ、さらに配線には長時間を要する。
【０００６】
従って、広範な種類の論理回路を構築するのに適し、論理動作を容易に理解できる様に回路の動作を示すようなブロック型電子要素が必要である。
【０００７】
この課題を解決するために、出願人は２００３年７月２４日付提出の特願２００３−２７８８８１号（以下８８１号出願と称する）において、新規な電子論理ブロックを提案している。８８１号出願で開示された発明の一実施の形態は、一組の「論理ブロック」に関するものである。「論理ブロック」は遅延されたブール関数を表すプラスチックの要素である。論理ブロックは、単にペグボード上のペグに押しこむだけでよい。どの論理ブロックも、隣接する論理ブロックへパルスを送り、又は隣接する論理ブロックからパルスを受取り、ペグボードから電圧及びクロックパルスを受取るコンタクト点を持ち、ユーザの定義した状態となる。発光ダイオード（ＬＥＤ）が、連続するクロックに対する論理ブロックの論理状態を示すので、回路の挙動を容易に観察できる。規定されたスパイク列を規定された入力点に与えて、規定された点での状態履歴を表示する装置があってもよい。
【０００８】
８８１号出願の一実施の形態に従った論理ブロックは、遊戯用ブロックの考えを論理合成と組合せたものである。これはブレッドボードキットに代わる選択肢である。どの論理ブロックについても、その役割と入出力点とが即座に明らかになる。ブレッドボードの設計と異なり、論理ブロックは所与の回路がまだ完成していないうちでさえも、現在の状態について連続した情報を提供することができる。
【０００９】
図１０は８８１号出願に開示された論理ブロックキット４２０の全体を示す。図１０を参照して、キット４２０は、コンソール４３０及びペグボード４３２を有するメインフレーム４２２を含む。ペグボード４３２にはペグ３８、４０が設けられ、ここに論理ブロック４４２が取付けられる。ペグボード４３２は電源線、接地線、及びクロック信号線を有し、ペグ３８及び４０に取付けられた論理ブロック４４２に電力と駆動クロック信号とを供給する。これらの線はコンソール４３０に接続される。
【００１０】
コンソール４３０は、論理ブロック４４２に電力を供給する図示しない電源回路と、電源をオン／オフするメインスイッチ３４とを含む。コンソール４３０はさらに、二つの動作モード、すなわち手動モードと自動モードとのいずれかで動作可能な、図示しないクロック発生回路を含む。手動モードでは、クロック発生回路は単一のクロックパルスを発生してこれをペグボード４３２に与える。自動モードでは、クロック発生回路は連続したクロック信号を発生してこれをペグボード４３２に与える。
【００１１】
さらに、コンソール４３０はクロック発生回路の動作モードの切替に用いられる自動／手動切替ボタン３６を含む。手動モードでは、クロック発生回路はこのボタン３６が押下されるとクロックパルスを一つ発生する。
【００１２】
キット４２０はさらに、いくつかの論理ブロック４４２を含む。各論理ブロック４４２は実質的に立法体形状であるが、その構成により、互いにわずかに異なっていても良い。図１１に様々な論理ブロック４４２Ａ、４４２Ｂ、４４２Ｃを示す。
【００１３】
図１１を参照して、論理ブロック４４２Ａは４個の側面と上部水平面とを有し下部水平壁が取除かれた立方体形状のハウジングを有する。３個の側面には出力コンタクトがあり、残りの１面には入力コンタクトがある。すなわち、論理ブロック４４２Ａは３個の出力と１個の入力とを有する。論理ブロック４４２Ａは所与のブール関数を表す電子部品と、フリップフロップとを有するが、これらは図１１には示されない。
【００１４】
場合によっては、上部水平面の中央に、ＬＥＤが設けられる。上面とＬＥＤとの上にメンブレンスイッチが設けられる。ＬＥＤは論理ブロック内のフリップフロップの状態を示すものであり、スイッチはその状態をトグルするのに用いられる。上面には、入力コンタクトを備えた面に隣合う側に、三角形のマークが形成される。このマークは、その面に入力コンタクトが設けられていることを示す。
【００１５】
他の論理ブロックも同様の構成を有する。論理ブロック４４２Ｂは２個の入力と２個の出力とを有する。論理ブロック４４２Ｃは３個の入力と１個の出力とを有する。他の構成も可能である。論理ブロックは全て、それぞれ所定数の入力を持つ所与のブール関数を表す電子部品と、このブール関数の出力を受ける様に接続されたフリップフロップとを含む。
【００１６】
図１２は論理ブロック４４２Ｃの例示の構造を、ブロック図で示す。図１２を参照して、論理ブロック４４２Ｃは内部電子回路４５０と、電子回路４５０に接続された３個の入力コンタクト４５２、４５４、４５６と、電子回路４５０に接続された１個の出力コンタクト４５８と、電子回路４５０に接続され電子回路４５０に動作クロック信号を与えるクロック信号入力コンタクト４６０とを含む。
【００１７】
論理ブロックをペグボード４３２に押込んで論理ブロックを互いに接続し、所望の論理ブロックの状態を設定して自動／手動スイッチボタン３６を操作してクロック信号を与えると、論理ブロックによって構成された回路は、たとえそれが間に合わせに作ったものであっても、動作する。
【００１８】
【特許文献１】特開平１１−１２８５４７
【発明の開示】
【発明が解決しようとする課題】
【００１９】
８８１号出願に開示された論理ブロックキット４２０は、論理合成の分野の学生又は研究者にとって有用なツールとなるであろう。なぜなら、これによって、間に合わせに作った回路でも、動作するものを見ることができるようになるからである。また、これはより若い人々にとっては、大変刺激的な電子玩具となるであろう。
【００２０】
しかしながら、依然として解決すべき課題がある。すなわち、８８１号出願の論理ブロックによって作られる回路は規模の拡大ができない。論理ブロックをペグボード４３２に押込むようになっているため、得られる回路のサイズはペグボード４３２の面積により制限され、従って、回路の複雑さも制限される。８８１号出願の論理ブロックとペグボードとを用いて、種々の抽象化のレベルで、進歩した複雑な機能を備えた回路を構築することは困難であろう。
【００２１】
従って、この発明の目的の一つは、論理ブロックと、論理ブロックキットの有用性を高める装置とを提供して、より難しい回路の製作を可能にすることである。
【００２２】
この発明の別の目的は、種々のレベルの複雑さで容易に回路を作成することを可能にする論理ブロックと装置とを提供することである。
【００２３】
この発明のさらに別の目的は、設計において種々の抽象化のレベルで規模の拡大が可能な回路を容易に作成することを可能にする、論理ブロックと装置とを提供することである。
【００２４】
この発明のさらに別の目的は、電子部品、回路設計、又は論理合成に興味のある学生及び若者を刺激し、彼らにとって有用な論理ブロックと装置とを提供することである。
【課題を解決するための手段】
【００２５】
この発明のある局面によれば、電子論理ブロックは、複数の面を有する所定の外形を有するハウジングと、ハウジング上に設けられ外部からクロック信号と電源電圧とを受ける一組の端子と、複数の面のうち第１のものに設けられた少なくとも１個の入力コンタクトと、複数の面のうち第２のものに設けられた少なくとも１個の出力コンタクトと、ハウジング内に設けられ、一組の端子、前記入力コンタクト、及び前記出力コンタクトに接続され、外部入力論理信号と電源電圧とを受けて、前記入力コンタクト上の入力論理信号に対する演算を行ない、前記出力コンタクト上にその演算の結果を出力するためのプログラム可能論理機能回路と、プログラムトリガ信号に応答して、外部プログラム信号にしたがってプログラム可能論理機能回路をプログラムするための手段と、を含む。
【００２６】
電子論理ブロックはさらに、ユーザの手動操作に応じて前記プログラムトリガ信号を発生させるための手動操作可能スイッチを含んでもよい。
【００２７】
プログラム可能論理機能回路は、前記入力コンタクトと前記出力コンタクトと前記一組の端子とに接続されたプロセッサと、プロセッサに接続され、プロセッサによって実行されるべきプログラムを記憶するためのメモリとを含んでもよい。電子論理ブロックはさらに、ハウジング上に設けられ、メモリに接続されて外部からプログラムを受取り、受取ったプログラムをメモリに記憶するためのプログラム受信端子を含んでもよい。
【００２８】
好ましくは、メモリは不揮発性メモリを含む。
【００２９】
より好ましくは、電子論理ブロックは、ハウジングが所定のブロックホルダ内に置かれていることを検出して感知信号を出力するセンサをさらに含む。メモリは感知信号を受取るように接続された書込イネーブル信号入力を有する。
【００３０】
電子論理ブロックはさらに、メモリに接続され、メモリに記憶されたプログラムを外部に出力するためのメモリ出力端子を含んでもよい。
【００３１】
電子論理ブロックはさらに、複数の入力コンタクトを含んでもよい。
【００３２】
この発明の別の局面に従った機能転送装置は基準回路の機能を、上述の電子論理ブロックに転送する。基準回路は接続されて基準回路を構成する複数の要素論理ブロックを含む。この装置は、電子論理ブロックの装着部と、それぞれの要素論理ブロックの位置及び機能の情報と要素論理ブロック間の接続情報とを収集するための手段と、収集手段によって収集された情報に基づいて上記回路と等価なプログラムを生成するための手段と、生成手段によって生成されたプログラムを、装着部に置かれた電子論理ブロックに書込むための手段と、を含んでもよい。
【００３３】
機能転送装置はさらに、装着部に置かれた電子論理ブロック内に記憶されたプログラムを読出すための手段と、読出手段によって読出されたプログラムの視覚的表示を与えるための表示手段とを含んでもよい。
【発明を実施するための最良の形態】
【００３４】
＜はじめに＞
コンピュータと大学レベルの訓練とを必要とする、論理合成のためのＣＡＤ（コンピュータ支援設計）に代えて、この発明の実施の形態は機能獲得型の論理ブロック（Ｆｕｎｃｔｉｏｎ−Ａｃｑｕｉｒｉｎｇ  Ｌｏｇｉｃ  Ｂｌｏｃｋ：ＦＡＬＢ）を提供する。これは提供された基準となる回路と同じように入力信号を処理することを学習する装置である。基準となる回路はより単純な論理ブロックから、すなわち、８８１号出願で提案されたような論理ブロックから構築されるものである。
【００３５】
所望の基準となる回路は、８８１号出願に開示されているように、いくつかの単純な論理ブロックをペグボード上のペグに押込むことで得られる。空のＦＡＬＢが基準となる回路の機能を学習する。この基準となる回路の機能を学習したＦＡＬＢを、基準回路に代えてペグボード上に押込むことも考えられる。
【００３６】
このようにして得られたＦＡＬＢは、別の、より複雑な回路の一部となり、その機能がまた別の空のＦＡＬＢによって学習されることとなり、以下同様の動作がつづく。このようにして、この実施の形態の論理ブロックキットのユーザは、ペグボード上に通常の論理ブロックで構築した回路とは桁違いに複雑な回路を作成することができる。この思想により、論理合成及びディジタル信号処理の分野の教育研究機関から、高価なＣＡＤツールと費用のかかる訓練をなくすことができる。
【００３７】
図１はＦＡＬＢの概念を示す。回路１００が、８８１号出願で開示されたように、８個の論理ブロック（論理ブロック１０２Ａ−１０２Ｈ）で構築される。三角形のマークは論理ブロックのそれぞれの入力コンタクトを示す。論理ブロック１０２Ａはペグボードに押込まれて第１の入力を受ける。論理ブロック１０２Ｇは第２の入力を受ける。論理ブロック１０２Ｆが出力を与える。回路１００で扱われる信号は、ハイ又はローの信号レベルをとる。
【００３８】
論理ブロック１０２Ａ、１０２Ｂ、１０２Ｃ、１０２Ｄ、１０２Ｇ、１０２Ｈは入力信号を１クロック遅延させて次の論理ブロックに伝搬する単純な回路である。論理ブロック１０２Ｅは３入力を有する。論理ブロック１０２Ｅ及び１０２Ｆはそれぞれの入力信号、それぞれの状態及びそれぞれの動作規則に従って、それぞれの出力信号を出力する。
【００３９】
このようにして、回路１００は論理ブロック１０２Ａ−１０２Ｈの動作規則及びペグボード上でのそれらの接続に従って、論理ゲート回路として動作する。
【００４０】
未学習のＦＡＬＢ１１０は、回路１００の機能（参照符号１００Ａで示す）を学習することとなる。こうして、回路１１０は第１及び第２の入力を受け、回路１００と同様に動作し、入力信号が同じであるかぎり、回路１００と同様に変化する出力信号を与える。このように、機能をＦＡＬＢ１１０に転送することで、８個の論理ブロック（１０２Ａ−１０２Ｈ）の構造を１個のＦＡＬＢブロック１１０に減じることができる。
【００４１】
＜論理ブロックキット２０の構造＞
図２はこの発明の一実施の形態に従った論理ブロックキット２０の全体を示す。図２及び図１０において、同様の参照符号は同様の要素を示す。従って、ここでは詳細な説明は繰返さない。
【００４２】
図２を参照して、キット２０はコンソール３０とペグボード３２とを有するメインフレーム２２を含む。ペグボード３２は電源線、接地線、及びクロック信号線を有し、ペグボード３２上の論理ブロック４２に電力と駆動クロック信号を供給する。これらの線はコンソール３０に接続される。
【００４３】
ペグボード３２はさらに、ある間隔をあけてペグボード３２上に平行に配列された多くの行線と、ある間隔をあけてペグボード３２上に平行に配列された多くの列線とを含む。列線は、行線と交差する方向に配列される。論理ブロック４２は行線と列線との交差点でペグボード３２に押込まれるので、一本の行線と一本の列線とを選択することによって、選択された線に接続された論理ブロックがもしあれば、その１個の論理ブロックが選択される。
【００４４】
コンソール３０は論理ブロック４２に電源を供給する図示しない電源回路と、電源のためのメインスイッチ３４と、図示しないクロック発生回路と、クロック発生回路の動作モードを切替るのに用いられる自動／手動スイッチボタン３６とを含む。
【００４５】
コンソール３０はさらに、ＦＡＬＢ１１０の訓練専用の特別なドッキング装置１５０を含む。ドッキング装置１５０は４個の接続コンタクト１５２、１５４、１５６、１５８を有し、コネクタ１７０、１７２、１７４等の一端がそこに装着される。コネクタの他端は、この例では接続ブロック１６０、１６２、１６４に接続される。コネクタ１７０、１７２、１７４は取扱いを容易にするため、柔軟なワイヤでできている。
【００４６】
ドッキング装置１５０はさらに、新たな機能を獲得しようとするＦＡＬＢ１１０のための装着部を有する。装着部は、ペグボード３２上の論理ブロックからなる回路の機能を獲得し、獲得した機能を装着部にあるＦＡＬＢ１１０に教えるための、後述の内部回路を有する。コンソール３０の表面には、押しボタン１８０が設けられ、これが論理ブロックの機能の獲得と教示をトリガする。
【００４７】
図３はコンソール３０内に収納され、ペグボード３２上の論理ブロックから構築された回路の機能を獲得しこの機能をドッキング装置１５０の装着部に置かれたＦＡＬＢ１１０に教えるための教示回路１９０の構造を例示する。
【００４８】
図３を参照して、教示回路１９０はユーザが押しボタン１８０を押下するとトリガ信号を発生するためのスイッチ回路２００を含む。トリガ信号は論理ブロックから構築された回路の機能を獲得し獲得された機能をＦＡＬＢ１１０に教示することをトリガする。
【００４９】
教示回路１９０はさらに、スイッチ回路２００からのトリガ信号を受けるように接続され、さらに接続コンタクト１５２、１５４、１５６及び１５８に接続された機能獲得回路２０２と、機能獲得回路２０２からの制御信号に応答してペグボード３２上のロケーションを一つずつ選択する行選択信号及び列選択信号を出力するロケーション選択回路２０４とを含む。スイッチ回路２００からのトリガ信号を受取ると、機能獲得回路２０２はペグボード上の選択すべきロケーションを特定する制御信号を出力する。
【００５０】
教示回路１９０はさらに、ロケーション選択回路２０４に接続されロケーション選択回路２０４からの行選択信号を受けてこれをデコードし、行選択信号によって特定された行線２２０の一本を選択する行デコーダと、ロケーション選択回路２０４に接続されロケーション選択回路２０４からの列選択信号を受けてこれをデコードし、列選択信号によって特定された列線２２２の一本を選択する列デコーダとを含む。選択された行線と選択された列線との交差点に論理ブロックがあれば、その論理ブロックが選択されその構成についての情報を出力する。この情報が機能獲得回路２０２に送られる。こうして、機能獲得回路２０２はペグボード３２上の論理ブロックのロケーション、構成（機能）、及び接続を一つずつ知ることができる。
【００５１】
教示回路１９０はさらに、機能獲得回路２０２に接続され、機能獲得回路２０２によって獲得された論理ブロックの情報を記憶するメモリ２１０と、メモリ２１０に記憶された情報を分析するプログラムを実行し、ペグボード３２上の論理ブロックで構築された機能を実現するプログラムを生成するプロセッサ２１２と、プロセッサ２１０からの制御に応答してコンタクト２１６及び２１８を介してドッキング装置１５０の装着部に置かれたＦＡＬＢ１１０にプログラムを書込み、又はＦＡＬＢ１１０に記憶されたプログラムを読出すための書込／読出回路２１４とを含む。プロセッサ２１２がＦＡＬＢ１１０のためのプログラムを生成すると、これはこのプログラムをメモリ２１０に記憶し、書込／読出回路２１４に書込信号を送るので、書込／読出回路２１４がプログラムをＦＡＬＢ１１０に書込む。ＦＡＬＢ１１０に記憶されたプログラムを読出す場合は、プロセッサ２１２が書込／読出回路２１４に読出信号を送り、書込／読出回路がＦＡＬＢ１１０からプログラムを読出してこれをメモリ２１０に記憶する。
【００５２】
プロセッサ２１２はさらに、メモリ２１０に記憶されたプログラムを読出す機能を有し、論理ブロックによって構築された回路の機能の視覚的表示を生成し、さらに回路の画像をモニタ１９２上に出力してもよい。このモニタはあってもなくてもよく、この実施の形態に必須のものではない。
【００５３】
教示回路１９０はさらに、不揮発性メモリ、リムーバブルメモリスロット、又はハードディスク等の記憶装置を備えて、将来再使用するために、ＦＡＬＢ１１０に書込まれたプログラムを記憶してもよい。この目的のために、コンソール３０は記憶装置に記憶されたプログラムを選択する装置と、選択されたプログラムの空のＦＡＬＢへの書込をトリガするボタンとを有してもよい。
【００５４】
図４はＦＡＬＢ１１０の典型的な構造の例を示す。図４を参照して、ＦＡＬＢ１１０は、図３に示された教示回路１９０のプロセッサ２１２により生成されたプログラムを実行するためのプロセッサ２３８と、ドッキング装置１５０又はペグボード３２から、プロセッサ２３８のためのクロック信号を受けるクロック端子２３９と、プロセッサ２１２によって実行されるべきプログラムと関連のデータとを記憶するための不揮発性メモリ２３６とを含む。ＦＡＬＢ１１０はプロセッサ２３８に接続された３個の入力コンタクト２４０、２４２、２４４と、プロセッサ２３８の出力を次の論理ブロックに送るための出力コンタクト２４６とを有する。ＦＡＬＢ１１０はさらに、書込／読出回路２１４からのイネーブル信号を受けるための入力コンタクト２３０と、図３に示された教示回路１９０の書込／読出回路２１４からの信号を受け、又は書込／読出回路２１４に信号を送るための入力コンタクト２３２及び出力コンタクト２３３とを有する。
【００５５】
入力コンタクトとメモリ２３６との間にスイッチ２３４が設けられ、ＦＡＬＢ１１０がドッキング装置１５０の装着部に置かれているか否かによって、入力コンタクト２３０とメモリ２３６とを接続したり接続を切ったりする。ＦＡＬＢ１１０が装着部におかれていればスイッチ２３４は入力コンタクト２３０をメモリ２３６の書込イネーブル入力に接続し、さもなければこれらの接続を切る。スイッチ２３４は機械的センサ、又はフォトセンサ等の電子的センサを含んでもよい。こうして、ＦＡＬＢ１１０が装着部に置かれていれば、スイッチ２３４は入力コンタクト２３０をメモリ２３６の書込イネーブル入力に接続する。メモリ２３６は入力コンタクト２３０にイネーブル信号が与えられると書込可能化される。
【００５６】
入力コンタクトの数及び出力コンタクトの数は、図４に示したものと異なっていても良い。
【００５７】
図５は例として「単純な」論理ブロック４２の典型的構造を示す。図５を参照して、この例の論理ブロック４２は、論理ブロック４２の３個の異なる側の面に置かれた３個の入力コンタクト２６０、２６２、２６４と、出力コンタクト２７４と、コンタクト２６０、２６２、２６、２７４に接続された電子部品２７０と、入力コンタクト２６０、２６２、２６４及び出力コンタクト２７４にそれぞれ接続された一組の３個のコンタクト２７８とを含む。電子部品２７０はクロック入力コンタクト２７２を介してペグボード３２からクロック信号を受取り、受取ったクロックパルスごとにその状態を変える。
【００５８】
論理ブロック４２はさらに、電子部品２７０の機能を特定する論理ブロック４２の識別情報を記憶する識別情報メモリ２７６と、行線に接続された行選択信号入力２８４と、列線に接続された列選択信号入力２８６と、２個の入力が行選択信号入力２８４及び列選択信号入力２８６に接続され、メモリ２７６に選択信号を与えるＡＮＤゲート２７８とを含む。
【００５９】
論理ブロック４２はさらに、選択信号に応答してメモリ２７６に記憶された機能特定信号を出力する一組の出力コンタクト２８２を含む。コンタクト２８０は全て、ペグボード３２上の全ての論理ブロックロケーションに共通の信号線を介して、図３に示す教示回路１９０の機能獲得回路２０２に接続されている。
【００６０】
論理ブロック４２に対応する行線及び列線が選択されると、ＡＮＤゲート２７８から出力される選択信号はハイレベルとなる。これに応答して、メモリ２７６は記憶された情報を出力コンタクト２８２に出力する。さらに、ハイレベルの信号が入力コンタクト２６０、２６２、及び２６４のいずれか、又は出力コンタクト２７４に与えられると、これは一組の出力コンタクト２８０を介して機能獲得回路２０２に返される。こうして、機能獲得回路２０２はドッキング装置１５０のどのコンタクト１５２、１５４、１５６及び１５８が論理ブロック４２のどのコンタクトに接続されたかを、コンタクトのいずれかにハイレベルの信号を与えコンタクト２８０を介して対象の論理ブロック４２から返される信号のレベルを観察することによって知ることができる。
【００６１】
＜動作＞
この実施の形態の論理ブロックキットを用いてＦＡＬＢブロック１１０を再プログラムするには以下のステップが行なわれる。論理ブロック４２をペグボード３２上に配列してこれらの論理ブロックで動作する回路を構築しておく必要がある。
【００６２】
１）ＦＡＬＢ１１０を教示回路１９０の装着部に置く。ＦＡＬＢ１１０は図４に示すスイッチ２３４によってイネーブルされる。
【００６３】
２）コネクタブロック（例えば、図２に示す論理ブロック１６０、１６２及び１６４）を、ＦＡＬＢ１１０に含めるべきペグボード３２上の回路の入力及び出力に装着する。コネクタブロックは、他の論理ブロックと同様に、ペグボード３２上に装着できる。
【００６４】
３）図２に示すボタン１８０を押下する。これにより、スイッチ回路２００はトリガ信号を発生し、これを機能獲得回路２０２に与える。これに応答して、機能獲得回路２０２は論理ブロックの機能獲得を開始する。
【００６５】
機能獲得回路２０２はペグボード３２上のどのロケーションを調査すべきかを判断し、そのロケーションを特定するロケーション選択回路２０４に制御信号を与える。これに応答して、ロケーション選択回路２０４は行デコーダ２０６に行選択信号を与え、列デコーダ２０８に列選択信号を与える。次に、行デコーダ２０６は行選択信号で特定された行線２２０のうちの一本を選択し、デコーダ２０８は列選択信号で特定された列線２２２のうちの一本を選択する。
【００６６】
選択された行線と選択された列線の交差点に位置する論理ブロック４２において、ＡＮＤゲート２７８から出力される選択信号はハイとなり、メモリ２７６はその機能に関する記憶された情報を出力コンタクト２８２を介して機能獲得回路２０２に出力する。機能獲得回路２０２はこの情報をメモリ２１０に記憶する。機能獲得回路２０２はさらに、ＦＡＬＢ１１０が接続ブロック１６０、１６２及び１６４の隣にある場合には、論理ブロックのどのコンタクトがコンタクト１５２、１５４、１５６及び１５８のどれに接続されているかを判断するために、コンタクト１５２、１５４、１５６及び１５８を介して論理ブロック４２にハイレベルの信号を与え、この接続に関する情報をメモリ２１０に記憶する。
【００６７】
選択されたロケーションに論理ブロック４２がない場合、機能獲得回路２０２に返される信号はなく、機能獲得回路２０２はそのロケーションには論理ブロックがないと判断して次のロケーションに進む。
【００６８】
このように、教示回路１９０はペグボード３２上に置かれた全ての論理ブロックを承知しており、その正確な位置も承知しているので、各論理ブロックにその構成を教示回路１９０にアップロードするよう要求することができる。必要な配線の量を制限するため、シリアル通信を用いることができる。各論理ブロックの構成をアップロードするプロセスが必要なのは、すでに再プログラムされたＦＡＬＢであってその構成を前もって知ることができないものが、ペグボード３２上の論理ブロックとして置かれる可能性があるからである。
【００６９】
４）ペグボード３２上の全ての論理ブロックの情報が収集されメモリ２１０に記憶されると、機能獲得回路２０２はプロセッサ２１２に、プロセッサ２１２上での分析及び生成プログラムの実行をトリガする信号を与える。論理ブロック４２の機能は単純なので、論理ブロック４２で構築された構造の機能を分析するのは比較的容易である。次にプロセッサ２１２は獲得された機能と等価なプログラムを生成し、生成したプログラムをメモリ２１０に記憶する。
【００７０】
プログラムの生成が完了すると、プロセッサ２１２は書込／読出回路２１４に、メモリ２１０に記憶されたプログラムの教示回路１９０に置かれたＦＡＬＢ１１０への書込をトリガする信号を与える。
【００７１】
図４を参照して、ＦＡＬＢ１１０のメモリ２３６は、書込／読出回路２１４の入力コンタクト２３２を介して送信されたプログラムを記憶する。プログラム全部がメモリ２３６に書込まれると、プロセッサ２３８はこのプログラムを実行する準備が整うが、このプログラムは隣接する論理ブロックから入力コンタクト２４０、２４２及び２４４を介して入力された信号に対する演算を行ない、ペグボード３２上に構築された元の構造と同様に出力を生成し、結果を出力コンタクト２４６を介して隣接する論理ブロックに出力する。
【００７２】
５）もしＦＡＬＢの各々をＣＰＵ＋メモリのシステムとして実現したいのであれば、そのメモリを用いてその面のうちどれが入力でどれが出力であるかの情報を記憶すべきである。出力面の各々について、入力の状態をパラメータとして、出力値を評価する別々の機能を定義しなければならないであろう。したがって、構成をアップロードすることは、これらの機能に対するプログラムコードを教示回路１９０に送ることと等しい。こうして、教示回路１９０は、プログラムされたＦＡＬＢの出力を得るために、これら機能の多くをより高いレベルの機能に統合させることができる。
【００７３】
統合の例を図６から図８に示す。図６を参照して、論理ブロック２９０がｘ＆ｙの値を計算する機能Ｆ１を含むと仮定する。図７を参照して、別の論理ブロック２９２は〜ｘ（「〜」は否定を示す）の値を計算する機能Ｆ２を含む。プログラムされるべき構造が図８に示される。このとき、この２つの論理ブロックの構造をエミュレートするＦＡＬＢは、以下から成るプログラムを含むことになる。
‐機能Ｆ１のコード
‐機能Ｆ２のコード
‐新たな機能Ｆ３＝Ｆ２＋Ｆ１のコード。
【００７４】
この実施の形態のＦＡＬＢを用いて、使用する論理ブロックの数をさらに減じることもできる。図９の上部分を参照して、回路３００が、単純な論理ブロック３１０、３１２、３１４、３１６、３１８及び３２０と、図１のＦＡＬＢ１１０で示された機能１００Ａを含むＦＡＬＢ３２２から成ると仮定する。回路３００の機能３００Ａを図９の下部分に示す空のＦＡＬＢ３３０に転送することによって、一個のＦＡＬＢ３３０が１４個の論理ブロックと等価なものを記憶することになる。
【００７５】
こうして、規定されたサイズのペグボードを備えた論理ブロックキットのユーザであっても、構成変更が不可能な論理ブロックから構築された回路よりも桁違いに複雑な回路を作成することができる。この実施の形態に従ったＦＡＬＢは、今日信号処理回路の設計をしようとする場合には避けて通れない高価なＣＡＤツール及び費用のかかる訓練の必要性をなくす。ＦＡＬＢ技術は、大学レベルのノウハウを簡単なブロック遊びに置きかえる。こうして、中学生でも、また分かりやすいマニュアルがあればより年少の子供でも、論理合成と信号処理の美しい領域に入ることができる。
【００７６】
上述の実施の形態は単なる例示であって制限的なものと解してはならない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
【図面の簡単な説明】
【００７７】
【図１】この発明の一実施の形態の概念を模式的に示す図である。
【図２】この発明に従った論理ブロックキットを例示する図である。
【図３】実施の形態の教示回路の構造を示すブロック図である。
【図４】実施の形態に従ったＦＡＬＢの構造例を示すブロック図である。
【図５】実施の形態に従った論理ブロックの構造例を示すブロック図である。
【図６】特定の機能を備えた論理ブロックを模式的に示す図である。
【図７】別の機能を備えた論理ブロックを模式的に示す図である。
【図８】論理ブロックの組合わせを示す図である。
【図９】実施の形態に従って用いられる論理ブロックの数をさらに減少することを模式的に示す図である。
【図１０】８１１号出願に開示された論理ブロックキットを例示する図である。
【図１１】８１１号出願に開示された例示の論理ブロックを示す図である。
【図１２】８１１号出願に従った論理ブロック構造を示す図である。
【符号の説明】
【００７８】
２０  論理ブロックキット；２２  メインフレーム；３０  コンソール；３２  ペグボード；３４  メインスイッチ；３６  自動／手動スイッチボタン；４２、１０２Ａ−１０２Ｈ  論理ブロック；１００  回路；１１０、３２２、３３０  ＦＡＬＢ；１５０  ドッキング装置；１５２、１５４、１５６、１５８  接続コンタクト；１７０、１７２、１７４  コネクタ；１８０  押しボタン；１９０  教示回路；２０２  機能獲得回路；２０４  ロケーション選択回路；２１０、２３６  メモリ；２１２、２３８  プロセッサ；２１４  書込／読出回路
【図１】
2005095461.tif 000003
【図２】
2005095461.tif 000004
【図３】
2005095461.tif 000005
【図４】
2005095461.tif 000006
【図５】
2005095461.tif 000007
【図６】
2005095461.tif 000008
【図７】
2005095461.tif 000009
【図８】
2005095461.tif 000010
【図９】
2005095461.tif 000011
【図１０】
2005095461.tif 000012
【図１１】
2005095461.tif 000013
【図１２】
2005095461.tif 000014
【外国語明細書】
2005095461000001.pdf
2005095461000002.pdf
2005095461000003.pdf
2005095461000004.pdf