JP2007018264A - バスシステム及びその経路選択方法 - Google Patents
バスシステム及びその経路選択方法 Download PDFInfo
- Publication number
- JP2007018264A JP2007018264A JP2005199142A JP2005199142A JP2007018264A JP 2007018264 A JP2007018264 A JP 2007018264A JP 2005199142 A JP2005199142 A JP 2005199142A JP 2005199142 A JP2005199142 A JP 2005199142A JP 2007018264 A JP2007018264 A JP 2007018264A
- Authority
- JP
- Japan
- Prior art keywords
- route
- bus system
- register
- storage means
- input
- 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.)
- Withdrawn
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
【課題】 記憶手段の挿入に伴うレイテンシ増加による性能低下を防止する。
【解決手段】 マスタデバイスとスレーブデバイスとの間に挿入されたレジスタスライスを経由する経路か、そのレジスタスライスを経由しない経路の何れかを指定するバイパス選択信号を入力する。そして、マルチプレクサにて入力されたバイパス選択信号に応じてレジスタスライスを経由する経路を有効にするか、レジスタスライスを経由しない経路を有効にするかを選択する。
【選択図】 図8
【解決手段】 マスタデバイスとスレーブデバイスとの間に挿入されたレジスタスライスを経由する経路か、そのレジスタスライスを経由しない経路の何れかを指定するバイパス選択信号を入力する。そして、マルチプレクサにて入力されたバイパス選択信号に応じてレジスタスライスを経由する経路を有効にするか、レジスタスライスを経由しない経路を有効にするかを選択する。
【選択図】 図8
Description
本発明は、マスタデバイスとスレーブデバイスを各々少なくとも1つ以上相互接続したバスシステム及びその経路選択方法に関する。
近年、USB 1.1からUSB 2.0へ、或いはPCI からPCI-Expressへといった具合に、高スループットを必要とするIP(Intellectual Property)コアが急増している。これに伴い、高速なスループット転送を可能とする、オンチップ・バスの需要が急速に高まっている(例えば、特許文献1参照)。
2003年 6月にARM社が次世代オンチップ・バスの規格としてAMBA 3.0のAXI(Advanced eXtensible Interface)プロトコルを発表し、注目を集めている。AMBAは、「Advanced Microcontroller Bus Architecture」の略である。このAXIでは、従来のAHB(Advanced High-Performance Bus)にはなかったチャネルという概念を導入し、このチャネルによる転送を行うことによりデータ転送のスループットを向上させるよう考慮されている。具体的には、アドレスフェーズとデータフェーズとの独立転送方式や、後から入ったサイクルの結果が前に戻ってきても良い、というアウトオブオーダ転送方式をサポートしている。
ここで、チャネルとは、図1に示すように、マスタ101とスレーブ102がそれぞれvalid103とready104の各信号を用いてdata105を2線ハンドシェークで転送する一連の転送経路として定義される。data105の転送元がvalid103を出力し、転送先がready104を出力する。
このAXIでは、図2に示すように、address203、write data205、read data204、write response206の4つのチャネルを用いてマスタ201とスレーブ202との間でデータ転送を行う。従って、アドレスチャネルとデータチャネルとを独立に転送することができるので、アドレス処理を次々と発行することが可能となり、バスを有効に活用できる。
更に、アウトオブオーダをサポートすることにより、レイテンシが小さいスレーブからのデータを先に返すことが可能となる。このようなことから、AXIでは、バスの利用効率向上が期待できる。
その一方で、システムLSI内部に複数のCPU、メモリ、I/Oを有するシステムが一般的になってきており、これらのデバイスを相互に接続する必要がある。しかし、複数のバスマスタ、バススレーブがシステムLSI内部に均等に配置配線されるとも限らない。そのため、いくつかの接続網、特にアドレスやデータのような高負荷のバスについては、期待する動作周波数で動作不可能となってしまうことが、レイアウト工程の段階で判明することが考えられる。
このような場合、タイミングを満たさないパスに対してレイアウトを何度もやり直し、期待する動作周波数でのタイミング保証を行うことに時間と労力が費やされていた。また、最悪の結果として、動作周波数を落として動作させることになったり、チップサイズを大きくすることを余儀なくされたりすることもあった。
そこで、このような問題を解決するために、クリティカルパスであるマスタとスレーブとの間の信号群にレジスタを挿入し、パスを分割することでレジスタ−レジスタ間の遅延量を減少させる方法が採用されている。上述のAXIのようなpoint-to-point接続の場合、2線ハンドシェイクでプロトコルが規定されており、そのハンドシェイクで受け渡す情報の流れが単一方向であるため、比較的レジスタの挿入が容易である。尚、AXIでは、この方式を「レジスタスライス」と呼んでいる。
図3は、図2に示すpoint-to-point接続に対してレジスタスライスを挿入した接続例を示す図である。図3に示す例では、アドレスのチャネルとリードデータのチャネルにそれぞれレジスタスライス301、302を一段挿入してパスを分離している。これにより、マスタ201のアドレス発行からリードデータの取り込みまでのレイテンシが2サイクル分だけ大きくなるが、最大で2倍の動作周波数での動作が可能となる。
特表2004-513430号公報
上述したように、point-to-point接続に対してレジスタを挿入し、パスを分割することで高い動作周波数を保証することができる。但し、動作周波数が上がるからといって一律に性能が向上するわけではなく、スループットと増加するレイテンシとの関係次第では、逆に性能を落としてしまうことも有り得る。
図4、図5を用いて、図2に示すようなpoint-to-point接続した32ビットデータバスでバースト転送を行った場合の動作周波数に対する平均転送速度について説明する。
図4は、16バースト転送を行った場合の動作周波数と転送速度との関係を示す図である。また、図5は、4バースト転送を行った場合の動作周波数と転送速度との関係を示す図である。
図4、図5に示すように、レジスタスライスを挿入した場合と、挿入していない場合とではレイテンシの違いが平均転送速度の違いとして現れている。例えば、図4に示す16バースト転送を行った場合、レジスタスライスなしで120MHz動作で480MByte/sの転送速度を得ている。これに対して、レジスタスライスを挿入すると、少なくとも約135MHz以上の動作周波数で動作させなければレジスタスライスなしの120MHz動作の性能を超えられないことになる。
尚、ここでは、レジスタスライスなしの場合の16バースト転送に要するサイクル数を16サイクルとし、レジスタスライスを挿入した場合では「+2サイクル」のレイテンシ増加により18サイクルとしている。
また、図5に示す4バースト転送を行った場合、レジスタスライスなしで120MHz動作で480MByte/sの転送速度を得ている。これに対して、レジスタスライスを挿入すると、少なくとも約195MHz以上の動作周波数で動作させなければレジスタスライスなしの120MHz動作の性能を超えられないことになる。
つまり、サポートするバースト長が小さくなるほど、レジスタスライスを挿入した場合の動作周波数に対する要求は大きくなってしまう。
以上の結果から、レイアウト段階で目標周波数でのタイミング収束が困難なことが発覚した場合、レジスタスライスを挿入することにより、目標周波数を満足することができたとしても、次のような問題がある。つまり、その目標周波数がレジスタスライスを入れる前の性能に対するものであって、レジスタスライスを挿入した後では、レイテンシ増加に伴って性能を満たせなくなることが有り得る。その場合、選択可能な周波数候補の中から、更に高い周波数を選択し、性能を満足させる必要がある。
開発したシステムLSIを製品仕様に応じて、ローエンド機種からハイエンド機種までプラットフォーム展開する場合に、要求性能が低い製品では高い動作周波数で動作させるより、むしろ低い動作周波数で動作させる方が消費電力を抑えるメリットがある。但し、単純にレジスタスライスを挿入したシステムLSIに対して動作周波数を落とすだけではレイテンシ増加に伴い、性能が満たせない場合が考えられる。
本発明は上記課題を解決するためになされたもので、記憶手段の挿入に伴うレイテンシ増加による性能低下を防止することを目的とする。
本発明は、バスシステムであって、マスタデバイスとスレーブデバイスとの間に挿入された記憶手段を経由する経路か、該記憶手段を経由しない経路の何れかを指定する信号を入力する入力手段と、前記入力手段で入力された信号に応じて前記記憶手段を経由する経路を有効にするか、前記記憶手段を経由しない経路を有効にするかを選択する経路選択手段とを有することを特徴とする。
また、本発明は、バスシステムの経路選択方法であって、マスタデバイスとスレーブデバイスとの間に挿入された記憶手段を経由する経路か、該記憶手段を経由しない経路の何れかを指定する信号を入力する入力工程と、前記入力工程で入力された信号に応じて前記記憶手段を経由する経路を有効にするか、前記記憶手段を経由しない経路を有効にするかを選択する経路選択工程とを有することを特徴とする。
本発明によれば、レイアウト工程でレジスタを挿入する際に、同時にレジスタを経由しない系を設けることで、レジスタ追加に伴うレイテンシ増加による性能低下を防ぎ、要求性能を満足させる最適な周波数を選択することができる。
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
図6は、本実施形態におけるシステムLSI内部の構成例を示す図である。この例では、システムLSI内部に3つのマスタデバイス601〜603と3つのスレーブデバイス604〜606が存在し、それぞれ相互接続されている。また、マスタデバイス601〜603とスレーブデバイス604〜606とを繋ぐプロトコルは、valid、data、readyのシンプルな共通のプロトコル(図1)である。そして、アドレス、ライトデータ、リードデータ、ライトレスポンスの4種類の情報(図2)を通信している。
ここで、マスタ−スレーブ間のデータ転送はバースト転送をサポートしており、最大で16バースト転送が可能である。また、バースト転送長はアドレス情報フェーズでdataの一部として通信される。最速のコンディションで動作する場合、マスタがアドレスを発行して、16バーストのリードデータを取り込むのに16サイクルかかるとする。
尚、以下のような要求性能の異なる製品を本実施形態の1つのシステムLSIでカバーするものと仮定する。
製品A:要求転送速度525MByte/s
製品B:要求転送速度475MByte/s、低電力仕様
図4に示す関係から、レジスタスライスがない場合の要求転送速度525MByte/sを満たす動作周波数は130MHz以上であることがわかる。そこで、本システムではシステムLSIの設計工程において、ハードウェア記述言語を用いて設計、シミュレーション及び論理合成を行い、160MHzでマスタ、スレーブを動作させるようレイアウトするものとする。
製品B:要求転送速度475MByte/s、低電力仕様
図4に示す関係から、レジスタスライスがない場合の要求転送速度525MByte/sを満たす動作周波数は130MHz以上であることがわかる。そこで、本システムではシステムLSIの設計工程において、ハードウェア記述言語を用いて設計、シミュレーション及び論理合成を行い、160MHzでマスタ、スレーブを動作させるようレイアウトするものとする。
[レイアウト結果]
各デバイスがシステムLSI内部でどのように配置されるかは、他の機能モジュールや外部ピンとの関係など様々な要因に依存し、均等に配置されることは少ない。
各デバイスがシステムLSI内部でどのように配置されるかは、他の機能モジュールや外部ピンとの関係など様々な要因に依存し、均等に配置されることは少ない。
ここで、レイアウトした結果、マスタA601−スレーブC606のアドレスとリードデータのパス遅延が7.8nsであったとする。従って、このパスに関しては120MHzでは動作可能であるが、160MHz以上では動作不可能なパス(クリティカルパス)となる。図4からも分かるように、製品Aにおいては120MHzでは目標性能に達しない。尚、それ以外のパスについては全て160MHzでのタイミング保証はできているものとする。
図7は、マスタA601−スレーブC606に着目した構成を示す図である。図7では、マスタデバイス601とスレーブデバイス606とが一対一(point-to-point)で接続されている。ここでは、タイミングを満たせなかったアドレスとリードデータのチャネルについてのみ示している。マスタA601とスレーブC606に入力するクロック702はクロック生成器701で生成されており、複数の周波数候補(120,140,160,180,200MHz)から設定レジスタ711の周波数選択信号712によって選択可能である。
[レイアウト結果からレジスタスライス/バイパス回路の挿入]
図8は、レイアウト工程でレジスタスライス&バイパス回路を挿入した構成を示す図である。図8に示すように、アドレス用valid信号とアドレス、リードデータ用valid信号とリードデータに関して、レイアウト工程において、1段のレジスタを挿入する。同時に、このレジスタスライスの後段にセレクタを挿入し、レジスタスライスを経由するパスと、レジスタスライスを経由しないパスとを選択できるように回路の挿入を行う。また、この選択には、予め本用途のためにopen扱いしていた外部ピンから選択信号を入力するものとする。
図8は、レイアウト工程でレジスタスライス&バイパス回路を挿入した構成を示す図である。図8に示すように、アドレス用valid信号とアドレス、リードデータ用valid信号とリードデータに関して、レイアウト工程において、1段のレジスタを挿入する。同時に、このレジスタスライスの後段にセレクタを挿入し、レジスタスライスを経由するパスと、レジスタスライスを経由しないパスとを選択できるように回路の挿入を行う。また、この選択には、予め本用途のためにopen扱いしていた外部ピンから選択信号を入力するものとする。
[再レイアウト]
再レイアウトの時、レジスタスライスを経由しないパスに関しては動作周波数が160MHzではなく、120MHzでのタイミング保証を行うようにする。また、レジスタスライスを挿入したパスについては160MHzでのタイミング保証を行う。
再レイアウトの時、レジスタスライスを経由しないパスに関しては動作周波数が160MHzではなく、120MHzでのタイミング保証を行うようにする。また、レジスタスライスを挿入したパスについては160MHzでのタイミング保証を行う。
このような回路構成にすることにより、160MHz動作の場合にはレジスタスライスの系、120MHz動作の場合にはレジスタスライスをバイパスする系、という使い方が可能となる。これにより、製品Aについては160MHzで動作させ、また要求性能が製品Aより低い製品Bのような場合、転送120MHzでレジスタバイパスの系を使用する。
尚、製品Bに関しては、レジスタスライスを使用して140MHz或いは160MHzで動作させることでも性能を満たせるが、レジスタスライスを挿入せずに120MHzで動作させる方が消費電力を抑えるというメリットが得られる。
[他の実施形態]
次に、図面を参照しながら本発明に係る他の実施形態について詳細に説明する。
次に、図面を参照しながら本発明に係る他の実施形態について詳細に説明する。
図9は、他の実施形態におけるレジスタスライスをバイパスする構成の一例を示す図である。他の実施形態では、レジスタスライスとマルチプレクサの代わりに2つのトランスペアレントラッチを使用する。具体的には、図9に示すように、LowスルーHighラッチ型903、905とHighスルーLowラッチ型904、906を組み合わせて使用する。
各々のトランスペアレントラッチのゲート入力には、クロック生成器701からマスタA601、スレーブC606へ供給されるクロック702を、バイパスするか否かを選択するバイパス選択信号901でマスクした信号902が入力される。
これにより、高速に動作させるレジスタスライスの系の場合、ラッチのゲート入力にはマスタA601、スレーブC606に供給しているクロック信号と同等のクロックが入力される。一方、レジスタスライスをバイパスし、低速で動作させる場合、ラッチはスルー状態となる。また、バイパス選択信号901は本実施形態と同様に、外部入力ピンと接続する。
尚、以上説明した実施形態では、バイパス選択信号を外部ピンと接続するようにしたが、それ以外にも設定レジスタのフリップフロップ出力とすることも可能である。この場合、レジスタスライスが挿入されるか否かはレイアウト結果に依存するので、予めフロントエンド開発時に制御レジスタを準備しておく。
また、レジスタスライスの段数を1段としたが、配置配線の結果によっては2段以上のレジスタを挿入することも当然あり得る。その場合も同様に本発明を適応できる。また、本発明を適応するマスタ−スレーブ接続を1つのみで取り扱っているが、当然複数の接続についても適応可能である。
以上説明したように、実施形態によれば、レジスタスライスの系と、そのバイパスの系とを設けることで、レジスタスライス追加に伴うレイテンシ増加による性能低下を防ぎ、要求性能に対してオーバースペックにならない最適な周波数を選択できるようになる。
尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
このプログラムコードを供給するための記録媒体としては、例えばフロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合。
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
Claims (9)
- マスタデバイスとスレーブデバイスとの間に挿入された記憶手段を経由する経路か、該記憶手段を経由しない経路の何れかを指定する信号を入力する入力手段と、
前記入力手段で入力された信号に応じて前記記憶手段を経由する経路を有効にするか、前記記憶手段を経由しない経路を有効にするかを選択する経路選択手段とを有することを特徴とするバスシステム。 - 前記記憶手段は高周波数で動作させるためにレイアウト工程で挿入したレジスタであり、前記経路選択手段はセレクタによって構成されることを特徴とする請求項1記載のバスシステム。
- 前記記憶手段及び前記選択手段はトランスペアレントラッチによって構成されることを特徴とする請求項1記載のバスシステム。
- 前記入力手段は外部と接続するための外部ピンを介して前記信号を入力することを特徴とする請求項1記載のバスシステム。
- 前記選択入力手段は所定の制御レジスタから出力される前記信号を入力することを特徴とする請求項1記載のバスシステム。
- 前記経路選択手段は、前記記憶手段の後段に自動生成されることを特徴とする請求項1記載のバスシステム。
- マスタデバイスとスレーブデバイスとの間に挿入された記憶手段を経由する経路か、該記憶手段を経由しない経路の何れかを指定する信号を入力する入力工程と、
前記入力工程で入力された信号に応じて前記記憶手段を経由する経路を有効にするか、前記記憶手段を経由しない経路を有効にするかを選択する経路選択工程とを有することを特徴とするバスシステムの経路選択方法。 - 請求項7記載のバスシステムの経路選択方法をコンピュータに実行させるためのプログラム。
- 請求項8記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005199142A JP2007018264A (ja) | 2005-07-07 | 2005-07-07 | バスシステム及びその経路選択方法 |
| US11/480,989 US7461187B2 (en) | 2005-07-07 | 2006-07-06 | Bus system and data transfer method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005199142A JP2007018264A (ja) | 2005-07-07 | 2005-07-07 | バスシステム及びその経路選択方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2007018264A true JP2007018264A (ja) | 2007-01-25 |
Family
ID=37755387
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005199142A Withdrawn JP2007018264A (ja) | 2005-07-07 | 2005-07-07 | バスシステム及びその経路選択方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2007018264A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013122713A (ja) * | 2011-12-12 | 2013-06-20 | Toshiba Corp | 半導体装置 |
-
2005
- 2005-07-07 JP JP2005199142A patent/JP2007018264A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013122713A (ja) * | 2011-12-12 | 2013-06-20 | Toshiba Corp | 半導体装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8286025B1 (en) | Selection of port adapters for clock crossing boundaries | |
| CN101669102B (zh) | 多芯片总线实施方案中的数据的串行化 | |
| Cordan | An efficient bus architecture for system-on-chip design | |
| US6769046B2 (en) | System-resource router | |
| JP5398540B2 (ja) | シリアル相互接続されたデバイスのためのid発生装置および方法 | |
| US8339869B2 (en) | Semiconductor device and data processor | |
| JP2002049576A (ja) | チップ搭載システムのためのバス・アーキテクチャ | |
| EP1222554A1 (en) | Improved synchronous operation of an advanced peripheral bus with backward compatibility | |
| Sharma et al. | Wishbone bus architecture-a survey and comparison | |
| JP2002323995A (ja) | トレース回路 | |
| US6718411B2 (en) | Asic system architecture including data aggregation technique | |
| US7461187B2 (en) | Bus system and data transfer method | |
| US20040006664A1 (en) | System and method for efficient chip select expansion | |
| JP7689117B2 (ja) | プログラマブルデバイス構成メモリシステム | |
| CN104834629A (zh) | 总线型的中央处理器 | |
| JP2007018264A (ja) | バスシステム及びその経路選択方法 | |
| CN118746746A (zh) | 一种基于单片fpga的多芯片测试系统 | |
| CN119106643A (zh) | 一种用于异构芯片的原型验证系统及方法 | |
| CN115952132B (zh) | 异步桥、soc、电子组件、电子设备及芯片设计方法 | |
| JP2007048280A (ja) | バスモニタリングのための集積回路装置及びその方法 | |
| JP4840963B2 (ja) | バスシステム及びその制御方法 | |
| US7353297B2 (en) | Handling of write transactions in a data processing apparatus | |
| KR100596980B1 (ko) | 주변 장치의 내부 스트로브 신호 생성을 위한 장치,시스템 및 방법 | |
| JP2008122374A (ja) | シリアライザ/デシリアライザ・バスコントローラ・インターフェース | |
| JP4799137B2 (ja) | バスシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20081007 |