(57)【特許請求の範囲】
【請求項１】
複数の配線より成るバス配線に対して、結線したいブロックのポートを決め、ポート間で結線を行うステップと、一配線について挿入する論理を反転する手段の個数を決めるステップと、すべての配線について挿入する論理を反転する手段の個数が決まっていない場合は、前記の一配線について挿入する論理を反転する手段の個数を決めるというステップに戻るステップと、すべての配線について論理を反転する手段の個数が決まっている場合には、前記結線した配線ごとに決定した個数の論理を反転する手段をある間隔おきに挿入するステップと、未処理の配線がない場合には終了し、未処理の配線がある場合で、配線が奇数番目の配線である場合には、前記配線についてドライブ側のブロックからもっとも近い論理を反転する手段を除去して、さらに除去した論理を反転する手段から１つおきに論理を反転する手段を除去し、前記の未処理の配線があるかというステップに戻るステップと、未処理の配線がある場合で、配線が奇数番目の配線でない場合には、前記配線についてドライブ側のブロックから１つおいた論理を反転する手段を除去し、さらに除去した論理を反転する手段から１つおきに論理を反転する手段を除去し、前記の未処理の配線があるかというステップに戻るステップとからなるバス配線の配線方法。
【請求項２】
複数の配線より成るバス配線に対して、結線したいブロックのポートを決め、ポート間で結線を行うステップと、結線した配線の本数分について、配線、論理を反転する手段を組み合わせて作るセルの個数を決めるステップと、前記結線した配線の本数分について左から配線、論理を反転する手段を交互に組み合わせたセルXを作成するステップと、前記結線した配線の本数分について左から論理を反転する手段、配線を交互に組み合わせたセルYを作成するステップと、挿入するセルの個数分についてセルX、セルYを組み合わせて、レシーブ側のブロックの配線上に挿入するステップと、ドライブ側のブロックに間隔をおいてセルを移動させるステップと、まだ移動させていないセルがある場合には、挿入したセルの順序をかえないように移動させたセルと間隔をおいてセルを移動させ、前記のまだ移動させていないセルがあるかというステップに戻るステップと、まだ移動させていないセルがない場合には、終了するステップとからなるバス配線の配線方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体装置におけるバス配線の配線方法に関するものである。
【０００２】
【従来の技術】
従来、クロストークの影響を軽減させるものとしては特開平9−172073号公報に記載されたものが知られており、この例ではバス配線時にあらかじめ配線幅を太くした配線で配線しておき、その後配線幅を通常の太さにすることにより隣接する配線との間隔を広くすることによりクロストークを軽減する配線方式が記述されている。
【０００３】
【発明が解決しようとする課題】
従来の方法では、クロストークの影響が距離の反比例程度しか減らないため、広面積が必要であるわりに効果が少なく、完全にクロストークをなくすためには多大な面積が必要であった。また２配線の信号が同じ位相または逆の位相で変化する場合にはクロストークにより実際と異なった遅延量で変化するため、タイミング設計が困難になるという課題があった。
【０００４】
本発明は上記の課題を解決するために隣接する配線からのクロストークを軽減し、小面積化を図り、また遅延量の変化を低減し、タイミング設計を容易にすることを目的とするものである。
【００１３】
【課題を解決するための手段】
本発明の請求項１記載のバス配線の配線方法は、複数の配線より成るバス配線に対して、結線したいブロックのポートを決め、ポート間で結線を行うステップと、一配線について挿入する論理を反転する手段の個数を決めるステップと、すべての配線について挿入する論理を反転する手段の個数が決まっていない場合は、前記の一配線について挿入する論理を反転する手段の個数を決めるというステップに戻るステップと、すべての配線について論理を反転する手段の個数が決まっている場合には、前記結線した配線ごとに決定した個数の論理を反転する手段をある間隔おきに挿入するステップと、未処理の配線がない場合には終了し、未処理の配線がある場合で、配線が奇数番目の配線である場合には、前記配線についてドライブ側のブロックからもっとも近い論理を反転する手段を除去して、さらに除去した論理を反転する手段から１つおきに論理を反転する手段を除去し、前記の未処理の配線があるかというステップに戻るステップと、未処理の配線がある場合で、配線が奇数番目の配線でない場合には、前記配線についてドライブ側のブロックから１つおいた論理を反転する手段を除去し、さらに除去した論理を反転する手段から１つおきに論理を反転する手段を除去し、前記の未処理の配線があるかというステップに戻るステップとからなり、上記方法により、複数の配線より成るバス配線の配線を自動で行なうことができる。
【００１４】
本発明の請求項２記載のバス配線の配線方法は、複数の配線より成るバス配線に対して、結線したいブロックのポートを決め、ポート間で結線を行うステップと、結線した配線の本数分について、配線、論理を反転する手段を組み合わせて作るセルの個数を決めるステップと、前記結線した配線の本数分について左から配線、論理を反転する手段を交互に組み合わせたセルXを作成するステップと、前記結線した配線の本数分について左から論理を反転する手段、配線を交互に組み合わせたセルYを作成するステップと、挿入するセルの個数分についてセルX、セルYを組み合わせて、レシーブ側のブロックの配線上に挿入するステップと、ドライブ側のブロックに間隔をおいてセルを移動させるステップと、まだ移動させていないセルがある場合には、挿入したセルの順序をかえないように移動させたセルと間隔をおいてセルを移動させ、前記のまだ移動させていないセルがあるかというステップに戻るステップと、まだ移動させていないセルがない場合には、終了するステップとからなり、上記方法により、複数の配線より成るバス配線の配線を自動で行なうことができる。
【００１６】
【発明の実施の形態】
以下、本発明の各実施の形態について、図1から図１２を用いて説明する。
【００１７】
(参考例１)
図１は本発明の参考例１のバス配線図であり、これは、ブロックX、Y間を結ぶバス配線について示している。図１において１から８は、論理を反転するインバータである。ドライブ側のブロックXのポートＡからレシーブ側のブロックYのポートEへ結線するときに、等間隔おきにインバータ１，２を挿入する。同様にブロックXのポートCからブロックYのポートGの間にもポートAと同様に等間隔おきにインバータ５，６を挿入する。またブロックXのポートAの隣にあるポートBからブロックYのポートFへの結線した配線上に、先ほど挿入したインバータ１，２間の１／２の位置にインバータ３を、インバータ２とブロックYのポートE間の１／２位置にインバータ４を挿入する。またブロックXのポートCの隣にあるポートDからブロックYのポートHへの結線した配線上に、先ほど挿入したインバータ３の位置にインバータ７を、インバータ４の位置にインバータ８を挿入する。
【００１８】
またポートAからポートEへの配線上のインバータ１、インバータ２の間隔を１／２に分ける。その区切った領域でインバータ１に近い方の領域をｍ１とし、もう一方の領域をｍ２とする。またポートBからポートFへの配線上にｍ１と同じ距離をインバータ３の入力側からポートB側にとった領域をｎ１、同様にｍ１と同じ距離をインバータ３の出力側からインバータ４の入力側にとった領域をｎ２とする。
【００１９】
以上のように構成されたバス配線について、以下、その動作を述べる。
【００２０】
ポートBから出力された信号が立ち上がり信号とすると、ｎ１は立ち上がり信号で、ｍ１はｎ１から影響を受けて電位が上がる。またインバータ３によりｎ１と論理が反転したｎ２は立ち下がり信号に変化するため、ｍ２はｎ２から影響を受けて電位が下がる。インバータ１，２の間の配線という同一配線上で考えると電位は相殺され、総合的にみると隣接する配線から受けるクロストークの影響は軽減することになる。同様に、ポートBから出力された信号が立ち下がり信号とすると、ｎ１は立ち下がりの信号で、ｍ１はｎ１の影響を受けて電位が下がる。またインバータ３によりｎ１と論理が反転したｎ２は立ち上がり信号に変化するため、ｍ２はｎ２から影響を受けて電位が上がる。インバータ１，２の間の配線という同一配線上で考えると電位は相殺され、総合的にみると隣接する配線から受けるクロストークの影響は軽減することになる。
【００２１】
また図２は参考例１の別のバス配線図であり、これは図１と同様にブロックX，Y間を結ぶバス配線について示しており、図２において、１１から１７は、論理を反転するインバータである。ブロックXのポートA，B，C，DからブロックYのポートE，F，G，Hへ結線する。その後ポートBからポートFへの配線上に、ある間隔をおいてインバータ１１，１３を挿入する。ポートDからポートHへの配線上にも前記配線と同様の位置にインバータ１６，１７を挿入する。またポートCからポートGへの配線上にインバータ１６，１７間に間隔をおいてインバータ１４，１５を挿入する。またポートBからポートFへの配線上に先に挿入したインバータ１４，１５の１／２の位置にインバータ１２を挿入する。
【００２２】
またポートBからポートFへ配線上のインバータ１１とブロックX間を領域ｊ１、インバータ１１，１２間を領域ｊ２、インバータ１２，１３間を領域ｊ３、インバータ１３とブロックF間を領域ｊ４とする。ポートAからポートEへの配線上で、ｊ１，ｊ２，ｊ３，ｊ４とそれぞれ同じ距離をポートAから順にとった配線をｉ１，ｉ２，ｉ３，ｉ４とする。またポートCからポートGへの配線上にインバータ１４とブロックC間を領域ｋ１、インバータ１４，１５間を領域ｋ２、インバータ１５とブロックY間を領域ｋ３とする。ポートDからポートHへの配線上にインバータ１６，１７間の配線で、インバータ１６の出力側からと隣接する配線上のインバータ１４の入力側までの領域をｐ１、インバータ１４，１５間と同じ位置をポートDからポートHへの配線に取った領域をｐ２、隣接する配線上のインバータ１５の位置からインバータ１７の入力までの領域をｐ３とする。
【００２３】
以上のように構成されたバス配線について、以下、その動作について述べる。
【００２４】
ポートBから出力された信号が立ち上がり信号とすると、ｊ１は立ち上がり信号で、ｉ１はｊ１から影響を受けて電位が上がる。またインバータ１１によりｊ１と論理が反転したｊ２は立ち下がり信号に変化するため、ｉ２はｊ２から影響を受けて電位が下がる。またインバータ１２によりｊ２と論理が反転したｊ３は立ち上がり信号に変化するため、ｉ３はｊ３から影響を受けて電位が上がる。またインバータ１３によりｊ３と論理が反転したｊ４は立ち下がり信号に変化するため、ｉ４はｊ４から影響を受けて電位が下がる。ポートAからポートEへの配線という同一配線上で考えると電位は相殺され、総合的にみると隣接する配線から受けるクロストークの影響は軽減することになる。同様にポートBから出力された信号が立ち下がり信号とすると、ｊ１は立ち下がり信号で、ｉ１はｊ１から影響を受けて電位が下がる。またインバータ１１によりｊ１と論理が反転したｊ２は立ち上がり信号に変化するため、ｉ２はｊ２から影響を受けて電位が上がる。またインバータ１２によりｊ２と論理が反転したｊ３は立ち下がり信号に変化するため、ｉ３はｊ３から影響を受けて電位が下がる。またインバータ１３によりｊ３と論理が反転したｊ４は立ち上がり信号に変化するため、ｉ４はｊ４から影響を受けて電位が上がる。ポートAからポートEへの配線という同一配線上で考えると電位は相殺され、総合的にみると隣接する配線から受けるクロストークの影響は軽減することになる。なお、ポートＢからポートＦに伝達される信号は反転されているが、ブロックＹで論理を逆にすることにより対応することができる。
【００２５】
またポートCから出力された信号が立ち上がり信号とすると、ｋ１は立ち上がり信号で、ｐ１はｋ１から影響を受けて電位が上がる。またインバータ１４によりｋ１と論理が反転したｋ２は立ち下がり信号に変化するため、ｐ２はｋ２から影響を受けて電位が下がる。またインバータ１５によりｋ２と論理が反転したｋ３は立ち上がり信号に変化するため、ｐ３はｋ３から影響を受けて電位が上がる。インバータ１６，１７間の配線という同一配線上で考えるとｐ１とｐ３の和とｐ２の比率が同じであれば電位は相殺され、総合的にみると隣接する配線から受けるクロストークの影響は軽減することになる。
【００２６】
同様にポートCから出力された信号が立ち下がり信号とすると、ｋ１は立ち下がり信号で、ｐ１はｋ１から影響を受けて電位が下がる。またインバータ１４によりｋ１と論理が反転したｋ２は立ち上がり信号に変化するため、ｐ２はｋ２から影響を受けて電位が上がる。またインバータ１５によりｋ２と論理が反転したｋ３は立ち下がり信号に変化するため、ｐ３はｋ３から影響を受けて電位が下がる。インバータ１６，１７間の配線という同一配線上で考えるとｐ１とｐ３の和とｐ２の比率が同じであれば電位は相殺され、総合的にみると隣接する配線から受けるクロストークの影響は軽減することになる。
【００２７】
ここで、図２と図１との構成が異なる点は、図２のポートCからポートGへの配線で隣接する配線上のインバータ１６，１７間に2つのインバータが挿入されている場合やポートAからポートEへの配線のように隣接する配線にインバータが挿入されている場合にインバータを挿入しないということでも、動作の説明で示したようにクロストーク軽減を行うことができる。
【００２８】
図３は参考例１におけるシミュレーションを行ったバス配線図を示し、図３の２０は論理を反転するインバータである。配線Bに論理を反転するインバータ２０を挿入する。その入力のノードをｎ１、出力のノードをｎ２とする。配線B上のｎ１，ｎ２と同じ位置にそれぞれｍ１，ｍ２のノードを配線A上に取る。C1はｍ１とｎ１の線間容量（例えば、０．５ｐF）、C2はｍ２とｎ２の線間容量（例えば、０．５ｐF）、C3はｎ２の接地容量（例えば、０．５ｐF）、C4はｍ２の接地容量（例えば、０．５ｐF）である。ｍ１の初期値を例えば、３．３Vとした。
【００２９】
以上の条件とｔｙｐｉｃａｌ条件、VDD＝３．３Vでシミュレーションを行った結果の特性図を図４に示し、横軸に時間ｔｉｍｅ、縦軸に電圧Ｖｏｌｔａｇｅｓをとってある。
【００３０】
ノードｎ１に０ｎｓから４ｎｓまで０V、４ｎｓから１ｎｓをかけて０Vから３．３V立ち上がり、５ｎｓから２４ｎｓまでは３．３V、２４ｎｓから１ｎｓをかけて３．３Vから０Vに立ち下がる信号を入力する。
【００３１】
その結果、ｎ１の立ち上がり信号の影響を受けて、ｍ１，ｍ２の電圧が３．９８Vになり、０．６８V上昇する。しかしインバータ２０で論理が反転することによって電位が相殺され、初期値と同じ３．３Vになっている。またｎ１の立ち下がりの信号の影響を受けて、ｍ１，ｍ２の電圧が２．５７Vになり、０．７３Vの降下が生じるが、同様にインバータ２０で論理が反転することによって電位が相殺されていることがわかる。
【００３２】
図５は従来の場合でシミュレーションを行ったバス配線図を示し、図３のバス配線の図からインバータ２０を除いたものである。
【００３３】
以上の条件と図５について図３と同じ条件でシミュレーションを行った結果の特性図を図６に示す。ノードｎ１には図３と同じ信号を入力する。その結果ｎ１の信号の変化による影響を受けて、ｍ１，ｍ２の電圧が５．５０Vになり、２．２０Vの上昇が生じており、隣接する配線によって大きく影響を受けていることがわかる。よって図４と図６を比較すると、本発明を含めたシミュレーション結果から本発明がクロストークの軽減に効果があるといえる。
【００３４】
なお、以上の説明では、配線を４本で構成した例で説明したが、その他の配線の本数は２本以上の配線に対しても同様に実施可能である。またバス配線で構成した例で説明したが、その他の並走する配線に対しても同様に実施可能である。インバータの個数が１配線に対して図1では２個、図２では２個または３個で構成した例で説明したが、隣接する配線間で同じ位置にインバータが挿入されている構成の配線になっていなければ同様に実施可能である。
【００３５】
また図１では並走するすべての配線4本にインバータを挿入した例で説明したが、図２のポートAからEへの配線のように隣接する配線にインバータが挿入されており、隣接する配線同士が同じ位置にインバータを配置していないなら、インバータを１つも挿入しない配線でも同様に実施可能である。
【００３６】
また図１では等間隔おきにインバータを挿入した例で説明したが、どんな間隔をおいてインバータを挿入しても同様に実施可能である。
【００３７】
また隣接する配線に挿入されたインバータ間の間隔を１／２の位置にインバータを挿入、またレシーブ側のブロックにもっとも近いインバータとレシーブ側のブロック間の間隔を１／２の位置にインバータを挿入した例で説明したが、インバータを挿入する間隔はどんな間隔でもクロストークを軽減することは相殺される電圧レベルが変わるが可能である。
【００３８】
また図１では隣接する配線上のインバータ間に１つのインバータを挿入した例で説明したが、図２にあるように1個以上のインバータを挿入しても同様に実施可能である。またインバータで構成した例で説明したが、その他ＮＡＮＤ論理などの論理を反転する手段でも同様に実施可能である。
【００３９】
また以上の説明ではバス配線の例で説明したが、どんな配線膜厚、配線の太さ、配線の配置位置つまり上下、左右、斜めのすべてのクロストークを受ける並走する配線間に対して同様に実施可能である。また以上の説明ではただ配線と表現した例で構成された例で説明したが、その他のアルミや銅などの導電性のある配線でも同様に実施可能である。また以上の説明では半導体チップにおける例で説明したが、プリント基板等のクロストークがおきるものに対しても同様に実施可能である。
【００４０】
（参考例２）
図７は本発明の参考例２のバス配線図であり、これはドライブ側のブロックAのポートK，L，M，Nからそれぞれレシーブ側のブロックBのポートP，Q，R，Sへのバス配線を結線する場合について示している。図７において、２１，２４，２５，２８は、遅延回路Ｘ（例えば、遅延量３ｎｓ）、２２，２３，２６，２７は遅延回路Ｙ（例えば、遅延量１ｎｓ）である。ブロックAのポートKからブロックBのポートPに結線するときにある間隔おきに遅延回路Ｘである２１、遅延回路Yである２２を挿入する。さらにブロックAのポートMからブロックBのポートRにも同様に遅延回路Ｘである２５、遅延回路Ｙである２６を挿入する。ポートK，Mで挿入した遅延回路Ｘである２１，２５と同じ位置に、ブロックAのポートK，Mの隣のポートL，NおよびブロックYのポートQおよびSへの配線上に順に遅延回路Ｙである２３，２７を、遅延回路Ｙである２２，２６と同じ位置に、順に遅延回路Ｘである２４，２８を挿入する。
【００４１】
以上のように構成されたバス配線について、以下、その動作を述べる。
【００４２】
遅延回路Ｘである２１，２５で遅延が３ｎｓ生じ、遅延回路Ｙである２３，２７で遅延が１ｎｓ生じる。この位置で隣接する配線と比較すると遅延差が生じることになるが、すべての配線は遅延回路Xである２１，２５に対して遅延回路Yである２２，２６が、遅延回路Yである２３，２７に対して遅延回路Xである２４，２８が挿入されているため、最終的にすべての配線の遅延量は同じである。
【００４３】
したがって、隣接する配線の信号の位相が同じように変化した場合、隣接する配線の影響を受けて実際よりも少ない遅延時間で変化する。これを本参考例では遅延差を生じさせることで同時に変化しなくなるため隣接する配線の影響を受けて実際よりも少ない遅延時間で変化してしまうことを防ぐことができる。
【００４４】
また同様に隣接する配線の信号が逆位相で変化した場合、隣接する配線の影響を受けて実際よりも多い遅延時間で変化する。これを本参考例では遅延差を生じさせることで同時に変化しなくなるため隣接する配線の影響を受けて実際よりも多い遅延時間で変化することを防ぐことができる。
【００４５】
なお、以上の説明では、配線を４本で構成した例で説明したが、その他の配線の本数は２本以上の配線にでも同様に実施可能である。またバス配線で構成した例で説明したが、その他の並走する配線に対しても同様に実施可能である。また遅延回路の個数が配線に対して2個で構成した例で説明したが、個数は１個以上でも同様に実施可能である。また遅延回路X，Yの遅延量がそれぞれ３ｎｓ，１ｎｓで構成された例で説明したが、その他の遅延量でも同様に実施可能である。
【００４６】
また遅延回路X，Yを隣接する配線間で同じ位置に配置した例で説明したが、隣接する配線間の信号が同時に変化しない場合であれば同様に実施可能である。また遅延回路X，Yをそれぞれ交互に挿入した配線で構成された例で説明したが、隣接する配線間で挿入した位置において遅延値が異なっていれば同様に実施可能である。
【００４７】
またある間隔おきに遅延回路で挿入した例で説明したが、その他のどんな間隔でも、また等間隔でなくても隣接する配線間の信号が同時に変化しない場合であれば同様に実施可能である。また遅延回路で構成した例で説明したが、その他の遅延をさせる手段でも同様に実施可能である。
【００４８】
また以上の説明ではバス配線の例で説明したが、どんな配線膜厚、配線の太さ、配線の配置位置つまり上下、左右、斜めのすべてのクロストークを受ける並走する配線間について同様に実施可能である。また以上の説明ではただ配線と表現した例で説明したが、その他のアルミや銅などの導電性のある配線なら同様に実施可能である。また以上の説明では半導体チップにおける例で説明したが、プリント基板等のクロストークがおきるものに対しても同様に実施可能である。
【００４９】
（参考例３）
図８は本発明の参考例３のバス配線図を示すものである。図８において、第１の配線層に、第１の配線８０１，８０２が配線されている。第２の配線層に、第２の配線８０３，８０４，８０５が配線されている。第１の配線層と第２の配線層は距離Ｌを隔てた平行平面上に位置している。距離Ｌは、第１の配線８０１と第２の配線８０３のクロストークが問題となるしきい値以下の距離であるとする。８０６〜８０８はインバータである。図８ではインバータ８０６〜８０８は記号を用いて表しているが、実際は各配線層および半導体層を用いてインバータを構成している。図８の構成により、シミュレーション結果の図４，図６からもわかるように、異なる配線層間でのクロストークの影響を減少させることが可能となる。
【００５０】
なお、本参考例では、インバータを第１，第２の配線がそれぞれ１個，２個と配置したが、１個以上のノインバータを配置しても同様に可能である。また、どんな配線膜厚、配線の太さ、配線の配線位置つまり、上下、左右、斜めのすべてのクロストークを受ける配線間について同様に実施可能である。
【００５１】
また、以上の説明では、ただ配線と表現した例で説明したが、その他のアルミや銅などの導電性のある配線なら同様に実施可能である。
【００５２】
また、インバータで構成した例で説明したが、その他のＮＡＮＤ論理などの論理を反転する手段でも同様の効果が得られる。
【００５３】
(実施の形態１)
図９は本発明の実施の形態１におけるクロストーク軽減のために自動でバス配線にインバータを挿入する方法のフロー図である。図１０（ａ），図１０（ｂ）はクロストーク軽減のために自動でバス配線にインバータを挿入した配線図を示し、３１から３８，４１から４８は論理を反転するインバータである。
【００５４】
以上のように構成されたクロストーク軽減のために自動でバス配線にインバータを挿入する方法について、以下、その説明を行う。
【００５５】
はじめに図１０に示すドライブ側のブロックXのポートA，B，C，Dとレシーブ側のブロックYのポートE，F，G，H間で結線を行う（Ｓ１）。ポートAからポートEへの配線に関して、インバータ３１，４１，３２，４２をそれぞれある間隔をおいて挿入する（Ｓ２）。同様にポートBからポートFへの配線に関しても、ポートAからポートEへの配線に挿入したインバータと同じある間隔をおいて同じ位置にインバータ４３，３３，４４，３４を挿入、同様にポートCからポートGに関しては、インバータ３５，４５，３６，４６を挿入、同様にポートDからポートHに関しては、インバータ４７，３７，４８，３８を挿入し、第１のバス配線を配線する（Ｓ３），（Ｓ４）。
【００５６】
すべての配線についてインバータを挿入後（Ｓ３）、奇数番目の配線であるポートAからポートEへ、ポートCからポートGへの配線に対してはドライブ側のブロックXから最も近いインバータ３１，３５を除去し、さらに除去したインバータ３１，３５から１つおいたインバータ３２，３６を除去する。
【００５７】
また偶数番目の配線であるポートBからポートFへ、ポートDからポートHへの配線に対しては、ドライブ側のブロックXから１つおいたインバータ３３，３７を除去し、さらに除去したインバータ３３，３７から１つおいたインバータ３４，３８を除去する。このようにして、第２のバス配線、すなわち最終的なバス配線を配線する（Ｓ５）。
【００５８】
そして、配線が奇数番目の配線である場合は、ドライブ側のブロツクからもっともる手段から一つおきに論理を反転する手段を除去する（Ｓ６）。
【００５９】
また、配線が奇数番目の配線でない場合は、ドライブ側のブロツクから一つおいた論理を反転する手段を除去して、さらに、除去した論理を反転する手段から一つおきに論理を反転する手段を除去する（Ｓ７）。
【００６０】
以上のような方法で行うと、参考例１に示したバス配線に論理を反転する手段を挿入することでクロストーク軽減を行うことが自動でできる。
【００６１】
なお、以上の説明では、配線を４本で構成した例で説明したが、その他の配線の本数は２本以上の配線に対しても同様に実施可能である。またバス配線で構成した例で説明したが、その他の並走する配線に対しても同様に実施可能である。
【００６２】
自動で挿入したインバータの個数と削除したインバータの個数が同一配線に対して2個で構成した例で説明したが、インバータを挿入、削除する個数については0個以上の個数でも同様に実施可能である。また削除したインバータの例について説明したが、インバータが隣接する配線と同じ位置にないときでも実施可能である。またインバータで構成した例で説明したが、その他ＮＡＮＤ論理などの論理を反転する手段また遅延手段でも同様に実施可能である。
【００６３】
また以上の説明ではバス配線の例で説明したが、どんな配線膜厚、配線の太さ、配線の配置位置つまり上下、左右、斜めのすべてのクロストークを受ける並走する配線間に対しても同様に実施可能である。また以上の説明ではただ配線と表現した例で説明したが、その他のアルミや銅などの導電性のある配線でも同様に実施可能である。また以上の説明では半導体チップにおける例で説明したが、プリント基板等のクロストークがおきるものに対して同様に実施可能である。
【００６４】
(実施の形態２)
図１１は本発明の実施の形態２におけるクロストーク軽減のためにバス配線に自動でインバータを挿入する方法のフロー図である。図１２（ａ），図１２（ｂ）はクロストーク軽減のためにバス配線に自動でインバータを挿入するバス配線図を示し、５１は論理を反転するインバータで、セルXである６１，６３は配線、インバータを交互に組み合わせたセルで、セルYである６２，６４は６１，６３とは逆にインバータ、配線を交互に組み合わせたセルで構成されている。
【００６５】
以上のように構成されたクロストーク軽減のために自動でバス配線にインバータを挿入する方法について、以下、その説明を行う。
【００６６】
まず、ドライブ側のブロックQのポートA，B，C，D，E，F，G，Hかレシーブ側のブロックRのポートI，J，K，L，M，N，O，Pへの結線を行う（Ｓ８）。挿入するセルX，Yを４個挿入することにする（Ｓ９）。図１２（ａ）に示すように、セル６１からセル６４の組み合わせたセルをレシーブ側のブロックRの配線上に挿入し（Ｓ１０，Ｓ１１）、第３のバス配線を配線する（Ｓ１２）。その後、図１２（ｂ）に示すようにセルXである６１をドライブ側のブロックQにブロックQとある間隔をおいた位置に移動させる（Ｓ１３）。引き続き、まだ移動させていないセルがあるか判断し（Ｓ１４）、ＹＥＳの場合はステップ（Ｓ１５）へ進み、ＮＯの場合はステップ(S１６)へ進む。つまりセル６２をセル６１とブロックQ側にある間隔を離した位置へ移動させ、セル６３をセル６２とブロックQ側にある間隔を離した位置へ移動させ、セル６４をセル６３とブロックQ側にある間隔を離した位置へ移動させる。このようにして第４のバス配線（Ｓ１６）、すなわち最終的なバス配線を配線する。これで参考例１で示したクロストーク軽減の対策を行ったバス配線が自動でできる。セル内の配線、インバータの1組を配線ピッチ上に並べることで並走する配線の間隔を最小にすることができ、面積を最小限に抑えることができる。
【００６７】
なお、以上の説明では、配線を８本で構成した例で説明したが、その他の配線の本数は２本以上の配線に対しても同様に実施可能である。またセル間の間隔をある間隔で配置した例で説明したが、その他の間隔でも、またセル間の間隔が同じでなくセルを配置しても同様に実施可能である。また挿入したセルを間隔おいてドライブ側のブロックの方へ移動させる例で説明したが、移動したセルが重ならないように、また順序を変えずに移動させるならレシーブ側のブロックの方へ移動させる場合でも、両方に移動させる場合でも同様に実施可能である。
【００６８】
またバス配線で構成した例で説明したが、その他の並走する配線に対しても同様に実施可能である。またセルX，Yを組み合わせて挿入したセルの個数が４つで構成された例で説明したが、セルX，Yを組み合わせて挿入するセルの全個数は１個以上の個数であれば同様に実施可能である。またセルX，Yでインバータの個数が４個と配線4本で構成した例で説明したが、インバータの個数、配線の本数についてはその他の１個以上の個数で配線の本数とインバータと配線の総数が一致していれば同様に実施可能である。またセルXのように配線、インバータを左から交互に、セルYのようにインバータ、配線を左から交互に組み合わせた構成での例で説明したが、右から配線、インバータを交互に、右からインバータ、配線を交互に組み合わせる場合でも同様に実施可能である。
【００６９】
またインバータで構成した例で説明したが、その他の論理を反転する手段また遅延手段でも同様に実施可能である。また配線と論理を反転する手段を組み合わせたセルをレシーブ側のブロックRに挿入した例で説明したが、ドライブ側のブロックQにセルを挿入するのでもどこに配線上であればどこに配置しても同様に実施可能である。またセルを移動させる例で説明したが、すべてのセルを移動しなくても同様に実施可能である。
【００７０】
また以上の説明ではバス配線の例で説明したが、どんな配線膜厚、配線の太さ、配線の配置位置つまり上下、左右、斜めのすべてのクロストークを受ける並走する配線間に対しても同様に実施可能である。また以上の説明ではただ配線と表現した例で説明したが、その他のアルミや銅などの導電性のある配線でも同様に実施可能である。また以上の説明では半導体チップにおける例で説明したが、プリント基板等のクロストークがおきるものに対しても同様に実施可能である。
【００７１】
なお、参考例３に示したバス配線についても、第１の配線層に第１の配線を配線し、第２の配線層に第２の配線を配線し、第１，第２の配線間の距離があるしきい値以下であることを判定した場合にその箇所にインバータを挿入するという方法により、クロストークの影響を抑えたバス配線を行なうことが可能である。
【００７２】
【発明の効果】
以上説明したように本発明によれば、小面積で効率良く半導体装置における隣接する配線間の影響やクロストークを軽減できるという効果が得られる。
【図面の簡単な説明】
【図１】  本発明の参考例１のバス配線図
【図２】  本発明の参考例１の別のバス配線図
【図３】  本発明の参考例１におけるシミュレーションのバス配線図
【図４】  図３のバス配線のシミュレーション結果の特性図
【図５】  従来のバス配線図
【図６】  図５のバス配線のシミュレーション結果の特性図
【図７】  本発明の参考例２のバス配線図
【図８】  本発明の参考例３のバス配線図
【図９】  本発明の実施の形態１における自動でバス配線にインバータを挿入する方法のフロー図
【図１０】  図９に示す方法で配線したバス配線図
【図１１】  本発明の実施の形態２における自動でバス配線にインバータを挿入する方法のフロー図
【図１２】  図１０に示す方法で配線したバス配線図
【符号の説明】
１〜８，１１〜１７，２０，３１〜３８，４１〜４８，５１，８０６〜８０８  論理を反転するインバータ
２１〜２８  遅延回路
６１〜６４  配線
８０１，８０２  第１の配線
８０３〜８０５  第２の配線
【図１】
0004241994.tif 000002
【図２】
0004241994.tif 000003
【図３】
0004241994.tif 000004
【図４】
0004241994.tif 000005
【図５】
0004241994.tif 000006
【図６】
0004241994.tif 000007
【図７】
0004241994.tif 000008
【図８】
0004241994.tif 000009
【図９】
0004241994.tif 000010
【図１０】
0004241994.tif 000011
【図１１】
0004241994.tif 000012
【図１２】
0004241994.tif 000013