(57)【要約】【課題】  オープンドレイン形式又はオープンコレクタ形式の出力バッファの出力信号線を用いて、効率的なデータ転送を実現する。【解決手段】  本発明は、オープンドレイン形式又はオープンコレクタ形式の出力バッファの出力信号線の状態制御に関する。本発明は、出力信号線の電位を監視し、出力信号線の電位が、低電位状態から高電位状態に遷移したことを検出する手段と、出力バッファに論理信号を供給し、供給する論理信号の変化によって、出力信号線の電位が低電位状態から高電位状態に遷移を開始した後、出力信号線が高電位状態に遷移したことが検出されると、この遷移の検出がされた時点に応じて、出力信号線を高電位状態に保持する期間の終点を調節し、高電位状態の保持期間として所定の最小期間以上を確保する手段とを有すること特徴とする。【選択図】      図１
2009094872.tif 000002
【特許請求の範囲】
【請求項１】
オープンドレイン形式又はオープンコレクタ形式の出力バッファの出力信号線の電位を監視し、上記出力信号線の電位が、低電位状態から高電位状態に遷移したことを検出する監視手段と、
上記出力バッファに、論理信号を供給し、供給する論理信号の変化によって、上記出力信号線の電位が低電位状態から高電位状態に遷移を開始した後、上記監視手段において、上記出力信号線が高電位状態に遷移したことが検出されると、この遷移の検出がされた時点に応じて、上記出力信号線を高電位状態に保持する期間の終点を調節し、高電位状態の保持期間として所定の最小期間以上を確保する信号制御手段と
を有することを特徴とする信号制御回路。
【請求項２】
上記信号制御手段は、上記出力信号線の電位が低電位状態から高電位状態に遷移を開始した後、上記監視手段により上記出力信号線が低電位状態から高電位状態に遷移したことが検出されると、この遷移の検出がされた時点から少なくとも上記最小期間、上記出力信号線を高電位状態に保持することを特徴とする請求項１に記載の信号制御回路。
【請求項３】
上記監視手段は、上記出力信号線の電位が低電位状態から高電位状態に遷移を開始した後、上記出力信号線が低電位状態から高電位状態に遷移するまでの遷移時間を計測し、
上記信号制御手段は、上記出力信号線の電位が低電位状態から高電位状態に遷移を開始した後、少なくとも上記最小期間に上記遷移時間を加算した時間が経過するまで、上記出力信号線を高電位状態に保持することを特徴とする請求項１に記載の信号制御回路。
【請求項４】
オープンドレイン形式又はオープンコレクタ形式の出力バッファの出力信号線の状態を制御する信号制御方法において、監視手段と、信号制御手段とを備え、
上記監視手段は、上記出力信号線の電位を監視し、上記出力信号線の電位が、低電位状態から高電位状態に遷移したことを検出し、
上記信号制御手段は、上記出力バッファに、論理信号を供給し、供給する論理信号の変化によって、上記出力信号線の電位が低電位状態から高電位状態に遷移を開始した後、上記監視手段において、上記出力信号線が高電位状態に遷移したことが検出されると、この遷移の検出がされた時点に応じて、上記出力信号線を高電位状態に保持する期間の終点を調節し、高電位状態の保持期間として所定の最小期間以上を確保する
ことを特徴とする信号制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号制御回路及び信号制御方法に関し、例えば、オープンドレイン形式又はオープンコレクタ形式の出力バッファの出力信号線の状態制御に適用し得るものである。
【背景技術】
【０００２】
ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）は一種のゲートアレイであり、フィールドにて書き換え可能な、汎用性の高いハードウェアとして通信システムや情報処理システム等に幅広く用いられ、例えば、システムに搭載する複数のデバイスヘの制御を行うことを目的にも使用されることが多い。
【０００３】
ＦＰＧＡによるデバイス制御方式としては、例えば、出力形式（出力バッファの形式）がオープンドレイン形式による信号を用いられることなどがある。オープンドレイン形式の出力バッファの出力信号線（以下、「オープンドレイン形式の信号線」ともいう）は、複数のデバイスをワイヤードオア接続することが可能であり、その信号線へのデバイス接続が容易である。その為、例えば、リセット信号、シリアルインタフェース等に使用されることが多い。
【０００４】
しかしながら、容易に接続デバイス数を増やすことのできるオープンドレイン形式の信号線ではあるが、高電位（以下、「ＨＩＧＨレベル」ともいう）を出力するためには接続するプルアップ抵抗を必要とするため、接続するデバイス数が増えるにつれて、信号線上の負荷容量が大きくなり、低電位（以下、「ＬＯＷレベル」ともいう）状態からＨＩＧＨレベル状態への遷移時間（以下、「立ち上がり時間」と表す）が増大する傾向にある。
【０００５】
図６は、従来の一般的なＦＰＧＡによるオープンドレイン形式の信号線制御時の構成について示したブロック図である。
【０００６】
図７は、従来の一般的なＦＰＧＡによるオープンドレイン形式信号の制御における、信号の立ち上がり時間について示した説明図である。
【０００７】
ＦＰＧＡ１００は、オープンドレイン形式の信号線の電位（以下、単に「レベル」ともいう）を制御するための出力制御部１０１を有し、その出力制御部１０１によりＦＰＧＡに具備する出力バッファ１０２を制御する。
【０００８】
出力バッファ１０２は、例えば、出力制御部１０１の制御により、ハイインピーダンス状態になると、プルアップ回路１０３により信号線１０４がＨＩＧＨレベル状態となる。また、出力バッファ１０２は、出力制御部１０１の制御により、信号線１０４の状態をＬＯＷレベル状態にする際には、ＬＯＷレベルを出力する。
【０００９】
出力バッファ１０２にて状態を制御されるオープンドレイン形式の信号線１０４には、制御対象デバイス１０５が接続される。制御対象デバイス１０５は、１又は複数接続することが可能である。オープンドレイン形式の信号線をＦＰＧＡより制御する場合は、例えば、上述のように出力バッファ１０２の状態の切り替えを行って実現される。
【００１０】
制御対象デバイス１０５が少ない場合は、図７（Ａ）に示すようにオープンドレイン形式の信号線のレベルが遷移する。制御対象デバイス１０５数が多くなると、図７（Ｂ）に示すようにオープンドレイン形式の信号線のレベルが遷移する。その為、制御対象デバイス１０５の数が少ない場合では、図７（Ａ）に示すようにＨＩＧＨレベル保持時間を十分に確保することができるが、制御対処デバイス１０５が増加すると図７（Ｂ）に示すように立ち上がり時間が増加するために、ＨＩＧＨレベル状態の保持時間が短くなり、例えば、制御対象デバイスのインタフェース仕様を満たせなくなるなどの問題が生じる。
【００１１】
上述のような問題を改善するための従来技術として、特許文献１に記載の回路が提案されている。特許文献１に記載の回路について、図６の構成にあてはめて説明すると、プルアップ回路１０３にスルーレートを監視する回路を加え、オープンドレイン形式の信号線に流れる電流を制御することにより立ち上がり時間の改善を実現するものである。
【００１２】
また、上述のような問題の解決方法として、ＦＰＧＡ１００の出力制御部１０１において立ち上がり時間分のマージンを持たせる方法で、オープンドレイン形式の信号線１０４に想定される最大負荷時の立ち上がり時間を予測し、その立ち上がり時間をＨＩＧＨレベル出力時間に加える方法も考えられる。
【特許文献１】特開２０００−１０１４０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、特許文献１に記載の回路では、立ち上がり時間の制御回路を基板上に追加する必要があるため、基板上の回路設置スペース及びコストの負担が大きくなる。
【００１４】
また、ＦＰＧＡの出力制御部において立ち上がり時間分のマージンを持たせる方法では、制御デバイス数が少ない時にデータ転送レートがマージン分低下してしまう欠点がある。
【００１５】
そのため、オープンドレイン形式又はオープンコレクタ形式の出力バッファの出力信号線を用いて、効率的なデータ転送を実現できる信号制御回路及び信号制御方法が望まれている。
【課題を解決するための手段】
【００１６】
第１の本発明の信号制御回路は、（１）オープンドレイン形式又はオープンコレクタ形式の出力バッファの出力信号線の電位を監視し、上記出力信号線の電位が、低電位状態から高電位状態に遷移したことを検出する監視手段と、（２）上記出力バッファに、論理信号を供給し、供給する論理信号の変化によって、上記出力信号線の電位が低電位状態から高電位状態に遷移を開始した後、上記監視手段において、上記出力信号線が高電位状態に遷移したことが検出されると、この遷移の検出がされた時点に応じて、上記出力信号線を高電位状態に保持する期間の終点を調節し、高電位状態の保持期間として所定の最小期間以上を確保する信号制御手段とを有することを特徴とする。
【００１７】
第２の本発明の信号制御方法は、（１）オープンドレイン形式又はオープンコレクタ形式の出力バッファの出力信号線の状態を制御する信号制御方法において、監視手段と、信号制御手段とを備え、（２）上記監視手段は、上記出力信号線の電位を監視し、上記出力信号線の電位が、低電位状態から高電位状態に遷移したことを検出し、（３）上記信号制御手段は、上記出力バッファに、論理信号を供給し、供給する論理信号の変化によって、上記出力信号線の電位が低電位状態から高電位状態に遷移を開始した後、上記監視手段において、上記出力信号線が高電位状態に遷移したことが検出されると、この遷移の検出がされた時点に応じて、上記出力信号線を高電位状態に保持する期間の終点を調節し、高電位状態の保持期間として所定の最小期間以上を確保することを特徴とする。
【発明の効果】
【００１８】
本発明によれば、オープンドレイン形式又はオープンコレクタ形式の出力バッファの出力信号線を用いて、効率的なデータ転送を実現できる。
【発明を実施するための最良の形態】
【００１９】
（Ａ）第１の実施形態
以下、本発明による信号制御回路及び信号制御方法の第１の実施形態を、図面を参照しながら詳述する。
【００２０】
（Ａ−１）第１の実施形態の構成
図１は、この実施形態の第１の実施形態に関係する各種装置の接続関係などを説明したブロック図である。
【００２１】
ＦＰＧＡ３００は、制御対象デバイス３０５を制御するための回路が組み込まれたものである。
【００２２】
制御対象デバイス３０５は、ＦＰＧＡ３００において制御対象となっているデバイスである。なお、制御対象デバイス３０５は、単数又は複数であってもよく、その数は限定されないものである。また、制御対象デバイス３０５は、例えば、メモリや表示装置などのデバイスが挙げられ、その種類は限定されないものである。
【００２３】
信号線３０４は、ＦＰＧＡ３００と制御対象デバイス３０５との間を接続する信号線（バス）である。信号線３０４は、オープンドレイン形式の信号線であり、ここでは、制御対象デバイス３０５は、信号線３０４によりＦＰＧＡ３００とワイヤードオア接続されているものとする。
【００２４】
プルアップ回路３０３は、信号線３０４のレベルをＨＩＧＨレベル状態にプルアップするものであり、信号線３０４に接続している。
【００２５】
ＦＰＧＡ３００は、ＦＰＧＡ上に、少なくともこの実施形態の信号制御回路が構築されたものである。この実施形態の信号制御回路は、少なくとも出力制御部３０１、出力バッファ３０２、バス状態監視部３０６を有している。図１においては、図示を省略しているが、ＦＰＧＡ３００は、制御対象デバイス３０５を制御するために必要な、判断処理や信号生成処理などの他の構成を有していても良い。また、この実施形態の信号制御回路を搭載したＦＰＧＡ３００は、一つのＦＰＧＡを用いて実現しても良いし、複数のＦＰＧＡや市販の電子回路部品などを用いて分散処理により実現しても良い。
【００２６】
出力バッファ３０２は、信号線３０４に接続し、出力制御部３０１の制御に基づいて、信号線３０４の状態をＨＩＧＨレベル又はＬＯＷレベルにするものである。例えば、出力バッファ３０２が、出力制御部３０１の制御により、ハイインピーダンス状態になると、プルアップ回路３０３により信号線３０４がＨＩＧＨレベル状態となる。また、出力バッファ３０２は、出力制御部３０１の制御により、信号線３０４の状態をＬＯＷレベル状態にする際には、ＬＯＷレベルを出力する。
【００２７】
バス状態監視部３０６は、オープンドレイン形式の信号線３０４の状態を監視し、その状態を出力制御部３０１に通知するものである。例えば、信号線３０４の状態が、ＬＯＷレベル状態からＨＩＧＨレベル状態に遷移したときに、その旨を出力制御部３０１に通知するようにしても良い。
【００２８】
出力制御部３０１は、出力バッファ３０２を制御することにより、信号線３０４の出力レベルを制御するものである。また、出力制御部３０１は、信号線３０４の状態が、ＬＯＷレベル状態からＨＩＧＨレベル状態に遷移し、バス状態監視部３０６から通知を受けた後、通知を受けた時点に応じて、ＨＩＧＨレベル状態を保持する終了時点を調節する。例えば、出力制御部３０１は、信号線３０４の状態が、ＬＯＷレベル状態からＨＩＧＨレベル状態に遷移し、バス状態監視部３０６から通知を受けた後、所定の保持時間以上ＨＩＧＨレベル状態を保持するようにしても良い。出力制御部３０１において、ＨＩＧＨレベル状態を保持する所定の保持時間は、制御対象デバイス３０５のインタフェース仕様を満たすように設定しても良い。
【００２９】
（Ａ−２）第１の実施形態の動作
次に、以上のような構成を有するこの実施形態の信号制御回路を搭載したＦＰＧＡ３００における、ＨＩＧＨレベル出力時の動作（この実施形態の信号制御方法）を説明する。
【００３０】
図２は、ＦＰＧＡ３００（バス状態監視部３０６）においてＨＩＧＨレベル出力時の動作について説明したフローチャートである。
【００３１】
まず、出力制御部３０１により出力バッファ３０２が制御され、出力バッファ３０２がハイインピーダンス状態となったものとする。そして、出力バッファ３０２がハイインピーダンス状態となると、プルアップ回路３０３により信号線３０４の状態は、ＬＯＷレベル状態からＨＩＧＨレベル状態に遷移を開始する（Ｓ４０１）。
【００３２】
そして、バス状態監視部３０６では、信号線３０４の状態が監視され、ＬＯＷレベル状態からＨＩＧＨレベル状態に遷移したことが検出されると、ＨＩＧＨレベル状態が検出された旨が出力制御部３０１に通知される（Ｓ４０２、Ｓ４０３）。
【００３３】
出力制御部３０１では、制御部３０１から通知があった後、制御対象デバイス３０５のインタフェース仕様を満たす時間ＨＩＧＨレベル状態が保持される（Ｓ４０４）。
【００３４】
出力制御部３０１では、ＨＩＧＨレベル状態保持の時間が経過すると、出力バッファ３０２が制御され、信号線１０４の状態がＬＯＷレベルとなる（Ｓ４０５）。
【００３５】
図３は、第１の実施形態に係る信号制御回路を搭載したＦＰＧＡが、上述の図２に示すフローチャートにより動作した場合に、信号線３０４のレベルを制御する様子を示したタイミングチャートである。なお、図３において、「保持時間Ｔ１」は、制御対象デバイス３０５のインタフェース仕様を満たすＨＩＧＨレベル保持時間である。
【００３６】
図３では、信号線３０４のレベルが、出力制御部３０１の制御に基づいてＬＯＷレベル状態からＨＩＧＨレベル状態に遷移を開始し（上述のステップＳ４０１参照）、ＨＩＧＨレベル状態が検出され（上述のステップＳ４０２、Ｓ４０３参照）、その後、少なくとも保持時間Ｔ１の間、ＨＩＧＨレベル状態が保持されている（上述のステップＳ４０４、Ｓ４０５参照）様子を示している。
【００３７】
（Ａ−３）第１の実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【００３８】
オープンドレイン形式の信号線の状態を監視するバス状態監視部３０６などをＦＰＧＡ内に追加することにより、制御対象デバイス３０５の増減による立ち上がり時間の変化を考慮することなく、制御対象デバイス３０５のインタフェース仕様によって規定されるＨＩＧＨレベル保持時間を正確に出力することができる。また、これにより、立ち上がり時間のマージンを考慮する必要がなくなり、データ転送レートの低下を最小限にとどめ、効率的なデータ転送をすることができる。さらに、ＦＰＧＡ内に回路を追加するだけで、外部に回路を追加する必要がないため、必要なスペース・コストを低減することができる。
【００３９】
（Ｂ）第２の実施形態
以下、本発明による信号制御回路及び信号制御方法の第２の実施形態を、図面を参照しながら詳述する。
【００４０】
（Ｂ−１）第２の実施形態の構成
第２の実施形態は、そのハードウェア構成などは第１の実施形態と同様であり、第２の実施形態も上述の図１により示すことができるため、詳しい説明を省略し、第１の実施形態との差異についてのみ説明する。
【００４１】
第１の実形態のバス状態監視部３０６では、信号線３０４のＨＩＧＨレベル監視を行い、ＬＯＷレベルからＨＩＧＨレベルへ遷移した場合に、その旨を出力制御部３０１に通知し、出力制御部３０１において、所定の保持時間以上ＨＩＧＨレベル状態を保持するようにしていた。第２の実施形態においては、バス状態監視部３０６においてＬＯＷレベル状態からＨＩＧＨレベル状態への立ち上がり時間を計測して出力制御部３０１に通知し、出力制御部３０１では、通知された立ち上がり時間を考慮して、ＨＩＧＨレベル状態の保持時間を調節する点において、第１の実施形態と異なっている。出力制御部３０１が、信号線３０４の状態をＬＯＷレベルからＨＩＧＨレベルに遷移するように制御を開始してから、ＨＩＧＨレベル状態保持を終了するまでの時間は、例えば、制御対象デバイス３０５のインタフェース仕様を満たすＨＩＧＨレベル出力時間に、計測した立ち上がり時間を加算した時間としても良い。
【００４２】
（Ｂ−２）第２の実施形態の動作
次に、以上のような構成を有するこの実施形態の信号制御回路を搭載したＦＰＧＡ１００における、ＨＩＧＨレベル出力時の動作（この実施形態の信号制御方法）を説明する。
【００４３】
図４は、この実施形態のＦＰＧＡ３００（バス状態監視部３０６）においてＨＩＧＨレベル出力時の動作について説明したフローチャートである。
【００４４】
まず、出力制御部３０１により出力バッファ３０２が制御され、出力バッファ３０２がハイインピーダンス状態となったものとする。そして、出力バッファ３０２がハイインピーダンス状態となると、プルアップ回路３０３により信号線３０４の状態は、ＬＯＷレベル状態からＨＩＧＨレベル状態に遷移を開始する。また、出力制御部３０１では、出力バッファ３０２をハイインピーダンス状態に制御すると共に、バス状態監視部３０６を制御して信号線３０４の状態監視及び立ち上がり時間の計測を開始させる（Ｓ５０１）。
【００４５】
そして、バス状態監視部３０６では、信号線３０４の状態が監視され、ＬＯＷレベル状態からＨＩＧＨレベル状態に遷移したことが検出される（Ｓ５０２、Ｓ５０３）。
【００４６】
ＨＩＧＨレベル状態が検出されると、バス状態監視部３０６において監視開始から、ＨＩＧＨレベル状態を検出した時までの立ち上がり時間が計測され、その立ち上がり時間が出力制御部３０１に通知される（Ｓ５０４）。
【００４７】
立ち上がり時間が通知されると、出力制御部３０１では、制御対象デバイス３０５のインタフェース仕様を満たすようにＨＩＧＨレベル状態が保持される（Ｓ５０５）。
【００４８】
ＨＩＧＨレベル状態保持の時間が経過すると、出力制御部３０１により、出力バッファ３０２が制御され、信号線３０４の状態がＬＯＷレベルとなる（Ｓ５０６）。
【００４９】
図５は、第２の実施形態に係る信号制御回路を搭載したＦＰＧＡが、上述の図４に示すフローチャートにより動作した場合に、信号線３０４のレベルを制御する様子を示したタイミングチャートである。なお、図５において、「保持時間Ｔ１」は、制御対象デバイス３０５のインタフェース仕様を満たすＨＩＧＨレベル保持時間を示している。また、「立ち上がり時間Ｔ２」は、上述のステップＳ５０３で計測される立ち上がり時間を示している。
【００５０】
図５においては、信号線３０４のレベルが、出力制御部３０１の制御に基づいてＬＯＷレベル状態からＨＩＧＨレベル状態に遷移を開始し（上述のステップＳ５０１参照）、ＨＩＧＨレベル状態が検出されて、立ち上がり時間Ｔ２が計測され（上述のステップＳ５０２〜Ｓ５０４参照）、立ち上がり時間Ｔ２の分保持時間を延長することにより、少なくとも保持時間Ｔ１の間、ＨＩＧＨレベル状態が保持される（上述のステップＳ５０５、Ｓ５０６参照）様子を示している。
【００５１】
（Ｂ−３）第２の実施形態の効果
上述の通り、第１の実施形態においては、ＨＩＧＨレベル状態が検出されてから所定の時間ＨＩＧＨレベル状態を保持し、第２の実施形態においてはＬＯＷレベルからＨＩＧＨレベルへの遷移時間を考慮して、ＨＩＧＨレベル状態の保持時間を調節している点で異なっているが、第２の実施形態によっても第１の実施形態と同様の効果を奏することができる。
【００５２】
（Ｃ）他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【００５３】
（Ｃ−１）上記の各実施形態では、オープンドレイン形式の出力バッファの出力信号線の制御に適用した場合について説明したが、オープンコレクタ形式の出力バッファの出力信号線の制御に適用しても良い。
【００５４】
（Ｃ−２）上記の各実施形態では、本発明の信号制御回路を、ＦＰＧＡ上に実現したものについて説明したが、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの専用チップにより実現してもよいし、市販の電子回路部品を組み合わせて実現しても良い。
【図面の簡単な説明】
【００５５】
【図１】第１の実施形態に関係する各種装置の接続関係などを説明したブロック図である。
【図２】第１の実施形態に係る信号制御回路を搭載したＦＰＧＡのＨＩＧＨレベル出力時の動作について説明したフローチャートである。
【図３】第１の実施形態に係る信号制御回路を搭載したＦＰＧＡによる、信号制御の様子を示したタイミングチャートである。
【図４】第２の実施形態に係る信号制御回路を搭載したＦＰＧＡのＨＩＧＨレベル出力時の動作について説明したフローチャートである。
【図５】第２の実施形態に係る信号制御回路を搭載したＦＰＧＡによる、信号制御の様子を示したタイミングチャートである。
【図６】従来のＦＰＧＡによるオープンドレイン形式の信号線制御時の構成について示したブロック図である。
【図７】従来のＦＰＧＡによるオープンドレイン形式信号の制御における、信号の立ち上がり時間について示した説明図である。
【符号の説明】
【００５６】
３００…ＦＰＧＡ、３０１…出力制御部、３０２…出力バッファ、３０３…プルアップ回路、３０４…信号線、３０５…制御デバイス、３０６…バス状態監視部。
【図１】
2009094872.tif 000003
【図２】
2009094872.tif 000004
【図３】
2009094872.tif 000005
【図４】
2009094872.tif 000006
【図５】
2009094872.tif 000007
【図６】
2009094872.tif 000008
【図７】
2009094872.tif 000009