JP2013131820A - 半導体装置及び回路変更方法 - Google Patents
半導体装置及び回路変更方法 Download PDFInfo
- Publication number
- JP2013131820A JP2013131820A JP2011278200A JP2011278200A JP2013131820A JP 2013131820 A JP2013131820 A JP 2013131820A JP 2011278200 A JP2011278200 A JP 2011278200A JP 2011278200 A JP2011278200 A JP 2011278200A JP 2013131820 A JP2013131820 A JP 2013131820A
- Authority
- JP
- Japan
- Prior art keywords
- external
- control information
- memory
- external device
- circuit means
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
【課題】外部デバイスとのインターフェースの機能を、外部デバイスに対応させて柔軟に変更可能な半導体装置及び回路変更方法を提供する。
【解決手段】半導体装置10は、外部デバイス5と接続するインターフェースとして働く外部IF回路部3と、外部から書き込みが可能であり、外部デバイス5と外部IF回路部3との処理手順を指定する制御情報に応じた処理を記録するメモリ部1と、メモリ部1から制御情報を読み出し、制御情報に従って、外部IF回路部3に外部デバイス5との入出力を実行させる制御回路部2と、を備える。
【選択図】図1
【解決手段】半導体装置10は、外部デバイス5と接続するインターフェースとして働く外部IF回路部3と、外部から書き込みが可能であり、外部デバイス5と外部IF回路部3との処理手順を指定する制御情報に応じた処理を記録するメモリ部1と、メモリ部1から制御情報を読み出し、制御情報に従って、外部IF回路部3に外部デバイス5との入出力を実行させる制御回路部2と、を備える。
【選択図】図1
Description
本発明は、外部デバイスとのインターフェースを含む回路に関し、特に、回路規模の縮小と外部デバイスの変更への対応とを実現する回路追加方法に関する。
FPGA(Field-Programmable Gate Array)は、製造後に設定可能な集積回路、言い換えると、プログラミングすることできる集積回路である。例えば、使用している外部デバイスが使用できなくなった、デバイスの仕様が変わった、などということはよくある。このような種々の事情に合わせて機能が書き換えられるFPGAは重宝されている。しかし、近年のデバイス集積度の向上や高速化に伴い、FPGAの一部機能を書き換えることでも手間を要する。
FPGAを使用するにあたり、いくつか制限が生じる。
第一の問題点は、使用していないメモリも含めて、回路規模が決まっていることである。FPGAでは使用領域や配置、容量があらかじめ決まっていることに起因する。
第二の問題点は、回路規模が急増しても、容易にデバイス変更ができない。デバイス変更はピン変更にも関係し、変更規模の影響が大きいことに起因する。
第三の問題点は、外部デバイスの変更に柔軟に対応できない。これは、RTL(Register Transfer Level)コーディングでは論理が固定されてしまうことに起因する。
第一の問題点は、使用していないメモリも含めて、回路規模が決まっていることである。FPGAでは使用領域や配置、容量があらかじめ決まっていることに起因する。
第二の問題点は、回路規模が急増しても、容易にデバイス変更ができない。デバイス変更はピン変更にも関係し、変更規模の影響が大きいことに起因する。
第三の問題点は、外部デバイスの変更に柔軟に対応できない。これは、RTL(Register Transfer Level)コーディングでは論理が固定されてしまうことに起因する。
例えば、特許文献1には、電話交換装置における情報制御方式として、メイン制御装置と電話機インターフェース間の制御情報を減少させる技術が開示されている。しかしながら、特許文献では、メイン制御装置と電話機インターフェース間で送受信する情報量を減少させるものの、メイン制御装置が電話機インターフェースの処理手順を変更できるものではない。このため、例えば電話機インターフェースが制御するボタン電話機の機能が変更になった場合に、変更された機能に対応させることができなかった。
本発明は、このような事情に鑑みてなされたものであり、外部デバイスとのインターフェースの機能を、外部デバイスに対応させて柔軟に変更可能な半導体装置及び回路変更方法を提供することを目的とする。
本発明に係る半導体装置の一態様は、外部デバイスと接続するインターフェースとして働く外部IF回路部と、外部から書き込みが可能であり、前記外部デバイスと前記外部IF回路部との処理手順を指定する制御情報に応じた処理を記録するメモリと、前記メモリから前記制御情報を読み出し、前記制御情報に従って、前記外部IF回路部に前記外部デバイスとの入出力を実行させる制御回路部と、を備える。
また、本発明に係る回路変更方法の一態様は、FPGAで実現する、外部デバイスと接続するインターフェースとして働く外部IF回路部の処理手順を変更する回路変更方法であって、書き換え可能なメモリに前記外部デバイスと前記外部IF回路部との処理手順を指定する制御情報を記録し、前記外部デバイスとの接続を開始するときに前記メモリから前記制御情報を読み出し、前記制御情報に従って、前記外部IF回路部に前記外部デバイスとの接続を実施させ、前記外部デバイスと前記外部IF回路部との処理手順が変更されると、前記メモリが保持する前記制御情報を書き換える。
本発明によれば、外部デバイスとのインターフェースの機能を、外部デバイスに対応させて柔軟に変更可能な半導体装置及び回路変更方法を提供することが可能となる。
以下、本発明の実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において同一の構成または機能を有する構成要素および相当部分には、同一の符号を付し、その説明は省略する。
本発明に係る実施形態の一態様では、外部デバイスと外部IF回路部との処理手順を指定する制御情報、言い換えると、外部デバイスに応じて外部IF制御部に必要とされる機能(規格)を指定するインターフェース情報、外部デバイスとの入出力手順などを含む制御情報をメモリに記録する。そして、記録された制御情報に従って、外部IF回路部は、外部デバイスとの接続、入出力等を実行する。制御情報は、あらかじめ割り当てられているが、未使用となったメモリに格納することができる。
実施形態1.
実施形態の1つとして、半導体装置が、外部デバイスとのI2Cインターフェースを実現する場合について説明する。I2Cインターフェースは、外部デバイスとのインターフェースとして働く物理インターフェースと、物理インターフェースの入出力を制御する回路(制御回路)を必要とする。物理インターフェースは、外部デバイスによって規格が異なるため、外部デバイスに応じた機能を必要とする。そこで、本実施形態では、インターフェース情報をメモリから読みだすことで、規格に合わせた動作に変更することを実現する。また、物理インターフェースとしての動作(ハンドシェイク)も外部デバイスによって異なるため、データや処理の指示の入出力タイミングをメモリから読み出し、制御回路に与えることで、外部デバイスが指定する動作に変更することを実現する。以下、具体的な構成を参照して説明する。
実施形態の1つとして、半導体装置が、外部デバイスとのI2Cインターフェースを実現する場合について説明する。I2Cインターフェースは、外部デバイスとのインターフェースとして働く物理インターフェースと、物理インターフェースの入出力を制御する回路(制御回路)を必要とする。物理インターフェースは、外部デバイスによって規格が異なるため、外部デバイスに応じた機能を必要とする。そこで、本実施形態では、インターフェース情報をメモリから読みだすことで、規格に合わせた動作に変更することを実現する。また、物理インターフェースとしての動作(ハンドシェイク)も外部デバイスによって異なるため、データや処理の指示の入出力タイミングをメモリから読み出し、制御回路に与えることで、外部デバイスが指定する動作に変更することを実現する。以下、具体的な構成を参照して説明する。
実施形態1の構成
図1は、本発明の実施形態1に係る半導体装置の構成例を示すブロック図である。半導体装置10は、メモリ部(メモリ)1、制御回路部2、及び、外部IF回路部(物理インターフェース)3を備える。本実施形態では、外部IF回路部3はI2Cインターフェースとして働く。加えて、半導体装置10の外部には、外部装置部(CPU:Central Processing Unit)4及び外部デバイス5が存在する場合を示している。
メモリ部1は、制御回路部2、外部IF回路部3とそれぞれバス線を介して接続される。メモリ部1は、少なくとも制御情報を記録する。制御情報は、外部IF回路部3と外部デバイス5との処理手順を指定する。制御情報には、インターフェース情報、外部IF回路部3の動作を制御するための、データ及び処理の指示を含む。メモリ部1は、制御回路部2と外部IF回路部3それぞれからアクセスされる。また、メモリ部1は、外部装置部4とも接続され、外部からデータの書き換えが可能となっている。
図1は、本発明の実施形態1に係る半導体装置の構成例を示すブロック図である。半導体装置10は、メモリ部(メモリ)1、制御回路部2、及び、外部IF回路部(物理インターフェース)3を備える。本実施形態では、外部IF回路部3はI2Cインターフェースとして働く。加えて、半導体装置10の外部には、外部装置部(CPU:Central Processing Unit)4及び外部デバイス5が存在する場合を示している。
メモリ部1は、制御回路部2、外部IF回路部3とそれぞれバス線を介して接続される。メモリ部1は、少なくとも制御情報を記録する。制御情報は、外部IF回路部3と外部デバイス5との処理手順を指定する。制御情報には、インターフェース情報、外部IF回路部3の動作を制御するための、データ及び処理の指示を含む。メモリ部1は、制御回路部2と外部IF回路部3それぞれからアクセスされる。また、メモリ部1は、外部装置部4とも接続され、外部からデータの書き換えが可能となっている。
制御回路部2は、外部IF回路部3とバス線を介して接続され、メモリ部1から読み出した制御情報をもとに外部IF回路部3を制御する。また、外部IF回路部3からの動作結果をもとにメモリ部1から次の制御情報をリードする。
外部IF回路部3は、外部デバイス5との物理インターフェースとして働く。外部IF回路部3は、メモリ部1の制御情報に基づいて制御回路部2によって制御される。言い換えると、外部IF回路部3は、メモリ部1の制御情報に従って、外部デバイス5に応じた物理インターフェースとして機能するように構成される。
外部IF回路部3は、外部デバイス5との物理インターフェースとして働く。外部IF回路部3は、メモリ部1の制御情報に基づいて制御回路部2によって制御される。言い換えると、外部IF回路部3は、メモリ部1の制御情報に従って、外部デバイス5に応じた物理インターフェースとして機能するように構成される。
外部装置部4は、半導体装置10と接続する外部デバイス5に応じて、メモリ部1に保持する制御情報を書き換える。外部装置部4は、外部デバイス5自体の差し替え、あるいは、外部デバイス5の規格の変更等に応じて、メモリ部1の制御情報を書き換える処理を実行する。
実施形態の動作の説明
図2にメモリ部1に格納される制御情報を示した構成例、図3に動作例を示す。図2では、処理の指示として、1ステートに必要とされる情報の組合せの一例を示す。メモリに格納されるデータは、状態遷移における現ステート情報、分岐条件、次ステート情報である。図2では、図3を参照して説明する動作例に応じた情報の一例を示したものであり、インターフェース情報などその他の情報については省略している。
図2にメモリ部1に格納される制御情報を示した構成例、図3に動作例を示す。図2では、処理の指示として、1ステートに必要とされる情報の組合せの一例を示す。メモリに格納されるデータは、状態遷移における現ステート情報、分岐条件、次ステート情報である。図2では、図3を参照して説明する動作例に応じた情報の一例を示したものであり、インターフェース情報などその他の情報については省略している。
制御回路部2は、メモリ部1にアクセスし、メモリ部1から現ステート情報をリードし、現ステート情報の処理の指示に従って、外部IF回路部3に処理の実行を命令する。外部IF回路部3は、命令に従って処理を実行する。例えば、現ステート情報が送信開始命令である場合、制御回路部2が外部IF回路部3へ送信開始命令を指示する。送信開始命令に応じて、外部IF回路部3は、クロックを生成し、送信開始に必要なデータを外部デバイス5へ送信する。
次に、制御回路部2は、メモリ部1から分岐条件をリードし、外部IF回路部3の動作結果をもとに、その分岐先を判定し、次ステート情報をメモリからリードする。例えば、制御回路部2は、分岐条件をメモリ部1から読み込み、外部IF回路部3へ応答を送信するように命令する。外部IF回路部3は、応答命令を受けると、送信開始命令を処理した動作結果(ここでは、"Y"または"N")を制御回路部2へ通知する。制御回路部2は、動作結果を受け取ると、動作結果が"Y"の場合、次ステート情報(Y)をリードし、動作結果が"N"の場合、次ステート情報(N)をリードする。
次に、制御回路部2は、メモリ部1から分岐条件をリードし、外部IF回路部3の動作結果をもとに、その分岐先を判定し、次ステート情報をメモリからリードする。例えば、制御回路部2は、分岐条件をメモリ部1から読み込み、外部IF回路部3へ応答を送信するように命令する。外部IF回路部3は、応答命令を受けると、送信開始命令を処理した動作結果(ここでは、"Y"または"N")を制御回路部2へ通知する。制御回路部2は、動作結果を受け取ると、動作結果が"Y"の場合、次ステート情報(Y)をリードし、動作結果が"N"の場合、次ステート情報(N)をリードする。
最後に、制御回路部2は、次ステート情報をもとに外部IF回路部3に命令する。加えて、次ステート情報には、次にアクセスする現ステート情報のアドレスが格納されている。同様の繰り返しにより、制御回路部2はメモリ部1からリードした情報もとに外部IF回路部3を制御し、外部デバイス5とI2C通信を行う。例えば、制御回路部2は、次ステート情報がデータ送信命令である場合、外部IF回路部3へ、送信するデータに関する情報(例えば、先頭アドレス、データ量など)とともにデータ送信命令を通知する。外部IF回路部3は、制御回路部2からのデータ送信命令に従って、メモリ部1からデータを読み出し、外部デバイス5へ送信する。
なお、制御回路部2は、通信開始時にメモリ部1から読み出す制御情報のアドレス(ベーアドレス)を予め保持することを前提とする。
加えて、メモリ部1には、複数の制御情報を格納することができ、制御回路部2がアクセスするベースアドレスを変更することで、複数の機能(例えば、複数の外部デバイスに対応する機能)を持たせることができる。また、外部装置部4からメモリ部1の内容を書き換えることで制御回路部2や外部IF回路部3の動作を変更することもできる。
加えて、メモリ部1には、複数の制御情報を格納することができ、制御回路部2がアクセスするベースアドレスを変更することで、複数の機能(例えば、複数の外部デバイスに対応する機能)を持たせることができる。また、外部装置部4からメモリ部1の内容を書き換えることで制御回路部2や外部IF回路部3の動作を変更することもできる。
上述したような構成を半導体装置に備えることにより、以下の効果を奏することができる。
第一の効果は、制御をメモリに移行することで、論理回路を削減できることにある。その理由は、固定的に持つメモリを使用するためである。具体的には、制御を回路によって実現するのではなく、メモリに記録する制御情報によって実現する。これにより、必要とする回路数を減らすことができる。加えて、メモリは、当初から設計・配置されていたものを用いるため、回路規模に影響を与えることなく実現することができる。
第二の効果は、論理回路の規模をそれほど圧迫しないことにある。その理由は、RTLコーディングですべてを設計しないためである。
第三の効果は、インターフェース機能を柔軟に持てることにある。その理由は、メモリに保持する制御情報の内容を、外部から自由に書き換えられるためである。
第一の効果は、制御をメモリに移行することで、論理回路を削減できることにある。その理由は、固定的に持つメモリを使用するためである。具体的には、制御を回路によって実現するのではなく、メモリに記録する制御情報によって実現する。これにより、必要とする回路数を減らすことができる。加えて、メモリは、当初から設計・配置されていたものを用いるため、回路規模に影響を与えることなく実現することができる。
第二の効果は、論理回路の規模をそれほど圧迫しないことにある。その理由は、RTLコーディングですべてを設計しないためである。
第三の効果は、インターフェース機能を柔軟に持てることにある。その理由は、メモリに保持する制御情報の内容を、外部から自由に書き換えられるためである。
実施形態2.
その他の実施形態として、I2C以外にSPI(Serial Peripheral Interface)のように低速な外部インターフェースであれば、可能である。低速なインターフェースであれば、メモリアクセスに時間を費やしてもアクセスするクロック周期が早ければ、インターフェース動作に対して、その制御には十分余裕を持って行うことができる。
その他の実施形態として、I2C以外にSPI(Serial Peripheral Interface)のように低速な外部インターフェースであれば、可能である。低速なインターフェースであれば、メモリアクセスに時間を費やしてもアクセスするクロック周期が早ければ、インターフェース動作に対して、その制御には十分余裕を持って行うことができる。
上記各実施形態で説明したように、本発明の半導体装置及び回路変更方法の一態様によれば、論理回路すべてをRTLコーディングするのではなく、状態遷移やカウンタ制御等の情報を内部メモリに格納し、動作時に情報を読み出しながら、論理動作を構築する。情報をメモリに格納することで、RTLコーディングに要した回路規模を縮小できる。その一方、小規模で回路追加を行うことも可能である。また、外部からメモリ情報を書き換える、あるいは、メモリに複数情報を持つことで、構築する論理動作の変更も可能である。言い換えると、情報を書き換えることにより、外部デバイス自体が差し替えられた場合や外部デバイスの規格が変更になった場合等においても、回路構成を変更することなく、インターフェース機能を対応させることができる。具体的には、外部からメモリの情報を書き換えるだけで、もしくはあらかじめ複数の機能を用意しておくことで、FPGAを書き換えることなく、容易に機能を変更することができる。加えて、あらかじめ割り当てられているが、未使用であるメモリに制御情報を格納することで、もともと制御を行っていた論理回路を削減することができる。また、メモリに情報を複数格納することで、論理動作を切り替えることもできる。従って、メモリに機能を移行する回路追加方法であるともいえる。
本発明に係る半導体装置及び回路変更方法は、FPGA開発であれば、容易に導入可能である。
なお、本発明は上記に示す実施形態に限定されるものではない。本発明の範囲において、上記実施形態の各要素を、当業者であれば容易に考えうる内容に変更、追加、変換することが可能である。
なお、本発明は上記に示す実施形態に限定されるものではない。本発明の範囲において、上記実施形態の各要素を、当業者であれば容易に考えうる内容に変更、追加、変換することが可能である。
1 メモリ部
2 制御回路部
3 外部IF回路部
4 外部装置部
5 外部デバイス
10 半導体装置
2 制御回路部
3 外部IF回路部
4 外部装置部
5 外部デバイス
10 半導体装置
Claims (5)
- 外部デバイスと接続するインターフェースとして働く外部IF回路手段と、
外部から書き込みが可能であり、前記外部デバイスと前記外部IF回路手段との処理手順を指定する制御情報に応じた処理を記録するメモリと、
前記メモリから前記制御情報を読み出し、前記制御情報に従って、前記外部IF回路手段に前記外部デバイスとの入出力を実行させる制御回路手段と、を備える半導体装置。 - 前記メモリは、前記外部デバイスと前記外部IF回路手段との処理手順が変更されると、前記制御情報が外部から書き換えられることを特徴とする請求項1記載の半導体装置。
- 前記制御情報は、前記外部IF回路手段の動作結果に応じた処理を指定する分岐条件を含み、
前記制御回路手段は、前記外部IF回路手段の動作結果に応じて、前記制御情報が指定する処理を実施することを特徴とする請求項1または2記載の半導体装置。 - 前記メモリは、前記制御情報として、複数の外部デバイスそれぞれに対応する複数の制御情報を記録し、
前記制御回路手段は、前記複数の外部デバイスそれぞれに応じた制御情報を選択するように構成されていることを特徴とする請求項1乃至3のいずれか一項に記載の半導体装置。 - FPGA(Field-Programmable Gate Array)で実現する、外部デバイスと接続するインターフェースとして働く外部IF回路手段の処理手順を変更する回路変更方法であって、
書き換え可能なメモリに前記外部デバイスと前記外部IF回路手段との処理手順を指定する制御情報を記録し、
前記外部デバイスとの接続を開始するときに前記メモリから前記制御情報を読み出し、
前記制御情報に従って、前記外部IF回路手段に前記外部デバイスとの接続を実施させ、
前記外部デバイスと前記外部IF回路手段との処理手順が変更されると、前記メモリが保持する前記制御情報を書き換える回路変更方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011278200A JP2013131820A (ja) | 2011-12-20 | 2011-12-20 | 半導体装置及び回路変更方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011278200A JP2013131820A (ja) | 2011-12-20 | 2011-12-20 | 半導体装置及び回路変更方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013131820A true JP2013131820A (ja) | 2013-07-04 |
Family
ID=48909085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011278200A Pending JP2013131820A (ja) | 2011-12-20 | 2011-12-20 | 半導体装置及び回路変更方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013131820A (ja) |
-
2011
- 2011-12-20 JP JP2011278200A patent/JP2013131820A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102504172B1 (ko) | 소프트 코어 프로세서에 기초한 fpga 멀티-미러 업그레이드 로딩 방법 및 장치 | |
KR100673013B1 (ko) | 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템 | |
CN108052750B (zh) | 基于fpga的spi flash控制器及其设计方法 | |
US9323700B2 (en) | Semiconductor integrated circuit and DMA control method of the same | |
TWI698870B (zh) | 在記憶裝置中進行省電控制的方法、相關記憶裝置及其記憶體控制器、以及相關電子裝置 | |
CN102646446A (zh) | 硬件动态高速缓存电源管理 | |
JP5158187B2 (ja) | ストレージ装置、ストレージ制御装置およびストレージ制御方法 | |
US20070118682A1 (en) | Method and apparatus for interfacing and managing NAND flash memory | |
US8386725B2 (en) | USB host controller and controlling method for USB host controller | |
TWI394047B (zh) | 快閃記憶裝置、快閃記憶裝置操作方法、以及資料儲存系統 | |
JP2013131820A (ja) | 半導体装置及び回路変更方法 | |
JP2012022479A (ja) | マイクロコントローラ及びその制御方法 | |
JP5138040B2 (ja) | 集積回路 | |
JP2005182538A (ja) | データ転送装置 | |
JP2008060714A (ja) | 情報処理システム | |
US20180336147A1 (en) | Application processor including command controller and integrated circuit including the same | |
JP2009163531A (ja) | 割り込み管理機構およびマイクロコンピュータ | |
JP4892852B2 (ja) | シリアルインターフェースの制御方法 | |
JP2019160204A (ja) | 制御装置、画像形成装置および回路装置 | |
JP5774941B2 (ja) | コンフィグレーション装置及びコンフィグレーション方法 | |
JP3944639B2 (ja) | プログラマブル論理装置 | |
JP2000099452A (ja) | Dma制御装置 | |
JP2007334600A (ja) | 半導体集積回路装置 | |
JP2006202172A (ja) | バスタイミング制御回路 | |
JP2006024134A (ja) | Dma転送装置及びdma転送方法 |