(57)【要約】【課題】外部デバイスとのインターフェースの機能を、外部デバイスに対応させて柔軟に変更可能な半導体装置及び回路変更方法を提供する。【解決手段】半導体装置１０は、外部デバイス５と接続するインターフェースとして働く外部ＩＦ回路部３と、外部から書き込みが可能であり、外部デバイス５と外部ＩＦ回路部３との処理手順を指定する制御情報に応じた処理を記録するメモリ部１と、メモリ部１から制御情報を読み出し、制御情報に従って、外部ＩＦ回路部３に外部デバイス５との入出力を実行させる制御回路部２と、を備える。【選択図】図１
2013131820.tif 000002
【特許請求の範囲】
【請求項１】
外部デバイスと接続するインターフェースとして働く外部ＩＦ回路手段と、
外部から書き込みが可能であり、前記外部デバイスと前記外部ＩＦ回路手段との処理手順を指定する制御情報に応じた処理を記録するメモリと、
前記メモリから前記制御情報を読み出し、前記制御情報に従って、前記外部ＩＦ回路手段に前記外部デバイスとの入出力を実行させる制御回路手段と、を備える半導体装置。
【請求項２】
前記メモリは、前記外部デバイスと前記外部ＩＦ回路手段との処理手順が変更されると、前記制御情報が外部から書き換えられることを特徴とする請求項１記載の半導体装置。
【請求項３】
前記制御情報は、前記外部ＩＦ回路手段の動作結果に応じた処理を指定する分岐条件を含み、
前記制御回路手段は、前記外部ＩＦ回路手段の動作結果に応じて、前記制御情報が指定する処理を実施することを特徴とする請求項１または２記載の半導体装置。
【請求項４】
前記メモリは、前記制御情報として、複数の外部デバイスそれぞれに対応する複数の制御情報を記録し、
前記制御回路手段は、前記複数の外部デバイスそれぞれに応じた制御情報を選択するように構成されていることを特徴とする請求項１乃至３のいずれか一項に記載の半導体装置。
【請求項５】
ＦＰＧＡ（Field-Programmable Gate Array）で実現する、外部デバイスと接続するインターフェースとして働く外部ＩＦ回路手段の処理手順を変更する回路変更方法であって、
書き換え可能なメモリに前記外部デバイスと前記外部ＩＦ回路手段との処理手順を指定する制御情報を記録し、
前記外部デバイスとの接続を開始するときに前記メモリから前記制御情報を読み出し、
前記制御情報に従って、前記外部ＩＦ回路手段に前記外部デバイスとの接続を実施させ、
前記外部デバイスと前記外部ＩＦ回路手段との処理手順が変更されると、前記メモリが保持する前記制御情報を書き換える回路変更方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部デバイスとのインターフェースを含む回路に関し、特に、回路規模の縮小と外部デバイスの変更への対応とを実現する回路追加方法に関する。
【背景技術】
【０００２】
ＦＰＧＡ（Field-Programmable Gate Array）は、製造後に設定可能な集積回路、言い換えると、プログラミングすることできる集積回路である。例えば、使用している外部デバイスが使用できなくなった、デバイスの仕様が変わった、などということはよくある。このような種々の事情に合わせて機能が書き換えられるＦＰＧＡは重宝されている。しかし、近年のデバイス集積度の向上や高速化に伴い、ＦＰＧＡの一部機能を書き換えることでも手間を要する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−３４７７８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＦＰＧＡを使用するにあたり、いくつか制限が生じる。
第一の問題点は、使用していないメモリも含めて、回路規模が決まっていることである。ＦＰＧＡでは使用領域や配置、容量があらかじめ決まっていることに起因する。
第二の問題点は、回路規模が急増しても、容易にデバイス変更ができない。デバイス変更はピン変更にも関係し、変更規模の影響が大きいことに起因する。
第三の問題点は、外部デバイスの変更に柔軟に対応できない。これは、ＲＴＬ（Register Transfer Level）コーディングでは論理が固定されてしまうことに起因する。
【０００５】
例えば、特許文献１には、電話交換装置における情報制御方式として、メイン制御装置と電話機インターフェース間の制御情報を減少させる技術が開示されている。しかしながら、特許文献では、メイン制御装置と電話機インターフェース間で送受信する情報量を減少させるものの、メイン制御装置が電話機インターフェースの処理手順を変更できるものではない。このため、例えば電話機インターフェースが制御するボタン電話機の機能が変更になった場合に、変更された機能に対応させることができなかった。
【０００６】
本発明は、このような事情に鑑みてなされたものであり、外部デバイスとのインターフェースの機能を、外部デバイスに対応させて柔軟に変更可能な半導体装置及び回路変更方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る半導体装置の一態様は、外部デバイスと接続するインターフェースとして働く外部ＩＦ回路部と、外部から書き込みが可能であり、前記外部デバイスと前記外部ＩＦ回路部との処理手順を指定する制御情報に応じた処理を記録するメモリと、前記メモリから前記制御情報を読み出し、前記制御情報に従って、前記外部ＩＦ回路部に前記外部デバイスとの入出力を実行させる制御回路部と、を備える。
【０００８】
また、本発明に係る回路変更方法の一態様は、ＦＰＧＡで実現する、外部デバイスと接続するインターフェースとして働く外部ＩＦ回路部の処理手順を変更する回路変更方法であって、書き換え可能なメモリに前記外部デバイスと前記外部ＩＦ回路部との処理手順を指定する制御情報を記録し、前記外部デバイスとの接続を開始するときに前記メモリから前記制御情報を読み出し、前記制御情報に従って、前記外部ＩＦ回路部に前記外部デバイスとの接続を実施させ、前記外部デバイスと前記外部ＩＦ回路部との処理手順が変更されると、前記メモリが保持する前記制御情報を書き換える。
【発明の効果】
【０００９】
本発明によれば、外部デバイスとのインターフェースの機能を、外部デバイスに対応させて柔軟に変更可能な半導体装置及び回路変更方法を提供することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態１に係る半導体装置の構成例を示すブロック図である。
【図２】実施形態１のメモリが保持する入出力手順の一例を示す図である。
【図３】実施形態１の半導体装置の動作例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において同一の構成または機能を有する構成要素および相当部分には、同一の符号を付し、その説明は省略する。
【００１２】
本発明に係る実施形態の一態様では、外部デバイスと外部ＩＦ回路部との処理手順を指定する制御情報、言い換えると、外部デバイスに応じて外部ＩＦ制御部に必要とされる機能（規格）を指定するインターフェース情報、外部デバイスとの入出力手順などを含む制御情報をメモリに記録する。そして、記録された制御情報に従って、外部ＩＦ回路部は、外部デバイスとの接続、入出力等を実行する。制御情報は、あらかじめ割り当てられているが、未使用となったメモリに格納することができる。
【００１３】
実施形態１．
実施形態の１つとして、半導体装置が、外部デバイスとのＩ２Ｃインターフェースを実現する場合について説明する。Ｉ２Ｃインターフェースは、外部デバイスとのインターフェースとして働く物理インターフェースと、物理インターフェースの入出力を制御する回路（制御回路）を必要とする。物理インターフェースは、外部デバイスによって規格が異なるため、外部デバイスに応じた機能を必要とする。そこで、本実施形態では、インターフェース情報をメモリから読みだすことで、規格に合わせた動作に変更することを実現する。また、物理インターフェースとしての動作（ハンドシェイク）も外部デバイスによって異なるため、データや処理の指示の入出力タイミングをメモリから読み出し、制御回路に与えることで、外部デバイスが指定する動作に変更することを実現する。以下、具体的な構成を参照して説明する。
【００１４】
実施形態１の構成
図１は、本発明の実施形態１に係る半導体装置の構成例を示すブロック図である。半導体装置１０は、メモリ部（メモリ）１、制御回路部２、及び、外部ＩＦ回路部（物理インターフェース）３を備える。本実施形態では、外部ＩＦ回路部３はＩ２Ｃインターフェースとして働く。加えて、半導体装置１０の外部には、外部装置部（ＣＰＵ：Central Processing Unit）４及び外部デバイス５が存在する場合を示している。
メモリ部１は、制御回路部２、外部ＩＦ回路部３とそれぞれバス線を介して接続される。メモリ部１は、少なくとも制御情報を記録する。制御情報は、外部ＩＦ回路部３と外部デバイス５との処理手順を指定する。制御情報には、インターフェース情報、外部ＩＦ回路部３の動作を制御するための、データ及び処理の指示を含む。メモリ部１は、制御回路部２と外部ＩＦ回路部３それぞれからアクセスされる。また、メモリ部１は、外部装置部４とも接続され、外部からデータの書き換えが可能となっている。
【００１５】
制御回路部２は、外部ＩＦ回路部３とバス線を介して接続され、メモリ部１から読み出した制御情報をもとに外部ＩＦ回路部３を制御する。また、外部ＩＦ回路部３からの動作結果をもとにメモリ部１から次の制御情報をリードする。
外部ＩＦ回路部３は、外部デバイス５との物理インターフェースとして働く。外部ＩＦ回路部３は、メモリ部１の制御情報に基づいて制御回路部２によって制御される。言い換えると、外部ＩＦ回路部３は、メモリ部１の制御情報に従って、外部デバイス５に応じた物理インターフェースとして機能するように構成される。
【００１６】
外部装置部４は、半導体装置１０と接続する外部デバイス５に応じて、メモリ部１に保持する制御情報を書き換える。外部装置部４は、外部デバイス５自体の差し替え、あるいは、外部デバイス５の規格の変更等に応じて、メモリ部１の制御情報を書き換える処理を実行する。
【００１７】
実施形態の動作の説明
図２にメモリ部１に格納される制御情報を示した構成例、図３に動作例を示す。図２では、処理の指示として、１ステートに必要とされる情報の組合せの一例を示す。メモリに格納されるデータは、状態遷移における現ステート情報、分岐条件、次ステート情報である。図２では、図３を参照して説明する動作例に応じた情報の一例を示したものであり、インターフェース情報などその他の情報については省略している。
【００１８】
制御回路部２は、メモリ部１にアクセスし、メモリ部１から現ステート情報をリードし、現ステート情報の処理の指示に従って、外部ＩＦ回路部３に処理の実行を命令する。外部ＩＦ回路部３は、命令に従って処理を実行する。例えば、現ステート情報が送信開始命令である場合、制御回路部２が外部ＩＦ回路部３へ送信開始命令を指示する。送信開始命令に応じて、外部ＩＦ回路部３は、クロックを生成し、送信開始に必要なデータを外部デバイス５へ送信する。
次に、制御回路部２は、メモリ部１から分岐条件をリードし、外部ＩＦ回路部３の動作結果をもとに、その分岐先を判定し、次ステート情報をメモリからリードする。例えば、制御回路部２は、分岐条件をメモリ部１から読み込み、外部ＩＦ回路部３へ応答を送信するように命令する。外部ＩＦ回路部３は、応答命令を受けると、送信開始命令を処理した動作結果（ここでは、"Ｙ"または"Ｎ"）を制御回路部２へ通知する。制御回路部２は、動作結果を受け取ると、動作結果が"Ｙ"の場合、次ステート情報（Ｙ）をリードし、動作結果が"Ｎ"の場合、次ステート情報（Ｎ）をリードする。
【００１９】
最後に、制御回路部２は、次ステート情報をもとに外部ＩＦ回路部３に命令する。加えて、次ステート情報には、次にアクセスする現ステート情報のアドレスが格納されている。同様の繰り返しにより、制御回路部２はメモリ部１からリードした情報もとに外部ＩＦ回路部３を制御し、外部デバイス５とＩ２Ｃ通信を行う。例えば、制御回路部２は、次ステート情報がデータ送信命令である場合、外部ＩＦ回路部３へ、送信するデータに関する情報（例えば、先頭アドレス、データ量など）とともにデータ送信命令を通知する。外部ＩＦ回路部３は、制御回路部２からのデータ送信命令に従って、メモリ部１からデータを読み出し、外部デバイス５へ送信する。
【００２０】
なお、制御回路部２は、通信開始時にメモリ部１から読み出す制御情報のアドレス（ベーアドレス）を予め保持することを前提とする。
加えて、メモリ部１には、複数の制御情報を格納することができ、制御回路部２がアクセスするベースアドレスを変更することで、複数の機能（例えば、複数の外部デバイスに対応する機能）を持たせることができる。また、外部装置部４からメモリ部１の内容を書き換えることで制御回路部２や外部ＩＦ回路部３の動作を変更することもできる。
【００２１】
上述したような構成を半導体装置に備えることにより、以下の効果を奏することができる。
第一の効果は、制御をメモリに移行することで、論理回路を削減できることにある。その理由は、固定的に持つメモリを使用するためである。具体的には、制御を回路によって実現するのではなく、メモリに記録する制御情報によって実現する。これにより、必要とする回路数を減らすことができる。加えて、メモリは、当初から設計・配置されていたものを用いるため、回路規模に影響を与えることなく実現することができる。
第二の効果は、論理回路の規模をそれほど圧迫しないことにある。その理由は、ＲＴＬコーディングですべてを設計しないためである。
第三の効果は、インターフェース機能を柔軟に持てることにある。その理由は、メモリに保持する制御情報の内容を、外部から自由に書き換えられるためである。
【００２２】
実施形態２．
その他の実施形態として、Ｉ２Ｃ以外にＳＰＩ（Serial Peripheral Interface）のように低速な外部インターフェースであれば、可能である。低速なインターフェースであれば、メモリアクセスに時間を費やしてもアクセスするクロック周期が早ければ、インターフェース動作に対して、その制御には十分余裕を持って行うことができる。
【００２３】
上記各実施形態で説明したように、本発明の半導体装置及び回路変更方法の一態様によれば、論理回路すべてをＲＴＬコーディングするのではなく、状態遷移やカウンタ制御等の情報を内部メモリに格納し、動作時に情報を読み出しながら、論理動作を構築する。情報をメモリに格納することで、ＲＴＬコーディングに要した回路規模を縮小できる。その一方、小規模で回路追加を行うことも可能である。また、外部からメモリ情報を書き換える、あるいは、メモリに複数情報を持つことで、構築する論理動作の変更も可能である。言い換えると、情報を書き換えることにより、外部デバイス自体が差し替えられた場合や外部デバイスの規格が変更になった場合等においても、回路構成を変更することなく、インターフェース機能を対応させることができる。具体的には、外部からメモリの情報を書き換えるだけで、もしくはあらかじめ複数の機能を用意しておくことで、ＦＰＧＡを書き換えることなく、容易に機能を変更することができる。加えて、あらかじめ割り当てられているが、未使用であるメモリに制御情報を格納することで、もともと制御を行っていた論理回路を削減することができる。また、メモリに情報を複数格納することで、論理動作を切り替えることもできる。従って、メモリに機能を移行する回路追加方法であるともいえる。
【００２４】
本発明に係る半導体装置及び回路変更方法は、ＦＰＧＡ開発であれば、容易に導入可能である。
なお、本発明は上記に示す実施形態に限定されるものではない。本発明の範囲において、上記実施形態の各要素を、当業者であれば容易に考えうる内容に変更、追加、変換することが可能である。
【符号の説明】
【００２５】
１  メモリ部
２  制御回路部
３  外部ＩＦ回路部
４  外部装置部
５  外部デバイス
１０  半導体装置
【図１】
2013131820.tif 000003
【図２】
2013131820.tif 000004
【図３】
2013131820.tif 000005