(57)【要約】【課題】リソースの使用を低減するよう構成されるマルチプライヤ回路を備えたプログラマブルロジックデバイスの提供。【解決手段】専用のマルチプライヤ回路を有するプログラマブルロジックデバイスにおいて、通常はデバイスの検査に使用されるスキャンチェーンレジスタのいくつかがマルチプライヤの入力に近接して配置される。スキャンチェーンレジスタは入力レジスタとＡＮＤ演算され、１および０のテンプレートでロードできる。これにより、例えば最も重要でないビットに０がロードされ残りのビットに１がロードされた場合にサブセット乗算が可能になる。マルチプライヤは他の構成要素と共にブロック構成され、有限インパルス応答（ＦＩＲ）フィルタとして構成可能になる。この構成においてフィルタ係数をロードするためスキャンチェーンレジスタを使用し得、デバイス上の限られたロジックおよびルーティングリソースの使用を回避する。【選択図】図１
2006238487.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルロジックデバイスであって、
マルチプライヤ回路と、
前記プログラマブルロジックデバイスをテストする複数のスキャンチェーンレジスタであって、前記複数のスキャンチェーンレジスタの少なくとも一部は、前記マルチプライヤ回路に隣接して配置されている、複数のスキャンチェーンレジスタと、
前記複数のスキャンチェーンレジスタ内のデータを前記マルチプライヤ回路に入力する入力回路と
を備えた、プログラマブルロジックデバイス。
【請求項２】
被乗数のビットを前記マルチプライヤ回路に入力する複数の入力をさらに備え、
前記複数のスキャンチェーンレジスタの前記少なくとも一部は、前記複数の入力に隣接しており、
前記入力回路は、前記マルチプライヤ回路に入力するために前記複数の入力内のデータを前記複数のスキャンチェーンレジスタ内のデータに結合する、請求項１に記載のプログラマブルロジックデバイス。
【請求項３】
前記マルチプライヤ回路は、ｍビットの数値とｎビットの数値との乗算を実行するｍ×ｎマルチプライヤ回路であり、
前記複数の入力は、
前記ｍビットの数値のｍ個のビットを前記マルチプライヤ回路に入力するためのｍ個の入力と、
前記ｎビットの数値のｎ個のビットを前記マルチプライヤ回路に入力するためのｎ個の入力と
を含み、
前記複数のスキャンチェーンレジスタは、少なくともｍ＋ｎ個のスキャンチェーンレジスタを含む、請求項２に記載のプログラマブルロジックデバイス。
【請求項４】
前記入力回路は、前記マルチプライヤ回路に入力するために前記複数の入力内のデータと前記複数のスキャンチェーンレジスタ内のデータとをＡＮＤ演算するＡＮＤ回路を含む、請求項３に記載のプログラマブルロジックデバイス。
【請求項５】
前記ｍ個の入力に隣接した前記ｍ個のスキャンチェーンレジスタのうちのｐ個には、ｐ個のロジック１がロードされ、前記ｍ個の入力に隣接した前記ｍ個のスキャンチェーンレジスタのうちのｍ−ｐ個には、ｍ−ｐ個のロジック０がロードされ、ここでｐ＜ｍが成立しており、
前記ｎ個の入力に隣接した前記ｎ個のスキャンチェーンレジスタのうちのｑ個には、ｑ個のロジック１がロードされ、前記ｎ個の入力に隣接した前記ｎ個のスキャンチェーンレジスタのうちのｎ−ｑ個には、ｎ−ｑ個のロジック０がロードされ、ここでｑ＜ｎが成立しており、
前記ＡＮＤ回路は、前記ｍ個の入力内のデータと前記ｍ個のスキャンチェーンレジスタ内のデータとをＡＮＤ演算し、前記ｎ個の入力内のデータと前記ｎ個のスキャンチェーンレジスタ内のデータとをＡＮＤ演算し、これにより、前記ｍ×ｎのマルチプライヤ回路がｐ×ｑのマルチプライヤ回路として構成されている、請求項４に記載のプログラマブルロジックデバイス。
【請求項６】
前記ｐ個のロジック１は、前記ｍ個のスキャンチェーンレジスタのうちの最上位のｐ個のスキャンチェーンレジスタの中にあり、
前記ｍ−ｐ個のロジック０は、前記ｍ個のスキャンチェーンレジスタのうちの最下位のｍ−ｐ個のスキャンチェーンレジスタの中にある、請求項５に記載のプログラマブルロジックデバイス。
【請求項７】
前記ｑ個のロジック１は、前記ｎ個のスキャンチェーンレジスタのうちの最上位のｑ個のスキャンチェーンレジスタの中にあり、
前記ｎ−ｑ個のロジック０は、前記ｎ個のスキャンチェーンレジスタのうちの最下位のｎ−ｑ個のスキャンチェーンレジスタの中にある、請求項６に記載のプログラマブルロジックデバイス。
【請求項８】
前記ｑ個のロジック１は、前記ｎ個のスキャンチェーンレジスタのうちの最上位のｑ個のスキャンチェーンレジスタの中にあり、
前記ｎ−ｑ個のロジック０は、前記ｎ個のスキャンチェーンレジスタのうちの最下位のｎ−ｑ個のスキャンチェーンレジスタの中にある、請求項５に記載のプログラマブルロジックデバイス。
【請求項９】
前記入力回路は、前記マルチプライヤ回路に入力するために前記複数の入力内のデータと前記複数のスキャンチェーンレジスタ内のデータとをＡＮＤ演算するＡＮＤ回路を含む、請求項２に記載のプログラマブルロジックデバイス。
【請求項１０】
前記複数の入力は、被乗数のビットを前記マルチプライヤ回路に入力するための複数の入力レジスタを含み、
前記複数のスキャンチェーンレジスタの前記少なくとも一部は、前記複数の入力レジスタに隣接しており、
前記入力回路は、前記マルチプライヤ回路内に入力するために前記複数の入力レジスタ内のデータを前記複数のスキャンチェーンレジスタ内のデータに結合する、請求項２に記載のプログラマブルロジックデバイス。
【請求項１１】
前記マルチプライヤ回路は、ｍビットの数値とｎビットの数値との乗算を実行するｍ×ｎマルチプライヤ回路であり、
前記複数の入力レジスタは、
前記ｍビットの数値のｍ個のビットを前記マルチプライヤ回路に入力するためのｍ個のレジスタと、
前記ｎビットの数値のｎ個のビットを前記マルチプライヤ回路に入力するためのｎ個のレジスタと
を含み、
前記複数のスキャンチェーンレジスタは、少なくともｍ＋ｎ個のスキャンチェーンレジスタを含む、請求項１０に記載のプログラマブルロジックデバイス。
【請求項１２】
前記入力回路は、前記マルチプライヤ回路に入力するために前記複数の入力レジスタ内のデータと前記複数のスキャンチェーンレジスタ内のデータとをＡＮＤ演算するＡＮＤ回路を含む、請求項１１に記載のプログラマブルロジックデバイス。
【請求項１３】
前記ｍ個の入力レジスタに隣接した前記ｍ個のスキャンチェーンレジスタのうちのｐ個には、ｐ個のロジック１がロードされ、前記ｍ個の入力レジスタに隣接した前記ｍ個のスキャンチェーンレジスタのうちのｍ−ｐ個には、ｍ−ｐ個のロジック０がロードされ、ここでｐ＜ｍが成立しており、
前記ｎ個の入力レジスタに隣接した前記ｎ個のスキャンチェーンレジスタのうちのｑ個には、ｑ個のロジック１がロードされ、前記ｎ個の入力レジスタに隣接した前記ｎ個のスキャンチェーンレジスタのうちのｎ−ｑ個には、ｎ−ｑ個のロジック０がロードされ、ここでｑ＜ｎが成立しており、
前記ＡＮＤ回路は、前記ｍ個の入力レジスタ内のデータと前記ｍ個のスキャンチェーンレジスタ内のデータとをＡＮＤ演算し、前記ｎ個の入力レジスタ内のデータと前記ｎ個のスキャンチェーンレジスタ内のデータとをＡＮＤ演算し、これにより、前記ｍ×ｎのマルチプライヤ回路がｐ×ｑのマルチプライヤ回路として構成されている、請求項１２に記載のプログラマブルロジックデバイス。
【請求項１４】
前記ｐ個のロジック１は、前記ｍ個のスキャンチェーンレジスタのうちの最上位のｐ個のスキャンチェーンレジスタの中にあり、
前記ｍ−ｐ個のロジック０は、前記ｍ個のスキャンチェーンレジスタのうちの最下位のｍ−ｐ個のスキャンチェーンレジスタの中にある、請求項１３に記載のプログラマブルロジックデバイス。
【請求項１５】
前記ｑ個のロジック１は、前記ｎ個のスキャンチェーンレジスタのうちの最上位のｑ個のスキャンチェーンレジスタの中にあり、
前記ｎ−ｑ個のロジック０は、前記ｎ個のスキャンチェーンレジスタのうちの最下位のｎ−ｑ個のスキャンチェーンレジスタの中にある、請求項１４に記載のプログラマブルロジックデバイス。
【請求項１６】
前記ｑ個のロジック１は、前記ｎ個のスキャンチェーンレジスタのうちの最上位のｑ個のスキャンチェーンレジスタの中にあり、
前記ｎ−ｑ個のロジック０は、前記ｎ個のスキャンチェーンレジスタのうちの最下位のｎ−ｑ個のスキャンチェーンレジスタの中にある、請求項１３に記載のプログラマブルロジックデバイス。
【請求項１７】
前記入力回路は、前記マルチプライヤ回路に入力するために前記複数の入力レジスタ内のデータと前記複数のスキャンチェーンレジスタ内のデータとをＡＮＤ演算するＡＮＤ回路を含む、請求項１０に記載のプログラマブルロジックデバイス。
【請求項１８】
前記マルチプライヤ回路は、第１の被乗数のビットを入力するための第１の入力と、第２の被乗数のビットを入力するための第２の入力とを含み、
前記複数のスキャンチェーンレジスタの前記少なくとも一部は、前記マルチプライヤ回路の前記第１の入力および前記第２の入力のうちの一方に接続されており、これにより、前記テストの後に前記複数のスキャンチェーンレジスタの前記少なくとも第１の部分にロードされたデータは、前記第１の被乗数および第２の被乗数のうちの少なくとも一方を表す、請求項１に記載のプログラマブルロジックデバイス。
【請求項１９】
前記第１の被乗数を表す前記データは、複数の乗算動作の間、実質的に固定されている、請求項１８に記載のプログラマブルロジックデバイス。
【請求項２０】
前記第１の被乗数を表す前記複数のスキャンチェーンレジスタの前記少なくとも一部は、前記複数のスキャンチェーンレジスタの他のものから分離クロックによってクロックされ、これにより、前記第１の被乗数は、前記分離クロックを停止することによって、実質的に固定された状態に保持される、請求項１９に記載のプログラマブルロジックデバイス。
【請求項２１】
前記プログラマブルロジックデバイスの動作中に前記第１の被乗数を変更するように、前記分離クロックが再起動される、請求項２０に記載のプログラマブルロジックデバイス。
【請求項２２】
前記第１の被乗数を表す前記複数のスキャンチェーンレジスタの前記少なくとも一部を前記複数のスキャンチェーンレジスタの他のものから分離するスイッチをさらに備え、これにより、前記第１の被乗数は、前記スイッチを開放することによって、実質的に固定さた状態に保持される、請求項１９に記載のプログラマブルロジックデバイス。
【請求項２３】
前記プログラマブルロジックデバイスの動作中に前記第１の被乗数を変更するように、前記スイッチが閉じられる、請求項２２に記載のプログラマブルロジックデバイス。
【請求項２４】
ロジックブロック内に配置された複数のマルチプライヤ回路であって、前記マルチプライヤ回路のそれぞれは、１つの第１の被乗数と１つの第２の被乗数とを有している、複数のマルチプライヤ回路と、
前記複数のマルチプライヤ回路の出力を累積する複数の加算器と
を備えている、請求項１９に記載のプログラマブルロジックデバイス。
【請求項２５】
前記ロジックブロック内の前記複数のマルチプライヤ回路および前記複数の加算器は、有限インパルス応答フィルタを形成するように構成されるように適合されており、
前記第１の被乗数のそれぞれは、前記有限インパルス応答フィルタの係数を表す、請求項２４に記載のプログラマブルロジックデバイス。
【請求項２６】
前記ロジックブロックは、４つのマルチプライヤ回路と３つの加算器とを含み、
前記複数の加算器のうちの第１の加算器は、前記複数のマルチプライヤ回路のうちの第１のマルチプライヤ回路の出力と第２のマルチプライヤ回路の出力とを加算し、
前記複数の加算器のうちの第２の加算器は、前記複数のマルチプライヤ回路のうちの第３のマルチプライヤ回路の出力と第４のマルチプライヤ回路の出力とを加算し、
記複数の加算器のうちの第３の加算器は、前記第１の加算器の出力と前記第２の加算器の出力とを加算する、請求項２５に記載のプログラマブルロジックデバイス。
【請求項２７】
前記有限インパルス応答フィルタ内のデータを登録する複数のレジスタをさらに備えている、請求項２６に記載のプログラマブルロジックデバイス。
【請求項２８】
前記複数のレジスタは、前記ロジックブロックへの入力に連鎖しており、前記複数のレジスタのそれぞれは、前記複数のマルチプライヤ回路のうちの１つに入力するための出力を提供する、請求項２７に記載のプログラマブルロジックデバイス。
【請求項２９】
前記ロジックブロックは、ある数のマルチプライヤ回路と、前記マルチプライヤ回路の数に等しい数の加算器とを含み、前記複数の加算器のそれぞれは、前記複数のマルチプライヤ回路のうちの１つの出力を先行した和に加算する、請求項２５に記載のプログラマブルロジックデバイス。
【請求項３０】
前記先行した和の第１番目のものは、前記ロジックブロックへの入力である、請求項２９に記載のプログラマブルロジックデバイス。
【請求項３１】
前記有限インパルス応答フィルタ内のデータを登録する複数のレジスタをさらに備えている、請求項３０に記載のプログラマブルロジックデバイス。
【請求項３２】
前記複数のレジスタのそれぞれは、前記複数の加算器のうちの１つの出力を登録し、前記登録された出力のそれぞれが前記先行した和の１つを形成する、請求項３１に記載のプログラマブルロジックデバイス。
【請求項３３】
前記有限インパルス応答フィルタ内のデータを登録する複数のレジスタをさらに備えている、請求項２９に記載のプログラマブルロジックデバイス。
【請求項３４】
前記複数のレジスタのそれぞれは、前記複数の加算器のうちの１つの出力を登録し、前記登録された出力のそれぞれが前記先行した和の１つを形成する、請求項３３に記載のプログラマブルロジックデバイス。
【請求項３５】
前記第１の被乗数を表す前記複数のスキャンチェーンレジスタの前記少なくとも第１の部分内のレジスタは、前記ロードが行われた後にさらに入力が行われることが防止される、請求項１９に記載のプログラマブルロジックデバイス。
【請求項３６】
前記第１の被乗数を表す前記複数のスキャンチェーンレジスタの前記少なくとも第１の部分内の前記レジスタは、第１のクロックを接地することによって、前記ロードが行われた後にさらに入力が行われることが防止される、請求項３５に記載のプログラマブルロジックデバイス。
【請求項３７】
前記第２の被乗数を表す前記複数のスキャンチェーンレジスタの前記少なくとも第１の部分内のレジスタは、前記第１のクロックとは異なる第２のクロックをクロックすることによって、前記ロードが行われた後に更なる入力を受信する、請求項３６に記載のプログラマブルロジックデバイス。
【請求項３８】
前記第１の被乗数を表す前記複数のスキャンチェーンレジスタの前記少なくとも一部内の前記レジスタは、前記第１の被乗数を表す前記レジスタへの接続を開放することによって、前記ロードが行われた後に更なる入力が行われることが防止される、請求項３５に記載のプログラマブルロジックデバイス。
【請求項３９】
前記第２の被乗数を表す前記複数のスキャンチェーンレジスタの前記少なくとも第１の部分内の前記レジスタは、前記接続が開放された後に更なる入力を受信し続ける、請求項３８に記載のプログラマブルロジックデバイス。
【請求項４０】
ロジックブロック内に配置された複数のマルチプライヤ回路であって、前記複数のマルチプライヤ回路のそれぞれは、１つの第１の被乗数と１つの第２の被乗数とを有している、複数のマルチプライヤ回路と、
前記複数のマルチプライヤ回路の出力を累積する複数の加算器と
を備えている、請求項３９に記載のプログラマブルロジックデバイス。
【請求項４１】
前記ロジックブロック内の前記複数のマルチプライヤ回路および前記複数の加算器は、有限インパルス応答フィルタを形成するように構成されるように適合されており、
前記第１の被乗数のそれぞれは、前記有限インパルス応答フィルタの係数を表す、請求項４０に記載のプログラマブルロジックデバイス。
【請求項４２】
前記ロジックブロックは、４つのマルチプライヤ回路と３つの加算器とを含み、
前記複数の加算器のうちの第１の加算器は、前記複数のマルチプライヤ回路のうちの第１のマルチプライヤ回路の出力と第２のマルチプライヤ回路の出力とを加算し、
前記複数の加算器のうちの第２の加算器は、前記複数のマルチプライヤ回路のうちの第３のマルチプライヤ回路の出力と第４のマルチプライヤ回路の出力とを加算し、
記複数の加算器のうちの第３の加算器は、前記第１の加算器の出力と前記第２の加算器の出力とを加算する、請求項４１に記載のプログラマブルロジックデバイス。
【請求項４３】
前記有限インパルス応答フィルタ内のデータを登録する複数のレジスタをさらに備えている、請求項４２に記載のプログラマブルロジックデバイス。
【請求項４４】
前記複数のレジスタは、前記ロジックブロックへの入力に連鎖しており、前記複数のレジスタのそれぞれは、前記複数のマルチプライヤ回路のうちの１つに入力するための出力を提供する、請求項４３に記載のプログラマブルロジックデバイス。
【請求項４５】
前記ロジックブロックは、ある数のマルチプライヤ回路と、前記マルチプライヤ回路の数に等しい数の加算器とを含み、前記複数の加算器のそれぞれは、前記複数のマルチプライヤ回路のうちの１つの出力を先行した和に加算する、請求項４１に記載のプログラマブルロジックデバイス。
【請求項４６】
前記先行した和の第１番目のものは、前記ロジックブロックへの入力である、請求項４５に記載のプログラマブルロジックデバイス。
【請求項４７】
前記有限インパルス応答フィルタ内のデータを登録する複数のレジスタをさらに備えている、請求項４６に記載のプログラマブルロジックデバイス。
【請求項４８】
前記複数のレジスタのそれぞれは、前記複数の加算器のうちの１つの出力を登録し、前記登録された出力のそれぞれが前記先行した和の１つを形成する、請求項４７に記載のプログラマブルロジックデバイス。
【請求項４９】
前記有限インパルス応答フィルタ内のデータを登録する複数のレジスタをさらに備えている、請求項４５に記載のプログラマブルロジックデバイス。
【請求項５０】
前記複数のレジスタのそれぞれは、前記複数の加算器のうちの１つの出力を登録し、前記登録された出力のそれぞれが前記先行した和の１つを形成する、請求項４９に記載のプログラマブルロジックデバイス。
【請求項５１】
前記有限インパルス応答フィルタ内のデータを登録する複数のレジスタをさらに備えている、請求項４１に記載のプログラマブルロジックデバイス。
【請求項５２】
処理回路と、
前記処理回路に結合されたメモリと、
前記処理回路と前記メモリとに結合されたプログラマブルロジックデバイスであって、請求項１に記載のプログラマブルロジックデバイスと
を備えた、デジタル処理システム。
【請求項５３】
請求項１に記載のプログラマブルロジックデバイスが実装されたプリント回路基板。
【請求項５４】
前記プリント回路基板上に実装されたメモリであって、前記プログラマブルロジックデバイスに結合されたメモリをさらに備えている、請求項５３に記載のプリント回路基板。
【請求項５５】
前記プリント回路基板上に実装されたメモリ回路であって、前記メモリに結合されたメモリ回路をさらに備えている、請求項５４に記載のプリント回路基板。
【請求項５６】
前記プリント回路基板上に実装された処理回路であって、前記メモリ回路に結合された処理回路をさらに備えている、請求項５５に記載のプリント回路基板。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はマルチプライヤを含んだプログラマブルロジックデバイスに係り、
特にリソース使用を低減するための特別な構成でマルチプライヤが使用されるプ
ログラマブルロジックデバイスに関する。
【背景技術】
【０００２】
デバイスの使用者が使用可能なプログラマブルロジックリソースからマルチプ
ライヤを構成することを要求するのではなくプログラマブルロジック回路上にマ
ルチプライヤを提供することがより一般的になっている。しかしながら、マルチ
プライヤ回路は比較的大きな面積を占有し、その入力に大きなルーティングリソ
ースが消費される。
【０００３】
例えば、マルチプライヤはｍビットにｎビット（例えば１８×１８ビット（し
ばしばｍ＝ｎとなる））を乗算するために提供される。しかしながら、プログラ
マブルロジックデバイスの使用者がｐビット×ｑビットのマルチプライヤを必要
とし、この際ｐおよびｑはプログラム時に使用者によって選択され殆どの場合異
なったものとなりｐ＜ｍおよびｑ＜ｎであることがあり得る。このことはプログ
ラミング中に使用されていないビットに０をプリロードあるいは注入することに
よって達成される。しかしながら、この使用されていないビットへの入力は１つ
のソースによって駆動される必要があり、このソースはその入力に対してルーテ
ィングする必要がある。従って、入力が一定の連続デバイス動作を維持している
場合においても使用されていないビットの注入に使用されるリソースは他の使用
が不可能となる。
【０００４】
他方、追加的なレジスタを設けるとともにマルチプライヤ入力レジスタとＡＮ
Ｄ処理することができ、そして各追加的レジスタを１（これは最も重要なマルチ
プライヤビットであり、使用され得る）または０（最も重要でないマルチプライ
ヤの場合であり、これは使用されない）のいずれかにセットすることができる。
特定のレジスタが０または１のいずれにセットされるかは構成ビットによって制
御することができる。これはより重要でないマルチプライヤ入力に直接０をルー
ティングするよりも小さなリソースを消費するが、これにおいても追加的なレジ
スタおよび構成ビットが要求される。
【０００５】
別の例において、マルチプライヤはその入力の１つが一定係数である構成にお
いて使用されることもあり、ここでもこの一定係数のためにリソースが消費され
る。このような使用法の１つは有限インパルス応答（ＦＩＲ）フィルタにおける
ものであり、これは複数のマルチプライヤの使用を必要とし、その結果ルーティ
ングリソースが使用される。加えて、この種のフィルタ内において多数のマルチ
プライヤの出力は複数の加算器によって積算する必要があり、多くの積を加算器
に伝送しその合計を別の加算器に伝送するためにさらにルーティングリソースが
使用される。
【０００６】
リソースの使用を低減するように構成されたマルチプライヤ回路を備えるプロ
グラマブルロジックデバイスを提供することが望まれている。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従って、本発明の目的は、マルチプライヤ回路がリソースの使用を低減するよ
うに構成されている、マルチプライヤ回路を備えたプログラマブルロジックデバ
イスを提供することである。
【課題を解決するための手段】
【０００８】
本発明によれば、同時に提出され通常通り付与された米国特許出願第０９／―
――号（代理人整理番号１７４／１９８）に記載されている（これは全体的に参
照に組み入れてある）マルチプライヤ回路を有するプログラマブルロジックデバ
イスが提供される。このプログラマブルロジックデバイスは、検査の目的のため
の複数のスキャンチェーンレジスタを備え、この複数のスキャンチェーンレジス
タの少なくとも一部はマルチプライヤ回路に近接して配置されている。スキャン
チェーンレジスタ内のデータを使用してマルチプライヤ回路への入力データを修
正するための入力回路が設けられる。
【０００９】
本発明の１つの特徴によれば、それぞれｍおよびｎビット（しばしばｍ＝ｎ）
を有する２つの数字を乗算することができるマルチプライヤ回路を、これに代え
てｐ×ｑビットでｐ＜ｍおよびｑ＜ｎ（しばしばｐ＝ｑ）の乗算を行うように構
成することができる。これはサブセット乗算として知られており、またこのマル
チプライヤはサブセットマルチプライヤとして知られている。欠落しているｍ−
ｐビットおよび欠落しているｎ−ｑビットを補償するために入力に０を注入する
ためのルーティングリソースを浪費することを防止するために、通常プログラマ
ブルロジックデバイスを検査するために設けられているスキャンチェーンが使用
される。
【００１０】
スキャンチェーンは特に検査の目的のためにプログラマブルロジックデバイス
の全体にわたって設けられる。デバイスが製造された後予め設定されたパターン
の１および０がスキャンチェーンを介してクロックされ、デバイスの全ての部分
にわたってレジスタを有しているチェーンを介してのパターンの進行が検査され
る。入力されたパターンからの変異が存在する場合は製造不良の可能性があるこ
とを示しており、チェーン内においてパターンが崩壊しているかどうかを判定す
ることによってこれを隔離する。
【００１１】
この本発明の特徴によれば、マルチプライヤ入力に近接しているスキャンチェ
ーンレジスタはマルチプライヤ入力によってＡＮＤ処理される。最も重要でない
ｍ−ｐおよびｎ−ｑビットに相当するスキャンチェーンレジスタにはデバイスの
検査後に０がロードされ、ｐおよびｑの最も重要なビットには１がロードされる
。スキャンチェーンにはそれ以上のデータが入力されないため、ロードされた数
値をデバイス動作全体にわたって保持する。前述したように１および０がロード
されたスキャンチェーンレジスタをマルチプライヤ入力においてＡＮＤ処理する
ことによって、ルーティングリソースを使用することなく最も重要でないビット
に０を注入することと同様な効果が得られる。従って、最も重要でないビットに
接続されたルーティングリソースは別の機能に使用することができ、これはこれ
らのビット内にどの数値が現れているかは乗算の目的には重要でないためであり
、その数値は常に０とＡＮＤ処理される。スキャンチェーンレジスタの残りのヒ
ットには１がロードされるため、マルチプライヤ入力の最も重要なビット内の数
値はＡＮＤ動作を通じてマルチプライヤに伝送される。通常、マルチプライヤ入
力は記録（同期的に入力）されており、スキャンチェーンレジスタは入力レジス
タとＡＮＤ処理される。しかしながら、場合によってマルチプライヤ入力は非同
期的で記録されておらず、この場合スキャンチェーンレジスタは入力自体とＡＮ
Ｄ処理される。
【００１２】
本発明の別の特徴によれば、ロジックブロック内に構成された複数のマルチプ
ライヤ回路を有するプログラマブルロジックデバイスが提供される。ロジックブ
ロックはさらにこれら複数のマルチプライヤ回路の出力を積算するための複数の
加算器を備えており、これは前記の同時に提出され通常通り付与された米国特許
第０９／―――号（代理人整理番号１７４／１９９）に記載されているものと同
様であり、これは全体的に参照に組み入れてある。ロジックブロック内のマルチ
プライヤおよび加算器は多様な使用のために構成されており、有限インパルス応
答フィルタの構成も含まれている。
【００１３】
この本発明の特徴によれば、有限インパルス応答（ＦＩＲ）フィルタは“ダイ
レクトフォームＩ”ＦＩＲフィルタまたは“ダイレクトフォームII”ＦＩＲフィ
ルタとすることができる。入力データ（サンプル）または中間データのいずれか
を記録するためのマルチプライヤ、加算器、レジスタに加えていずれかの形式の
ＦＩＲフィルタが必要とされ、レジスタの数はＦＩＲフィルタ内のマルチプライ
ヤの数と等しいことが好適である。ダイレクトフォームＩＦＩＲフィルタの場合
レジスタはマルチプライヤの出力部分にあり、一方ダイレクトフォームIIＦＩＲ
フィルタの場合レジスタはマルチプライヤの入力部分にある。
【００１４】
いずれの形式のＦＩＲフィルタにおいても場合によってマルチプライヤへの入
力の１つがプログラミング時に固定される係数であるとともにフィルタによって
形成される固有の使用に特化し、例えば適応フィルタ等のその他の場合係数は時
間変化する。係数を固定することができるため、この係数のためにルーティング
リソースを消費することが無駄である。従って、サブセットマルチプライヤに関
連して前述したように、この本発明の特徴によれば、マルチプライヤ入力係数と
ＡＮＤ処理されるスキャンチェーンレジスタにはデバイスの検査が完了した後に
フィルタ係数がロードされる。
【００１５】
この本発明の特徴の変更例において、スキャンチェーンレジスタはさらにＦＩ
Ｒフィルタへのデータ（サンプル）入力のために使用することもできる。このこ
とは別のスキャンチェーンレジスタを各マルチプライヤの別の入力（または入力
レジスタ）とＡＮＤ処理し、その後フィルタサンプル入力を形成するための使用
中にスキャンチェーンを介してデータをクロックすることによって達成される。
この変更例が使用される場合、入力サンプルデータがクロックされる際にスキャ
ンチェーンレジスタ内の固定であると仮定された係数データがスキャンチェーン
を介してクロックされることを防止する方法を設ける必要がある。このことは以
下の２つの方法のうちの１つまたは両方を使用して達成することが好適である。
【００１６】
入力サンプルデータがクロックされる際に係数データがスキャンチェーンを介
してクロックされることを防止するための第１の方法は、係数データが適宜なス
キャンチェーンレジスタ内にロードされた後に開放することができる１つまたは
複数のスイッチまたはリンクを設けることである。このリンクまたはスイッチを
開放することによってこれらのレジスタをスキャンチェーンの他の部分から隔離
することができ、従って入力サンプルデータはこれらの係数レジスタを介しては
クロックされない。このことによって、係数データのために使用される全てのス
キャンチェーンレジスタが入力サンプルデータのために使用されるいずれのスキ
ャンチェーンレジスタよりも下流に存在するようにスキャンチェーンを構成する
ことが必要になる。
【００１７】
入力サンプルデータがクロックされる際に係数データがスキャンチェーンを介
してクロックされることを防止するための第２の方法は、係数入力のために使用
されるスキャンチェーンレジスタのための第１の係数クロックと、サンプルデー
タ入力のために使用されるものとを含むその他のスキャンチェーンレジスタのた
めの第２の分離したデータまたはサンプルクロックとを設けることである。“通
常”のスキャンチェーン検査動作ならびに係数データのクロックインの間に、こ
れらの２つのクロックは互いに結合されているかまたは同期的に動作することが
できる。その後係数クロックがサンプルデータクロックから切断されるかあるい
は単純にターンオフされ、これによって、係数レジスタがスキャンチェーンに接
続されたままであるとともにデータまたはサンプルクロックによってクロックさ
れるいずれかのレジスタを介してデータがクロックされる場合においても係数デ
ータが変化することが防止される。これによってもどれが係数に使用されるかの
予備知識に基づいた適正な順序でスキャンチェーンレジスタを構成することが求
められ、従って全ての係数レジスタがいずれのサンプルデータレジスタよりも下
流に存在し、これは前述した構成例のように係数レジスタがチェーンから除去さ
れないにしてもサンプルデータレジスタの下流方向の係数レジスタにデータがク
ロックされることは不可能なためである。このことも同じ予備知識を使用して各
スキャンチェーンレジスタに適正なクロックを接続することを必要とする。
【００１８】
例えば適応ＦＩＲフィルタ等の特定の適用例に対して、デバイスの動作中に緊
急にまたは少なくとも時折係数を変更することが好適あるいは必要となる。係数
をロードするためにスキャンチェーンを使用することによってこの緊急の変更が
可能にある。従って、独立したスキャンチェーンとその独自のクロックを使用し
て係数がロードされる構成例において、係数を変更することが必要である場合常
にクロックを再起動することができる。同一のスキャンチェーンを使用してサン
プルおよび係数がロードされる構成例において、このスキャンチェーンは係数が
ロードされた後遮断され、係数の変更が必要となった場合遮断が解除される（例
えばスイッチ等によって）。後者の構成例において、新規の係数データがチェー
ンのサンプル用部分を介して伝搬される間に、フィルタ出力が無効となる期限が
存在し得る。
【００１９】
ＦＩＲフィルタへの係数および／またはサンプルデータ入力としてのスキャン
チェーンの使用とは別あるいはこれから離れて、ＦＩＲフィルタとして構成する
ことができるマルチプライヤおよび加算器を含んだ前記のロジックブロックは、
これらの要素をＦＩＲフィルタとして接続するために必要なルーティングを含ん
でおり、プログラマブルロジックデバイスの一般的なルーティング上の負荷を緩
和する。従って、マルチプライヤ積算器（ＭＡＣ）ブロックまたは（しばしばデ
ジタル信号処理に使用されるため）ＤＳＰブロックとも呼ばれるロジックブロッ
クは、マルチプライヤ、加算器、２つの異なった形式のＦＩＲフィルタに対して
異なった位置にあることが必要なレジスタ（以下で説明する）、２つの異なった
構成間の選択を行うためのマルチプレクサ（これも以下で説明する）を含んでい
る。
【実施例】
【００２０】
本発明の前述したまたはその他の対象ならびに利点は、添付図面を参照しなが
ら以下に記述する詳細な説明によって明らかにされる。各図中において同一の構
成要素は同一の参照符号をもって示されている。
【００２１】
本発明は、１つまたは複数の異なった機能を実行する際にルーティングまたは
その他のデバイスリソースを節約する方式でプログラマブルロジックデバイス上
に構成されたマルチプライヤを含んでいる。通常はデバイスの動作中には使用さ
れないスキャンチェーンを必要に応じて特定の機能を実行するために使用するこ
とによってさらにリソースの節約が達成される。
【００２２】
本発明について図１ないし図１０を参照しながら以下に説明する。
【００２３】
図１にはプログラマブルロジックデバイス１０の各部が極めて簡略化された形
式で示されている。デバイス１０はロジック領域１１を含んでおり、これはｐ項
または積算項ロジック、あるいはより一般的にルックアップテーブル型ロジック
とすることができ、各ロジック領域１１をプログラムによって互いに接続するこ
とができる相互接続コンダクタ１２によって相互接続されている。
【００２４】
デバイス１０はさらに１つまたは複数のマルチプライヤ１３を含むことが好適
である。各マルチプライヤ１３はｍビットの数値をｎビットの数値と乗算するこ
とが可能であるが、デバイス１０のプログラミングに際して使用者がｐビット×
ｑビットのマルチプライヤを必要とし、この際ｐおよびｑはプログラム時に使用
者によって選択され殆どの場合異なったものとなりｐ＜ｍおよびｑ＜ｎであるこ
とがあり得る。例えば、マルチプライヤ１３は１８×１８のマルチプライヤとす
ることができるが、使用者は１６×１６のマルチプライヤまたは１２×８等のマ
ルチプライヤを必要とすることがある。通常、このことは、マルチプライヤのｍ
−ｐおよびｎ−ｑの最も重要でないビットである、使用されていないビットに注
入を行い０にセットすることによって達成される。他方、最も重要であるビット
に注入を行うことも可能である。しかしながら、このことは、最も重要なビット
を符号拡張する、すなわち正の数値に対して０を注入し負の数値に対しては１を
注入する必要があるため複雑なものとなる。従って最も重要でないビットに注入
を行う方が好適である。
【００２５】
従って、１８×１８のマルチプライヤのうちの１６×１６のサブセットに対し
て、各乗数のうちの最も重要でない２つのビットが０にセットされ、他方１８×
１８のマルチプライヤのうちの１２×８のサブセットに対しては一方の乗数のう
ちの最も重要でない６個のビットと他方の乗数のうちの最も重要でない１０個の
ビットが０にセットされる。（実際に、０といずれかの数値との積は０であるた
め、より大きな数の使用されていないビットを有する乗数の使用されてないビッ
トを０にセットすれば充分であり；他方の乗数に関しては使用されていないビッ
トがいずれの数値を有するかは問題でない。従って、１８×１８のマルチプライ
ヤのうちの１２×８のサブセットにおいて、第２の乗数のうちの最も重要でない
１０個のビットを０にセットすれば充分であり；第１の乗数のうちの最も重要で
ない６個のビットの数値は問題にならない。）このことは、従来より、デバイス
１０の通常の構成およびリソースを使用してこれらのビットを０にセットするこ
とによって解決される。
【００２６】
しかしながら、デバイス１０がプログラムされる際にｍ×ｎマルチプライヤが
ｐ×ｑマルチプライヤとして構成されると、この構成はデバイスの動作全体にわ
たって保持され、またデバイス１０が再プログラムされる場合はそれまで保持さ
れる。従って、通常のルーティングリソースを使用してマルチプライヤ１３の最
も重要でないビットをセットすると、これらのビットの数値がデバイス１０の動
作全体にわたって一定である際は、これらのリソースをデバイス１０の動作に対
して使用可能なリソースのリストから外すことが不要となる。
【００２７】
本発明によれば、図２に示されているようにスキャンチェーン２０を使用する
ことによってこれらのリソースをマルチプライヤ１３の使用されていないビット
をセットすることから解放する。スキャンチェーンレジスタ２１を含んだ少なく
とも１つのスキャンチェーン２０が検査目的のために通常デバイス１０上に設け
られており、半導体製造プロセスにおいてデバイス１０が適正に動作するかどう
かを判定する。デバイス１０の全ての部分を介して１つまたは複数のスキャンチ
ェーン２０が延在している。製造の後に既知の一連の信号がスキャンチェーン２
０を介して伝送され、スキャンチェーン２０の末端またはスキャンチェーン途中
の出力が入力と比較される。出力が入力と一致した場合、デバイス１０は適正に
製造されていると判断される。出力が入力と一致しない場合、製造に問題が生じ
てチェーン２０内のレジスタ２１が機能不良であり信号を適正に伝送しないと推
定される。この時点において、デバイス全体を廃棄するか、あるいはスキャンチ
ェーン２０上の多数の位置においてスキャン信号を摘出して欠陥の位置と大きさ
を判定し、この場合欠陥の位置が検知されて作用を及ぼす領域を使用から除外す
ることができればデバイスを使用することができる。
【００２８】
従って、デバイスが検査に合格した後、スキャンチェーン２０およびそのレジ
スタ２１は一般的にはそのデバイスの残りの寿命の間の全体において使用されな
いままとなる。スキャンチェーン２０によるデバイスの損失面積は許容し得ない
コストとなる。
【００２９】
本発明によればスキャンチェーン２０が再び使用されるようになる。特にスキ
ャンチェーン２０はデバイス１０の全領域にわたっているため、マルチプライヤ
１３の入力レジスタ２２に近接したスキャンチェーンレジスタ２１が存在する。
ＡＮＤゲート２４を設けることによって、特定のスキャンチェーンレジスタ２１
の内容が特定の入力レジスタ２２の内容とＡＮＤ処理される。検査が完了した後
、例えばプログラミング時に、入力レジスタ２２のｐおよびｑの最も重要なビッ
トに対応するスキャンチェーンレジスタ２１に１をロードし、入力レジスタ２２
の最も重要でないビットに対応するスキャンチェーンレジスタ２１に０をロード
することによって、レジスタ２２自体の最も重要でないビットに０をロードした
場合と同じ結果がＡＮＤ操作後に達成される。入力レジスタ２２自体の選択（例
えばどこでマルチプライヤ１３全体が使用されているか）、またはレジスタ２２
とスキャンチェーンレジスタ２１とのＡＮＤ処理の結果の選択（例えばサブセッ
ト乗算のために）を可能にするためにマルチプレクサ２３が設けられる。他方、
マルチプレクサ２３を省略し、マルチプレクサ１３全体の選択はスキャンチェー
ンレジスタ２１に全て１をロードすることによって行うこともできる。
【００３０】
一度ロードされたスキャンチェーンレジスタ２１の内容が変化することを防止
するために、スキャンチェーンクロックをアースすることができる。いくつかの
場合において、特定のスキャンチェーンレジスタ２１を数値が変化し得るように
使用することも考えられる（下記参照）。従って、図３に示されているように、
特定のスキャンチェーンレジスタ２１に対してのみクロックをアースするクロッ
ク構成を提供することもできる。図３に示されている一つの実施例において、ス
キャンチェーンクロック３０はスキャンチェーンレジスタ３１，３２に直接フィ
ードされているが、スキャンチェーンレジスタ３４，３５に対しては先にマルチ
プレクサ３３を介してフィードされ、またスキャンチェーンレジスタ３７，３８
に対しては先にマルチプレクサ３６を介してフィードされる。各マルチプレクサ
３３，３６の第２の入力はアースであり、マルチプレクサ３３，３６のいずれも
クロック信号３０によってアースを代替することが可能であり、これによってこ
のマルチプレクサに結合されたこれらのスキャンチェーンレジスタ２１に対して
クロック入力をアースし、その結果これらのレジスタの内容が解放される。
【００３１】
これによって、特定のスキャンチェーンレジスタ、例えばレジスタ３１および
３２を“絶え間なく”変化することが必要な機能に使用し、他のもの、例えばレ
ジスタ３４，３５を一度セットされたら一定であるかあるいはそれ程頻繁に変化
しないことが要求される機能に使用することが可能になる。
【００３２】
図４には複数のマルチプライヤに対して可変のデータおよび比較的固定された
データの両方を提供するために使用される異なったスキャンチェーンレジスタの
構成３００が示されている。２つのマルチプライヤ３０１，３０２と４つのスキ
ャンチェーンレジスタ３０３−３０６のみが示されているが、これらはより長い
チェーンの一部であることが好適であり、残りの部分は図面上省略されている。
【００３３】
場所的にはスキャンチェーンレジスタ３０３−３０６は連続して配置されてい
るが、これらは検査モードにおいてスキャンデータが全ての他のレジスタ（例え
ば３０３，３０５）に対して一方向に通流し、代替的なレジスタ（例えば３０４
，３０６）に対して逆方向に通流するように結線することが好適である。検査の
目的においてはデータが種々のレジスタに到達する順序は問題でなく、出力パタ
ーンが入力パターンと同一であるかどうかを判断することができれば充分である
。しかしながら、試験の目的のため全てのスキャンチェーンレジスタに同一のス
キャンクロックが到達すことが重要である。従って、図４に示されているように
、スキャンクロック３０７は直接奇数番号のレジスタ（例えば３０３，３０５）
に到達し、偶数番号のレジスタ（例えば３０４，３０６）にはマルチプレクサ３
０９を介して係数クロック３０８として到達することが好適であり、ここで検査
モードでない場合はアース３１０をアース係数クロック３０８に選択し得ること
も好適であり、これによって奇数番号のレジスタ内の数値を凍結することなく偶
数番号のレジスタ内の係数数値を凍結することができる。
【００３４】
前述した代替的構成のため、偶数番号のレジスタは空間的に奇数番号のレジス
タの間に挿入されているが、電気的には全ての偶数番号のレジスタが奇数番号の
レジスタの下流に存在する。
【００３５】
図示されているように、スキャンデータ線３１１は全ての他のレジスタ（好適
には奇数番号のレジスタ）に到達しており、全てのデータがチェーンの位置的な
末端に達する。データはそこでスイッチ３１２（検査および係数ロードの間に閉
じられている）を介して伝送され、係数データ線３１３として偶数番号のレジス
タに戻されることが好適である。このことによって検査中ならびに係数ローディ
ング中に電気的において連続したチェーンが提供される。
【００３６】
レジスタ３０４，３０６（および他の偶数番号のレジスタ）内に係数がロード
された後スイッチ３１２が開放される。このことにより、係数レジスタ３０４，
３０６内のデータを変更することなくマルチプライヤ３０１，３０２への入力レ
ジスタとして機能するレジスタ３０３，３０５（および他の奇数番号レジスタ）
に変動データを提供するためにスキャンチェーンを介してデータが伝送されるこ
とが可能になる。しかしながら、係数レジスタが全て空になる（または全てが同
一の係数を含む）まで既に係数レジスタ内にある係数データが次々とクロックさ
れることを防止するために、係数クロック３０８はマルチプレクサ３０９を使用
してなおアースされることが好適である。
【００３７】
プログラマブルロジックデバイス１０上にはマルチプライヤ１３と同様な複数
のマルチプライヤが設けられる。使用者が複数のマルチプライヤが共同で動作す
る適用形態を使用する場合、使用者は所要の結果を得るためにデバイス１０の汎
用の相互接続リソースを使用することができる。しかしながら、このような必要
性は特にデジタル信号処理用途において大幅に一般化している。従って、図５に
概略的に示されているように、この種の用途を実行するためにマルチプライヤ１
３と加算器４１の特別な構成４０をデバイス１０上に提供することができる。い
くつかの乗算の結果が加算器４１によって積算されるため構成４０はマルチプラ
イヤ積算器（“ＭＡＣ”）ブロックと呼ぶか、またはデジタル信号処理に有効な
ため“ＤＳＰ”ブロックと呼ぶこともできる。この種のブロックを設けることは
前記の同時に提出され通常通り付与された米国特許第０９／―――号（代理人整
理番号１７４／１９９）に記載されており、これによれば各ブロックが独自の内
部ルーティングリソースを備えているためデバイス１０の汎用相互接続リソース
の負担をいくらか緩和することができ、また通常はデバイス１０上に分離して別
に設けられている構成要素によって実行される機能の速度を増加することができ
る。
【００３８】
本発明に従ったＤＳＰ／ＭＡＣブロックの用途の１つは前述した有限インパル
ス応答（ＦＩＲ）フィルタを形成することである。同様に前述されたように、Ｆ
ＩＲフィルタはダイレクトフォームＩＦＩＲフィルタまたはダイレクトフォーム
IIＦＩＲフィルタとして形成することができる。
【００３９】
図６にはダイレクトフォームIIＦＩＲフィルタとして構成されたＤＳＰ／ＭＡ
Ｃブロック５０の一例が示されている。ブロック５０は４つのマルチプライヤ５
１−５４を備えていることが好適であり、それぞれがデータ入力５５と係数入力
５６と３つの加算器５７−５９を備えている。マルチプライヤ５１および５２の
出力は加算器５７によって加算または積算することが好適であり、一方マルチプ
ライヤ５３および５４の出力は加算器５８によって加算または積算することが好
適である。加算器５７および５８の出力は続いて加算器５９によって積算される
。従ってＤＳＰ／ＭＡＣブロック５０は４つの入力５５および１つの出力５００
を有することが好適である。ダイレクトフォームIIＦＩＲフィルタとして使用さ
れる場合、４つのレジスタ５０１−５０４を入力５５の上流に設けることが好適
である。レジスタ５０１−５０４は単一の入力５０５上で連結されることが好適
であり、各入力５５は各レジスタ５０１−５０４の出力をタップする。係数入力
５６に接続された係数レジスタ（図示されていない）に係数をロードするために
追加的な入力あるいはルーティングリソース（図示されていない）が必要とされ
る。
【００４０】
図７にはダイレクトフォームＩＦＩＲフィルタとして構成された別のＤＳＰ／
ＭＡＣブロック６０の一例が示されている。ブロック６０は４つのマルチプライ
ヤ６１−６４を備えていることが好適であり、それぞれがデータ入力６５と係数
入力６６と４つの加算器６７，６８，６９，６００と４つのレジスタ６０１−６
０４を備えている。各加算器６７，６８，６９，６００はマルチプライヤ６１−
６４のうちの１つの出力を前置された加算器の出力に加算し、これを対応するレ
ジスタ６０１−６０４に記録する。特に、後続する各加算器は先行する加算器の
直接的な出力ではなく記録された出力を対応するマルチプライヤ出力に加算する
ことが好適である。最終的な合計を出力６０５として提供することが好適である
。第１の加算器６７の場合、マルチプライヤ６１の出力がデバイス１０の何処か
からの入力６０６（これは他のＤＳＰ／ＭＡＣブロックの合計出力であり得る）
に加算される。チェーン内の最初のＤＳＰ／ＭＡＣブロックの場合、入力６０６
はゼロ化されていることが好適である。このことはデバイスのルーティングによ
って達成するか、あるいはマルチプレクサ６０７がアース（０）と入力６０６と
の間の選択を行うことができる。マルチプレクサ６０７を使用することにより、
追加的な構成ビットを必要とすることによってルーティングリソースを節約する
ことができる。マルチプレクサ７０６はデバイス１０上の各ＤＳＰ／ＭＡＣブロ
ック６０内に提供することが好適であり、これはいずれのブロックもが“最初”
のブロックとして構成され得るからである。ブロック５０の場合においては、係
数入力６６に接続された係数レジスタ（図示されていない）内に係数をロードす
るために追加的な入力またはルーティングリソースが必要となる。
【００４１】
図７に示されているダイレクトフォームＩＦＩＲフィルタの各入力６５は同じ
データ源をタップする。従ってブロック６０は１つの入力のみを有するかのよう
に構成することができ、この１つの入力がブロック６０内において種々のマルチ
プライヤ６１−６４にルーティングされる。先行した合計のための別の入力７１
と別の出力６０５によって再構成されたブロック７０（図８においていくつか連
鎖している）は３つの入力／出力接続のみを必要とする。これは他の場合に必要
とされるものに比べて大幅に少ない接続であり、係数が固定されておらずスキャ
ンチェーンがサポートするよりも頻繁に変更される必要がある場合に係数内にル
ーティングする必要があるにもかかわらず、ルーティングリソースを節約するこ
とができる。
【００４２】
図９には、その構成要素の範囲内においてダイレクトフォームＩＦＩＲフィル
タまたはダイレクトフォームIIＦＩＲフィルタのいずれとしても構成することが
できるＤＳＰ／ＭＡＣブロック８０の好適な実施例が概略的に示されている。ブ
ロック８０は４つのマルチプライヤ８１−８４を備えていることが好適である。
マルチプライヤ８１は第１の入力８１１と第２の入力８１２を備えている。同様
に各マルチプライヤ８２−８４もそれぞれ第１の入力８２１，８３１，８４１と
第２の入力８２２，８３２，８４２を備えている。各マルチプライヤ入力８１１
，８１２，８２１，８２２，８３１，８３２，８４１，８４２は、マルチプレク
サ８０９を使用してデータ入力８０１−８０８（Ｄ１−Ｄ８で示されている）の
うちの１つあるいはレジスタ８１０の１つのいずれかに対してそれぞれ選択的に
接続することができ、この各レジスタはそれぞれ入力８０１−８０８の１つのも
のである。加えて、各入力８２１，８３１，８４１は追加的なマルチプレクサ８
１９のうちの１つを使用してそれぞれ接続することができ、その結果Ｄ１データ
入力８０１をマルチプライヤ８１と共有し、図７に示されている信号入力ダイレ
クトフォームＩＦＩＲフィルタの形式を実施する。
【００４３】
ＤＳＰ／ＭＡＣブロック８０はさらに４つの加算器８５−８８を備えているこ
とが好適である。ＤＳＰ／ＭＡＣブロック８０がダイレクトフォームIIＦＩＲフ
ィルタとして機能することを可能にするために、マルチプライヤ８１および８２
の出力を加算器８６によって加算しマルチプライヤ８３および８４の出力を加算
器８７によって加算することができる。加算器８６および８７の出力は続いて加
算器８８によって加算することができる。
【００４４】
マルチプライヤ８１の出力も加算器８５の入力として使用可能であることが理
解され、これに対してはＤ３データ入力８０３も入力となり、レジスタ８５０内
に記録された加算器８５の出力とともにマルチプレクサ８２０によって制御して
加算器８６への入力とされ、その理由については以下に記述する。同様に、マル
チプライヤ８４の出力は加算器８７への入力として使用可能であり、この加算器
８７への入力はレジスタ８２３内に記録してマルチプレクサ８２４によって選択
される加算器８６の出力とすることもでき、その理由については以下に記述する
。
【００４５】
加算器８６，８７の出力は前述したように加算するために加算器８８へ入力さ
れる。加算器８６の出力はマルチプレクサ８２５によって加算器８８への入力と
して選択することができ、このマルチプレクサ８２５はさらにマルチプライヤ８
４の出力も選択することができる。加算器８７の出力は加算器８８に直接入力す
るかあるいはレジスタ８２６に記録した後にマルチプレクサ８２７によって選択
して入力することができる。加算器８８の出力は８８０で直接出力するかあるい
はレジスタ８２８に記録した後にマルチプレクサ８２９によって選択して出力す
ることができる。加算器８６，８７の出力は８６０，８７０において出力とする
こともできるが、ＤＳＰ／ＭＡＣブロック６０がＦＩＲフィルタとして使用され
ている場合はこれに該当しない。ＤＳＰ／ＭＡＣブロック６０のその他の使用は
前記の同時に提出され通常通り付与された米国特許第０９／―――号（代理人整
理番号１７４／１９９）に記載されている。
【００４６】
前述したように、Ｄ１−Ｄ８データ入力８０１−８０８のそれぞれはマルチプ
ライヤ８１−８４の１つに直接供給（対応するマルチプレクサ８０９を介して）
するか、あるいはレジスタ８１０のうちの対応する１つに付加してそこからマル
チプライヤ８１−８４に供給する（対応するマルチプレクサ８０９を介して）こ
とができる。この汎用的な構造はＤＳＰ／ＭＡＣブロック８０が多くの使用法を
有するために提供される。しかしながら、前述したＦＩＲフィルタ内における使
用に対しては各マルチプライヤ８１−８４の１つの入力、例えば入力８１２，８
２２，８３２，および８４２上にフィルタ係数を蓄積するために該当するレジス
タ８１０の１つが使用されることが考えられる。この係数はＤ１−Ｄ８入力８０
１−８０８のうちの適宜な１つから入力することができるが、前述したようにレ
ジスタ８１０の適宜な１つに近接するスキャンチェーンレジスタを使用して入力
することもできる。
【００４７】
ＤＳＰ／ＭＡＣブロック８０がダイレクトフォームＩＦＩＲフィルタとして構
成される場合、信号Ｄ１データ入力８０１は入力８１１上でマルチプライヤ８１
に入力され、また前述したようにマルチプレクサ８１９によって入力８２１，８
３１，８４１に使用することも可能である。図７に関して記述したように、マル
チプライヤ８１は入力８１１上のＤ１データを入力８１２上の係数と乗算し、そ
の積は加算器８５によって先行した別のＤＳＰ／ＭＡＣブロックからの和または
０に加算することができる。先行した和はＤ３データ入力８０３上に入力され、
これはマルチプライヤ８２へのデータ入力８２１には必要でなく、それは４つの
マルチプライヤ８１−８４がＤ１データ入力８０１を共有するためである。加算
器８５の出力はレジスタ８３０内に記録される。
【００４８】
加算器８６はマルチプライヤ８２の出力（Ｄ１データと入力８２２上の係数と
の積）をレジスタ８５０内に記録されマルチプレクサ８２０によって選択された
和に加算する。この加算器８６の合計出力はレジスタ８２３内に記録される。加
算器８７はマルチプライヤ８３の出力（Ｄ１データと入力８３２上の係数との積
）をレジスタ８２３内に記録されマルチプレクサ８２４によって選択された和に
加算する。この加算器８７の合計出力はレジスタ８２６内に記録される。加算器
８８はマルチプレクサ８２５によって選択されたマルチプライヤ８４の出力（Ｄ
１データと入力８４２上の係数との積）をレジスタ８２６内に記録されマルチプ
レクサ８２７によって選択された和に加算する。この加算器８８の合計出力はレ
ジスタ８２８内に記録され、これはダイレクトフォームＩＦＩＲフィルタの出力
８８０としてマルチプレクサ８２９によって選択される。
【００４９】
ＤＳＰ／ＭＡＣブロック８０がダイレクトフォームIIＦＩＲフィルタとして構
成される場合、前述したようにマルチプライヤ入力８１２，８２２，８３２，８
４２と結合された適宜なレジスタ８１０内に係数が記録されている。Ｄ１データ
入力８０１はマルチプライヤ８１の入力８１１に接続するために対応するマルチ
プレクサ８０９によって選択される。Ｄ３データ入力８０３はマルチプライヤ８
２の入力８２１に接続するために対応するマルチプレクサ８０９によって選択さ
れる。Ｄ５データ入力８０５はマルチプライヤ８３の入力８３１に接続するため
に対応するマルチプレクサ８０９によって選択される。Ｄ７データ入力８０７は
マルチプライヤ８４の入力８４１に接続するために対応するマルチプレクサ８０
９によって選択される。
【００５０】
マルチプライヤ８１は、マルチプレクサ８０９によって入力８１１のために選
択されたＤ１データ入力８０１を入力８１２上の係数と乗算する。マルチプライ
ヤ８２は、マルチプレクサ８０９によって入力８２１のために選択されたＤ３デ
ータ入力８０３を入力８２２上の係数と乗算する。マルチプライヤ８３は、マル
チプレクサ８０９によって入力８３１のために選択されたＤ５データ入力８０５
を入力８３２上の係数と乗算する。マルチプライヤ８４は、マルチプレクサ８０
９によって入力８４１のために選択されたＤ７データ入力８０７を入力８４２上
の係数と乗算する。
【００５１】
加算器８６は、マルチプレクサ８２０によって選択されたマルチプライヤ８１
の出力をマルチプライヤ８２の出力に加算する。加算器８７は、マルチプレクサ
８２４によって選択されたマルチプライヤ８４の出力をマルチプライヤ８３の出
力に加算する。加算器８８は、マルチプレクサ８２５によって選択された加算器
８６の出力をマルチプレクサ８２７によって選択された加算器８７の出力に加算
する。加算器８８の出力は、ダイレクトフォームIIＦＩＲフィルタの出力として
出力８８０に直接出力するためにマルチプレクサ８２９によって選択される。
【００５２】
ブロック８０の追加的な変更によれば（図示されていない）、各入力レジスタ
８１０はそれぞれのマルチプライヤではなく次の入力レジスタ８１０にフィード
されるように構成することができる。この方式によって、レジスタ８１０はダイ
レクトフォームIIＦＩＲフィルタの遅延チェーン（例えば図６中の５０１−５０
４）として機能することができ、この遅延チェーンをブロック内部に移動するこ
とが可能となり、外部のロジックおよびルーティングリソースが節約される。こ
のことによって、（ａ）各Ｄ１−Ｄ８入力８０１−８０８と（ｂ）先行したレジ
スタ８１０との間における選択を行うために、各レジスタ８１０の入力上に追加
的なマルチプレクサ（図示されていない）が必要となる。
【００５３】
図９には前述したスキャンチェーンは示されていないが、ブロック８０はこれ
らのスキャンチェーンを含んでいることが好適であり、これは前述したようにブ
ロック８０の動作内において使用されることが好適であることが理解される。
【００５４】
図１０にはデータプロセッシングシステム９００内における本発明に係るプロ
グラマブルロジックデバイス１０が示されている。データ処理システム９００は
、さらに：プロセッサ９０１；メモリ９０２；Ｉ／Ｏ回路９０３；ならびに周辺
機器９０４のうちの１つまたは複数を含むことができる。これらの構成要素はシ
ステムバス９０５によって互いに結合されるとともにエンドユーザシステム９０
７内に含まれた回路基板９０６上に実装されている。
【００５５】
システム９００は、コンピュータネットワーキング、データネットワーキング
、ビデオ処理、デジタル信号処理、またはプログラマブルあるいはリプログラマ
ブルロジックデバイスの利点を活用することが望まれる、広範な適用形態で使用
することができる。プログラマブルロジックデバイス１０は多様なロジック機能
を広範囲に実行するために使用することができる。例えば、プログラマブルロジ
ックデバイス１０はプロセッサ９０１と組合されて動作するプロセッサまたはコ
ントローラとして構成することができる。プログラマブルロジックデバイス１０
は、さらにシステム９００内の共有リソースへのアクセスを仲介するアービタと
して構成することもできる。さらに別の例として、プログラマブルロジックデバ
イス１０は、プロセッサ９０１とシステム９００内の他の構成要素との間のイン
タフェースとして構成することもできる。システム９００は１つの例であり、本
発明の範囲ならびに精神は請求の範囲によってのみ定義されることは勿論である
。
【００５６】
本発明に係るスキャンチェーンおよび／またはＤＳＰ／ＭＡＣブロックを含ん
だプログラマブルロジックデバイス１０を実施するために多様な技術を使用する
ことができる。さらに、本発明は一回のみプログラム可能なデバイスおよびリプ
ログラム可能なデバイスの両方に適用可能であることが理解される。
【００５７】
以上のように、マルチプライヤ回路がリソースの使用を低減するように構成さ
れている、マルチプライヤ回路を備えたプログラマブルロジックデバイスが提供
される。以上の記述は単に本発明の原理を説明したものであり、当業者において
は本発明の範囲および精神を逸脱することなく種々の設計変更をなし得ることは
勿論であり、本発明は請求項の記載によってのみ限定されるものである。
【図面の簡単な説明】
【００５８】
【図１】本発明に係るマルチプライヤを含んだプログラマブルロジックデバイスの各部分を示す概略構成図である。
【図２】図１のマルチプライヤへの入力としてのスキャンチェーンの使用を示す説明図である。
【図３】スキャンチェーンクロック制御構成を示す概略構成図である。
【図４】スキャンチェーン構成を示す概略構成図である。
【図５】マルチプライヤ積算器ブロックを示す概略構成図である。
【図６】ダイレクトフォームIIＦＩＲフィルタを示す概略構成図である。
【図７】ダイレクトフォームＩＦＩＲフィルタを示す概略構成図である。
【図８】複数チェーン化されたダイレクトフォームＩＦＩＲフィルタを示す概略構成図であり、それぞれ図７に示されたものを簡略化したものである。
【図９】ダイレクトフォームＩＦＩＲフィルタまたはダイレクトフォームIIＦＩＲフィルタのいずれかとして構成することが可能な本発明に係るＭＡＣブロックを示す概略構成図である。
【図１０】本発明に係るプログラマブルロジックデバイスを使用する説明的なシステムを示す概略ブロック線図である。
【符号の説明】
【００５９】
１０  プログラマブルロジックデバイス
１１  ロジック領域
１２相互接続コネクタ
１３，３０１，３０２，５１，５２，５３，５４，６１，６２，６３，６４，８
１，８２，８３，８４  マルチプライヤ
２０  スキャンチェーン
２１，２２，３１，３２，３４，３５，３７，３８，３９，３０３，３０４，３
０５，３０６，５０１，５０２，５０３，５０４，８１０，８２６  レジスタ
２３，３３，３６，３０９，６０７，８１９，８２０，８２４，８２５，８２７
，８２９  マルチプレクサ
３０  クロック信号
３０８  クロック
３１０  アース
３１１，３１３  データ線
３１２  スイッチ
４１，５７，５８，５９，６７，６８，６９，６００，８７，８８  加算器
５０，６０，８０  ＤＳＰ／ＭＡＣブロック
５５，６５  データ入力
５６，６６  係数入力
５００，８８０  出力
５０５  信号入力
６０５  出力
６０６，７１，８０１，８０２，８０３，８０４，８０５，８０６，８０７，８
０８，８１１，８２１，８３１，８４１，８２２，８３２，８４２  入力
７０  ブロック
９００  処理システム
９０１  プロセッサ
９０２  メモリ
９０３  Ｉ／Ｏ回路
９０４  周辺機器
９０５  システムバス
９０６  回路基板
【図１】
2006238487.tif 000003
【図２】
2006238487.tif 000004
【図３】
2006238487.tif 000005
【図４】
2006238487.tif 000006
【図５】
2006238487.tif 000007
【図６】
2006238487.tif 000008
【図７】
2006238487.tif 000009
【図８】
2006238487.tif 000010
【図９】
2006238487.tif 000011
【図１０】
2006238487.tif 000012