JP4920638B2 - Lsiシステムの設計方法及びlsiシステムの設計支援装置 - Google Patents

Lsiシステムの設計方法及びlsiシステムの設計支援装置 Download PDF

Info

Publication number
JP4920638B2
JP4920638B2 JP2008140210A JP2008140210A JP4920638B2 JP 4920638 B2 JP4920638 B2 JP 4920638B2 JP 2008140210 A JP2008140210 A JP 2008140210A JP 2008140210 A JP2008140210 A JP 2008140210A JP 4920638 B2 JP4920638 B2 JP 4920638B2
Authority
JP
Japan
Prior art keywords
lsi
transmission
reception buffer
design support
connection target
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.)
Expired - Fee Related
Application number
JP2008140210A
Other languages
English (en)
Other versions
JP2009009556A (ja
Inventor
弘敬 安藤
孝志 中村
竜弥 中村
和徳 関
Original Assignee
インベンチュア株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by インベンチュア株式会社 filed Critical インベンチュア株式会社
Priority to JP2008140210A priority Critical patent/JP4920638B2/ja
Publication of JP2009009556A publication Critical patent/JP2009009556A/ja
Application granted granted Critical
Publication of JP4920638B2 publication Critical patent/JP4920638B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は,LSIシステムの設計方法及びLSIシステムの設計支援装置などに関する。より詳しく説明すると,本発明は,実際のLSIを製造する前にPCI Expressなどの高速シリアルバスを実現する最適な機能ブロックを設計でき,そのような最適な機能ブロックを評価でき,さらには仮想的な機能ブロックを構築できるLSIシステムの設計方法,及びLSIシステムの設計支援装置などに関する。
高速シリアルインターフェィスとして,PCIバス方式の後継規格に当るPCI Express(登録商標)というインターフェイスが提案されている(例えば,非特許文献1参照)。PCI Express(PCIe)を有するシステムは,必ず上流コンポーネントと下流コンポーネントの一対一接続のリンクを形成する。リンクは,送受信の差動信号の固まりであるレーンからなる。このレーンは,必要帯域に合わせてリンクを束ねた,1,2,4,8,12,16又は32レーンから構成される。PCIe転送方式において,メモリ書込み要求等の「ポスト転送」及びメモリ読取り転送等は,命令と応答の分割転送方式が採用されている。そして,分割転送方式は,読取り命令等の「ノンポスト転送」及び読取り応答等の「コンプリション転送」の3つに大別され,それぞれ通信相手側のバッファの空き情報を監視しながらリンク間通信を行うクレジット型のフロー制御によって管理されている。
PCIeの転送レートは,レーン当たり単方向2.5Gbps又は5Gbpsである。PCIeの転送レートは,8B/10Bによる損失が起こる。また,リンク間で定義される最大読取り要求サイズ及び最大ペイロードサイズに基づき通信パケット(TLP)を分割転送するため,パケットヘッダー部のオーバヘッドが生じる。更にTLPを補助するデータリンクレイヤーのパケット群として,TLPが転送先まで正常または異常状態で届いたことを伝達するACK/NAK DLLP,及び通信相手先の受信バッファの空き情報を伝達するUpdate−FC DLLPが転送種別毎に応答される。さらに,リンク間のクロック位相差を保つために定期的に挿入されるSKPオーダセット等の下位レイヤーのパケットが割込む自体も生ずる。よって,PCIeの実行転送レートは,様々な要因により減少する。
一方,従来のLSI設計では,高速シリアルインターフェィスを実現するための機能ブロックを製造した後に,その性能を評価していた。このため,必ずしも最適な実行転送レートを有する機能ブロックを実現できないか,必要以上に多くのレーンやバッファを用いるように設計されていた。PCIeでは,接続を行う相手方の装置と1対1で接続されリンクを形成する。よって,接続を行う相手方の受信バッファや応答時間などの情報を把握しなければ,転送帯域を考慮したPCIe機能ブロックを開発できない。
"PCI Express規格の概要" Interface誌,July’ 2003 里見尚志
本発明は,最適なレーン数やバッファ構成を有する高速シリアルバスを実現するための機能ブロックを設計する方法,及びそのような機能ブロックを有するLSIシステムを設計する方法を提供することを目的とする。
本発明は,製造する前の高速シリアルバスを実現するための機能ブロックと同等のスペックを有する仮想的な機能ブロックを製造する方法を提供することを目的とする。
本発明は,最適なレーン数やバッファ構成を有する高速シリアルバスを実現するための機能ブロックを設計するための設計支援装置,及びそのような機能ブロックを有するLSIシステムの設計支援装置を提供することを目的とする。
本発明は,最適なレーン数やバッファ構成を有する高速シリアルバスを実現するための機能ブロックを設計する方法,及びそのような機能ブロックを有するLSIシステムを設計する方法に基づいて製造された,機能ブロックやLSIを提供することを目的とする。
本発明のLSI設計支援装置を用いて,LSIシステムを製造できる。そして,そのようなLSIシステムを製造する前に,接続コンポーネントと本発明のLSI設計支援装置とを接続する。その上で,LSI設計支援装置内のレーンやバッファ構成を変化させつつ,様々な情報転送状況を作り出すことで,最適なリンク構成を決定する。このリンク構成には,レーン数,送受信バッファの構成(段数及び容量など)が含まれる。このようにして,PCIe機能ブロックなどの高速シリアルインターフェィスを達成する機能ブロックの構成を決定できる。
LSI設計システム内にPCIe機能ブロックを構築した後に,LSI設計システム内のアプリケーション機能ブロックとPCIe機能ブロックとを接続する。これらの機能ブロックは,LSI設計システム内にあり,実際のLSIシステムにはないが,将来実際のLSIシステム内で再現されるモデルである。よって,このようにして,LSI設計システム内に仮想的なLSIシステムが構築されることとなる。LSI設計システムは,高い転送負荷状況を作り出す機能ブロックを有しており,また,レーン数やバッファ構成なども制御できるようにされている。そこで,LSI設計システム内において,自由にエラー状況を発生させ,様々な異常事態を発生させることができる。本発明のLSI設計システムによれば,そのような様々な状況における仮想的なLSIシステムの転送能力などを評価できる。また,評価過程において得られる各種パラメータを用いれば,実際の製品に用いられるソフトウェアなどを開発することもできることとなる。
これらの工程を経て,LSIシステムを設計するために必要な各種情報(パラメータ等)に関する情報が,LSI設計支援装置内に蓄積される。よって,LSIシステムを設計するための情報を,出力装置から出力し,その情報を用いて,LSIシステムを構築することで,最適なPCLe機能ブロックを有するLSIシステムを製造できる。
一方,上記の工程を遂行する際に,LSI設計支援装置内には,接続対象システムの各種情報(レーン数,受信バッファの容量など)が蓄積される。また,LSI設計支援装置は,レーン数,送受信バッファの段数,容量などを変化させることできる。よって,LSI設計支援装置は,LSI設計支援装置内に仮想的な接続対象システムを構築できる。このようにして構築された仮想的な接続システムは,実際に製造されたLSIシステムと接続させることができる。通常の接続対象システムは,通信速度などを変化させることは難しい。しかしながら,LSI設計支援装置は,通信速度などの各種スペックを変化させることができる。よって,接続対象システムに各種異常が起こった状況をも作り出すことができる。よって,LSI設計支援装置を用いることで,接続対象システムに異常が生じた際における,製造されたLSIシステムの耐久性などの特性を評価することができる。
すなわち,本発明は,高速シリアルバス,及び前記高速シリアルバスを実現するための機能ブロックを有するLSIシステムの設計方法であって,LSI設計支援装置を,前記LSIシステムと接続される接続対象システムに接続する工程と,前記LSI設計支援装置が,前記LSI設計支援装置の送受信バッファの段数及び送受信バッファの容量を変化させるとともに,前記接続対象システムへ送信される送信パケット又は受信パケットの種類ごとの数とそれらパケットに対する前記接続対象システムの応答時間を監視することで,前記LSI設計支援装置と前記接続対象システムとのリンク通信速度を計測し,前記機能ブロックとして最適な送受信バッファの段数,及び送受信バッファの容量を決定する工程と,を含む,LSIシステムの設計方法に関する。
本発明の好ましい態様は,前記送受信バッファの段数,及び送受信バッファの容量を決定する工程の代わりに,現状リンクが形成されているレーン数を最大として,前記最大レーン数以下のレーン数であって要求転送帯域を満たすレーン数となるように,前記LSI設計支援装置の各リンクで設定された通信パケットヘッダー部のオーバヘッドを用いて各レーンの実行転送レートを求め,この実行転送レートとレーン辺りの実行転送レートと比較することで,必要レーン数を割り出し,前記LSI設計支援装置におけるレーン数を変動させるとともに,前記LSI設計支援装置における送受信バッファのヘッダ及びペイロードサイズを変化させ,送信パケット又は受信パケットの種類ごとの数とそれらパケットに対する応答時間を監視し,最適なレーン数及び送受信バッファ構成を決定する工程を含む,上記のLSIシステムの設計方法に関する。
本発明の好ましい態様は,前記高速シリアルバスが,PCI Express(PCIエクスプレス)規格の高速シリアルバスである上記に記載のLSIシステムの設計方法に関する。
本発明の好ましい態様は,上記いずれかに記載のLSIシステムの設計方法を用いて,前記LSI設計支援装置内に,LSIシステムに構築される機能ブロックと同様の機能ブロックとして最適なレーン数,送受信バッファの段数,及び送受信バッファの容量を有する機能ブロックを構築する,PCI Express用仮想機能ブロックの製造方法に関する。
本発明の好ましい態様は,前記LSI設計支援装置は,前記LSIシステムに用いられるアプリケーション機能ブロックを具備し,上記いずれかに記載の仮想機能ブロックの製造方法により構築された機能ブロックと,前記アプリケーション機能ブロックとを接続する工程を含む,仮想LSIシステムの製造方法に関する。
本発明の好ましい態様は,上記いずれかに記載の製造方法により構築された仮想LSIシステムを含む,LSI設計支援装置を用いる,前記LSIシステムの性能評価方法に関する。
本発明の好ましい態様は,上記に記載の性能評価方法により得られたLSIシステムの設計用パラメータを出力する工程と,前記出力されたLSIシステムの設計用パラメータを用いて実際のLSIシステムを製造する工程とを含む,LSIシステムの製造方法に関する。なお,LSIシステムの設計用パラメータには,たとえば,レーン数,転送速度,送受信バッファの構成などの情報が適宜含まれればよい。また,LSIシステムは,仮想LSIシステムを構築する際に用いられた情報に基づいて製造されても良い。
本発明の好ましい態様は,上記いずれかに記載の製造方法により仮想LSIシステムを構築する際に,前記接続対象システムの受信バッファ構成に関する情報を入手するとともに,前記接続対象システム応答速度を測定し,前記LSI設計支援装置のレーン数及び送受信バッファの構成を,得られた受信バッファ構成及び応答速度にあわせて変化させることで,前記LSI設計支援装置内に,実際に製造されたLSIシステムと接続することができる,仮想的な接続対象システムを構築する,仮想的な接続対象システムの製造方法に関する。
本発明の好ましい態様は,上記いずれかに記載の仮想的な接続対象システムの製造方法により製造された仮想的な接続対象システムと,上記いずれかに記載のLSIシステムの製造方法により製造されたLSIシステムとを接続する工程と,前記仮想的な接続対象システムのレーン数,送受信バッファの段数,送受信バッファの容量,転送負荷の容量のうちいずれか1つ以上を変化させて,LSIシステムの性能を評価する,LSIシステムの性能評価方法に関する。
本発明の好ましい態様は,高速シリアルバス,及び前記高速シリアルバスを実現するための機能ブロックを有するLSIシステムを設計するための設計支援装置であって,前記LSIシステムが接続される接続対象システムの高速シリアルバスと接続するための高速シリアルバスと,前記接続対象システムから前記高速シリアルバスの最大レーン数,前記機能ブロックの送受信バッファ情報,最大読み取りサイズ,及び最大ペイロードサイズを含む情報を読み取るための手段と,前記接続対象システムと接続される高速シリアルバスのレーン数を変化させる手段と,送受信バッファの段数及び送受信バッファの容量を変化させる手段と,送信パケット又は受信パケットの種類ごとの数とそれらパケットに対するLSIシステムの応答時間を監視する手段と,前記監視した応答時間に基づいて,送信パケット又は受信パケットの種類ごとの数とそれらパケットに対する接続対象システムの通信速度を解析する手段と,前記解析結果に基づいて,機能ブロックとして最適な送受信バッファの段数,及び送受信バッファの容量を決定する手段と,を含む,LSIシステムの設計支援装置に関する。
本発明の好ましい態様は,前記高速シリアルバスが,PCI Express(PCIエクスプレス)規格の高速シリアルバスである上記いずれかに記載のLSIシステムの設計支援装置に関する。
本発明によれば,最適なレーン数やバッファ構成を有する高速シリアルバスを実現するための機能ブロックを設計する方法,及びそのような機能ブロックを有するLSIシステムを設計する方法を提供できる。
本発明によれば,製造する前の高速シリアルバスを実現するための機能ブロックと同等のスペックを有する仮想的な機能ブロックを製造する方法を提供できる。
本発明によれば,最適なレーン数やバッファ構成を有する高速シリアルバスを実現するための機能ブロックを設計するための設計支援装置,及びそのような機能ブロックを有するLSIシステムの設計支援装置を提供できる。
本発明によれば,最適なレーン数やバッファ構成を有する高速シリアルバスを実現するための機能ブロックを設計する方法,及びそのような機能ブロックを有するLSIを設計する方法に基づいて製造された,機能ブロックやLSIシステムを提供できる。
LSI設計支援装置の構成
図1は,LSI設計支援装置の構成,及びLSI設計支援装置と接続対象システムの接続例を示すための概念図である。図1に示されるように,LSI設計支援装置は,外部PCなどの外部制御装置と接続するためのインターフェイス,各種演算処理を行うためのプロセッサ,転送帯域速度を計測するためのタイマ,高負荷転送を実現するDMAコントローラ,バッファなどのメモリと接続されメモリを制御するためのメモリコントローラ,アプリケーション機能ブロックと接続するためのアプリケーション機能バスコントローラ,及びPCIe機能ブロックとを具備し,各要素はバスなどにより情報の授受を行うことができるように接続されている。そして,LSIシステムとのリンク情報を制御する機構,転送要因を解析するための機構,LSIシステムの要求帯域構成を分析し,LSI設計支援装置内に適切な機能ブロックを構築するための指令を出力する機構を有する。
高速シリアルバスを有するLSIシステムは,たとえばPCIe規格に準拠したスロットを有する。一方,LSI設計支援装置は,そのスロットにはまる端子を有する。そこで,LSI設計支援装置の端子をLSIシステムのPCIeスロットなどに差し込むことで,LSIシステムの高速シリアルバスとLSI設計支援装置とを接続できる。
LSI設計支援装置は制御用コンピュータからの指令を受け,DMAコントローラを起動し高負荷転送の状態を作り出す。LSIシステムを実動作させながらLSI設計支援装置内に備えた情報を抽出及び加工しPCIe機能ブロック構成を動的に変更しながら要求する転送性能を実現するための構成を決定する。
具体的には,LSI設計支援装置が,接続対象システムから,LSIシステムの高速シリアルバスの最大レーン数,機能ブロックの送受信バッファ情報,最大読み取りサイズ,及び最大ペイロードサイズを含む情報を読み取る。また,接続対象システムの受信バッファ構成に関する情報を読み取る。
LSI設計支援装置が,機能ブロックとして最適なレーン数を決定する。最大読み取りサイズ及び前記最大ペイロードサイズを用いて,送信パケット又は受信パケットの種類ごとの数とそれらパケットに対する接続対象システムの応答時間を監視することで,LSI設計支援装置と前記接続対象システムとのリンク通信速度を計測し,機能ブロックとして最適なレーン数を決定する。すなわち,様々な条件で応答時間を観測し,その結果を比較する。そして,応答時間に最も優れている条件を最適な条件とする。このレーン数は,最大レーン数以下のレーン数であって要求転送帯域を満たすレーン数となるよう設計する。好ましい態様では,前記LSI設計支援装置と前記接続対象システムの各リンクで設定された通信パケットヘッダー部のオーバヘッドを用いて各レーンの実行転送レートを求め,この実行転送レートとレーン辺りの実行転送レートと比較する。このようにすることで,必要レーン数を割り出し,前記LSI設計支援装置におけるレーン数を変動させ送信パケット又は受信パケットの種類ごとの数とそれらパケットに対する接続対象システムの応答時間を監視し,最適なレーン数を決定する。このように,LSI設計支援装置は,動的にレーン数を制御できるものが好ましい。レーン数は,複数のレーンのそれぞれを使用するか使用しないかを変化させることで,制御できる。
LSI設計支援装置が,送受信バッファの段数及び送受信バッファの容量を変化させるとともに,送信パケット又は受信パケットの種類ごとの数とそれらパケットに対する接続対象システムの応答時間を監視する。これにより,前記LSI設計支援装置と前記接続対象システムとのリンク通信速度を計測し,機能ブロックとして最適な送受信バッファの段数,及び送受信バッファの容量を決定する。送受信バッファの段数は,複数ある送受信バッファのうちあるものを使用するか使用しないか変化させることで制御できる。すなわち,様々な条件で応答時間を観測し,その結果を比較する。そして,応答時間に最も優れている条件を最適な条件とする。また,送受信バッファの容量は,使用する記憶装置の領域を変化させることで制御できる。具体的には,DMAコントローラを用いて高負荷転送状態を作り出し,PCIe機能ブロック内の転送種別送受信バッファのヘッダ段数及びペイロード容量の構成を変動させながら,接続対象コンポーネント間のリンク通信速度を計測し,要求転送帯域を満たしうる必要最低限の送受信バッファ構成を決定すればよい。すなわち,送受信バッファのヘッダ及びペイロードを可変とする手段を具備することで,最適なバッファ構成を把握することができる。このようにLSI設計支援装置内の構成を変動させながら通信速度などを実測することにより,要求転送帯域を満たす最小限の構成(レーン構成及びバッファ構成)を達成できる。
具体的な測定内容としては,以下のものがあげられる。まず,測定サンプル時間を設定する。そして,LSI設計支援装置内に搭載されたDMA機能を用いて,指定された転送に対する高負荷状態作り出す。そして,LSI設計支援装置内に備えたイベントカウント機能,及びタイマ機能を用いて,制御用PCなどでサンプルした計測データ(レジスタ値)を読み出して計算すればよい。測定データ内容は,LSI設計支援装置内に実装される。測定データ内容として,測定サンプル時間(たとえばmS単位),測定サンプル時間内の対象TLP転送パケット数,及び測定サンプル時間内のTLPパケット占有時間があげられる。これらの測定データ内容を用いることで,一定時間当りの転送バイト数を以下のようにして算出することができる。一定時間当りの実データペイロード=TLP占有時間−TLPヘッダ=((占有時間×時間当たりの転送能力)−(TLP数×12[Byte]))である。
すなわち,本発明のLSI設計支援装置によれば,接続対象システム(既存デバイス)と開発対象LSIシステムとのリンク間構成について,要求する転送帯域を実現するために必要なリンク構成を自動解析し,開発対象LSIシステムに搭載される最適なPCIe機能ブロック構成を導き出すことができる。このような最適スペック(レーン数,送受信バッファの段数及び送受信バッファの容量)を有するPCIe機能ブロックをLSI設計支援装置内に実現する。これにより,仮想的な機能ブロックを構築できることとなる。最適スペック(レーン数,送受信バッファの段数及び送受信バッファの容量)を有する仮想的なPCIe機能ブロックに関する情報を用いれば,実際のLSIを構築する前に,製造後のLSIの性能を評価することができる。
次に,アプリケーション接続バスコントローラを制御して,仮想的な機能ブロックと,アプリケーション機能ブロックと連結動作させる。これにより,仮想LSIとして性能評価並びに解析を行うことができる。このように設計した機能ブロックと,アプリケーション機能ブロックとを接続し,接続した結果得られる動作情報を分析することで,最適なインターフェイス手順を案内することができ,さらに最適なインターフェイス手順を解析することができる。
一方,インターフェィスを介して,最適スペック(レーン数,送受信バッファの段数及び送受信バッファの容量)を有するPCIe機能ブロックに関する情報を出力することで,現実のLSIシステムを構築するための情報を得ることができる。そして,そのような設計情報を用いれば,容易にPCIe規格に準拠した最適な機能ブロックを有するLSIシステムを得ることができることとなる。なお,PCなどに出力された最適スペック(レーン数,送受信バッファの段数及び送受信バッファの容量)を有するPCIe機能ブロックに関する情報を用いれば,実際のLSIシステムを構築する前に,製造後のLSIシステムの性能を評価することができる。なお,LSIシステムの性能を評価し,その結果得られた情報を元に,LSIシステムの設計情報を更新し,その更新された情報に基づいてLSIシステムを製造しても良い。
本発明の機能ブロックの決定方法は,たとえば,接続対象システムと前記LSI設計支援装置とを接続することでリンクを形成する工程と,前記LSI設計支援装置のレーン構成及びバッファ構成を変化させつつ,前記接続対象システムへと転送されるパケットの種類及び量を変化させて,リンク間通信速度を測定する工程と,前記工程得られた測定情報から最適な前記機能ブロックのバッファ構成を決定する工程を有するものがあげられる。次に本発明のLSI支援装置の利用方法の例について説明する。
LSI設計支援装置を接続対象システム(これは,将来LSIシステムと接続されるシステムである)に接続する。LSI設計支援装置は,PCIeシステムにおけるリンク間転送装置として機能する。その上で,通信速度などを実測しつつLSI設計支援装置内のレーン構成,バッファ構成を適宜変化させることで,最適なリンク構成(レーン数,バッファ構成)を決定できる。
また,LSI設計支援装置は,レーン数やバッファ構成を変化させられるため,将来LSIシステムに構築されるPCIe機能ブロックを再現できる。LSI設計支援装置は,このようにしてLSI設計支援装置内に再現したPCIe機能ブロックと接続できるアプリケーション機能ブロックを有するので,LSI設計支援装置内に再現したPCIe機能ブロックとアプリケーション機能ブロックとを動作させ,動作を観測することで,最適なインターフェィス手順を解析できる。このようにすることで,LSIシステムを実際に製造する前の段階で,PCIe機能ブロック又はPCIe機能ブロックを含むLSIシステムの性能を評価できる。
さらに,LSI設計支援装置は,上記のようにして得られたPCIe機能ブロックに関する情報を出力部から出力することで,実際のPCIe機能ブロックを製造することができる。
また,LSI設計支援装置は,レーン数やバッファ構成を分析する際に,接続対象システムの受信バッファや応答時間などの情報を把握し,記憶する。このため,LSI設計支援装置は,レーン数やバッファ構成を調整することで,接続対象システムの受信バッファや応答時間などを再現し,接続対象システムの擬似モデルとして機能しうる。LSI設計支援装置は,さらにDMAコントローラなどの高負荷転送を実現する構成などを有しているので,接続対象システムの擬似モデルから転送量などを変化したモデルを作り出し,様々な状況におけるLSIシステムと接続対象システムのリンク評価を行うことができることとなる。LSI設計支援装置は,自由に転送状態や異常状態を作り出すことができるので,LSIの設計や機能評価に有益である。
すなわち,本発明のLSI設計支援装置は,PCIeリンクを最適化する際には,接続対象システムをROOTとして用いることができ,一方,実際のLSIシステムを構築した後は,そのLSIシステムと接続されるROOTとして用いることができる。
PCI Express規格の概要
本実施の形態は高速シリアルバスの一つであるPCI Express(登録商標)を利用するものである。そこで,PCI Express規格の概要について説明する。ここで,高速シリアルバスとは,1本の伝送路を用いてシリアル(直列)伝送により高速(100Mbps程度以上)にデータをやり取りすることができるインターフェイスを意味する。
ポート(Port)/レーン(Lane)/リンク(Link)
ポートは,物理的には同一半導体内にあり,リンクを形成するトランスミッタ/レシーバの集合である。ポートは,論理的にはコンポーネント間を1対1で接続(ポイント・ツー・ポイント)するインターフェイスである。転送レートは,例えば片方向2.5Gbps又は5Gbpsとされている(将来的には,10Gbpsが想定されている)。レーンは,例えば0.8Vの差動信号ペアのセットで,送信側の信号ペア(2本),受信側の信号ペア(2本)からなる。リンクは,2つのポートとその間を結ぶレーンの集まりであり,コンポーネント間のデュアルシンプレックス通信バスである。「xNリンク」はN本のレーンから構成され,現在の規格では,N=1,2,4,8,16,32が定義されている。デバイス間を結ぶこのレーン幅Nを変化させることにより,スケーラブルなバンド幅を構築できる。
ルートコンプレックス(Root Complex)
ルートコンプレックスは,I/O構造の最上位に位置し,CPUやメモリサブシステムをI/Oに接続するための要素である。ルートコンプレックスは,「メモリハブ」と記述されることもある。ルートコンプレックスは,1つ以上のPCI Expressポート(ルートポート)を持ち,各々のポートは独立したI/O階層ドメインを形成する。
エンドポイント(End Point)
エンドポイントは,タイプ00hのコンフィグレーション空間ヘッダを持つデバイスで,レガシーエンドポイントとPCI Expressエンドポイントとに分けられる。
スイッチ(Switch)
スイッチは,2つ以上のポートを結合し,ポート間でのパケットルーティングを行うための要素である
PCI Express−PCIブリッジ
PCI Express−PCIブリッジは,PCI ExpressからPCI/PCI−Xへの接続を提供する。これにより,既存のPCI/PCI−XデバイスをPCI
Expressシステム上で使用することができる。
階層アーキテクチャ
PCIexpressでは,独立した階層構造とされ,各層に分けて仕様が定義されている。PCIexpressの階層アーキテクチャは最上位のソフトウェア,最下位の機(メカニカル)部間に,トランザクション層,データリンク層,及び物理層を持つ構造とされている。
トランザクション層
トランザクション層は,階層アーキテクチャの最上位に位置し,トランザクションレイヤパケット(TLP)の組み立て,分解機能を持つ。トランザクションレイヤパケット(TLP)は,リード/ライト,各種イベントといったトランザクションの伝達に用いられる。また,トランザクション層は,トランザクションレイヤパケット(TLP)のためのクレジットを用いたフロー制御を行う。
データリンク層
データリンク層の主な役割は,エラー検出/訂正(再送)によりトランザクションレイヤパケット(TLP)のデータ完全性を保証することと,リンク管理である。データリンク層間では,リンク管理やフロー制御のためのパケットのやり取りを行う。このパケットは,トランザクションレイヤパケット(TLP)と区別するために,データリンクレイヤパケット(DLLP)と呼ばれる。
物理層
物理層は,ドライバ,入力バッファ,パラレル−シリアル/シリアル−パラレル変換器,PLL,インピーダンス整合回路といったインターフェイス動作に必要な回路を含んでいる。また,論理的な機能としてインターフェイスの初期化・保守の機能を持つ。物理層は,データリンク層/トランザクション層を実際のリンクで使用される信号技術から独立させる役目も持っている。
なお,PCI Expressのハードウェア構成上,エンベデッド・クロックという技術を採用しており,クロック信号はなく,クロックのタイミングはデータ信号中に埋め込まれており,受信側でデータ信号のクロスポイントを基にクロックを抽出する方式とされている。
コンフィグレーション空間
PCI Expressは,4096バイトのコンフィグレーション空間を持つ。PCI Expressでは,コンフィグレーション空間へのアクセスは,フラットなメモリ空間へのアクセス(コンフィグレーションリード/ライト)で行われ,バス/デバイス/機能/レジスタ番号はメモリアドレスにマップされている。
コンフィグレーション空間の先頭256バイトは,PCIコンフィグレーション空間として,BIOSや従来のOSからI/Oポートを使用した方法でもアクセスできる。従来のアクセスをPCI Expressでのアクセスに変換する機能は,ホストブリッジ上に実装される。00hから3FhまではPCI2.3互換のコンフィグレーションヘッダとなっている。これにより,PCI Expressで拡張された機能以外であれば,従来のOSやソフトウェアをそのまま使用することができる。PCI Expressにおけるソフトウェア層は,既存のPCIと互換性を保ったロード・ストア・アーキテクチャ(プロセッサが直接I/Oレジスタをアクセスする方式)を継承している。しかし,PCI Expressで拡張された機能(例えば,同期転送やRAS(Reliability,Availability and Serviceability)などの機能)を使用するには,4KバイトのPCI Express拡張空間にアクセスできるようにする必要がある。
なお,PCI Expressとしては様々なフォームファクタ(形状)が考えられるが,具体化している例としては,アドインカード,プラグインカード(Express CARD),Mini
PCI Expressなどがある。
アドレス空間とトランザクションタイプ
PCI Expressでは,従来のPCIでサポートされていたメモリ空間(メモリ空間とのデータ転送用),I/O空間(I/O空間とのデータ転送用),コンフィグレーション空間(デバイスのコンフィグレーションとセットアップ用)に加えて,メッセージ空間が追加され,4つのアドレス空間が定義されている。そして,各々の空間に対してトランザクションタイプが定義されている(メモリ空間,I/O空間,コンフィグレーション空間は,リード/ライト,及びメッセージ空間)。
トランザクションレイヤパケット(TLP)
PCI Expressは,パケット単位で通信を行う。トランザクションレイヤパケット(TLP)のフォーマットにおいて,たとえば,ヘッダのヘッダ長は3DW(DWはダブルワードの略;合計12バイト)又は4DW(16バイト)で,トランザクションレイヤパケット(TLP)のフォーマット(ヘッダ長とペイロードの有無),トランザクションタイプ,トラフィッククラス(TC),アトリビュートやペイロード長などの情報が含まれる。パケット内の最大ペイロード長は1024DW(4096バイト)である。
ECRCは,エンドツーエンドのデータ完全性を保証するためのもので,トランザクションレイヤパケット(TLP)部分の32ビットCRCである。これは,スイッチ内部などでトランザクションレイヤパケット(TLP)にエラーが発生した場合,LCRC(リンクCRC)ではエラーを検出できないためである(エラーとなったTLPでLCRCが再計算されるため)。
トラフィッククラス(TC)と仮想チャネル(VC)
上位のソフトウェアは,トラフィッククラス(TC)を使用することによりトラフィックの差別化(優先度をつける)を行うことができる。例えば,映像データをネットワークのデータよりも優先して転送する,といったことが可能となる。トラフィッククラス(TC)はTC0からTC7まで8つある。
仮想チャネル(VC:Virtual Channel)は,各々独立した仮想通信バス(同一のリンクを共用する複数の独立したデータ・フロー・バッファを使用するメカニズム)で,各々がリソース(バッファやキュー)を持ち,独立したフロー制御を行う。これにより,1つの仮想チャネルのバッファが満杯の状態(full)になっても,他の仮想チャネルの転送を行うことができる。つまり,物理的には1つのリンクを仮想的な複数のチャネルに分けることで,有効に使用することができる。例えば,スイッチを経由してルートのリンクが複数のデバイスに分かれる場合,各デバイスのトラフィックの優先度を制御することができる。VC0は必須で,コストパフォーマンスのトレードオフに応じてその他の仮想チャネル(VC1〜VC7)が実装される。
トランザクション層内では,トラフィッククラス(TC)が仮想チャネル(VC)にマッピングされる。1つの仮想チャネル(VC)に対して1つ又は複数のトラフィッククラス(TC)をマッピングできる(仮想チャネル(VC)の数が少ない場合)。単純な例では,各トラフィッククラス(TC)から各仮想チャネル(VC)に1対1,全てのトラフィッククラス(TC)を仮想チャネルVC0にマッピングする,といったことが考えられる。TC0−VC0のマッピングは,必須/固定で,それ以外のマッピングは上位のソフトウェアから制御される。ソフトウェアはトラフィッククラス(TC)を利用することで,トランザクションの優先度を制御できる。
フロー制御
受信バッファのオーバーフローを避け,伝送順序を確立するためにフロー制御(FC:Flow Control)が行われる。フロー制御は,リンク間のポイントツーポイントで行われ,エンドツーエンドではない。従って,フロー制御により最終的な相手(コンプリータ)にパケットが届いたことを確認することはできない。
PCI Expressのフロー制御は,クレジット・ベースで行われる(データ転送を始める前に,受け取り側のバッファの空き状況を確認し,オーバーフロー,アンダフローが発生しないメカニズム)。受信側はリンク初期化時にバッファ容量(クレジット値)を送信側に通知し,送信側はクレジット値と送信するパケットの長さとを比較し,一定の残りがある場合のみパケットを送信する。
フロー制御の情報交換はデータリンク層のデータリンクレイヤパケット(DLLP)を使用して行われる。フロー制御はトランザクションレイヤパケット(TLP)のみに適用され,データリンクレイヤパケット(DLLP)には適用されない(DLLPは常時送受信可能)。
トランザクションレイヤパケット(TLP)の扱い
トランザクション層から受け取ったトランザクションレイヤパケット(TLP)に対しては,先頭に2バイトのシーケンス番号,末尾に4バイトのリンクCRC(LCRC)を付加して,物理層に渡す。トランザクションレイヤパケット(TLP)は,リトライバッファに保管され,相手から受信確認(ACK)が届くまで再送される。トランザクションレイヤパケット(TLP)の送信に失敗が続いた場合は,リンク異常であると判断して物理層に対してリンクの再トレーニングを要求する。リンクのトレーニングが失敗した場合,データリンク層の状態はインアクティブに遷移する。
物理層から受け取ったトランザクションレイヤパケット(TLP)は,シーケンス番号とリンクCRC(LCRC)が検査され,正常であればトランザクション層に渡され,エラーがあった場合は再送を要求する。
データリンクレイヤパケット(DLLP)
データリンク層が生成するパケットは,データリンクレイヤパケット(DLLP)と呼ばれ,データリンク層間でやり取りされる。データリンクレイヤパケット(DLLP)の長さは6バイトで,種類を示すDLLPタイプ(1バイト),DLLPの種類で固有の情報(3バイト),CRC(2バイト)から構成される。
物理層−論理サブブロック
物理層の論理サブブロックでの主な役割は,データリンク層から受け取ったパケットを電気サブブロックで送信できる形式に変換することである。また,物理層を制御/管理する機能も有する。
データ符号化とパラレル−シリアル変換
PCI Expressは,連続した"0"や"1"が続かないように(長い期間,クロスポイントが存在しない状態が続かないようにするため),データ符号化に8B/10B変換を用いる。変換されたデータは,シリアル変換され,LSBからレーン上に送信される。レーンが複数ある場合は,符号化の前にデータがバイト単位で各レーンに割り振られる。この場合,一見パラレル・バスのようにみえるが,レーン毎に独立した転送を行うので,パラレル・バスで問題となるスキューが大幅に緩和される。
本発明は,LSIなどの半導体製造業の分野において好適に利用されうる。
図1は,LSI設計支援装置の構成,及びLSI設計支援装置と接続対象システムの接続例を示すための概念図である。

Claims (11)

  1. LSI設計支援装置を用いたLSIシステムの設計方法であって,

    前記LSIシステムは,高速シリアルバス及び前記高速シリアルバスを実現するための機能ブロックを有し,接続対象システムと接続されるものであり,

    前記LSI設計支援装置を前記接続対象システムに接続する工程と,送受信バッファの段数及び送受信バッファの容量を決定する工程とを含み,

    前記送受信バッファの段数及び送受信バッファの容量を決定する工程は,
    前記LSI設計支援装置が,前記LSI設計支援装置の送受信バッファの段数及び送受信バッファの容量を変化させるとともに,前記接続対象システムへ送信される送信パケット又は受信パケットの種類ごとの数とそれらパケットに対する前記接続対象システムの応答時間を監視することで,前記LSI設計支援装置と前記接続対象システムとのリンク通信速度を計測し,前記機能ブロックとして最適な送受信バッファの段数,及び送受信バッファの容量を決定する工程である,

    LSIシステムの設計方法。
  2. 前記高速シリアルバスが,PCI Express(PCIエクスプレス)規格の高速シリアルバスである請求項1に記載のLSIシステムの設計方法。
  3. LSI設計支援装置を用いたLSIシステムの設計方法であって,

    前記LSIシステムは,高速シリアルバス,及び前記高速シリアルバスを実現するための機能ブロックを有し,接続対象システムと接続されるものであり,

    前記LSI設計支援装置を前記接続対象システムに接続する工程と,最適なレーン数及び送受信バッファ構成を決定する工程を含み,

    前記最適なレーン数及び送受信バッファ構成を決定する工程は,
    現状リンクが形成されているレーン数を最大として,前記最大レーン数以下のレーン数であって要求転送帯域を満たすレーン数となるように,
    前記LSI設計支援装置の各リンクで設定された通信パケットヘッダー部のオーバヘッドを用いて各レーンの実行転送レートを求め,この実行転送レートとレーン辺りの実行転送レートと比較することで,必要レーン数を割り出し,
    前記LSI設計支援装置におけるレーン数を変動させるとともに,前記LSI設計支援装置における送受信バッファのヘッダー及びペイロードサイズを変化させ,送信パケット又は受信パケットの種類ごとの数とそれらパケットに対する応答時間を監視し,最適なレーン数及び送受信バッファ構成を決定する,

    LSIシステムの設計方法。
  4. 請求項1〜3のいずれかに記載のLSIシステムの設計方法を用いて,
    前記LSI設計支援装置内に,LSIシステムに構築される機能ブロックと同様の機能ブロックとして最適なレーン数,送受信バッファの段数,及び送受信バッファの容量を有する機能ブロックを構築する,
    PCI Express用仮想機能ブロックの製造方法。
  5. 前記LSI設計支援装置は,前記LSIシステムに用いられるアプリケーション機能ブロックを具備し,
    請求項4に記載の仮想機能ブロックの製造方法により構築された機能ブロックと,前記アプリケーション機能ブロックとを接続する工程を含む,
    仮想LSIシステムの製造方法。
  6. 請求項5に記載の製造方法により構築された仮想LSIシステムを含む,LSI設計支援装置を用いる,
    前記LSIシステムの性能評価方法。
  7. 請求項6に記載の性能評価方法により得られたLSIシステムの設計用パラメータを出力する工程と,
    前記出力されたLSIシステムの設計用パラメータを用いて実際のLSIシステムを製造する工程とを含む,
    LSIシステムの製造方法。
  8. 請求項5に記載の製造方法により仮想LSIシステムを構築する際に,前記接続対象システムの受信バッファ構成に関する情報を入手するとともに,前記接続対象システム応答速度を測定し,
    前記LSI設計支援装置のレーン数及び送受信バッファの構成を,得られた受信バッファ構成及び応答速度にあわせて変化させることで,
    前記LSI設計支援装置内に,実際に製造されたLSIシステムと接続することができる,仮想的な接続対象システムを構築する,
    仮想的な接続対象システムの製造方法。
  9. 請求項8に記載の仮想的な接続対象システムの製造方法により製造された仮想的な接続対象システムと,請求項7に記載のLSIシステムの製造方法により製造されたLSIシステムとを接続する工程と,
    前記仮想的な接続対象システムのレーン数,送受信バッファの段数,送受信バッファの容量,転送負荷の容量のうちいずれか1つ以上を変化させて,LSIシステムの性能を評価する,
    LSIシステムの性能評価方法。
  10. 高速シリアルバス,及び前記高速シリアルバスを実現するための機能ブロックを有するLSIシステムを設計するための設計支援装置であって,
    前記LSIシステムが接続される接続対象システムの高速シリアルバスと接続するための高速シリアルバスと,
    前記接続対象システムから前記高速シリアルバスの最大レーン数,前記機能ブロックの送受信バッファ情報,最大読み取りサイズ,及び最大ペイロードサイズを含む情報を読み取るための手段と,
    前記接続対象システムと接続される高速シリアルバスのレーン数を変化させる手段と,
    送受信バッファの段数及び送受信バッファの容量を変化させる手段と,
    送信パケット又は受信パケットの種類ごとの数とそれらパケットに対するLSIシステムの応答時間を監視する手段と,
    前記監視した応答時間に基づいて,送信パケット又は受信パケットの種類ごとの数とそれらパケットに対する接続対象システムの通信速度を解析する手段と,
    前記解析結果に基づいて,機能ブロックとして最適な送受信バッファの段数,及び送受信バッファの容量を決定する手段と,
    を含む,LSIシステムの設計支援装置。
  11. 前記高速シリアルバスが,PCI Express(PCIエクスプレス)規格の高速シリアルバスである請求項10に記載のLSIシステムの設計支援装置。
JP2008140210A 2007-06-01 2008-05-29 Lsiシステムの設計方法及びlsiシステムの設計支援装置 Expired - Fee Related JP4920638B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008140210A JP4920638B2 (ja) 2007-06-01 2008-05-29 Lsiシステムの設計方法及びlsiシステムの設計支援装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007147520 2007-06-01
JP2007147520 2007-06-01
JP2008140210A JP4920638B2 (ja) 2007-06-01 2008-05-29 Lsiシステムの設計方法及びlsiシステムの設計支援装置

Publications (2)

Publication Number Publication Date
JP2009009556A JP2009009556A (ja) 2009-01-15
JP4920638B2 true JP4920638B2 (ja) 2012-04-18

Family

ID=39761030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008140210A Expired - Fee Related JP4920638B2 (ja) 2007-06-01 2008-05-29 Lsiシステムの設計方法及びlsiシステムの設計支援装置

Country Status (3)

Country Link
US (1) US20080301605A1 (ja)
EP (1) EP1998265A1 (ja)
JP (1) JP4920638B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010026726A (ja) * 2008-07-17 2010-02-04 Toshiba Corp 変換装置及び制御システム
US8140730B2 (en) * 2009-08-12 2012-03-20 International Business Machines Corporation System reconfiguration of expansion cards
JP2011081769A (ja) 2009-09-14 2011-04-21 Ricoh Co Ltd データ転送装置、データ転送デバイスおよびデータ転送方法
US10503851B2 (en) 2016-01-22 2019-12-10 Hewlett Packard Enterprise Development Lp CMOS-photonics co-design
KR102496994B1 (ko) 2021-03-23 2023-02-09 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
KR102521902B1 (ko) 2021-03-23 2023-04-17 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
KR102529761B1 (ko) 2021-03-18 2023-05-09 에스케이하이닉스 주식회사 PCIe 디바이스 및 그 동작 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334564A (ja) * 1994-06-03 1995-12-22 Symbios Logic Inc 微調整自在な接続アダプター生成自動化装置
JP4524974B2 (ja) * 2001-09-07 2010-08-18 ルネサスエレクトロニクス株式会社 入力信号速度変換装置、出力信号速度変換装置及び信号速度変換装置
US7237043B2 (en) * 2003-11-21 2007-06-26 Lsi Corporation System for improving PCI write performance
JP2007147520A (ja) 2005-11-29 2007-06-14 Toyota Motor Corp 車輪状態推定装置および車両制御装置

Also Published As

Publication number Publication date
JP2009009556A (ja) 2009-01-15
US20080301605A1 (en) 2008-12-04
EP1998265A1 (en) 2008-12-03

Similar Documents

Publication Publication Date Title
EP1879115B1 (en) Information processing apparatus and data communication device
US7356636B2 (en) Virtualized PCI switch
JP4878185B2 (ja) データ通信回路および調停方法
JP4928732B2 (ja) データ転送システム及び電子機器
US7424566B2 (en) Method, system, and apparatus for dynamic buffer space allocation
JP4920638B2 (ja) Lsiシステムの設計方法及びlsiシステムの設計支援装置
CN108055214B (zh) 用于对数据进行通信的装置和系统
US7424567B2 (en) Method, system, and apparatus for a dynamic retry buffer that holds a packet for transmission
US20060173986A1 (en) Communication apparatus, electronic apparatus, imaging apparatus
JP4564855B2 (ja) データ転送システム及び電子機器
JP4777723B2 (ja) 情報処理システム、プログラムおよびデータ転送方法
US6557060B1 (en) Data transfer in host expansion bridge
JP4564740B2 (ja) 画像機器システム
US7660926B2 (en) Apparatus and method for a core for implementing a communications port
JP2006092286A (ja) データ転送装置及び画像形成システム
JP4476088B2 (ja) データ転送装置及び画像形成システム
JP2007241882A (ja) データ通信装置および画像形成システム
JP4690828B2 (ja) 情報処理システム、プログラムおよびパケット通信方法
JP4603335B2 (ja) データ転送システム、画像形成システム及びデータ転送方法
JP4824422B2 (ja) 制御装置、画像処理システムおよびデータ転送経路切替方法
JP2005346629A (ja) 画像処理装置
JP2007226494A (ja) データ転送システム
JP2006113798A (ja) データ転送システム、受信バッファ装置、データ転送システムの仕様設定方法及び画像形成システム
JP4271558B2 (ja) データ転送システム、画像形成システム及びデータ転送用プログラム
JP2005166027A (ja) 画像システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120105

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120201

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees