(57)【要約】【課題】メモリ回路とヒューズ回路との間の配線混雑度を低くし、レイアウトサイズを小さくする自動配置配線装置を得る。【解決手段】ネットのリストに従って、各ネットの概略配線を決定する概略配線手段１３と、各ネットの概略配線に沿った距離の総和を算出する計算手段１４と、各ネットの概略配線に沿った距離の総和が基準値より大きい場合、所定のネットの概略配線を修正する修正手段１６と、各ネットの概略配線に沿った距離の総和が基準値以下である場合、概略配線手段１３により決定された概略配線結果に従って、各ネットの詳細配線を決定し、各ネットの概略配線に沿った距離の総和が基準値より大きい場合、修正手段１６による修正後の概略配線結果に従って、各ネットの詳細配線を決定する詳細配線手段１７とを備える。【選択図】        図２
2004199625.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルとヒューズセルとを配置する配置手段と、
配置されたメモリセルのどの端子とヒューズセルのどの端子とが接続するかを示すネットのリストに従って、各ネットの概略配線を決定する概略配線手段と、
各ネットの概略配線に沿った距離の総和を算出する計算手段と、
各ネットの概略配線に沿った距離の総和が基準値より大きい場合、所定のネットの概略配線を修正する修正手段と、
各ネットの概略配線に沿った距離の総和が基準値以下である場合、上記概略配線手段により決定された概略配線結果に従って、各ネットの詳細配線を決定し、各ネットの概略配線に沿った距離の総和が基準値より大きい場合、上記修正手段による修正後の概略配線結果に従って、各ネットの詳細配線を決定する詳細配線手段と
を備えた自動配置配線装置。
【請求項２】
メモリセルとヒューズセルとを配置する配置手段と、
配置されたメモリセルのどの端子とヒューズセルのどの端子とが接続するかを示すネットのリストに従って、各ネットの概略配線を決定する概略配線手段と、
メモリセルの端子がメモリセルの中心に位置すると仮定して、各ネットのメモリセルの端子とヒューズセルの端子との間の距離の総和を算出する計算手段と、
各ネットのメモリセルの端子とヒューズセルの端子との間の距離の総和が基準値より大きい場合、所定のネットの概略配線を修正する修正手段と、
各ネットのメモリセルの端子とヒューズセルの端子との間の距離の総和が基準値以下である場合、上記概略配線手段により決定された概略配線結果に従って、各ネットの詳細配線を決定し、各ネットのメモリセルの端子とヒューズセルの端子との間の距離の総和が基準値より大きい場合、上記修正手段による修正後の概略配線結果に従って、各ネットの詳細配線を決定する詳細配線手段と
を備えた自動配置配線装置。
【請求項３】
概略配線の修正は、メモリセルが接続するヒューズセルの端子を、メモリセル単位で入れ替えることにより行われる請求項１または請求項２記載の自動配置配線装置。
【請求項４】
概略配線の修正は、メモリセルが接続するヒューズセルの端子を、個々の端子単位で入れ替えることにより行われる請求項１または請求項２記載の自動配置配線装置。
【請求項５】
メモリセルとヒューズセルとをそれぞれの対向する辺が平行であるように配置する配置手段と、
配置されたメモリセルのどの端子とヒューズセルのどの端子とが接続するかを示すネットのリストに従って、各ネットの概略配線を決定する概略配線手段と、
上記概略配線手段により決定された概略配線結果に基づいて、メモリセルとヒューズセルのそれぞれの対向する辺と平行な配線成分の密度を算出する計算手段と、
配線成分の密度が基準値より大きい場合、所定のネットの概略配線を修正する修正手段と、
配線成分の密度が基準値以下である場合、上記概略配線手段により決定された概略配線結果に従って、各ネットの詳細配線を決定し、配線成分の密度が基準値より大きい場合、上記修正手段による修正後の概略配線結果に従って、各ネットの詳細配線を決定する詳細配線手段と
を備えた自動配置配線装置。
【請求項６】
概略配線の修正は、メモリセルが接続するヒューズセルの端子を、同一のメモリセル単位内において個々の端子単位で入れ替えることにより行われる請求項５記載の自動配置配線装置。
【請求項７】
メモリセルとヒューズセルとを配置する配置手段と、
配置されたメモリセルのどの端子とヒューズセルのどの端子とが接続するかを示すネットのリストに従って、各ネットの概略配線を順に決定する概略配線手段と、
１本のネットの概略配線が決定される度に、そのネットの詳細配線を決定する詳細配線手段と、
１本のネットの詳細配線が決定される度に、既に詳細配線が決定されたネットの詳細配線結果に基づいて、メモリセルとヒューズセルとの間の配線混雑度を算出する計算手段と、
配線混雑度が基準値より大きい場合、既に概略配線が決定されたネットのうちの所定のネットの概略配線を修正し、その修正に合わせて、上記所定のネットの詳細配線を修正する修正手段と
を備えた自動配置配線装置。
【請求項８】
メモリセルとヒューズセルとを配置する配置手段と、
配置されたメモリセルのどの端子とヒューズセルのどの端子とが接続するかを示すネットのリストに従って、各ネットの概略配線を順に決定する概略配線手段と、
１本のネットの概略配線が決定される度に、既に概略配線が決定されたネットの概略配線結果に基づいて、メモリセルとヒューズセルとの間の配線混雑度を算出する計算手段と、
配線混雑度が基準値より大きい場合、既に概略配線が決定されたネットのうちの所定のネットの概略配線を修正する修正手段と、
すべてのネットの概略配線が決定された後、各ネットの詳細配線を決定する詳細配線手段と
を備えた自動配置配線装置。
【請求項９】
概略配線の修正は、メモリセルが接続するヒューズセルの端子を入れ替えることにより行われる請求項７または請求項８記載の自動配置配線装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は半導体回路の設計に用いる自動配置配線装置に関するものである。
【０００２】
【従来の技術】
一般に、半導体メモリの欠陥を救済するために、正規のメモリセル以外に冗長メモリセルが用意されている。ウェーハテスト工程で不良のメモリセルが見つかった場合、不良メモリセルが冗長メモリセルと置き換えられる。冗長メモリセルへの置換は、例えば、半導体チップの最上層に配置されたヒューズをレーザトリマ装置で切断処理することによって実行される。
【０００３】
従来、多数のヒューズを含んだヒューズ回路を、メモリセルとその周辺回路とを含むメモリ回路と同一領域内に配置していた。最近、半導体メモリの設計効率向上や半導体チップの集積度向上を目的として、ヒューズ回路をメモリ回路と別領域に配置する場合がある（例えば、特許文献１参照。）。
【０００４】
【特許文献１】
特開２０００−１１４３８４公報（第４−５頁、第１図）
【０００５】
【発明が解決しようとする課題】
一般に、メモリ回路とヒューズ回路との間の接続関係は予め決まっている。このため、ヒューズ回路をメモリ回路と別領域に配置した場合、メモリ回路とヒューズ回路との間の配線混雑度が高くなり、レイアウトサイズが大きくなる場合があった。
【０００６】
この発明は上記のような問題点を解決するためになされたもので、ヒューズ回路をメモリ回路と別領域に配置する場合において、メモリ回路とヒューズ回路との間の配線混雑度を低くし、レイアウトサイズを小さくする自動配置配線装置を得ることを目的とする。
【０００７】
【課題を解決するための手段】
この発明に係る自動配置配線装置は、各ネットの概略配線に沿った距離の総和を算出する計算手段と、各ネットの概略配線に沿った距離の総和が基準値より大きい場合、所定のネットの概略配線を修正する修正手段とを備えたものである。
【０００８】
この発明に係る自動配置配線装置は、メモリセルの端子がメモリセルの中心に位置すると仮定して、各ネットのメモリセルの端子とヒューズセルの端子との間の距離の総和を算出する計算手段と、各ネットのメモリセルの端子とヒューズセルの端子との間の距離の総和が基準値より大きい場合、所定のネットの概略配線を修正する修正手段とを備えたものである。
【０００９】
この発明に係る自動配置配線装置は、メモリセルとヒューズセルのそれぞれの対向する辺と平行な配線成分の密度を算出する計算手段と、配線成分の密度が基準値より大きい場合、所定のネットの概略配線を修正する修正手段とを備えたものである。
【００１０】
この発明に係る自動配置配線装置は、１本のネットの詳細配線が決定される度に、既に詳細配線が決定されたネットの詳細配線結果に基づいて、メモリセルとヒューズセルとの間の配線混雑度を算出する計算手段と、配線混雑度が基準値より大きい場合、既に概略配線が決定されたネットのうちの所定のネットの概略配線を修正し、その修正に合わせて、上記所定のネットの詳細配線を修正する修正手段とを備えたものである。
【００１１】
この発明に係る自動配置配線装置は、１本のネットの概略配線が決定される度に、既に概略配線が決定されたネットの概略配線結果に基づいて、メモリセルとヒューズセルとの間の配線混雑度を算出する計算手段と、配線混雑度が基準値より大きい場合、既に概略配線が決定されたネットのうちの所定のネットの概略配線を修正する修正手段とを備えたものである。
【００１２】
【発明の実施の形態】
図１は各実施の形態の自動配置配線装置が適用される半導体回路設計装置を示すブロック図である。
半導体集積回路設計装置１は、入力装置２と、解析装置３と、自動配置配線装置４と、出力装置５とを備えている。
【００１３】
入力装置２は、セルライブラリ（図示せず）に登録されている、メモリ回路やヒューズ回路などのマクロセル６や、論理設計装置（図示せず）から出力された接続情報７を読み込む。接続情報７には、どのマクロセルのどの端子とどのマクロセルのどの端子とが続するか（ネット）のリストが記述されている。なお、ここで、メモリ回路とは、メモリセルとその周辺回路とを含むがヒューズ回路を含まないものを意味する。また、ヒューズ回路とは、不良メモリセルを冗長メモリセルに置き換える場合にレーザトリマ装置で切断処理されるヒューズが多数含まれているものを意味する。
【００１４】
解析装置３は、入力装置２が読み込んだ、マクロセル６及び接続情報７を受け取る。そして、接続情報７に従って、各ネットが入力装置２の読み込んだどのマクロセル６のどの端子とどのマクロセル６のどの端子とを接続するかを解析する。解析装置３は、各ネットが入力装置２の読み込んだどのマクロセル６のどの端子とどのマクロセル６のどの端子とを接続するかが記述された接続情報８を出力する。
【００１５】
自動配置配線装置４は、解析装置３から出力された接続情報８と入力装置２が読み込んだマクロセル６とを受け取る。そして、接続情報８に従って、マクロセル６の配置と、配置されたマクロセル６間の配線とを行う。自動配置配線装置４は、配置配線完了後のレイアウトデータ９を出力する。
【００１６】
出力装置５は、自動配置配線装置４から受け取った配置配線完了後のレイアウトデータ９を半導体集積回路設計装置１の外部に出力する。
【００１７】
以下、この出願の各実施の形態の自動配置配線装置について説明する。この出願の各実施の形態の自動配置配線装置は、メモリ回路のマクロセル（以下、メモリマクロセルという）とヒューズ回路のマクロセル（以下、ヒューズマクロセルという）とを配置し、配置されたメモリマクロセルとヒューズマクロセルとの間を配線するものである。
【００１８】
実施の形態１．
図２は実施の形態１の自動配置配線装置を示すブロック図である。
実施の形態１の自動配置配線装置１１は、配置手段１２と、概略配線手段１３と、計算手段１４と、判定手段１５と、修正手段１６と、詳細配線手段１７とを備えている。
【００１９】
配置手段１２は、上述した解析装置３から出力された接続情報８と上述した入力装置２が読み込んだマクロセル６とを受け取る。接続情報８には、各ネットが入力装置２の読み込んだメモリマクロセルのどの端子とヒューズマクロセルのどの端子とを接続するかが記述されている。そして、接続情報８に従って、メモリマクロセルとヒューズマクロセルとを配置する。配置手段１２は、マクロセル配置後のレイアウトデータ１８と各ネットが配置後のメモリマクロセルのどの端子とヒューズマクロセルのどの端子とを接続するかが記述された接続情報１９を出力する。
【００２０】
概略配線手段１３は、配置手段１２から出力された、マクロセル配置後のレイアウトデータ１８及び接続情報１９を受け取る。そして、接続情報１９に従って、各ネットの概略的な経路（概略配線）を決定する。概略配線手段１３は、概略配線の結果の情報（以下、概略配線情報という）２０を出力する。
【００２１】
計算手段１４は、概略配線手段１３から出力された概略配線情報２０を受け取る。そして、概略配線情報２０から、各ネットの概略配線に沿った距離の総和を算出する。計算手段１４は、各ネットの概略配線に沿った距離の総和の情報（以下、概略配線距離情報という）２１を出力する。
【００２２】
判定手段１５は、計算手段１４から出力された概略配線距離情報２１を受け取る。そして、各ネットの概略配線に沿った距離の総和が基準値以下であるか否かを判定する。判定手段１５は基準値を保持している。基準値を適当な値とすることにより、判定手段１５は、各ネットの概略配線に沿った距離の総和が最小であるか否かを判定することができる。この判定は、概略配線距離情報２１と基準値とを比較することにより行われる。判定手段１５は、判定の結果を示す情報（以下、判定情報という）２２を出力する。
【００２３】
修正手段１６は、判定手段１５から出力された判定情報２２と概略配線手段１３から出力された概略配線情報２０とを受け取る。そして、各ネットの概略配線に沿った距離の総和が基準値以下である場合、各ネットの概略配線を修正せず、概略配線手段１３から受け取った概略配線情報２０を出力する。基準値より大きい場合、所定のネットの概略配線を修正し、修正後の概略配線の結果の情報（以下、修正概略配線情報という）２３を出力する。概略配線の修正は、メモリマクロセルの端子が接続するヒューズマクロセルの端子を入れ替えることにより行われる。ヒューズマクロセルの端子の入れ替えは、メモリマクロセル単位で行われる。ヒューズマクロセルの端子の入れ替えの結果、各ネットの概略配線に沿った距離の総和が基準値以下になるようにする。
【００２４】
詳細配線手段１７は、修正手段１６から出力された概略配線情報２０または修正概略配線情報２３と配置手段１２から出力されたマクロセル配置後のレイアウトデータ１８とを受け取る。そして、概略配線情報２０または修正概略配線情報２３に従って、各ネットの最終的な経路（詳細配線）を決定する。詳細配線手段１７は、配置配線完了後のレイアウトデータ９を出力する。
【００２５】
次に動作について説明する。
図３は実施の形態１の自動配置配線装置の動作を示すフローチャートである。先ず、配置手段１２が、解析装置３から出力された接続情報８と入力装置２が読み込んだマクロセル６とを受け取り、接続情報８に従って、メモリマクロセルとヒューズマクロセルとを配置する（ステップＳＴ１１）。
【００２６】
その後、概略配線手段１３が、配置手段１２から出力された、マクロセル配置後のレイアウトデータ１８及び接続情報１９を受け取り、接続情報１９に従って、各ネットの概略的な経路（概略配線）を決定する（ステップＳＴ１２）。
その後、計算手段１４が、概略配線手段１３から出力された概略配線情報２０を受け取り、概略配線情報２０から、各ネットの概略配線に沿った距離の総和を算出する（ステップＳＴ１３）。
【００２７】
その後、判定手段１５が、計算手段１４から出力された概略配線距離情報２１を受け取り、各ネットの概略配線に沿った距離の総和が基準値以下であるか否かを判定する（ステップＳＴ１４）。この判定は、概略配線距離情報２１と基準値とを比較することにより行われる。
【００２８】
その後、修正手段１６が、判定手段１５から出力された判定情報２２と概略配線手段１３から出力された概略配線情報２０とを受け取る。
各ネットの概略配線に沿った距離の総和が基準値以下である場合、修正手段１６は、各ネットの概略配線を修正しない。その後、詳細配線手段１７が、修正手段１６から出力された概略配線情報２０と配置手段１２から出力されたマクロセル配置後のレイアウトデータ１８とを受け取り、概略配線情報２０に従って、各ネットの最終的な経路（詳細配線）を決定する（ステップＳＴ１５）。
【００２９】
各ネットの概略配線に沿った距離の総和が基準値より大きい場合、修正手段１６は、所定のネットの概略配線を修正する（ステップＳＴ１６）。概略配線の修正は、メモリマクロセルの端子が接続するヒューズマクロセルの端子を入れ替えることにより行われる。ヒューズマクロセルの端子の入れ替えは、メモリマクロセル単位で行われる。ヒューズマクロセルの端子の入れ替えの結果、各ネットの概略配線に沿った距離の総和が基準値以下になるようにする。その後、詳細配線手段１７が、修正手段１６から出力された修正概略配線情報２３と配置手段１２から出力されたマクロセル配置後のレイアウトデータ１８とを受け取り、修正概略配線情報２３に従って、各ネットの完成された配線（詳細配線）を決定する（ステップＳＴ１７）。
その後、詳細配線手段１７が、配置配線完了後のレイアウトデータ９を出力する（ステップＳＴ１８）。
【００３０】
図４は実施の形態１の自動配置配線装置を用いて設計された半導体回路のレイアウト図である。
図４に示すレイアウト図では、第１から第３のメモリマクロセル３１〜３３がヒューズマクロセル３４と対向して配置されている。
【００３１】
第１から第３のメモリマクロセル３１〜３３のヒューズマクロセル３４側の辺には、ヒューズマクロセル３４の端子と接続するための端子が位置する。また、ヒューズマクロセル３４の第１から第３のメモリマクロセル３１〜３３側の辺には、第１から第３のメモリマクロセル３１〜３３の端子と接続するための端子が位置する。ヒューズマクロセル３４の端子は、左から順にメモリマクロセル単位で区分された第１から第３の端子群３５〜３７として示されている。第１から第３のメモリマクロセル３１〜３３の端子は、メモリマクロセル単位でヒューズマクロセル３４の端子と接続している。
【００３２】
第１のメモリマクロセル３１の端子が、５本の配線からなる第１の配線束３８によりヒューズマクロセル３４の第１の端子群３５の端子と接続している。また、第２のメモリマクロセル３２の端子が、５本の配線からなる第２の配線束３９によりヒューズマクロセル３４の第２の端子群３６の端子と接続している。また、第３のメモリマクロセル３３の端子が、５本の配線からなる第３の配線束４０によりヒューズマクロセル３４の第３の端子群３７の端子と接続している。
【００３３】
一方、従来の自動配置配線装置を用いて設計された半導体回路のレイアウト図では、例えば、第１のメモリマクロセル３１の端子がヒューズマクロセル３４の第３の端子群３７の端子と接続し、第２のメモリマクロセル３２の端子がヒューズマクロセル３４の第２の端子群３６の端子と接続し、第３のメモリマクロセル３３の端子がヒューズマクロセル３４の第１の端子群３５の端子と接続している。
【００３４】
実施の形態１の場合には、各ネットの概略配線に沿った距離の総和が基準値以下になるように、第１から第３のメモリマクロセル３１〜３３の端子が接続するヒューズマクロセル３４の端子をメモリマクロセル単位で入れ替える。一方、従来の場合には、第１から第３のメモリマクロセル３１〜３３とヒューズマクロセル３４との間の接続関係が予め決められている。このため、実施の形態１の場合には、従来の場合よりも、第１から第３のメモリマクロセル３１〜３３とヒューズマクロセル３４との間の配線混雑度が低い。
【００３５】
以上のように、実施の形態１によれば、各ネットの概略配線に沿った距離の総和を算出し、それが基準値以下になるように、概略配線を修正する。このため、基準値を適当な値にすることによりメモリマクロセルとヒューズマクロセルとの間の配線混雑度を低くすることができる。従って、レイアウトサイズの小さい半導体回路を設計することができる。
【００３６】
なお、実施の形態１では、概略配線の修正を１回行うことにより、各ネットの概略配線に沿った距離の総和が基準値以下になる場合について説明したが、概略配線の修正を複数回行うことにより、各ネットの概略配線に沿った距離の総和が基準値以下になる構成であってもよい。
【００３７】
実施の形態２．
図５は実施の形態２の自動配置配線装置を示すブロック図である。
実施の形態２の自動配置配線装置５１は、配置手段１２と、概略配線手段１３と、計算手段１４と、判定手段１５と、修正手段５６と、詳細配線手段５７とを備えている。
配置手段１２、概略配線手段１３、計算手段１４及び判定手段１５は、実施の形態１と同様である。
【００３８】
修正手段５６は、判定手段１５から出力された判定情報２２と概略配線手段１３から出力された概略配線情報２０とを受け取る。そして、各ネットの概略配線に沿った距離の総和が基準値以下である場合、各ネットの概略配線を修正せず、概略配線手段１３から受け取った概略配線情報２０を出力する。基準値より大きい場合、所定のネットの概略配線を修正し、修正後の概略配線の結果の情報（以下、修正概略配線情報という）６３を出力する。概略配線の修正は、メモリマクロセルの端子が接続するヒューズマクロセルの端子を入れ替えることにより行われる。ヒューズマクロセルの端子の入れ替えは、個々の端子単位で行われる。ヒューズマクロセルの端子の入れ替えの結果、各ネットの概略配線に沿った距離の総和が基準値以下になるようにする。
【００３９】
詳細配線手段５７は、修正手段５６から出力された概略配線情報２０または修正概略配線情報６３と配置手段１２から出力されたマクロセル配置後のレイアウトデータ１８とを受け取る。そして、概略配線情報２０または修正概略配線情報６３に従って、各ネットの最終的な経路（詳細配線）を決定する。詳細配線手段５７は、配置配線完了後のレイアウトデータ９を出力する。
【００４０】
次に動作について説明する。
図６は実施の形態２の自動配置配線装置の動作を示すフローチャートである。先ず、実施の形態１の場合と同様に、メモリマクロセルとヒューズマクロセルとを配置する（ステップＳＴ１１）。
その後、実施の形態１の場合と同様に、各ネットの概略的な経路（概略配線）を決定する（ステップＳＴ１２）。
その後、実施の形態１の場合と同様に、各ネットの概略配線に沿った距離の総和を算出する（ステップＳＴ１３）。
その後、実施の形態１の場合と同様に、各ネットの概略配線に沿った距離の総和が基準値以下であるか否かを判定する（ステップＳＴ１４）。
【００４１】
その後、修正手段５６が、判定手段１５から出力された判定情報２２と概略配線手段１３から出力された概略配線情報２０とを受け取る。
各ネットの概略配線に沿った距離の総和が基準値以下である場合、修正手段５６は、各ネットの概略配線を修正しない。その後、詳細配線手段５７が、修正手段５６から出力された概略配線情報２０と配置手段１２から出力されたマクロセル配置後のレイアウトデータ１８とを受け取り、概略配線情報２０に従って、各ネットの最終的な経路（詳細配線）を決定する（ステップＳＴ２５）。
【００４２】
各ネットの概略配線に沿った距離の総和が基準値より大きい場合、修正手段５６は、所定のネットの概略配線を修正する（ステップＳＴ２６）。概略配線の修正は、メモリマクロセルの端子が接続するヒューズマクロセルの端子を入れ替えることにより行われる。ヒューズマクロセルの端子の入れ替えは、個々の端子単位で行われる。ヒューズマクロセルの端子の入れ替えの結果、各ネットの概略配線に沿った距離の総和が基準値以下になるようにする。その後、詳細配線手段５７が、修正手段５６から出力された修正概略配線情報６３と配置手段１２から出力されたマクロセル配置後のレイアウトデータ１８とを受け取り、修正概略配線情報６３に従って、各ネットの最終的な経路（詳細配線）を決定する（ステップＳＴ２７）。
その後、詳細配線手段５７が、配置配線完了後のレイアウトデータ９を出力する（ステップＳＴ２８）。
【００４３】
図７は実施の形態２の自動配置配線装置を用いて設計された半導体回路のレイアウト図である。
図７に示すレイアウト図では、第１及び第２のメモリマクロセル７１，７２がヒューズマクロセル７４と対向して配置されている。また、第３のメモリマクロセル７３が第２のメモリマクロセル７２のヒューズマクロセル７４と対向する側と反対側に配置されている。
【００４４】
第１から第３のメモリマクロセル７１〜７３のヒューズマクロセル７４側の辺には、ヒューズマクロセル７４の端子と接続するための端子が位置する。また、ヒューズマクロセル７４の第１から第３のメモリマクロセル７１〜７３側の辺には、第１から第３のメモリマクロセル７１〜７３の端子と接続するための端子が位置する。ヒューズマクロセル７４の端子は、左から順にメモリマクロセル単位で区分された第１から第３の端子群７５〜７７として示されている。
【００４５】
第１のメモリマクロセル７１の端子が、５本の配線からなる第１の配線束７８によりヒューズマクロセル７４の第１の端子群７５の端子と接続している。また、第２のメモリマクロセル７２の端子が、３本の配線からなる第２の配線束７９によりヒューズマクロセル７４の第２の端子群７６の端子と接続し、２本の配線からなる第３の配線束８０によりヒューズマクロセル７４の第３の端子群７７の端子と接続している。また、第３のメモリマクロセル７３の端子が、２本の配線からなる第４の配線束８１によりヒューズマクロセル７４の第２の端子群７６の端子と接続し、３本の配線からなる第５の配線束８２によりヒューズボックス７４の第３の端子群７７の端子と接続している。
【００４６】
一方、従来の自動配置配線装置を用いて設計された半導体回路のレイアウト図では、例えば、第１のメモリマクロセル７１の端子が５本の配線からなる配線束によりヒューズマクロセル７４の第１の端子群７５の端子と接続し、第２のメモリマクロセル７２の端子が５本の配線からなる配線束によりヒューズマクロセル７４の第２の端子群７６の端子と接続し、第３のメモリマクロセル７３の端子が５本の配線からなる配線束によりヒューズマクロセル７４の第３の端子群７７の端子と接続している。
【００４７】
実施の形態２の場合には、各ネットの概略配線に沿った距離の総和が基準値以下になるように、第１から第３のメモリマクロセル７１〜７３の端子が接続するヒューズマクロセル７４の端子を個々の端子単位で入れ替える。一方、従来の場合には、第１から第３のメモリマクロセル７１〜７３とヒューズマクロセル７４との間の接続関係が予め決められており、第１から第３のメモリマクロセル７１〜７３の端子はメモリマクロセル単位でヒューズマクロセル７４の端子と接続している。このため、実施の形態２の場合には、従来の場合よりも、第１から第３のメモリマクロセル７１〜７３とヒューズマクロセル７４との間の配線混雑度が低い。
【００４８】
以上のように、実施の形態２によれば、各ネットの概略配線に沿った距離の総和を算出し、それが基準値以下になるように、概略配線を修正する。従って、実施の形態１の場合と同様に、レイアウトサイズの小さい半導体回路を設計することができる。
【００４９】
なお、実施の形態２では、概略配線の修正を１回行うことにより、各ネットの概略配線に沿った距離の総和が基準値以下になる場合について説明したが、概略配線の修正を複数回行うことにより、各ネットの概略配線に沿った距離の総和が基準値以下になる構成であってもよい。
【００５０】
実施の形態３．
図８は実施の形態３の自動配置配線装置を示すブロック図である。
実施の形態３の自動配置配線装置９１は、配置手段１２と、概略配線手段１３と、計算手段９４と、判定手段９５と、修正手段９６と、詳細配線手段９７とを備えている。
配置手段１２及び概略配線手段１３は、実施の形態１と同様である。
【００５１】
計算手段９４は、配置手段１２から出力された、マクロセル配置後のレイアウトデータ１８及び接続情報１９を受け取る。そして、ヒューズマクロセルと接続するためのメモリマクロセルの端子がメモリマクロセルの中心に位置すると仮定して、各ネットのメモリマクロセルの端子とヒューズマクロセルの端子との間の距離（以下、端子間距離という）の総和を算出する。図９はメモリマクロセルの端子がメモリマクロセルの中心に位置すると仮定した状態を示す図である。図９では、第１のメモリマクロセル１１１の端子がヒューズマクロセル１１４の第１の端子群１１５の端子と接続し、第２のメモリマクロセル１１２の端子がヒューズマクロセル１１４の第２の端子群１１６の端子と接続し、第３のメモリマクロセル１１３の端子がヒューズマクロセル１１４の第３の端子群１１７の端子と接続する場合を示している。計算手段９４は、各ネットの端子間距離の総和の情報（以下、端子間距離情報という）１０１を出力する。
【００５２】
判定手段９５は、計算手段９４から出力された端子間距離情報１０１を受け取る。そして、各ネットの端子間距離の総和が基準値以下であるか否かを判定する。判定手段９５は基準値を保持している。この判定は、端子間距離情報１０１と基準値とを比較することにより行われる。判定手段９５は、判定の結果を示す情報（以下、判定情報という）１０２を出力する。
【００５３】
修正手段９６は、判定手段９５から出力された判定情報１０２と概略配線手段１３から出力された概略配線情報２０とを受け取る。そして、各ネットの端子間距離の総和が基準値以下である場合、各ネットの概略配線を修正せず、概略配線手段１３から受け取った概略配線情報２０を出力する。基準値より大きい場合、所定のネットの概略配線を修正し、修正後の概略配線の結果の情報（以下、修正概略配線情報という）１０３を出力する。概略配線の修正は、メモリマクロセルの端子が接続するヒューズマクロセルの端子を入れ替えることにより行われる。ヒューズマクロセルの端子の入れ替えは、メモリマクロセル単位で行われる。ヒューズマクロセルの端子の入れ替えの結果、各ネットの端子間距離の総和が基準値以下になるようにする。
【００５４】
詳細配線手段９７は、修正手段９６から出力された概略配線情報２０または修正概略配線情報１０３と配置手段１２から出力されたマクロセル配置後のレイアウトデータ１８とを受け取る。そして、概略配線情報２０または修正概略配線情報１０３に従って、各ネットの最終的な経路（詳細配線）を決定する。詳細配線手段９７は、配置配線完了後のレイアウトデータ９を出力する。
【００５５】
次に動作について説明する。
図１０は実施の形態３の自動配置配線装置の動作を示すフローチャートである。
先ず、実施の形態１の場合と同様に、メモリマクロセルとヒューズマクロセルとを配置する（ステップＳＴ１１）。
その後、実施の形態１の場合と同様に、各ネットの概略的な経路（概略配線）を決定する（ステップＳＴ１２）。
【００５６】
その後、計算手段９４が、配置手段１２から出力された、マクロセル配置後のレイアウトデータ１８及び接続情報１９を受け取り、ヒューズマクロセルと接続するためのメモリマクロセルの端子がメモリマクロセルの中心に位置すると仮定して、各ネットの端子間距離の総和を算出する（ステップＳＴ３３）。
【００５７】
その後、判定手段９５が、計算手段９４から出力された端子間距離情報１０１を受け取り、各ネットの端子間距離の総和が基準値以下であるか否かを判定する（ステップＳＴ３４）。この判定は、端子間距離情報１０１と基準値とを比較することにより行われる。
【００５８】
その後、修正手段９６が、判定手段９５から出力された判定情報１０２と概略配線手段１３から出力された概略配線情報２０とを受け取る。
各ネットの端子間距離の総和が基準値以下である場合、修正手段９６は、各ネットの概略配線を修正しない。その後、詳細配線手段９７が、修正手段９６から出力された概略配線情報２０と配置手段１２から出力されたマクロセル配置後のレイアウトデータ１８とを受け取り、概略配線情報２０に従って、各ネットの最終的な経路（詳細配線）を決定する（ステップＳＴ３５）。
【００５９】
各ネットの端子間距離の総和が基準値より大きい場合、修正手段９６は、所定のネットの概略配線を修正する（ステップＳＴ３６）。概略配線の修正は、メモリマクロセルの端子が接続するヒューズマクロセルの端子を入れ替えることにより行われる。ヒューズマクロセルの端子の入れ替えは、メモリマクロセル単位で行われる。ヒューズマクロセルの端子の入れ替えの結果、各ネットの端子間距離の総和が基準値以下になるようにする。その後、詳細配線手段９７が、修正手段９６から出力された修正概略配線情報１０３と配置手段１２から出力されたマクロセル配置後のレイアウトデータ１８とを受け取り、修正概略配線情報１０３に従って、各ネットの最終的な経路（詳細配線）を決定する（ステップＳＴ３７）。
その後、詳細配線手段９７が、配置配線完了後のレイアウトデータ９を出力する（ステップＳＴ３８）。
【００６０】
以上のように、実施の形態３によれば、メモリマクロセルの端子がメモリマクロセルの中心に位置すると仮定して、各ネットの端子間距離の総和を算出し、それが基準値以下になるように、概略配線を修正する。このため、基準値を適当な値にすることによりメモリマクロセルとヒューズマクロセルとの間の配線混雑度を低くすることができる。従って、レイアウトサイズの小さい半導体回路を設計することができる。
また、実施の形態３によれば、メモリマクロセルの端子がメモリマクロセルの中心に位置すると仮定して各ネットの端子間距離の総和を算出し、その結果に基づいて概略配線を修正するため、実施の形態１及び２の場合のように、各ネットの概略配線に沿った距離の総和を算出し、その結果に基づいて概略配線を修正する場合に比べて、概略配線の修正の処理時間を短縮することができる。
【００６１】
なお、実施の形態３では、概略配線の修正を１回行うことにより、各ネットの端子間距離の総和が基準値以下になる場合について説明したが、概略配線の修正を複数回行うことにより、各ネットの端子間距離の総和が基準値以下になる構成であってもよい。
また、実施の形態３では、ヒューズマクロセルの端子を、メモリマクロセル単位で入れ替える場合について説明したが、個々の端子単位で入れ替える構成であってもよい。
【００６２】
実施の形態４．
図１１は実施の形態４の自動配置配線装置を示すブロック図である。
実施の形態４の自動配置配線装置１２１は、配置手段１２２と、概略配線手段１２３と、計算手段１２４と、判定手段１２５と、修正手段１２６と、詳細配線手段１２７とを備えている。
【００６３】
配置手段１２２は、実施の形態１の配置手段と同様に、解析装置３から出力された接続情報８と入力装置２が読み込んだマクロセル６とを受け取り、メモリマクロセルとヒューズマクロセルとを配置する。メモリマクロセル及びヒューズマクロセルは、それぞれの対向する辺が平行であるように配置される。
【００６４】
概略配線手段１２３は、実施の形態１の概略配線手段と同様に、配置手段１２２から出力された、マクロセル配置後のレイアウトデータ１２８及び接続情報１２９を受け取り、各ネットの概略的な経路（概略配線）を決定する。
【００６５】
計算手段１２４は、概略配線手段１２３から出力された概略配線情報１３０を受け取る。そして、概略配線情報１３０から、メモリマクロセルとヒューズマクロセルとの間でのメモリマクロセルとヒューズマクロセルのそれぞれの対向する辺と平行な配線成分（以下、平行配線成分という）の密度を算出する。計算手段１２４は、平行配線成分の密度の情報（以下、配線密度情報という）１３１を出力する。
【００６６】
判定手段１２５は、計算手段１２４から出力された配線密度情報１３１を受け取る。そして、平行配線成分の密度が基準値以下であるか否かを判定する。判定手段１２５は基準値を保持している。基準値を適当な値とすることにより、判定手段１２５は、平行配線成分の密度が最小であるか否かを判定することができる。この判定は、配線密度情報１３１と基準値とを比較することにより行われる。判定手段１２５は、判定の結果を示す情報（以下、判定情報という）１３２を出力する。
【００６７】
修正手段１２６は、判定手段１２５から出力された判定情報１３２と概略配線手段１２３から出力された概略配線情報１３０とを受け取る。そして、平行配線成分の密度が基準値以下である場合、各ネットの概略配線を修正せず、概略配線手段１２３から受け取った概略配線情報１３０を出力する。基準値より大きい場合、所定のネットの概略配線を修正し、修正後の概略配線の結果の情報（以下、修正概略配線情報）１３３を出力する。概略配線の修正は、メモリマクロセルの端子が接続するヒューズマクロセルの端子を入れ替えることにより行われる。ヒューズマクロセルの端子の入れ替えは、同一のメモリマクロセル単位内において個々の端子単位で行われる。ヒューズマクロセルの端子の入れ替えの結果、平行配線成分の密度が基準値以下になるようにする。
【００６８】
詳細配線手段１２７は、修正手段１２６から出力された概略配線情報１３０または修正概略配線情報１３３と配置手段１２２から出力されたマクロセル配置後のレイアウトデータ１２８とを受け取る。そして、概略配線情報１３０または修正概略配線情報１３３に従って、各ネットの最終的な経路（詳細配線）を決定する。詳細配線手段１２７は、配置配線完了後のレイアウトデータ９を出力する。
【００６９】
次に動作について説明する。
図１２は実施の形態４の自動配置配線装置の動作を示すフローチャートである。
先ず、実施の形態１の場合と同様に、配置手段１２２が、解析装置３から出力された接続情報８と入力装置２が読み込んだマクロセル６とを受け取り、メモリマクロセルとヒューズマクロセルとを配置する（ステップＳＴ４１）。メモリマクロセル及びヒューズマクロセルは、それぞれの対向する辺が平行であるように配置される。
【００７０】
その後、実施の形態１の場合と同様に、概略配線手段１２３が、配置手段１２２から出力された、マクロセル配置後のレイアウトデータ１２８及び接続情報１２９を受け取り、各ネットの概略的な経路（概略配線）を決定する（ステップＳＴ４２）。
その後、計算手段１２４が、概略配線手段１２３から出力された概略配線情報１３０を受け取り、概略配線情報１３０から、平行配線成分の密度を算出する（ステップＳＴ４３）。
【００７１】
その後、判定手段１２５が、計算手段１２４から出力された配線密度情報１３１を受け取り、平行配線成分の密度が基準値以下であるか否かを判定する（ステップＳＴ４４）。この判定は、配線密度情報１３１と基準値とを比較することにより行われる。
【００７２】
その後、修正手段１２６が、判定手段１２５から出力された判定情報１３２と概略配線手段１２３から出力された概略配線情報１３０とを受け取る。
平行配線成分の密度が基準値以下であると判定された場合、修正手段１２６は、各ネットの概略配線を修正しない。その後、詳細配線手段１２７が、修正手段１２６から出力された概略配線情報１３０と配置手段１２２から出力されたマクロセル配置後のレイアウトデータ１２８とを受け取り、概略配線情報１３０に従って、各ネットの最終的な経路（詳細配線）を決定する（ステップＳＴ４５）。
【００７３】
平行配線成分の密度が基準値より大きい場合、修正手段１２６は、所定のネットの概略配線を修正する（ステップＳＴ４６）。概略配線の修正は、メモリマクロセルの端子が接続するヒューズマクロセルの端子を入れ替えることにより行われる。ヒューズマクロセルの端子の入れ替えは、同一のメモリマクロセル単位内において個々の端子単位で行われる。ヒューズマクロセルの端子の入れ替えの結果、平行配線成分の密度が基準値以下になるようにする。その後、詳細配線手段１２７が、修正手段１２６から出力された修正概略配線情報１３３と配置手段１２２から出力されたマクロセル配置後のレイアウトデータ１２８とを受け取り、修正概略配線情報１３３に従って、各ネットの最終的な経路（詳細配線）を決定する（ステップＳＴ４７）。
その後、詳細配線手段１２７が、配置配線完了後のレイアウトデータ９を出力する（ステップＳＴ４８）。
【００７４】
図１３は実施の形態４の自動配置配線装置を用いて設計された半導体回路のレイアウト図である。
図１３に示すレイアウト図では、第１から第３のメモリマクロセル１４１〜１４３がヒューズマクロセル１４４と対向して配置されている。第１から第３のメモリマクロセル１４１〜１４３及びヒューズマクロセル１４４は、それぞれの対向する辺が平行であるように配置されている。
【００７５】
第１から第３のメモリマクロセル１４１〜１４３のヒューズマクロセル１４４側の辺には、ヒューズマクロセル１４４の端子と接続するための端子が位置する。また、ヒューズマクロセル１４４の第１から第３のメモリマクロセル１４１〜１４３側の辺には、第１から第３のメモリマクロセル１４１〜１４３の端子と接続するための端子が位置する。ヒューズマクロセル１４４の端子は、左から順にメモリマクロセル単位で区分された第１から第３の端子群１４５〜１４７として示されている。第１から第３のメモリマクロセル１４１〜１４３の端子は、メモリマクロセル単位でヒューズマクロセル１４４の端子と接続している。
【００７６】
第１のメモリマクロセル１４１の端子が、５本の配線からなる第１の配線束１４８によりヒューズマクロセル１４４の第１の端子群１４５の端子と接続している。また、第２のメモリマクロセル１４２の端子が、５本の配線からなる第２の配線束１４９によりヒューズマクロセル１４４の第２の端子群１４６の端子と接続している。また、第３のメモリマクロセル１４３の端子が、５本の配線からなる第３の配線束１５０によりヒューズマクロセル１４４の第３の端子群１４７の端子と接続している。第１及び第３の配線束１４８，１５０中の５本の配線のうち、２本の配線は第１及び第３のメモリマクロセル１４１，１４３とヒューズマクロセル１４４のそれぞれの対向する辺と垂直な配線成分だけを含む。残りの３本の配線は第１及び第３のメモリマクロセル１４１，１４３とヒューズマクロセル１４４のそれぞれの対向する辺と垂直な配線成分と平行な配線成分の両方を含む。
【００７７】
一方、従来の自動配置配線装置を用いて設計された半導体回路のレイアウト図では、例えば、第１のメモリマクロセル１４１の端子とヒューズマクロセル１４４の第１の端子群１４５の端子とを接続する配線束及び第３のメモリマクロセル１４３の端子とヒューズマクロセル１４４の第３の端子群１４７の端子とを接続する配線束中の５本の配線は互いに平行であり、第１及び第３のメモリマクロセル１４１，１４３とヒューズマクロセル１４４のそれぞれの対向する辺と垂直な配線成分と平行な配線成分の両方を含む。
【００７８】
実施の形態４の場合には、平行配線成分の密度が基準値以下になるように、第１から第３のメモリマクロセル１４１〜１４３の端子が接続するヒューズマクロセル１４４の端子を同一メモリマクロセル単位内において個々の端子単位で入れ替える。一方、従来の場合には、第１から第３のメモリマクロセル１４１〜１４３とヒューズマクロセル１４４との間の接続関係が予め決められいる。このため、実施の形態３の場合には、従来の場合よりも、第１から第３のメモリマクロセル１４１〜１４３とヒューズマクロセル１４４との間の配線混雑度が低い。
【００７９】
以上のように、実施の形態４によれば、平行配線成分の密度を算出し、それが基準値以下になるように、概略配線を修正する。このため、基準を適当な値にすることによりメモリマクロセルとヒューズマクロセルとの間の配線混雑度を低くすることができる。従って、レイアウトサイズの小さい半導体回路を設計することができる。
【００８０】
なお、実施の形態４では、概略配線の修正を１回行うことにより、平行配線成分の密度が基準値以下になる場合について説明したが、概略配線の修正を複数回行うことにより、平行配線成分の密度が基準値以下になる構成であってもよい。
【００８１】
実施の形態５．
図１４は実施の形態５の自動配置配線装置を示すブロック図である。
実施の形態５の自動配置配線装置１６１は、配置手段１２と、概略配線手段１６３と、詳細配線手段１６４と、計算手段１６５と、判定手段１６６と、修正手段１６７とを備えている。
配置手段１２は、実施の形態１と同様である。
【００８２】
概略配線手段１６３は、配置手段１２から出力された、マクロセル配置後のレイアウトデータ１８及び接続情報１９を受け取る。そして、接続情報１９に従って、各ネットの概略的な経路（概略配線）を順に決定する。概略配線手段１６３は、修正手段１６７から次のネットの概略配線を決定する命令（概略配線決定命令）１７４を受け取った後、次のネットの概略配線を決定する。概略配線手段１６３は、１本のネットの概略配線が決定される度に、そのネットの概略配線の結果の情報（以下、概略配線情報という）１７０を出力する。
【００８３】
詳細配線手段１６４は、概略配線手段１６３から出力された概略配線情報１７０と配置手段１２から出力されたマクロセル配置後のレイアウトデータ１８とを受け取る。そして、概略配線情報１７０を受け取る度に、その概略配線情報１７０に従って、その概略配線情報１７０に関するネットの最終的な経路（詳細配線）を決定する。詳細配線手段１６４は、すべてのネットの詳細配線が決定されたか否かを判定する。すべてのネットの詳細配線が決定されていない場合、詳細配線手段１６４は、既に詳細配線が決定されたネットの詳細配線の結果の情報（以下、詳細配線情報という）１７１を出力する。すべてのネットの詳細配線が決定された場合、詳細配線手段１６４は、配置配線完了後のレイアウトデータ９を出力する。
【００８４】
計算手段１６５は、詳細配線手段１６４から出力された詳細配線情報１７１を受け取る。そして、詳細配線情報１７１を受け取る度に、その詳細配線情報１７１から、メモリマクロセルとヒューズマクロセルとの間の配線混雑度を算出する。計算手段１６５は、配線混雑度が算出される度に、配線混雑度の情報（以下、配線混雑情報という）１７２を出力する。
【００８５】
判定手段１６６は、計算手段１６５から出力された配線混雑情報１７２を受け取る。そして、配線混雑情報１７２を受け取る度に、配線混雑度が基準値以下であるか否かを判定する。判定手段１６６は基準値を保持している。基準値を適当な値とすることにより、判定手段１６６は、配線混雑度が高いか低いかを判定することができる。配線混雑度が高い状態は、次のネットの詳細配線が配線混雑部を通過することになる状態である。配線混雑部とは、例えば、２本のネットの詳細配線が重なっている部分や、同一層内における詳細配線が最小間隔で敷き詰められている部分である。この判定は、配線混雑情報１７２と基準値とを比較することにより行われる。判定手段１６６は、判定が行われる度に、判定結果を示す情報（以下、判定情報という）１７３を出力する。
【００８６】
修正手段１６７は、判定手段１６６から出力された判定情報１７３を受け取る。そして、配線混雑度が基準値以下である場合、既に概略配線が決定されたネットの概略配線を修正せず、次のネットの概略配線を決定する命令（概略配線決定命令）１７４を概略配線手段１６３に出力する。基準値より大きい場合、既に概略配線が決定されたネットのうちの所定のネットの概略配線を修正し、その修正に合わせて、詳細配線を修正した後、概略配線決定命令１７４を概略配線手段１６３に出力する。概略配線の修正は、メモリマクロセルの端子が接続するヒューズマクロセルの端子を入れ替えることにより行われる。ヒューズマクロセルの端子の入れ替えの結果、配線混雑度が基準値以下になるようにする。
【００８７】
次に動作について説明する。
図１５は実施の形態５の自動配置配線装置の動作を示すフローチャートである。
先ず、実施の形態１の場合と同様に、メモリマクロセルとヒューズマクロセルとを配置する（ステップＳＴ１１）。
【００８８】
その後、概略配線手段１６３が、配置手段１２から出力された、マクロセル配置後のレイアウトデータ１８及び接続情報１９を受け取り、接続情報１９に従って、任意の１本のネットの概略的な経路（概略配線）を決定する（ステップＳＴ５２）。
その後、詳細配線手段１６４が、概略配線手段１６３から出力された概略配線情報１７０と配置手段１２から出力されたマクロセル配置後のレイアウトデータ１８とを受け取り、概略配線情報１７０に従って、上記ネットの最終的な経路（詳細配線）を決定する（ステップＳＴ５３）。
【００８９】
その後、詳細配線手段１６４が、すべてのネットの詳細配線が決定されたか否かを判定する（ステップＳＴ５４）。
すべてのネットの詳細配線が決定されていない場合、計算手段１６５が、詳細配線手段１６４から出力された詳細配線情報１７１を受け取り、その詳細配線情報１７１から、メモリマクロセルとヒューズマクロセルとの間の配線混雑度を算出する（ステップＳＴ５５）。
【００９０】
その後、判定手段１６６が、計算手段１６５から出力された配線混雑情報１７２を受け取り、配線混雑度が基準定の値以下であるか否かを判定する（ステップＳＴ５６）。この判定は、配線混雑情報１７２と基準値とを比較することにより行われる。
【００９１】
その後、修正手段１６７が、判定手段１６６から出力された判定情報１７３を受け取る。
配線混雑度が基準値以下である場合、修正手段１６７は、既に概略配線が決定されたネットの概略配線を修正しない。その後、概略配線手段１６３が、修正手段１６７から概略配線決定命令１７４を受け取り、次のネットの概略配線を決定する（ステップＳＴ５２）。
【００９２】
配線混雑度が基準値より大きい場合、修正手段１６７が、既に概略配線が決定されたネットのうちの所定のネットの概略配線を修正し（ステップＳＴ５７）、その修正に合わせて、詳細配線を修正する（ステップＳＴ５８）。概略配線の修正は、メモリマクロセルの端子が接続するヒューズマクロセルの端子を入れ替えることにより行われる。ヒューズマクロセルの端子の入れ替えの結果、配線混雑度が基準値以下になるようにする。その後、概略配線手段１６３が、修正手段１６７から概略配線決定命令１７４を受け取り、次のネットの概略配線を決定する（ステップＳＴ５２）。
すべてのネットの詳細配線が決定された場合、詳細配線手段１６４が、配置配線完了後のレイアウトデータ９を出力する（ステップＳＴ５９）。
【００９３】
図１６は実施の形態５の自動配置配線装置を用いて設計される半導体回路のレイアウトを段階的に示す図である。図１６は、配線混雑度の低い半導体回路を設計するために、次のネットの詳細配線が２本のネットの詳細配線が重なる配線混雑部を通過しないように所定のネットの概略配線を修正し、その修正に合わせて詳細配線を修正する例を示している。
【００９４】
図１６（ａ）から図１６（ｅ）では、メモリマクロセル１８１がヒューズマクロセル１８２と対向して配置されている。メモリマクロセル１８１のヒューズマクロセル１８２側の辺には、ヒューズマクロセル１８２と接続するための端子ａ〜ｄが位置する。また、ヒューズマクロセル１８２のメモリマクロセル１８１側の辺には、メモリマクロセル１８１と接続するための端子ｅ〜ｈが位置する。
【００９５】
図１６（ａ）に示すように、第１のネットの詳細配線１８３がメモリマクロセル１８１の端子ｂとヒューズマクロセル１８２の端子ｆとを接続し、第２のネットの詳細配線１８４がメモリマクロセル１８１の端子ｄとヒューズマクロセル１８２の端子ｇとを接続する。
図１６（ｂ）に示すように、第３のネットの詳細配線１８５がメモリマクロセル１８１の端子ａとヒューズマクロセル１８２の端子ｈとを接続する。
【００９６】
図１６（ｂ）に示す状態から第４のネットの詳細配線を決定した場合、図１６（ｃ）に示すように、第４のネットの詳細配線１８６がメモリマクロセル１８１の端子ｃとヒューズマクロセル１８２の端子ｅとを接続し、詳細配線１８３と詳細配線１８５とが重なる配線混雑部１８７を通過する。このため、図１６（ｂ）の状態になったとき、メモリマクロセル１８１の端子ｂが接続するヒューズマクロセル１８２の端子を端子ｅに入れ替えることにより、第１のネットの概略配線を修正し、その修正に合わせて第１のネットの詳細配線を修正する。
【００９７】
図１６（ｄ）に示すように、修正後の第１のネットの詳細配線１８８はメモリマクロセル１８１の端子ｂとヒューズマクロセル１８２の端子ｅとを接続する。図１６（ｄ）に示す状態から第４のネットの詳細配線を決定した場合、図１６（ｅ）に示すように、第４のネットの詳細配線１８９がメモリマクロセル１８１の端子ｃとヒューズマクロセル１８２の端子ｆとを接続し、配線混雑部を通過しない。従って、図１６（ｅ）に示す状態は、図１６（ｃ）に示す状態より配線混雑度が小さい。
【００９８】
以上のように、実施の形態５によれば、１本のネットの詳細配線が決定される度に配線混雑度を算出し、それが基準値以下になるように、概略配線を修正し、その修正に合わせて詳細配線を修正する。このため、基準値を適当な値にすることによりメモリマクロセルとヒューズマクロセルとの間の配線混雑度を低くすることができる。従って、レイアウトサイズの小さい半導体回路を設計することができる。
【００９９】
実施の形態６．
図１７は実施の形態６の自動配置配線装置を示すブロック図である。
実施の形態６の自動配置配線装置１９１は、配置手段１２と、概略配線手段１９３と、計算手段１９４と、判定手段１９５と、修正手段１９６と、詳細配線手段１９７とを備えている。
配置手段１２は、実施の形態１と同様である。
【０１００】
概略配線手段１９３は、配置手段１２から出力された、マクロセル配置後のレイアウトデータ１８及び接続情報１９を受け取る。そして、接続情報１９に従って、各ネットの概略的な経路（概略配線）を順に決定する。概略配線手段１９３は、修正手段１９６から次のネットの概略配線を決定する命令（概略配線決定命令）２０４を受け取った後、次のネットの概略配線を決定する。概略配線手段１９３は、すべてのネットの概略配線が決定されたか否かを判定する。すべてのネットの概略配線が決定されていない場合、概略配線手段１９３は、既に概略配線が決定されたネットの概略配線の結果の情報（以下、概略配線中間情報という）２００を出力する。すべてのネットの概略配線が決定された場合、概略配線手段１９３は、すべてのネットの概略配線の結果の情報（以下、概略配線最終情報という）２０１を出力する。
【０１０１】
計算手段１９４は、概略配線手段１９３から出力された概略配線中間情報２００を受け取る。そして、概略配線中間情報２００を受け取る度に、その概略配線中間情報２００から、メモリマクロセルとヒューズマクロセルとの間の配線混雑度を算出する。計算手段１９４は、配線混雑度が算出される度に、配線混雑度の情報（以下、配線混雑情報という）２０２を出力する。
【０１０２】
判定手段１９５は、計算手段１９４から出力された配線混雑情報２０２を受け取る。そして、配線混雑情報２０２を受け取る度に、配線混雑度が基準値以下であるか否かを判定する。判定手段１９５は基準値を保持している。基準値を適当な値とすることにより、判定手段１９５は、配線混雑度が高いか低いかを判定することができる。配線混雑度が高い状態は、次のネットの概略配線が配線混雑部を通過することになる状態である。配線混雑部とは、例えば、２本のネットの概略配線が重なっている部分や、同一層内における概略配線が最小間隔で敷き詰められている部分である。この判定は、配線混雑情報２０２と基準値とを比較することにより行われる。判定手段１９５は、判定が行われる度に、判定結果を示す情報（以下、判定情報という）２０３を出力する。
【０１０３】
修正手段１９６は、判定手段１９５から出力された判定情報２０３を受け取る。そして、配線混雑度が基準値以下である場合、既に概略配線が決定されたネットの概略配線を修正せず、次のネットの概略配線を決定する命令（概略配線決定命令）２０４を概略配線手段１９３に出力する。基準値より大きい場合、既に概略配線が決定されたネットのうちの所定のネットの概略配線を修正した後、概略配線決定命令２０４を概略配線手段１９３に出力する。概略配線の修正は、メモリマクロセルの端子が接続するヒューズマクロセルの端子を入れ替えることにより行われる。ヒューズマクロセルの端子の入れ替えの結果、配線混雑度が基準値以下になるようにする。
【０１０４】
詳細配線手段１９７は、概略配線手段１９３から出力された概略配線最終情報２０１と配置手段１２から出力されたマクロセル配置後のレイアウトデータ１８とを受け取る。そして、概略配線最終情報２０１に従って、各ネットの最終的な経路（詳細配線）を決定する。詳細配線手段１９７は、配置配線完了後のレイアウトデータ９を出力する。
【０１０５】
次に動作について説明する。
図１８は実施の形態６の自動配置配線装置の動作を示すフローチャートである。
先ず、実施の形態１の場合と同様に、メモリマクロセルとヒューズマクロセルとを配置する（ステップＳＴ１１）。
【０１０６】
その後、概略配線手段１９３が、配置手段１２から出力された、マクロセル配置後のレイアウトデータ１８及び接続情報１９を受け取り、接続情報１９に従って、任意の１本のネットの概略的な経路（概略配線）を決定する（ステップＳＴ６２）。
その後、概略配線手段１９３が、すべてのネットの概略配線が決定されたか否かを判定する（ステップＳＴ６３）。
【０１０７】
すべてのネットの概略配線が決定されていない場合、計算手段１９４が、概略配線手段１９３から出力された概略配線中間情報２００を受け取り、概略配線中間情報２００から、メモリマクロセルとヒューズマクロセルとの間の配線混雑度を算出する（ステップＳＴ６４）。
その後、判定手段１９５が、計算手段１９４から出力された配線混雑情報２０２を受け取り、配線混雑度が基準値以下であるか否かを判定する（ステップＳＴ６５）。この判定は、配線混雑情報２０２と基準値とを比較することにより行われる。
【０１０８】
その後、修正手段１９６が、判定手段１９５から出力された判定情報２０３を受け取る。
配線混雑度が基準値以下である場合、修正手段１９６は、既に概略配線が決定されたネットの概略配線を修正しない。その後、概略配線手段１９３が、修正手段１９６から概略配線決定命令２０４を受け取り、次のネットの概略配線を決定する（ステップＳＴ６２）。
【０１０９】
配線混雑度が基準値より大きい場合、修正手段１９６が、既に概略配線が決定されたネットのうちの所定のネットの概略配線を修正する（ステップＳＴ６６）。概略配線の修正は、メモリマクロセルの端子が接続するヒューズマクロセルの端子を入れ替えることにより行われる。ヒューズマクロセルの端子の入れ替えの結果、配線混雑度が基準値以下になるようにする。その後、概略配線手段１９３が、修正手段１９６から概略配線決定命令２０４を受け取り、次のネットの概略配線を決定する（ステップＳＴ６２）。
【０１１０】
すべてのネットの概略配線が決定された場合、詳細配線手段１９７が、概略配線手段１９３から出力された概略配線最終情報２０１と配置手段１２から出力されたマクロセル配置後のレイアウトデータ１８とを受け取り、概略配線最終情報２０１に従って、各ネットの最終的な経路（詳細配線）を決定する（ステップＳＴ６７）。
その後、詳細配線手段１９７が、配置配線完了後のレイアウトデータ９を出力する（ステップＳＴ６８）。
【０１１１】
図１９は実施の形態６の自動配置配線装置を用いて設計される半導体回路のレイアウトを段階的に示す図である。図１９は、配線混雑度の低い半導体回路を設計するために、次のネットの概略配線が２本のネットの概略配線が重なる配線混雑部を通過しないように概略配線を修正する例を示している。
【０１１２】
図１９（ａ）から図１９（ｅ）では、メモリマクロセル２１１がヒューズマクロセル２１２と対向して配置されている。メモリマクロセル２１１のヒューズマクロセル２１２側の辺には、ヒューズマクロセル２１２と接続するための端子ａ〜ｄが位置する。また、ヒューズマクロセル２１２のメモリマクロセル２１１側の辺には、メモリマクロセル２１１と接続するための端子ｅ〜ｈが位置する。
図１９（ａ）に示すように、第１のネットの概略配線２１３がメモリマクロセル２１１の端子ｂとヒューズマクロセル２１２の端子ｆとを接続し、第２のネットの概略配線２１４がメモリマクロセル２１１の端子ｄとヒューズマクロセル２１２の端子ｇとを接続する。
【０１１３】
図１９（ｂ）に示すように、第３のネットの概略配線２１５がメモリマクロセル２１１の端子ａとヒューズマクロセル２１２の端子ｈとを接続する。
図１９（ｂ）に示す状態から第４のネットの概略配線を決定した場合、図１９（ｃ）に示すように、第４のネットの概略配線２１６がメモリマクロセル２１１の端子ｃとヒューズマクロセル２１２の端子ｅとを接続し、概略配線２１３と概略配線２１５とが重なる配線混雑部２１７を通過する。このため、図１９（ｂ）の状態になったとき、メモリマクロセル２１１の端子ｂが接続するヒューズマクロセル２１２の端子を端子ｅに入れ替えることにより、第１のネットの概略配線を修正する。
【０１１４】
図１９（ｄ）に示すように、修正後の第１のネットの概略配線２１８はメモリマクロセル２１１の端子ｂとヒューズマクロセル２１２の端子ｅとを接続する。図１９（ｄ）に示す状態から第４のネットの概略配線を決定した場合、図１９（ｅ）に示すように、第４のネットの概略配線２１９がメモリマクロセル２１１の端子ｃとヒューズマクロセル２１２の端子ｆとを接続し、配線混雑部を通過しない。従って、図１９（ｅ）に示す状態は、図１９（ｃ）に示す状態より配線混雑度が小さい。
【０１１５】
以上のように、実施の形態６によれば、１本のネットの概略配線が決定される度に配線混雑度を算出し、それが基準値以下になるように、概略配線を修正する。このため、基準値を適当な値にすることによりメモリマクロセルとヒューズマクロセルとの間の配線混雑度を低くすることができる。従って、レイアウトサイズの小さい半導体回路を設計することができる。
また、実施の形態６によれば、１本のネットの概略配線が決定される度に配線混雑度を算出し、その結果に基づいて概略配線を修正するため、実施の形態５の場合のように、１本のネットの詳細配線が決定される度に配線混雑度を算出し、その結果に基づいて詳細配線を修正する場合に比べて、概略配線の修正の処理時間を短縮することができる。
【０１１６】
【発明の効果】
以上のように、この発明によれば、各ネットの概略配線に沿った距離の総和を算出する計算手段と、各ネットの概略配線に沿った距離の総和が基準値より大きい場合、所定のネットの概略配線を修正する修正手段とを備えるように自動配置配線装置を構成したので、メモリマクロセルとヒューズマクロセルとの間の配線混雑度が低く、レイアウトサイズの小さい半導体回路を設計することができる効果がある。
【０１１７】
この発明によれば、メモリセルの端子がメモリセルの中心に位置すると仮定して、各ネットのメモリセルの端子とヒューズセルの端子との間の距離の総和を算出する計算手段と、各ネットのメモリセルの端子とヒューズセルの端子との間の距離の総和が基準値より大きい場合、所定のネットの概略配線を修正する修正手段とを備えるように自動配置配線装置を構成したので、メモリマクロセルとヒューズマクロセルとの間の配線混雑度が低く、レイアウトサイズの小さい半導体回路を設計することができる効果がある。
【０１１８】
この発明によれば、メモリセルとヒューズセルのそれぞれの対向する辺と平行な配線成分の密度を算出する計算手段と、配線成分の密度が基準値より大きい場合、所定のネットの概略配線を修正する修正手段とを備えるように自動配置配線装置を構成したので、メモリマクロセルとヒューズマクロセルとの間の配線混雑度が低く、レイアウトサイズの小さい半導体回路を設計することができる効果がある。
【０１１９】
この発明によれば、１本のネットについて詳細配線が決定される度に、既に詳細配線が決定されたネットの詳細配線結果に基づいて、メモリセルとヒューズセルとの間の配線混雑度を算出する計算手段と、配線混雑度が基準値より大きい場合、既に概略配線が決定されたネットのうちの所定のネットの概略配線を修正し、その修正に合わせて、詳細配線を修正する修正手段とを備えるように自動配置配線装置を構成したので、メモリマクロセルとヒューズマクロセルとの間の配線混雑度が低く、レイアウトサイズの小さい半導体回路を設計することができる効果がある。
【０１２０】
この発明によれば、１本のネットについて概略配線が決定される度に、既に概略配線が決定されたネットの概略配線結果に基づいて、メモリセルとヒューズセルとの間の配線混雑度を算出する計算手段と、配線混雑度が基準値より大きい場合、既に概略配線が決定されたネットのうちの所定のネットの概略配線を修正する修正手段とを備えるように自動配置配線装置を構成したので、メモリマクロセルとヒューズマクロセルとの間の配線混雑度が低く、レイアウトサイズの小さい半導体回路を設計することができる効果がある。
【図面の簡単な説明】
【図１】各実施の形態の自動配置配線装置が適用される半導体回路設計装置を示すブロック図である。
【図２】実施の形態１の自動配置配線装置を示すブロック図である。
【図３】実施の形態１の自動配置配線装置の動作を示すフローチャートである。
【図４】実施の形態１の自動配置配線装置を用いて設計された半導体回路のレイアウト図である。
【図５】実施の形態２の自動配置配線装置を示すブロック図である。
【図６】実施の形態２の自動配置配線装置の動作を示すフローチャートである。
【図７】実施の形態２の自動配置配線装置を用いて設計された半導体回路のレイアウト図である。
【図８】実施の形態３の自動配置配線装置を示すブロック図である。
【図９】メモリマクロセルの端子がメモリマクロセルの中心に位置すると仮定した状態を示す図である。
【図１０】実施の形態３の自動配置配線装置の動作を示すフローチャートである。
【図１１】実施の形態４の自動配置配線装置を示すブロック図である。
【図１２】実施の形態４の自動配置配線装置の動作を示すフローチャートである。
【図１３】実施の形態４の自動配置配線装置を用いて設計された半導体回路のレイアウト図である。
【図１４】実施の形態５の自動配置配線装置を示すブロック図である。
【図１５】実施の形態５の自動配置配線装置の動作を示すフローチャートである。
【図１６】実施の形態５の自動配置配線装置を用いて設計される半導体回路のレイアウトを段階的に示す図である。
【図１７】実施の形態６の自動配置配線装置を示すブロック図である。
【図１８】実施の形態６の自動配置配線装置の動作を示すフローチャートである。
【図１９】実施の形態６の自動配置配線装置を用いて設計される半導体回路のレイアウトを段階的に示す図である。
【符号の説明】
１  半導体回路設計装置、２  入力装置、３  解析装置、４，１１，５１，９１，１２１，１６１，１９１  自動配置配線装置、５  出力装置、６  マクロセル、７，８，１９，１２９  接続情報、９  配置配線完了後のレイアウトデータ、１２，１２２  配置手段、１３，１２３，１６３，１９３  概略配線手段、１４，９４，１２４，１６５，１９４  計算手段、１５，９５，１２５，１６６，１９５  判定手段、１６，５６，９６，１２６，１６７，１９６  修正手段、１７，５７，９７，１２７，１６４，１９７  詳細配線手段、１８，１２８  マクロセル配置後のレイアウトデータ、２０，１３０，１７０  概略配線情報、２１概略配線距離情報、２２，１０２，１３２，１７３，２０３  判定情報、２３，６３，１０３，１３３  修正概略配線情報、１０１  端子間距離情報、１３１配線密度情報、１７１  詳細配線情報、１７２，２０２  配線混雑情報、１７４，２０４  概略配線決定命令、２００  概略配線中間情報、２０１  概略配線最終情報。
【図１】
2004199625.tif 000003
【図２】
2004199625.tif 000004
【図３】
2004199625.tif 000005
【図４】
2004199625.tif 000006
【図５】
2004199625.tif 000007
【図６】
2004199625.tif 000008
【図７】
2004199625.tif 000009
【図８】
2004199625.tif 000010
【図９】
2004199625.tif 000011
【図１０】
2004199625.tif 000012
【図１１】
2004199625.tif 000013
【図１２】
2004199625.tif 000014
【図１３】
2004199625.tif 000015
【図１４】
2004199625.tif 000016
【図１５】
2004199625.tif 000017
【図１６】
2004199625.tif 000018
【図１７】
2004199625.tif 000019
【図１８】
2004199625.tif 000020
【図１９】
2004199625.tif 000021