(57)【要約】【課題】電源が遮断されても機能を維持可能なＰＬＤを提供する。【解決手段】リコンフィギュアラブル回路１０は、その回路形態がコンフィギュレーションデータＣＯＮＦに応じて設定される。コンフィギュレーションメモリ２０は、リコンフィギュアラブル回路１０と付随して設けられ、リコンフィギュアラブル回路１０のコンフィギュレーションを設定するコンフィギュレーションデータＣＯＮＦを保持する。コンフィギュレーションメモリ２０は、コンフィギュレーションデータＣＯＮＦの各データを保持する複数のメモリセルを含む。各メモリセルは、フリップフロップＦＦと、対応するフリップフロップの状態を保持する不揮発性メモリＭｎｖを含む。複数のメモリセルのフリップフロップは、デイジーチェインを構成するように直列に接続され、コンフィギュレーションデータＣＯＮＦが、当該デイジーチェインを経由してロード可能に構成されている。【選択図】図１
2010166255.tif 000002
【特許請求の範囲】
【請求項１】
その回路形態がコンフィギュレーションデータに応じて設定されるリコンフィギュアラブル回路と、
前記リコンフィギュアラブル回路と付随して設けられ、前記リコンフィギュアラブル回路のコンフィギュレーションを設定するコンフィギュレーションデータを保持するためのコンフィギュレーションメモリと、
を備え、
前記コンフィギュレーションメモリは、前記コンフィギュレーションデータの各データを保持する複数のメモリセルを含み、各メモリセルは、
フリップフロップと、
対応する前記フリップフロップの状態を保持する不揮発性メモリと、
を含み、
前記複数のメモリセルの前記フリップフロップは、デイジーチェインを構成するように直列に接続され、前記コンフィギュレーションデータが、当該デイジーチェインを経由してロード可能に構成されていることを特徴とするプログラマブルロジックデバイス。
【請求項２】
入力信号に対し、設定されたコンフィギュレーションに応じた信号処理を施す請求項１に記載のプログラマブルロジックデバイスと、
前記入力信号に対して施すべき複数の種類の信号処理のそれぞれに応じた前記プログラマブルロジックデバイスのための複数のコンフィギュレーションデータを保持するメモリと、
前記メモリから、前記入力信号に施すべき信号処理に対応したコンフィギュレーションデータを選択し、前記プログラマブルロジックデバイスにロードする展開部と、
を備えることを特徴とする信号処理回路。
【請求項３】
前記プログラマブルロジックデバイスにロードされているコンフィギュレーションデータを特定するデータを保持する第２の不揮発性メモリをさらに備え、
前記展開部は、前記入力信号に対して施すべき信号処理の種類が、前記第２の不揮発性メモリに保持されたデータに対応する信号処理の種類と一致しないとき、前記入力信号に対して施すべき信号処理の種類に対応したコンフィギュレーションデータをロードすることを特徴とする請求項２に記載の信号処理回路。
【請求項４】
前記入力信号は、所定のフォーマットでエンコードされたデジタル信号であり、
前記メモリは、想定される複数のフォーマットそれぞれに対応する、前記プログラマブルロジックデバイスのコンフィギュレーションデータを保持しており、
前記プログラマブルロジックデバイスは、ロードされたコンフィギュレーションに応じたデコード処理を前記入力信号に対して施すことを特徴とする請求項２または３に記載の信号処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックデバイスに関する。
【背景技術】
【０００２】
その機能を、半導体チップの製造者ではなく、ユーザによって自由に設計、変更可能なデバイスとして、プログラマブルロジックデバイス（以下、ＰＬＤと称す）が知られている。ＰＬＤは、回路の設定（コンフィギュレーション）を再設定することで、設計変更や修正が可能であるため、設計コストを低減することができる。
【０００３】
ＰＬＤの代表として、ＦＰＧＡ（Field Programmable Gate Array）が広く利用される。ＦＰＧＡは、ユーザが独自の論理回路を設計できるゲートアレイであり、任意の論理を構成可能な多入力の組み合わせ回路および順序回路からなる論理ブロックが、マトリクス状に配置されている。各論理ブロック間の結線態様は、スイッチによって自由に変更可能となっている。
【０００４】
ＰＬＤに所望の機能を実行させるためには、ＰＬＤに設けられた複数のメモリセルに対して、コンフィギュレーションデータをロードする必要がある。ＰＬＤ内の論理ブロックの機能および結線態様は、ロードされたコンフィギュレーションデータに応じて設定される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−３０９４５９号公報
【特許文献２】特開平７−２４４１２０号公報
【特許文献３】特表２００５−５３５１７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のＰＬＤは、外部に設けられたホストプロセッサやフラッシュ、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）などからコンフィギュレーションデータを受け、それをメモリセルに格納する構成となっている。メモリセルは、揮発性メモリであるため、ＰＬＤの電源が遮断されると、コンフィギュレーションデータが消失する。そのため、従来では、電源が投入される度に、コンフィギュレーションデータをメモリセルにロードする必要があった。
【０００７】
本発明は係る課題に鑑みてなされたものであり、そのある態様の目的のひとつは、電源が遮断されても機能を維持可能なＰＬＤの提供にある。
【課題を解決するための手段】
【０００８】
本発明のある態様は、プログラマブルロジックデバイスに関する。プログラマブルロジックデバイスは、その回路形態がコンフィギュレーションデータに応じて設定されるリコンフィギュアラブル回路と、リコンフィギュアラブル回路と付随して設けられ、リコンフィギュアラブル回路のコンフィギュレーションを設定するコンフィギュレーションデータを保持するためのコンフィギュレーションメモリと、を備える。コンフィギュレーションメモリは、コンフィギュレーションデータの各データを保持する複数のメモリセルを含み、各メモリセルは、フリップフロップと、対応するフリップフロップの状態を保持する不揮発性メモリと、を含む。複数のメモリセルのフリップフロップは、デイジーチェインを構成するように直列に接続され、コンフィギュレーションデータが、当該デイジーチェインを経由してロード可能に構成されている。
【０００９】
この態様によると、電源が遮断された場合であっても、不揮発性メモリによってコンフィギュレーションデータを保持することができるため、再度電源が投入された際に、コンフィギュレーションデータを再ロードする必要がなくなる。またフリップフロップを直列に接続することにより、いわゆるバウンダリスキャンの際のデータ伝送と同様に、すべてのフリップフロップにデータをロードすることができる。
【００１０】
本発明の別の態様は、信号処理回路である。この信号処理回路は、入力信号に対し、設定されたコンフィギュレーションに応じた信号処理を施す上述のプログラマブルロジックデバイスと、入力信号に対して施すべき複数の種類の信号処理のそれぞれに応じたプログラマブルロジックデバイスのための複数のコンフィギュレーションデータを保持するメモリと、メモリから、入力信号に施すべき信号処理に対応したコンフィギュレーションデータを選択し、プログラマブルロジックデバイスにロードする展開部と、を備える。
【００１１】
ある態様の信号処理回路は、プログラマブルロジックデバイスにロードされているコンフィギュレーションデータを特定するデータを保持する第２の不揮発性メモリをさらに備えてもよい。展開部は、入力信号に対して施すべき信号処理の種類が、第２の不揮発性メモリに保持されたデータに対応する信号処理の種類と一致しないとき、入力信号に対して施すべき信号処理の種類に対応したコンフィギュレーションデータをロードしてもよい。
【００１２】
入力信号は、所定のフォーマットでエンコードされたデジタル信号であってもよい。メモリは、想定される複数のフォーマットそれぞれに対応する、プログラマブルロジックデバイスのコンフィギュレーションデータを保持してもよい。プログラマブルロジックデバイスは、ロードされたコンフィギュレーションに応じたデコード処理を入力信号に対して施してもよい。
【００１３】
なお、以上の構成要素の任意の組み合わせや本発明の構成要素や表現を、方法、装置、システムなどの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１４】
本発明に係るＰＬＤによれば、電源が遮断されても機能を維持できる。
【図面の簡単な説明】
【００１５】
【図１】図１（ａ）〜（ｃ）は、本発明の実施の形態に係るＰＬＤの構成を示すブロック図である。
【図２】図１のＰＬＤを用いた信号処理回路の構成を示すブロック図である。
【図３】図２の信号処理回路の動作を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
【００１７】
本明細書において、「部材Ａが、部材Ｂと接続された状態」とは、部材Ａと部材Ｂが物理的に直接的に接続される場合のほか、部材Ａと部材Ｂが、電気的な接続状態に影響を及ぼさない他の部材を介して間接的に接続される場合も含む。
同様に、「部材Ｃが、部材Ａと部材Ｂの間に設けられた状態」とは、部材Ａと部材Ｃ、あるいは部材Ｂと部材Ｃが直接的に接続される場合のほか、電気的な接続状態に影響を及ぼさない他の部材を介して間接的に接続される場合も含む。
【００１８】
図１（ａ）〜（ｃ）は、本発明の実施の形態に係るＰＬＤ１００の構成を示すブロック図である。図１（ａ）は、ＰＬＤ１００の全体構成を示す。ＰＬＤ１００は、リコンフィギュアラブル回路１０と、リコンフィギュアラブル回路１０と付随して設けられたコンフィギュレーションメモリ２０を備える。
【００１９】
リコンフィギュアラブル回路１０は、ブロックエレメントＢＥを単位として構成されており、各ブロックエレメントＢＥ１〜ＢＥｎの機能（演算内容）が、付随するコンフィギュレーションメモリＣＭ１〜ＣＭｎに格納されるコンフィギュレーションデータＣＯＮＦに応じて設定可能となっている。また、各ブロックエレメントＢＥ間の結線態様も、図示しないマトリクススイッチなどによって任意に切りかえ可能となっており、これらのスイッチの接続状態も、図示しないコンフィギュレーションメモリに格納されている。
【００２０】
ユーザは、所望の機能に応じたコンフィギュレーションデータＣＯＮＦを設計ツールなどを用いて生成し、コンフィギュレーションメモリ２０に書き込むことで、ＰＬＤ１００に、必要な機能を実行させることができる。
【００２１】
図１（ｂ）は、ブロックエレメントＢＥの構成の一例を示す回路図である。ブロックエレメントＢＥは、３入力１出力の演算ユニットである。ブロックエレメントＢＥは、４つのセレクタＳＥＬ１〜ＳＥＬ４と、論理演算装置（ＡＬＵ：Arithmetic Logic Unit）を備える。また、このブロックエレメントＢＥには、セレクタＳＥＬ１〜ＳＥＬ４ごとにメモリセルＭ１〜Ｍ４が設けられている。セレクタＳＥＬ１〜ＳＥＬ４は、３入力Ａ〜Ｃのうち、任意の２つを選択するマトリクススイッチである。論理演算装置ＡＬＵは、マトリクススイッチによって選択された２つの信号に対して、所定の演算を施す。たとえば論理演算装置ＡＬＵが乗算を行う場合、ブロックエレメントＢＥは、メモリセルＭ１〜Ｍ４に格納されたコンフィギュレーションデータに応じて、６通りの演算（Ａ×Ｂ、Ｂ×Ｃ、Ｃ×Ａ、Ａ×Ａ、Ｂ×Ｂ、Ｃ×Ｃ）のいずれかを実行することができる。メモリセルＭ１〜Ｍ４は、図１（ａ）のコンフィギュレーションメモリＣＭに対応する。なおブロックエレメントＢＥの構成は例示であり、本発明はこれに限定されない。
【００２２】
図１（ｃ）に示すように、各メモリセルＭ１〜Ｍ４は、フリップフロップＦＦと、対応するフリップフロップＦＦの状態（値）を保持する不揮発性メモリＭｎｖを備える。不揮発性メモリＭｎｖによって、回路の電源が遮断された場合においても、ブロックエレメントの機能が維持される。
【００２３】
図１（ｃ）に示すように、複数のメモリセルＭ１〜Ｍ４のフリップフロップＦＦは、デイジーチェインを構成するように直列に接続されている。あるブロックエレメントＢＥに付随するコンフィギュレーションメモリＣＭは、別のブロックエレメントＢＥに付随するコンフィギュレーションメモリＣＭと直列に接続されている。ＰＬＤ１００の内部のすべてのコンフィギュレーションメモリＣＭ内のメモリセルは、ひとつの、あるいは複数のデイジーチェインを形成している。
【００２４】
このＰＬＤ１００において、コンフィギュレーションデータＣＯＮＦは、デイジーチェインを経由して、すべてのフリップフロップＦＦにロード可能となっている。
【００２５】
以上がＰＬＤ１００の構成である。図１のＰＬＤ１００によれば、電源が遮断された場合であっても、不揮発性メモリＭｎｖによってコンフィギュレーションデータＣＯＮＦを保持することができるため、再度電源が投入された際に、コンフィギュレーションデータＣＯＮＦを再ロードする必要がなくなる。またコンフィギュレーションデータを保持するフリップフロップＦＦを直列に接続することにより、いわゆるバウンダリスキャンの際のデータ伝送と同様にして、すべてのフリップフロップにコンフィギュレーションデータをロードすることができる。
【００２６】
このＰＬＤ１００は、以下の２通りの方法で使用することができる。
（第１の利用方法）
ＰＬＤ１００を利用する設計者は、ＰＬＤ１００の最終出荷工程において、所望の機能に応じたコンフィギュレーションデータＣＯＮＦをコンフィギュレーションメモリ２０のデイジーチェインに対してロードする。それによってＰＬＤ１００は出荷後において、恒久的に所望の機能を実行するデバイスとして動作する。つまり、ＰＬＤ１００の機能は、出荷前に一度だけ書き込まれ、その後変更されることはない。
【００２７】
（第２の利用方法）
ＰＬＤ１００を利用する設計者は、ＰＬＤ１００を搭載する機器や製品に必要な機能、動作に応じて、コンフィギュレーションデータＣＯＮＦを適用的に変化させる。つまり、ＰＬＤ１００が製品に実装された状態において、必要な機能に応じたコンフィギュレーションデータＣＯＮＦをその都度、コンフィギュレーションメモリ２０に対してロードする。第２の利用方法の詳細な実施の形態を以下で説明する。
【００２８】
図２は、図１のＰＬＤ１００を用いた信号処理回路２００の構成を示すブロック図である。信号処理回路２００は、入力信号ＳＩＮに所定の信号処理を施し、出力信号ＳＯＵＴとして出力する。本実施の形態において、信号処理回路２００はデジタルエンコードされたオーディオ信号ＳＩＮをデコードするデコーダである。入力信号ＳＩＮは、複数種類のフォーマットのいずれかでエンコードされている。本実施の形態では、入力信号ＳＩＮは、ＭＰ３（MPEG Audio Layer-3）、ＡＡＣ（Advanced Audio Coding）、ＷＭＡ（Windows Media Audio：登録商標）のいずれかのフォーマットでエンコードされているものとする。
【００２９】
信号処理回路２００は、図１のＰＬＤ１００に加えて、ＲＯＭ（Read Only Memory）３０、展開部３２（セレクタ３２ａ、ローダ３２ｂ）、ログメモリ３６、オーディオフォーマット検出部４０、入力バッファ４２を備える。
【００３０】
入力バッファ４２は入力信号ＳＩＮを一時的に格納する。ＰＬＤ１００は入力バッファ４２に格納された入力信号ＳＩＮに対し、設定されたコンフィギュレーションＣＯＮＦ［ｉ］に応じた信号処理を施す。
【００３１】
ＲＯＭ３０は、入力信号ＳＩＮに対して施すべき複数の種類の信号処理のそれぞれに応じた複数のコンフィギュレーションデータＣＯＮＦ［１］〜ＣＯＮＦ［３］を保持する。オーディオフォーマット検出部４０は入力信号ＳＩＮを受け、そのエンコードフォーマットを判定する。オーディオフォーマット検出部４０は、検出したフォーマットを示すデータ（フォーマットデータ）Ｄ１を、展開部３２へと出力する。展開部３２は、入力信号ＳＩＮに施すべき信号処理に対応したコンフィギュレーションデータＣＯＮＦ１〜ＣＯＮＦ３のうちのひとつを選択し、ＰＬＤ１００にロードする。
【００３２】
展開部３２は、セレクタ３２ａ、ローダ３２ｂを含む。セレクタ３２ａは、コンフィギュレーションデータＣＯＮＦ［１］〜ＣＯＮＦ［３］のうち、フォーマットデータＤ１に応じたひとつＣＯＮＦ［ｉ］（ｉ＝１，２，３）を選択し、ローダ３２ｂがアクセス可能な状態とする。つまりセレクタ３２ａはアドレスデコーダとして把握できる。ローダ３２ｂは、セレクタ３２ａによって選択されたコンフィギュレーションデータＣＯＮＦをＰＬＤ１００のコンフィギュレーションメモリ２０に対してロードする。ロード処理は、コンフィギュレーションデータＣＯＮＦをデイジーチェインを形成するフリップフロップＦＦに対してシリアル形式で流し込むことにより実行される。
【００３３】
ログメモリ３６は、不揮発性メモリであり、ＰＬＤ１００にロードされているコンフィギュレーションデータＣＯＮＦ［ｉ］を特定するデータ（最終ログデータ）Ｄ２を保持する。ローダ３２ｂは、ＰＬＤ１００に対してコンフィギュレーションデータＣＯＮＦ［ｉ］をロードするたびに、ロードしたコンフィギュレーションデータを示すデータ、つまり“変数ｉ”と関連づけられたデータを、最終ログデータＤ２としてログメモリ３６に書き込む。
【００３４】
展開部３２は、現在の入力信号ＳＩＮに対して施すべき信号処理の種類（本実施の形態ではエンコード／デコードのフォーマット）が、ログメモリ３６に保持された最終ログデータＤ２に対応する信号処理の種類と一致しないとき、入力信号ＳＩＮに対して施すべき信号処理の種類に対応したコンフィギュレーションデータＣＯＮＦ［ｉ］をＰＬＤ１００に対してロードする。言い換えれば、フォーマットデータＤ１が最終ログデータＤ２と一致しない場合にコンフィギュレーションデータＣＯＮＦをロードし、一致する場合にはロードしない。
【００３５】
以上が信号処理回路２００の構成である。続いてその動作を説明する。上述したように、信号処理回路２００は、信号処理回路２００の電源がオフ状態においてもコンフィギュレーションメモリ２０に前回電源を遮断した際のコンフィギュレーションデータＣＯＮＦを不揮発的に保持することができる。
【００３６】
図３は、図２の信号処理回路２００の動作を示すフローチャートである。
ユーザが信号処理回路２００の電源を投入する（Ｓ１００）。そうすると、ＰＬＤ１００は、コンフィギュレーションメモリ（不揮発性メモリ）２０に格納されているコンフィギュレーションＣＯＮＦに応じた信号処理を可能な状態、つまり前回の電源遮断時の入力信号ＳＩＮのフォーマットをデコード可能な状態に直ちに遷移する。この遷移時間は、コンフィギュレーションデータＣＯＮＦのデータの再ロードを要しないため非常に短い。
【００３７】
続いてオーディオフォーマット検出部４０は、入力信号ＳＩＮのフォーマットを判定し、フォーマットデータＤ１を生成する（Ｓ１０２）。
【００３８】
展開部３２は、現在の入力信号ＳＩＮのフォーマット（Ｄ１）を、ログメモリ３６に格納された最終ログデータＤ２と比較し、一致・不一致を判定する（Ｓ１０４）。
【００３９】
一致しない場合（Ｓ１０４のＮＯ）、展開部３２は判定したフォーマットに対応するコンフィギュレーションデータＣＯＮＦ［ｉ］をＰＬＤ１００のコンフィギュレーションメモリ２０にロードする（Ｓ１０６）。続いてロードしたコンフィギュレーションデータＣＯＮＦを示す最終ログデータＤ２をログメモリ３６に書き込む。そして入力信号ＳＩＮのデコード処理を開始する（Ｓ１１０）。
【００４０】
もし、ステップＳ１０４において、一致した場合（Ｓ１０４のＹＥＳ）、ＰＬＤ１００は直ちに入力信号ＳＩＮのデコード処理を開始する（Ｓ１１０）。
【００４１】
信号処理回路２００は、電源がシャットダウンされない限り（Ｓ１１２のＮＯ）、一連のシーケンスを繰り返し実行する。電源がシャットダウンされると（Ｓ１１２のＹＥＳ）、シーケンスは終了する。
【００４２】
以上が信号処理回路２００の動作である。信号処理回路２００によれば、単一のＰＬＤ１００に対して異なるコンフィギュレーションデータをロードすることにより、様々なフォーマットの入力信号ＳＩＮをデコードすることができる。またＲＯＭ３０に格納するコンフィギュレーションデータの種類を増やすことで、将来のフォーマットの拡張・変更にも柔軟に対応することができる。
【００４３】
さらに、信号処理回路２００によれば、前回の電源オフ時の入力信号ＳＩＮのフォーマットと、今回の電源投入時の入力信号ＳＩＮのフォーマットが一致する場合には、コンフィギュレーションデータＣＯＮＦを再ロードする必要がないため、ただちにデコード処理を開始することができる。
【００４４】
以上、本発明について、実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、こうした変形例について説明する。
【００４５】
図２の信号処理回路２００は、オーディオ信号のデコーダであったが、本発明はそれに限定されず、デコーダであってもよいし、処理対象は画像信号であってもよい。
あるいは信号処理回路２００は、通信用の変調器、フィルタ、復調器などであってもよい。この場合、通信方式や信号の周波数帯域に応じて、ＰＬＤ１００にロードするコンフィギュレーションデータＣＯＮＦを変更してもよい。
【００４６】
実施の形態にもとづき、特定の語句を用いて本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が可能である。
【符号の説明】
【００４７】
１００…ＰＬＤ、１０…リコンフィギュアラブル回路、２０…コンフィギュレーションメモリ、Ｍ１…メモリセル、Ｍｎｖ…不揮発性メモリ、ＢＥ…ブロックエレメント、３０…ＲＯＭ、３２…展開部、３２ａ…セレクタ、３２ｂ…ローダ、３６…ログメモリ、４０…オーディオフォーマット検出部、４２…入力バッファ、２００…信号処理回路。
【図１】
2010166255.tif 000003
【図２】
2010166255.tif 000004
【図３】
2010166255.tif 000005