(57)【要約】【課題】本発明は、駆動電流値の自動調整機能を有する集積回路を提供する。【解決手段】本発明に係る集積回路は、バッファ回路(23)と、前記バッファ回路の出力部に接続された第１端子(22)と、第２端子(24)と、前記第２端子に接続された駆動電流値判定回路と、を有し、前記第１端子と前記第２端子間には、線路(26)が接続され、前記駆動電流値判定回路は、第１電流で前記バッファ回路を駆動させた場合の出力信号を、前記線路を介して前記第２端子に伝送した第１信号の電位と、参照電位とを比較（25）し、前記第１信号が前記参照電位以上であるか否かを検出する第１手段（31）と、前記第１信号が前記参照電位以下である場合には、前記第１電流以上の第２電流を設定し、前記バッファ回路に入力する第２手段(32)と、前記第１信号が前記参照電位以上である場合には、前記第１電流に基づいて駆動電流値を記憶する第３手段（33）と、を有する。【選択図】図２
2011066681.tif 000002
【特許請求の範囲】
【請求項１】
バッファ回路と、
前記バッファ回路の出力部に接続された第１端子と、
第２端子と、
前記第２端子に接続された駆動電流値判定回路と、を有し、
前記第１端子と前記第２端子間には、線路が接続され、
前記駆動電流値判定回路は、
第１電流で前記バッファ回路を駆動させた場合の出力信号を、前記線路を介して前記第２端子に伝送した第１信号の電位と、参照電位とを比較し、前記第１信号が前記参照電位以上であるか否かを検出する第１手段と、
前記第１信号が前記参照電位以下である場合には、前記第１電流以上の第２電流を設定し、前記バッファ回路に入力する第２手段と、
前記第１信号が前記参照電位以上である場合には、前記第１電流に基づいて駆動電流値を記憶する第３手段と、を有する、集積回路。
【請求項２】
前記路線は、プリント板に設けられる請求項１に記載の集積回路。
【請求項３】
前記第２手段は、
前記第２端子に伝送される信号が、前記参照電位以上となるまで、段階的に電流値を増加させながら前記バッファ回路に入力する請求項１又は２に記載の集積回路。
【請求項４】
前記第３手段は、
前記参照電位以上となった前記電流値より一段階低い電流値を前記駆動電流値として記憶する請求項３に記載の集積回路。
【請求項５】
前記参照電位は、電源電位である請求項１乃至４のいずれか一項記載の集積回路。
【請求項６】
バッファ回路と、
前記バッファ回路の出力部に接続された第１端子と、
第２端子と、
前記第２端子に接続された駆動電流値判定回路と、を有する集積回路の駆動方法であって、
前記第１端子と前記第２端子間には、線路が接続され、
前記駆動電流値判定回路は、
第１電流で前記バッファ回路を駆動させた場合の出力信号を、前記線路を介して前記第２端子に伝送した第１信号の電位と、参照電位とを比較し、前記第１信号が前記参照電位以上であるか否かを検出し、
前記第１信号が前記参照電位以下である場合には、前記第１電流以上の第２電流を設定し、前記バッファ回路に入力し、
前記第１信号が前記参照電位以上である場合には、前記第１電流に基づいて駆動電流値を記憶する、集積回路の駆動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、駆動電流の自動調整機能を備えた集積回路に関する。
【背景技術】
【０００２】
ＦＰＧＡ（Field Programmable Gate Array）は、プログラミングすることができるＬＳＩ(Large Scale Integration、大規模集積回路)をいい、これを用いてマイクロプロセッサやＡＳＩＣ（Application Specific Integrated Circuit）の設計図などのシミュレーションをすることができる。
【０００３】
例えば、下記特許文献１には、オーバーシュート及びアンダーシュートを検出し、ピーク電圧を測定する半導体試験装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１３３１０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述のＦＰＧＡのアウトプットバッファは、その１ピン１ピンに対して設計者が予め駆動電流の値を設定して、コンフィグレーションデータと呼ばれる初期設定データにその値を書き込んでおく必要がある。この駆動電流の設定が、最適値より大きすぎると、受端でオーバーシュート又はアンダーシュート（以下総じて「オーバーシュート等」と呼ぶ）が発生し、デバイスにストレスを与えたり、ＥＭＩ（Electro-Magnetic Interference：電磁妨害）におけるノイズ源となったりする。逆に、その設定が最適値より小さすぎると、電気信号の立ち上がり又は立ち下がりが鈍り、セットアップ時間又はホールド時間が長くなる。その結果、これらの電気通信の時間的制約に対してマージンを減らしてしまう。そのため駆動電流は最適な値を選択することが望ましい。
【０００６】
このような最適な駆動電流値は、ＣＭＯＳＦＥＴ（Complementary Metal Oxide Semiconductor Field Effect Transistor）で構成されるアウトプットバッファの内部抵抗、つまり、ＣＭＯＳＦＥＴのオン抵抗とプリント基板の特性インピーダンスとのバランスにより決まる。したがって、特性インピーダンスが分かれば得たいオン抵抗の値は一意的に求まると考えてよい。また、オン抵抗の大小は駆動電流の小大と相関するため、得たい駆動電流も一意的に求まるように思われる。
【０００７】
しかしながら、オン抵抗と駆動電流の相関が、デバイスのばらつきに強く影響を受けるため、特性インピーダンスによる駆動電流の設定は、目安として用いることしかできない。つまり、最適な駆動電流値を得るためには、オシロスコープで波形確認をしながら「駆動電流の仮設定と実機波形観測を繰り返す」といった試行錯誤的な手法で評価するしかなかった。
【０００８】
このように、ＦＰＧＡのアウトプットバッファにおいては、その駆動電流を設計者（ユーザー）が逐一設定しなければならず、駆動電流の最適値の設定に時間と手間を要するという問題があった。
【０００９】
そこで、本発明は、駆動電流値の自動調整機能を有する集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る集積回路は、バッファ回路と、前記バッファ回路の出力部に接続された第１端子と、第２端子と、前記第２端子に接続された駆動電流値判定回路と、を有し、前記第１端子と前記第２端子間には、線路が接続され、前記駆動電流値判定回路は、第１電流で前記バッファ回路を駆動させた場合の出力信号を、前記線路を介して前記第２端子に伝送した第１信号の電位と、参照電位とを比較し、前記第１信号が前記参照電位以上であるか否かを検出する第１手段と、前記第１信号が前記参照電位以下である場合には、前記第１電流以上の第２電流を設定し、前記バッファ回路に入力する第２手段と、前記第１信号が前記参照電位以上である場合には、前記第１電流に基づいて駆動電流値を記憶する第３手段と、を有する。
【発明の効果】
【００１１】
本発明によれば、集積回路の第１および第２端子間に接続される路線毎に異なる駆動電流の最適値を自動処理によって得ることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態に係るＦＰＧＡの駆動電流値の自動調整回路の概略を示す図である。
【図２】本実施の形態に係るＦＰＧＡの駆動電流値の自動調整回路の構成を示す回路図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。なお、同一の要素には同一又は関連の符号を付し、重複する説明を省略する。
【００１４】
図１は、本実施の形態に係るＦＰＧＡの駆動電流値の自動調整回路の概略を示す図である。図１に示すように、駆動電流値の自動調整回路は、アウトプットバッファ及びインプットバッファ（Ｉ／Ｏバッファ）を有するＦＰＧＡ１１と、その外部に露出して形成された出力端子１２および入力端子１３と、これらの端子（１２、１３）間を接続するよう設けられ、プリント板上に配置された線路１４とを有する。以下、図２を参照しながらさらに詳細に説明する。
【００１５】
図２は、本実施の形態に係るＦＰＧＡの駆動電流値の自動調整回路の構成を示す回路図である。図２に示すように、ＦＰＧＡ２１は、駆動電流値設定用の１組の専用端子である出力端子２２および入力端子２４を有している。これらの端子（２２、２４）は、それぞれプリント板上に形成された充分な長さを持つ線路２６を介して接続されている。
【００１６】
出力端子２２は、アウトプットバッファ２３に接続されている。このアウトプットバッファ２３の駆動電位は、電源電位ＶＤＤおよび接地電位ＧＮＤである。また、アウトプットバッファ２３のバッファタイプはＬＶＣＭＯＳであり、駆動電圧（ＶＤＤ）は３．３Vである。ＬＶＣＭＯＳは、入出力する信号の電圧レベルを規定したＩ／Ｏ規格をいい、ＶＤＤ×５０％（＝１．６５Ｖ）より上の場合にＨレベルと、下の場合にＬレベルと判断する。
【００１７】
また、入力端子２４は、インプットバッファ２５に接続されている。このインプットバッファ２５は、電源電位ＶＤＤをリファレンス電圧（参照電圧）とするコンパレータ（比較器）である。
【００１８】
このコンパレータの出力部は、オーバーシュート発生検出手段３１に接続される。このオーバーシュート発生検出手段３１は、コンパレータ（２５）の出力がＨレベルか否かを検出するための手段である。
【００１９】
即ち、上記コンパレータは、アウトプットバッファ２３の駆動電位（ＶＤＤ）をリファレンス電圧としているため、アウトプットバッファ２３の駆動時に、その出力がＬレベルからＨレベルに変化する場合、オーバーシュートが発生してリファレンス電圧（VDD＝３．３Ｖ）を超えるとＨレベルを出力する。この出力を受けてオーバーシュート発生検出手段３１にて、オーバーシュートを認識する。
【００２０】
上記オーバーシュート発生検出手段３１は、駆動電流設定手段３２に接続されている。この駆動電流設定手段３２は、ある駆動電流でオーバーシュートが発生しなかった場合にアウトプットバッファ２３の駆動電流を１段階大きくする回路である。
【００２１】
また、上記駆動電流設定レジスタ３３は、最終的に得られた駆動電流の“最適値”をアウトプットバッファ２３の駆動電流値として記憶するための回路である。
【００２２】
上記コンパレータ（２５）、オーバーシュート発生検出手段３１、駆動電流設定手段３２および駆動電流設定レジスタ３３を纏めて駆動電流値判定回路という。
【００２３】
次いで、図２の回路の動作、即ち、駆動電流値の自動調整について説明する。この駆動電流値の自動調整は、ＦＰＧＡ２１のコンフィグレーション後に行われる。このコンフィグレーションとは、システム環境を決める数値や設定値などの情報をあらかじめ設定することをいう。例えば、コンフィグレーションデータとしては、通常、「２ｍＡ」や「４ｍＡ」などのアウトプットバッファの駆動電流の設定値が予め格納されているが、例えば、ここに「調整値Ｘ」など所定のデータが格納されていると駆動電流の自動調整プロセスが開始されるものとする。
【００２４】
上記プロセスの開始後、駆動電流設定手段３２は、アウトプットバッファ２３の駆動電流を所定の範囲内において最も低いＩ１に設定する。この状態でアウトプットバッファ２３の出力をＬレベルからＨレベルへ変化させる駆動を行い、分布定数回路とみなすのに充分長い配線２６を経て、インプットバッファ２５において全反射を起こさせる。このように分布定数回路では、入力インピーダンスの高いインプットバッファ２５で全反射が発生する。ここで、インプットバッファ２５は、リファレンス電圧がＶＤＤ＝３．３Ｖのコンパレータであるので、この全反射の影響によって入力端子２４に伝送される信号が３．３Ｖを超えた場合、つまり、オーバーシュートが発生した場合にはその出力がＬレベルからＨレベルとなる。もちろん、オーバーシュートが発生しない場合は、出力はＬレベルのままである。
【００２５】
オーバーシュート発生検出手段３１は、上記コンパレータ（２５）の出力により、オーバーシュートの発生の有無を検出する。もしオーバーシュートが発生していない、即ち、上記コンパレータ（２５）の出力がＬレベルのままであれば、駆動電流設定手段３２に、所定の信号（例えば、Ｌレベル）を伝送する。当該信号を受けて、駆動電流設定手段３２は、アウトプットバッファ２３の駆動電流を１段階高く、Ｉ２に設定し、再度アウトプットバッファ２３のＬレベル→Ｈレベルの駆動を行う。次いで、同様に、オーバーシュート発生検出手段３１にて、オーバーシュートの発生の有無を確認する。
【００２６】
このように駆動電流を１段階高く設定してはオーバーシュートの発生の有無を確認するといった手順を繰り返すと、やがてオーバーシュートが起こる。例えば、駆動電流Ｉ１→Ｉ２→Ｉ３まで上記コンパレータ（２５）の出力はＬレベルのままであり、駆動電流Ｉ４にて、この出力が、Ｌレベル→Ｈレベルに変化した場合、オーバーシュートが起こり始める駆動電流がＩ４であることが分かる。
【００２７】
ここで、オーバーシュートの発生しない最大の駆動電流を“最適な駆動電流値”と定義した場合、上記例で言えば駆動電流Ｉ４よりも１段階低い駆動電流Ｉ３を“最適な”駆動電流値として得ることができる。
【００２８】
駆動電流設定レジスタ３３は得られた“最適な”駆動電流値（上記例では、Ｉ３）を格納（記憶）すると共に、前述した“調整値Ｘ”の格納箇所に、得られた“最適な”駆動電流値（上記例では、Ｉ３）を設定する。
【００２９】
このように、本実施の形態においては、ＦＰＧＡ２１に接続されるプリント板毎に異なる駆動電流の最適値を自動処理によって得ることができ、これによって最適な駆動電流値を求めるための試行錯誤的な評価を不要とすることができる。また、従来、予期せぬオーバーシュート対策のために、プリント基板に予めダンピング抵抗を設けることが多かったが、正確に最適な駆動電流を認識し、当該電流で駆動することによりオーバーシュートの発生率が低くなり、ダンピング抵抗を不要とすることができる。その結果、回路の小面積化を図ることができ、原価低減やひいては環境保護を図ることができる。なお、本発明は、更なる性能向上のための図２の回路とダンピング抵抗の併用を排除するものではない。
【００３０】
＜応用例＞
上記実施の形態においては、オーバーシュートの発生しない最大の駆動電流を“最適な駆動電流値”と定義したが、設計者によっては若干のオーバーシュートが発生する程度の駆動電流を最適値とすることもある。よって、かかる最適値も自動設定可能とすることが望ましい。
【００３１】
そこで、コンパレータ（２５）のリファレンス電圧をＶＤＤに対していくらか変動可能に設定することで、回路の利便性を向上させることができる。例えば、リファレンス電圧１（Ｒ１）として、ＶＤＤを、リファレンス電圧２（Ｒ２）として“ＶＤＤ＋α”の電位を設定しておき、スイッチング素子などで切り替えを行う。コンパレータ（２５）のリファレンス電圧としてＲ２を用いれば、駆動電流の最適値が高めに検出される。
【００３２】
また、上記実施の形態においては、オーバーシュートを観測することで駆動電流の最適値を得る方法を示したが、これは正確にはＨレベルの駆動電流の最適値である。よって、このＨレベルの駆動電流の調整に続けて、Ｌレベルの駆動電流を調整してもよい。この場合、コンパレータ（２５）のリファレンス電圧を接地電位ＧＮＤとし、アウトプットバッファ２３のＨレベル→Ｌレベルの駆動時に、コンパレータ（２５）の出力からアンダーシュートの発生の有無を検出すればよい。これにより、ＨレベルおよびＬレベル共に最適な駆動電流値を得ることができる。
【００３３】
また、上記実施の形態においては、ＦＰＧＡ２１に駆動電流設定用の１組の専用端子（２２、２４）を設けたが、専用端子対を複数組設けてもよい。例えば、各Ｉ／Ｏバッファに接続される路線（回路、駆動電流測定対象回路）のトポロジにより最適な駆動電流値が異なる場合、それぞれのトポロジに合った複数の線路２６をプリント板上に用意し、各線路２６を個別の専用端子対に接続し、それぞれについて最適な駆動電流値を設定してもよい。回路トポロジとは、電子部品のつなぎ合わせ方をいい、１組の専用端子に対して１の回路が接続される場合、又は複数の回路が接続される場合、又は１の回路でも、バックプレーン伝送で非常に線路長が長い場合など、接続対象に応じて最適な駆動電流値が異なる場合があり、かかる場合に専用端子対を複数組設けることが好ましい。
【００３４】
また、上記実施の形態においては、ＦＰＧＡを例に説明したが、ＩＣ（Integrated Circuit）やＡＳＩＣ、またはメモリデバイスなどに本発明を適用してもよい。
【００３５】
また、上記実施の形態においては、起動時に駆動電流値の調整を行ったが、例えば、最適な駆動電流値は温度などの使用状況によって変化するため、ＦＰＧＡの使用中（使用期間）において、逐次調整を行い、駆動電流値を最適に保ち続けてもよい。
【００３６】
なお、上記実施の形態において、アウトプットバッファ２３の駆動電流の最低値（Ｉ１）や、Ｉ１→Ｉ２→Ｉ３→Ｉ４の間隔などは、適宜調整されることは言うまでもない。この際、広範囲、広間隔の駆動電流設定手段３２により、オーバーシュートが発生するおおまかな電流値（例えば、Ｉ３〜Ｉ４）を求めた後、Ｉ３〜Ｉ４の範囲において狭い間隔の電流値を設定できる他の駆動電流設定手段を設けておき、より精度の高い駆動電流値を求めてもよい。
【００３７】
また、本明細書等において、手段とは、明示の回路に限定されるものではなく、その手段が有する機能を実現する種々の態様を含む。また、１つの手段が有する機能が２つ以上の物理的手段により実現されても、２つ以上の手段の機能が１つの物理的手段により実現されてもよい。
【００３８】
このように、上記実施の形態は種々の応用および変形が可能であり、本発明は、上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内において、他の様々な形で実施することができる。
【符号の説明】
【００３９】
１１…ＦＰＧＡ、１２…出力端子、１３…入力端子、１４…線路、２１…ＦＰＧＡ、２２…出力端子、２３…アウトプットバッファ、２４…入力端子、２５…インプットバッファ、２６…線路、３１…オーバーシュート発生検出手段、３２…駆動電流設定手段、３３…駆動電流設定レジスタ
【図１】
2011066681.tif 000003
【図２】
2011066681.tif 000004