(57)【要約】  半導体集積回路の製造方法におけるレイアウト設計において、機能ブロックと、ＩＯブロック（外部端子Ｉ／Ｆ回路）とを含む回路のフロアプラン確定後に、外部端子と外部端子に対応するＩＯブロックの配線距離が伸びることが判明した場合に、対応するＩＯブロックをＩＯ端子の近傍に配置しなおし外部ＩＯブロックと外部端子の間の配線制約を緩和するとともに、データ転送回路と外部ＩＯブロックとを接続するバス（あるいは共有バス）の間にバスの配線長に応じたタイミング調整装置を挿入する。
2011152013.tif 000002
【特許請求の範囲】
【請求項１】
集積回路の製造に用いられるマスクパターンを作成するためのレイアウト設計ステップと、前記マスクパターンを用いて、半導体材料上に前記集積回路を作成する作成ステップとを含む集積回路製造方法であって、
前記レイアウト設計ステップは、
機能ブロックの配置を決定する第１ステップと、
前記集積回路と外部の機器とを接続するための複数の外部ＩＯ（Input-Output）端子の配置を決定する第２ステップと、
前記第２ステップで決定された各外部ＩＯ端子の配置に応じて、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯ（Input-Output）ブロックの配置を決定する第３ステップと、
前記機能ブロックと前記ＩＯブロックとの間を接続するバスの配置と、当該バスの配線長に応じた段数の、前記バス上を流れる信号のタイミング調整を行うタイミング調整回路の配置とを決定する第４ステップと、
を含む集積回路製造方法。
【請求項２】
前記第１ステップにおいて配置を決定する機能ブロックは、データ転送制御回路を含む
ことを特徴とする請求項１記載の集積回路製造方法。
【請求項３】
前記第３ステップにおいて配置を決定する前記ＩＯブロックは、データ転送制御回路を含む
ことを特徴とする請求項１記載の集積回路製造方法。
【請求項４】
前記第３ステップは、前記外部ＩＯ端子に近接する位置を前記ＩＯブロックの配置位置として決定する
ことを特徴とする請求項１記載の集積回路製造方法。
【請求項５】
前記タイミング調整回路は、入力された信号について、当該信号を含む複数の信号が前記バスを流れることにより発生する当該複数の信号間の位相のずれを修正して出力する回路であり、
前記第４ステップは、前記配線長に応じて前記信号に発生する遅延量に基づいて、前記タイミング調整回路を挿入する段数及びその配置位置を決定する
ことを特徴とする請求項１記載の集積回路製造方法。
【請求項６】
集積回路の製造に用いられるマスクパターンを作成するためのレイアウト設計ステップと、前記マスクパターンを用いて、半導体材料上に前記集積回路を作成する作成ステップとを含む集積回路製造方法であって、
前記レイアウト設計ステップは、
機能ブロックの配置を決定する第１ステップと、
前記集積回路と外部の機器とを接続するための複数の外部ＩＯ（Input-Output）端子の配置を決定する第２ステップと、
前記第２ステップで決定された各外部ＩＯ端子の配置に応じて、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯ（Input-Output）ブロックの配置を決定する第３ステップと、
前記機能ブロックと前記ＩＯブロックとの間を接続する共有バスの配置と、当該共有バスの配線長に応じた段数の、前記共有バス上を流れる信号のタイミング調整を行うタイミング調整回路の配置とを決定する第４ステップと、
を含む集積回路製造方法。
【請求項７】
前記第１ステップにおいて配置を決定する機能ブロックは、データ転送制御回路を含む
ことを特徴とする請求項６記載の集積回路製造方法。
【請求項８】
前記第４ステップにおいて配置を決定する共有バスは、前記機能ブロックと前記ＩＯブロックとをデイジーチェーン接続するように配置が決定される
ことを特徴とする請求項７記載の集積回路製造方法。
【請求項９】
前記第３ステップにおいて配置を決定する前記ＩＯブロックは、データ転送制御回路を含む
ことを特徴とする請求項６記載の集積回路製造方法。
【請求項１０】
前記第４ステップにおいて配置を決定する共有バスは、前記機能ブロックと前記ＩＯブロックとをデイジーチェーン接続するように配置が決定される
ことを特徴とする請求項９記載の集積回路製造方法。
【請求項１１】
前記第３ステップは、前記外部ＩＯ端子に近接する位置を前記ＩＯブロックの配置位置として決定する
ことを特徴とする請求項６記載の集積回路製造方法。
【請求項１２】
前記タイミング調整回路は、入力された信号について、当該信号を含む複数の信号が前記共有バスを流れることにより発生する当該複数の信号間の位相のずれを修正して出力する回路であり、
前記第４ステップは、前記配線長に応じて前記信号に発生する遅延量に基づいて、前記タイミング調整回路を挿入する段数及びその配置位置を決定する
ことを特徴とする請求項６記載の集積回路製造方法。
【請求項１３】
集積回路の製造に用いられるマスクパターンを作成するためのレイアウト設計ステップと、前記マスクパターンを用いて、半導体材料上に前記集積回路を作成する作成ステップとを含む集積回路製造方法であって、
前記レイアウト設計ステップは、
機能ブロックの配置を決定する第１ステップと、
共有バスと、前記共有バス上を流れる信号のタイミング調整を行うタイミング調整回路との配置を決定する第２ステップと、
前記集積回路と外部の機器とを接続するための複数の外部ＩＯ（Input-Output）端子の配置を決定する第３ステップと、
前記第２ステップで決定された各外部ＩＯ端子の配置に応じて、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯ（Input-Output）ブロックの配置を決定する第４ステップと、
前記機能ブロックと前記ＩＯブロックとを前記共有バスに接続する第５ステップと、
を含む集積回路製造方法。
【請求項１４】
前記第１ステップにおいて配置を決定する機能ブロックは、データ転送制御回路を含む
ことを特徴とする請求項１３記載の集積回路製造方法。
【請求項１５】
前記第５ステップにおいて、前記機能ブロックと前記ＩＯブロックとは前記共有バスによりデイジーチェーン接続されるように配置が決定される
ことを特徴とする請求項１４記載の集積回路製造方法。
【請求項１６】
前記第４ステップにおいて配置を決定する前記ＩＯブロックは、データ転送制御回路を含む
ことを特徴とする請求項１３記載の集積回路製造方法。
【請求項１７】
前記第５ステップにおいて、前記機能ブロックと前記ＩＯブロックとは前記共有バスによりデイジーチェーン接続されるように配置が決定される
ことを特徴とする請求項１６記載の集積回路製造方法。
【請求項１８】
前記第４ステップは、前記外部ＩＯ端子に近接する位置を前記ＩＯブロックの配置位置として決定する
ことを特徴とする請求項１３記載の集積回路製造方法。
【請求項１９】
前記タイミング調整回路は、入力された信号について、当該信号を含む複数の信号が前記共有バスを流れることにより発生する当該複数の信号間の位相のずれを修正して出力する回路であり、
前記第２ステップは、前記配線長に応じて前記信号に発生する遅延量に基づいて、前記タイミング調整回路を挿入する段数及びその配置位置を決定する
ことを特徴とする請求項１３記載の集積回路製造方法。
【請求項２０】
機能ブロックと、
複数の外部ＩＯ端子と、
前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯブロックと、
前記機能ブロックと前記複数のＩＯブロックとの間で共有される共有バスと、
前記共有バスに挿入され、前記共有バス上を流れる信号のタイミング調整を行う１以上のタイミング調整回路と
を備え、
前記共有バスは、挿入されている前記タイミング調整回路により、複数のスライスに分割されており、
前記機能ブロックと前記ＩＯブロックとは前記複数のスライスの何れかに接続されている
ことを特徴とする半導体集積回路。
【請求項２１】
前記機能ブロックは、データ転送制御回路を含む
ことを特徴とする請求項２０記載の半導体集積回路
【請求項２２】
前記共有バスは、
前記データ転送制御回路から前記ＩＯブロックへ向かう方向の信号を伝達するためのダウンリンクバスと、
前記ＩＯブロックから前記データ転送制御回路へ向かう方向の信号を伝達するためのアップリンクバスと
を含んで構成される
ことを特徴とする請求項２１記載の半導体集積回路。
【請求項２３】
前記半導体集積回路は、更に、前記共有バスの一端に接続され、前記ＩＯブロックから前記データ転送制御回路へ向かう方向のデータ転送に関するバス権要求信号を調停するアップリンク調停器を備え、
前記アップリンク調停器は、複数のＩＯブロックからのバス権要求信号を調停し、前記複数のＩＯブロックのうち選択された１つのＩＯブロックにバス権承認信号を発行し、
前記バス権承認信号は、前記選択された１つのＩＯブロックと前記アップリンク調停器間のスライスを介して遅延されて前記選択された１つのＩＯブロックに通知される
ことを特徴とする請求項２２記載の半導体集積回路。
【請求項２４】
前記アップリンク調停器は、複数のＩＯブロックが転送するデータそれぞれのバースト長の情報を備えており、
前記アップリンク調停器が、バス権を承認された1つのＩＯブロックに対応したバースト長の情報に応じて、バス権要求信号の調停間隔を決定する
ことを特徴とする請求項２３記載の半導体集積回路。
【請求項２５】
前記半導体集積回路は、更に、前記データ転送制御回路に接続され、前記データ転送制御回路から前記ＩＯブロックへ向かう方向のデータ転送に関するバス権要求信号を調停するダウンリンク調停器を備え、
前記データ転送制御回路は、前記ＩＯブロックが配置されたスライスまでの遅延に応じたタイミングで、前記共有バスにデータを出力する
ことを特徴とする請求項２２記載の半導体集積回路。
【請求項２６】
前記ダウンリンク調停器は、複数のチャネルが転送するデータそれぞれのバースト長の情報を備えており、
前記ダウンリンク調停器が、バス権を承認された1つのチャネルに対応したバースト長の情報に応じて、バス権要求信号の調停間隔を決定する
ことを特徴とする請求項２５記載の半導体集積回路。
【請求項２７】
前記共有バスは、長バーストデバイス用のバスと、短バーストデバイス用のバスとを含み、
前記データ転送制御回路と前記ＩＯブロックとの間のデータ転送のバースト長に応じて、前記長バーストデバイス用のバスと、前記短バーストデバイス用のバスの何れかを用いてデータ転送を行う
ことを特徴とする請求項２０記載の半導体集積回路。
【請求項２８】
前記ＩＯブロックは、データ転送制御回路を含む
ことを特徴とする請求項２０記載の半導体集積回路。
【請求項２９】
前記ＩＯブロックは、前記外部ＩＯ端子に近接する位置に配置されている
ことを特徴とする請求項２０記載の集積回路製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路及びその製造方法に関し、特に回路部品のレイアウト設計に関する。
【背景技術】
【０００２】
従来、半導体集積回路の設計は、大きく分けて、フロントエンド設計とバックエンド設計の２つの工程に分けられる。フロントエンド設計は、半導体集積回路の仕様設計、機能設計・テスト設計、論理合成などの工程を経てネットリストを作成する工程である。一方、バックエンド設計は、レイアウト設計、サインオフ検証などの工程を経て製造工程で使用する製造データを作成する工程である。【０００３】
レイアウト設計は更にフロアプランと配線工程の２つの工程に分けられる。フロアプランは、半導体集積回路内のハードマクロ、ユーザーマクロ、ＲＡＭなどの各種ブロックの配置位置を、タイミング及び配線性を考慮しながら決定する工程である。配線工程は、配線制約（例えば、部品間の接続関係やどの層を通じての接続を行うのかなどの制約）を考慮しながら、フロアプランにより決定されたブロックとブロックとの間、あるいはブロックと端子の間の配線ルートを決定する工程である。両工程を経ることにより、簡単にいえば、半導体集積回路が必要とされる機能に応じた、部品配置がなされ、その部品間の配線が決定される。【０００４】
従来においては、このレイアウト設計の段階においては、外部端子位置は予め決定しており、フロアプランにおいては、外部端子との外部端子Ｉ／Ｆ（Inter Face）回路を持つブロックを外部端子の近傍に配置することが理想とされる。あるいは、フロアプランにより確定する外部端子との外部端子Ｉ／Ｆ回路を有するブロックと、外部端子との間の距離が極力短くできるように、外部端子位置を決定することが理想とされる。外部端子と外部端子Ｉ／Ｆ回路（または外部端子Ｉ／Ｆを有するブロック）間の配線長をできるだけ短くすることにより、その配線間における転送遅延を抑制できるためである。【０００５】
ただし、外部端子位置は、基板設計、ノイズ設計などと綿密に関連しており、必ずしも外部端子をレイアウト設計の負荷を低減し得る場所に配置できるとは限らない。また、近年の外部端子の兼用仕様（一つの外部端子に複数の機能をもたせること）は複雑化する傾向にあり、外部端子位置の確定が遅れる傾向にある。そのため、フロアプラン時点で想定している外部端子の配置位置が実際に指定される配置位置と異なってしまい、外部端子と外部端子Ｉ／Ｆ回路を有するブロックとの配線が長距離化することもある。この例を、図３５を用いて説明する。【０００６】
図３５（ａ）は、半導体集積回路の一構成例を示している。図３５（ａ）に示す半導体集積回路の内部ブロックは、ブロックＡ、ブロックＢ、ブロックＣ、ブロックＤ、ブロックＥの５つの機能ブロックにより構成される。なお、図示していないが、各ブロックには、様々な部品及びその部品間を接続する配線がなされているものとする。【０００７】
図３５（ａ）に示すように、当初定められていた外部端子（１１０ａ、１１０ｂ）の配置に基づいて、各機能ブロックや配線、各部品（外部端子Ｉ／Ｆ回路（１３０ａ、１３０ｂや内部回路１４０））等のレイアウトが決定するとする。しかし、その後に外部端子の配置位置が変更されたとする。すると、図３５（ｂ）に示すように、外部端子Ｉ／Ｆ回路と外部端子とを接続する配線の配線長が、図３５（ａ）の場合よりも図３５（ｂ）の方が長くなってしまい、場合によっては、外部端子と外部端子Ｉ／Ｆ回路間の配線長が理想から外れてしまうことがある。配線の長距離化によって信号の伝達遅延が発生し、本来入力されるべきタイミングで信号が入力されないといった事態が発生することがある。【０００８】
非特許文献１には、フロントエンド設計の段階においてレイアウト設計の一部を実行することが開示されている。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Tech-on[ニュース]“NECがとなえる， 意味ある「デザイン・プラニング」”［平成2010年3月16日検索］、インターネット＜ＵＲＬ：http://techon.nikkeibp.co.jp/article/NEWS/20070329/129739/?P=3＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
半導体集積回路を搭載する装置の多機能化に伴う外部端子の兼用傾向や、半導体集積回路を搭載する装置の仕様がなかなか決定されない、あるいは、相異なる装置に搭載するための半導体集積回路の仕様の共通化の方針が定まらないことにより、近年の半導体集積回路の設計における外部端子の配置位置はなかなか定まらない傾向にある。【００１１】
そのため、上述した配線長の長距離化が発生しやすくなっており、半導体集積回路のレイアウト設計に時間がかかり、半導体集積回路の設計において、コストがかかるという問題がある。【００１２】
そこで、本発明は上記問題に鑑みてなされたものであり、外部端子位置がなかなか定まらずとも、コストを抑制できるレイアウト設計方法を用いた集積回路製造方法、及び、当該集積回路製造方法に従って作成される半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、本発明は、集積回路の製造に用いられるマスクパターンを作成するためのレイアウト設計ステップと、前記マスクパターンを用いて、半導体材料上に前記集積回路を作成する作成ステップとを含む集積回路製造方法であって、前記レイアウト設計ステップは、機能ブロックの配置を決定する第１ステップと、前記集積回路と外部の機器とを接続するための複数の外部ＩＯ（Input-Output）端子の配置を決定する第２ステップと、前記第２ステップで決定された各外部ＩＯ端子の配置に応じて、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯ（Input-Output）ブロックの配置を決定する第３ステップと、前記機能ブロックと前記ＩＯブロックとの間を接続するバスの配置及び当該バスの配線長に応じた段数の、前記バス上を流れる信号のタイミング調整を行うタイミング調整回路の配置を決定する第４ステップと、を含むことを特徴としている。
【発明の効果】
【００１４】
上述のような構成によって、先に各機能ブロックの配置や、配線を決めた上で、外部端子の配置位置が定まったときには、その外部端子の配置位置に対応してＩＯブロック（ＩＯコアと呼称されることもある）を配置することで、ＩＯブロックと外部端子間の転送のタイミング調整の必要性の考慮を排除するとともに、ＩＯブロックとデータ転送制御回路とを接続する配線とその配線長によって、発生するデータ転送のずれを、タイミング調整回路を挿入することで、排除することができる。上記第１〜第４ステップの手順を経ることにより、外部端子の配置位置が定まらずとも機能ブロックのレイアウト設計を行えるとともに、外部端子の配置位置が定まった場合に、各機能ブロックの配置等を変更することなく、半導体集積回路のためのレイアウト設計ができる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１に係る半導体集積回路のためのレイアウト設計方法を示すフローチャートである。
【図２】実施の形態１に係る半導体集積回路のレイアウトの遷移を示す図である。
【図３】実施の形態１に係る半導体集積回路のレイアウトの遷移を示す図である。
【図４】変形例１に係る半導体集積回路のためのレイアウト設計方法を示すフローチャートである。
【図５】変形例１に係る半導体集積回路のレイアウトの遷移を示す図である。
【図６】変形例２に係る半導体集積回路のためのレイアウト設計方法を示すフローチャートである。
【図７】変形例２に係る半導体集積回路のレイアウトの遷移を示す図である。
【図８】変形例２に係る半導体集積回路のレイアウトの遷移を示す図である。
【図９】実施の形態２に係る半導体集積回路の機能構成を示す機能ブロック図である。
【図１０】実施の形態２に係るスライス群１２４の構成を示す機能ブロック図である。
【図１１】実施の形態２に係るスライス群１２５の構成を示す機能ブロック図である。
【図１２】実施の形態２に係る調停器の構成を示す機能ブロック図である。
【図１３】実施の形態２に係るＤＭＡＣと外部端子Ｉ／Ｆ回路との間の情報転送フローを示す図である。
【図１４】実施の形態２に係るチャンネルＡのデータ転送制御を示すフローチャートである。
【図１５】実施の形態２に係る外部端子Ｉ／Ｆ回路１３０ａのデータ転送制御を示すフローチャートである。
【図１６】実施の形態２に係るチャンネルＢのデータ転送制御を示すフローチャートである。
【図１７】実施の形態２に係る外部端子Ｉ／Ｆ回路１３０ｂのデータ転送制御を示すフローチャートである。
【図１８】実施の形態２に係る半導体集積回路のデータ転送における一例を示すタイミングチャートである。
【図１９】実施の形態２に係る半導体集積回路のデータ転送における一例を示すタイミングチャートである。
【図２０】実施の形態２に係る半導体集積回路のデータ転送における一例を示すタイミングチャートである。
【図２１】実施の形態２に係る半導体集積回路のデータ転送における一例を示すタイミングチャートである。
【図２２】実施の形態３に係るデータ長に応じた共有バスを設ける場合の半導体集積回路３００ａの構成例を示す機能ブロック図である。
【図２３】実施の形態３に係るデータ長に応じた共有バスを設ける場合の半導体集積回路３００ｂの構成例を示す機能ブロック図である。
【図２４】実施の形態３の半導体集積回路３００ａにおけるデータ転送における一例を示すタイミングチャートである。
【図２５】実施の形態３の半導体集積回路３００ｂにおけるデータ転送における一例を示すタイミングチャートである。
【図２６】実施の形態３の半導体集積回路３００ｂにおけるデータ転送における一例を示すタイミングチャートである。
【図２７】半導体集積回路のレイアウトの別例を示す図である。
【図２８】実施の形態４に係る半導体集積回路のためのレイアウト設計方法を示すフローチャートである。
【図２９】実施の形態４に係る半導体集積回路の構成例を示す図である。
【図３０】半導体集積回路４００に新たなデータ転送経路を追加した構成例を示す図である。
【図３１】半導体集積回路４００に新たなデータ転送経路を追加した構成例を示す図である。
【図３２】半導体集積回路４００から一つのデータ転送経路を削除した構成例を示す図である。
【図３３】デイジーチェーンで各ブロックが接続された半導体集積回路の構成例を示す図である。
【図３４】デイジーチェーンで各ブロックが接続された半導体集積回路の構成例を示す図である。
【図３５】従来のレイアウト設計手法を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態である半導体集積回路のレイアウト設計方法、及び当該レイアウト設計方法に基づいて作成された半導体集積回路について図面を用いて説明する。
＜実施の形態１＞
本実施の形態１においては、半導体集積回路のレイアウト設計方法について図１（ａ）に示すフローチャートを用いて説明する。
【００１７】
図１（ａ）に示すように、実施の形態１における半導体集積回路のレイアウト設計方法においては、まず、データ転送制御回路を含む機能ブロックの配置を決定する（ステップＳ１０１）。機能ブロックは、半導体集積回路に要求される仕様に応じて定まるものであり、データ転送制御回路は、設計する半導体集積回路が接続される回路や機器とのデータ転送を実行する機能を有するものであり、例えばＤＭＡＣ（Direct Memory Ａccess Controller）などである。つまり、データ転送制御回路は、データ転送のマスタ機能を有する回路である。
【００１８】
これにより、外部端子位置が定まっておらずとも、半導体集積回路内部の設計までは終了させることができる。
【００１９】
一方、実際に外部端子位置の仕様が定まると、当該仕様に従って、半導体集積回路のレイアウトに外部端子の配置を決定する（ステップＳ１０２）。
【００２０】
外部端子の配置位置を決定した後に、複数の外部端子に対応する複数のＩＯブロックの配置を決定する（ステップＳ１０３）。具体的には、決定した外部端子の配置位置それぞれに対して、各外部端子に対応するようにＩＯブロックの配置を、各外部端子の配置位置の近傍に決定する。即ち、１つの外部端子につき、少なくとも１つのＩＯブロックが配置される。また、外部端子の近傍とは、外部端子とＩＯブロックとの間の配線によるデータ転送において、タイミング調整、即ち、外部端子−ＩＯブロック間を信号が流れることにより発生し得る遅延の修正の必要がない程度の距離内をいう。
【００２１】
複数のＩＯブロックの配置が決定されると、当該複数のＩＯブロックそれぞれとデータ転送制御回路とを接続するバスの配置を決定する。そして、配したバスの配線長に応じた個数（段数）のタイミング調整回路を当該バスの配線上に挿入する。タイミング調整回路は、信号線の配線遅延をリタイミングする機能を有するものであり、タイミング調整回路には、例えば、フリップフロップあるいはラッチなどが用いられる。当該リタイミングとは、入力された信号を半導体集積回路が動作する際に用いられる動作クロックの周期に同期させた信号を出力することをいう。複数の信号がバス上を流れることにより、当該バスの配線長、材質によっては、当該バス上を流れる信号が半導体集積回路の動作クロックで示される周期からそれぞれ個別に遅延する（別の言い方をすれば、位相がずれる）、即ち、バス上を流れる間に複数の信号間でクロックとの位相がずれてしまい、このために半導体集積回路が正常に動作しなくなる可能性がある。よって、当該ずれを修正する必要があり、タイミング調整回路はこのずれを修正する。なお、図面上では、当該動作クロック用の配線等は当然備えられているものとして記載していない。また、半導体集積回路は、当該動作クロックを生成する水晶発振子等も搭載する構成としてもよいし、当該動作クロックは、半導体集積回路外部から供給される構成としてもよい。
【００２２】
なお、当該図１（ａ）に示すフローチャートに従ったレイアウト設計方法は、図１（ｂ）に示すように変形することができる。即ち、ステップＳ１０１における機能ブロックの配置の決定と、ステップＳ１０２とステップＳ１０３における外部端子の配置と、それに伴うＩＯブロックの配置の決定とは、それぞれ並行に処理されてもよい。
【００２３】
なお、図１（ａ）や、図１（ｂ）においては、データ転送制御回路が機能ブロックに含まれる例を記載しているが、データ転送制御回路は必ずしも機能ブロックに含まれなくともよい。データ転送制御回路は、複数のＩＯブロックそれぞれに含まれる、あるいは、ＩＯブロックそれぞれに対応する形で配置することを前提としたレイアウト設計を行ってもよい。
【００２４】
図１のレイアウト設計方法に従って、半導体集積回路を設計した場合の一具体例を、図２を用いて説明する。
【００２５】
まず、図２（ａ）に示すように、データ転送制御回路たる内部回路１４０及び各機能ブロック（ブロックＡ〜Ｅ）の配置を決定する。当該配置は、各機能ブロックの要求仕様に基づいて決定される部品及び部品間をつなぐ配線の配置面積に応じて決定される。このとき、ＩＯブロックや、ＩＯブロックと内部回路１４０を接続するバスを配置できる程度の隙間を残すこととする。図２(a)には明記しないが、この時点でIOブロックは各機能ブロック（ブロックＡ〜Ｅ）のいずれかに含まれてレイアウトされているものとする。
【００２６】
次に外部端子位置が半導体集積回路を搭載する装置等の構成などにより決定すると、その決定された位置を外部端子の配置位置として、例えば、図２（ｂ）の外部端子１１０ａ、１１０ｂに示すように決定する。
【００２７】
そして、決定した外部端子位置それぞれの近傍にＩＯブロックたる外部端子Ｉ／Ｆ回路の配置位置を、例えば、図３（ａ）に示すように決定する。即ち、外部端子１１０ａの配置位置の近傍に対応する外部端子Ｉ／Ｆ回路１１０ａの配置位置を決定し、外部端子１１０ｂの配置位置の近傍に対応する外部端子Ｉ／Ｆ回路１１０ｂの配置位置を決定する。
【００２８】
そして、決定した外部端子Ｉ／Ｆ回路１３０ａ、１３０ｂと、内部回路１４０とを接続するバスの配置位置を、図３（ｂ）に示すように決定する。即ち、内部回路１４０と外部端子Ｉ／Ｆ回路１３０ａとを接続するバス１２４ａと、内部回路１４０と外部端子Ｉ／Ｆ回路１３０ｂとを接続するバス１２４ｂとの配置位置を図３（ｂ）に示すように決定する。なお、図３（ｂ）においては、内部回路１４０と外部端子Ｉ／Ｆ回路１１０ａ、１１０ｂとを直接結線するように記載しているが、実際には、各ブロックの部品間を縫うように、配線位置を決定することになる。
【００２９】
そうして、決定されたバスの配線位置によって定まるバスの配線長に応じてタイミング調整回路たるスライスの段数とその配置位置を決定する。即ち、図３（ｂ）に示すように、バス１２４ａの配線長に応じて、スライス１２５ａ、１２５ｂを、バス１２４ｂの配線長に応じて、スライス１２５ｃの配置位置を決定する。
【００３０】
なお、図２、３においては、内部回路や、外部端子Ｉ／Ｆ回路、スライスは、図面の見易さのために、大きく示しているが、実際には、それぞれの部品の配置に要する面積はそれほど大きいものではない。
＜まとめ＞
以上に説明してきたように、本実施の形態１におけるレイアウト設計方法においては、先にデータ転送制御回路を含む１以上の機能ブロックそれぞれの部品や配線のレイアウトを決定した後で、要求された外部端子位置に外部端子を配置し、その近傍にＩＯブロックを配する。これによって、外部端子位置とＩＯブロックが理想に近い形での配置を実現できる。また、ＩＯブロックとデータ転送制御回路とをバスで接続し、そのバスに当該バスの配線長に応じた数のタイミング調整回路を挿入することによって、信号間のタイミング調整がなされ、正常に動作する半導体集積回路を作成できる。
【００３１】
したがって、外部端子位置の変更によるフロアプランの変更といった事態を招くことなく、半導体集積回路のレイアウト設計をより柔軟に行えるとともに、そのレイアウト設計の設計コストを抑制することができる。
＜変形例１＞
上記実施の形態１に示したレイアウト設計方法においては、各外部端子Ｉ／Ｆ回路と内部回路とを接続するバスをそれぞれ設けるように配置を決定することとした。しかしながら、当該構成は、外部端子Ｉ／Ｆ回路分の個数のバスを配線しなければならず、その分半導体集積回路の面積を増大させるという問題がある。
【００３２】
そこで、本変形例１においては、上記実施の形態１に示した半導体集積回路の設計面積をより小さくし得るレイアウト設計方法を開示する。
【００３３】
本変形例１における上記実施の形態１との差異は、バスを各外部端子Ｉ／Ｆ回路に応じて設けるのではなく、共有バスで接続することにある。
【００３４】
本変形例１に係るレイアウト設計方法を図４（ａ）のフローチャートに示す。
【００３５】
図４（ａ）に示すフローチャートにおいて、図１に示したフローチャートとの差異は、ステップＳ４０３以降の処理となる。ステップＳ４０１、Ｓ４０２と、ステップＳ１０１、１０２とにおける処理は、共通しているので、ここではその説明を割愛する。
【００３６】
ステップＳ４０２で複数の外部端子の配置を決定した後、複数のＩＯブロックたる外部端子Ｉ／Ｆ回路の配置を決定し、配置した外部端子Ｉ／Ｆ回路の配置位置に応じて、全ての外部端子Ｉ／Ｆ回路になるべく近接するように共有バスの配置を決定する。そして、データ転送制御回路たる内部回路から共有バスに接続する配線の配置位置を、当該配線がなるべく短くなるように決定する。そして、内部回路からの配線長に応じて、即ち、内部回路から一定距離ごとに、共有バス上にタイミング調整回路たるスライスの配置位置を決定する（ステップＳ４０３）。
【００３７】
そして、複数のチャネルと複数のＩＯブロックたる外部端子Ｉ／Ｆ回路それぞれの共有バスへの接続位置を決定し、共有バスまでの配線の配置位置を決定する（ステップＳ４０４）。
【００３８】
なお、当該図４（ａ）に示すフローチャートに従ったレイアウト設計方法は、図４（ｂ）に示すように変形することができる。即ち、ステップＳ４０１における機能ブロックの配置の決定と、ステップＳ４０２とステップＳ４０３における外部端子の配置と、それに伴うＩＯブロックの配置、共有バスの配置とタイミング調整回路の配置の決定とは、それぞれ並行に処理されてもよい。
【００３９】
なお、図４（ａ）や、図４（ｂ）においては、データ転送制御回路が機能ブロックに含まれる例を記載しているが、データ転送制御回路は必ずしも機能ブロックに含まれなくともよい。データ転送制御回路は、複数のＩＯブロックそれぞれに含まれる、あるいは、ＩＯブロックそれぞれに対応する形で配置することを前提としたレイアウト設計を行ってもよい。
【００４０】
また、図４（ａ）、（ｂ）及び図５（ｂ）では機能ブロックと複数のＩＯブロックがバス型のトポロジーで接続される例を記載しているが、機能ブロックと複数のＩＯブロックがデイジーチェーン型のトポロジーで接続されても良い。バス型のトポロジーで接続するか、デイジーチェーン型のトポロジーで接続するかは設計の仕様で定められ、当該使用に従って、レイアウト設計がなされる。
【００４１】
この変形例１に従って、レイアウトを行う一具体例を図２及び図５を用いて説明する。
【００４２】
まず、ステップＳ４０１及びステップＳ４０２における処理を経ることにより、図２（ｂ）に示すレイアウトができる。ここまでは、実施の形態１に示した通りである。
【００４３】
一方、本変形例１においては、ステップＳ４０３の処理を経ることにより、図５（ａ）に示すようなレイアウトが生成される。
【００４４】
図５（ａ）に示すように、変形例１においては、上記実施の形態１と異なり、ステップＳ４０３においては、複数の外部端子（２０２ａ、２０２ｂ）が配置を定められると、配置した外部端子に接続するための共有バス１２４の配置を決定する。そして、内部回路１４０からの共有バス１２４への接続位置並びに配線位置を決定する。そして、決定した共有バス１２４上に、内部回路１４０からの距離に応じて、タイミング調整回路たるスライス１２５ａ、１２５ｂ、１２５ｃの配置位置が決定される。即ち、内部回路１４０から一定距離が離れるごとに、スライスを配置していく。
【００４５】
そして、最終的に定められた各外部端子Ｉ／Ｆ回路１３０ａ、１３０ｂと、内部回路１４０とを共有バス１２４を介して接続した場合の配線長に応じて、その間に挿入されるべきタイミング調整回路の段数を決定し、当該決定された段数だけＩＯブロック‐内部ブロック間に挿入されるように、ＩＯブロックから共有バスへの接続位置が図５（ｂ）に示すように決定される。図５（ｂ）の例では、外部端子Ｉ／Ｆ回路１３０ａと内部回路１４０との間には、２つの段数のスライスが挿入されるように、スライス１２５ａ、１２５ｂを経由する位置を外部端子Ｉ／Ｆ回路１３０ａからの接続位置としている。また、外部端子Ｉ／Ｆ回路１３０ｂと内部回路１４０との間には、１つの段数のスライスが挿入されるように、スライス１２５ｂを経由する位置を外部端子Ｉ／Ｆ回路１３０ｂからの接続位置としている。
＜まとめ＞
当該変形例１における半導体集積回路におけるレイアウト設計方法によれば、外部端子の配置位置の決定が遅れたとしても、それほど、半導体集積回路のレイアウト設計を変更せずに、外部端子位置を配置したレイアウトが設計できるとともに、各外部端子Ｉ／Ｆ回路と、内部回路とを接続するバスを共有バスとすることで、半導体集積回路の設計面積を、共有バスとしない場合に比して、小さくすることができる。
＜変形例２＞
上記変形例１においては、外部端子Ｉ／Ｆ回路と、内部回路とを接続するバスを共有バスとするレイアウト設計を提示した。本変形例２においては、更なる利便性の高いレイアウト設計方法を提示する。
【００４６】
本変形例２と上記変形例１における差異は、共有バスの配置位置の決定タイミングにある。即ち、変形例２における共有バスの配置の決定タイミングを外部端子の配置位置が定まるよりも先に決定することにある。
【００４７】
本変形例２に係るレイアウト設計方法を、図６のフローチャートに示す。
【００４８】
図６（ａ）のフローチャートに示すように、まず、設計する半導体集積回路の要求仕様に応じて、半導体集積回路のサイズを決定し、共有バスの配置を決定する。そして、当該共有バス上を流れる信号のタイミング調整を行うためのタイミング調整回路の配置位置を決定する（ステップＳ６０１）。当該共有バスは、いずれの内部回路とも接続可能なように、かつ、外部端子が配される周縁部になるべく近くなるように配する。また、タイミング調整回路は、各内部回路から外部端子までの配線距離に応じて配されるべきであるため、この場合には、共有バス上に一定距離間隔で配することとなる。
【００４９】
次に設計する半導体集積回路の要求仕様に応じて、データ転送制御回路を含む各機能ブロックの配置位置を決定する（ステップＳ６０２）。なお、図６（ａ）の場合であれば、ステップＳ６０１とステップＳ６０２との処理は前後してもよい。
【００５０】
データ転送制御回路を含む各機能ブロックや、共有バスの配置、タイミング調整回路の配置が決定すると、次に、半導体集積回路の要求仕様に応じた、外部端子の配置が決定され、決定された位置を外部端子の配置位置とする（ステップＳ６０３）。
【００５１】
複数の外部端子の配置位置が決定すると上記実施の形態１においても示したように、各外部端子に対応する複数のＩＯブロックの配置を決定する（ステップＳ６０４）。
【００５２】
複数のＩＯブロックの配置を決定すると、当該複数のＩＯブロックそれぞれの共有バスへの接続位置を決定する（ステップＳ６０５）。当該接続位置は、各ＩＯブロックから共有バスへの配線長がなるべく短くなるように配置位置を決定する。
【００５３】
なお、当該図６（ａ）に示すフローチャートに従ったレイアウト設計方法は、図６（ｂ）に示すように変形することができる。即ち、ステップＳ６０１における機能ブロックの配置の決定と、ステップＳ６０２及びステップＳ６０３における外部端子の配置と、それに伴うＩＯブロックの配置、共有バスの配置とタイミング調整回路の配置の決定と、ステップＳ６０４における共有バスとタイミング調整回路の配置とは、それぞれ並行に処理されてもよい。
【００５４】
なお、図６（ａ）や、図６（ｂ）においては、データ転送制御回路が機能ブロックに含まれる例を記載しているが、データ転送制御回路は必ずしも機能ブロックに含まれなくともよい。データ転送制御回路は、複数のＩＯブロックそれぞれに含まれる、あるいは、ＩＯブロックそれぞれに対応する形で配置することを前提としたレイアウト設計を行ってもよい。
【００５５】
また、図６（ａ）、（ｂ）及び図８では機能ブロックと複数のＩＯブロックがバス型のトポロジーで接続される例を記載しているが、機能ブロックと複数のＩＯブロックがデイジーチェーン型のトポロジーで接続されても良い。バス型のトポロジーで接続するか、デイジーチェーン型のトポロジーで接続するかは設計の仕様で定められ、当該仕様に従って、レイアウト設計がなされる。
【００５６】
このようにして設計されるレイアウトの一例を図７及び図８を用いて説明する。
【００５７】
図７（ａ）に示すように、まず、変形例２においては、半導体集積回路のサイズ、仕様、データ転送制御回路たる内部回路１４０を含む各機能ブロックのサイズに応じて、内部回路１４０及び機能ブロックの配置を定めるとともに、共有バス１２４の配置位置を決定する。
【００５８】
そして、次に、図７（ｂ）に示すように決定された外部端子位置に従って、外部端子１１０ａ、１１０ｂの配置位置を決定する。
【００５９】
外部端子１１０ａ、１１０ｂの配置位置が定まると、図８に示すように、各外部端子に対応する外部端子Ｉ／Ｆ回路の配置位置を決定する。
【００６０】
そして、決定した外部端子Ｉ／Ｆ回路の配置位置から、内部回路１４０までの距離に応じて、共有バス１２４への接続位置を決定し、各外部端子Ｉ／Ｆ回路からの共有バス１２４への配線の配置を決定する。
＜まとめ＞
本変形例２に示したレイアウト設計方法によれば、外部端子の配置位置を決定する前に、共有バスの配置位置も決定してしまっているため、外部端子の配置位置が決定した後の設計工数を、上記変形例１に示したものよりも、少なくすることができる。
＜実施の形態２＞
実施の形態２においては、上記各変形例に示した手法を用いてレイアウト設計を行って作成された半導体集積回路について、その構成及び動作を説明する。
【００６１】
図９は半導体集積回路１００の機能構成を示す機能ブロック図である。
【００６２】
図９に示すように半導体集積回路１００は、外部端子１１０ａ、１１０ｂと、スライスバス１２１、１２２、１２３と、スライス群１２４、１２５と、Ｉ／Ｆ回路１３０ａ、１３０ｂと、ＤＭＡＣ（Direct Memory Ａccess Controller）１４０と、調停器１５１、１５２と、バッファ１６０とを含んで構成される。なお、本実施の形態２においては、上記実施の形態１との共通点を明確にすべく、本来ＤＭＡＣには別の符号を割り振るべきところを、上記実施の形態１に示す内部回路に相当するものということで、同じ符号１４０を付している。
【００６３】
外部端子１１０ａ、１１０ｂは、それぞれ対応するＩ／Ｆ回路１３０ａ、１３０ｂに接続され、半導体集積回路１００を搭載する機器上の回路等に接続するための端子である。各外部端子は、それぞれが１本以上の端子から構成されている。
【００６４】
スライスバス１２１、１２２、１２３は、スライス群１２４−ＤＭＡＣ１４０間、スライス群１２４−スライス群１２５間の信号を伝達するための信号線である。
【００６５】
スライス群１２４、１２５は、入力された信号のタイミング調整を実行する機能を有する。ここで、各スライスは、それぞれ、予め定められた固定長の時間幅分の調整を実行する。スライス群１２４、１２５は、具体的には、フリップフロップあるいはラッチなどにより実現されるものであり、ここでは、入力された信号をリタイミングする機能を有するものとする。上述したように、リタイミングとは、入力された信号を半導体集積回路が動作する際に用いられる動作クロックの周期に同期させた信号を出力することをいう。なお、図面上では、当該動作クロック用の配線等は当然備えられているものとして記載していない。また、半導体集積回路は、当該動作クロックを生成する水晶発振子等も搭載する構成としていてもよいし、あるいは当該動作クロックが半導体集積回路外部から供給される構成としてもよい。スライスバス１２１、１２２、１２３、スライス群１２４、１２５を含んで、共有バスを形成している。
【００６６】
Ｉ／Ｆ回路１３０ａ、１３０ｂは、外部からの信号をＤＭＡＣ１４０に中継する機能を有し、また、ＤＭＡＣ１４０から転送されてきた信号を接続している外部の機器へと送信する機能を有する。
【００６７】
ＤＭＡＣ１４０は、バッファ１６０にアクセスし、データを読み出す、あるいは、データを書き込む機能を有する。また、ＤＭＡＣ１４０は、半導体集積回路１００に接続される回路や装置と通信を実行する機能を有する。ＤＭＡＣ１４０は、個別の経路へのデータ転送を行う複数のチャネルでの通信を実行する機能を有し、ここでは、チャネル１４１ａと、チャネル１４１ｂとを備える。
【００６８】
本実施形態では、チャネル１４１ａはバッファ１６０から外部端子Ｉ／Ｆ回路１３０ａに対しデータ転送を行い、チャネル１４１ｂは外部端子Ｉ／Ｆ回路１３０ｂからバッファ１６０に対しデータ転送を行うものとする。よって、半導体集積回路１００では、チャネル１４１ａを使用してバッファ１６０から共有バス、外部端子Ｉ／Ｆ回路１３０ａ及び外部端子１１０ａを経由して半導体集積回路１００外部に情報を出力し、チャネル１４１ｂを使用して半導体集積回路１００外部から外部端子１１０ｂ、外部端子Ｉ／Ｆ回路１３０ｂ、及び共有バスを経由してバッファ１６０に情報を入力する。
【００６９】
調停器１５１、１５２は、共有バスに入力される信号のうち、いずれを転送するのかを調停する機能を有する。なお、調停器１５１は、ＤＭＡＣ１４０から、Ｉ／Ｆ回路へのダウンリンク用の信号の調停を実行するものであり、調停器１５２は、Ｉ／Ｆ回路からＤＭＡＣ１４０へのアップリンク用の信号の調停を実行するものである。チャネル１４１ａと外部端子Ｉ／Ｆ回路１３０ａとの間の情報転送(以下では情報転送Ａと呼称する)、並びにチャネル１４１ｂと外部端子Ｉ／Ｆ回路１３０ｂとの間の情報転送(以下では情報転送Ｂと呼称する)は、共有バスを経由して行われる。情報転送Ａ及び情報転送Ｂにおいては共に共有バスを使用するため、情報を転送する前には予めバス権を獲得する必要があり、調停器１５１、１５２は、要求されるバス権の調停を担う。
【００７０】
バッファ１６０は、ＤＭＡＣ１４０、半導体集積回路１００などから転送されるデータを一時的に記憶する機能を有するメモリである。バッファ１６０は、ＤＭＡＣ１４０から書き込まれたデータを保持する機能と、保持しているデータのうちＤＭＡＣ１４０から要求されたデータを出力する機能とを有する。
【００７１】
ここで、ＤＭＡＣ１４０と外部端子Ｉ／Ｆ回路１３０ａの間で送受する情報、及び情報授受を実現するための信号接続について、図２を使用して説明する。
【００７２】
ＤＭＡＣ１４０と外部端子Ｉ／Ｆ回路１３０ａの間では、共有バス１２００を介してコマンド、ダウンリンクデータ、ダウンリンクインフォメーション、アップリンクデータ、アップリンクインフォメーションの５つの全ての情報、あるいはそのサブセットの情報が送受される。また、共有バス１２００はコマンドバス、ダウンリンクデータバス、ダウンリンクインフォメーションバス、アップリンクデータバス、アップリンクインフォメーションバスの５つのバスにより構成されている。コマンドの送受にはコマンドバスを使用し、ダウンリンクデータの送受にはダウンリンクデータバスを使用し、ダウンリンクインフォメーションの送受にはダウンリンクインフォメーションバスを使用し、アップリンクデータの送受にはアップリンクデータバスを使用し、アップリンクインフォメーションの送受にはアップリンクインフォメーションバスを使用する。
【００７３】
コマンドバス、ダウンリンクデータバス、及びダウンリンクインフォメーションバスを構成する信号は、ＤＭＡＣ１４０から外部端子Ｉ／Ｆ回路１３０ａに向けて情報を伝達し、アップリンクデータバス、及びアップリンクインフォメーションバスを構成する信号は、外部端子Ｉ／Ｆ回路１３０ａからＤＭＡＣ１４０に向けて情報を伝達する。
【００７４】
コマンドは、ＤＭＡＣ１４０から外部端子Ｉ／Ｆ回路１３０ａに対し送られるデータ転送の属性を示す情報である。具体的には、コマンドで送受する情報は、そのデータ転送がダウンリンクデータ・アップリンクデータのいずれの方向の転送であるのかを示す情報、転送するデータのサイズ、転送アドレスなどの情報を含む。
【００７５】
ダウンリンクデータは、ＤＭＡＣ１４０から外部端子Ｉ／Ｆ回路１３０ａに対し送られるデータ及びデータ同期情報であり、アップリンクデータは外部端子Ｉ／Ｆ回路１３０ａからＤＭＡＣ１４０に送られるデータ及びデータ同期情報である。ここで、データ同期情報とはデータと同じサイクルで送られるデータの属性を示す情報であり、具体的にはデータのバイトイネーブル、最終データ転送などの情報を含む。
【００７６】
インフォメーションとは、データ転送とは非同期に、ＤＭＡＣ１４０と外部端子Ｉ／Ｆ回路１３０ａの間で授受される情報である。具体的には、アップリンクインフォメーションとしては、例えば外部端子Ｉ／Ｆ回路１３０ａからチャネル１４１ａに対し転送開始要求などを含む情報が送られ、ダウンリンクインフォメーションとしてはチャネル１４１ａから外部端子Ｉ／Ｆ回路１３０ａに対しバッファ１６０へのデータ書き込み完了情報などを含む情報が送られる。
【００７７】
また、外部端子Ｉ／Ｆ回路１３０ａからＤＭＡＣ１４０に対し、共有バス１２００で送受する情報以外に、ライトレディとリードレディの情報が送られている。ライトレディは外部端子Ｉ／Ｆ回路１３０ａがダウンリンクデータ転送をするためのコマンドを受け付けることが可能であることを示す情報であり、リードレディは外部端子Ｉ／Ｆ回路１３０ａがアップリンクデータ転送をするためのコマンドを受け付けることが可能であることを示す情報である。ライトレディ信号とリードレディ信号は共有バスとは異なり、外部端子Ｉ／Ｆ回路１３０ａとチャネル１４１ａとの間、外部端子Ｉ／Ｆ回路１３０ｂとチャネル１４１ｂとの間でpeer to peerに接続されている信号である。
【００７８】
図１０では、ＤＭＡＣ１４０と外部端子Ｉ／Ｆ回路１３０ａの間は共有バスで接続されており、当該共有バスはスライス群１２４でスライスされている。ＤＭＡＣ１４０とスライス群１２４の間はスライスバス１２１で接続されており、スライスバス１２１はコマンドバス１２１１とダウンリンクデータバス１２１２とダウンリンクインフォメーションバス１２１３とアップリンクデータバス１２１４とアップリンクインフォメーションバス１２１５で構成される。スライス群１２４と外部端子Ｉ／Ｆ回路１３０ａの間はスライスバス１２２で接続されており、スライスバス１２２はコマンドバス１２２１とダウンリンクデータバス１２２２とダウンリンクインフォメーションバス１２２３とアップリンクデータバス１２２４とアップリンクインフォメーションバス１２２５で構成される。
【００７９】
スライス群１２４は、コマンドバス１２１１とコマンドバス１２２１をスライスするためのスライス１２４１と、ダウンリンクデータバス１２１２とダウンリンクデータバス１２２２をスライスするためのスライス１２４２と、ダウンリンクインフォメーションバス１２１３とダウンリンクインフォメーションバス１２２３をスライスするためのスライス１２４３と、アップリンクデータバス１２１４とアップリンクデータバス１２２４をスライスするためのスライス１２４４と、アップリンクインフォメーションバス１２１５とアップリンクインフォメーションバス１２２５をスライスするためのスライス１２４５と、後に説明するライトレディ信号をスライスするためのスライス１２４６と、後に説明するリードレディ信号をスライスするためのスライス１２４７を含む。
【００８０】
コマンドは、ＤＭＡＣ１４０から出力され、コマンドバス１２１１、スライス１２４１、コマンドバス１２２１を経由して外部端子Ｉ／Ｆ回路１３０ａに送られる。ダウンリンクデータは、ＤＭＡＣ１４０から出力され、ダウンリンクデータバス１２１２、スライス１２４２、ダウンリンクデータバス１２２２を経由して外部端子Ｉ／Ｆ回路１３０ａに送られる。ダウンリンクインフォメーションは、ＤＭＡＣ１４０から出力され、ダウンリンクインフォメーションバス１２１３、スライス１２４３、ダウンリンクインフォメーションバス１２２３を経由して外部端子Ｉ／Ｆ回路１３０ａに送られる。
【００８１】
アップリンクデータは、外部端子Ｉ／Ｆ回路１３０ａから出力され、アップリンクデータバス１２２４、スライス１２４４、アップリンクデータバス１２１４を経由してＤＭＡＣ１４０に送られる。アップリンクインフォメーションは、外部端子Ｉ／Ｆ回路１３０ａから出力され、アップリンクインフォメーションバス１２２５、スライス１２４５、アップリンクインフォメーションバス１２１５を経由してＤＭＡＣ１４０に送られる。
【００８２】
また、共有バス以外の信号として、外部端子Ｉ／Ｆ回路１３０ａからＤＭＡＣ１４０に対しライトレディ信号及びリードレディ信号が送られており、共有バス同様にそれぞれスライス１２４６、スライス１２４７によりスライスされている。
【００８３】
なお、図１０には明示しないが、ライトレディ信号及びリードレディ信号は外部端子Ｉ／Ｆ回路１３０ｂからＤＭＡＣ１４０に対しても送られており、スライス群１２４には、外部端子Ｉ／Ｆ回路１３０ｂから送られるライトレディ信号とリードレディ信号のスライスも含むものとする。
【００８４】
次に、ＤＭＡＣ１４０と調停器１５１との間の信号接続を図１１（ａ）を用いて説明する。
【００８５】
調停器１５１はＤＭＡＣ１４０の近傍に配置されており、ＤＭＡＣ１４０と調停器１５１との間の配線はスライスされない。
【００８６】
チャネル１４１ａ及びチャネル１４１ｂそれぞれが調停器１５１と直接接続されており、チャネル１４１ａ及びチャネル１４１ｂから調停器１５１に対してバス権要求信号群が送られており、調停器１５１からチャネル１４１ａ及びチャネル１４１ｂそれぞれに対してバス権承認信号群が送られている。
【００８７】
チャネル１４１ａ及びチャネル１４１ｂから調停器１５１に対して送られるバス権要求信号群は、コマンドバス権要求信号、ダウンリンクデータバス権要求信号、及びダウンリンクインフォメーションバス権要求信号の全てあるいはそれらのサブセットにより構成される。調停器１５１からチャネル１４１ａ及びチャネル１４１ｂに対して送られるバス権承認信号は、コマンドバス権承認信号、ダウンリンクデータバス権承認信号、及びダウンリンクインフォメーションバス権承認信号の全てあるいはそれらのサブセットにより構成される。
【００８８】
チャネル１４１ａがコマンドバスを使用する場合、チャネル１４１ａが調停器１５１に対しコマンドバス権要求信号を送り、それを受けて調停器１５１がチャネル１４１ａに対しコマンドバス権承認信号を返す。チャネル１４１ａがダウンリンクデータバスを使用する場合、チャネル１４１ａが調停器１５１に対しダウンリンクデータバス権要求信号を送り、それを受けて調停器１５１がチャネル１４１ａに対しダウンリンクデータバス権承認信号を返す。チャネル１４１ａがダウンリンクインフォメーションバスを使用する場合、チャネル１４１ａが調停器１５１に対しダウンリンクインフォメーションバス権要求信号を送り、それを受けて調停器１５１がチャネル１４１ａに対しダウンリンクインフォメーションバス権承認信号を返す。チャネル１４１ｂについても同様である。
【００８９】
外部端子Ｉ／Ｆ回路群１３０と調停器１５２との間の信号接続を、図１１（ｂ）を使用して説明する。本実施形態では、外部端子Ｉ／Ｆ回路１３０ｂが外部端子Ｉ／Ｆ回路１３０ａの遠方に配置されており、調停器１５２は外部端子Ｉ／Ｆ回路１３０ｂの近傍に配置されている。そのため、外部端子Ｉ／Ｆ回路１３０ａと調停器１５２との間の配線はスライス群１２５０によりスライスされている一方で、外部端子Ｉ／Ｆ回路１３０ｂと調停器１５２との間の配線はスライスされていない。
【００９０】
スライス群１２５０は、スライス群１２４０と同様に、共有バス信号をスライスするためのスライス１２５１からスライス１２５５(スライス群１２４０の構成要素であるスライス１２４１から１２４５に相当する)を有すると共に、外部端子Ｉ／Ｆ回路１３０ｂからＤＭＡＣ１４０に対し送られるライトレディ信号、及びリードレディ信号をスライスするためのスライス１２５６及びスライス１２５７、更にはバス権要求信号群及びバス権承認信号群をスライスするためのスライス１２５８及びスライス１２５９を備えている。
【００９１】
外部端子Ｉ／Ｆ回路１３０ｂから調停器１５２に対してバス権要求信号群が送られており、調停器１５２から外部端子Ｉ／Ｆ回路１３０ｂに対してバス権承認信号群が送られている。外部端子Ｉ／Ｆ回路１３０ａから調停器１５２に対してスライス１２５８を経由してバス権要求信号群が送られており、調停器１５２から外部端子Ｉ／Ｆ回路１３０ａに対してスライス１２５９を経由してバス権承認信号群が送られている。
【００９２】
外部端子Ｉ／Ｆ回路１３０ａ及び外部端子Ｉ／Ｆ回路１３０ｂから調停器１５２に対して送られるバス権要求信号群は、アップリンクデータバス権要求信号、及びアップリンクインフォメーションバス権要求信号の全てあるいはそれらのサブセットにより構成される。調停器１５２から外部端子Ｉ／Ｆ回路１３０ａ及び外部端子Ｉ／Ｆ回路１３０ｂに対して送られるバス権承認信号は、アップリンクデータバス権承認信号、及びアップリンクインフォメーションバス権承認信号の全てあるいはそれらのサブセットにより構成される。
【００９３】
外部端子Ｉ／Ｆ回路１３０ａがアップリンクデータバスを使用する場合、外部端子Ｉ／Ｆ回路１３０ａが調停器１５２に対しアップリンクデータバス権要求信号を送り、それを受けて調停器１５２が外部端子Ｉ／Ｆ回路１３０ａに対しアップリンクデータバス権承認信号を返す。外部端子Ｉ／Ｆ回路１３０ａがアップリンクインフォメーションバスを使用する場合、外部端子Ｉ／Ｆ回路１３０ａが調停器１５２に対しアップリンクインフォメーションバス権要求信号を送り、これを受けて調停器１５２が外部端子Ｉ／Ｆ回路１３０ａに対しアップリンクインフォメーションバス権承認信号を返す。外部端子Ｉ／Ｆ回路１３０ｂについても同様である。
【００９４】
図１２に調停器の構成を記載する。図１２（ａ）は調停器１５１の構成を示す図である。調停器１５１はコマンドバス権調停回路１５１１、ダウンリンクデータバス権調停回路１５１２、及びダウンリンクインフォメーションバス権調停回路１５１３を含んで構成される。
【００９５】
コマンドバス権調停回路１５１１は、チャネル１４１ａ及びチャネル１４１ｂそれぞれからコマンドバス権要求信号を受け、チャネル１４１ａ及びチャネル１４１ｂそれぞれに対してコマンドバス権承認信号を返す。
【００９６】
ダウンリンクデータバス権調停回路１５１２は、チャネル１４１ａ及びチャネル１４１ｂそれぞれからダウンリンクデータバス権要求信号を受け、チャネル１４１ａ及びチャネル１４１ｂそれぞれに対しダウンリンクデータバス権承認信号を返す。ダウンリンクインフォメーションバス権調停回路１５１３は、チャネル１４１ａ及びチャネル１４１ｂそれぞれからダウンリンクインフォメーションバス権要求信号を受け、チャネル１４１ａ及びチャネル１４１ｂそれぞれに対しダウンリンクインフォメーションバス権承認信号を返す。
【００９７】
図１２（ｂ）は調停器１５２の構成を示す図である。調停器１５２はアップリンクデータバス権調停回路１５２２、及びアップリンクインフォメーションバス権調停回路１５２３を含んで構成される。
【００９８】
アップリンクデータバス権調停回路１５２２は、外部端子Ｉ／Ｆ回路１３０ａ及びチャネル１３０ｂそれぞれからアップリンクデータバス権要求信号を受け、外部端子Ｉ／Ｆ回路１３０ａ及びチャネル１４１ｂそれぞれに対しアップリンクデータバス権承認信号を返す。
【００９９】
アップリンクインフォメーションバス権調停回路１５２３は、外部端子Ｉ／Ｆ回路１３０ａ及びチャネル１３０ｂそれぞれからアップリンクインフォメーションバス権要求信号を受けて、外部端子Ｉ／Ｆ回路１３０ａ及びチャネル１４１ｂそれぞれに対しアップリンクインフォメーションバス権承認信号を返す。
【０１００】
以上が調停器１５１、１５２の機能構成である。
【０１０１】
なお、コマンドバス、ダウンリンクデータバス、ダウンリンクインフォメーションバスに共通して、チャネル１４１ａあるいはチャネル１４１ｂがバス権の承認を得た後は、共有バスの種類(コマンド、ダウンリンクデータ、ダウンリンクインフォメーション)毎に定められたサイクル数分だけ共有バスを使用することが可能となる。当該サイクル数は共有バスの使用回路(チャネル１４１a、チャネル１４１ｂ)毎に個別の値であっても良い。
【０１０２】
また、アップリンクデータバス、アップリンクインフォメーションバスに共通して、外部端子Ｉ／Ｆ回路１３０ａあるいは外部端子Ｉ／Ｆ回路１３０ｂがバス権の承認を得た後は、共有バスの種類(アップリンクデータ、アップリンクインフォメーション)毎に定められたサイクル数分だけ共有バスを使用することが可能となる。当該サイクル数は共有バスの使用回路(外部端子Ｉ／Ｆ回路１３０ａ、外部端子Ｉ／Ｆ回路１３０ｂ)毎に個別の値であっても良い。
＜動作＞
次に、半導体集積回路１００の動作を図１３に示すタイミングチャートや、図１４〜図１７に示すフローチャートを用いて説明する。
【０１０３】
ここで図１３を使用して、チャネル１４１ａと外部端子Ｉ／Ｆ回路１３０ａとの間のデータ転送、及びチャネル１４１ｂと外部端子Ｉ／Ｆ回路１３０ｂとの間のデータ転送の典型的な例を説明する。図１３（ａ）にはチャネル１４１ａから外部端子Ｉ／Ｆ回路１３０ａへのデータ転送を行う場合の情報転送フローを記載している。
【０１０４】
本実施の形態２では、データ転送を行うために、まず外部端子Ｉ／Ｆ回路１３０ａからチャネル１４１ａに対し転送サイズ情報を含んだ転送開始要求を送り、これを受けてチャネル１４１ａがデータ転送を開始する。チャネル１４１ａは指定された転送サイズ分のデータを一度に転送しきるのではなく、所定のサイズに分割して複数回に分けてデータ転送を行う。データ転送を行う際は、チャネル１４１ａから外部端子Ｉ／Ｆ回路１３０ａに対しコマンドを送り、続いてチャネル１４１ａから外部端子Ｉ／Ｆ回路１３０ａに対しダウンリンクデータを送る。これを、指定されたサイズ分のデータ転送を終えるまで繰り返す。ただし、転送開始要求時に指定された転送サイズが所定のサイズより小さい場合は、データ転送は一度で終える。
【０１０５】
図１３（ａ）には、データ転送開始時の、転送開始要求の授受及び、初めのコマンド、データの授受までを記載したフロー図である。以下、図１３（ａ）に記載のフローを詳細に説明する。
【０１０６】
まず、外部端子Ｉ／Ｆ回路１３０ａがチャネル１４１ａに対し転送開始要求を通知するために、調停器１５２に対してアップリンクインフォメーションバス権要求を送り、それに応じて調停器１５２が外部端子Ｉ／Ｆ回路１３０ａに対しアップリンクインフォメーションバス権承認を返している。それを受けた外部端子Ｉ／Ｆ回路１３０ａはチャネル１４１ａに対しアップリンクインフォメーションバスを利用して転送開始要求を通知する。
【０１０７】
転送開始要求を受けたチャネル１４１ａは外部端子Ｉ／Ｆ回路１３０ａに対しコマンドを送付するために、調停器１５１に対してコマンドバス権要求を送り、それに応じて調停器１５１がチャネル１４１ａに対しコマンドバス権承認を返している。それを受けたチャネル１４１ａは外部端子Ｉ／Ｆ回路１３０ａに対しコマンドバスを利用してコマンドを送付する。
【０１０８】
コマンドの送付を終えたチャネル１４１ａは外部端子Ｉ／Ｆ回路１３０ａに対しデータを送付するために、調停器１５１に対してダウンリンクデータバス権要求を送り、それに応じて調停器１５１がチャネル１４１ａに対しダウンリンクデータバス権承認を返している。それを受けたチャネル１４１ａは外部端子Ｉ／Ｆ回路１３０ａに対しダウンリンクデータバスを利用してデータを送付する。
【０１０９】
図１３（ｂ）には外部端子Ｉ／Ｆ回路１３０ｂからチャネル１４１ｂへのデータ転送を行う場合の情報転送フローを記載している。
【０１１０】
本実施の形態２では、データ転送を行うために、まず外部端子Ｉ／Ｆ回路１３０ｂからチャネル１４１ｂに対し転送サイズ情報を含んだ転送開始要求を送り、これを受けてチャネル１４１ｂがデータ転送を開始する。チャネル１４１ｂは指定された転送サイズ分のデータを一度に転送しきるのではなく、所定のサイズに分割して複数回に分けてデータ転送を行う。データ転送を行う際は、チャネル１４１ｂから外部端子Ｉ／Ｆ回路１３０ｂに対しコマンドを送り、続いて外部端子Ｉ／Ｆ回路１３０ｂからチャネル１４１ｂに対しアップリンクデータを送る。これを、指定されたサイズ分のデータ転送を終えるまで繰り返す。ただし、転送開始要求時に指定された転送サイズが所定のサイズより小さい場合は、データ転送は一度で終える。その後、全データ転送を終えた後に、チャネル１４１ｂから外部端子Ｉ／Ｆ回路１３０ｂに対しデータ転送完了通知を行う。
【０１１１】
図１３(ｂ)には、指定されたサイズ分のデータ転送を一度のデータ転送で終える場合の例を記載しており、一度のコマンドとデータの授受を終えた後に、データ転送完了通知を行っている。以下、図１３（ｂ）に記載のフローを詳細に説明する。
【０１１２】
まず、外部端子Ｉ／Ｆ回路１３０ｂがチャネル１４１ｂに対し転送開始要求を通知するために、調停器１５２に対してアップリンクインフォメーションバス権要求を送り、それに応じて調停器１５２が外部端子Ｉ／Ｆ回路１３０ｂに対しアップリンクインフォメーションバス権承認を返している。それを受けた外部端子Ｉ／Ｆ回路１３０ｂはチャネル１４１ｂに対しアップリンクインフォメーションバスを利用して転送開始要求を通知する。
【０１１３】
転送開始要求を受けたチャネル１４１ｂは外部端子Ｉ／Ｆ回路１３０ｂに対しコマンドを送付するために、調停器１５１に対してコマンドバス権要求を送り、それに応じて調停器１５１がチャネル１４１ｂに対しコマンドバス権承認を返している。それを受けたチャネル１４１ｂは外部端子Ｉ／Ｆ回路１３０ｂに対しコマンドバスを利用してコマンドを送付する。
【０１１４】
コマンドを受けた外部端子Ｉ／Ｆ回路１３０ｂはチャネル１４１ｂに対しデータを送付するために、調停器１５２に対してアップリンクデータバス権要求を送り、それに応じて調停器１５２が外部端子Ｉ／Ｆ回路１３０ｂに対しアップリンクデータバス権承認を返している。それを受けた外部端子Ｉ／Ｆ回路１３０ｂはチャネル１４１ｂに対しアップリンクデータバスを利用してデータを送付する。
【０１１５】
データを受けたチャネル１４１ｂはバッファ１６０へのデータ書込み完了を確認した後、外部端子Ｉ／Ｆ回路１３０ｂに対しデータ転送完了を通知するために、調停器１５１に対してダウンリンクインフォメーションバス権要求を送り、それに応じて調停器１５１がチャネル１４１ｂに対しダウンリンクインフォメーションバス権承認を返している。それを受けたチャネル１４１ｂは外部端子Ｉ／Ｆ回路１３０ｂに対しダウンリンクインフォメーションバスを利用してデータ転送完了を通知する。
【０１１６】
図１４は、チャネル１４１ａのデータ転送制御を示すフローチャートである。まず、外部端子Ｉ／Ｆ回路１３０ａからの転送開始要求を受けてチャネル１４１ａが起動する。
【０１１７】
起動されたチャネル１４１ａは、まず外部端子Ｉ／Ｆ回路１３０ａから送られてくるライトレディ信号を確認する。外部端子Ｉ／Ｆ回路１３０ａがライトレディをアサートするまで待ち（ステップＳ１４０１のＮＯ）、ライトレディがアサートした（ステップＳ１４０１のＹＥＳ）ところでコマンドバス権を要求する（ステップＳ１４０１）。コマンドバス権を要求するとコマンドバス権が承認されるまで待ち（ステップＳ１４０３のＮＯ）、コマンドバス権が承認されたところで（ステップＳ１４０３のＹＥＳ）コマンドを送信する（ステップＳ１４０４）。
【０１１８】
コマンドを送信した後は外部端子Ｉ／Ｆ回路１３０ａに送るべきデータが準備できるまで待ち（ステップＳ１４０５のＮＯ）、データが準備できたところで（ステップＳ１４０５のＹＥＳ）、ダウンリンクデータバス権を要求する（ステップＳ１４０６）。ダウンリンクデータバス権を要求するとダウンリンクデータバス権が承認されるまで待ち（ステップＳ１４０７のＮＯ）、ダウンリンクデータバス権が承認されたところで（ステップＳ１４０７のＹＥＳ）ダウンリンクデータを送信する（ステップＳ１４０９）。
【０１１９】
転送開始要求時に指定されたサイズ分のデータ転送が完了していない場合はＳ１４０１に戻り（ステップＳ１４０９のＮＯ）、再びデータ転送を行う。指定されたサイズ分のデータ転送が完了している場合は（ステップＳ１４０９のＹＥＳ）、チャネル１４１ａは停止し、次の転送開始要求を受けるまで動作しない。
【０１２０】
図１５は、外部端子Ｉ／Ｆ回路１３０ａのデータ転送制御を示すフローチャートである。まず、外部端子Ｉ／Ｆ回路１３０ａは半導体集積回路１００内部の図示しないプロセッサなどにより起動される。
【０１２１】
起動された外部端子Ｉ／Ｆ回路１３０ａはチャネル１４１ａに転送開始要求を通知するためにアップリンクインフォメーションバス権を要求する（ステップＳ１５０１）。アップリンクインフォメーションバス権を要求するとアップリンクインフォメーションバス権が承認されるまで待ち（ステップＳ１５０２のＮＯ）、アップリンクインフォメーションバス権が承認されたところで（ステップＳ１５０２のＹＥＳ）、アップリンクインフォメーションバスを使用して転送開始要求を送信する（ステップＳ１５０３）。
【０１２２】
次に外部端子Ｉ／Ｆ回路１３０ａのデータ受信の準備が整うまで待ち（ステップＳ１５０４のＮＯ）、データ受信の準備が完了した時点でライトレディをアサートする（ステップＳ１５０５）。その後、チャネル１４１ａから送られるコマンドを受信し（ステップＳ１５０６）、次いでダウンリンクデータを受信する（ステップＳ１５０７）。
【０１２３】
転送開始要求時に指定されたサイズ分のデータ転送が完了していない場合はＳ１５０１に戻り（ステップＳ１５０８のＮＯ）再びデータ転送を行う。指定されたサイズ分のデータ転送が完了している場合は、外部端子Ｉ／Ｆ回路１３０ａは停止し、次の起動指示を受けるまで動作しない。
【０１２４】
図１６は、チャネル１４１ｂのデータ転送制御を示すフローチャートである。まず、外部端子Ｉ／Ｆ回路１３０ｂからの転送開始要求を受けてチャネル１４１ｂが起動する。
【０１２５】
起動されたチャネル１４１ｂは、まずチャネル１４１ｂのデータ受信の準備が整うまで待ち（ステップＳ１６０１のＮＯ）、準備が整うと（ステップＳ１６０１のＹＥＳ）、次いで外部端子Ｉ／Ｆ回路１３０ｂから送られてくるリードレディ信号を確認する。外部端子Ｉ／Ｆ回路１３０ｂがリードレディをアサートするまで待ち（ステップＳ１６０２のＮＯ）、リードレディがアサートしたところで（ステップＳ１６０２のＹＥＳ）、コマンドバス権を要求する（ステップＳ１６０３のＹＥＳ）。コマンドバス権を要求するとコマンドバス権が承認されるまで待ち（ステップＳ１６０４のＮＯ）、コマンドバス権が承認されたところで（ステップＳ１６０４のＹＥＳ）、コマンドを送信する（ステップＳ１６０５）。その後、外部端子Ｉ／Ｆ回路１３０ｂから送られるデータを受信しバッファ１６０への書き込みを行う（ステップＳ１６０６）。
【０１２６】
転送開始要求時に指定されたサイズ分のデータ転送が完了していない場合は（ステップＳ１６０７のＮＯ）ステップＳ１６０１に戻り、再びデータ転送を行う。指定されたサイズ分のデータ転送が完了している場合は、データ転送完了通知を行うために、アップリンクインフォメーションバス権を要求する（ステップＳ１６０８）。アップリンクインフォメーションバス権を要求するとアップリンクインフォメーションバス権が承認されるまで待ち（ステップＳ１６０９のＮＯ）、アップリンクインフォメーションバス権が承認されたところでアップリンクインフォメーションバスを使用してデータ転送完了を通知する（ステップＳ１６１０）。その後、チャネル１４１ｂは停止し、次の転送開始要求を受けるまで動作しない。
【０１２７】
図１７は、外部端子Ｉ／Ｆ回路１３０ｂのデータ転送制御を示すフローチャートである。まず、外部端子Ｉ／Ｆ回路１３０ｂは半導体集積回路１００内部の図示しないプロセッサなどにより起動される。
【０１２８】
起動された外部端子Ｉ／Ｆ回路１３０ｂはチャネル１４１ｂに転送開始要求を通知するためにアップリンクインフォメーションバス権を要求する（ステップＳ１７０１）。アップリンクインフォメーションバス権を要求するとアップリンクインフォメーションバスが承認されるまで待ち（ステップＳ１７０２のＮＯ）、アップリンクインフォメーションバスが承認されたところで（ステップＳ１７０２のＹＥＳ）、アップリンクインフォメーションバス権を使用して転送開始要求を送信する（ステップＳ１７０３）。
【０１２９】
次に外部端子Ｉ／Ｆ回路１３０ｂはリードレディをアサートする（ステップＳ１７０４）。その後、チャネル１４１ｂから送られるコマンドを受信する（ステップＳ１７０５）。コマンドを受信した後はチャネル１４１ｂに送るべきデータが準備できるまで待ち（ステップＳ１７０６のＮＯ）、データが準備できたところで（ステップＳ１７０６のＹＥＳ）、アップリンクデータバス権を要求する（ステップＳ１７０７）。アップリンクデータバス権を要求するとアップリンクデータバス権が承認されるまで待ち（ステップＳ１７０８のＮＯ）、アップリンクデータバス権が承認されたところで（ステップＳ１７０８のＹＥＳ）データを送信する（ステップＳ１７０９）。
【０１３０】
転送開始要求時に指定されたサイズ分のデータ転送が完了していない場合は（ステップＳ１７１０のＮＯ）、ステップＳ１７０４に戻り、再びデータ転送を行う。指定されたサイズ分のデータ転送が完了している場合は（ステップＳ１７１０のＹＥＳ）、外部端子Ｉ／Ｆ回路１３０ｂはデータ転送完了の通知を受けた後に（ステップＳ１７１１）停止し、次の起動指示を受けるまで動作しない。
【０１３１】
以上が各データ転送の動作の説明である。
【０１３２】
ここから、実際のデータ転送のタイミングについて説明する。
【０１３３】
図１８は、ＤＭＡＣ１４０から外部端子Ｉ／Ｆ回路群１３０ａ、１３０ｂの方向に情報を伝える共有バスのバス権の割り当て及び共有バスの使用状況を示す図である。ここでは、チャネル１４１ａ及びチャネル１４１ｂがコマンドバスを使用しており、チャネル１４１ａ及びチャネル１４１ｂがバス権承認を得た際に共に共有バスを３サイクル使用する例を記載している。
【０１３４】
時刻Ｔ０以前にチャネル１４１ａからのコマンドバス権要求信号が調停器１５１に到達しており、それを受けた調停器１５１がチャネル１４１ａに対し時刻Ｔ０にコマンドバス権承認を返している。その結果、時刻Ｔ０から時刻Ｔ２の間チャネル１４１ａがスライスバス１２１のコマンドバスを使用する権利を得る(ダウンリンクバス権＝Ａ)。
【０１３５】
時刻Ｔ０から時刻Ｔ２の間にチャネル１４１ａからスライスバス１２１のコマンドバスに出力されたコマンドは、スライス群１２４を通過する際に１サイクル遅延し、時刻Ｔ１から時刻Ｔ３の間スライスバス１２２のコマンドバスに出力される。ここで、コマンドは外部端子Ｉ／Ｆ回路１３０ａに取得される。
【０１３６】
次に、時刻Ｔ３以前にチャネル１４１ｂからのコマンドバス権要求信号が調停器１５１に到達しており、それを受けた調停器１５１がチャネル１４１ｂに対し時刻Ｔ３にコマンドバス権承認を返している。その結果、時刻Ｔ３から時刻Ｔ５の間チャネル１４１ｂがスライスバス１２１のコマンドバスを使用する権利を得る(ダウンリンクバス権＝Ｂ)。
【０１３７】
時刻Ｔ３から時刻Ｔ５の間にチャネル１４１ｂからスライスバス１２１のコマンドバスに出力されたコマンドは、スライス群１２４を通過する際に１サイクル遅延し、時刻Ｔ４から時刻Ｔ６の間スライスバス１２２のコマンドバスに出力される。同様に、時刻Ｔ４から時刻Ｔ６の間スライスバス１２２のコマンドバスに出力されたコマンドは、スライス群１２５を通過する際に１サイクル遅延し、時刻Ｔ５から時刻Ｔ７の間スライスバス１２３のコマンドバスに出力される。ここで、コマンドは外部端子Ｉ／Ｆ回路１３０ｂに取得される。
【０１３８】
以降、時刻Ｔ６から時刻Ｔ８のコマンドバス権及びそれに対応する共有バスの使用状況は時刻Ｔ０から時刻Ｔ２のそれと同様であり、時刻Ｔ９から時刻Ｔ１１のコマンドバス権及びそれに対応する共有バスの使用状況は時刻Ｔ３から時刻Ｔ５のそれと同様である。
【０１３９】
図１９は、外部端子Ｉ／Ｆ回路群１３０からＤＭＡＣ１４０の方向に情報を伝える共有バスのバス権の割り当て及び共有バスの使用状況を示す図である。ここでは、外部端子Ｉ／Ｆ回路１３０ａ及び外部端子Ｉ／Ｆ回路１３０ｂがアップリンクインフォメーションバスを使用しており、外部端子Ｉ／Ｆ回路１３０ａ及び外部端子Ｉ／Ｆ回路１３０ｂがバス権承認を得た際に共に共有バスを３サイクル使用する例を記載している。
【０１４０】
時刻Ｔ０以前に外部端子Ｉ／Ｆ回路１３０ａからのアップリンクインフォメーションバス権要求信号が調停器１５２に到達しており、それを受けた調停器１５２が外部端子Ｉ／Ｆ回路１３０ａに対し時刻Ｔ０にアップリンクインフォメーションバス権承認を返している。その結果、時刻Ｔ０から時刻Ｔ２の間外部端子Ｉ／Ｆ回路１３０ａがスライスバス１２３のアップリンクインフォメーションバスを使用する権利を得る(ダウンリンクバス権＝Ａ)。ただし、外部端子Ｉ／Ｆ回路１３０ａはスライスバス１２３には接続されていないため、時刻Ｔ０から時刻Ｔ２の間、スライスバス１２３は使用されない。
【０１４１】
外部端子Ｉ／Ｆ回路１３０ａに送られるべきアップリンクインフォメーションバス権承認信号はスライス群１２５を通過する際に１サイクル遅延し、時刻Ｔ１にスライスバス１２２に接続される外部端子Ｉ／Ｆ回路１３０ａに到達する。この結果、時刻T１から時刻Ｔ３の間外部端子Ｉ／Ｆ回路１３０ａがスライスバス１２２のアップリンクインフォメーションバスを使用する権利を得る(ダウンリンクバス権＝Ａ)。
【０１４２】
時刻Ｔ１から時刻Ｔ３の間に外部端子Ｉ／Ｆ回路１３０ａからスライスバス１２２のアップリンクインフォメーションバスに出力された情報は、スライス群１２４を通過する際に１サイクル遅延し、時刻Ｔ２から時刻Ｔ４の間スライスバス１２１のアップリンクインフォメーションバスに出力される。ここで、アップリンクインフォメーションバス経由で送られた情報はチャネル１４１ａに取得される。
【０１４３】
次に、時刻Ｔ３以前に外部端子Ｉ／Ｆ回路１３０ｂからのアップリンクインフォメーションバス権要求信号が調停器１５２に到達しており、それを受けた調停器１５２が外部端子Ｉ／Ｆ回路１３０ｂに対し時刻Ｔ３にアップリンクインフォメーションバス権承認を返している。その結果、時刻Ｔ３から時刻Ｔ５の間外部端子Ｉ／Ｆ回路１３０ｂがスライスバス１２３のアップリンクインフォメーションバスを使用する権利を得る(ダウンリンクバス権＝Ｂ)。
【０１４４】
時刻Ｔ３から時刻Ｔ５の間に外部端子Ｉ／Ｆ回路１３０ｂからスライスバス１２３のアップリンクインフォメーションバスに出力された情報は、スライス群１２５を通過する際に１サイクル遅延し、時刻Ｔ４から時刻Ｔ６の間スライスバス１２２のアップリンクインフォメーションバスに出力される。同様に、時刻Ｔ４から時刻Ｔ６の間スライスバス１２２のアップリンクインフォメーションバスに出力された情報は、スライス群１２４を通過する際に１サイクル遅延し、時刻Ｔ５から時刻Ｔ７の間スライスバス１２１のアップリンクインフォメーションバスに出力される。ここで、アップリンクインフォメーションバス経由で送られた情報はチャネル１４１ｂに取得される。
【０１４５】
このように、共有バスのバス権承認信号を共有バス経由で送付する情報と同等にスライスすることにより、共有バスのバス権切替時に共有バスの未使用期間を設けること無しに情報を転送することができ、高いバス使用効率を実現することが可能となる。
【０１４６】
なお、図１８及び図１９では、共有バス使用回路(チャネル１４１ａ、チャネル１４１ｂ、外部端子Ｉ／Ｆ回路１３０ａ、あるいは外部端子Ｉ／Ｆ回路１３０ｂ)がバス権承認を得た際に共有バスを固定サイクル数(３サイクル)使用する例を記載したが、本発明はこれに限定されるものではない。例えば、この共有バスの使用期間は共有バスの使用回路毎に異なっていても良い。
【０１４７】
共有バスの使用期間が共有バスの使用回路毎に異なる例を、図２０及び図２１を使用して説明する。ここでは、チャネル１４１ａ及びチャネル１４１ｂがコマンドバスを使用しており、チャネル１４１ａがバス権承認を得た際に共有バスを３サイクル使用し、チャネル１４１ｂがバス権承認を得た際に共有バスを２サイクル使用する例を記載している。
【０１４８】
図２０は、調停器１５１が共有バスの使用回路毎の共有バスの使用期間を知らず、共有バスの使用期間の最大値(３サイクル)毎に調停を行い、バス権の承認を返す例を記載している。この場合、チャネル１４１ｂが共有バスを使用する権利を得ている期間(３サイクル)のうち１サイクルが未使用期間となる。具体的には、チャネル１４１ｂが共有バスを使用する権利を得ている時刻Ｔ５及び時刻Ｔ１１で、チャネル１４１ｂはスライスバス１２１を使用しない。そのため時刻Ｔ６及び時刻Ｔ１２でスライスバス１２２は使用されておらず、更に時刻Ｔ７及び時刻Ｔ１３でスライスバス１２３は使用されていない。このため、共有バスの使用効率が低下してしまう。
【０１４９】
これを避けるため、調停器１５１に使用回路毎の共有バスの使用期間情報を持たせ、使用回路毎の共有バスの使用期間に応じて、調停するタイミングを変化させても良い。
【０１５０】
図２１は、調停器１５１が使用回路毎の共有バスの使用期間情報を持ち、使用回路毎の共有バスの使用期間に応じて、調停するタイミングを変化させる例である。図２０と同様に、チャネル１４１ａ及びチャネル１４１ｂがコマンドバスを使用しており、チャネル１４１ａがバス権承認を得た際に共有バスを３サイクル使用し、チャネル１４１ｂがバス権承認を得た際に共有バスを２サイクル使用する例を記載している。
【０１５１】
調停器１５１は、時刻Ｔ０で調停を行い調停器１５１がチャネル１４１ａに対し時刻Ｔ０にコマンドバス権承認を返している。ここで調停器１５１はチャネル１４１ａの共有バスの使用期間情報(３サイクル)を保持しており、次の調停を３サイクル後の時刻Ｔ３に行う。
【０１５２】
調停器１５１は、時刻Ｔ３ではチャネル１４１ｂに対しコマンドバス権承認を返している。ここで調停器１５１はチャネル１４１ｂの共有バスの使用期間情報(２サイクル)を保持しており、次の調停を２サイクル後の時刻Ｔ５に行う。
【０１５３】
調停器１５１は、時刻Ｔ５ではチャネル１４１ａに対しコマンドバス権承認を返している。ここで調停器１５１はチャネル１４１ａの共有バスの使用期間情報(３サイクル)を保持しており、次の調停を３サイクル後の時刻Ｔ８に行う。
【０１５４】
このように、調停器１５１に使用回路毎の共有バスの使用期間情報を持たせ、使用回路毎の共有バスの使用期間に応じて調停するタイミングを変化させることにより、共有バスの使用回路毎に使用期間が異なる場合でも、高いバス使用効率を維持することが可能となる。
＜まとめ＞
以上に説明してきたように、本実施の形態２に示した半導体集積回路は、上記変形例に従って設計、作成されており、外部端子位置の決定が遅れていたとしても、問題なく動作する構成を実現できる。即ち、外部端子位置に応じて、タイミング調整回路の段数を決定して作成されているため、簡単な構成で、データ転送間の遅延等に配慮した半導体集積回路を実現できる。
＜実施の形態３＞
上記実施の形態２においては、各外部端子Ｉ／Ｆ回路１３０ａ、１３０ｂとＤＭＡＣ１４０とがデータ転送を行う際に、バス権の使用期間が異なるものが混在する場合を説明した。
【０１５５】
本実施の形態３においては、バス権の使用期間が異なる場合に、共有バスを分けて構成する例を説明する。なお、ここでいうバス権の使用期間は、１度のデータ転送におけるバースト長と言い換えてもよい。
【０１５６】
図２２は、共有バスを分けない場合の半導体集積回路２００の構成例を示す機能ブロック図である。また、図２３は、共有バスを分ける場合の半導体集積回路３００の構成例を示す機能ブロック図である。なお、両機能ブロック図においては、基本的には、実施の形態２に示した半導体集積回路１００と構成と略一致するので、若干省略してバッファ１６０等を省略して記載する。
【０１５７】
ＤＭＡＣ２４０はチャネル２４１ａ、チャネル２４１ｂ、チャネル２４１ｃ、チャネル２４１ｄの４つのチャネルを含み、共有バスを介して外部端子Ｉ／Ｆ回路群２３０と接続されている。チャネル２４１ａは外部端子Ｉ／Ｆ回路２３０ａと情報を授受し、チャネル２４１ｂは外部端子Ｉ／Ｆ回路２３０ｂと情報を授受し、チャネル２４１ｃは外部端子Ｉ／Ｆ回路２３０ｃと情報を授受し、チャネル２４１ｄは外部端子Ｉ／Ｆ回路２３０ｄと情報を授受する。
【０１５８】
チャネル２４１ａ、チャネル２４１ｂ、チャネル２４１ｃ、及びチャネル２４１ｄのそれぞれは調停器２５１に対しバス権要求信号群を送り、調停器２５１はチャネル２４１ａ、チャネル２４１ｂ、チャネル２４１ｃ、及びチャネル２４１ｄのそれぞれに対しバス権承認信号群を送る。外部端子Ｉ／Ｆ回路２３０ａ、外部端子Ｉ／Ｆ回路２３０ｂ、外部端子Ｉ／Ｆ回路２３０ｃ、及び外部端子Ｉ／Ｆ回路２３０ｄのそれぞれは調停器２５２に対しバス権要求信号群を送り、調停器２５２は外部端子Ｉ／Ｆ回路２３０ａ、外部端子Ｉ／Ｆ回路２３０ｂ、外部端子Ｉ／Ｆ回路２３０ｃ、及び外部端子Ｉ／Ｆ回路２３０ｄのそれぞれに対しバス権承認信号群を送る。バス権要求信号群とバス権承認信号群の構成は図１１での説明と同様である。
【０１５９】
また、図２２では記載を省略しているが図１と同様に情報を授受するチャネルと外部端子Ｉ／Ｆ回路の間では、ライトレディ信号とリードレディ信号がスライスを介して接続されている。
【０１６０】
共有バスはスライス群２２４、スライス群２２５とそれらによりスライスされたスライスバス２２１、スライスバス２２２、スライスバス２２３により構成される。ＤＭＡコントローラ２５１はスライスバス２２１に接続されており、外部端子Ｉ／Ｆ回路２３０ａ及び外部端子Ｉ／Ｆ回路２３０ｃはスライスバス２２２に接続されており、外部端子Ｉ／Ｆ回路２３０ｂ及び外部端子Ｉ／Ｆ回路２３０ｄはスライスバス２２３に接続されている。
【０１６１】
図２４は、ＤＭＡコントローラ２４０から外部端子Ｉ／Ｆ回路群に２３０の方向に情報を伝える共有バスのバス権の割り当て及び共有バスの使用状況を示す図である。ここでは、チャネル２４１ａ、チャネル２４１ｂ、チャネル２４１ｃ、及びチャネル２４１ｄがコマンドバスを使用しており、チャネル２４１ａ及びチャネル２４１ｂがバス権承認を得た際に共有バスを３サイクル使用し、チャネル２４１ｃ、及びチャネル２４１ｄがバス権承認を得た際に共有バスを２サイクル使用する例を記載している。また、調停器２５１は使用回路毎の共有バスの使用期間情報を持たず、固定サイクル(３サイクル)毎に調停を行う。
【０１６２】
この場合、図２０での説明と同様に、共有バスの使用期間が調停器２５１の調停間隔（３サイクル）よりも短いチャネル２４１ｃ、及びチャネル２４１ｄが共有バスを使用する場合に、未使用期間（図中斜線部分）ができ、共有バスの使用効率が低下する。
【０１６３】
この共有バスの使用効率の低下を回避するため、共有バスの使用期間３であるチャネル２４１ａ及びチャネル２４１ｂが使用する共有バスと、共有バスの使用期間２であるチャネル２４１ｃ及びチャネル２４１ｄが使用する共有バスを個別に実装しても良い。この例を図２３及び、図２５と図２６とを使用して説明する。
【０１６４】
図２３は個別の共有バスを実装する場合の構成例である。ＤＭＡＣ３４０及び外部端子Ｉ／Ｆ回路群３３０ａ〜３３０ｄの構成は、図２２の場合と略同様である。ただし、図２２とは異なり、共有バスを２系統設け、共有バスの系統毎に調停器を設けている点が異なる。
【０１６５】
具体的には、チャネル３４１ａ、チャネル３４１ｂ、外部端子Ｉ／Ｆ回路３３０ａ及び外部端子Ｉ／Ｆ回路３３０ｂはスライスバス３２１ａ、スライスバス３２２ａ、スライスバス３２３ａ、スライス群３２４ａ、及びスライス群３２５ａにより構成される第１共有バスに接続されており、チャネル３４１ｃ、チャネル３４１ｄ、外部端子Ｉ／Ｆ回路３３０ｃ及び外部端子Ｉ／Ｆ回路３３０ｄはスライスバス３２１ｂ、スライスバス３２２ｂ、スライスバス３２３ｂ、スライス群３２４ｂ、及びスライス群３２５ｂにより構成される第２共有バスに接続されている。
【０１６６】
チャネル３４１ａ、及びチャネル３４１ｂのそれぞれは調停器３５１ａに対しバス権要求信号群を送り、調停器３５１ａはチャネル２４１ａ、及びチャネル２４１ｂのそれぞれに対しバス権承認信号群を送る。チャネル２４１ｃ及びチャネル３４１ｄのそれぞれは調停器３５１ｂに対しバス権要求信号群を送り、調停器３５１ｂはチャネル３４１ｃ及びチャネル３４１ｄのそれぞれに対しバス権承認信号群を送る。
【０１６７】
外部端子Ｉ／Ｆ回路３３０ａ、及び外部端子Ｉ／Ｆ回路３３０ｂのそれぞれは調停器３５２ａに対しバス権要求信号群を送り、調停器３５２ａは外部端子Ｉ／Ｆ回路３３０ａ、及び外部端子Ｉ／Ｆ回路３３０ｂのそれぞれに対しバス権承認信号群を送る。外部端子Ｉ／Ｆ回路３３０ｃ、及び外部端子Ｉ／Ｆ回路３３０ｄのそれぞれは調停器３５２ｂに対しバス権要求信号群を送り、調停器３５２ｂは外部端子Ｉ／Ｆ回路３３０ｃ、及び外部端子Ｉ／Ｆ回路３３０ｄのそれぞれに対しバス権承認信号群を送る。
【０１６８】
バス権要求信号群とバス権承認信号群の構成は図１１での説明と同様である。また、図２３では記載を省略しているが図９と同様に情報を授受するチャネルと外部端子Ｉ／Ｆ回路の間では、ライトレディ信号とリードレディ信号がスライスを介して接続されている。
【０１６９】
図２５は、外部端子Ｉ／Ｆ回路群３３０ａ〜３３０ｄからＤＭＡＣ３４０の方向に情報を伝える共有バスのバス権の割り当て及び共有バスの使用状況を示す図である。ここでは、チャネル３４１ａ、及びチャネル３４１ｂが第１共有バスのコマンドバスを使用しており、チャネル３４１ｃ、及びチャネル３４１ｄが第２共有バスのコマンドバスを使用している。また、調停器３５１ａ、及び調停器３５１ｂはそれぞれが固定サイクル毎に調停を行い、調停器３５１ａは３サイクル毎に、調停器３５１ｂは２サイクル毎に調停を行うものとする。
【０１７０】
この場合、図２５に記載の通り、図１８での説明と同様に未使用期間が入ることなく共有バスを使用することができる。
＜まとめ＞
以上に説明してきたように共有バスを、使用回路ごとにバスの一時の使用期間が異なる仕様の場合に、個別に設けることにより、使用回路毎の共有バスの使用期間に応じて調停するタイミングを変化させる複雑な調停回路を設けなくても、高効率に共有バスを使用することが可能となる。
＜実施の形態４＞
上記実施の形態１〜３においては、主として、データ転送制御回路たるＤＭＡＣが機能ブロックに含まれる例を説明した。ところで、機能ブロックにＤＭＡＣを設ける構成とすると、設計の拡張性が低くなることがある。
【０１７１】
これは、アップリンク用の調停器と、ダウンリンク用の調停器を、例えば、図９や図２２あるいは、図２３のように配する構成とした場合、それぞれの構成に対応してどのように調停を実行するかを設計しているため、ここに新たな外部端子や外部端子Ｉ／Ｆ回路を設ける設計が追加された場合には、調停器は設計しなおす必要があるためである。なお、元から設計に盛り込まれていた外部端子や外部端子Ｉ／Ｆ回路を取り除く設計が追加された場合であっても調停器の再設計が必要となるのは同様である。また、ＤＭＡＣには、新たな外部端子、外部Ｉ／Ｆ回路に対応する新たなチャネルを設ける必要があるため、ＤＭＡＣの再設計もまた必要となる。
【０１７２】
そこで、上記実施の形態１や各種変形例に示したレイアウト設計方法においては、データ転送制御回路たるＤＭＡＣを機能ブロック内に含まずに、外部端子Ｉ／Ｆ回路の一部としてレイアウト設計を行ってもよいことを記載している。
【０１７３】
この場合のレイアウト設計方法の一例を、図２８に示す。図２８（ａ）には一例として図４（ａ）に示したレイアウト設計方法において、データ転送制御回路が機能ブロックに含まれない場合のレイアウト設計方法を示した。図２８において、図４と共通する内容は同じステップ番号を付し、異なる内容については、異なるステップ番号を付している。なお、本実施の形態４に示すデータ転送制御回路を機能ブロックに含まずに設計する手法は、図４だけでなく、図１あるいは図６などに示したレイアウト設計手法にも適用可能である。
【０１７４】
図２８（ａ）に示したフローチャートと図４（ａ）に示したフローチャートとの相違点は、データ転送制御回路の配置を定めるタイミングである。
【０１７５】
まず、ステップＳ２８０１においては、ステップＳ４０１と比較すればわかるように、データ転送制御回路が含まれていない機能ブロックの配置を定めている（ステップＳ２８０１）。
【０１７６】
そして、複数の外部端子の配置が決定されると（ステップＳ４０２）、各外部端子に対応するデータ転送制御回路を含むＩＯブロックの配置を決定する。このとき、ＩＯブロックがデータ転送制御回路を含まない場合には、データ転送制御回路の配置も、各ＩＯブロックに対応するように、決定する。そして、ＩＯブロックの配置が決定すると共有バスの配置と、その共有バスに挿入されるタイミング調整回路の配置を決定する（ステップＳ２８０３）。
【０１７７】
なお、図２８（ｂ）には、図４と同様に、図２８（ａ）における各ステップにおいて並行処理によるレイアウト設計をする手法を示している。
＜構成＞
図２８の設計手順に従って設計される半導体集積回路の構成について説明する。
【０１７８】
図２９は、半導体集積回路４００の機能構成を示すブロック図である。
【０１７９】
図２９と、図２２や図２３との相違点は、データ転送制御回路としてＤＭＡＣ機能を有する回路（ＤＭＡチャネル）を各外部端子Ｉ／Ｆ回路に対応させて設けたことと、アップリンク用調停器とダウンリンク用調停器を設けない代わりに、各ＤＭＡチャネルに対応させて簡易な調停器を設けたことにある。つまり、図２２や図２３の場合、ＤＭＡチャネルは一つの回路（ＤＭＡＣ）が遠隔の外部端子Ｉ／Ｆ回路を制御する構成となっていたのに対し、本実施の形態４の図２９では、ＤＭＡＣ機能が外部端子Ｉ／Ｆ回路側に配されている。
【０１８０】
以下、このようにして設計される半導体集積回路４００の機能について説明する。なお、ここでは、半導体集積回路２００や３００と重複する内容については省略し、異なる構成について説明する。
【０１８１】
図２９に示すように、図２８に示すフローチャートに従って設計された半導体集積回路４００は、機能ブロック４４０と、外部端子４１０ａ、４１０ｂと、外部端子Ｉ／Ｆ回路４３０ａ、４３０ｂと、ＤＭＡチャネル４４０ａ、４４０ｂと、調停器４５０ａと、スライス群４２４、４２５と、スライスバス４２１、４２２、４２３と、バッファ４６０とから構成される。各回路は、図２９に示される構成で接続される。
【０１８２】
半導体集積回路４００は、半導体集積回路４００に接続される外部機器からのデータを外部端子４１０ａ、４１０ｂで受信して、バッファ４６０に転送する機能と、バッファ４６０からのデータを外部端子４１０ａ、４１０ｂから半導体集積回路４００に接続される外部機器に転送する機能を含む回路である。
【０１８３】
外部端子４１０ａ、４１０ｂ、スライス群４２４、４２５、バッファ４６０は、上記実施の形態１〜３に示したものと同様の機能を果たすものである。
【０１８４】
ＤＭＡチャネル４４０ａは、外部端子Ｉ／Ｆ回路４３０ａとバッファ４６０との間のデータ転送を制御する機能を有する。ＤＭＡチャネル４４０ａは、データ転送を実行しようとする場合、まず、調停器４５０ａにデータ転送要求を送信する。そして、調停器４４０ｂから共有バスの使用許可の通知を受け付けるとデータ転送を実行する。
【０１８５】
ＤＭＡチャネル４４０ｂは、外部端子Ｉ／Ｆ回路４３０ｂとバッファ４６０との間のデータ転送を制御する機能を有する。ＤＭＡチャネル４４０ｂは、データ転送を実行しようとする場合、まず、調停器４５０ｂにデータ転送要求を送信する。そして、調停器４５０ｂから共有バスの使用許可の通知を受け付けるとデータ転送を実行する。
【０１８６】
ＤＭＡチャネル４４０ａと４４０ｂとはともに共有バス（４２１、４２２、４２３）に接続されている。このため、実際にデータ転送を実行するためには、バス権を獲得する必要がある。
【０１８７】
調停器４５０ａ、４５０ｂはそのために配されており、調停器４５０ａ、４５０ｂによりバス権が管理される。
【０１８８】
調停器４５０ａ、４５０ｂは、ＤＭＡチャネルからデータ転送要求を受け付けている場合であって、同時に機能ブロック４４０側から見て下流にある調停器（調停器４５０ａに対する調停器４５０ｂ）からバス権要求信号を受け付けたときには、両者のバス権要求を所定のポリシーで優先度付けをし、優先度の高い方のバス権要求信号を上流（機能ブロック４４０）に向けて出力する。また調停器４５０ａ、４５０ｂは、ＤＭＡチャネルからデータ転送要求を受け付けていない場合であって、下流の調停器からバス権要求信号を受け付けたときには、当該バス権要求信号をそのまま上流に出力する。
【０１８９】
機能ブロック４４０は、調停器４５０ａから送信されてきたバス権要求信号に応じて、バス権を与えて良いタイミング（例えば、共有バスがいずれの回路にも使用されていないタイミング）でバス権承認信号を調停器４５０ａに送信する機能を有する。
【０１９０】
このような構成とすると、外部端子と外部端子Ｉ／Ｆ回路の追加や削除が容易となるうえ、調停器も上述の単純な構成によるバス権の管理を行うのみであるため、調停器の再設計もせずに済む構成となる。
【０１９１】
図３０には、図２９の構成に新たな外部端子４１０ｃと外部端子Ｉ／Ｆ回路４３０ｃとＤＭＡチャネル４４０ｃと調停器４５０ｃとを追加した構成の半導体集積回路４００ａを示した。なお、図３０においては、新たなスライス群４２６を設ける構成を示したが、このスライス群４２６は、共有バスの配線長に応じて設けられるものである。そのため、新たな外部端子や外部端子Ｉ／Ｆ回路までの配線長がそれほど長いものにならない場合には、タイミング調整のためのスライス群は新たに設ける必要がなく、図３１に示すような構成の半導体集積回路４００ｂが設計される。
【０１９２】
また、逆にもともと設計していたデータ転送経路（外部端子と外部端子Ｉ／Ｆ回路とＤＭＡチャネルと調停器の組み合わせ）が不要になることもある。図３２には、追加でなく、削除した構成を示した。このような構成とすることで、外部端子と外部端子Ｉ／Ｆ回路とＤＭＡチャネルと調停器の組み合わせからなる一つのデータ転送経路を単位として考えられた設計の追加や削除を行うことができる。
【０１９３】
このように、図２９などに示すように、一つの外部端子と外部Ｉ／Ｆ回路とＤＭＡチャネルと調停器とを一単位とした配置をすることができるので、図９、図２２、図２３などに示した構成とする場合に比して、外部端子、外部Ｉ／Ｆ回路の追加や削除などの設計変更を容易に行うことができる。
【０１９４】
また、図２９〜図３２では、機能ブロックと複数のＩＯブロックがバス型のトポロジーで接続される例を記載しているが、これはデイジーチェーン型のトポロジーで接続されてもよい。デイジーチェーン型のトポロジーで機能ブロックやＩＯブロックを接続する構成としては、例えば、図３３に示すような構成が考えられる。図３３に示す半導体集積回路４００ｄは、図３１に示したバス型のトポロジーで機能ブロックとＩＯブロックとが接続されている半導体集積回路４００ｂをデイジーチェーン型のトポロジーで接続された構成に変更したものである。例えば、ＩＯブロックとして、外部端子Ｉ／Ｆ回路（４３０ａ／４３０ｂ／４３０ｃ）とＤＭＡチャネル（４４０ａ／４４０ｂ／４４０ｃ）と調停器（４５０ａ／４５０ｂ／４５０ｃ）とを一つにパッケージした回路を用いる。図３３に示される通り、機能ブロック４４０と、スライス群４２４、４２５と、ＩＯブロック４７０ａ、４７０ｂ、４７０ｃとはデイジーチェーン構成でバス（４２１、４２２、４２３）により接続されている。
【０１９５】
また、ＩＯブロック４７０ａ、４７０ｂ、４７０ｃは、図３４に示す半導体集積回路４００ｅのように、一組のＤＭＡチャネル（４４０ａ／４４０ｂ／４４０ｃ）と調停器（４５０ａ／４５０ｂ／４５０ｃ）とを一つにパッケージした回路であってもよい。
【０１９６】
このような構成であっても、図３３に示した半導体集積回路４００ｄ、図３４に示した半導体集積回路４００ｅは、実質的には、図３１に示した半導体集積回路４００ｂと同等の機能を発揮する。
【０１９７】
なお、バス型のトポロジーで接続するか、デイジーチェーン型のトポロジーで接続するかは設計の仕様で定められ、当該仕様に従って、レイアウト設計がなされる。
＜まとめ＞
以上、実施の形態４に示したように、各外部端子と外部端子Ｉ／Ｆ回路に対応する形で、データ転送制御回路たるＤＭＡチャネルと、調停器とを設ける構成とすることで、一つの外部端子と外部端子Ｉ／Ｆ回路とデータ転送制御回路と調停器とを一つのデータ転送経路として、データ転送経路の追加または削除が容易なレイアウト設計方法及び当該レイアウト設計方法により設計される半導体集積回路を提供することができる。
＜補足＞
上記実施の形態において、本発明の実施の手法について説明してきたが、本発明の実施の形態がこれに限られないことは勿論である。以下、上記実施の形態以外に本発明として含まれるその他の各種変形例について説明する。
（１）上記実施の形態において、レイアウト設計方法を示した。当該レイアウト設計方法は、人間が当該レイアウト設計方法に従って、半導体集積回路のレイアウトを設計することとしてもよいし、半導体集積回路のレイアウトを自動設計する装置において、上記実施の形態に従ったレイアウト設計方法の手順に従ってレイアウトを実行する装置であればよく、レイアウト設計を実行する装置に命じて、設計することとしてもよい。
（２）上記実施の形態において示したレイアウト設計方法は、半導体集積回路のレイアウトを設計する設計装置が実行することとしてもよい。
【０１９８】
即ち、データ転送制御回路や、各機能ブロックの面積等の情報及び設計する半導体集積回路の大きさに応じて許される総配置面積の情報を入力として、まず、最適な機能ブロック及びデータ転送制御回路の配置を決定する。当該配置の決定方法の詳細については、各種従来技術が開示されているので、ここでは割愛する。
【０１９９】
データ転送制御回路と機能ブロックとの配置を決定すると、設計装置は、外部端子位置の情報の入力を、例えば、設計装置のオペレータから受け付ける。
【０２００】
外部端子位置の情報の入力を受け付けると、当該情報で示される位置を外部端子の配置位置として決定する。
【０２０１】
設計装置は、外部端子位置の近傍にＩＯブロックの配置位置を決定する。当該決定は、決定された外部端子位置から、予め定められた所定の距離内であって、他の部品との配置が重複しない位置の中から、外部端子とＩＯブロックとの間の配線長が最も短くなる位置をＩＯブロックの配置位置として決定する。
【０２０２】
そして、設計装置は、ＩＯブロックの配置位置が決定されると、当該ＩＯブロックとデータ転送制御回路とを接続し、かつ、他の部品との配置が重複しないようにバスの配線位置を決定する。
【０２０３】
そして、決定されたバスの配線をすることにより、定まるバスの配線長から、当該バス上に挿入するタイミング調整回路の数と位置を、他の部品の配置位置と重複しないように、挿入する。挿入するタイミング調整回路の数については、予め設計装置に、ある一定の長さの範囲で分けられた配線長ごとの、挿入するタイミング調整回路の数を示すテーブルを記憶しておき、決定したバスの配置位置に基づいてその配線長を算出する。そして算出した配線長が、テーブルのどの範囲に該当するのかに基づいて、該当する範囲に対応するタイミング調整回路の数を、挿入すべきタイミング調整回路の数として決定する。
【０２０４】
こうして、最終的に図３（ｂ）に示すようなレイアウトが設計される。
【０２０５】
なお、ここでは、実施の形態１に示したレイアウト設計方法に基づく、設計装置について説明したが、これは、他の実施の形態に示したレイアウト設計方法に基づく、設計装置によるレイアウト設計であってもよい。
【０２０６】
また、設計装置は、変形例１や変形例２、あるいは、実施の形態４に示した手法を以ってレイアウト設計を実行することとしてもよい。
（３）上記実施の形態におけるレイアウト設計方法においては、共有バスの配置は、図２７に示すように配置することとしてもよい。即ち、各機能ブロックを囲うように共有バスを配線する。そして、内部回路１４０からの配線長に応じて、タイミング調整回路たるスライス群１２５ａ〜１２５ｊを配置する。その周囲に外部端子Ｉ／Ｆ回路を設置するためのスペースを確保し、外部端子位置の決定を待つ。
【０２０７】
そして、外部端子位置が決定すると、決定された位置を外部端子１１０ａ〜１１０ｃの配置位置とし、その近傍にＩＯブロックたる外部端子Ｉ／Ｆ回路１３０ａ〜１３０ｃの配置位置を決定し、外部端子と接続し、外部端子Ｉ／Ｆ回路から直線距離で最も短くなるように共有バスへ配置する。
【０２０８】
こうすると、ＩＯブロックからデータ転送制御回路まで、共有バスを、各機能ブロックの部品間をどのように通すのかを考慮することなく、外部端子Ｉ／Ｆ回路から、共有バスへの配線を容易に決定できるので、とくに、上記変形例２における設計手法において有効な設計方法と言える。
（４）上記実施の形態２では、ＤＭＡコントローラ１４０と外部端子Ｉ／Ｆ回路群１３０ａ、１３０ｂとの間で、コマンド、ダウンリンクデータ、ダウンリンクインフォメーション、アップリンクデータ、アップリンクインフォメーションの５つの情報全てが授受される例を記載しているが、本発明はこれに限定されるものではない。例えば、ＤＭＡコントローラ１４０と外部端子Ｉ／Ｆ回路群１３０ａ、１３０ｂの間の情報授受が、コマンド、ダウンリンクデータのみで構成しても良く、５つの情報のサブセットが含まれていれば良い。
（５）上記実施の形態２では、外部端子Ｉ／Ｆ回路群１３０ａ、１３０ｂからＤＭＡコントローラ１４０に対して送られるライトレディ信号及びリードレディ信号がスライスされている例を記載しているが、本発明はこれに限定されるものではない。ライトレディ信号及びリードレディ信号はスライスを経由することなしに直接、外部端子Ｉ／Ｆ回路群１３０ａ、１３０ｂとＤＭＡコントローラ１４０との間で接続されていても良い。
（６）上記実施の形態２では、外部端子Ｉ／Ｆ回路１３０ａから調停器１５２に対して送られるバス権要求信号群がスライス１２５８によりスライスされている例を記載しているが、本発明はこれに限定されるものではない。バス権要求信号群はスライスを経由することなしに直接調停器と接続されていても良い。
（７）本実施の形態２では、調停器１５１及び調停器１５２が共有バスの全ての構成要素(コマンドバス、ダウンリンクデータバス、ダウンリンクインフォメーションバス、アップリンクデータバス、アップリンクインフォメーションバス)の調停回路を備える例を記載しているが、本発明はこれに限定されるものではない。
【０２０９】
例えば、ＤＭＡＣ１４０が外部端子Ｉ／Ｆ回路群１３０に対しダウンリンクインフォメーションを送付する必要が無く、共有バスとしてダウンリンクインフォメーションバスが実装されない場合は、それに対応するダウンリンクインフォメーションバス調停回路１５１３を実装しなくても良い。
【０２１０】
あるいは、ダウンリンクインフォメーションを送付する必要があっても、例えば、チャネル１４１ｂは情報を送付せず、チャネル１４１ａのみが情報を送付する場合(ダウンリンクインフォメーションバスを占有しても良い場合)は、ダウンリンクインフォメーションバス調停回路１５１３を実装しなくても良い。
（８）上記実施の形態２では、コマンドバス権調停回路１５１１、ダウンリンクデータバス権調停回路１５１２、及びダウンリンクインフォメーションバス権調停回路１５１３が調停器１５１０内に含まれる局所化された物理領域にレイアウトされている例を記載しているが、本発明はこれに限定されるものではない。コマンドバス権調停回路１５１１、ダウンリンクデータバス権調停回路１５１２、及びダウンリンクインフォメーションバス権調停回路１５１３のそれぞれは必要に応じて分散された領域にレイアウトされても良い。調停器１５２０に含まれるアップリンクデータバス権調停回路１５２２、アップリンクインフォメーションバス権調停回路１５２３についても同様である。
（９）上記実施の形態２においては、コマンド情報を送付した後に続いてデータを転送する例を記載しているが、コマンドの送信方法や回数などはこれに限定されるものではない。例えば、コマンドをデータに先行してＮ回(Ｎは２以上の整数)続けて送った後にデータ転送を開始する構成としても良い。
（１０）上記実施の形態３においては、コマンドバスを例として記載しているが、本発明はこれに限定されるものではない。例えば、ＤＭＡＣ２４０（３４０）から外部端子Ｉ／Ｆ回路群２３０ａ〜２３０ｄ（３３０ａ〜３３０ｄ）の方向に情報を転送するダウンリンクデータバス、及びダウンリンクインフォメーションバスで同様の構成を採っても良い。また、外部端子Ｉ／Ｆ回路群２３０からＤＭＡＣ２４０の方向に情報を転送するアップリンクデータバス及びアップリンクインフォメーションバスで同様の構成を採っても良い。
（１１）上記実施の形態においては、１つの外部ＩＯ端子が１つの外部端子Ｉ／Ｆ回路に対応する構成を示したが、これはその限りではない。１つの外部端子Ｉ／Ｆ回路が複数の外部ＩＯ端子に対応してもよい。また設計される半導体集積回路は、図３２に示すように１つの外部端子Ｉ／Ｆ回路及び１つのＤＭＡチャネルのみを備える構成であってもよい。
（１２）上述の実施形態で示したレイアウト設計に係る動作（図１、図４、図６参照）をレイアウト設計装置等のプロセッサ、及びそのプロセッサに接続された各種回路に実行させるためのプログラムコードからなる制御プログラムを、記録媒体に記録すること、又は各種通信路等を介して流通させ頒布させることもできる。このような記録媒体には、ＩＣカード、ハードディスク、光ディスク、フレキシブルディスク、ＲＯＭ等がある。流通、頒布された制御プログラムはプロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより、実施形態で示したような各種機能が実現されるようになる。
（１３）上記実施の形態に示したブロック図（図８〜１２、２２、２３等参照）における各機能部、各種回路は、集積化されて１又は複数のＬＳＩ（Large Scale Integration）により実現されてもよい。また、複数の機能部が１のＬＳＩにより実現されてもよい。
【０２１１】
ＬＳＩは集積度の違いにより、ＩＣ（Integrated Circuit）、システムＬＳＩ、ＶＬＳＩ（Very Large Scale Integration）、ＳＬＳＩ（Super Large Scale Integration）、ＵＬＳＩ（Ultra Large Scale Integration）などと呼称されることもある。
【０２１２】
更には、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、当該技術を用いて、機能ブロックの集積化を実現してもよい。当該技術としては、バイオ技術の適応等が可能性としてありえる。
（１４）以下に、本発明に係る集積回路製造方法並びに半導体集積回路の実施の態様とその効果について説明する。
【０２１３】
本発明に係る第１の集積回路製造方法は、集積回路の製造に用いられるマスクパターンを作成するためのレイアウト設計ステップと、前記マスクパターンを用いて、半導体材料上に前記集積回路を作成する作成ステップとを含む集積回路製造方法であって、前記レイアウト設計ステップは、機能ブロックの配置を決定する第１ステップと、前記集積回路と外部の機器とを接続するための複数の外部ＩＯ（Input-Output）端子の配置を決定する第２ステップと、前記第２ステップで決定された各外部ＩＯ端子の配置に応じて、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯ（Input-Output）ブロックの配置を決定する第３ステップと、前記機能ブロックと前記ＩＯブロックとの間を接続するバスの配置と、当該バスの配線長に応じた段数の、前記バス上を流れる信号のタイミング調整を行うタイミング調整回路との配置を決定する第４ステップと、を含むことを特徴とする。
【０２１４】
また、本発明に係る第２の集積回路製造方法は、集積回路の製造に用いられるマスクパターンを作成するためのレイアウト設計ステップと、前記マスクパターンを用いて、半導体材料上に前記集積回路を作成する作成ステップとを含む集積回路製造方法であって、前記レイアウト設計ステップは、機能ブロックの配置を決定する第１ステップと、前記集積回路と外部の機器とを接続するための複数の外部ＩＯ（Input-Output）端子の配置を決定する第２ステップと、前記第２ステップで決定された各外部ＩＯ端子の配置に応じて、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯ（Input-Output）ブロックの配置を決定する第３ステップと、前記機能ブロックと前記ＩＯブロックとの間を接続する共有バスの配置と、当該共有バスの配線長に応じた段数の、前記共有バス上を流れる信号のタイミング調整を行うタイミング調整回路との配置を決定する第４ステップと、を含むことを特徴とする。
【０２１５】
また、本発明に係る第３の集積回路製造方法は、集積回路の製造に用いられるマスクパターンを作成するためのレイアウト設計ステップと、前記マスクパターンを用いて、半導体材料上に前記集積回路を作成する作成ステップとを含む集積回路製造方法であって、前記レイアウト設計ステップは、機能ブロックの配置を決定する第１ステップと、共有バスと、前記共有バス上を流れる信号のタイミング調整を行うタイミング調整回路との配置を決定する第２ステップと、前記集積回路と外部の機器とを接続するための複数の外部ＩＯ（Input-Output）端子の配置を決定する第３ステップと、前記第２ステップで決定された各外部ＩＯ端子の配置に応じて、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯ（Input-Output）ブロックの配置を決定する第４ステップと、前記機能ブロックと前記ＩＯブロックとを前記共有バスに接続する第５ステップと、を含むことを特徴とする。
【０２１６】
また、これらの集積回路製造方法により製造される半導体集積回路は、機能ブロックと、複数の外部ＩＯ端子と、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯブロックと、前記機能ブロックと前記少なくとも１つのＩＯブロックとの間で共有される共有バスと、前記共有バスに挿入され、前記共有バス上を流れる信号のタイミング調整を行う１以上のタイミング調整回路とを備え、前記共有バスは、挿入されている前記タイミング調整回路により、複数のスライスに分割されており、前記機能ブロックと前記ＩＯブロックとは前記複数のスライスの何れかに接続されていることを特徴とする。
【０２１７】
これらのレイアウト設計方法により、外部端子と外部端子に対応する複数のＩＯブロック間の配線、及び外部端子とデータ転送回路の間の配線制約を緩和すると同時に、これらの配線の敷設による配線面積増大を抑制することができ、レイアウト設計負荷の低減と面積増大の抑制を実現することが可能となる。
【０２１８】
また、上記第１〜第３の集積回路製造方法において、前記第１ステップにおいて配置を決定する前記ＩＯブロックは、データ転送制御回路を含むこととしてもよい。
【０２１９】
あるいは、上記第１の半導体集積回路において、前記機能ブロックは、データ転送制御回路を含むこととしてもよい。
【０２２０】
これにより、データ転送制御回路を含むＩＯブロックを配置するだけで、データ転送の制御を実行できる機能部を有する集積回路を製造することができる。
【０２２１】
また、上記第１〜第３の集積回路製造方法において、前記第３ステップにおいて配置を決定する前記ＩＯブロックは、データ転送制御回路を含むこととしてもよい。
【０２２２】
あるいは、上記第１の半導体集積回路において、前記ＩＯブロックは、データ転送制御回路を含むこととしてもよい。
【０２２３】
これにより、データ転送制御回路を各ＩＯブロックに含ませることで、外部ＩＯ端子とＩＯブロックとを一つの単位としたデータ転送経路の追加や削除が容易となる。
【０２２４】
また、上記第１又は第２の集積回路製造方法において、前記第３ステップは、前記外部ＩＯ端子に近接する位置を前記ＩＯブロックの配置位置として決定することとしてもよい。
【０２２５】
あるいは、上記第３の集積回路製造方法において、前記第４ステップは、前記外部ＩＯ端子に近接する位置を前記ＩＯブロックの配置位置として決定することとしてもよい。
【０２２６】
あるいは、上記第１の半導体集積回路において、前記ＩＯブロックは、前記外部ＩＯ端子に近接する位置に配置されていることとしてもよい。
【０２２７】
ここでいう、外部端子に近接する位置とは、外部端子とＩＯブロックとの間でのデータ転送における通信遅延が誤差として許容できるデータ通信を行える範囲内とする。
【０２２８】
これにより、ＩＯブロックは外部端子の近傍に配されることになるため、外部端子とＩＯブロック間のデータ転送におけるタイミング調整のための構成を考慮せずともよく、レイアウト設計の負担を軽減することができる。
【０２２９】
また、上記第１の集積回路製造方法において、前記タイミング調整回路は、入力された信号について、当該信号を含む複数の信号が前記バスを流れることにより発生する当該複数の信号間の位相のずれを修正して出力する回路であり、前記第４ステップは、前記配線長に応じて前記信号に発生する遅延量に基づいて、前記タイミング調整回路を挿入する段数及びその配置位置を決定することとしてもよい。
【０２３０】
あるいは、上記第２の集積回路において、前記タイミング調整回路は、入力された信号について、当該信号を含む複数の信号が前記共有バスを流れることにより発生する当該複数の信号間の位相のずれを修正して出力する回路であり、前記第４ステップは、前記配線長に応じて前記信号に発生する遅延量に基づいて、前記タイミング調整回路を挿入する段数及びその配置位置を決定することとしてもよい。
【０２３１】
さらには、上記第３の集積回路において、前記タイミング調整回路は、入力された信号について、当該信号を含む複数の信号が前記共有バスを流れることにより発生する当該複数の信号間の位相のずれを修正して出力する回路であり、前記第２ステップは、前記配線長に応じて前記信号に発生する遅延量に基づいて、前記タイミング調整回路を挿入する段数及びその配置位置を決定することとしてもよい。
【０２３２】
これにより、当該集積回路製造方法に従って生成される集積回路は、バスを流れる信号の動作クロックからの遅延を修正できる。
【０２３３】
また、上記第２の集積回路製造方法において、前記第４ステップにおいて配置を決定する共有バスは、前記機能ブロックと前記ＩＯブロックとをデイジーチェーン接続するように配置が決定されるとしてよい。
【０２３４】
また、上記第３の集積回路製造方法において、前記第５ステップにおいて、前記機能ブロックと前記ＩＯブロックとは前記共有バスによりデイジーチェーン接続されるように配置が決定されるとしてよい。
【０２３５】
これにより、当該集積回路製造方法に従って機能ブロックとＩＯブロックとがデイジーチェーン接続された回路構成の半導体集積回路を設計することができる。
【０２３６】
また、上記第１の半導体集積回路において、前記半導体集積回路は、更に、前記共有バスの一端に接続され、前記ＩＯブロックから前記データ転送制御回路へ向かう方向のデータ転送に関するバス権要求信号を調停するアップリンク調停器を備え、前記アップリンク調停器は、前記複数のＩＯブロックからのバス権要求信号を調停し、前記複数のＩＯブロックのうち選択された１つのＩＯブロックにバス権承認信号を発行し、前記バス権承認信号は、前記選択された１つのＩＯブロックと前記アップリンク調停器間のスライスを介して遅延されて前記選択された１つのＩＯブロックに通知されることとしてもよい。
【０２３７】
これにより、アップリンク調停器の簡素化を図るとともに、共有バスの利用効率を高めることができる。
【０２３８】
また、上記第１の半導体集積回路において、前記共有バスは、前記データ転送制御回路から前記ＩＯブロックへ向かう方向の信号を伝達するためのダウンリンクバスと、前記ＩＯブロックから前記データ転送制御回路へ向かう方向の信号を伝達するためのアップリンクバスとを含んで構成されることとしてもよい。
【０２３９】
更に、上記第１の半導体集積回路において、前記アップリンク調停器は、前記複数のＩＯブロックが転送するデータそれぞれのバースト長の情報を備えており、前記アップリンク調停器が、バス権を承認された1つのＩＯブロックに対応したバースト長の情報に応じて、バス権要求信号の調停間隔を決定することとしてもよい。
【０２４０】
これにより、ＩＯブロック毎にデータ転送のバースト長が異なる場合でも、アップリンクバスの利用効率を高めることが可能となる。
【０２４１】
また、上記第１の半導体集積回路において、前記半導体集積回路は、更に、前記データ転送制御回路に接続され、前記データ転送制御回路から前記ＩＯブロックへ向かう方向のデータ転送に関するバス権要求信号を調停するダウンリンク調停器を備え、前記データ転送制御回路は、前記ＩＯブロックが配置されたスライスまでの遅延に応じたタイミングで、前記共有バスにデータを出力することとしてもよい。
【０２４２】
これにより、ダウンリンク調停器の簡素化を図るとともに、共有バスの利用効率を高めることができる。
【０２４３】
また、上記第１の半導体集積回路において、前記ダウンリンク調停器は、前記複数のチャネルが転送するデータそれぞれのバースト長の情報を備えており、前記ダウンリンク調停器が、バス権を承認された1つのチャネルに対応したバースト長の情報に応じて、バス権要求信号の調停間隔を決定することとしてもよい。
【０２４４】
これにより、チャネル毎にデータ転送のバースト長が異なる場合でも、ダウンリンクバスの利用効率を高めることが可能となる。
【０２４５】
また、上記第１の半導体集積回路において、前記共有バスは、長バーストデバイス用のバスと、短バーストデバイス用のバスとを含み、前記データ転送制御回路と前記ＩＯブロックとの間のデータ転送のバースト長に応じて、前記長バーストデバイス用のバスと、前記短バーストデバイス用のバスの何れかを用いてデータ転送を行うこととしてもよい。
【０２４６】
これにより、調停器がバスを使用するデバイス毎に調停間隔を変更すること無く、共有バスの利用効率を高めることができる。
【産業上の利用可能性】
【０２４７】
本発明に係る集積回路製造方法は、外部端子位置が定まっておらずとも集積回路のレイアウト設計ができ、半導体集積回路の設計時間の短縮に貢献し、半導体集積回路の精製に供する。
【符号の説明】
【０２４８】
１００、２００、３００、４００、４００ａ、４００ｂ、４００ｃ、４００ｄ  半導体集積回路
１１０ａ、１１０ｂ、２１０ａ、２１０ｂ、２１０ｃ、２１０ｄ、３１０ａ、３１０ｂ、３１０ｃ、３１０ｄ、４１０ａ、４１０ｂ、４１０ｃ  外部端子（外部ＩＯ端子）
１４０  内部回路（ＤＭＡＣ、データ転送制御回路）
１４１ａ、１４１ｂ、２４１ａ、２４１ｂ、２４１ｃ、２４１ｄ、３４１ａ、３４１ｂ、３４１ｃ、３４１ｄ、４４１ａ、４４１ｂ、４４１ｃ  チャネル
１５１、１５２、２５１、２５２、３５１ａ、３５１ｂ、３５２ａ、３５２ｂ、４５０ａ、４５０ｂ、４５０ｃ  調停器
１３０ａ、１３０ｂ、２３０ａ、２３０ｂ、２３０ｃ、２３０ｄ、３３０ａ、３３０ｂ、３３０ｃ、３３０ｄ、４３０ａ、４３０ｂ、４３０ｃ  外部端子Ｉ／Ｆ回路（ＩＯブロック）
１２４  バス
１２５ａ、１２５ｂ、１２５ｃ  スライス（タイミング調整回路）
２４０、３４０  ＤＭＡＣ（データ転送制御回路）
４４０  機能ブロック
４４０ａ、４４０ｂ、４４０ｃ  ＤＭＡチャネル（データ転送制御回路）
４７０ａ、４７０ｂ、４７０ｃ  ＩＯブロック
【図１】
2011152013.tif 000003
【図２】
2011152013.tif 000004
【図３】
2011152013.tif 000005
【図４】
2011152013.tif 000006
【図５】
2011152013.tif 000007
【図６】
2011152013.tif 000008
【図７】
2011152013.tif 000009
【図８】
2011152013.tif 000010
【図９】
2011152013.tif 000011
【図１０】
2011152013.tif 000012
【図１１】
2011152013.tif 000013
【図１２】
2011152013.tif 000014
【図１３】
2011152013.tif 000015
【図１４】
2011152013.tif 000016
【図１５】
2011152013.tif 000017
【図１６】
2011152013.tif 000018
【図１７】
2011152013.tif 000019
【図１８】
2011152013.tif 000020
【図１９】
2011152013.tif 000021
【図２０】
2011152013.tif 000022
【図２１】
2011152013.tif 000023
【図２２】
2011152013.tif 000024
【図２３】
2011152013.tif 000025
【図２４】
2011152013.tif 000026
【図２５】
2011152013.tif 000027
【図２６】
2011152013.tif 000028
【図２７】
2011152013.tif 000029
【図２８】
2011152013.tif 000030
【図２９】
2011152013.tif 000031
【図３０】
2011152013.tif 000032
【図３１】
2011152013.tif 000033
【図３２】
2011152013.tif 000034
【図３３】
2011152013.tif 000035
【図３４】
2011152013.tif 000036
【図３５】
2011152013.tif 000037
【手続補正書】
【提出日】平成24年1月16日(2012.1.16)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路及びその製造方法に関し、特に回路部品のレイアウト設計に関する。
【背景技術】
【０００２】
従来、半導体集積回路の設計は、大きく分けて、フロントエンド設計とバックエンド設計の２つの工程に分けられる。フロントエンド設計は、半導体集積回路の仕様設計、機能設計・テスト設計、論理合成などの工程を経てネットリストを作成する工程である。一方、バックエンド設計は、レイアウト設計、サインオフ検証などの工程を経て製造工程で使用する製造データを作成する工程である。
【０００３】
レイアウト設計は更にフロアプランと配線工程の２つの工程に分けられる。フロアプランは、半導体集積回路内のハードマクロ、ユーザーマクロ、ＲＡＭなどの各種ブロックの配置位置を、タイミング及び配線性を考慮しながら決定する工程である。配線工程は、配線制約（例えば、部品間の接続関係やどの層を通じての接続を行うのかなどの制約）を考慮しながら、フロアプランにより決定されたブロックとブロックとの間、あるいはブロックと端子の間の配線ルートを決定する工程である。両工程を経ることにより、簡単にいえば、半導体集積回路が必要とされる機能に応じた、部品配置がなされ、その部品間の配線が決定される。
【０００４】
従来においては、このレイアウト設計の段階においては、外部端子位置は予め決定しており、フロアプランにおいては、外部端子との外部端子Ｉ／Ｆ（Inter Face）回路を持つブロックを外部端子の近傍に配置することが理想とされる。あるいは、フロアプランにより確定する外部端子との外部端子Ｉ／Ｆ回路を有するブロックと、外部端子との間の距離が極力短くできるように、外部端子位置を決定することが理想とされる。外部端子と外部端子Ｉ／Ｆ回路（または外部端子Ｉ／Ｆを有するブロック）間の配線長をできるだけ短くすることにより、その配線間における転送遅延を抑制できるためである。
【０００５】
ただし、外部端子位置は、基板設計、ノイズ設計などと綿密に関連しており、必ずしも外部端子をレイアウト設計の負荷を低減し得る場所に配置できるとは限らない。また、近年の外部端子の兼用仕様（一つの外部端子に複数の機能をもたせること）は複雑化する傾向にあり、外部端子位置の確定が遅れる傾向にある。そのため、フロアプラン時点で想定している外部端子の配置位置が実際に指定される配置位置と異なってしまい、外部端子と外部端子Ｉ／Ｆ回路を有するブロックとの配線が長距離化することもある。この例を、図３５を用いて説明する。
【０００６】
図３５（ａ）は、半導体集積回路の一構成例を示している。図３５（ａ）に示す半導体集積回路の内部ブロックは、ブロックＡ、ブロックＢ、ブロックＣ、ブロックＤ、ブロックＥの５つの機能ブロックにより構成される。なお、図示していないが、各ブロックには、様々な部品及びその部品間を接続する配線がなされているものとする。
【０００７】
図３５（ａ）に示すように、当初定められていた外部端子（１１０ａ、１１０ｂ）の配置に基づいて、各機能ブロックや配線、各部品（外部端子Ｉ／Ｆ回路（１３０ａ、１３０ｂや内部回路１４０））等のレイアウトが決定するとする。しかし、その後に外部端子の配置位置が変更されたとする。すると、図３５（ｂ）に示すように、外部端子Ｉ／Ｆ回路と外部端子とを接続する配線の配線長が、図３５（ａ）の場合よりも図３５（ｂ）の方が長くなってしまい、場合によっては、外部端子と外部端子Ｉ／Ｆ回路間の配線長が理想から外れてしまうことがある。配線の長距離化によって信号の伝達遅延が発生し、本来入力されるべきタイミングで信号が入力されないといった事態が発生することがある。
【０００８】
非特許文献１には、フロントエンド設計の段階においてレイアウト設計の一部を実行することが開示されている。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Tech-on[ニュース]“NECがとなえる，意味ある「デザイン・プラニング」”［平成2010年3月16日検索］、インターネット＜ＵＲＬ：http://techon.nikkeibp.co.jp/article/NEWS/20070329/129739/?P=3＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
半導体集積回路を搭載する装置の多機能化に伴う外部端子の兼用傾向や、半導体集積回路を搭載する装置の仕様がなかなか決定されない、あるいは、相異なる装置に搭載するための半導体集積回路の仕様の共通化の方針が定まらないことにより、近年の半導体集積回路の設計における外部端子の配置位置はなかなか定まらない傾向にある。
【００１１】
そのため、上述した配線長の長距離化が発生しやすくなっており、半導体集積回路のレイアウト設計に時間がかかり、半導体集積回路の設計において、コストがかかるという問題がある。
【００１２】
そこで、本発明は上記問題に鑑みてなされたものであり、外部端子位置がなかなか定まらずとも、コストを抑制できるレイアウト設計方法を用いた集積回路製造方法、及び、当該集積回路製造方法に従って作成される半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、本発明は、集積回路の製造に用いられるマスクパターンを作成するためのレイアウト設計ステップと、前記マスクパターンを用いて、半導体材料上に前記集積回路を作成する作成ステップとを含む集積回路製造方法であって、前記レイアウト設計ステップは、機能ブロックの配置を決定する第１ステップと、前記集積回路と外部の機器とを接続するための複数の外部ＩＯ（Input-Output）端子の配置を決定する第２ステップと、前記第２ステップで決定された各外部ＩＯ端子の配置に応じて、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯ（Input-Output）ブロックの配置を決定する第３ステップと、前記機能ブロックと前記ＩＯブロックとの間を接続するバスの配置及び当該バスの配線長に応じた段数の、前記バス上を流れる信号のタイミング調整を行うタイミング調整回路の配置を決定する第４ステップと、を含むことを特徴としている。
【発明の効果】
【００１４】
上述のような構成によって、先に各機能ブロックの配置や、配線を決めた上で、外部端子の配置位置が定まったときには、その外部端子の配置位置に対応してＩＯブロック（ＩＯコアと呼称されることもある）を配置することで、ＩＯブロックと外部端子間の転送のタイミング調整の必要性の考慮を排除するとともに、ＩＯブロックとデータ転送制御回路とを接続する配線とその配線長によって、発生するデータ転送のずれを、タイミング調整回路を挿入することで、排除することができる。上記第１〜第４ステップの手順を経ることにより、外部端子の配置位置が定まらずとも機能ブロックのレイアウト設計を行えるとともに、外部端子の配置位置が定まった場合に、各機能ブロックの配置等を変更することなく、半導体集積回路のためのレイアウト設計ができる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１に係る半導体集積回路のためのレイアウト設計方法を示すフローチャートである。
【図２】実施の形態１に係る半導体集積回路のレイアウトの遷移を示す図である。
【図３】実施の形態１に係る半導体集積回路のレイアウトの遷移を示す図である。
【図４】変形例１に係る半導体集積回路のためのレイアウト設計方法を示すフローチャートである。
【図５】変形例１に係る半導体集積回路のレイアウトの遷移を示す図である。
【図６】変形例２に係る半導体集積回路のためのレイアウト設計方法を示すフローチャートである。
【図７】変形例２に係る半導体集積回路のレイアウトの遷移を示す図である。
【図８】変形例２に係る半導体集積回路のレイアウトの遷移を示す図である。
【図９】実施の形態２に係る半導体集積回路の機能構成を示す機能ブロック図である。
【図１０】実施の形態２に係るスライス群１２４の構成を示す機能ブロック図である。
【図１１】実施の形態２に係るスライス群１２５の構成を示す機能ブロック図である。
【図１２】実施の形態２に係る調停器の構成を示す機能ブロック図である。
【図１３】実施の形態２に係るＤＭＡＣと外部端子Ｉ／Ｆ回路との間の情報転送フローを示す図である。
【図１４】実施の形態２に係るチャンネルＡのデータ転送制御を示すフローチャートである。
【図１５】実施の形態２に係る外部端子Ｉ／Ｆ回路１３０ａのデータ転送制御を示すフローチャートである。
【図１６】実施の形態２に係るチャンネルＢのデータ転送制御を示すフローチャートである。
【図１７】実施の形態２に係る外部端子Ｉ／Ｆ回路１３０ｂのデータ転送制御を示すフローチャートである。
【図１８】実施の形態２に係る半導体集積回路のデータ転送における一例を示すタイミングチャートである。
【図１９】実施の形態２に係る半導体集積回路のデータ転送における一例を示すタイミングチャートである。
【図２０】実施の形態２に係る半導体集積回路のデータ転送における一例を示すタイミングチャートである。
【図２１】実施の形態２に係る半導体集積回路のデータ転送における一例を示すタイミングチャートである。
【図２２】実施の形態３に係るデータ長に応じた共有バスを設ける場合の半導体集積回路３００ａの構成例を示す機能ブロック図である。
【図２３】実施の形態３に係るデータ長に応じた共有バスを設ける場合の半導体集積回路３００ｂの構成例を示す機能ブロック図である。
【図２４】実施の形態３の半導体集積回路３００ａにおけるデータ転送における一例を示すタイミングチャートである。
【図２５】実施の形態３の半導体集積回路３００ｂにおけるデータ転送における一例を示すタイミングチャートである。
【図２６】実施の形態３の半導体集積回路３００ｂにおけるデータ転送における一例を示すタイミングチャートである。
【図２７】半導体集積回路のレイアウトの別例を示す図である。
【図２８】実施の形態４に係る半導体集積回路のためのレイアウト設計方法を示すフローチャートである。
【図２９】実施の形態４に係る半導体集積回路の構成例を示す図である。
【図３０】半導体集積回路４００に新たなデータ転送経路を追加した構成例を示す図である。
【図３１】半導体集積回路４００に新たなデータ転送経路を追加した構成例を示す図である。
【図３２】半導体集積回路４００から一つのデータ転送経路を削除した構成例を示す図である。
【図３３】デイジーチェーンで各ブロックが接続された半導体集積回路の構成例を示す図である。
【図３４】デイジーチェーンで各ブロックが接続された半導体集積回路の構成例を示す図である。
【図３５】従来のレイアウト設計手法を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態である半導体集積回路のレイアウト設計方法、及び当該レイアウト設計方法に基づいて作成された半導体集積回路について図面を用いて説明する。
＜実施の形態１＞
本実施の形態１においては、半導体集積回路のレイアウト設計方法について図１（ａ）に示すフローチャートを用いて説明する。
【００１７】
図１（ａ）に示すように、実施の形態１における半導体集積回路のレイアウト設計方法においては、まず、データ転送制御回路を含む機能ブロックの配置を決定する（ステップＳ１０１）。機能ブロックは、半導体集積回路に要求される仕様に応じて定まるものであり、データ転送制御回路は、設計する半導体集積回路が接続される回路や機器とのデータ転送を実行する機能を有するものであり、例えばＤＭＡＣ（Direct Memory Ａccess Controller）などである。つまり、データ転送制御回路は、データ転送のマスタ機能を有する回路である。
【００１８】
これにより、外部端子位置が定まっておらずとも、半導体集積回路内部の設計までは終了させることができる。
【００１９】
一方、実際に外部端子位置の仕様が定まると、当該仕様に従って、半導体集積回路のレイアウトに外部端子の配置を決定する（ステップＳ１０２）。
【００２０】
外部端子の配置位置を決定した後に、複数の外部端子に対応する複数のＩＯブロックの配置を決定する（ステップＳ１０３）。具体的には、決定した外部端子の配置位置それぞれに対して、各外部端子に対応するようにＩＯブロックの配置を、各外部端子の配置位置の近傍に決定する。即ち、１つの外部端子につき、少なくとも１つのＩＯブロックが配置される。また、外部端子の近傍とは、外部端子とＩＯブロックとの間の配線によるデータ転送において、タイミング調整、即ち、外部端子−ＩＯブロック間を信号が流れることにより発生し得る遅延の修正の必要がない程度の距離内をいう。
【００２１】
複数のＩＯブロックの配置が決定されると、当該複数のＩＯブロックそれぞれとデータ転送制御回路とを接続するバスの配置を決定する。そして、配したバスの配線長に応じた個数（段数）のタイミング調整回路を当該バスの配線上に挿入する。タイミング調整回路は、信号線の配線遅延をリタイミングする機能を有するものであり、タイミング調整回路には、例えば、フリップフロップあるいはラッチなどが用いられる。当該リタイミングとは、入力された信号を半導体集積回路が動作する際に用いられる動作クロックの周期に同期させた信号を出力することをいう。複数の信号がバス上を流れることにより、当該バスの配線長、材質によっては、当該バス上を流れる信号が半導体集積回路の動作クロックで示される周期からそれぞれ個別に遅延する（別の言い方をすれば、位相がずれる）、即ち、バス上を流れる間に複数の信号間でクロックとの位相がずれてしまい、このために半導体集積回路が正常に動作しなくなる可能性がある。よって、当該ずれを修正する必要があり、タイミング調整回路はこのずれを修正する。なお、図面上では、当該動作クロック用の配線等は当然備えられているものとして記載していない。また、半導体集積回路は、当該動作クロックを生成する水晶発振子等も搭載する構成としてもよいし、当該動作クロックは、半導体集積回路外部から供給される構成としてもよい。
【００２２】
なお、当該図１（ａ）に示すフローチャートに従ったレイアウト設計方法は、図１（ｂ）に示すように変形することができる。即ち、ステップＳ１０１における機能ブロックの配置の決定と、ステップＳ１０２とステップＳ１０３における外部端子の配置と、それに伴うＩＯブロックの配置の決定とは、それぞれ並行に処理されてもよい。
【００２３】
なお、図１（ａ）や、図１（ｂ）においては、データ転送制御回路が機能ブロックに含まれる例を記載しているが、データ転送制御回路は必ずしも機能ブロックに含まれなくともよい。データ転送制御回路は、複数のＩＯブロックそれぞれに含まれる、あるいは、ＩＯブロックそれぞれに対応する形で配置することを前提としたレイアウト設計を行ってもよい。
【００２４】
図１のレイアウト設計方法に従って、半導体集積回路を設計した場合の一具体例を、図２を用いて説明する。
【００２５】
まず、図２（ａ）に示すように、データ転送制御回路たる内部回路１４０及び各機能ブロック（ブロックＡ〜Ｅ）の配置を決定する。当該配置は、各機能ブロックの要求仕様に基づいて決定される部品及び部品間をつなぐ配線の配置面積に応じて決定される。このとき、ＩＯブロックや、ＩＯブロックと内部回路１４０を接続するバスを配置できる程度の隙間を残すこととする。図２(a)には明記しないが、この時点でIOブロックは各機能ブロック（ブロックＡ〜Ｅ）のいずれかに含まれてレイアウトされているものとする。
【００２６】
次に外部端子位置が半導体集積回路を搭載する装置等の構成などにより決定すると、その決定された位置を外部端子の配置位置として、例えば、図２（ｂ）の外部端子１１０ａ、１１０ｂに示すように決定する。
【００２７】
そして、決定した外部端子位置それぞれの近傍にＩＯブロックたる外部端子Ｉ／Ｆ回路の配置位置を、例えば、図３（ａ）に示すように決定する。即ち、外部端子１１０ａの配置位置の近傍に対応する外部端子Ｉ／Ｆ回路１３０ａの配置位置を決定し、外部端子１１０ｂの配置位置の近傍に対応する外部端子Ｉ／Ｆ回路１３０ｂの配置位置を決定する。
【００２８】
そして、決定した外部端子Ｉ／Ｆ回路１３０ａ、１３０ｂと、内部回路１４０とを接続するバスの配置位置を、図３（ｂ）に示すように決定する。即ち、内部回路１４０と外部端子Ｉ／Ｆ回路１３０ａとを接続するバス１２４ａと、内部回路１４０と外部端子Ｉ／Ｆ回路１３０ｂとを接続するバス１２４ｂとの配置位置を図３（ｂ）に示すように決定する。なお、図３（ｂ）においては、内部回路１４０と外部端子Ｉ／Ｆ回路１３０ａ、１３０ｂとを直接結線するように記載しているが、実際には、各ブロックの部品間を縫うように、配線位置を決定することになる。
【００２９】
そうして、決定されたバスの配線位置によって定まるバスの配線長に応じてタイミング調整回路たるスライスの段数とその配置位置を決定する。即ち、図３（ｂ）に示すように、バス１２４ａの配線長に応じて、スライス１２５ａ、１２５ｂを、バス１２４ｂの配線長に応じて、スライス１２５ｃの配置位置を決定する。
【００３０】
なお、図２、３においては、内部回路や、外部端子Ｉ／Ｆ回路、スライスは、図面の見易さのために、大きく示しているが、実際には、それぞれの部品の配置に要する面積はそれほど大きいものではない。
＜まとめ＞
以上に説明してきたように、本実施の形態１におけるレイアウト設計方法においては、先にデータ転送制御回路を含む１以上の機能ブロックそれぞれの部品や配線のレイアウトを決定した後で、要求された外部端子位置に外部端子を配置し、その近傍にＩＯブロックを配する。これによって、外部端子位置とＩＯブロックが理想に近い形での配置を実現できる。また、ＩＯブロックとデータ転送制御回路とをバスで接続し、そのバスに当該バスの配線長に応じた数のタイミング調整回路を挿入することによって、信号間のタイミング調整がなされ、正常に動作する半導体集積回路を作成できる。
【００３１】
したがって、外部端子位置の変更によるフロアプランの変更といった事態を招くことなく、半導体集積回路のレイアウト設計をより柔軟に行えるとともに、そのレイアウト設計の設計コストを抑制することができる。
＜変形例１＞
上記実施の形態１に示したレイアウト設計方法においては、各外部端子Ｉ／Ｆ回路と内部回路とを接続するバスをそれぞれ設けるように配置を決定することとした。しかしながら、当該構成は、外部端子Ｉ／Ｆ回路分の個数のバスを配線しなければならず、その分半導体集積回路の面積を増大させるという問題がある。
【００３２】
そこで、本変形例１においては、上記実施の形態１に示した半導体集積回路の設計面積をより小さくし得るレイアウト設計方法を開示する。
【００３３】
本変形例１における上記実施の形態１との差異は、バスを各外部端子Ｉ／Ｆ回路に応じて設けるのではなく、共有バスで接続することにある。
【００３４】
本変形例１に係るレイアウト設計方法を図４（ａ）のフローチャートに示す。
【００３５】
図４（ａ）に示すフローチャートにおいて、図１に示したフローチャートとの差異は、ステップＳ４０３以降の処理となる。ステップＳ４０１、Ｓ４０２と、ステップＳ１０１、１０２とにおける処理は、共通しているので、ここではその説明を割愛する。
【００３６】
ステップＳ４０２で複数の外部端子の配置を決定した後、複数のＩＯブロックたる外部端子Ｉ／Ｆ回路の配置を決定し、配置した外部端子Ｉ／Ｆ回路の配置位置に応じて、全ての外部端子Ｉ／Ｆ回路になるべく近接するように共有バスの配置を決定する。そして、データ転送制御回路たる内部回路から共有バスに接続する配線の配置位置を、当該配線がなるべく短くなるように決定する。そして、内部回路からの配線長に応じて、即ち、内部回路から一定距離ごとに、共有バス上にタイミング調整回路たるスライスの配置位置を決定する（ステップＳ４０３）。
【００３７】
そして、複数のチャネルと複数のＩＯブロックたる外部端子Ｉ／Ｆ回路それぞれの共有バスへの接続位置を決定し、共有バスまでの配線の配置位置を決定する（ステップＳ４０４）。
【００３８】
なお、当該図４（ａ）に示すフローチャートに従ったレイアウト設計方法は、図４（ｂ）に示すように変形することができる。即ち、ステップＳ４０１における機能ブロックの配置の決定と、ステップＳ４０２とステップＳ４０３における外部端子の配置と、それに伴うＩＯブロックの配置、共有バスの配置とタイミング調整回路の配置の決定とは、それぞれ並行に処理されてもよい。
【００３９】
なお、図４（ａ）や、図４（ｂ）においては、データ転送制御回路が機能ブロックに含まれる例を記載しているが、データ転送制御回路は必ずしも機能ブロックに含まれなくともよい。データ転送制御回路は、複数のＩＯブロックそれぞれに含まれる、あるいは、ＩＯブロックそれぞれに対応する形で配置することを前提としたレイアウト設計を行ってもよい。
【００４０】
また、図４（ａ）、（ｂ）及び図５（ｂ）では機能ブロックと複数のＩＯブロックがバス型のトポロジーで接続される例を記載しているが、機能ブロックと複数のＩＯブロックがデイジーチェーン型のトポロジーで接続されても良い。バス型のトポロジーで接続するか、デイジーチェーン型のトポロジーで接続するかは設計の仕様で定められ、当該使用に従って、レイアウト設計がなされる。
【００４１】
この変形例１に従って、レイアウトを行う一具体例を図２及び図５を用いて説明する。
【００４２】
まず、ステップＳ４０１及びステップＳ４０２における処理を経ることにより、図２（ｂ）に示すレイアウトができる。ここまでは、実施の形態１に示した通りである。
【００４３】
一方、本変形例１においては、ステップＳ４０３の処理を経ることにより、図５（ａ）に示すようなレイアウトが生成される。
【００４４】
図５（ａ）に示すように、変形例１においては、上記実施の形態１と異なり、ステップＳ４０３においては、複数の外部端子（１１０ａ、１１０ｂ）が配置を定められると、配置した外部端子に接続するための共有バス１２４の配置を決定する。そして、内部回路１４０からの共有バス１２４への接続位置並びに配線位置を決定する。そして、決定した共有バス１２４上に、内部回路１４０からの距離に応じて、タイミング調整回路たるスライス１２５ａ、１２５ｂ、１２５ｃの配置位置が決定される。即ち、内部回路１４０から一定距離が離れるごとに、スライスを配置していく。
【００４５】
そして、最終的に定められた各外部端子Ｉ／Ｆ回路１３０ａ、１３０ｂと、内部回路１４０とを共有バス１２４を介して接続した場合の配線長に応じて、その間に挿入されるべきタイミング調整回路の段数を決定し、当該決定された段数だけＩＯブロック‐内部ブロック間に挿入されるように、ＩＯブロックから共有バスへの接続位置が図５（ｂ）に示すように決定される。図５（ｂ）の例では、外部端子Ｉ／Ｆ回路１３０ａと内部回路１４０との間には、２つの段数のスライスが挿入されるように、スライス１２５ａ、１２５ｂを経由する位置を外部端子Ｉ／Ｆ回路１３０ａからの接続位置としている。また、外部端子Ｉ／Ｆ回路１３０ｂと内部回路１４０との間には、１つの段数のスライスが挿入されるように、スライス１２５ｂを経由する位置を外部端子Ｉ／Ｆ回路１３０ｂからの接続位置としている。
＜まとめ＞
当該変形例１における半導体集積回路におけるレイアウト設計方法によれば、外部端子の配置位置の決定が遅れたとしても、それほど、半導体集積回路のレイアウト設計を変更せずに、外部端子位置を配置したレイアウトが設計できるとともに、各外部端子Ｉ／Ｆ回路と、内部回路とを接続するバスを共有バスとすることで、半導体集積回路の設計面積を、共有バスとしない場合に比して、小さくすることができる。
＜変形例２＞
上記変形例１においては、外部端子Ｉ／Ｆ回路と、内部回路とを接続するバスを共有バスとするレイアウト設計を提示した。本変形例２においては、更なる利便性の高いレイアウト設計方法を提示する。
【００４６】
本変形例２と上記変形例１における差異は、共有バスの配置位置の決定タイミングにある。即ち、変形例２における共有バスの配置の決定タイミングを外部端子の配置位置が定まるよりも先に決定することにある。
【００４７】
本変形例２に係るレイアウト設計方法を、図６のフローチャートに示す。
【００４８】
図６（ａ）のフローチャートに示すように、まず、設計する半導体集積回路の要求仕様に応じて、半導体集積回路のサイズを決定し、共有バスの配置を決定する。そして、当該共有バス上を流れる信号のタイミング調整を行うためのタイミング調整回路の配置位置を決定する（ステップＳ６０１）。当該共有バスは、いずれの内部回路とも接続可能なように、かつ、外部端子が配される周縁部になるべく近くなるように配する。また、タイミング調整回路は、各内部回路から外部端子までの配線距離に応じて配されるべきであるため、この場合には、共有バス上に一定距離間隔で配することとなる。
【００４９】
次に設計する半導体集積回路の要求仕様に応じて、データ転送制御回路を含む各機能ブロックの配置位置を決定する（ステップＳ６０２）。なお、図６（ａ）の場合であれば、ステップＳ６０１とステップＳ６０２との処理は前後してもよい。
【００５０】
データ転送制御回路を含む各機能ブロックや、共有バスの配置、タイミング調整回路の配置が決定すると、次に、半導体集積回路の要求仕様に応じた、外部端子の配置が決定され、決定された位置を外部端子の配置位置とする（ステップＳ６０３）。
【００５１】
複数の外部端子の配置位置が決定すると上記実施の形態１においても示したように、各外部端子に対応する複数のＩＯブロックの配置を決定する（ステップＳ６０４）。
【００５２】
複数のＩＯブロックの配置を決定すると、当該複数のＩＯブロックそれぞれの共有バスへの接続位置を決定する（ステップＳ６０５）。当該接続位置は、各ＩＯブロックから共有バスへの配線長がなるべく短くなるように配置位置を決定する。
【００５３】
なお、当該図６（ａ）に示すフローチャートに従ったレイアウト設計方法は、図６（ｂ）に示すように変形することができる。即ち、ステップＳ６０１における機能ブロックの配置の決定と、ステップＳ６０２及びステップＳ６０３における外部端子の配置と、それに伴うＩＯブロックの配置、共有バスの配置とタイミング調整回路の配置の決定と、ステップＳ６０４における共有バスとタイミング調整回路の配置とは、それぞれ並行に処理されてもよい。
【００５４】
なお、図６（ａ）や、図６（ｂ）においては、データ転送制御回路が機能ブロックに含まれる例を記載しているが、データ転送制御回路は必ずしも機能ブロックに含まれなくともよい。データ転送制御回路は、複数のＩＯブロックそれぞれに含まれる、あるいは、ＩＯブロックそれぞれに対応する形で配置することを前提としたレイアウト設計を行ってもよい。
【００５５】
また、図６（ａ）、（ｂ）及び図８では機能ブロックと複数のＩＯブロックがバス型のトポロジーで接続される例を記載しているが、機能ブロックと複数のＩＯブロックがデイジーチェーン型のトポロジーで接続されても良い。バス型のトポロジーで接続するか、デイジーチェーン型のトポロジーで接続するかは設計の仕様で定められ、当該仕様に従って、レイアウト設計がなされる。
【００５６】
このようにして設計されるレイアウトの一例を図７及び図８を用いて説明する。
【００５７】
図７（ａ）に示すように、まず、変形例２においては、半導体集積回路のサイズ、仕様、データ転送制御回路たる内部回路１４０を含む各機能ブロックのサイズに応じて、内部回路１４０及び機能ブロックの配置を定めるとともに、共有バス１２４の配置位置を決定する。
【００５８】
そして、次に、図７（ｂ）に示すように決定された外部端子位置に従って、外部端子１１０ａ、１１０ｂの配置位置を決定する。
【００５９】
外部端子１１０ａ、１１０ｂの配置位置が定まると、図８に示すように、各外部端子に対応する外部端子Ｉ／Ｆ回路の配置位置を決定する。
【００６０】
そして、決定した外部端子Ｉ／Ｆ回路の配置位置から、内部回路１４０までの距離に応じて、共有バス１２４への接続位置を決定し、各外部端子Ｉ／Ｆ回路からの共有バス１２４への配線の配置を決定する。
＜まとめ＞
本変形例２に示したレイアウト設計方法によれば、外部端子の配置位置を決定する前に、共有バスの配置位置も決定してしまっているため、外部端子の配置位置が決定した後の設計工数を、上記変形例１に示したものよりも、少なくすることができる。
＜実施の形態２＞
実施の形態２においては、上記各変形例に示した手法を用いてレイアウト設計を行って作成された半導体集積回路について、その構成及び動作を説明する。
【００６１】
図９は半導体集積回路１００の機能構成を示す機能ブロック図である。
【００６２】
図９に示すように半導体集積回路１００は、外部端子１１０ａ、１１０ｂと、スライスバス１２１、１２２、１２３と、スライス群１２４、１２５と、Ｉ／Ｆ回路１３０ａ、１３０ｂと、ＤＭＡＣ（Direct Memory Ａccess Controller）１４０と、調停器１５１、１５２と、バッファ１６０とを含んで構成される。なお、本実施の形態２においては、上記実施の形態１との共通点を明確にすべく、本来ＤＭＡＣには別の符号を割り振るべきところを、上記実施の形態１に示す内部回路に相当するものということで、同じ符号１４０を付している。
【００６３】
外部端子１１０ａ、１１０ｂは、それぞれ対応するＩ／Ｆ回路１３０ａ、１３０ｂに接続され、半導体集積回路１００を搭載する機器上の回路等に接続するための端子である。各外部端子は、それぞれが１本以上の端子から構成されている。
【００６４】
スライスバス１２１、１２２、１２３は、スライス群１２４−ＤＭＡＣ１４０間、スライス群１２４−スライス群１２５間の信号を伝達するための信号線である。
【００６５】
スライス群１２４、１２５は、入力された信号のタイミング調整を実行する機能を有する。ここで、各スライスは、それぞれ、予め定められた固定長の時間幅分の調整を実行する。スライス群１２４、１２５は、具体的には、フリップフロップあるいはラッチなどにより実現されるものであり、ここでは、入力された信号をリタイミングする機能を有するものとする。上述したように、リタイミングとは、入力された信号を半導体集積回路が動作する際に用いられる動作クロックの周期に同期させた信号を出力することをいう。なお、図面上では、当該動作クロック用の配線等は当然備えられているものとして記載していない。また、半導体集積回路は、当該動作クロックを生成する水晶発振子等も搭載する構成としていてもよいし、あるいは当該動作クロックが半導体集積回路外部から供給される構成としてもよい。スライスバス１２１、１２２、１２３、スライス群１２４、１２５を含んで、共有バスを形成している。
【００６６】
Ｉ／Ｆ回路１３０ａ、１３０ｂは、外部からの信号をＤＭＡＣ１４０に中継する機能を有し、また、ＤＭＡＣ１４０から転送されてきた信号を接続している外部の機器へと送信する機能を有する。
【００６７】
ＤＭＡＣ１４０は、バッファ１６０にアクセスし、データを読み出す、あるいは、データを書き込む機能を有する。また、ＤＭＡＣ１４０は、半導体集積回路１００に接続される回路や装置と通信を実行する機能を有する。ＤＭＡＣ１４０は、個別の経路へのデータ転送を行う複数のチャネルでの通信を実行する機能を有し、ここでは、チャネル１４１ａと、チャネル１４１ｂとを備える。
【００６８】
本実施形態では、チャネル１４１ａはバッファ１６０から外部端子Ｉ／Ｆ回路１３０ａに対しデータ転送を行い、チャネル１４１ｂは外部端子Ｉ／Ｆ回路１３０ｂからバッファ１６０に対しデータ転送を行うものとする。よって、半導体集積回路１００では、チャネル１４１ａを使用してバッファ１６０から共有バス、外部端子Ｉ／Ｆ回路１３０ａ及び外部端子１１０ａを経由して半導体集積回路１００外部に情報を出力し、チャネル１４１ｂを使用して半導体集積回路１００外部から外部端子１１０ｂ、外部端子Ｉ／Ｆ回路１３０ｂ、及び共有バスを経由してバッファ１６０に情報を入力する。
【００６９】
調停器１５１、１５２は、共有バスに入力される信号のうち、いずれを転送するのかを調停する機能を有する。なお、調停器１５１は、ＤＭＡＣ１４０から、Ｉ／Ｆ回路へのダウンリンク用の信号の調停を実行するものであり、調停器１５２は、Ｉ／Ｆ回路からＤＭＡＣ１４０へのアップリンク用の信号の調停を実行するものである。チャネル１４１ａと外部端子Ｉ／Ｆ回路１３０ａとの間の情報転送(以下では情報転送Ａと呼称する)、並びにチャネル１４１ｂと外部端子Ｉ／Ｆ回路１３０ｂとの間の情報転送(以下では情報転送Ｂと呼称する)は、共有バスを経由して行われる。情報転送Ａ及び情報転送Ｂにおいては共に共有バスを使用するため、情報を転送する前には予めバス権を獲得する必要があり、調停器１５１、１５２は、要求されるバス権の調停を担う。
【００７０】
バッファ１６０は、ＤＭＡＣ１４０、半導体集積回路１００などから転送されるデータを一時的に記憶する機能を有するメモリである。バッファ１６０は、ＤＭＡＣ１４０から書き込まれたデータを保持する機能と、保持しているデータのうちＤＭＡＣ１４０から要求されたデータを出力する機能とを有する。
【００７１】
ここで、ＤＭＡＣ１４０と外部端子Ｉ／Ｆ回路１３０ａの間で送受する情報、及び情報授受を実現するための信号接続について、図１０を使用して説明する。
【００７２】
ＤＭＡＣ１４０と外部端子Ｉ／Ｆ回路１３０ａの間では、共有バス１２００を介してコマンド、ダウンリンクデータ、ダウンリンクインフォメーション、アップリンクデータ、アップリンクインフォメーションの５つの全ての情報、あるいはそのサブセットの情報が送受される。また、共有バス１２００はコマンドバス、ダウンリンクデータバス、ダウンリンクインフォメーションバス、アップリンクデータバス、アップリンクインフォメーションバスの５つのバスにより構成されている。コマンドの送受にはコマンドバスを使用し、ダウンリンクデータの送受にはダウンリンクデータバスを使用し、ダウンリンクインフォメーションの送受にはダウンリンクインフォメーションバスを使用し、アップリンクデータの送受にはアップリンクデータバスを使用し、アップリンクインフォメーションの送受にはアップリンクインフォメーションバスを使用する。
【００７３】
コマンドバス、ダウンリンクデータバス、及びダウンリンクインフォメーションバスを構成する信号は、ＤＭＡＣ１４０から外部端子Ｉ／Ｆ回路１３０ａに向けて情報を伝達し、アップリンクデータバス、及びアップリンクインフォメーションバスを構成する信号は、外部端子Ｉ／Ｆ回路１３０ａからＤＭＡＣ１４０に向けて情報を伝達する。
【００７４】
コマンドは、ＤＭＡＣ１４０から外部端子Ｉ／Ｆ回路１３０ａに対し送られるデータ転送の属性を示す情報である。具体的には、コマンドで送受する情報は、そのデータ転送がダウンリンクデータ・アップリンクデータのいずれの方向の転送であるのかを示す情報、転送するデータのサイズ、転送アドレスなどの情報を含む。
【００７５】
ダウンリンクデータは、ＤＭＡＣ１４０から外部端子Ｉ／Ｆ回路１３０ａに対し送られるデータ及びデータ同期情報であり、アップリンクデータは外部端子Ｉ／Ｆ回路１３０ａからＤＭＡＣ１４０に送られるデータ及びデータ同期情報である。ここで、データ同期情報とはデータと同じサイクルで送られるデータの属性を示す情報であり、具体的にはデータのバイトイネーブル、最終データ転送などの情報を含む。
【００７６】
インフォメーションとは、データ転送とは非同期に、ＤＭＡＣ１４０と外部端子Ｉ／Ｆ回路１３０ａの間で授受される情報である。具体的には、アップリンクインフォメーションとしては、例えば外部端子Ｉ／Ｆ回路１３０ａからチャネル１４１ａに対し転送開始要求などを含む情報が送られ、ダウンリンクインフォメーションとしてはチャネル１４１ａから外部端子Ｉ／Ｆ回路１３０ａに対しバッファ１６０へのデータ書き込み完了情報などを含む情報が送られる。
【００７７】
また、外部端子Ｉ／Ｆ回路１３０ａからＤＭＡＣ１４０に対し、共有バス１２００で送受する情報以外に、ライトレディとリードレディの情報が送られている。ライトレディは外部端子Ｉ／Ｆ回路１３０ａがダウンリンクデータ転送をするためのコマンドを受け付けることが可能であることを示す情報であり、リードレディは外部端子Ｉ／Ｆ回路１３０ａがアップリンクデータ転送をするためのコマンドを受け付けることが可能であることを示す情報である。ライトレディ信号とリードレディ信号は共有バスとは異なり、外部端子Ｉ／Ｆ回路１３０ａとチャネル１４１ａとの間、外部端子Ｉ／Ｆ回路１３０ｂとチャネル１４１ｂとの間でpeer to peerに接続されている信号である。
【００７８】
図１０では、ＤＭＡＣ１４０と外部端子Ｉ／Ｆ回路１３０ａの間は共有バスで接続されており、当該共有バスはスライス群１２４でスライスされている。ＤＭＡＣ１４０とスライス群１２４の間はスライスバス１２１で接続されており、スライスバス１２１はコマンドバス１２１１とダウンリンクデータバス１２１２とダウンリンクインフォメーションバス１２１３とアップリンクデータバス１２１４とアップリンクインフォメーションバス１２１５で構成される。スライス群１２４と外部端子Ｉ／Ｆ回路１３０ａの間はスライスバス１２２で接続されており、スライスバス１２２はコマンドバス１２２１とダウンリンクデータバス１２２２とダウンリンクインフォメーションバス１２２３とアップリンクデータバス１２２４とアップリンクインフォメーションバス１２２５で構成される。
【００７９】
スライス群１２４は、コマンドバス１２１１とコマンドバス１２２１をスライスするためのスライス１２４１と、ダウンリンクデータバス１２１２とダウンリンクデータバス１２２２をスライスするためのスライス１２４２と、ダウンリンクインフォメーションバス１２１３とダウンリンクインフォメーションバス１２２３をスライスするためのスライス１２４３と、アップリンクデータバス１２１４とアップリンクデータバス１２２４をスライスするためのスライス１２４４と、アップリンクインフォメーションバス１２１５とアップリンクインフォメーションバス１２２５をスライスするためのスライス１２４５と、後に説明するライトレディ信号をスライスするためのスライス１２４６と、後に説明するリードレディ信号をスライスするためのスライス１２４７を含む。
【００８０】
コマンドは、ＤＭＡＣ１４０から出力され、コマンドバス１２１１、スライス１２４１、コマンドバス１２２１を経由して外部端子Ｉ／Ｆ回路１３０ａに送られる。ダウンリンクデータは、ＤＭＡＣ１４０から出力され、ダウンリンクデータバス１２１２、スライス１２４２、ダウンリンクデータバス１２２２を経由して外部端子Ｉ／Ｆ回路１３０ａに送られる。ダウンリンクインフォメーションは、ＤＭＡＣ１４０から出力され、ダウンリンクインフォメーションバス１２１３、スライス１２４３、ダウンリンクインフォメーションバス１２２３を経由して外部端子Ｉ／Ｆ回路１３０ａに送られる。
【００８１】
アップリンクデータは、外部端子Ｉ／Ｆ回路１３０ａから出力され、アップリンクデータバス１２２４、スライス１２４４、アップリンクデータバス１２１４を経由してＤＭＡＣ１４０に送られる。アップリンクインフォメーションは、外部端子Ｉ／Ｆ回路１３０ａから出力され、アップリンクインフォメーションバス１２２５、スライス１２４５、アップリンクインフォメーションバス１２１５を経由してＤＭＡＣ１４０に送られる。
【００８２】
また、共有バス以外の信号として、外部端子Ｉ／Ｆ回路１３０ａからＤＭＡＣ１４０に対しライトレディ信号及びリードレディ信号が送られており、共有バス同様にそれぞれスライス１２４６、スライス１２４７によりスライスされている。
【００８３】
なお、図１０には明示しないが、ライトレディ信号及びリードレディ信号は外部端子Ｉ／Ｆ回路１３０ｂからＤＭＡＣ１４０に対しても送られており、スライス群１２４には、外部端子Ｉ／Ｆ回路１３０ｂから送られるライトレディ信号とリードレディ信号のスライスも含むものとする。
【００８４】
次に、ＤＭＡＣ１４０と調停器１５１との間の信号接続を図１１（ａ）を用いて説明する。
【００８５】
調停器１５１はＤＭＡＣ１４０の近傍に配置されており、ＤＭＡＣ１４０と調停器１５１との間の配線はスライスされない。
【００８６】
チャネル１４１ａ及びチャネル１４１ｂそれぞれが調停器１５１と直接接続されており、チャネル１４１ａ及びチャネル１４１ｂから調停器１５１に対してバス権要求信号群が送られており、調停器１５１からチャネル１４１ａ及びチャネル１４１ｂそれぞれに対してバス権承認信号群が送られている。
【００８７】
チャネル１４１ａ及びチャネル１４１ｂから調停器１５１に対して送られるバス権要求信号群は、コマンドバス権要求信号、ダウンリンクデータバス権要求信号、及びダウンリンクインフォメーションバス権要求信号の全てあるいはそれらのサブセットにより構成される。調停器１５１からチャネル１４１ａ及びチャネル１４１ｂに対して送られるバス権承認信号は、コマンドバス権承認信号、ダウンリンクデータバス権承認信号、及びダウンリンクインフォメーションバス権承認信号の全てあるいはそれらのサブセットにより構成される。
【００８８】
チャネル１４１ａがコマンドバスを使用する場合、チャネル１４１ａが調停器１５１に対しコマンドバス権要求信号を送り、それを受けて調停器１５１がチャネル１４１ａに対しコマンドバス権承認信号を返す。チャネル１４１ａがダウンリンクデータバスを使用する場合、チャネル１４１ａが調停器１５１に対しダウンリンクデータバス権要求信号を送り、それを受けて調停器１５１がチャネル１４１ａに対しダウンリンクデータバス権承認信号を返す。チャネル１４１ａがダウンリンクインフォメーションバスを使用する場合、チャネル１４１ａが調停器１５１に対しダウンリンクインフォメーションバス権要求信号を送り、それを受けて調停器１５１がチャネル１４１ａに対しダウンリンクインフォメーションバス権承認信号を返す。チャネル１４１ｂについても同様である。
【００８９】
外部端子Ｉ／Ｆ回路群１３０と調停器１５２との間の信号接続を、図１１（ｂ）を使用して説明する。本実施形態では、外部端子Ｉ／Ｆ回路１３０ｂが外部端子Ｉ／Ｆ回路１３０ａの遠方に配置されており、調停器１５２は外部端子Ｉ／Ｆ回路１３０ｂの近傍に配置されている。そのため、外部端子Ｉ／Ｆ回路１３０ａと調停器１５２との間の配線はスライス群１２５０によりスライスされている一方で、外部端子Ｉ／Ｆ回路１３０ｂと調停器１５２との間の配線はスライスされていない。
【００９０】
スライス群１２５０は、スライス群１２４０と同様に、共有バス信号をスライスするためのスライス１２５１からスライス１２５５(スライス群１２４０の構成要素であるスライス１２４１から１２４５に相当する)を有すると共に、外部端子Ｉ／Ｆ回路１３０ｂからＤＭＡＣ１４０に対し送られるライトレディ信号、及びリードレディ信号をスライスするためのスライス１２５６及びスライス１２５７、更にはバス権要求信号群及びバス権承認信号群をスライスするためのスライス１２５８及びスライス１２５９を備えている。
【００９１】
外部端子Ｉ／Ｆ回路１３０ｂから調停器１５２に対してバス権要求信号群が送られており、調停器１５２から外部端子Ｉ／Ｆ回路１３０ｂに対してバス権承認信号群が送られている。外部端子Ｉ／Ｆ回路１３０ａから調停器１５２に対してスライス１２５８を経由してバス権要求信号群が送られており、調停器１５２から外部端子Ｉ／Ｆ回路１３０ａに対してスライス１２５９を経由してバス権承認信号群が送られている。
【００９２】
外部端子Ｉ／Ｆ回路１３０ａ及び外部端子Ｉ／Ｆ回路１３０ｂから調停器１５２に対して送られるバス権要求信号群は、アップリンクデータバス権要求信号、及びアップリンクインフォメーションバス権要求信号の全てあるいはそれらのサブセットにより構成される。調停器１５２から外部端子Ｉ／Ｆ回路１３０ａ及び外部端子Ｉ／Ｆ回路１３０ｂに対して送られるバス権承認信号は、アップリンクデータバス権承認信号、及びアップリンクインフォメーションバス権承認信号の全てあるいはそれらのサブセットにより構成される。
【００９３】
外部端子Ｉ／Ｆ回路１３０ａがアップリンクデータバスを使用する場合、外部端子Ｉ／Ｆ回路１３０ａが調停器１５２に対しアップリンクデータバス権要求信号を送り、それを受けて調停器１５２が外部端子Ｉ／Ｆ回路１３０ａに対しアップリンクデータバス権承認信号を返す。外部端子Ｉ／Ｆ回路１３０ａがアップリンクインフォメーションバスを使用する場合、外部端子Ｉ／Ｆ回路１３０ａが調停器１５２に対しアップリンクインフォメーションバス権要求信号を送り、これを受けて調停器１５２が外部端子Ｉ／Ｆ回路１３０ａに対しアップリンクインフォメーションバス権承認信号を返す。外部端子Ｉ／Ｆ回路１３０ｂについても同様である。
【００９４】
図１２に調停器の構成を記載する。図１２（ａ）は調停器１５１の構成を示す図である。調停器１５１はコマンドバス権調停回路１５１１、ダウンリンクデータバス権調停回路１５１２、及びダウンリンクインフォメーションバス権調停回路１５１３を含んで構成される。
【００９５】
コマンドバス権調停回路１５１１は、チャネル１４１ａ及びチャネル１４１ｂそれぞれからコマンドバス権要求信号を受け、チャネル１４１ａ及びチャネル１４１ｂそれぞれに対してコマンドバス権承認信号を返す。
【００９６】
ダウンリンクデータバス権調停回路１５１２は、チャネル１４１ａ及びチャネル１４１ｂそれぞれからダウンリンクデータバス権要求信号を受け、チャネル１４１ａ及びチャネル１４１ｂそれぞれに対しダウンリンクデータバス権承認信号を返す。ダウンリンクインフォメーションバス権調停回路１５１３は、チャネル１４１ａ及びチャネル１４１ｂそれぞれからダウンリンクインフォメーションバス権要求信号を受け、チャネル１４１ａ及びチャネル１４１ｂそれぞれに対しダウンリンクインフォメーションバス権承認信号を返す。
【００９７】
図１２（ｂ）は調停器１５２の構成を示す図である。調停器１５２はアップリンクデータバス権調停回路１５２２、及びアップリンクインフォメーションバス権調停回路１５２３を含んで構成される。
【００９８】
アップリンクデータバス権調停回路１５２２は、外部端子Ｉ／Ｆ回路１３０ａ及び１３０ｂそれぞれからアップリンクデータバス権要求信号を受け、外部端子Ｉ／Ｆ回路１３０ａ及び１３０ｂそれぞれに対しアップリンクデータバス権承認信号を返す。
【００９９】
アップリンクインフォメーションバス権調停回路１５２３は、外部端子Ｉ／Ｆ回路１３０ａ及び１３０ｂそれぞれからアップリンクインフォメーションバス権要求信号を受けて、外部端子Ｉ／Ｆ回路１３０ａ及び１３０ｂそれぞれに対しアップリンクインフォメーションバス権承認信号を返す。
【０１００】
以上が調停器１５１、１５２の機能構成である。
【０１０１】
なお、コマンドバス、ダウンリンクデータバス、ダウンリンクインフォメーションバスに共通して、チャネル１４１ａあるいはチャネル１４１ｂがバス権の承認を得た後は、共有バスの種類(コマンド、ダウンリンクデータ、ダウンリンクインフォメーション)毎に定められたサイクル数分だけ共有バスを使用することが可能となる。当該サイクル数は共有バスの使用回路(チャネル１４１a、チャネル１４１ｂ)毎に個別の値であっても良い。
【０１０２】
また、アップリンクデータバス、アップリンクインフォメーションバスに共通して、外部端子Ｉ／Ｆ回路１３０ａあるいは外部端子Ｉ／Ｆ回路１３０ｂがバス権の承認を得た後は、共有バスの種類(アップリンクデータ、アップリンクインフォメーション)毎に定められたサイクル数分だけ共有バスを使用することが可能となる。当該サイクル数は共有バスの使用回路(外部端子Ｉ／Ｆ回路１３０ａ、外部端子Ｉ／Ｆ回路１３０ｂ)毎に個別の値であっても良い。
＜動作＞
次に、半導体集積回路１００の動作を図１３に示すタイミングチャートや、図１４〜図１７に示すフローチャートを用いて説明する。
【０１０３】
ここで図１３を使用して、チャネル１４１ａと外部端子Ｉ／Ｆ回路１３０ａとの間のデータ転送、及びチャネル１４１ｂと外部端子Ｉ／Ｆ回路１３０ｂとの間のデータ転送の典型的な例を説明する。図１３（ａ）にはチャネル１４１ａから外部端子Ｉ／Ｆ回路１３０ａへのデータ転送を行う場合の情報転送フローを記載している。
【０１０４】
本実施の形態２では、データ転送を行うために、まず外部端子Ｉ／Ｆ回路１３０ａからチャネル１４１ａに対し転送サイズ情報を含んだ転送開始要求を送り、これを受けてチャネル１４１ａがデータ転送を開始する。チャネル１４１ａは指定された転送サイズ分のデータを一度に転送しきるのではなく、所定のサイズに分割して複数回に分けてデータ転送を行う。データ転送を行う際は、チャネル１４１ａから外部端子Ｉ／Ｆ回路１３０ａに対しコマンドを送り、続いてチャネル１４１ａから外部端子Ｉ／Ｆ回路１３０ａに対しダウンリンクデータを送る。これを、指定されたサイズ分のデータ転送を終えるまで繰り返す。ただし、転送開始要求時に指定された転送サイズが所定のサイズより小さい場合は、データ転送は一度で終える。
【０１０５】
図１３（ａ）には、データ転送開始時の、転送開始要求の授受及び、初めのコマンド、データの授受までを記載したフロー図である。以下、図１３（ａ）に記載のフローを詳細に説明する。
【０１０６】
まず、外部端子Ｉ／Ｆ回路１３０ａがチャネル１４１ａに対し転送開始要求を通知するために、調停器１５２に対してアップリンクインフォメーションバス権要求を送り、それに応じて調停器１５２が外部端子Ｉ／Ｆ回路１３０ａに対しアップリンクインフォメーションバス権承認を返している。それを受けた外部端子Ｉ／Ｆ回路１３０ａはチャネル１４１ａに対しアップリンクインフォメーションバスを利用して転送開始要求を通知する。
【０１０７】
転送開始要求を受けたチャネル１４１ａは外部端子Ｉ／Ｆ回路１３０ａに対しコマンドを送付するために、調停器１５１に対してコマンドバス権要求を送り、それに応じて調停器１５１がチャネル１４１ａに対しコマンドバス権承認を返している。それを受けたチャネル１４１ａは外部端子Ｉ／Ｆ回路１３０ａに対しコマンドバスを利用してコマンドを送付する。
【０１０８】
コマンドの送付を終えたチャネル１４１ａは外部端子Ｉ／Ｆ回路１３０ａに対しデータを送付するために、調停器１５１に対してダウンリンクデータバス権要求を送り、それに応じて調停器１５１がチャネル１４１ａに対しダウンリンクデータバス権承認を返している。それを受けたチャネル１４１ａは外部端子Ｉ／Ｆ回路１３０ａに対しダウンリンクデータバスを利用してデータを送付する。
【０１０９】
図１３（ｂ）には外部端子Ｉ／Ｆ回路１３０ｂからチャネル１４１ｂへのデータ転送を行う場合の情報転送フローを記載している。
【０１１０】
本実施の形態２では、データ転送を行うために、まず外部端子Ｉ／Ｆ回路１３０ｂからチャネル１４１ｂに対し転送サイズ情報を含んだ転送開始要求を送り、これを受けてチャネル１４１ｂがデータ転送を開始する。チャネル１４１ｂは指定された転送サイズ分のデータを一度に転送しきるのではなく、所定のサイズに分割して複数回に分けてデータ転送を行う。データ転送を行う際は、チャネル１４１ｂから外部端子Ｉ／Ｆ回路１３０ｂに対しコマンドを送り、続いて外部端子Ｉ／Ｆ回路１３０ｂからチャネル１４１ｂに対しアップリンクデータを送る。これを、指定されたサイズ分のデータ転送を終えるまで繰り返す。ただし、転送開始要求時に指定された転送サイズが所定のサイズより小さい場合は、データ転送は一度で終える。その後、全データ転送を終えた後に、チャネル１４１ｂから外部端子Ｉ／Ｆ回路１３０ｂに対しデータ転送完了通知を行う。
【０１１１】
図１３(ｂ)には、指定されたサイズ分のデータ転送を一度のデータ転送で終える場合の例を記載しており、一度のコマンドとデータの授受を終えた後に、データ転送完了通知を行っている。以下、図１３（ｂ）に記載のフローを詳細に説明する。
【０１１２】
まず、外部端子Ｉ／Ｆ回路１３０ｂがチャネル１４１ｂに対し転送開始要求を通知するために、調停器１５２に対してアップリンクインフォメーションバス権要求を送り、それに応じて調停器１５２が外部端子Ｉ／Ｆ回路１３０ｂに対しアップリンクインフォメーションバス権承認を返している。それを受けた外部端子Ｉ／Ｆ回路１３０ｂはチャネル１４１ｂに対しアップリンクインフォメーションバスを利用して転送開始要求を通知する。
【０１１３】
転送開始要求を受けたチャネル１４１ｂは外部端子Ｉ／Ｆ回路１３０ｂに対しコマンドを送付するために、調停器１５１に対してコマンドバス権要求を送り、それに応じて調停器１５１がチャネル１４１ｂに対しコマンドバス権承認を返している。それを受けたチャネル１４１ｂは外部端子Ｉ／Ｆ回路１３０ｂに対しコマンドバスを利用してコマンドを送付する。
【０１１４】
コマンドを受けた外部端子Ｉ／Ｆ回路１３０ｂはチャネル１４１ｂに対しデータを送付するために、調停器１５２に対してアップリンクデータバス権要求を送り、それに応じて調停器１５２が外部端子Ｉ／Ｆ回路１３０ｂに対しアップリンクデータバス権承認を返している。それを受けた外部端子Ｉ／Ｆ回路１３０ｂはチャネル１４１ｂに対しアップリンクデータバスを利用してデータを送付する。
【０１１５】
データを受けたチャネル１４１ｂはバッファ１６０へのデータ書込み完了を確認した後、外部端子Ｉ／Ｆ回路１３０ｂに対しデータ転送完了を通知するために、調停器１５１に対してダウンリンクインフォメーションバス権要求を送り、それに応じて調停器１５１がチャネル１４１ｂに対しダウンリンクインフォメーションバス権承認を返している。それを受けたチャネル１４１ｂは外部端子Ｉ／Ｆ回路１３０ｂに対しダウンリンクインフォメーションバスを利用してデータ転送完了を通知する。
【０１１６】
図１４は、チャネル１４１ａのデータ転送制御を示すフローチャートである。まず、外部端子Ｉ／Ｆ回路１３０ａからの転送開始要求を受けてチャネル１４１ａが起動する。
【０１１７】
起動されたチャネル１４１ａは、まず外部端子Ｉ／Ｆ回路１３０ａから送られてくるライトレディ信号を確認する。外部端子Ｉ／Ｆ回路１３０ａがライトレディをアサートするまで待ち（ステップＳ１４０１のＮＯ）、ライトレディがアサートした（ステップＳ１４０１のＹＥＳ）ところでコマンドバス権を要求する（ステップＳ１４０２）。コマンドバス権を要求するとコマンドバス権が承認されるまで待ち（ステップＳ１４０３のＮＯ）、コマンドバス権が承認されたところで（ステップＳ１４０３のＹＥＳ）コマンドを送信する（ステップＳ１４０４）。
【０１１８】
コマンドを送信した後は外部端子Ｉ／Ｆ回路１３０ａに送るべきデータが準備できるまで待ち（ステップＳ１４０５のＮＯ）、データが準備できたところで（ステップＳ１４０５のＹＥＳ）、ダウンリンクデータバス権を要求する（ステップＳ１４０６）。ダウンリンクデータバス権を要求するとダウンリンクデータバス権が承認されるまで待ち（ステップＳ１４０７のＮＯ）、ダウンリンクデータバス権が承認されたところで（ステップＳ１４０７のＹＥＳ）ダウンリンクデータを送信する（ステップＳ１４０９）。
【０１１９】
転送開始要求時に指定されたサイズ分のデータ転送が完了していない場合はＳ１４０１に戻り（ステップＳ１４０９のＮＯ）、再びデータ転送を行う。指定されたサイズ分のデータ転送が完了している場合は（ステップＳ１４０９のＹＥＳ）、チャネル１４１ａは停止し、次の転送開始要求を受けるまで動作しない。
【０１２０】
図１５は、外部端子Ｉ／Ｆ回路１３０ａのデータ転送制御を示すフローチャートである。まず、外部端子Ｉ／Ｆ回路１３０ａは半導体集積回路１００内部の図示しないプロセッサなどにより起動される。
【０１２１】
起動された外部端子Ｉ／Ｆ回路１３０ａはチャネル１４１ａに転送開始要求を通知するためにアップリンクインフォメーションバス権を要求する（ステップＳ１５０１）。アップリンクインフォメーションバス権を要求するとアップリンクインフォメーションバス権が承認されるまで待ち（ステップＳ１５０２のＮＯ）、アップリンクインフォメーションバス権が承認されたところで（ステップＳ１５０２のＹＥＳ）、アップリンクインフォメーションバスを使用して転送開始要求を送信する（ステップＳ１５０３）。
【０１２２】
次に外部端子Ｉ／Ｆ回路１３０ａのデータ受信の準備が整うまで待ち（ステップＳ１５０４のＮＯ）、データ受信の準備が完了した時点でライトレディをアサートする（ステップＳ１５０５）。その後、チャネル１４１ａから送られるコマンドを受信し（ステップＳ１５０６）、次いでダウンリンクデータを受信する（ステップＳ１５０７）。
【０１２３】
転送開始要求時に指定されたサイズ分のデータ転送が完了していない場合はＳ１５０１に戻り（ステップＳ１５０８のＮＯ）再びデータ転送を行う。指定されたサイズ分のデータ転送が完了している場合は、外部端子Ｉ／Ｆ回路１３０ａは停止し、次の起動指示を受けるまで動作しない。
【０１２４】
図１６は、チャネル１４１ｂのデータ転送制御を示すフローチャートである。まず、外部端子Ｉ／Ｆ回路１３０ｂからの転送開始要求を受けてチャネル１４１ｂが起動する。
【０１２５】
起動されたチャネル１４１ｂは、まずチャネル１４１ｂのデータ受信の準備が整うまで待ち（ステップＳ１６０１のＮＯ）、準備が整うと（ステップＳ１６０１のＹＥＳ）、次いで外部端子Ｉ／Ｆ回路１３０ｂから送られてくるリードレディ信号を確認する。外部端子Ｉ／Ｆ回路１３０ｂがリードレディをアサートするまで待ち（ステップＳ１６０２のＮＯ）、リードレディがアサートしたところで（ステップＳ１６０２のＹＥＳ）、コマンドバス権を要求する（ステップＳ１６０３のＹＥＳ）。コマンドバス権を要求するとコマンドバス権が承認されるまで待ち（ステップＳ１６０４のＮＯ）、コマンドバス権が承認されたところで（ステップＳ１６０４のＹＥＳ）、コマンドを送信する（ステップＳ１６０５）。その後、外部端子Ｉ／Ｆ回路１３０ｂから送られるデータを受信しバッファ１６０への書き込みを行う（ステップＳ１６０６）。
【０１２６】
転送開始要求時に指定されたサイズ分のデータ転送が完了していない場合は（ステップＳ１６０７のＮＯ）ステップＳ１６０１に戻り、再びデータ転送を行う。指定されたサイズ分のデータ転送が完了している場合は、データ転送完了通知を行うために、アップリンクインフォメーションバス権を要求する（ステップＳ１６０８）。アップリンクインフォメーションバス権を要求するとアップリンクインフォメーションバス権が承認されるまで待ち（ステップＳ１６０９のＮＯ）、アップリンクインフォメーションバス権が承認されたところでアップリンクインフォメーションバスを使用してデータ転送完了を通知する（ステップＳ１６１０）。その後、チャネル１４１ｂは停止し、次の転送開始要求を受けるまで動作しない。
【０１２７】
図１７は、外部端子Ｉ／Ｆ回路１３０ｂのデータ転送制御を示すフローチャートである。まず、外部端子Ｉ／Ｆ回路１３０ｂは半導体集積回路１００内部の図示しないプロセッサなどにより起動される。
【０１２８】
起動された外部端子Ｉ／Ｆ回路１３０ｂはチャネル１４１ｂに転送開始要求を通知するためにアップリンクインフォメーションバス権を要求する（ステップＳ１７０１）。アップリンクインフォメーションバス権を要求するとアップリンクインフォメーションバスが承認されるまで待ち（ステップＳ１７０２のＮＯ）、アップリンクインフォメーションバスが承認されたところで（ステップＳ１７０２のＹＥＳ）、アップリンクインフォメーションバス権を使用して転送開始要求を送信する（ステップＳ１７０３）。
【０１２９】
次に外部端子Ｉ／Ｆ回路１３０ｂはリードレディをアサートする（ステップＳ１７０４）。その後、チャネル１４１ｂから送られるコマンドを受信する（ステップＳ１７０５）。コマンドを受信した後はチャネル１４１ｂに送るべきデータが準備できるまで待ち（ステップＳ１７０６のＮＯ）、データが準備できたところで（ステップＳ１７０６のＹＥＳ）、アップリンクデータバス権を要求する（ステップＳ１７０７）。アップリンクデータバス権を要求するとアップリンクデータバス権が承認されるまで待ち（ステップＳ１７０８のＮＯ）、アップリンクデータバス権が承認されたところで（ステップＳ１７０８のＹＥＳ）データを送信する（ステップＳ１７０９）。
【０１３０】
転送開始要求時に指定されたサイズ分のデータ転送が完了していない場合は（ステップＳ１７１０のＮＯ）、ステップＳ１７０４に戻り、再びデータ転送を行う。指定されたサイズ分のデータ転送が完了している場合は（ステップＳ１７１０のＹＥＳ）、外部端子Ｉ／Ｆ回路１３０ｂはデータ転送完了の通知を受けた後に（ステップＳ１７１１）停止し、次の起動指示を受けるまで動作しない。
【０１３１】
以上が各データ転送の動作の説明である。
【０１３２】
ここから、実際のデータ転送のタイミングについて説明する。
【０１３３】
図１８は、ＤＭＡＣ１４０から外部端子Ｉ／Ｆ回路群１３０ａ、１３０ｂの方向に情報を伝える共有バスのバス権の割り当て及び共有バスの使用状況を示す図である。ここでは、チャネル１４１ａ及びチャネル１４１ｂがコマンドバスを使用しており、チャネル１４１ａ及びチャネル１４１ｂがバス権承認を得た際に共に共有バスを３サイクル使用する例を記載している。
【０１３４】
時刻Ｔ０以前にチャネル１４１ａからのコマンドバス権要求信号が調停器１５１に到達しており、それを受けた調停器１５１がチャネル１４１ａに対し時刻Ｔ０にコマンドバス権承認を返している。その結果、時刻Ｔ０から時刻Ｔ２の間チャネル１４１ａがスライスバス１２１のコマンドバスを使用する権利を得る(ダウンリンクバス権＝Ａ)。
【０１３５】
時刻Ｔ０から時刻Ｔ２の間にチャネル１４１ａからスライスバス１２１のコマンドバスに出力されたコマンドは、スライス群１２４を通過する際に１サイクル遅延し、時刻Ｔ１から時刻Ｔ３の間スライスバス１２２のコマンドバスに出力される。ここで、コマンドは外部端子Ｉ／Ｆ回路１３０ａに取得される。
【０１３６】
次に、時刻Ｔ３以前にチャネル１４１ｂからのコマンドバス権要求信号が調停器１５１に到達しており、それを受けた調停器１５１がチャネル１４１ｂに対し時刻Ｔ３にコマンドバス権承認を返している。その結果、時刻Ｔ３から時刻Ｔ５の間チャネル１４１ｂがスライスバス１２１のコマンドバスを使用する権利を得る(ダウンリンクバス権＝Ｂ)。
【０１３７】
時刻Ｔ３から時刻Ｔ５の間にチャネル１４１ｂからスライスバス１２１のコマンドバスに出力されたコマンドは、スライス群１２４を通過する際に１サイクル遅延し、時刻Ｔ４から時刻Ｔ６の間スライスバス１２２のコマンドバスに出力される。同様に、時刻Ｔ４から時刻Ｔ６の間スライスバス１２２のコマンドバスに出力されたコマンドは、スライス群１２５を通過する際に１サイクル遅延し、時刻Ｔ５から時刻Ｔ７の間スライスバス１２３のコマンドバスに出力される。ここで、コマンドは外部端子Ｉ／Ｆ回路１３０ｂに取得される。
【０１３８】
以降、時刻Ｔ６から時刻Ｔ８のコマンドバス権及びそれに対応する共有バスの使用状況は時刻Ｔ０から時刻Ｔ２のそれと同様であり、時刻Ｔ９から時刻Ｔ１１のコマンドバス権及びそれに対応する共有バスの使用状況は時刻Ｔ３から時刻Ｔ５のそれと同様である。
【０１３９】
図１９は、外部端子Ｉ／Ｆ回路群１３０からＤＭＡＣ１４０の方向に情報を伝える共有バスのバス権の割り当て及び共有バスの使用状況を示す図である。ここでは、外部端子Ｉ／Ｆ回路１３０ａ及び外部端子Ｉ／Ｆ回路１３０ｂがアップリンクインフォメーションバスを使用しており、外部端子Ｉ／Ｆ回路１３０ａ及び外部端子Ｉ／Ｆ回路１３０ｂがバス権承認を得た際に共に共有バスを３サイクル使用する例を記載している。
【０１４０】
時刻Ｔ０以前に外部端子Ｉ／Ｆ回路１３０ａからのアップリンクインフォメーションバス権要求信号が調停器１５２に到達しており、それを受けた調停器１５２が外部端子Ｉ／Ｆ回路１３０ａに対し時刻Ｔ０にアップリンクインフォメーションバス権承認を返している。その結果、時刻Ｔ０から時刻Ｔ２の間外部端子Ｉ／Ｆ回路１３０ａがスライスバス１２３のアップリンクインフォメーションバスを使用する権利を得る(ダウンリンクバス権＝Ａ)。ただし、外部端子Ｉ／Ｆ回路１３０ａはスライスバス１２３には接続されていないため、時刻Ｔ０から時刻Ｔ２の間、スライスバス１２３は使用されない。
【０１４１】
外部端子Ｉ／Ｆ回路１３０ａに送られるべきアップリンクインフォメーションバス権承認信号はスライス群１２５を通過する際に１サイクル遅延し、時刻Ｔ１にスライスバス１２２に接続される外部端子Ｉ／Ｆ回路１３０ａに到達する。この結果、時刻T１から時刻Ｔ３の間外部端子Ｉ／Ｆ回路１３０ａがスライスバス１２２のアップリンクインフォメーションバスを使用する権利を得る(ダウンリンクバス権＝Ａ)。
【０１４２】
時刻Ｔ１から時刻Ｔ３の間に外部端子Ｉ／Ｆ回路１３０ａからスライスバス１２２のアップリンクインフォメーションバスに出力された情報は、スライス群１２４を通過する際に１サイクル遅延し、時刻Ｔ２から時刻Ｔ４の間スライスバス１２１のアップリンクインフォメーションバスに出力される。ここで、アップリンクインフォメーションバス経由で送られた情報はチャネル１４１ａに取得される。
【０１４３】
次に、時刻Ｔ３以前に外部端子Ｉ／Ｆ回路１３０ｂからのアップリンクインフォメーションバス権要求信号が調停器１５２に到達しており、それを受けた調停器１５２が外部端子Ｉ／Ｆ回路１３０ｂに対し時刻Ｔ３にアップリンクインフォメーションバス権承認を返している。その結果、時刻Ｔ３から時刻Ｔ５の間外部端子Ｉ／Ｆ回路１３０ｂがスライスバス１２３のアップリンクインフォメーションバスを使用する権利を得る(ダウンリンクバス権＝Ｂ)。
【０１４４】
時刻Ｔ３から時刻Ｔ５の間に外部端子Ｉ／Ｆ回路１３０ｂからスライスバス１２３のアップリンクインフォメーションバスに出力された情報は、スライス群１２５を通過する際に１サイクル遅延し、時刻Ｔ４から時刻Ｔ６の間スライスバス１２２のアップリンクインフォメーションバスに出力される。同様に、時刻Ｔ４から時刻Ｔ６の間スライスバス１２２のアップリンクインフォメーションバスに出力された情報は、スライス群１２４を通過する際に１サイクル遅延し、時刻Ｔ５から時刻Ｔ７の間スライスバス１２１のアップリンクインフォメーションバスに出力される。ここで、アップリンクインフォメーションバス経由で送られた情報はチャネル１４１ｂに取得される。
【０１４５】
このように、共有バスのバス権承認信号を共有バス経由で送付する情報と同等にスライスすることにより、共有バスのバス権切替時に共有バスの未使用期間を設けること無しに情報を転送することができ、高いバス使用効率を実現することが可能となる。
【０１４６】
なお、図１８及び図１９では、共有バス使用回路(チャネル１４１ａ、チャネル１４１ｂ、外部端子Ｉ／Ｆ回路１３０ａ、あるいは外部端子Ｉ／Ｆ回路１３０ｂ)がバス権承認を得た際に共有バスを固定サイクル数(３サイクル)使用する例を記載したが、本発明はこれに限定されるものではない。例えば、この共有バスの使用期間は共有バスの使用回路毎に異なっていても良い。
【０１４７】
共有バスの使用期間が共有バスの使用回路毎に異なる例を、図２０及び図２１を使用して説明する。ここでは、チャネル１４１ａ及びチャネル１４１ｂがコマンドバスを使用しており、チャネル１４１ａがバス権承認を得た際に共有バスを３サイクル使用し、チャネル１４１ｂがバス権承認を得た際に共有バスを２サイクル使用する例を記載している。
【０１４８】
図２０は、調停器１５１が共有バスの使用回路毎の共有バスの使用期間を知らず、共有バスの使用期間の最大値(３サイクル)毎に調停を行い、バス権の承認を返す例を記載している。この場合、チャネル１４１ｂが共有バスを使用する権利を得ている期間(３サイクル)のうち１サイクルが未使用期間となる。具体的には、チャネル１４１ｂが共有バスを使用する権利を得ている時刻Ｔ５及び時刻Ｔ１１で、チャネル１４１ｂはスライスバス１２１を使用しない。そのため時刻Ｔ６及び時刻Ｔ１２でスライスバス１２２は使用されておらず、更に時刻Ｔ７及び時刻Ｔ１３でスライスバス１２３は使用されていない。このため、共有バスの使用効率が低下してしまう。
【０１４９】
これを避けるため、調停器１５１に使用回路毎の共有バスの使用期間情報を持たせ、使用回路毎の共有バスの使用期間に応じて、調停するタイミングを変化させても良い。
【０１５０】
図２１は、調停器１５１が使用回路毎の共有バスの使用期間情報を持ち、使用回路毎の共有バスの使用期間に応じて、調停するタイミングを変化させる例である。図２０と同様に、チャネル１４１ａ及びチャネル１４１ｂがコマンドバスを使用しており、チャネル１４１ａがバス権承認を得た際に共有バスを３サイクル使用し、チャネル１４１ｂがバス権承認を得た際に共有バスを２サイクル使用する例を記載している。
【０１５１】
調停器１５１は、時刻Ｔ０で調停を行い調停器１５１がチャネル１４１ａに対し時刻Ｔ０にコマンドバス権承認を返している。ここで調停器１５１はチャネル１４１ａの共有バスの使用期間情報(３サイクル)を保持しており、次の調停を３サイクル後の時刻Ｔ３に行う。
【０１５２】
調停器１５１は、時刻Ｔ３ではチャネル１４１ｂに対しコマンドバス権承認を返している。ここで調停器１５１はチャネル１４１ｂの共有バスの使用期間情報(２サイクル)を保持しており、次の調停を２サイクル後の時刻Ｔ５に行う。
【０１５３】
調停器１５１は、時刻Ｔ５ではチャネル１４１ａに対しコマンドバス権承認を返している。ここで調停器１５１はチャネル１４１ａの共有バスの使用期間情報(３サイクル)を保持しており、次の調停を３サイクル後の時刻Ｔ８に行う。
【０１５４】
このように、調停器１５１に使用回路毎の共有バスの使用期間情報を持たせ、使用回路毎の共有バスの使用期間に応じて調停するタイミングを変化させることにより、共有バスの使用回路毎に使用期間が異なる場合でも、高いバス使用効率を維持することが可能となる。
＜まとめ＞
以上に説明してきたように、本実施の形態２に示した半導体集積回路は、上記変形例に従って設計、作成されており、外部端子位置の決定が遅れていたとしても、問題なく動作する構成を実現できる。即ち、外部端子位置に応じて、タイミング調整回路の段数を決定して作成されているため、簡単な構成で、データ転送間の遅延等に配慮した半導体集積回路を実現できる。
＜実施の形態３＞
上記実施の形態２においては、各外部端子Ｉ／Ｆ回路１３０ａ、１３０ｂとＤＭＡＣ１４０とがデータ転送を行う際に、バス権の使用期間が異なるものが混在する場合を説明した。
【０１５５】
本実施の形態３においては、バス権の使用期間が異なる場合に、共有バスを分けて構成する例を説明する。なお、ここでいうバス権の使用期間は、１度のデータ転送におけるバースト長と言い換えてもよい。
【０１５６】
図２２は、共有バスを分けない場合の半導体集積回路２００の構成例を示す機能ブロック図である。また、図２３は、共有バスを分ける場合の半導体集積回路３００の構成例を示す機能ブロック図である。なお、両機能ブロック図においては、基本的には、実施の形態２に示した半導体集積回路１００と構成と略一致するので、若干省略してバッファ１６０等を省略して記載する。
【０１５７】
ＤＭＡＣ２４０はチャネル２４１ａ、チャネル２４１ｂ、チャネル２４１ｃ、チャネル２４１ｄの４つのチャネルを含み、共有バスを介して外部端子Ｉ／Ｆ回路群２３０と接続されている。チャネル２４１ａは外部端子Ｉ／Ｆ回路２３０ａと情報を授受し、チャネル２４１ｂは外部端子Ｉ／Ｆ回路２３０ｂと情報を授受し、チャネル２４１ｃは外部端子Ｉ／Ｆ回路２３０ｃと情報を授受し、チャネル２４１ｄは外部端子Ｉ／Ｆ回路２３０ｄと情報を授受する。
【０１５８】
チャネル２４１ａ、チャネル２４１ｂ、チャネル２４１ｃ、及びチャネル２４１ｄのそれぞれは調停器２５１に対しバス権要求信号群を送り、調停器２５１はチャネル２４１ａ、チャネル２４１ｂ、チャネル２４１ｃ、及びチャネル２４１ｄのそれぞれに対しバス権承認信号群を送る。外部端子Ｉ／Ｆ回路２３０ａ、外部端子Ｉ／Ｆ回路２３０ｂ、外部端子Ｉ／Ｆ回路２３０ｃ、及び外部端子Ｉ／Ｆ回路２３０ｄのそれぞれは調停器２５２に対しバス権要求信号群を送り、調停器２５２は外部端子Ｉ／Ｆ回路２３０ａ、外部端子Ｉ／Ｆ回路２３０ｂ、外部端子Ｉ／Ｆ回路２３０ｃ、及び外部端子Ｉ／Ｆ回路２３０ｄのそれぞれに対しバス権承認信号群を送る。バス権要求信号群とバス権承認信号群の構成は図１１での説明と同様である。
【０１５９】
また、図２２では記載を省略しているが図１と同様に情報を授受するチャネルと外部端子Ｉ／Ｆ回路の間では、ライトレディ信号とリードレディ信号がスライスを介して接続されている。
【０１６０】
共有バスはスライス群２２４、スライス群２２５とそれらによりスライスされたスライスバス２２１、スライスバス２２２、スライスバス２２３により構成される。ＤＭＡコントローラ２４０はスライスバス２２１に接続されており、外部端子Ｉ／Ｆ回路２３０ａ及び外部端子Ｉ／Ｆ回路２３０ｃはスライスバス２２２に接続されており、外部端子Ｉ／Ｆ回路２３０ｂ及び外部端子Ｉ／Ｆ回路２３０ｄはスライスバス２２３に接続されている。
【０１６１】
図２４は、ＤＭＡコントローラ２４０から外部端子Ｉ／Ｆ回路群に２３０の方向に情報を伝える共有バスのバス権の割り当て及び共有バスの使用状況を示す図である。ここでは、チャネル２４１ａ、チャネル２４１ｂ、チャネル２４１ｃ、及びチャネル２４１ｄがコマンドバスを使用しており、チャネル２４１ａ及びチャネル２４１ｂがバス権承認を得た際に共有バスを３サイクル使用し、チャネル２４１ｃ、及びチャネル２４１ｄがバス権承認を得た際に共有バスを２サイクル使用する例を記載している。また、調停器２５１は使用回路毎の共有バスの使用期間情報を持たず、固定サイクル(３サイクル)毎に調停を行う。
【０１６２】
この場合、図２０での説明と同様に、共有バスの使用期間が調停器２５１の調停間隔（３サイクル）よりも短いチャネル２４１ｃ、及びチャネル２４１ｄが共有バスを使用する場合に、未使用期間（図中斜線部分）ができ、共有バスの使用効率が低下する。
【０１６３】
この共有バスの使用効率の低下を回避するため、共有バスの使用期間３であるチャネル２４１ａ及びチャネル２４１ｂが使用する共有バスと、共有バスの使用期間２であるチャネル２４１ｃ及びチャネル２４１ｄが使用する共有バスを個別に実装しても良い。この例を図２３及び、図２５と図２６とを使用して説明する。
【０１６４】
図２３は個別の共有バスを実装する場合の構成例である。ＤＭＡＣ３４０及び外部端子Ｉ／Ｆ回路群３３０ａ〜３３０ｄの構成は、図２２の場合と略同様である。ただし、図２２とは異なり、共有バスを２系統設け、共有バスの系統毎に調停器を設けている点が異なる。
【０１６５】
具体的には、チャネル３４１ａ、チャネル３４１ｂ、外部端子Ｉ／Ｆ回路３３０ａ及び外部端子Ｉ／Ｆ回路３３０ｂはスライスバス３２１ａ、スライスバス３２２ａ、スライスバス３２３ａ、スライス群３２４ａ、及びスライス群３２５ａにより構成される第１共有バスに接続されており、チャネル３４１ｃ、チャネル３４１ｄ、外部端子Ｉ／Ｆ回路３３０ｃ及び外部端子Ｉ／Ｆ回路３３０ｄはスライスバス３２１ｂ、スライスバス３２２ｂ、スライスバス３２３ｂ、スライス群３２４ｂ、及びスライス群３２５ｂにより構成される第２共有バスに接続されている。
【０１６６】
チャネル３４１ａ、及びチャネル３４１ｂのそれぞれは調停器３５１ａに対しバス権要求信号群を送り、調停器３５１ａはチャネル３４１ａ、及びチャネル３４１ｂのそれぞれに対しバス権承認信号群を送る。チャネル３４１ｃ及びチャネル３４１ｄのそれぞれは調停器３５１ｂに対しバス権要求信号群を送り、調停器３５１ｂはチャネル３４１ｃ及びチャネル３４１ｄのそれぞれに対しバス権承認信号群を送る。
【０１６７】
外部端子Ｉ／Ｆ回路３３０ａ、及び外部端子Ｉ／Ｆ回路３３０ｂのそれぞれは調停器３５２ａに対しバス権要求信号群を送り、調停器３５２ａは外部端子Ｉ／Ｆ回路３３０ａ、及び外部端子Ｉ／Ｆ回路３３０ｂのそれぞれに対しバス権承認信号群を送る。外部端子Ｉ／Ｆ回路３３０ｃ、及び外部端子Ｉ／Ｆ回路３３０ｄのそれぞれは調停器３５２ｂに対しバス権要求信号群を送り、調停器３５２ｂは外部端子Ｉ／Ｆ回路３３０ｃ、及び外部端子Ｉ／Ｆ回路３３０ｄのそれぞれに対しバス権承認信号群を送る。
【０１６８】
バス権要求信号群とバス権承認信号群の構成は図１１での説明と同様である。また、図２３では記載を省略しているが図９と同様に情報を授受するチャネルと外部端子Ｉ／Ｆ回路の間では、ライトレディ信号とリードレディ信号がスライスを介して接続されている。
【０１６９】
図２５は、外部端子Ｉ／Ｆ回路群３３０ａ〜３３０ｄからＤＭＡＣ３４０の方向に情報を伝える共有バスのバス権の割り当て及び共有バスの使用状況を示す図である。ここでは、チャネル３４１ａ、及びチャネル３４１ｂが第１共有バスのコマンドバスを使用しており、チャネル３４１ｃ、及びチャネル３４１ｄが第２共有バスのコマンドバスを使用している。また、調停器３５１ａ、及び調停器３５１ｂはそれぞれが固定サイクル毎に調停を行い、調停器３５１ａは３サイクル毎に、調停器３５１ｂは２サイクル毎に調停を行うものとする。
【０１７０】
この場合、図２５に記載の通り、図１８での説明と同様に未使用期間が入ることなく共有バスを使用することができる。
＜まとめ＞
以上に説明してきたように共有バスを、使用回路ごとにバスの一時の使用期間が異なる仕様の場合に、個別に設けることにより、使用回路毎の共有バスの使用期間に応じて調停するタイミングを変化させる複雑な調停回路を設けなくても、高効率に共有バスを使用することが可能となる。
＜実施の形態４＞
上記実施の形態１〜３においては、主として、データ転送制御回路たるＤＭＡＣが機能ブロックに含まれる例を説明した。ところで、機能ブロックにＤＭＡＣを設ける構成とすると、設計の拡張性が低くなることがある。
【０１７１】
これは、アップリンク用の調停器と、ダウンリンク用の調停器を、例えば、図９や図２２あるいは、図２３のように配する構成とした場合、それぞれの構成に対応してどのように調停を実行するかを設計しているため、ここに新たな外部端子や外部端子Ｉ／Ｆ回路を設ける設計が追加された場合には、調停器は設計しなおす必要があるためである。なお、元から設計に盛り込まれていた外部端子や外部端子Ｉ／Ｆ回路を取り除く設計が追加された場合であっても調停器の再設計が必要となるのは同様である。また、ＤＭＡＣには、新たな外部端子、外部Ｉ／Ｆ回路に対応する新たなチャネルを設ける必要があるため、ＤＭＡＣの再設計もまた必要となる。
【０１７２】
そこで、上記実施の形態１や各種変形例に示したレイアウト設計方法においては、データ転送制御回路たるＤＭＡＣを機能ブロック内に含まずに、外部端子Ｉ／Ｆ回路の一部としてレイアウト設計を行ってもよいことを記載している。
【０１７３】
この場合のレイアウト設計方法の一例を、図２８に示す。図２８（ａ）には一例として図４（ａ）に示したレイアウト設計方法において、データ転送制御回路が機能ブロックに含まれない場合のレイアウト設計方法を示した。図２８において、図４と共通する内容は同じステップ番号を付し、異なる内容については、異なるステップ番号を付している。なお、本実施の形態４に示すデータ転送制御回路を機能ブロックに含まずに設計する手法は、図４だけでなく、図１あるいは図６などに示したレイアウト設計手法にも適用可能である。
【０１７４】
図２８（ａ）に示したフローチャートと図４（ａ）に示したフローチャートとの相違点は、データ転送制御回路の配置を定めるタイミングである。
【０１７５】
まず、ステップＳ２８０１においては、ステップＳ４０１と比較すればわかるように、データ転送制御回路が含まれていない機能ブロックの配置を定めている（ステップＳ２８０１）。
【０１７６】
そして、複数の外部端子の配置が決定されると（ステップＳ４０２）、各外部端子に対応するデータ転送制御回路を含むＩＯブロックの配置を決定する。このとき、ＩＯブロックがデータ転送制御回路を含まない場合には、データ転送制御回路の配置も、各ＩＯブロックに対応するように、決定する。そして、ＩＯブロックの配置が決定すると共有バスの配置と、その共有バスに挿入されるタイミング調整回路の配置を決定する（ステップＳ２８０３）。
【０１７７】
なお、図２８（ｂ）には、図４と同様に、図２８（ａ）における各ステップにおいて並行処理によるレイアウト設計をする手法を示している。
＜構成＞
図２８の設計手順に従って設計される半導体集積回路の構成について説明する。
【０１７８】
図２９は、半導体集積回路４００の機能構成を示すブロック図である。
【０１７９】
図２９と、図２２や図２３との相違点は、データ転送制御回路としてＤＭＡＣ機能を有する回路（ＤＭＡチャネル）を各外部端子Ｉ／Ｆ回路に対応させて設けたことと、アップリンク用調停器とダウンリンク用調停器を設けない代わりに、各ＤＭＡチャネルに対応させて簡易な調停器を設けたことにある。つまり、図２２や図２３の場合、ＤＭＡチャネルは一つの回路（ＤＭＡＣ）が遠隔の外部端子Ｉ／Ｆ回路を制御する構成となっていたのに対し、本実施の形態４の図２９では、ＤＭＡＣ機能が外部端子Ｉ／Ｆ回路側に配されている。
【０１８０】
以下、このようにして設計される半導体集積回路４００の機能について説明する。なお、ここでは、半導体集積回路２００や３００と重複する内容については省略し、異なる構成について説明する。
【０１８１】
図２９に示すように、図２８に示すフローチャートに従って設計された半導体集積回路４００は、機能ブロック４４０と、外部端子４１０ａ、４１０ｂと、外部端子Ｉ／Ｆ回路４３０ａ、４３０ｂと、ＤＭＡチャネル４４０ａ、４４０ｂと、調停器４５０ａ、４５０ｂと、スライス群４２４、４２５と、スライスバス４２１、４２２、４２３と、バッファ４６０とから構成される。各回路は、図２９に示される構成で接続される。
【０１８２】
半導体集積回路４００は、半導体集積回路４００に接続される外部機器からのデータを外部端子４１０ａ、４１０ｂで受信して、バッファ４６０に転送する機能と、バッファ４６０からのデータを外部端子４１０ａ、４１０ｂから半導体集積回路４００に接続される外部機器に転送する機能を含む回路である。
【０１８３】
外部端子４１０ａ、４１０ｂ、スライス群４２４、４２５、バッファ４６０は、上記実施の形態１〜３に示したものと同様の機能を果たすものである。
【０１８４】
ＤＭＡチャネル４４０ａは、外部端子Ｉ／Ｆ回路４３０ａとバッファ４６０との間のデータ転送を制御する機能を有する。ＤＭＡチャネル４４０ａは、データ転送を実行しようとする場合、まず、調停器４５０ａにデータ転送要求を送信する。そして、調停器４４０ｂから共有バスの使用許可の通知を受け付けるとデータ転送を実行する。
【０１８５】
ＤＭＡチャネル４４０ｂは、外部端子Ｉ／Ｆ回路４３０ｂとバッファ４６０との間のデータ転送を制御する機能を有する。ＤＭＡチャネル４４０ｂは、データ転送を実行しようとする場合、まず、調停器４５０ｂにデータ転送要求を送信する。そして、調停器４５０ｂから共有バスの使用許可の通知を受け付けるとデータ転送を実行する。
【０１８６】
ＤＭＡチャネル４４０ａと４４０ｂとはともに共有バス（４２１、４２２、４２３）に接続されている。このため、実際にデータ転送を実行するためには、バス権を獲得する必要がある。
【０１８７】
調停器４５０ａ、４５０ｂはそのために配されており、調停器４５０ａ、４５０ｂによりバス権が管理される。
【０１８８】
調停器４５０ａ、４５０ｂは、ＤＭＡチャネルからデータ転送要求を受け付けている場合であって、同時に機能ブロック４４０側から見て下流にある調停器（調停器４５０ａに対する調停器４５０ｂ）からバス権要求信号を受け付けたときには、両者のバス権要求を所定のポリシーで優先度付けをし、優先度の高い方のバス権要求信号を上流（機能ブロック４４０）に向けて出力する。また調停器４５０ａ、４５０ｂは、ＤＭＡチャネルからデータ転送要求を受け付けていない場合であって、下流の調停器からバス権要求信号を受け付けたときには、当該バス権要求信号をそのまま上流に出力する。
【０１８９】
機能ブロック４４０は、調停器４５０ａから送信されてきたバス権要求信号に応じて、バス権を与えて良いタイミング（例えば、共有バスがいずれの回路にも使用されていないタイミング）でバス権承認信号を調停器４５０ａに送信する機能を有する。
【０１９０】
このような構成とすると、外部端子と外部端子Ｉ／Ｆ回路の追加や削除が容易となるうえ、調停器も上述の単純な構成によるバス権の管理を行うのみであるため、調停器の再設計もせずに済む構成となる。
【０１９１】
図３０には、図２９の構成に新たな外部端子４１０ｃと外部端子Ｉ／Ｆ回路４３０ｃとＤＭＡチャネル４４０ｃと調停器４５０ｃとを追加した構成の半導体集積回路４００ａを示した。なお、図３０においては、新たなスライス群４２６を設ける構成を示したが、このスライス群４２６は、共有バスの配線長に応じて設けられるものである。そのため、新たな外部端子や外部端子Ｉ／Ｆ回路までの配線長がそれほど長いものにならない場合には、タイミング調整のためのスライス群は新たに設ける必要がなく、図３１に示すような構成の半導体集積回路４００ｂが設計される。
【０１９２】
また、逆にもともと設計していたデータ転送経路（外部端子と外部端子Ｉ／Ｆ回路とＤＭＡチャネルと調停器の組み合わせ）が不要になることもある。図３２には、追加でなく、削除した構成を示した。このような構成とすることで、外部端子と外部端子Ｉ／Ｆ回路とＤＭＡチャネルと調停器の組み合わせからなる一つのデータ転送経路を単位として考えられた設計の追加や削除を行うことができる。
【０１９３】
このように、図２９などに示すように、一つの外部端子と外部Ｉ／Ｆ回路とＤＭＡチャネルと調停器とを一単位とした配置をすることができるので、図９、図２２、図２３などに示した構成とする場合に比して、外部端子、外部Ｉ／Ｆ回路の追加や削除などの設計変更を容易に行うことができる。
【０１９４】
また、図２９〜図３２では、機能ブロックと複数のＩＯブロックがバス型のトポロジーで接続される例を記載しているが、これはデイジーチェーン型のトポロジーで接続されてもよい。デイジーチェーン型のトポロジーで機能ブロックやＩＯブロックを接続する構成としては、例えば、図３３に示すような構成が考えられる。図３３に示す半導体集積回路４００ｄは、図３１に示したバス型のトポロジーで機能ブロックとＩＯブロックとが接続されている半導体集積回路４００ｂをデイジーチェーン型のトポロジーで接続された構成に変更したものである。例えば、ＩＯブロックとして、外部端子Ｉ／Ｆ回路（４３０ａ／４３０ｂ／４３０ｃ）とＤＭＡチャネル（４４０ａ／４４０ｂ／４４０ｃ）と調停器（４５０ａ／４５０ｂ／４５０ｃ）とを一つにパッケージした回路を用いる。図３３に示される通り、機能ブロック４４０と、スライス群４２４、４２５と、ＩＯブロック４７０ａ、４７０ｂ、４７０ｃとはデイジーチェーン構成でバス（４２１、４２２、４２３）により接続されている。
【０１９５】
また、ＩＯブロック４７０ａ、４７０ｂ、４７０ｃは、図３４に示す半導体集積回路４００ｅのように、一組のＤＭＡチャネル（４４０ａ／４４０ｂ／４４０ｃ）と調停器（４５０ａ／４５０ｂ／４５０ｃ）とを一つにパッケージした回路であってもよい。
【０１９６】
このような構成であっても、図３３に示した半導体集積回路４００ｄ、図３４に示した半導体集積回路４００ｅは、実質的には、図３１に示した半導体集積回路４００ｂと同等の機能を発揮する。
【０１９７】
なお、バス型のトポロジーで接続するか、デイジーチェーン型のトポロジーで接続するかは設計の仕様で定められ、当該仕様に従って、レイアウト設計がなされる。
＜まとめ＞
以上、実施の形態４に示したように、各外部端子と外部端子Ｉ／Ｆ回路に対応する形で、データ転送制御回路たるＤＭＡチャネルと、調停器とを設ける構成とすることで、一つの外部端子と外部端子Ｉ／Ｆ回路とデータ転送制御回路と調停器とを一つのデータ転送経路として、データ転送経路の追加または削除が容易なレイアウト設計方法及び当該レイアウト設計方法により設計される半導体集積回路を提供することができる。
＜補足＞
上記実施の形態において、本発明の実施の手法について説明してきたが、本発明の実施の形態がこれに限られないことは勿論である。以下、上記実施の形態以外に本発明として含まれるその他の各種変形例について説明する。
（１）上記実施の形態において、レイアウト設計方法を示した。当該レイアウト設計方法は、人間が当該レイアウト設計方法に従って、半導体集積回路のレイアウトを設計することとしてもよいし、半導体集積回路のレイアウトを自動設計する装置において、上記実施の形態に従ったレイアウト設計方法の手順に従ってレイアウトを実行する装置であればよく、レイアウト設計を実行する装置に命じて、設計することとしてもよい。
（２）上記実施の形態において示したレイアウト設計方法は、半導体集積回路のレイアウトを設計する設計装置が実行することとしてもよい。
【０１９８】
即ち、データ転送制御回路や、各機能ブロックの面積等の情報及び設計する半導体集積回路の大きさに応じて許される総配置面積の情報を入力として、まず、最適な機能ブロック及びデータ転送制御回路の配置を決定する。当該配置の決定方法の詳細については、各種従来技術が開示されているので、ここでは割愛する。
【０１９９】
データ転送制御回路と機能ブロックとの配置を決定すると、設計装置は、外部端子位置の情報の入力を、例えば、設計装置のオペレータから受け付ける。
【０２００】
外部端子位置の情報の入力を受け付けると、当該情報で示される位置を外部端子の配置位置として決定する。
【０２０１】
設計装置は、外部端子位置の近傍にＩＯブロックの配置位置を決定する。当該決定は、決定された外部端子位置から、予め定められた所定の距離内であって、他の部品との配置が重複しない位置の中から、外部端子とＩＯブロックとの間の配線長が最も短くなる位置をＩＯブロックの配置位置として決定する。
【０２０２】
そして、設計装置は、ＩＯブロックの配置位置が決定されると、当該ＩＯブロックとデータ転送制御回路とを接続し、かつ、他の部品との配置が重複しないようにバスの配線位置を決定する。
【０２０３】
そして、決定されたバスの配線をすることにより、定まるバスの配線長から、当該バス上に挿入するタイミング調整回路の数と位置を、他の部品の配置位置と重複しないように、挿入する。挿入するタイミング調整回路の数については、予め設計装置に、ある一定の長さの範囲で分けられた配線長ごとの、挿入するタイミング調整回路の数を示すテーブルを記憶しておき、決定したバスの配置位置に基づいてその配線長を算出する。そして算出した配線長が、テーブルのどの範囲に該当するのかに基づいて、該当する範囲に対応するタイミング調整回路の数を、挿入すべきタイミング調整回路の数として決定する。
【０２０４】
こうして、最終的に図３（ｂ）に示すようなレイアウトが設計される。
【０２０５】
なお、ここでは、実施の形態１に示したレイアウト設計方法に基づく、設計装置について説明したが、これは、他の実施の形態に示したレイアウト設計方法に基づく、設計装置によるレイアウト設計であってもよい。
【０２０６】
また、設計装置は、変形例１や変形例２、あるいは、実施の形態４に示した手法を以ってレイアウト設計を実行することとしてもよい。
（３）上記実施の形態におけるレイアウト設計方法においては、共有バスの配置は、図２７に示すように配置することとしてもよい。即ち、各機能ブロックを囲うように共有バスを配線する。そして、内部回路１４０からの配線長に応じて、タイミング調整回路たるスライス群１２５ａ〜１２５ｊを配置する。その周囲に外部端子Ｉ／Ｆ回路を設置するためのスペースを確保し、外部端子位置の決定を待つ。
【０２０７】
そして、外部端子位置が決定すると、決定された位置を外部端子１１０ａ〜１１０ｃの配置位置とし、その近傍にＩＯブロックたる外部端子Ｉ／Ｆ回路１３０ａ〜１３０ｃの配置位置を決定し、外部端子と接続し、外部端子Ｉ／Ｆ回路から直線距離で最も短くなるように共有バスへ配置する。
【０２０８】
こうすると、ＩＯブロックからデータ転送制御回路まで、共有バスを、各機能ブロックの部品間をどのように通すのかを考慮することなく、外部端子Ｉ／Ｆ回路から、共有バスへの配線を容易に決定できるので、とくに、上記変形例２における設計手法において有効な設計方法と言える。
（４）上記実施の形態２では、ＤＭＡコントローラ１４０と外部端子Ｉ／Ｆ回路群１３０ａ、１３０ｂとの間で、コマンド、ダウンリンクデータ、ダウンリンクインフォメーション、アップリンクデータ、アップリンクインフォメーションの５つの情報全てが授受される例を記載しているが、本発明はこれに限定されるものではない。例えば、ＤＭＡコントローラ１４０と外部端子Ｉ／Ｆ回路群１３０ａ、１３０ｂの間の情報授受が、コマンド、ダウンリンクデータのみで構成しても良く、５つの情報のサブセットが含まれていれば良い。
（５）上記実施の形態２では、外部端子Ｉ／Ｆ回路群１３０ａ、１３０ｂからＤＭＡコントローラ１４０に対して送られるライトレディ信号及びリードレディ信号がスライスされている例を記載しているが、本発明はこれに限定されるものではない。ライトレディ信号及びリードレディ信号はスライスを経由することなしに直接、外部端子Ｉ／Ｆ回路群１３０ａ、１３０ｂとＤＭＡコントローラ１４０との間で接続されていても良い。
（６）上記実施の形態２では、外部端子Ｉ／Ｆ回路１３０ａから調停器１５２に対して送られるバス権要求信号群がスライス１２５８によりスライスされている例を記載しているが、本発明はこれに限定されるものではない。バス権要求信号群はスライスを経由することなしに直接調停器と接続されていても良い。
（７）本実施の形態２では、調停器１５１及び調停器１５２が共有バスの全ての構成要素(コマンドバス、ダウンリンクデータバス、ダウンリンクインフォメーションバス、アップリンクデータバス、アップリンクインフォメーションバス)の調停回路を備える例を記載しているが、本発明はこれに限定されるものではない。
【０２０９】
例えば、ＤＭＡＣ１４０が外部端子Ｉ／Ｆ回路群１３０に対しダウンリンクインフォメーションを送付する必要が無く、共有バスとしてダウンリンクインフォメーションバスが実装されない場合は、それに対応するダウンリンクインフォメーションバス調停回路１５１３を実装しなくても良い。
【０２１０】
あるいは、ダウンリンクインフォメーションを送付する必要があっても、例えば、チャネル１４１ｂは情報を送付せず、チャネル１４１ａのみが情報を送付する場合(ダウンリンクインフォメーションバスを占有しても良い場合)は、ダウンリンクインフォメーションバス調停回路１５１３を実装しなくても良い。
（８）上記実施の形態２では、コマンドバス権調停回路１５１１、ダウンリンクデータバス権調停回路１５１２、及びダウンリンクインフォメーションバス権調停回路１５１３が調停器１５１０内に含まれる局所化された物理領域にレイアウトされている例を記載しているが、本発明はこれに限定されるものではない。コマンドバス権調停回路１５１１、ダウンリンクデータバス権調停回路１５１２、及びダウンリンクインフォメーションバス権調停回路１５１３のそれぞれは必要に応じて分散された領域にレイアウトされても良い。調停器１５２０に含まれるアップリンクデータバス権調停回路１５２２、アップリンクインフォメーションバス権調停回路１５２３についても同様である。
（９）上記実施の形態２においては、コマンド情報を送付した後に続いてデータを転送する例を記載しているが、コマンドの送信方法や回数などはこれに限定されるものではない。例えば、コマンドをデータに先行してＮ回(Ｎは２以上の整数)続けて送った後にデータ転送を開始する構成としても良い。
（１０）上記実施の形態３においては、コマンドバスを例として記載しているが、本発明はこれに限定されるものではない。例えば、ＤＭＡＣ２４０（３４０）から外部端子Ｉ／Ｆ回路群２３０ａ〜２３０ｄ（３３０ａ〜３３０ｄ）の方向に情報を転送するダウンリンクデータバス、及びダウンリンクインフォメーションバスで同様の構成を採っても良い。また、外部端子Ｉ／Ｆ回路群２３０からＤＭＡＣ２４０の方向に情報を転送するアップリンクデータバス及びアップリンクインフォメーションバスで同様の構成を採っても良い。
（１１）上記実施の形態においては、１つの外部ＩＯ端子が１つの外部端子Ｉ／Ｆ回路に対応する構成を示したが、これはその限りではない。１つの外部端子Ｉ／Ｆ回路が複数の外部ＩＯ端子に対応してもよい。また設計される半導体集積回路は、図３２に示すように１つの外部端子Ｉ／Ｆ回路及び１つのＤＭＡチャネルのみを備える構成であってもよい。
（１２）上述の実施形態で示したレイアウト設計に係る動作（図１、図４、図６参照）をレイアウト設計装置等のプロセッサ、及びそのプロセッサに接続された各種回路に実行させるためのプログラムコードからなる制御プログラムを、記録媒体に記録すること、又は各種通信路等を介して流通させ頒布させることもできる。このような記録媒体には、ＩＣカード、ハードディスク、光ディスク、フレキシブルディスク、ＲＯＭ等がある。流通、頒布された制御プログラムはプロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより、実施形態で示したような各種機能が実現されるようになる。
（１３）上記実施の形態に示したブロック図（図８〜１２、２２、２３等参照）における各機能部、各種回路は、集積化されて１又は複数のＬＳＩ（Large Scale Integration）により実現されてもよい。また、複数の機能部が１のＬＳＩにより実現されてもよい。
【０２１１】
ＬＳＩは集積度の違いにより、ＩＣ（Integrated Circuit）、システムＬＳＩ、ＶＬＳＩ（Very Large Scale Integration）、ＳＬＳＩ（SuperLarge Scale Integration）、ＵＬＳＩ（Ultra Large ScaleIntegration）などと呼称されることもある。
【０２１２】
更には、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、当該技術を用いて、機能ブロックの集積化を実現してもよい。当該技術としては、バイオ技術の適応等が可能性としてありえる。
（１４）以下に、本発明に係る集積回路製造方法並びに半導体集積回路の実施の態様とその効果について説明する。
【０２１３】
本発明に係る第１の集積回路製造方法は、集積回路の製造に用いられるマスクパターンを作成するためのレイアウト設計ステップと、前記マスクパターンを用いて、半導体材料上に前記集積回路を作成する作成ステップとを含む集積回路製造方法であって、前記レイアウト設計ステップは、機能ブロックの配置を決定する第１ステップと、前記集積回路と外部の機器とを接続するための複数の外部ＩＯ（Input-Output）端子の配置を決定する第２ステップと、前記第２ステップで決定された各外部ＩＯ端子の配置に応じて、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯ（Input-Output）ブロックの配置を決定する第３ステップと、前記機能ブロックと前記ＩＯブロックとの間を接続するバスの配置と、当該バスの配線長に応じた段数の、前記バス上を流れる信号のタイミング調整を行うタイミング調整回路との配置を決定する第４ステップと、を含むことを特徴とする。
【０２１４】
また、本発明に係る第２の集積回路製造方法は、集積回路の製造に用いられるマスクパターンを作成するためのレイアウト設計ステップと、前記マスクパターンを用いて、半導体材料上に前記集積回路を作成する作成ステップとを含む集積回路製造方法であって、前記レイアウト設計ステップは、機能ブロックの配置を決定する第１ステップと、前記集積回路と外部の機器とを接続するための複数の外部ＩＯ（Input-Output）端子の配置を決定する第２ステップと、前記第２ステップで決定された各外部ＩＯ端子の配置に応じて、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯ（Input-Output）ブロックの配置を決定する第３ステップと、前記機能ブロックと前記ＩＯブロックとの間を接続する共有バスの配置と、当該共有バスの配線長に応じた段数の、前記共有バス上を流れる信号のタイミング調整を行うタイミング調整回路との配置を決定する第４ステップと、を含むことを特徴とする。
【０２１５】
また、本発明に係る第３の集積回路製造方法は、集積回路の製造に用いられるマスクパターンを作成するためのレイアウト設計ステップと、前記マスクパターンを用いて、半導体材料上に前記集積回路を作成する作成ステップとを含む集積回路製造方法であって、前記レイアウト設計ステップは、機能ブロックの配置を決定する第１ステップと、共有バスと、前記共有バス上を流れる信号のタイミング調整を行うタイミング調整回路との配置を決定する第２ステップと、前記集積回路と外部の機器とを接続するための複数の外部ＩＯ（Input-Output）端子の配置を決定する第３ステップと、前記第２ステップで決定された各外部ＩＯ端子の配置に応じて、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯ（Input-Output）ブロックの配置を決定する第４ステップと、前記機能ブロックと前記ＩＯブロックとを前記共有バスに接続する第５ステップと、を含むことを特徴とする。
【０２１６】
また、これらの集積回路製造方法により製造される半導体集積回路は、機能ブロックと、複数の外部ＩＯ端子と、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯブロックと、前記機能ブロックと前記少なくとも１つのＩＯブロックとの間で共有される共有バスと、前記共有バスに挿入され、前記共有バス上を流れる信号のタイミング調整を行う１以上のタイミング調整回路とを備え、前記共有バスは、挿入されている前記タイミング調整回路により、複数のスライスに分割されており、前記機能ブロックと前記ＩＯブロックとは前記複数のスライスの何れかに接続されていることを特徴とする。
【０２１７】
これらのレイアウト設計方法により、外部端子と外部端子に対応する複数のＩＯブロック間の配線、及び外部端子とデータ転送回路の間の配線制約を緩和すると同時に、これらの配線の敷設による配線面積増大を抑制することができ、レイアウト設計負荷の低減と面積増大の抑制を実現することが可能となる。
【０２１８】
また、上記第１〜第３の集積回路製造方法において、前記第１ステップにおいて配置を決定する前記ＩＯブロックは、データ転送制御回路を含むこととしてもよい。
【０２１９】
あるいは、上記第１の半導体集積回路において、前記機能ブロックは、データ転送制御回路を含むこととしてもよい。
【０２２０】
これにより、データ転送制御回路を含むＩＯブロックを配置するだけで、データ転送の制御を実行できる機能部を有する集積回路を製造することができる。
【０２２１】
また、上記第１〜第３の集積回路製造方法において、前記第３ステップにおいて配置を決定する前記ＩＯブロックは、データ転送制御回路を含むこととしてもよい。
【０２２２】
あるいは、上記第１の半導体集積回路において、前記ＩＯブロックは、データ転送制御回路を含むこととしてもよい。
【０２２３】
これにより、データ転送制御回路を各ＩＯブロックに含ませることで、外部ＩＯ端子とＩＯブロックとを一つの単位としたデータ転送経路の追加や削除が容易となる。
【０２２４】
また、上記第１又は第２の集積回路製造方法において、前記第３ステップは、前記外部ＩＯ端子に近接する位置を前記ＩＯブロックの配置位置として決定することとしてもよい。
【０２２５】
あるいは、上記第３の集積回路製造方法において、前記第４ステップは、前記外部ＩＯ端子に近接する位置を前記ＩＯブロックの配置位置として決定することとしてもよい。
【０２２６】
あるいは、上記第１の半導体集積回路において、前記ＩＯブロックは、前記外部ＩＯ端子に近接する位置に配置されていることとしてもよい。
【０２２７】
ここでいう、外部端子に近接する位置とは、外部端子とＩＯブロックとの間でのデータ転送における通信遅延が誤差として許容できるデータ通信を行える範囲内とする。
【０２２８】
これにより、ＩＯブロックは外部端子の近傍に配されることになるため、外部端子とＩＯブロック間のデータ転送におけるタイミング調整のための構成を考慮せずともよく、レイアウト設計の負担を軽減することができる。
【０２２９】
また、上記第１の集積回路製造方法において、前記タイミング調整回路は、入力された信号について、当該信号を含む複数の信号が前記バスを流れることにより発生する当該複数の信号間の位相のずれを修正して出力する回路であり、前記第４ステップは、前記配線長に応じて前記信号に発生する遅延量に基づいて、前記タイミング調整回路を挿入する段数及びその配置位置を決定することとしてもよい。
【０２３０】
あるいは、上記第２の集積回路において、前記タイミング調整回路は、入力された信号について、当該信号を含む複数の信号が前記共有バスを流れることにより発生する当該複数の信号間の位相のずれを修正して出力する回路であり、前記第４ステップは、前記配線長に応じて前記信号に発生する遅延量に基づいて、前記タイミング調整回路を挿入する段数及びその配置位置を決定することとしてもよい。
【０２３１】
さらには、上記第３の集積回路において、前記タイミング調整回路は、入力された信号について、当該信号を含む複数の信号が前記共有バスを流れることにより発生する当該複数の信号間の位相のずれを修正して出力する回路であり、前記第２ステップは、前記配線長に応じて前記信号に発生する遅延量に基づいて、前記タイミング調整回路を挿入する段数及びその配置位置を決定することとしてもよい。
【０２３２】
これにより、当該集積回路製造方法に従って生成される集積回路は、バスを流れる信号の動作クロックからの遅延を修正できる。
【０２３３】
また、上記第２の集積回路製造方法において、前記第４ステップにおいて配置を決定する共有バスは、前記機能ブロックと前記ＩＯブロックとをデイジーチェーン接続するように配置が決定されるとしてよい。
【０２３４】
また、上記第３の集積回路製造方法において、前記第５ステップにおいて、前記機能ブロックと前記ＩＯブロックとは前記共有バスによりデイジーチェーン接続されるように配置が決定されるとしてよい。
【０２３５】
これにより、当該集積回路製造方法に従って機能ブロックとＩＯブロックとがデイジーチェーン接続された回路構成の半導体集積回路を設計することができる。
【０２３６】
また、上記第１の半導体集積回路において、前記半導体集積回路は、更に、前記共有バスの一端に接続され、前記ＩＯブロックから前記データ転送制御回路へ向かう方向のデータ転送に関するバス権要求信号を調停するアップリンク調停器を備え、前記アップリンク調停器は、前記複数のＩＯブロックからのバス権要求信号を調停し、前記複数のＩＯブロックのうち選択された１つのＩＯブロックにバス権承認信号を発行し、前記バス権承認信号は、前記選択された１つのＩＯブロックと前記アップリンク調停器間のスライスを介して遅延されて前記選択された１つのＩＯブロックに通知されることとしてもよい。
【０２３７】
これにより、アップリンク調停器の簡素化を図るとともに、共有バスの利用効率を高めることができる。
【０２３８】
また、上記第１の半導体集積回路において、前記共有バスは、前記データ転送制御回路から前記ＩＯブロックへ向かう方向の信号を伝達するためのダウンリンクバスと、前記ＩＯブロックから前記データ転送制御回路へ向かう方向の信号を伝達するためのアップリンクバスとを含んで構成されることとしてもよい。
【０２３９】
更に、上記第１の半導体集積回路において、前記アップリンク調停器は、前記複数のＩＯブロックが転送するデータそれぞれのバースト長の情報を備えており、前記アップリンク調停器が、バス権を承認された1つのＩＯブロックに対応したバースト長の情報に応じて、バス権要求信号の調停間隔を決定することとしてもよい。
【０２４０】
これにより、ＩＯブロック毎にデータ転送のバースト長が異なる場合でも、アップリンクバスの利用効率を高めることが可能となる。
【０２４１】
また、上記第１の半導体集積回路において、前記半導体集積回路は、更に、前記データ転送制御回路に接続され、前記データ転送制御回路から前記ＩＯブロックへ向かう方向のデータ転送に関するバス権要求信号を調停するダウンリンク調停器を備え、前記データ転送制御回路は、前記ＩＯブロックが配置されたスライスまでの遅延に応じたタイミングで、前記共有バスにデータを出力することとしてもよい。
【０２４２】
これにより、ダウンリンク調停器の簡素化を図るとともに、共有バスの利用効率を高めることができる。
【０２４３】
また、上記第１の半導体集積回路において、前記ダウンリンク調停器は、前記複数のチャネルが転送するデータそれぞれのバースト長の情報を備えており、前記ダウンリンク調停器が、バス権を承認された1つのチャネルに対応したバースト長の情報に応じて、バス権要求信号の調停間隔を決定することとしてもよい。
【０２４４】
これにより、チャネル毎にデータ転送のバースト長が異なる場合でも、ダウンリンクバスの利用効率を高めることが可能となる。
【０２４５】
また、上記第１の半導体集積回路において、前記共有バスは、長バーストデバイス用のバスと、短バーストデバイス用のバスとを含み、前記データ転送制御回路と前記ＩＯブロックとの間のデータ転送のバースト長に応じて、前記長バーストデバイス用のバスと、前記短バーストデバイス用のバスの何れかを用いてデータ転送を行うこととしてもよい。
【０２４６】
これにより、調停器がバスを使用するデバイス毎に調停間隔を変更すること無く、共有バスの利用効率を高めることができる。
【産業上の利用可能性】
【０２４７】
本発明に係る集積回路製造方法は、外部端子位置が定まっておらずとも集積回路のレイアウト設計ができ、半導体集積回路の設計時間の短縮に貢献し、半導体集積回路の精製に供する。
【符号の説明】
【０２４８】
１００、２００、３００、４００、４００ａ、４００ｂ、４００ｃ、４００ｄ  半導体集積回路
１１０ａ、１１０ｂ、２１０ａ、２１０ｂ、２１０ｃ、２１０ｄ、３１０ａ、３１０ｂ、３１０ｃ、３１０ｄ、４１０ａ、４１０ｂ、４１０ｃ  外部端子（外部ＩＯ端子）
１４０  内部回路（ＤＭＡＣ、データ転送制御回路）
１４１ａ、１４１ｂ、２４１ａ、２４１ｂ、２４１ｃ、２４１ｄ、３４１ａ、３４１ｂ、３４１ｃ、３４１ｄ、４４１ａ、４４１ｂ、４４１ｃ  チャネル
１５１、１５２、２５１、２５２、３５１ａ、３５１ｂ、３５２ａ、３５２ｂ、４５０ａ、４５０ｂ、４５０ｃ  調停器
１３０ａ、１３０ｂ、２３０ａ、２３０ｂ、２３０ｃ、２３０ｄ、３３０ａ、３３０ｂ、３３０ｃ、３３０ｄ、４３０ａ、４３０ｂ、４３０ｃ  外部端子Ｉ／Ｆ回路（ＩＯブロック）
１２４  バス
１２５ａ、１２５ｂ、１２５ｃ  スライス（タイミング調整回路）
２４０、３４０  ＤＭＡＣ（データ転送制御回路）
４４０  機能ブロック
４４０ａ、４４０ｂ、４４０ｃ  ＤＭＡチャネル（データ転送制御回路）
４７０ａ、４７０ｂ、４７０ｃ  ＩＯブロック
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
集積回路の製造に用いられるマスクパターンを作成するためのレイアウト設計ステップと、前記マスクパターンを用いて、半導体材料上に前記集積回路を作成する作成ステップとを含む集積回路製造方法であって、
前記レイアウト設計ステップは、
機能ブロックの配置を決定する第１ステップと、
前記集積回路と外部の機器とを接続するための複数の外部ＩＯ（Input-Output）端子の配置を決定する第２ステップと、
前記第２ステップで決定された各外部ＩＯ端子の配置に応じて、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯ（Input-Output）ブロックの配置を決定する第３ステップと、
前記機能ブロックと前記ＩＯブロックとの間を接続するバスの配置と、当該バスの配線長に応じた段数の、前記バス上を流れる信号のタイミング調整を行うタイミング調整回路の配置とを決定する第４ステップと、
を含む集積回路製造方法。
【請求項２】
前記第１ステップにおいて配置を決定する機能ブロックは、データ転送制御回路を含む
ことを特徴とする請求項１記載の集積回路製造方法。
【請求項３】
前記第３ステップにおいて配置を決定する前記ＩＯブロックは、データ転送制御回路を含む
ことを特徴とする請求項１記載の集積回路製造方法。
【請求項４】
前記第３ステップは、前記外部ＩＯ端子に近接する位置を前記ＩＯブロックの配置位置として決定する
ことを特徴とする請求項１記載の集積回路製造方法。
【請求項５】
前記タイミング調整回路は、入力された信号について、当該信号を含む複数の信号が前記バスを流れることにより発生する当該複数の信号間の位相のずれを修正して出力する回路であり、
前記第４ステップは、前記配線長に応じて前記信号に発生する遅延量に基づいて、前記タイミング調整回路を挿入する段数及びその配置位置を決定する
ことを特徴とする請求項１記載の集積回路製造方法。
【請求項６】
集積回路の製造に用いられるマスクパターンを作成するためのレイアウト設計ステップと、前記マスクパターンを用いて、半導体材料上に前記集積回路を作成する作成ステップとを含む集積回路製造方法であって、
前記レイアウト設計ステップは、
機能ブロックの配置を決定する第１ステップと、
前記集積回路と外部の機器とを接続するための複数の外部ＩＯ（Input-Output）端子の配置を決定する第２ステップと、
前記第２ステップで決定された各外部ＩＯ端子の配置に応じて、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯ（Input-Output）ブロックの配置を決定する第３ステップと、
前記機能ブロックと前記ＩＯブロックとの間を接続する共有バスの配置と、当該共有バスの配線長に応じた段数の、前記共有バス上を流れる信号のタイミング調整を行うタイミング調整回路の配置とを決定する第４ステップと、
を含む集積回路製造方法。
【請求項７】
前記第１ステップにおいて配置を決定する機能ブロックは、データ転送制御回路を含む
ことを特徴とする請求項６記載の集積回路製造方法。
【請求項８】
前記第４ステップにおいて配置を決定する共有バスは、前記機能ブロックと前記ＩＯブロックとをデイジーチェーン接続するように配置が決定される
ことを特徴とする請求項７記載の集積回路製造方法。
【請求項９】
前記第３ステップにおいて配置を決定する前記ＩＯブロックは、データ転送制御回路を含む
ことを特徴とする請求項６記載の集積回路製造方法。
【請求項１０】
前記第４ステップにおいて配置を決定する共有バスは、前記機能ブロックと前記ＩＯブロックとをデイジーチェーン接続するように配置が決定される
ことを特徴とする請求項９記載の集積回路製造方法。
【請求項１１】
前記第３ステップは、前記外部ＩＯ端子に近接する位置を前記ＩＯブロックの配置位置として決定する
ことを特徴とする請求項６記載の集積回路製造方法。
【請求項１２】
前記タイミング調整回路は、入力された信号について、当該信号を含む複数の信号が前記共有バスを流れることにより発生する当該複数の信号間の位相のずれを修正して出力する回路であり、
前記第４ステップは、前記配線長に応じて前記信号に発生する遅延量に基づいて、前記タイミング調整回路を挿入する段数及びその配置位置を決定する
ことを特徴とする請求項６記載の集積回路製造方法。
【請求項１３】
集積回路の製造に用いられるマスクパターンを作成するためのレイアウト設計ステップと、前記マスクパターンを用いて、半導体材料上に前記集積回路を作成する作成ステップとを含む集積回路製造方法であって、
前記レイアウト設計ステップは、
機能ブロックの配置を決定する第１ステップと、
共有バスと、前記共有バス上を流れる信号のタイミング調整を行うタイミング調整回路との配置を決定する第２ステップと、
前記集積回路と外部の機器とを接続するための複数の外部ＩＯ（Input-Output）端子の配置を決定する第３ステップと、
前記第２ステップで決定された各外部ＩＯ端子の配置に応じて、前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯ（Input-Output）ブロックの配置を決定する第４ステップと、
前記機能ブロックと前記ＩＯブロックとを前記共有バスに接続する第５ステップと、
を含む集積回路製造方法。
【請求項１４】
前記第１ステップにおいて配置を決定する機能ブロックは、データ転送制御回路を含む
ことを特徴とする請求項１３記載の集積回路製造方法。
【請求項１５】
前記第５ステップにおいて、前記機能ブロックと前記ＩＯブロックとは前記共有バスによりデイジーチェーン接続されるように配置が決定される
ことを特徴とする請求項１４記載の集積回路製造方法。
【請求項１６】
前記第４ステップにおいて配置を決定する前記ＩＯブロックは、データ転送制御回路を含む
ことを特徴とする請求項１３記載の集積回路製造方法。
【請求項１７】
前記第５ステップにおいて、前記機能ブロックと前記ＩＯブロックとは前記共有バスによりデイジーチェーン接続されるように配置が決定される
ことを特徴とする請求項１６記載の集積回路製造方法。
【請求項１８】
前記第４ステップは、前記外部ＩＯ端子に近接する位置を前記ＩＯブロックの配置位置として決定する
ことを特徴とする請求項１３記載の集積回路製造方法。
【請求項１９】
前記タイミング調整回路は、入力された信号について、当該信号を含む複数の信号が前記共有バスを流れることにより発生する当該複数の信号間の位相のずれを修正して出力する回路であり、
前記第２ステップは、前記配線長に応じて前記信号に発生する遅延量に基づいて、前記タイミング調整回路を挿入する段数及びその配置位置を決定する
ことを特徴とする請求項１３記載の集積回路製造方法。
【請求項２０】
機能ブロックと、
複数の外部ＩＯ端子と、
前記外部ＩＯ端子のいずれかに接続される少なくとも１つのＩＯブロックと、
前記機能ブロックと前記複数のＩＯブロックとの間で共有される共有バスと、
前記共有バスに挿入され、前記共有バス上を流れる信号のタイミング調整を行う１以上のタイミング調整回路と
を備え、
前記共有バスは、挿入されている前記タイミング調整回路により、複数のスライスに分割されており、
前記機能ブロックと前記ＩＯブロックとは前記複数のスライスの何れかに接続されている
ことを特徴とする半導体集積回路。
【請求項２１】
前記機能ブロックは、データ転送制御回路を含む
ことを特徴とする請求項２０記載の半導体集積回路
【請求項２２】
前記共有バスは、
前記データ転送制御回路から前記ＩＯブロックへ向かう方向の信号を伝達するためのダウンリンクバスと、
前記ＩＯブロックから前記データ転送制御回路へ向かう方向の信号を伝達するためのアップリンクバスと
を含んで構成される
ことを特徴とする請求項２１記載の半導体集積回路。
【請求項２３】
前記半導体集積回路は、更に、前記共有バスの一端に接続され、前記ＩＯブロックから前記データ転送制御回路へ向かう方向のデータ転送に関するバス権要求信号を調停するアップリンク調停器を備え、
前記アップリンク調停器は、複数のＩＯブロックからのバス権要求信号を調停し、前記複数のＩＯブロックのうち選択された１つのＩＯブロックにバス権承認信号を発行し、
前記バス権承認信号は、前記選択された１つのＩＯブロックと前記アップリンク調停器間のスライスを介して遅延されて前記選択された１つのＩＯブロックに通知される
ことを特徴とする請求項２２記載の半導体集積回路。
【請求項２４】
前記アップリンク調停器は、複数のＩＯブロックが転送するデータそれぞれのバースト長の情報を備えており、
前記アップリンク調停器が、バス権を承認された1つのＩＯブロックに対応したバースト長の情報に応じて、バス権要求信号の調停間隔を決定する
ことを特徴とする請求項２３記載の半導体集積回路。
【請求項２５】
前記半導体集積回路は、更に、前記データ転送制御回路に接続され、前記データ転送制御回路から前記ＩＯブロックへ向かう方向のデータ転送に関するバス権要求信号を調停するダウンリンク調停器を備え、
前記データ転送制御回路は、前記ＩＯブロックが配置されたスライスまでの遅延に応じたタイミングで、前記共有バスにデータを出力する
ことを特徴とする請求項２２記載の半導体集積回路。
【請求項２６】
前記ダウンリンク調停器は、複数のチャネルが転送するデータそれぞれのバースト長の情報を備えており、
前記ダウンリンク調停器が、バス権を承認された1つのチャネルに対応したバースト長の情報に応じて、バス権要求信号の調停間隔を決定する
ことを特徴とする請求項２５記載の半導体集積回路。
【請求項２７】
前記共有バスは、長バーストデバイス用のバスと、短バーストデバイス用のバスとを含み、
前記データ転送制御回路と前記ＩＯブロックとの間のデータ転送のバースト長に応じて、前記長バーストデバイス用のバスと、前記短バーストデバイス用のバスの何れかを用いてデータ転送を行う
ことを特徴とする請求項２０記載の半導体集積回路。
【請求項２８】
前記ＩＯブロックは、データ転送制御回路を含む
ことを特徴とする請求項２０記載の半導体集積回路。
【請求項２９】
前記ＩＯブロックは、前記外部ＩＯ端子に近接する位置に配置されている
ことを特徴とする請求項２０記載の集積回路製造方法。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2011152013.tif 000038
【図２】
2011152013.tif 000039
【図３】
2011152013.tif 000040
【図４】
2011152013.tif 000041
【図５】
2011152013.tif 000042
【図６】
2011152013.tif 000043
【図７】
2011152013.tif 000044
【図８】
2011152013.tif 000045
【図９】
2011152013.tif 000046
【図１０】
2011152013.tif 000047
【図１１】
2011152013.tif 000048
【図１２】
2011152013.tif 000049
【図１３】
2011152013.tif 000050
【図１４】
2011152013.tif 000051
【図１５】
2011152013.tif 000052
【図１６】
2011152013.tif 000053
【図１７】
2011152013.tif 000054
【図１８】
2011152013.tif 000055
【図１９】
2011152013.tif 000056
【図２０】
2011152013.tif 000057
【図２１】
2011152013.tif 000058
【図２２】
2011152013.tif 000059
【図２３】
2011152013.tif 000060
【図２４】
2011152013.tif 000061
【図２５】
2011152013.tif 000062
【図２６】
2011152013.tif 000063
【図２７】
2011152013.tif 000064
【図２８】
2011152013.tif 000065
【図２９】
2011152013.tif 000066
【図３０】
2011152013.tif 000067
【図３１】
2011152013.tif 000068
【図３２】
2011152013.tif 000069
【図３３】
2011152013.tif 000070
【図３４】
2011152013.tif 000071
【図３５】
2011152013.tif 000072
【国際調査報告】
2011152013.tif 000073
2011152013.tif 000074
2011152013.tif 000075
2011152013.tif 000076
2011152013.tif 000077
2011152013.tif 000078
2011152013.tif 000079
2011152013.tif 000080