(57)【特許請求の範囲】
【請求項１】
プログラマブル・ゲートアレイと、前記プログラマブル・ゲートアレイに論理及び入出力特性を設定するためのプログラムを格納した不揮発性のメモリとを備えたプログラマブル・ゲートアレイ装置におけるプログラマブル・ゲートアレイのコンフィグレーション方法であって、
前記メモリに、当該プログラマブル・ゲートアレイおよびその周辺回路の環境要因の変動を補正するために異なる入出力特性を設定するための複数のプログラムを格納しておき、プログラマブル・ゲートアレイの実装された環境要因に応じて、前記複数のプログラムの中から１つを選択して前記プログラマブル・ゲートアレイにローディングする、
ことを特徴とするプログラマブル・ゲートアレイのコンフィグレーション方法。
【請求項２】
プログラマブル・ゲートアレイと、前記プログラマブル・ゲートアレイに論理及び入出力特性を設定するためのプログラムを格納した不揮発性のメモリとを備えたプログラマブル・ゲートアレイ装置であって、
前記メモリには、当該プログラマブル・ゲートアレイおよびその周辺回路の環境要因の変動を補正するために異なる入出力特性を設定するための複数のプログラムが格納され、
前記プログラマブル・ゲートアレイの実装された環境要因に応じて前記複数のプログラムの中から１つを選択するための選択信号を出力する選択手段が備えられ、
コンフィグレーションの実行時に、前記選択信号に応じて選択されたプログラムが前記プログラマブル・ゲートアレイにローディングされるよう構成されてなる、
ことを特徴とするプログラマブル・ゲートアレイ装置。
【請求項３】
前記選択手段は、前記環境要因として当該プログラマブル・ゲートアレイに供給される電圧を検出する電圧検出手段を備え、検出した電圧に応じて選択信号を出力する
請求項２記載のプログラマブル・ゲートアレイ装置。
【請求項４】
前記選択手段は、前記環境要因として温度を検出する温度検出手段を備え、検出した温度に応じて選択信号を出力する
請求項２又は請求項３記載のプログラマブル・ゲートアレイ装置。
【請求項５】
前記選択手段は、プロセッサからの選択指令信号をラッチするための不揮発性のラッチ手段を備え、前記ラッチ手段が前記選択指令信号に応じた選択信号を出力する
請求項２乃至請求項４のいずれかに記載のプログラマブル・ゲートアレイ装置。
【請求項６】
前記選択手段は、前記環境要因として当該プログラマブル・ゲートアレイに供給される電圧を検出する電圧検出手段と、前記環境要因として温度を検出する温度検出手段と、プロセッサからの選択指令信号をラッチするための不揮発性のラッチ手段と、検出された電圧及び温度並びに前記選択指令信号に少なくとも基づいて選択信号を出力する判断手段とを備えてなる
請求項２記載のプログラマブル・ゲートアレイ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラムによって論理及び入出力特性を設定することのできるプログラマブル・ゲートアレイのコンフィグレーション方法及びプログラマブル・ゲートアレイ装置に関する。
【０００２】
近年において、プログラマブル・ゲートアレイは、コンピュータ、又はプリンタ装置などの周辺機器に多く用いられてきている。プログラマブル・ゲートアレイを用いることによって、装置の性能の一層の向上とともに、回路の安定性と信頼性のさらなる向上が期待されている。
【０００３】
【従来の技術】
図４は従来のプログラマブル・ゲートアレイ装置８０の構成を示すブロック図である。
【０００４】
図４において、プログラマブル・ゲートアレイ装置８０は、プログラマブル・ゲートアレイ（以下「ＦＰＧＡ」という）８１、ＰＲＯＭ（プログラマブル・リード・オンリー・メモリ）８２、及びコンフィグ指令回路８３などから構成される。
【０００５】
ＰＲＯＭ８２には、ＦＰＧＡ８１に論理及び入出力特性を設定するためのプログラムが格納されている。ＦＰＧＡ８１の入出力特性は、ＦＰＧＡ８１に設定される論理回路の入力及び出力の各ピンに対して設定可能である。入出力特性として、入力のスレッシュホルドレベル値、出力の遅延時間、立ち上がり及び立ち下がり特性がある。。コンフィグ指令回路８３は、プログラマブル・ゲートアレイ装置８０に電源が投入されたことを検出してコンフィグ指令信号Ｓ１１をＦＰＧＡ８１に出力する。ＦＰＧＡ８１にコンフィグ指令信号Ｓ１１が入力されると、ＰＲＯＭ８２に格納されたプログラムがＦＰＧＡ８１にローディングされ、これによってコンフィグレーションが行われる。
【０００６】
【発明が解決しようとする課題】
従来のプログラマブル・ゲートアレイ装置８０では、ＦＰＧＡ８１に論理及び入出力特性を設定するためのプログラムが１種類のみである。つまり、ＰＲＯＭ８２には１種類のプログラムのみが格納されており、コンフィグレーションの実行時においてその唯一のプログラムがＦＰＧＡ８１にローディングされる。
【０００７】
したがって、プログラマブル・ゲートアレイ装置８０の論理回路及びその入出力特性は、ＰＲＯＭ８２に予め格納されたプログラムによって、電源の投入時に固定的に設定される。
【０００８】
しかし、ＦＰＧＡ８１及びその周辺回路の入出力特性は、その環境要因によって変動する。例えば、電源電圧が標準値よりも低下した場合には、入力のスレッシュホルドレベル値が低下する傾向にある。また、例えば電源電圧が標準値よりも増大した場合には、出力の立ち上がり時におけるオーバーシュートが増大する傾向にある。
【０００９】
通常、電源電圧の許容変動範囲内におけるこれらの特性の変化を見込んでプログラマブル・ゲートアレイ装置８０及びその周辺回路が設計されているため、通常の動作には問題がない。しかし、種々の環境要因が重なった場合に、それらによる入出力特性の変化が複雑に影響し合うので、回路が安定に動作するための余裕が少なくなることは否めない。
【００１０】
本発明は、上述の問題に鑑みてなされたもので、プログラマブル・ゲートアレイ装置における動作の安定性の向上を図り、信頼性の一層の向上を図ることのできるコンフィグレーション方法及びプログラマブル・ゲートアレイ装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
請求項１の発明に係る方法は、図１に示すように、プログラマブル・ゲートアレイ１１と、前記プログラマブル・ゲートアレイ１１に論理及び入出力特性を設定するためのプログラムを格納した不揮発性のメモリ１２とを備えたプログラマブル・ゲートアレイ装置１におけるプログラマブル・ゲートアレイのコンフィグレーション方法であって、前記メモリ１２に、当該プログラマブル・ゲートアレイ１１およびその周辺回路の環境要因の変動を補正するために異なる入出力特性を設定するための複数のプログラムＰＲ１，ＰＲ２を格納しておき、プログラマブル・ゲートアレイ１１の実装された環境要因に応じて、前記複数のプログラムＰＲ１，ＰＲ２の中から１つを選択して前記プログラマブル・ゲートアレイ１１にローディングする。
【００１２】
請求項２の発明に係る装置は、プログラマブル・ゲートアレイと、前記プログラマブル・ゲートアレイに論理及び入出力特性を設定するためのプログラムを格納した不揮発性のメモリとを備えたプログラマブル・ゲートアレイ装置であって、前記メモリには、当該プログラマブル・ゲートアレイ１１およびその周辺回路の環境要因の変動を補正するために異なる入出力特性を設定するための複数のプログラムが格納され、前記プログラマブル・ゲートアレイの実装された環境要因に応じて前記複数のプログラムの中から１つを選択するための選択信号を出力する選択手段が備えられ、コンフィグレーションの実行時に、前記選択信号に応じて選択されたプログラムが前記プログラマブル・ゲートアレイにローディングされるよう構成されてなる。
【００１３】
請求項３の発明に係る装置では、前記選択手段は、前記環境要因として当該プログラマブル・ゲートアレイに供給される電圧を検出する電圧検出手段を備え、検出した電圧に応じて選択信号を出力する。
【００１４】
請求項４の発明に係る装置では、前記選択手段は、前記環境要因として温度を検出する温度検出手段を備え、検出した温度に応じて選択信号を出力する。
請求項５の発明に係る装置では、前記選択手段は、プロセッサからの選択指令信号をラッチするための不揮発性のラッチ手段を備え、前記ラッチ手段が前記選択指令信号に応じた選択信号を出力する。
【００１５】
請求項６の発明に係る装置では、前記選択手段は、前記環境要因として当該プログラマブル・ゲートアレイに供給される電圧を検出する電圧検出手段と、前記環境要因として温度を検出する温度検出手段と、プロセッサからの選択指令信号をラッチするための不揮発性のラッチ手段と、検出された電圧及び温度並びに前記選択指令信号に少なくとも基づいて選択信号を出力する判断手段とを備えてなる。
【００１６】
プログラマブル・ゲートアレイには、ＦＰＧＡ（フィールド・プログラマブル・ゲートアレイ）、ＰＧＡ、ＣＰＬＤなどの種々の呼称のものが含まれる。不揮発性のメモリとして、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、電池でバックアップされたＲＡＭなどの半導体メモリ素子、又は磁気ディスク装置などが用いられる。１つのメモリ素子に領域を変えて複数のプログラムを格納してもよく、又はそれぞれ１つのプログラムを格納した複数のメモリ素子を用いてもよい。
【００１７】
選択手段は、メモリから同時に読み出された複数のプログラム（データを含む）を切り換えてプログラマブル・ゲートアレイに出力してもよく、又は、複数の素子のいずれかをイネーブルとするように切り換えてもよく、又は、１つ又は複数の素子に格納されたプログラムのうちの１つのプログラムを、メモリのアドレスを切り換えることによって出力するようにしてもよい。プログラマブル・ゲートアレイにプログラムをローディングするには、メモリから直接的に、又はプロセッサなどを介して間接的に行うことができる。
【００１８】
【発明の実施の形態】
図１は本発明に係るプログラマブル・ゲートアレイ装置１の構成を示すブロック図である。
【００１９】
図１において、プログラマブル・ゲートアレイ装置１は、ＦＰＧＡ１１、メモリ１２、コンフィグ指令回路１３、及び選択部１４から構成される。メモリ１２は２つのＰＲＯＭ１２ａ，１２ｂからなる。選択部１４は、マルチプレクサ２１及び選択指示部２２からなる。
【００２０】
２つのＰＲＯＭ１２ａ，１２ｂには、２種類のプログラムＰＲ１，ＰＲ２が格納されている。各プログラムＰＲ１，ＰＲ２は、ＦＰＧＡ１１の論理回路を決定するためのプログラムＰＲ１ｒ，ＰＲ２ｒ、及び入出力特性を決定するためのプログラムＰＲ１ｃ，ＰＲ２ｃから構成される。通常、論理回路を決定するためのプログラムＰＲ１ｒ，ＰＲ２ｒは互いに同一である。入出力特性を決定するためのプログラムＰＲ１ｃ，ＰＲ２ｃは、その一部又は全部が互いに異なる。ＦＰＧＡ１１の入出力特性は、ＦＰＧＡ１１に設定される論理回路の入力及び出力の各ピンに対して設定可能である。
【００２１】
すなわち、ＦＰＧＡ１１は、例えば１６０ｐｉｎ程度のピン数を有したＬＳＩであり、そのうちの例えば１２０ｐｉｎ程度が入出力用のピンである。これらの入出力用のピンについて、プログラムＰＲ１ｒ，ＰＲ２ｒによって、入出力の別及びそれらの間の配置及び配線を含む論理が決定され、プログラムＰＲ１ｃ，ＰＲ２ｃによって各ピンの入出力特性（ＡＣ特性、ＤＣ特性）が決定される。入出力特性として、入力のスレッシュホルドレベル値、出力の遅延時間、立ち上がり及び立ち下がり特性、出力のドライブ能力、Ｃ−ＭＯＳレベル又はＴＴＬレベルのいずれかなどを選択することができる。
【００２２】
コンフィグ指令回路１３は、プログラマブル・ゲートアレイ装置１に電源が投入されたことを検出してコンフィグ指令信号Ｓ１をＦＰＧＡ１１に出力する。ＦＰＧＡ１１にコンフィグ指令信号Ｓ１が入力されると、ＰＲＯＭ１２ａ，１２ｂに格納されたプログラムＰＲ１，ＰＲ２がクロック信号Ｓ８に同期して読み出され、選択部１４によって選択されたいずれかのプログラムがＦＰＧＡ１１にローディングされ、これによってコンフィグレーションが行われる。
【００２３】
なお、メモリ１２からＦＰＧＡ１１へのプログラム（データを含む）のローディングは、シリアル又はパラレルのいずれで行うことも可能である。ＦＰＧＡ１１は、ローディングされたプログラムを保持するが、電源の供給が停止されると消去されるもの又は電源の供給が停止されても保持可能なもののいずれであってもよい。
【００２４】
さて、選択部１４は、ＦＰＧＡ１１の実装された環境要因に応じて、２つのプログラムＰＲ１，ＰＲ２のうちのいずれか１つを選択する。選択指示部２２は、例えば、環境要因としてＦＰＧＡ１１に供給される電圧、ＦＰＧＡ１１の周辺の温度、及びＦＰＧＡ１１の負荷としてスロットに装着される基板の枚数、基板に実装されている素子の種類などを検出する。また、選択指示部２２は、プロセッサからの選択指令信号をラッチするための不揮発性のラッチメモリとすることもできる。これらいずれかの検出値又は選択指令信号により選択信号Ｓ２が出力され、又はこれら複数の検出値又は選択指令信号の演算によって選択信号Ｓ２が出力される。マルチプレクサ２１は、選択信号Ｓ２に基づいて、ＰＲＯＭ１２ａ，１２ｂのいずれかを選択してその出力をＦＰＧＡ１１に送る。
【００２５】
図２は他の実施形態のプログラマブル・ゲートアレイ装置１Ｂの構成を示すブロック図、図３は温度検出センサＳＥの取り付け位置の例を示す図である。図２において、図１の要素と同一の機能を有する要素には同一の符号を付して説明を省略し又は簡略化する。
【００２６】
図２において、選択部１４Ｂには、電圧検出部２３、温度検出部２４、ラッチメモリ２５、及び判断部２６を備える。電圧検出部２３は、ＦＰＧＡ１１に供給される電圧Ｖｓが基準値Ｖｒｅｆよりも高いかは低いかを検出する。電圧Ｖｓが基準値Ｖｒｅｆよりも高い場合には、ＦＰＧＡ１１における出力の立ち上がり（又は立ち下がり）の角度が緩くなるプログラムを選択するように、その逆に電圧Ｖｓが基準値Ｖｒｅｆよりも低い場合には、出力の立ち上がりの角度が急峻になるプログラムを選択するように、検出信号Ｓ３を出力する。
【００２７】
例えば電源電圧がＴＴＬレベルであれば、基準値Ｖｒｅｆを５ボルトとし、電圧Ｖｓが５ボルトより大きい場合には、ＦＰＧＡ１１の入出力特性の立ち上がりの角度を緩やかにし、これによってＦＰＧＡ１１の出力の立ち上がり時におけるオーバーシュートを抑える。この逆に、電圧Ｖｓが５ボルトより小さい場合には、立ち上がり時におけるオーバーシュートは少ないので、立ち上がりの角度を急峻にして特性の改善を図る。
【００２８】
また、電圧Ｖｓが基準値Ｖｒｅｆよりも高い場合には、ＦＰＧＡ１１における入力のスレッシュホルドレベル値を高くし、電圧Ｖｓが基準値Ｖｒｅｆよりも低い場合には、スレッシュホルドレベル値を低くするように、検出信号Ｓ３を出力する。
【００２９】
温度検出部２４は、ＦＰＧＡ１１の周辺の温度を検出する。図３に示すように、プロセッサ３１、メモリ１２、及びＦＰＧＡ１１などが実装されたプリント基板ＰＣ１において、それぞれの近傍に、温度検出センサＳＥ１，２，３が取り付けられている。温度検出部２４は、温度検出センサＳＥ１，２，３により検出された温度ＴＳ１，２，３の平均値ＴＳ０を求め、平均値ＴＳ０が基準値Ｔｒｅｆよりも高い場合には、ＦＰＧＡ１１における出力の立ち上がり（又は立ち下がり）の角度が急峻になるプログラムを選択するように、その逆に平均値ＴＳ０が基準値Ｔｒｅｆよりも低い場合には、出力の立ち上がりの角度が緩くなるプログラムを選択するように、検出信号Ｓ４を出力する。つまり、ＦＰＧＡ１１の出力の立ち上がりは、温度が低くなるほど急峻になる傾向にあるので、検出された温度に基づいてこれを修正するような出力特性を設定するのである。
【００３０】
ラッチメモリ２５は、プロセッサ３１からデータバスＤＢを介して送られる選択指令信号をラッチし、ラッチした選択指令信号Ｓ５を出力する。プロセッサ３１は、プリント基板ＰＣ１の環境の現在及び過去の状況を認識しているので、それに応じて最適の入出力特性を選択することが可能である。例えば、プロセッサ３１は、プログラムＰＲ１，ＰＲ２のうちのいずれを次回のコンフィギュレーションに便用するかを決定し、ラッチメモリ２５に記憶させておく。ラッチメモリ２５は、次のコンフィグレーションの実行時に、記憶した内容を選択指令信号Ｓ５として出力する。
【００３１】
判断部２６は、入力された検出信号Ｓ３，Ｓ４、及び選択指令信号Ｓ５に基づいて、選択信号Ｓ２を出力する。どのようにして選択信号Ｓ２を決定するかについては、種々の決定方法が考えられる。
【００３２】
例えば、入出力特性の通常値を通常環境に対応して設計時に予め決めておき、通常環境から異なった場合に、それによる検出信号Ｓ３，Ｓ４、又は選択指令信号Ｓ５が出力されたときに、その検出信号Ｓ３，Ｓ４、又は選択指令信号Ｓ５を優先して選択信号Ｓ２とする。通常、プロセッサ３１は装置又はシステムの全体の状況を把握しているので、選択指令信号Ｓ５を最優先することが好ましいかも知れない。また、設計時において、それらの優先順位を決定しておくこともよい。それらの組み合わせに応じて選択信号Ｓ２を決定することでもよい。
【００３３】
また、図示は省略したが、ＦＰＧＡ１１の負荷としてスロットに装着される基板の存否を検出する基板検出センサを設け、スロットに装着される基板の枚数が多くなった場合に、ＦＰＧＡ１１の出力のドライブ能力を増大するように検出信号又は選択信号Ｓ２を出力してもよい。さらに、スロットに装着される基板に用いられている素子の種類に応じて、Ｃ−ＭＯＳレベル又はＴＴＬレベルのいずれかを選択する検出信号又は選択信号Ｓ２を出力してもよい。
【００３４】
上述の実施形態のプログラマブル・ゲートアレイ装置１，１Ｂによると、環境要因に応じて最適の入出力特性を自動的に選択するので、ＦＰＧＡ１１及びその周辺の素子の動作における余裕をできる限り多く確保することができ、動作の安定性の向上と信頼性の一層の向上を図ることができる。
【００３５】
上述の実施形態において、選択部１４，１４Ｂの構成として、電圧検出部２３、温度検出部２４、ラッチメモリ２５、その他の種々の回路を適宜組み合わせることができ、またそれらの検出信号又は選択指令信号などを種々組み合わせて選択信号Ｓ２とすることができる。メモリ１２に格納するプログラムＰＲの種類を３種類以上とし、それらのうちのいずれかを選択信号Ｓ２によって選択することも可能である。その場合に、電圧Ｖｓ、温度ＴＳ１〜３、平均値ＴＳ０などをより詳細に判断し、それらの環境要因に応じて入出力特性をきめ細かく選択することが可能である。
【００３６】
上述の実施形態においては、電源の投入時にコンフィグ指令回路１３がコンフィグ指令信号Ｓ１を出力し、これによってコンフィグレーションを実行するが、プログラマブル・ゲートアレイ装置１，１Ｂに電源が供給されている動作時において、環境要因が変動したときに、プロセッサ３１が強制的に改めてコンフィグレーションを実行させるようにしてもよい。また、コンフィグレーションの実行に当たって、メモリ１２に格納されたプログラムＰＲ１，ＰＲ２がＦＰＧＡ１１に直接にローディングされるように説明したが、プロセッサ３１又は他のプロセッサを介してローディングするようにしてもよい。
【００３７】
上述の実施形態においては、２つのＰＲＯＭ１２ａ，１２ｂにそれぞれプログラムＰＲ１，ＰＲ２を格納したが、１つのＰＲＯＭにそれら複数のプログラムを格納し、それらを選択して読み出すようにしてもよい。その他、プログラマブル・ゲートアレイ装置１，１Ｂの全体又は各部の構成、処理の内容又は順序、動作タイミングなどは、本発明の主旨に沿って適宜変更することができる。
【００３８】
【発明の効果】
本発明によると、プログラマブル・ゲートアレイ装置における動作の安定性の向上を図り、信頼性の一層の向上を図ることができる。
【００３９】
請求項３の発明によると、プログラマブル・ゲートアレイに供給される電圧の変動に基づく入出力特性の変動を補正し、プログラマブル・ゲートアレイ及びその周辺の素子の動作における余裕をできる限り多く確保することができる。
【００４０】
請求項４の発明によると、プログラマブル・ゲートアレイの周辺の温度の変動に基づく入出力特性の変動を補正することができる。
請求項５及び請求項６の発明によると、装置の環境要因を総合的に判断して最適の入出力特性を選択することができる。
【図面の簡単な説明】
【図１】本発明に係るプログラマブル・ゲートアレイ装置の構成を示すブロック図である。
【図２】他の実施形態のプログラマブル・ゲートアレイ装置の構成を示すブロック図である。
【図３】温度検出センサの取り付け位置の例を示す図である。
【図４】従来のプログラマブル・ゲートアレイ装置の構成を示すブロック図である。
【符号の説明】
１，１Ｂ  プログラマブル・ゲートアレイ装置
１１  ＦＰＧＡ（プログラマブル・ゲートアレイ）
１２  メモリ
１２ａ，１２ｂ  ＰＲＯＭ（メモリ）
１３  コンフィグ指令回路
１４  選択部（選択手段）
２１  マルチプレクサ
２２  選択指示部（選択指示手段、選択手段）
２３  電圧検出部（電圧検出手段）
２４  温度検出部（温度検出手段）
２５  ラッチメモリ（ラッチ手段）
２６  判断部（判断手段、選択手段）
３１  プロセッサ
Ｓ２  選択信号
ＰＲ１，ＰＲ２  プログラム
【図１】
0003953153.tif 000002
【図２】
0003953153.tif 000003
【図３】
0003953153.tif 000004
【図４】
0003953153.tif 000005