(57)【要約】【課題】消費電力の小さな半導体集積回路のバス配線のレイアウトを可能とすること。【解決手段】半導体集積回路のバス配線のレイアウト方法において、半導体集積回路の機能ブロックごとにバス配線のレイアウトを行うステップと、バスの動作テストを用いて全バス内の全ビット配線のデータの転送遅延を解析する遅延シュミレーションを行う第１ステップと、遅延シュミレーションにより全ビット配線における各信号変化タイミングにおける基準クロックからの遅延時間を求め、該求めた各遅延時間に基づき前記遅延時間の平均値を各ビット配線毎に求める第２ステップと、隣り合うビット配線間における遅延時間平均値の差を求めて、全ビット配線間における平均値の差の合計が最大となるようビット配線の配列を再配置する第３ステップとを含む。【選択図】      図３
2004280436.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のバス配線のレイアウト方法において、
半導体集積回路の機能ブロックごとにバス配線のレイアウトを行うステップと、
バスの動作テストを用いて全バス内の全ビット配線のデータの転送遅延を解析する遅延シュミレーションを行う第１ステップと、
前記遅延シュミレーションにより前記全ビット配線における各信号変化タイミングにおける基準クロックからの遅延時間を求め、該求めた各遅延時間に基づき前記遅延時間の平均値を各ビット配線毎に求める第２ステップと、
隣り合うビット配線間における前記遅延時間平均値の差を求めて、全ビット配線間における前記平均値の差の合計が最大となるよう前記ビット配線の配列を再配置する第３ステップと、
を含むことを特徴とするバス配線のレイアウト方法。
【請求項２】
前記第３ステップでは、機能の異なるビット配線が交互になるように複数の機能の異なるビット配線を配置することを特徴とする請求項１に記載のバス配線のレイアウト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は半導体集積回路のバス配線のレイアウト方法に関するものであり、特に配線間の平行平板寄生容量に起因する消費電流を低減する構造を有するバス配線のレイアウト方法に関するものである。
【０００２】
【従来の技術】
半導体集積回路における消費電力は半導体集積回路内でのスイッチング動作時における充放電電流の影響を大きく受けている。この充放電電流は配線と配線の間に生ずる静電容量である配線間容量が蓄える電荷が原因となっている。そして、この充放電電流は隣り合う配線の一方が充電、他方が放電となるタイミングにおいて配線間容量の影響を最も大きく受ける。
【０００３】
一般に、配線と配線の間に生ずる静電容量は隣り合う配線同士の対向面積に比例し、隣り合う配線同士の配線間距離に反比例することが知られている。したがって隣り合う配線間に生ずる静電容量を減らす方法としては隣り合う配線同士の対向面積を小さくするため配線自体の長さを短くし、隣り合う配線同士の配線間距離を広くすることが考えられる。
【０００４】
しかし近年、半導体集積回路は多機能を実現するため多くの機能ブロックを搭載する必要がある。このためＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）から機能ブロックへのアドレスバス配線といったインストラクションバス配線の距離が長くなる傾向にある。また近年、半導体製造プロセスの微細化やチップ面積の狭小化に伴い、隣り合う配線の配線間距離が短くなる傾向にある。このように、アドレスバス配線等の配線自体の距離が長くなるとともに隣り合う配線の配線間距離が短くなる傾向にあるため隣り合う配線間の配線間容量の増大が顕著となっている。そこで隣り合う配線の間に生じる配線間容量を減らしてスイッチング動作時における充放電電流を低減させ、半導体集積回路の消費電力を減少させることが望まれている。
【０００５】
特許文献１に記載のバス配線のレイアウト方法ではＨｉｇｈからＬｏｗやＬｏｗからＨｉｇｈといったバス配線の信号の状態変化が多いビット配線間に生ずる静電容量の影響を小さくするため、バス配線のうち信号変化の頻度が高い最下位ビット配線（０ビット目の配線）や最下位から２ビット目のビット配線（１ビット目の配線）の配線間距離を他のビット配線の配線間距離よりも広くなるよう配置している。これにより、全ビット配線の配線間隔を広くする場合よりはチップ面積の増大を抑えている。さらに、バス配線の信号の状態変化が多いために充放電電流による消費電力が大きくなるビット配線に対して配線間距離を広くし、ビット配線の配線間容量を減少させることによって消費電力を低減している。
【０００６】
また、特許文献２に記載のバス配線のレイアウト方法では、クロック信号等のレベルがＨｉｇｈからＬｏｗやＬｏｗからＨｉｇｈに変化する頻度を表すトグル率を考慮して同一ブロック内（例えばアドレスバス内）でバス配線の配置を行っている。この方法ではまず、アドレスバス等のブロック内の配線群としてバス配線を抽出している。そして、抽出したバス配線に対し、確率的にはバス配線内の最上位ビット配線がトグル率が最大でビット配線が下位に行くほどトグル率が下がるということを前提に、バス配線の配置順序を最下位ビット配線、最上位ビット配線、最下位ビットから２ビット目のビット配線、最上位から２ビット目のビット配線、・・・のように確率的にトグル率の小さなビット配線の間にトグル率の大きなビット配線が入るよう配置している。このように配置することによって配線容量に起因するクロストークノイズを小さくし、クロストークノイズによる消費電力を減少させている。
【０００７】
【特許文献１】
特開平７−２４９６８７号公報（第３頁）
【特許文献２】
特開平１０−０２１２８０号公報（第８頁）
【０００８】
【発明が解決しようとする課題】
しかしながら、特許文献１に記載のバス配線のレイアウト方法では、バス配線の信号の状態変化が多いビット配線の配線間容量を少なくするため、バス配線のうち最下位ビット配線等の配線間距離を他のビット配線の配線間距離よりも広くなるよう配置している。このため、ビット配線の配線間距離が広くなった分だけチップ面積が大きくなるという問題があった。
【０００９】
また、特許文献２に記載のバス配線のレイアウト方法では、同一ブロック内においてバス配線の配置変更を行っているとともに、バス配線のトグル率の大小を確率的に推定してバス配線の配置変更を行っている。このため、配線間容量に起因する消費電力の低減が不十分であるという問題があった。
【００１０】
この発明は上記に鑑みてなされたもので、ビット配線の配線間距離を広げることなく消費電力の小さな半導体集積回路のバス配線のレイアウト方法を得ることを目的とする。
【００１１】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するために、本発明にかかるバス配線のレイアウト方法にあっては、半導体集積回路のバス配線のレイアウト方法において、半導体集積回路の機能ブロックごとにバス配線のレイアウトを行うステップと、バスの動作テストを用いて全バス内の全ビット配線のデータの転送遅延を解析する遅延シュミレーションを行う第１ステップと、前記遅延シュミレーションにより前記全ビット配線における各信号変化タイミングにおける基準クロックからの遅延時間を求め、該求めた各遅延時間に基づき前記遅延時間の平均値を各ビット配線毎に求める第２ステップと、隣り合うビット配線間における前記遅延時間平均値の差を求めて、全ビット配線間における前記平均値の差の合計が最大となるよう前記ビット配線の配列を再配置する第３ステップとを含むことを特徴とする。
【００１２】
この発明によれば、バス配線の動作タイミングを検証して隣り合う配線の信号変化の基準クロックからの遅延時間の平均値の差を求め、全ビット配線の平均値の差の合計が最大となるようバス配線のビット配線を再配置するため、チップ面積を広げることなく隣り合う配線間における充電と放電が同時に行われるタイミングを減らすことができる。
【００１３】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかるバス配線のレイアウト方法の好適な実施の形態を詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１４】
図１〜７に従ってこの発明の実施の形態１について説明する。図１はアドレスバス１０の信号変化時間のタイミングと信号値（ＨｉｇｈまたはＬｏｗ）の一例を示した図である。図１のＡＤ（０）はアドレス情報をやりとりするためのアドレスバス１０の０ビット目のビット配線を表し、以下同様にＡＤ（１）は１ビット目のビット配線を表し、ＡＤ（２）は２ビット目のビット配線を表している。図１ではアドレスバス１０の配列順序も示しておりＡＤ（０）、ＡＤ（１）、ＡＤ（２）の順に並んで配置されていることを表している。
【００１５】
一般にアドレスバス等のインストラクションバスは半導体チップ内において一束の配線で構成され、このバスの中に複数本のビット配線を備えた構成としているため各ビット配線はほぼ同一距離で配置され、ＡＤ（０）、ＡＤ（１）、・・・ＡＤ（ｎ）（ｎは自然数）のそれぞれは、基準クロックに対する遅延時間がほぼ同じとなり、ほぼ同じタイミングで信号変化することが知られている。図１においては、破線の円で囲った６箇所で、隣合うビット配線間での同時変化が発生している。すなわち、隣り合うビット配線同士の信号に着目した場合、例えば一方がＬｏｗからＨｉｇｈへ変化し、他方がＨｉｇｈからＬｏｗへ変化している箇所、すなわち隣り合うビット配線同士において一方は充電を行い、他方は放電を行うという動作がほぼ同時に行われているタイミングが６箇所存在する。そして、一般にこのようなタイミングにおいてバス配線の充放電電流は、配線間に生じる静電容量の影響を最も大きく受けることが知られている。したがって、バス配線のレイアウトにおいてはこのようなタイミングの回数を減らすか又は隣り合う配線同士において一方は充電を行い、他方は放電を行うという動作タイミングの時間差が大きくなるようビット配線を配置する必要ある。
【００１６】
この実施の形態にかかるバス配線のレイアウト方法では、配置変更の対象とするバス配線のブロックがアドレスバス１０とデータを運ぶためのデータバス１１１である場合について説明する。なお、配置変更の対象となるバス配線のブロックはこれらに限られるものではなく、また２つ以上のブロックを配置変更の対象としてもよい。この実施の形態においては、隣り合うビット配線同士で充電と放電が行われる動作タイミングの時間差を大きくするためアドレスバス１０とデータバス１１のビット配線をそれぞれのブロックに拘束されることなく新たな１つのブロックとして全ビット配線を並べ替える。
【００１７】
図２はアドレスバス１０とデータバス１１のビット配線を並べ替えた後における信号変化時間のタイミングと信号値を示した図である。図２のＤＢ（０）はデータバス１１の０ビット目のビット配線を表しており、ＤＢ（０）はアドレスバスの０ビット目のビット配線ＡＤ（０）とアドレスバスの１ビット目のビット配線ＡＤ（１）の間に配置されている。先述したようにアドレスバス１０内の各ビット配線は同じ機能ブロックに対するビット配線であるため、基準クロックに対する各ビット配線の遅延時間はほぼ同じであるが、アドレスバス１０内のビット配線とデータバス１１内のビット配線はアドレスバス１０とデータバス１１が異なる機能ブロックであるため、基準クロックに対するビット配線の遅延時間も相違する。したがって、このような配置をすることで、隣り合うビット配線であるＤＢ（０）とＡＤ（０）またはＤＢ（０）とＡＤ（１）において、一方がＨｉｇｈからＬｏｗへ信号変化するタイミングと他方がＬｏｗからＨｉｇｈへ信号変化するタイミング、および一方がＬｏｗからＨｉｇｈへ信号変化するタイミングと他方がＨｉｇｈからＬｏｗへ信号変化するタイミングに、時間差が生ずることとなる。このように、図２の場合は、アドレスバスの信号線間に、異なるバスの信号線を挿入することで、隣合う信号線間での同時変化箇所の個数を削減している。
【００１８】
図３はこの発明のバス配線のレイアウト方法を示すフローチャートである。まず、半導体集積回路装置を機能ブロックごとにバス配線を配置してレイアウトしておく。つぎに、レイアウトされた半導体集積回路装置を、通常この半導体集積回路装置を動作させるタイミングによって詳細な遅延シュミレーションを行うため、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）化するプログラム等を用いてシュミレーションを行う（ステップＳ１０）。なお、詳細な遅延シュミレーションを実現するためここで用いるプログラム等はＨｉｇｈからＬｏｗやＬｏｗからＨｉｇｈへと信号が変化するトグル回数が最も大きなものを用いる。この遅延シュミレーションによりバス配線の全ビット配線の信号変化のタイミングと基準クロックとの時間差（遅延時間）を得る。また、この時得られる信号変化時間のタイミングや各タイミングにおける信号値を保存しておく。さらに、ビット配線ごとに基準クロックに対する信号変化のタイミングの遅延時間の平均値（以下、平均遅延時間という）を求めておく。（ステップＳ２０）。つぎに、ＡＤ（０）〜ＡＤ（ｎ）、ＤＢ（０）〜ＤＢ（ｍ）（ｎ、ｍは自然数）の全ビット配線を並べ替えて再配置する（ステップＳ３０）。そして、この時の各ビット線配置において隣り合うビット配線における平均遅延時間の差をビット配線間ごとに求める（ステップＳ４０）。このようにして、ＡＤ（０）〜ＡＤ（ｎ）とＤＢ（０）〜ＤＢ（ｍ）の全ビット配線の配置の全ての組み合わせに対して平均遅延時間の差を求める。そして、全ビット配線間において隣り合うビット配線間の平均遅延時間の差の合計が最大となる配置を選択してこの配置を新たなバス配線とする（ステップＳ５０）。
【００１９】
ただし、上記全ビット配線の配置処理の際に、前述したように、データバスの信号線間にアドレスバスの信号線を挿入するなど、図７（ｂ）に示すように、機能の異なる信号を交互に並べたり、あるいは基準クロックからの遅延時間の異なるものを基準クロックからの遅延時間が同種である信号線間に挿入するなどの手法を用いることで、隣合う信号線間での同時変化箇所がない配置パターンを効率よく見付け出すようにしてもよい。
【００２０】
つぎに、アドレスバス１０とデータバス１１のビット配線の並べ替えの方法を図４〜図７を参照して説明する。図４はバス配線の配置変更前の配列を信号変化時間とともに示した図である。
【００２１】
図４においては、枠で囲んで示しているように、隣り合う信号線間で充電及び放電を同時刻にする箇所が６箇所存在している。また、ＡＤ（０）、ＡＤ（１）、ＡＤ（２）、ＤＢ（０）、ＤＢ（１）、ＲＷ（リード・ライト信号）は各信号変化時間において基準クロックのタイミングより遅延している。例えばＡＤ（０）は時刻ｔ２において基準クロックよりも１ｎｓ遅延し、時刻ｔ４において基準クロックよりも１ｎｓ遅延している。
【００２２】
このような初期配置において、図３のステップＳ２０で説明したように各ビット配線の各充電と放電の時刻における各遅延時間を用いて基準クロックに対する各ビット配線の平均遅延時間を求める。ここでは例えばＡＤ（０）の基準クロックに対する遅延時間は時刻ｔ２において１ｎｓ遅延し、時刻ｔ４において１ｎｓ遅延しているため基準クロックに対する遅延時間の平均値は１ｎｓである。
【００２３】
図５（ａ）は、図４に示す配置において、ビット配線ごとに基準クロックに対する平均遅延時間を示した図であり、図５（ｂ）はビット配線の再配置の例およびビット配線間の平均遅延時間の差を示した図である。図５（ａ）では図４の時刻ｔ２、時刻ｔ３、時刻ｔ４における充放電の時刻をもとにビット配線ごとに平均遅延時間を算出している。図５（ｂ）は、ＡＤ（０）、ＤＢ（０）、ＡＤ（１）、ＤＢ（１）、ＡＤ（２）、ＲＷの順でビット配線が配置されていることを示している。ここでは、ＡＤ（０）の平均遅延時間が１ｎｓであり、ＤＢ（０）の平均遅延時間が５ｎｓであるため、ＡＤ（０）とＤＢ（０）の平均値時間の差は４ｎｓであることを示している。このようにして、隣り合う配線間の平均遅延時間の差を全て求め、この差の合計を求める。そして、ビット配線の配置変更の各種組み合わせのうち、求めた平均遅延時間の差の合計が最大となるビット配線の配置を新たなバス配線のレイアウトとする。
【００２４】
図６は図５（ｂ）において説明したビット配線の再配置後の配列を信号変化時間とともに示した図である。図６において、例えば、枠Ｋ１で囲んだ箇所では、ＤＢ（０）が放電し、ＡＤ（１）が充電しているが、ＤＢ（０）は基準クロックより５ｎｓ遅延し、ＡＤ（１）は基準クロックより１ｎｓ遅延している。このため、この枠Ｋ１で囲んだ箇所において、ＤＢ（０）とＡＤ（１）の遅延時間の差は４ｎｓである。同様に、枠Ｋ２で囲んだ箇所においては、ＤＢ（１）とＡＤ（２）の遅延時間差は４ｎｓであり、さらに枠Ｋ３で囲んだ箇所では、ＡＤ（２）とＲＷ（リード・ライト信号）の遅延時間差は１ｎｓである。このように、図４で示したバス配線の配置変更前においては隣り合う配線同士が同一のタイミングで充放電する回数が６回であったのに対し、図６で示したビット配線の再配置後においては隣り合う配線同士が同一のタイミングで充放電する箇所がなくなっており、消費電流の低減が可能となる。
【００２５】
図７はバス配線の配列を変更する前後の配線の構成を示した図である。図７（ａ）はバス配線の配置変更をする前の構成を示した図であり、図７（ｂ）はバス配線の配置変更をした後の構成を示した図である。図７（ａ）ではアドレスバス１０とデータバス１１をブロック毎にまとめてビット配線が並べられている。一方、図７（ｂ）ではアドレスバス１０のビット配線とデータバス１１のビット配線とを交互に配置しており、このような配置でアドレスバス１０とデータバス１１とをひとまとめにしたブロック１２を構成している。このようなビット配線の再配置によって隣り合う信号間の同時変化をなくすようにしているので、従来のように、隣り合うビット配線の配線間距離が広がることはなくチップ面積が増大することはない。
【００２６】
このように実施の形態によれば、バス配線の動作タイミングを検証して隣り合うビット配線の充電と放電の信号変化の平均遅延時間の差を求め、全ビット配線間の平均遅延時間の差の合計が最大となるようバス配線の再配置を行うため、隣り合う配線間において充電と放電が同時に行われるタイミングを減らすことができる。また、ビット配線の配線間距離を維持したままビット配線を再配置できるため、チップ面積が大きくなることはない。したがって、チップ面積を広げることなく消費電力の小さな半導体集積回路のバス配線のレイアウトを行うことができる。
【００２７】
【発明の効果】
以上説明したとおり、この発明によれば、隣り合うバス配線間において充電と放電が同時に行われるタイミングを減らすことができるため消費電力の小さな半導体集積回路のバス配線のレイアウトを行うことができるという効果を奏する。
【図面の簡単な説明】
【図１】この発明の実施の形態にかかるアドレスバスの信号変化時間のタイミングと信号値を示した図である。
【図２】この発明の実施の形態にかかるアドレスバスとデータバスの信号変化時間のタイミングと信号値を示した図である。
【図３】この発明の実施の形態にかかるバス配線のレイアウト方法を示すフローチャートである。
【図４】この発明の実施の形態にかかるバス配線の配置変更前の信号変化のタイミングと信号値を示した図である。
【図５】この発明の実施の形態にかかる各ビット配線の再配置後の平均遅延時間および隣り合うビット配線間の再配置後の平均遅延時間の差の一例を示した図である。
【図６】この発明の実施の形態にかかるバス配線の配置変更後の信号変化のタイミングと信号値を示した図である。
【図７】この発明の実施の形態にかかるバス配線の配置変更前後の配列を示した図である。
【符号の説明】
１０  アドレスバス、１１  データバス、１２  再配置後のビット配線のブロック。
【図１】
2004280436.tif 000003
【図２】
2004280436.tif 000004
【図３】
2004280436.tif 000005
【図４】
2004280436.tif 000006
【図５】
2004280436.tif 000007
【図６】
2004280436.tif 000008
【図７】
2004280436.tif 000009