(57)【特許請求の範囲】
【請求項１】
リクエスト信号線とアクノリッジ信号線の対からなるハンドシェーク信号線によりデータ転送のタイミングを制御する４サイクル束データ転送方式の非同期式回路において、
多入力のＡＮＤ演算要素を複数個用い、該ＡＮＤ演算要素の出力端子を次段のＡＮＤ演算要素の入力端子の１つ以上に接続するように前記ＡＮＤ演算要素をカスケード接続し、かつ入力信号を前記ＡＮＤ演算要素の各段の残りの入力端子に分配するよう接続して非対称遅延線を構成し、
該非対称遅延線を前記リクエスト信号線に挿入してなることを特徴とする非同期式回路。
【請求項２】
請求項１に記載の非同期式回路において、前記ＡＮＤ演算要素をＯＲ演算要素に置き換えてなることを特徴とする非同期式回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタル論理ＬＳＩもしくはプログラマブル論理デバイスにおける非対称遅延線を使用した非同期式回路に関するものである。
【０００２】
【従来の技術】
ディジタル論理ＬＳＩの遅延線は、通常、バッファもしくはインバータを多段に接続することで構成される。図８にバッファ９を多段に接続して構成した遅延線１Ｃの例を示す。
【０００３】
一方、非同期式回路の構成法については、大きく分けて束データ転送方式と２線エンコーディング方式の２つの方法が存在する。
【０００４】
束データ転送方式の構成法を図９に示す。束データ転送方式では、データの送り手１０と受け手２０の間で、リクエスト信号線とアクノリッジ信号線の２本の信号線が設けられる。送り手１０はデータを組合せ論理回路３０を通して受け手２０に転送する際に、リクエスト信号も同時に送り、データ転送の発生を受け手２０に知らせる。そして、受け手２０はデータを受け取ったことをアクノリッジ信号により送り手１０に通知する。受け手２０において、データが確定してからリクエスト信号が到着するという前後関係を保証するために、リクエスト信号線には十分な遅延時間を確保するよう遅延線１が挿入される。
【０００５】
これに対し２線エンコーディング方式は、１ビットのデータを送るのに２本の信号線を用いて、データ転送のタイミング自体をデータ信号線に情報として持たせるものである。すなわち、データの値だけでなくそれが有効か無効かを判別できるよう、１ビットのデータを２ビットにコーディングして送る。データを受け取ったことは、束データ転送方式と同様にアクノリッジ信号線を用いて送り手に通知される。この方式では、遅延線を使用せずにデータ転送のタイミングを取ることが可能になるが、原理的にデータパスのバンド幅が束データ転送方式の２倍になってしまう。
【０００６】
束データ転送方式は更に、データ転送のプロトコルの違いにより２サイクル束データ転送方式（マイクロパイプラインとも呼ばれる）と４サイクル束データ転送方式に分類される。
【０００７】
４サイクル束データ転送方式のデータ転送プロトコルを図１０に示す。４サイクル束データ転送方式では、リクエスト信号の立ち上がりもしくは立ち下がりのどちらかの契機でしかデータ転送は行なわれない。これに対して、２サイクル束データ転送方式では、リクエスト信号の立ち上がりと立ち下がりの両方の契機でデータ転送を行なうため、１回のハンドシェークで、４サイクル束データ転送方式の倍のデータを転送できる。
【０００８】
しかしながら、２サイクルの束データ転送方式に基づく非同期式回路では、データの送受信のために用いるレジスタは、リクエスト信号の立ち上がりと立ち下がりを区別せず書き込みを行なうものでなければならない。このようなレジスタは、一方の信号遷移で書き込みを行なうものと比べて構成が複雑になる。結果として、効率的な回路実現が求められる場合には、４サイクルの束データ転送方式の回路構成法が採用されることが多い。
【０００９】
【発明が解決しようとする課題】
上記のようにバッファないしはインバータを多段に接続した遅延線では、信号が通過するのに要する遅延時間は、基本的に信号遷移の方向、すなわちローレベルからハイレベルあるいはハイレベルからローレベル、に関係なく同じである。このような遅延線を４サイクル束データ転送方式の非同期式回路においてリクエスト信号の伝達を遅らせるのに用いた場合、有効なデータ転送を伴わないリクエスト信号の遷移の際にも、有効なデータ転送で必要な遅延と同じだけの遅延が挿入され無駄が多い。
【００１０】
例えば、データパス上の信号伝達時間の最大値をＴとし、リクエスト信号線にはその１．５倍の遅延を挿入することとすると、１回のデータ転送に３Ｔの時間を要することとなる。そして、この内半分の１．５Ｔは本来不要な遅延である。
【００１１】
本発明は以上のような点に鑑みてなされたもので、その目的は、効率の良いデータ転送を実現できるようにした非同期式回路を提供することである。
【００１２】
【課題を解決するための手段】
上記課題を解決するための第１の発明は、リクエスト信号線とアクノリッジ信号線の対からなるハンドシェーク信号線によりデータ転送のタイミングを制御する４サイクル束データ転送方式の非同期式回路において、多入力のＡＮＤ演算要素を複数個用い、該ＡＮＤ演算要素の出力端子を次段のＡＮＤ演算要素の入力端子の１つ以上に接続するように前記ＡＮＤ演算要素をカスケード接続し、かつ入力信号を前記ＡＮＤ演算要素の各段の残りの入力端子に分配するよう接続して非対称遅延線を構成し、該非対称遅延線を前記リクエスト信号線に挿入して構成した。
【００１３】
第２の発明は、第１の発明において、前記ＡＮＤ演算要素をＯＲ演算要素に置き換えてなるよう構成した。
【００１５】
【発明の実施の形態】
［発明の原理］
第１の発明による非対称遅延線の原理を示す回路を図１に示す。図１の遅延線１Ａでは、ＡＮＤ論理要素２を多段に接続するとともに、ＡＮＤ論理要素２の各々の入力端子の他方に、遅延線１Ａの入力信号を直接分配している。
【００１６】
今、遅延線１Ａの出力がローレベルで安定していたとする。ここで、ハイレベルの信号が入力された場合、ＡＮＤ論理要素２の各段において、共有される入力は直ぐにハイレベルになるが、他方は前段の出力がハイレベルになるまで、ハイレベルに遷移しない。従って、遅延線１Ａをローレベルからハイレベルヘの遷移が通過するには、ＡＮＤ論理要素２の段数に比例する時間を要することになる。遅延線１Ａの入力信号がハイレベルからローレベルに変化した場合は逆に、共有される入力は直ぐローレベルになるので、ＡＮＤ論理要素２はほほ同時に出力がローレベルに下げられる。このようにして、第１の発明による遅延線では、ローレベルからハイレベルヘの信号遷移には所望の遅延を挿入するが、ハイレベルからローレベルヘの遷移では遅延を挿入しない（遅延を十分小さくする）ことが可能である。
【００１７】
第２の発明による非対称遅延線の原理を示す回路を図２に示す。第２の発明の遅延線１Ｂは、ＡＮＤ論理要素２の代りにＯＲ論理要素３を用いることで、第１の発明とは反対に、ハイレベルからローレベルへの信号遷移には遅延を挿入するが、ローレベルからハイレベルへの信号遷移には遅延を挿入しない（遅延を十分小さくする）。
【００１８】
第３の発明は、第１の発明もしくは第２の発明に基づく非対称遅延線を、４サイクル束データ転送方式に基づく非同期式回路（図９）のリクエスト信号線上の遅延を作るために用いることで、データを加工して転送するのに必要な遅延のみ確保し、データ転送には直接関与しないリクエスト信号の遷移は速やかに通すことで、挿入する遅延を必要最小限にする。例えば図３は第１の発明を適用して、リクエスト信号の立ち上がりのみに遅延を挿入するようにした場合のデータ転送のシーケンスを表している。本来不要な立ち下がり信号の伝播が速やかに行なわれることで、トータルのデータ転送サイクルが図１０のシーケンスと比べ短縮されている。
【００１９】
［第１の実施形態］
論理ゲートを使用して、第１の発明を構成する場合の実施形態を図４に示す。本実施形態では、３段のＡＮＤ演算要素２により遅延線を構成するが、それぞれのＡＮＤ演算要素２はＮＡＮＤゲート５とインバータ６により構成している。ＡＮＤ演算要素２により共有される入力信号のドライブ能力を補う必要がある場合は、リピータ７を適宜挿入する。回路的には図１と等価であり、ローレベルからハイレベルヘの信号遷移は遅延を挿入するが、ハイレベルからローレベルへの遷移では遅延時間を最小限に抑える遅延線として機能する。
【００２０】
なお本実施例では、遅延線を２入力のＡＮＤ演算要素を３段繋げて構成しているが、段数は必要とされる遅延時間に応じて任意に拡張でき、また３入力以上のＡＮＤ演算要素を作成し、代わりに用いることもできる。また本実施例では、全てのＡＮＤ演算要素をＮＡＮＤゲート５とインバータ６により構成しているが、ＡＮＤゲートが用意されている場合には、ＡＮＤゲートによりＡＮＤ演算要素を実装することは勿論可能である。
【００２１】
第２の発明においても、ＯＲ演算要素３をＮＯＲゲートとインバータなどにより構成することで、同様の形態で実施することができる。
【００２２】
［第２の実施形態］
第１の発明および第２の発明による遅延線は、また、ＬＵＴ（Ｌｏｏｋ−Ｕｐ−Ｔａｂｌｅ）を使った、プログラマブルな論理デバイスにおいても実現できる。ここでＬＵＴとは、小規模なメモリを書き換え可能な論理機能を実現するのに用いたプログラマブル論理セルである。ＬＵＴはメモリのアドレス信号線を入力として用い、それにより選ばれたメモリ上の記憶値を出力とすることで、任意の論理関数を実装する。ここでは例として、特開２０００−４９５９１公報で提案されている書き換え可能論理回路の構成技術を用いた実現形態を以下で説明する。
【００２３】
図５は上記公報に記載されたプログラマブル論理セルのブロック図である。図５に示す論理セル１００は、ｗ（西），ｎ（北），ｅ（東），ｓ（南）と名付けられた４方向に対して１つずつ合計で４つの隣接セル（図示せず）を持つ。そして、セル１００は、４つの隣接セルから信号を入力するための入力信号線Ｐｗｉ，Ｐｎｉ，Ｐｅｉ，Ｐｓｉと４つの隣接セルに信号を出力するための出力信号線Ｐｗｏ，Ｐｎｏ，Ｐｅｏ，Ｐｓｏを持つ。更に、セル１００は４つの入力信号線Ｐｗｉ，Ｐｎｉ，Ｐｅｉ，Ｐｓｉの値によりアドレス指定されるＬＵＴ  Ｍｗ，Ｍｎ，Ｍｅ，Ｍｓを持ち、そのうちＬＵＴ  Ｍｗの出力は出力信号線Ｐｗｏに、ＬＵＴ  Ｍｎの出力は出力信号線Ｐｎｏに、ＬＵＴ  Ｍｅの出力はＰｅｏに、ＬＵＴ  Ｍｓの出力は出力信号線Ｐｓｏに、それぞれ出力される。
【００２４】
そして、各ＬＵＴ  Ｍｗ，Ｍｎ，Ｍｅ，Ｍｓは入力信号線Ｐｗｉ，Ｐｎｉ，Ｐｅｉ，Ｐｓｉにより共通にアドレス指定されたアドレスの記憶素子に任意の値を予め格納可能であり、従って各ＬＵＴ  Ｍｗ，Ｍｎ，Ｍｅ，Ｍｓは同じアドレス値を入力しながら、異なった演算を行うことが可能である。各ＬＵＴ  Ｍｗ，Ｍｎ，Ｍｅ，Ｍｓには、それぞれ１６個のメモリセルがあり、入力信号線Ｐｗｉ，Ｐｎｉ，Ｐｅｉ，Ｐｓｉの値によりそれぞれ１６個のメモリセルのうちの１個を特定し、対応するメモリセルに格納されている「０」または「１」のデータを各出力信号線Ｐｗｏ，Ｐｎｏ，Ｐｅｏ，Ｐｓｏに出力する。
【００２５】
このプログラマブルセル１００のアレイの上で、第１の発明もしくは第２の発明による遅延線を実装した例を図６に示す。図中、白塗りの矩形Ｌｌと黒塗りの矩形Ｌ２は、上記セル１００のもつ４つのＬＵＴに機能を設定したものを表す。矩形Ｌｌは、配線として機能させるために、ある方向からの入力を、そのまま出力に反映させるようメモリセルを設定したＬＵＴである。また矩形Ｌ２は、２つの方向からの信号を取り入れ、それらのＡＮＤ演算もしくはＯＲ演算を行なった結果を出力に反映させるようにメモリセルを設定したＬＵＴである。図中の矩形Ｌ１とＬ２間の結線は、これらＬＵＴのメモリセルの設定によって生じているＬＵＴの依存関係を表している。矩形Ｌ２の論理がＡＮＤ演算であった場合には、図６は第１の発明による遅延線として機能し、論理がＯＲ演算であった場合には、第２の発明による遅延線として機能する。
【００２６】
例えば、矩形Ｌ２の論理がＡＮＤ演算であった場合、図６（ａ）では、立ち上がり信号が入力から出力に至るまでに、１４段のＬＵＴを通過する時間を要する。一方、立ち下がり信号が出力されるには、ＡＮＤ論理のどちらか一方がローレベルになれば良いので、６段のＬＵＴを通過する時間しか要しない。上記公報で提案されている図５のセル構造では、回路の遅延は経過したＬＵＴの段数に比例するという前提で見積もることができる。従って、ここで示したＬＵＴの段数の比はそのまま遅延時間の比となる。
【００２７】
同様に図６（ｂ）では、矩形Ｌ２の論理がＡＮＤ演算であった場合、立ち上がり信号が入力から出力に至るまでに、１２段のＬＵＴを通過する時間を要する。一方、立ち下がり信号が出力されるには、２段のＬＵＴを通過する時間しか要しない。ただしこの構成は、立ち下がり信号通過の際、回路全体が安定するのに遅延線の長さに応じた時間を要することを考慮しなければならない。これに対し図６（ａ）の場合は、立ち下がり信号の遅延も遅延線の長さに比例して大きくなるが、立ち下がり信号が出力された時点で回路全体が安定している。
【００２８】
［第３の実施形態］
図７は、第１の発明による遅延線を用いて、非同期式回路におけるレジスタトランスファーを効率よく行なう、第３の発明の実施形態である。図７では、送り手１０および受け手２０は、Ｄラッチ１１とＭｕｌｌｅｒ−Ｃ素子１２から構成する。ここでＤラッチ１１は、入力Ｇがハイレベルの時は入力Ｄの値をＱに出力し、入力Ｇがローレベルの時は直前のＱの値を出力するラッチである。一方Ｍｕｌｌｅｒ−Ｃ素子１２は、非同期式回路の基本素子であり、全ての入力がハイレベルの時にはハイレベルを、全ての入力がローレベルの時にはローレベルを出力し、それ以外の時には直前の出力値を出力する。これによりＭｕｌｌｅｒ−Ｃ素子１２は入力の信号遷移を待合せる働きをする。図７のＭｕｌｌｅｒ−Ｃ素子１２は、入力の一方に白丸が付いているが、これはインバータの省略表示であり、入力の極性が反転していることを表す。
【００２９】
Ｄラッチ１１は、Ｍｕｌｌｅｒ−Ｃ素子１２の出力信号によって、閉じたり開いたりする。閉じている間は直前の値が出力され、開いている間は現在の入力データを透過させる。Ｍｕｌｌｅｒ−Ｃ素子１２の出力はまた、前段へのアクノリッジ信号と次段へのリクエスト信号を作り出すのにも用いられる。アクノリッジ信号やリクエスト信号の送信はＤラッチ１１の制御が行なわれてからでなければならない。図中の記号１５（＜＜）はこの時間制約を表すもので、分岐点からＤラッチ１１の入力端子Ｇへ至る信号伝達が無視できるほど小さいという条件を表示している。
【００３０】
送り手１０から受け手２０へのデータの転送は、送り手１０のＭｕｌｌｅｒ−Ｃ素子１２の出力がハイレベルに変化したところからスタートする。最初に送り手１０中の各Ｄラッチ１１が開かれ、前段から与えられたデータを組合せ論理回路３０を介して受け手２０に送る。この時、リクエスト信号も同時に遅延線１Ａを通って、受け手２０のＭｕｌｌｅｒ−Ｃ素子１２に送られ、その出力が受け手２０のＤラッチ１１を開く。遅延線１Ａの働きにより立ち上がり信号には遅延が挿入されるので、組合せ論理回路３０の出力が確定してから、リクエストの立ち上がりが届くようにできる。
【００３１】
次に、受け手２０から送り手１０にハイレベルのアクノリッジが返され、また前段からリクエストがローレベルに下げられると、送り手１０はそのＤラッチ１１の各々を閉じ、直前の値を出力するようになる。同時にローレベルヘの立ち下がり信号がリクエスト信号線を通って受け手２０に送られる。このフェーズでは、データ信号線および組合せ論理回路３０は変化せず、リクエストの立ち下がりは直ちに受け手２０で処理できる。立ち下がり信号はやはり遅延線１Ａを通るが、今度は速やかに通過できるので、無駄な遅延を抑えることができる。
【００３２】
なお本実施例では、データの授受にＤラッチを用いているが、立ち上がりエッジでデータを取り込むフリップフロップを代りに用いてもよい。
【００３３】
【発明の効果】
本発明によれば、リクエスト信号線とアクノリッジ信号線を使ってデータ転送のタイミングを制御するような４サイクル束データ転送方式に基づく非同期式回路において、信号遷移に立ち上がりのみに必要な遅延を与える非対称遅延線をリクエスト信号線に挿入するので、不要な遅延時間を省き、データ転送のスループットを向上させることができる。
【図面の簡単な説明】
【図１】第１の発明の非対称遅延線の原理説明用の回路図である。
【図２】第２の発明の非対称遅延線の原理説明用の回路図である。
【図３】第３の発明の非同期式回路のデータ転送の説明図である。
【図４】第１の発明の非対称遅延線の実現に論理ゲートを使った回路図である。
【図５】図６の実施形態で用いるプログラマブル論理セルの説明図である。
【図６】（ａ）、（ｂ）は第１もしくは第２の発明の非対称遅延線の実現にＬＵＴを使った回路図である。
【図７】第３の発明の非同期式回路の回路図である。
【図８】バッファを使った既存の遅延線の回路図である。
【図９】束データ転送方式による非同期式回路の構成法の説明図である。
【図１０】４サイクル束データ転送方式のデータ転送プロトコルを説明する図である。
【符号の説明】
１，１Ａ、１Ｂ、１Ｃ：遅延線、２：ＡＮＤ論理要素、３：ＯＲ論理要素、５：ＮＡＮＤゲート、６：インバータ、７：リピータ、１０：送り手、１１：Ｄラッチ、１２：Ｍｕｌｌｅｒ−Ｃ素子、２０：受け手、３０：組合せ論理回路、１００：プログラマブル論理セル、Ｍｗ，Ｍｎ，Ｍｅ，Ｍｓ：ＬＵＴ。
【図１】
0003613726.tif 000002
【図２】
0003613726.tif 000003
【図３】
0003613726.tif 000004
【図４】
0003613726.tif 000005
【図５】
0003613726.tif 000006
【図６】
0003613726.tif 000007
【図７】
0003613726.tif 000008
【図８】
0003613726.tif 000009
【図９】
0003613726.tif 000010
【図１０】
0003613726.tif 000011