(57)【要約】【課題】周辺回路の構成を簡潔にし、部品数および製造コストを低減することが可能なフィールドプログラマブルゲートアレイを提供する。【解決手段】ＲＯＭ２０からコンフィグレーションデータのローディングを受け、ローディングされたこのコンフィグレーションデータに応じた論理回路を構築して実行するＦＰＧＡ１０において、ＦＰＧＡ１０への供給電力の電圧Ｖｃｃが、所定の動作閾値Ｖｔｈを超えているか否かをモニタするモニタ部１４と、モニタ部１４により電圧Ｖｃｃが動作閾値Ｖｔｈ以下になったこと受けてＲＯＭ２０からコンフィグレーションデータの新たなローディングを指示するローディング指示部１５とが構築されてなることを特徴とする。【選択図】        図１
2007194940.tif 000002
【特許請求の範囲】
【請求項１】
外部からコンフィグレーションデータのローディングを受け、ローディングされた該コンフィグレーションデータに応じた論理回路を構築して実行するフィールドプログラマブルゲートアレイにおいて、
このフィールドプログラマブルゲートアレイへの供給電力の電圧が、所定の動作閾値を超えているか否かをモニタするモニタ部と、
前記モニタ部により前記電圧が前記動作閾値以下になったこと受けて外部からのコンフィグレーションデータの新たなローディングを指示するローディング指示部とが構築されてなることを特徴とするフィールドプログラマブルゲートアレイ。
【請求項２】
前記モニタ部は、前記電圧が抵抗分割された分圧をモニタすることにより、前記電圧が前記動作閾値を超えているか否かをモニタするものであることを特徴とする請求項１記載のフィールドプログラマブルゲートアレイ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部からローディングされたコンフィグレーションデータに応じた論理回路を構築して実行するフィールドプログラマブルゲートアレイに関する。
【背景技術】
【０００２】
従来より、半導体装置の一つとして、外部からコンフィグレーションデータのローディングを受け、このローディングされたコンフィグレーションデータに応じた論理回路を構築して実行するフィールドプログラマブルゲートアレイ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ：ＦＰＧＡ）が知られている。ＦＰＧＡは、論理回路素子およびメモリを内蔵し、メモリにローディングされたコンフィグレーションデータに応じて論理素子を接続することにより論理回路を構築する。装置や基板にＦＰＧＡを使用することで、この装置や基板が組立てられた後で回路を構築することが可能となり、目的の回路のために半導体装置を製造したり、回路を変更するのにかかる負担が低減される。
【０００３】
図３は、従来技術におけるＦＰＧＡの電源の接続を示す図である。
【０００４】
図３に示すＦＰＧＡ５０１には、外部メモリからコンフィグレーションデータを内蔵メモリにローディングするためのコンフィグレーション回路が内蔵されており、ＦＰＧＡへの供給電力の電圧である電源電圧Ｖｃｃと同じ電圧の信号がコンフィグ端子に供給されるとローディングが開始する。内蔵メモリのコンフィグレーションデータは、ＦＰＧＡへの電力供給が停止すると消失するが、コンフィグ端子に電源電圧Ｖｃｃと同じ電圧の信号が供給されることで、電源投入の度にローディングが行われるので、ＦＰＧＡはコンフィグレーションデータに応じた論理回路を再度構築することができる。
【０００５】
ところで、ＦＰＧＡが搭載される基板や装置においては、電源から供給される電力が停止に至らなくとも、電圧が異常に低下する場合がある。この場合、内蔵メモリに記憶されたコンフィグレーションデータが破壊されてもローディングは行われないため、論理回路の機能が損なわれたままとなる。このような事態を防止するため、図４に示すように、ＦＰＧＡ６０１の外部に、電源電圧の異常を判別可能な電源監視機能付リセットＩＣ６０２を設け、電源監視機能付リセットＩＣの判定結果を表わす信号をＦＰＧＡコンフィグ端子に入力する回路が知られている（例えば、特許文献１参照。）。この回路構成によれば、電源電圧に異常が発生した場合にも論理回路が再構築される。
【特許文献１】特開２００２−１７６３５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、図４に示す回路構成では、ＦＰＧＡ周辺の回路構成が複雑となり、装置の製造コストも増加する。
【０００７】
本発明は、上記事情に鑑み、周辺回路の構成を簡潔にし、部品数および製造コストを低減することが可能なフィールドプログラマブルゲートアレイを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成する本発明のフィールドプログラマブルゲートアレイは、外部からコンフィグレーションデータのローディングを受け、ローディングされたこのコンフィグレーションデータに応じた論理回路を構築して実行するフィールドプログラマブルゲートアレイであって、
このフィールドプログラマブルゲートアレイへの供給電力の電圧が、所定の動作閾値を超えているか否かをモニタするモニタ部と、
上記モニタ部により上記電圧が上記動作閾値以下になったこと受けて外部からのコンフィグレーションデータの新たなローディングを指示するローディング指示部とが構築されてなることを特徴とする。
【０００９】
本発明によれば、コンフィグレーションデータに応じた論理回路を構築したフィールドプログラマブルゲートアレイ自身が、供給電力の電圧が動作閾値以下になったこと受けてコンフィグレーションデータの新たなローディングを指示する。このため、フィールドプログラマブルゲートアレイとは別の電源監視機能付リセットＩＣまたは周辺回路素子を設けることなく、電圧異常に対応して論理回路の構築がなされる。したがって、周辺回路の構成が簡潔になり、部品数および製造コストが低減する。
【００１０】
ここで、上記本発明のフィールドプログラマブルゲートアレイにおいて、上記モニタ部は、上記電圧が抵抗分割された分圧をモニタすることにより、上記電圧が上記動作閾値を超えているか否かをモニタするものであることが好ましい。
【００１１】
モニタ部が抵抗分割された分圧をモニタすることにより、供給電力の電圧をモニタする機能のために必要な周辺部品は、分割抵抗だけで済む。したがって、周辺回路の構成がより簡潔になり、部品数および製造コストが低減する。
【発明の効果】
【００１２】
以上説明したように、本発明によれば、周辺回路の構成を簡潔にし、部品数および製造コストを低減するフィールドプログラマブルゲートアレイが実現する。
【発明を実施するための最良の形態】
【００１３】
以下図面を参照して本発明のフィールドプログラマブルゲートアレイの実施の形態を説明する。
【００１４】
図１は、本発明の一実施形態であるフィールドプログラマブルゲートアレイおよび周辺回路の構成を示す回路図である。
【００１５】
フィールドプログラマブルゲートアレイ１０（以下、ＦＰＧＡ１０と称する。）は、他の周辺回路素子とともに電気回路１を形成している。電気回路１は、ＦＰＧＡ１０の他に、ＦＰＧＡ１０の周辺回路素子として、ＲＯＭ２０、分割抵抗３０（３０ａ，３０ｂ）、およびプルアップ抵抗４０を備えている。電気回路１は、図示しない回路基板上に形成されるものであり、この回路基板は電気機器に搭載される。ＦＰＧＡ１０は、回路基板および電気機器に搭載される種々の部品とも接続されているが、これらの部品については図示を省略する。
【００１６】
ＦＰＧＡ１０は、電力の供給を受けて動作し、外部のＲＯＭ２０からローディングされたコンフィグレーションデータに応じた論理回路を構築して実行するものである。ＦＰＧＡ１０は、コンフィグレーション回路１１、ＲＡＭ１２、および論理構築部１３を備えている。ここで、電源からＦＰＧＡ１０に供給されるＦＰＧＡへの供給電力の電圧を電源電圧Ｖｃｃと称する。
【００１７】
コンフィグレーション回路１１は、ＦＰＧＡ１０の論理構築部１３から供給されるコンフィグレーション信号ＳｃｆｇがＬレベルからＨレベルに遷移すると、コンフィグレーションデータを外部から読出しＲＡＭ１２に書き込んでコンフィグレーションデータのローディングを行うものである。ＲＡＭ１２は、書き込まれたコンフィグレーションデータを保持する揮発性メモリであり、電力の供給が停止すると、ＲＡＭ１２に書き込まれたコンフィグレーションデータは消失する。論理構築部１３は、図示しない多数の論理素子を有しており、ＲＡＭ１２に書き込まれたデータ応じて論理素子が相互に接続されることで、コンフィグレーションデータに応じた論理回路を構築している。
【００１８】
ＲＯＭ２０は不揮発性メモリであり、コンフィグレーションデータが記憶されている。コンフィグレーションデータは、回路設計作業により作成された、論理回路を表わすデータが、論理合成ツール等により変換されることで生成されたものである。
【００１９】
分割抵抗３０は、直列接続された抵抗３０ａと抵抗３０ｂからなり、ＦＰＧＡ１０に供給される電源電圧Ｖｃｃを抵抗分割した分圧の信号ＳｓｅｎｃｅをＦＰＧＡ１０に供給している。
【００２０】
図１に示す電気回路１において、ＦＰＧＡ１０のコンフィグレーション回路１１には、プルアップ抵抗４０を介して電源電圧Ｖｃｃが供給されており、ＲＡＭ１２には、コンフィグレーション回路１１によって、ＲＯＭ２０に記憶されていたコンフィグレーションデータがローディングされている。したがって、ＦＰＧＡ１０の論理構築部１３では、コンフィグレーションデータに応じた論理回路が構築されている。
【００２１】
ここで、論理構築部１３で構築される論理回路には、ＦＰＧＡ１０の本来の機能として、図示されない各種部品の動作を制御する機能回路１６の他に、モニタ部１４およびローディング指示部１５が含まれている。
【００２２】
モニタ部１４は、ＦＰＧＡ１０に供給される電力の電圧である電源電圧Ｖｃｃが、所定の動作閾値を超えているか否かをモニタするものである。モニタ部１４は、より具体的には、電源電圧Ｖｃｃが分割抵抗３０により抵抗分割された分圧の信号Ｓｓｅｎｃｅが、モニタ部１４として構築されている論理回路における、入力信号に対するＬｏｗレベルの認識電圧を超えているか否かをモニタする。動作閾値は、本実施形態においては、ＲＡＭ１２に書き込まれたコンフィグレーションデータが消失することのない最低の電圧値である。つまり、ＦＰＧＡ１０に供給される電源電圧Ｖｃｃが動作閾値以下になると、ＲＡＭ１２に書き込まれたコンフィグレーションデータが消失する可能性が生じる。ここで、分割抵抗３０は、電源電圧ＶｃｃがＦＰＧＡ１０における動作閾値となるときに、信号Ｓｓｅｎｃｅの電圧値が、論理構築部１３に備えられている論理素子のＬｏｗレベルの認識電圧、すなわち、この電圧以下の電圧が入力された場合にポートがＬｏｗレベルと認識される電圧となるように設定されている。ＦＰＧＡ１０における動作閾値をＶｔｈとし、論理構築部１３に備えられている論理素子のコンフィグレーション端子の入力電圧をＶｉとし、この端子のＬｏｗレベルの認識電圧（この電圧以下の電圧が入力された場合にポートがＬｏｗレベルと認識される）をＶｉＬとする。分割抵抗３０を構成する抵抗３０ａ，３０ｂの抵抗値をそれぞれＲ１，Ｒ２とすると、抵抗値Ｒ１，Ｒ２は、次の式（１）の関係を満たすように設定されている。
【００２３】
Ｒ１  ／  Ｒ２  ＝  （Ｖｔｈ  ／  ＶｉＬ）  ―  １    （１）
例えば、電源電圧Ｖｃｃの電圧値が徐々に低下してＦＰＧＡ１０における動作閾値Ｖｔｈ以下となるとき、分割抵抗３０で抵抗分割された分圧の信号Ｓｓｅｎｃｅの電圧値Ｖｉは、論理構築部１３に備えられている論理素子のＬｏｗレベルの認識電圧ＶｉＬ以下となり、論理素子は、Ｈレベルと判別していた信号Ｓｓｅｎｃｅを、Ｌレベルとして判別するようになる。このようにして、論理構築部１３に論理回路として構築されているモニタ部１４は、電源電圧Ｖｃｃが動作閾値Ｖｔｈを超えているか否かを正確にモニタすることができる。
【００２４】
ローディング指示部１５は、モニタ部１４によって電源電圧Ｖｃｃが動作閾値Ｖｔｈ以下になったと判定されたことを受けて、コンフィグレーション回路１１に対し、ＲＯＭ２０からのコンフィグレーションデータの新たなローディングを指示する。より具体的には、モニタ部１４によって信号ＳｓｅｎｃｅがＬレベルであると判定されると、ローディング指示部１５はコンフィグレーション信号ＳｃｆｇをＬレベルに駆動し、所定の時間経過後、Ｈレベルに駆動する。
【００２５】
図２は、図１に示す電気回路において、ＦＰＧＡに供給される電力の電圧Ｖｃｃが変動するのに伴う、各部の信号の変動およびコンフィグレーション回路の動作の一例を示すタイミングチャートである。
【００２６】
図２において、時刻ｔ１以前は、電源電圧Ｖｃｃが供給されていない状態である。この状態で、ＲＡＭ１２の内容は全て消失している。また、ＦＰＧＡ１０の信号端子は全て入力方向、すなわち高インピーダンス状態に設定されている。
【００２７】
時刻ｔ１で、電源電圧Ｖｃｃが供給されると、これに応じて分割抵抗３０による分圧の信号Ｓｓｅｎｃｅの電圧も上昇する。コンフィグレーション信号Ｓｃｆｇの電圧については、論理構築部１３における端子が高インピーダンス状態であるので、プルアップ抵抗４０によって電源電圧Ｖｃｃに上昇する。コンフィグレーション信号ＳｃｆｇがＬレベルからＨレベルに遷移することで、コンフィグレーション回路１１がコンフィグレーションデータのローディングを行う（”ＬＯＡＤ”状態）。ローディングが終了すると、ＦＰＧＡ１０の論理構築部１３では、コンフィグレーションデータに応じた論理回路が構築されて実行される。
【００２８】
時刻ｔ２において、電源異常等により電源電圧Ｖｃｃが僅かに低下した場合、電源電圧Ｖｃｃが動作閾値Ｖｔｈ以下とならないときには、ＲＡＭ１２に書き込まれたコンフィグレーションデータは消失しない。しかし、時刻ｔ３において、電源電圧Ｖｃｃがさらに低下し、電圧Ｖｃｃの値が動作閾値Ｖｔｈ以下になると、ＲＡＭ１２に書き込まれたコンフィグレーションデータは消失し、論理回路が破壊されている可能性がある。このとき、分割抵抗３０による分圧の信号Ｓｓｅｎｃｅが低下してＬｏｗレベルの認識電圧ＶｉＬ以下となるので、モニタ部１４が、入力信号ＳｓｅｎｃｅがＨレベルからＬレベルに遷移したと判定する。つまり、モニタ部１４は、ＦＰＧＡ１０への供給電力の電圧Ｖｃｃが動作閾値Ｖｔｈ以下となったことを検知する。これにより、ローディング指示部１５が、コンフィグレーション信号ＳｃｆｇをＬレベルに駆動し、所定の時間経過後である時刻ｔ４で、Ｈレベルに駆動する。この結果、コンフィグレーション回路１１がＲＯＭ２０からコンフィグレーションデータのローディングを再び行う（”ＬＯＡＤ”状態）。ローディングが終了すると、ＦＰＧＡ１０の論理構築部１３では、コンフィグレーションデータに応じた論理回路として、モニタ部１４、ローディング指示部１５、および機能回路１６が再び構築される。
【００２９】
本実施形態によれば、コンフィグレーションデータに応じた論理回路を構築したＦＰＧＡ１０自身が、供給電力の電圧Ｖｃｃが動作閾値Ｖｔｈ以下になったこと受けて、コンフィグレーション回路１１に対し、コンフィグレーションデータの新たなローディングを指示する。したがって、電気回路１に、ＦＰＧＡ１０とは別の電源監視機能付リセットＩＣや周辺回路素子を設ける必要がない。よって、ＦＰＧＡ１０の周辺回路の構成が簡潔になり、電気回路１の部品数および製造コストが低減する。
【００３０】
また、モニタ部１４が抵抗分割された分圧Ｓｓｅｎｃｅをモニタすることにより、供給電力の電圧Ｖｃｃをモニタする機能のために必要なＦＰＧＡ１０の周辺素子は、分割抵抗３０のみとなる。したがって、ＦＰＧＡ１０の周辺回路の構成が簡潔になり、電気回路１の部品数および製造コストが低減する。
【００３１】
なお、本実施形態では、モニタ部１４が、分割抵抗３０により抵抗分割された分圧の信号Ｓｓｅｎｃｅの電圧をモニタするものとして説明したが、本発明はこれに限るものではなく、フィールドプログラマブルゲートアレイへの供給電力の電圧を、例えば、他の部品から出力される信号といった別の信号に基づいてモニタするものであってもよい。ただし、モニタのための適切な信号が得られない場合に、抵抗分割による信号Ｓｓｅｎｃｅの電圧をモニタすることで、必要な周辺部品が分割抵抗だけで済む。
【００３２】
また、本実施形態では、モニタ部１４のモニタにおける動作閾値Ｖｔｈを、ＲＡＭ１２に書き込まれたコンフィグレーションデータが消失することのない最低の電圧値であるとして説明したが、本発明はこれに限るものではない。本発明の所定の動作閾値としては、例えば、上述の最低の電圧に対して、確実性を付与したり、製品ごとのばらつきを吸収するためのマージンが付加された電圧値を採用してもよい。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施形態であるフィールドプログラマブルゲートアレイおよび周辺回路の構成を示す回路図である。
【図２】図１に示す電気回路において、ＦＰＧＡに供給される電力の電圧Ｖｃｃが変動するのに伴う、各部の信号の変動およびコンフィグレーション回路の動作の一例を示すタイミングチャートである。
【図３】従来技術におけるＦＰＧＡの電源の接続を示す図である。
【図４】別の従来技術におけるＦＰＧＡの電源の接続を示す図である。
【符号の説明】
【００３４】
１    電気回路
１０    ＦＰＧＡ（フィールドプログラマブルゲートアレイ）
１１    コンフィグレーション回路
１３    論理構築部
１４    モニタ部
１５    指示部
１６    機能回路
３０（３０ａ，３０ｂ）    分割抵抗
４０    プルアップ抵抗
【図１】
2007194940.tif 000003
【図２】
2007194940.tif 000004
【図３】
2007194940.tif 000005
【図４】
2007194940.tif 000006