JP2885635B2 - 半導体集積回路の設計方法 - Google Patents
半導体集積回路の設計方法Info
- Publication number
- JP2885635B2 JP2885635B2 JP6037125A JP3712594A JP2885635B2 JP 2885635 B2 JP2885635 B2 JP 2885635B2 JP 6037125 A JP6037125 A JP 6037125A JP 3712594 A JP3712594 A JP 3712594A JP 2885635 B2 JP2885635 B2 JP 2885635B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- processing unit
- central processing
- cell
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【0001】
【産業上の利用分野】この発明は、マスクパターンが自
動配置配線デジタルコンピュータによるレイアウト設計
に従ってパターン化するためのポリセル機能ブロックを
備えている半導体集積回路(IC)の設計方法に関す
る。
動配置配線デジタルコンピュータによるレイアウト設計
に従ってパターン化するためのポリセル機能ブロックを
備えている半導体集積回路(IC)の設計方法に関す
る。
【0002】
【従来の技術】半導体集積回路において、機能ブロック
は代表的にはゲートアレー大規模集積(LSI)および
/またはスタンダードセル大規模集積技術によりを集積
されている。後で例示するように、各機能ブロックは複
数のマクロブロックを備え、各マクロブロックは高さが
実質的に共通の複数の長方形基本セルを備えている。
は代表的にはゲートアレー大規模集積(LSI)および
/またはスタンダードセル大規模集積技術によりを集積
されている。後で例示するように、各機能ブロックは複
数のマクロブロックを備え、各マクロブロックは高さが
実質的に共通の複数の長方形基本セルを備えている。
【0003】後で更に詳細に述べるように、従来、マス
クパターンには、機能ブロックの各々におけるマクロブ
ロックの接続の接続情報のみに基づいたパターンが与え
られている。従来の自動配置配線デジタルコンピュータ
は、接続情報を読み込み、配置、概略配線、および詳細
配線の3つの次々の段階によりマスクパターンのパター
ンデータを生成している。配置の間に、構成的初期配置
法と反復配置改良法とが組み合わされる。このような配
置、概略配置、および詳細配置は、様々な文献、例え
ば、電子通信学会によって編集されオーム社によって1
959年に出版された「LSIハンドブック」の3.2
項「レイアウト設計」に述べられている。
クパターンには、機能ブロックの各々におけるマクロブ
ロックの接続の接続情報のみに基づいたパターンが与え
られている。従来の自動配置配線デジタルコンピュータ
は、接続情報を読み込み、配置、概略配線、および詳細
配線の3つの次々の段階によりマスクパターンのパター
ンデータを生成している。配置の間に、構成的初期配置
法と反復配置改良法とが組み合わされる。このような配
置、概略配置、および詳細配置は、様々な文献、例え
ば、電子通信学会によって編集されオーム社によって1
959年に出版された「LSIハンドブック」の3.2
項「レイアウト設計」に述べられている。
【0004】
【発明が解決しようとする課題】しかしながら、接続情
報のみが使用されているので、構成的初期配置法と逐次
配置改善法とによってはマクロブロックのおのおのに基
本セルの最適配置を達成することは困難であることが本
発明者によって分かって来た。換言すれば、機能ブロッ
クの基本セルのできるだけ最短の接続を達成する最適マ
スクパターンと、最高可能動作速度および小電力消費の
ような機能ブロックのできるだけ最善の電気特性とを達
成することは困難であった。特に、これら欠点は、集積
回路が演算論理ユニット(ALU)や乗算器のようなビ
ットスライス構成を備えるときに、不可避である。
報のみが使用されているので、構成的初期配置法と逐次
配置改善法とによってはマクロブロックのおのおのに基
本セルの最適配置を達成することは困難であることが本
発明者によって分かって来た。換言すれば、機能ブロッ
クの基本セルのできるだけ最短の接続を達成する最適マ
スクパターンと、最高可能動作速度および小電力消費の
ような機能ブロックのできるだけ最善の電気特性とを達
成することは困難であった。特に、これら欠点は、集積
回路が演算論理ユニット(ALU)や乗算器のようなビ
ットスライス構成を備えるときに、不可避である。
【0005】そこで、本発明の主な技術的課題は、ポリ
セル機能ブロックを製造するマスクパターンを、これら
機能ブロックおのおのが複数のマクロブロックを備えこ
れらマクロブロックのおのおのが高さの実質的に共通な
複数の基本セルを備えるように、パターン化した半導体
集積回路の設計方法を提供することにある。
セル機能ブロックを製造するマスクパターンを、これら
機能ブロックおのおのが複数のマクロブロックを備えこ
れらマクロブロックのおのおのが高さの実質的に共通な
複数の基本セルを備えるように、パターン化した半導体
集積回路の設計方法を提供することにある。
【0006】本発明の他の主な技術的課題は、マスクパ
ターンが最適にされるために、機能ブロックにおける基
本セルにできるだけ最短接続と、機能ブロックのできる
だけ最善の電気特性とを達成する半導体集積回路の設計
方法を提供することにある。
ターンが最適にされるために、機能ブロックにおける基
本セルにできるだけ最短接続と、機能ブロックのできる
だけ最善の電気特性とを達成する半導体集積回路の設計
方法を提供することにある。
【0007】
【課題を解決するための手段】本発明は、ポリセル機能
ブロックを備え、これら機能ブロック用のマスクパター
ンをレイアウト設計に従ってコンピュータにより、機能
ブロックのおのおのが複数のマクロブロックを備えマク
ロブロックのおのおのが高さの実質的に共通な複数の基
本セルを備えるように形成するための半導体集積回路の
設計方法であって、前記コンピュータは、中央処理ユニ
ットと、プログラムを格納しこの中央処理ユニットによ
って読みとられるプログラムメモリとを備え、しかも前
記プログラムに基づいて、機能ブロックのおのおのにお
けるマクロブロックの接続情報を格納している第1のメ
モリと、機能ブロックのおのおのにおける基本セルの前
記接続情報に対応する配置情報を格納している第2のメ
モリと、前記基本セルの幅および前記マクロブロックの
高さを格納している第3のメモリとから情報を読み取っ
て設計を行う半導体集積回路の設計方法において、前記
プログラムは、前記機能ブロックのうちの現在の機能ブ
ロックにおいて、前記マクロブロックのうちの現在のマ
クロブロックの前記基本セルをひとつずつ読み込みセル
として前記中央処理ユニットが前記第2のメモリから読
み込む第1のステップと、前記現在の機能ブロックにお
いて前記読み込みセルがこのような読み込みセルとして
おのおのが前記第1のステップに既に読み込まれた他の
基本セルに関連して持つ相対位置を前記配置情報として
前記中央処理ユニットが前記第2のメモリから読み込む
第2のステップと、前記相対位置が、前記現在のマクロ
ブロックの前記読み込みセルは、先行マクロブロックの
真下の列にあることを示す時、前記中央処理ユニットが
前記第3のメモリから第1の中間結果として前記読み込
みセルの幅および前記現在のマクロブロックの真上に位
置する前記先行マクロブロックの高さを読み込む第3の
ステップと、前記中央処理ユニットに前記第1の中間結
果を使用して、前記半導体集積回路に関して定義される
前記読み込みセルの絶対座標を第2の中間結果として計
算させる第4のステップと、第3の中間結果として、前
記読み込みセルに対する前記他の基本セルへのおよび該
基本セルからの配線を決定するため前記中央処理ユニッ
トに前記第1のメモリから前記接続情報を読み出させる
中間ステップと、前記マスクパターンに前記読み込みセ
ルを加えるために、前記中央処理ユニットに前記第2お
よび前記第3の中間結果を使用させる第5のステップ
と、前記現在の機能ブロックが前記マスクパターンに全
て加算されるまで前記中央処理ユニットに前記第1から
第4、前記中間、および前記第5のステップを繰り返す
ステップとを実行させるものであることを特徴とする。
ブロックを備え、これら機能ブロック用のマスクパター
ンをレイアウト設計に従ってコンピュータにより、機能
ブロックのおのおのが複数のマクロブロックを備えマク
ロブロックのおのおのが高さの実質的に共通な複数の基
本セルを備えるように形成するための半導体集積回路の
設計方法であって、前記コンピュータは、中央処理ユニ
ットと、プログラムを格納しこの中央処理ユニットによ
って読みとられるプログラムメモリとを備え、しかも前
記プログラムに基づいて、機能ブロックのおのおのにお
けるマクロブロックの接続情報を格納している第1のメ
モリと、機能ブロックのおのおのにおける基本セルの前
記接続情報に対応する配置情報を格納している第2のメ
モリと、前記基本セルの幅および前記マクロブロックの
高さを格納している第3のメモリとから情報を読み取っ
て設計を行う半導体集積回路の設計方法において、前記
プログラムは、前記機能ブロックのうちの現在の機能ブ
ロックにおいて、前記マクロブロックのうちの現在のマ
クロブロックの前記基本セルをひとつずつ読み込みセル
として前記中央処理ユニットが前記第2のメモリから読
み込む第1のステップと、前記現在の機能ブロックにお
いて前記読み込みセルがこのような読み込みセルとして
おのおのが前記第1のステップに既に読み込まれた他の
基本セルに関連して持つ相対位置を前記配置情報として
前記中央処理ユニットが前記第2のメモリから読み込む
第2のステップと、前記相対位置が、前記現在のマクロ
ブロックの前記読み込みセルは、先行マクロブロックの
真下の列にあることを示す時、前記中央処理ユニットが
前記第3のメモリから第1の中間結果として前記読み込
みセルの幅および前記現在のマクロブロックの真上に位
置する前記先行マクロブロックの高さを読み込む第3の
ステップと、前記中央処理ユニットに前記第1の中間結
果を使用して、前記半導体集積回路に関して定義される
前記読み込みセルの絶対座標を第2の中間結果として計
算させる第4のステップと、第3の中間結果として、前
記読み込みセルに対する前記他の基本セルへのおよび該
基本セルからの配線を決定するため前記中央処理ユニッ
トに前記第1のメモリから前記接続情報を読み出させる
中間ステップと、前記マスクパターンに前記読み込みセ
ルを加えるために、前記中央処理ユニットに前記第2お
よび前記第3の中間結果を使用させる第5のステップ
と、前記現在の機能ブロックが前記マスクパターンに全
て加算されるまで前記中央処理ユニットに前記第1から
第4、前記中間、および前記第5のステップを繰り返す
ステップとを実行させるものであることを特徴とする。
【0008】
【実施例】図1を参照して、半導体集積回路は一般にポ
リセル機能ブロックを備えており、ポリセル機能ブロッ
クのおのおのは複数のマクロブロックを備えていること
をまず述べる。半導体集積回路において、機能ブロック
は代表的にはゲートアレー大規模集積および/またはス
タンダードセル大規模集積技術により集積されている。
図示されている例では、マクロブロックの一つはビット
スライス構成を持っており、第1から第Mまでの共通の
ビット幅を持つ1ビット分のマクロブロックA(1)〜
A(M)(Mは機能ブロックに依存している第1の整数
を表わす)を備えている。換言すれば、マクロブロック
A(添字省略)は、互いに同一であっても異なっていて
も良い。第mのマクロブロックA(m)を、マクロブロ
ックAの代表として図示する(mは1とMとの双方を含
みそれらの間で可変)。
リセル機能ブロックを備えており、ポリセル機能ブロッ
クのおのおのは複数のマクロブロックを備えていること
をまず述べる。半導体集積回路において、機能ブロック
は代表的にはゲートアレー大規模集積および/またはス
タンダードセル大規模集積技術により集積されている。
図示されている例では、マクロブロックの一つはビット
スライス構成を持っており、第1から第Mまでの共通の
ビット幅を持つ1ビット分のマクロブロックA(1)〜
A(M)(Mは機能ブロックに依存している第1の整数
を表わす)を備えている。換言すれば、マクロブロック
A(添字省略)は、互いに同一であっても異なっていて
も良い。第mのマクロブロックA(m)を、マクロブロ
ックAの代表として図示する(mは1とMとの双方を含
みそれらの間で可変)。
【0009】図2に移ると、各マクロブロックは、高さ
が実質的に共通で幅がさまざまな複数の長方形基本セル
を備えている。第mのマクロブロックA(m)は、第1
から第Nまでの基本セルB(1)〜B(N)を備えてい
る(Nはマクロブロックと機能ブロックとに依存する第
2の整数であって第1の整数と等しくても等しくなくて
も良い)。基本セルB(添字省略)は、概ね共通の幅を
持つように図示されているが単に便宜のためである。基
本セルBの一つを、第nの基本セルB(n)として示さ
れている(nは1とNとの双方を含みそれらの間で可
変)。このような基本セルB(n)はANDゲートまた
はNORゲートのいずれかであっても良い。
が実質的に共通で幅がさまざまな複数の長方形基本セル
を備えている。第mのマクロブロックA(m)は、第1
から第Nまでの基本セルB(1)〜B(N)を備えてい
る(Nはマクロブロックと機能ブロックとに依存する第
2の整数であって第1の整数と等しくても等しくなくて
も良い)。基本セルB(添字省略)は、概ね共通の幅を
持つように図示されているが単に便宜のためである。基
本セルBの一つを、第nの基本セルB(n)として示さ
れている(nは1とNとの双方を含みそれらの間で可
変)。このような基本セルB(n)はANDゲートまた
はNORゲートのいずれかであっても良い。
【0010】図3を参照して、マクロブロックAと基本
セルBとは、それらから外部に伸びるラインによって図
示された入出力端子を持っている。図示されている機能
ブロックにおいては、入出力端子が示すように接続され
ている。従って、図3は、機能ブロックのおのおのにお
けるマクロブロックAの接続の接続情報と、マクロブロ
ックAのおのおのにおける基本セルの接続の接続情報と
を表わしている。
セルBとは、それらから外部に伸びるラインによって図
示された入出力端子を持っている。図示されている機能
ブロックにおいては、入出力端子が示すように接続され
ている。従って、図3は、機能ブロックのおのおのにお
けるマクロブロックAの接続の接続情報と、マクロブロ
ックAのおのおのにおける基本セルの接続の接続情報と
を表わしている。
【0011】図1と図2とを再び参照すると共に図4に
移って、機能ブロックのマクロブロックおよび基本セル
(例えばAおよびB)を、マスクパターンを使用するこ
とによって半導体チップまたは基板上に製造する。図4
において、第1のマクロブロックA(1)は、第1から
第Nの基本セルA(1)B(1)、A(1)B(2)、
…、およびA(1)B(N)から成る。他の基本セルを
同様な参照記号を付けてある。各機能ブロックにおい
て、第1から第MのマクロブロックAを図面の天から地
に次々にマスクパターン上に配置する。各マクロブロッ
クにおいて、第1から第Nまでの基本セルBを、左から
右にマスクパターン上に配置する。従って、図4は、機
能ブロックのおのおのにおける基本セルBの配置の配置
情報を表わす。
移って、機能ブロックのマクロブロックおよび基本セル
(例えばAおよびB)を、マスクパターンを使用するこ
とによって半導体チップまたは基板上に製造する。図4
において、第1のマクロブロックA(1)は、第1から
第Nの基本セルA(1)B(1)、A(1)B(2)、
…、およびA(1)B(N)から成る。他の基本セルを
同様な参照記号を付けてある。各機能ブロックにおい
て、第1から第MのマクロブロックAを図面の天から地
に次々にマスクパターン上に配置する。各マクロブロッ
クにおいて、第1から第Nまでの基本セルBを、左から
右にマスクパターン上に配置する。従って、図4は、機
能ブロックのおのおのにおける基本セルBの配置の配置
情報を表わす。
【0012】図5を参照して、従来の自動配置配線デジ
タルコンピュータを以下のように動作する。半導体集積
回路のポリセル機能ブロックにおけるレイアウト設計に
従ってマスクパターンをパターンニングする。機能ブロ
ックのおのおのは、図1に関して前に説明した複数のマ
クロブロックAを含んでいる。マクロブロックAのおの
おのは、図2に関して述べたように複数の基本セルBを
備えている。機能ブロックのおのおのにおいては、マク
ロブロックAと基本セルBとは、図3に関連して述べた
接続情報に従って接続される。デジタルコンピュータ
は、後で、接続情報メモリおよび結果メモリと共に図示
する。
タルコンピュータを以下のように動作する。半導体集積
回路のポリセル機能ブロックにおけるレイアウト設計に
従ってマスクパターンをパターンニングする。機能ブロ
ックのおのおのは、図1に関して前に説明した複数のマ
クロブロックAを含んでいる。マクロブロックAのおの
おのは、図2に関して述べたように複数の基本セルBを
備えている。機能ブロックのおのおのにおいては、マク
ロブロックAと基本セルBとは、図3に関連して述べた
接続情報に従って接続される。デジタルコンピュータ
は、後で、接続情報メモリおよび結果メモリと共に図示
する。
【0013】接続情報メモリに予め格納された接続情報
は、第1の従来のステップCS1で読み込まれ、それ以
降のステップで使用されマスクパターンのパターンデー
タを結果メモリに格納するのに使われる。更に詳しく
は、デジタルコンピュータは、第2の従来のステップC
S2でここまでに述べた配置を実行する。第3の従来の
ステップCS3では、デジタルコンピュータは、上述し
た概略配線を処理する。第4の従来のステップCS4で
は、デジタルコンピュータは、詳細配線を処理し、パタ
ーンデータを結果情報として生成する。第5の従来のス
テップCS5では、結果情報は、結果メモリに格納され
る。
は、第1の従来のステップCS1で読み込まれ、それ以
降のステップで使用されマスクパターンのパターンデー
タを結果メモリに格納するのに使われる。更に詳しく
は、デジタルコンピュータは、第2の従来のステップC
S2でここまでに述べた配置を実行する。第3の従来の
ステップCS3では、デジタルコンピュータは、上述し
た概略配線を処理する。第4の従来のステップCS4で
は、デジタルコンピュータは、詳細配線を処理し、パタ
ーンデータを結果情報として生成する。第5の従来のス
テップCS5では、結果情報は、結果メモリに格納され
る。
【0014】図6に移ると、デジタルコンピュータは、
本発明の一実施例によると次に詳細に述べるように動作
する。まもなく述べるが、デジタルコンピュータは、機
能ブロックのおのおのにおける基本セルBの配置または
配列について図4に関連して述べた配置情報が予め格納
された配置情報メモリを追加的に備えている。
本発明の一実施例によると次に詳細に述べるように動作
する。まもなく述べるが、デジタルコンピュータは、機
能ブロックのおのおのにおける基本セルBの配置または
配列について図4に関連して述べた配置情報が予め格納
された配置情報メモリを追加的に備えている。
【0015】デジタルコンピュータは、第1のステップ
S1で接続情報メモリからの接続情報および第2のステ
ップで配置情報メモリからの配置情報を読み込む。接続
情報および配置情報に基づいてデジタルコンピュータ
は、追って詳述するようにパターンデータを生成する。
概説的に述べると、デジタルコンピュータは、第3のス
テップS3で配置、第4のステップS4で概略配線、お
よび第5のステップS5で詳細配線を処理し、パターン
データを結果情報として生成する。第6のステップS6
では、結果情報を結果メモリに格納する。
S1で接続情報メモリからの接続情報および第2のステ
ップで配置情報メモリからの配置情報を読み込む。接続
情報および配置情報に基づいてデジタルコンピュータ
は、追って詳述するようにパターンデータを生成する。
概説的に述べると、デジタルコンピュータは、第3のス
テップS3で配置、第4のステップS4で概略配線、お
よび第5のステップS5で詳細配線を処理し、パターン
データを結果情報として生成する。第6のステップS6
では、結果情報を結果メモリに格納する。
【0016】図7を参照して、自動配置配線デジタルコ
ンピュータは、図6において概略を説明したようにマス
クパターンのパターン情報を生成することによってマス
クパターンのパターンニングを処理するためのものであ
る。デジタルコンピュータは、中央処理ユニット(CP
U)11とプログラムメモリ13とを備えている。公知
のようにプログラムメモリ13には、中央処理ユニット
11を動作させるプログラムを格納する。中央処理ユニ
ット11は、ステップ毎にプログラムを読み込む。
ンピュータは、図6において概略を説明したようにマス
クパターンのパターン情報を生成することによってマス
クパターンのパターンニングを処理するためのものであ
る。デジタルコンピュータは、中央処理ユニット(CP
U)11とプログラムメモリ13とを備えている。公知
のようにプログラムメモリ13には、中央処理ユニット
11を動作させるプログラムを格納する。中央処理ユニ
ット11は、ステップ毎にプログラムを読み込む。
【0017】中央処理ユニット11とプログラムメモリ
13とをまとめて、ここに改めてデジタルコンピュータ
と呼ぶ。次に述べるようにデジタルコンピュータ(1
1、13)は操作システムを伴う。プログラムメモリ1
3の中のプログラムが操作システムの動作に適応してい
るならば、中央処理ユニット11は操作システムに隣接
して使用される必要はなく、操作システムから遠隔に置
かれた一般目的コンピュータのCPUであっても良い。
13とをまとめて、ここに改めてデジタルコンピュータ
と呼ぶ。次に述べるようにデジタルコンピュータ(1
1、13)は操作システムを伴う。プログラムメモリ1
3の中のプログラムが操作システムの動作に適応してい
るならば、中央処理ユニット11は操作システムに隣接
して使用される必要はなく、操作システムから遠隔に置
かれた一般目的コンピュータのCPUであっても良い。
【0018】操作システムは、第1および第2のメモリ
15および17を備えている。第1のメモリ15は図5
において述べた接続情報メモリである。第2のメモリ1
7は図6において述べた配置情報メモリである。操作シ
ステムは、さらに第3のメモリ19および結果メモリ
(第4のメモリ)21を備えている。第3のメモリ19
は一般にライブラリと呼ばれ、集積回路の機能ブロック
のマクロブロック(例えば、A)の高さおよび基本セル
(例えばB)の幅を予め格納してある。第4のメモリ2
1は、すぐに述べる。配置、概略配線、および詳細配線
の次々の3段階の実行の間、中央処理ユニット11は、
これら次々の3段階に関してプログラムメモリ13に格
納されたプログラムに従って第1から第4のメモリ15
〜21を参照する。
15および17を備えている。第1のメモリ15は図5
において述べた接続情報メモリである。第2のメモリ1
7は図6において述べた配置情報メモリである。操作シ
ステムは、さらに第3のメモリ19および結果メモリ
(第4のメモリ)21を備えている。第3のメモリ19
は一般にライブラリと呼ばれ、集積回路の機能ブロック
のマクロブロック(例えば、A)の高さおよび基本セル
(例えばB)の幅を予め格納してある。第4のメモリ2
1は、すぐに述べる。配置、概略配線、および詳細配線
の次々の3段階の実行の間、中央処理ユニット11は、
これら次々の3段階に関してプログラムメモリ13に格
納されたプログラムに従って第1から第4のメモリ15
〜21を参照する。
【0019】第4のメモリ21は、中央処理ユニット1
1が次々の3段階の実行の中間結果および、最終的にパ
ターン情報を最終結果として格納する中間および最終結
果メモリである。第1から第4のメモリ15〜21は、
別個の記憶装置である必要はないが、実務ではディスク
メモリの4つの領域を割り当てる。次々の3段階の実行
のために、特定のプログラムがプログラムメモリ13に
格納されている。ついでながら、動作領域として使用さ
れる主記憶装置、入力装置(例えば、キーボード)、出
力装置(例えば、プリンター)、および次々の3段階の
進行状況を目視するための表示装置を備えている通常の
周辺装置は図面から省略してある。
1が次々の3段階の実行の中間結果および、最終的にパ
ターン情報を最終結果として格納する中間および最終結
果メモリである。第1から第4のメモリ15〜21は、
別個の記憶装置である必要はないが、実務ではディスク
メモリの4つの領域を割り当てる。次々の3段階の実行
のために、特定のプログラムがプログラムメモリ13に
格納されている。ついでながら、動作領域として使用さ
れる主記憶装置、入力装置(例えば、キーボード)、出
力装置(例えば、プリンター)、および次々の3段階の
進行状況を目視するための表示装置を備えている通常の
周辺装置は図面から省略してある。
【0020】図6を参照すると共に図8に移って、配置
情報は、配置情報ファイルとして第2のメモリ17に格
納される。機能ブロックの一つについて説明している例
において、このファイルは、今述べている機能ブロック
のマクロブロックAを通じて6に等しいと仮定された第
1の整数Mと、8に等しいとして仮定された第2の整数
とを使って図4に図示された配置情報を表わしている。
情報は、配置情報ファイルとして第2のメモリ17に格
納される。機能ブロックの一つについて説明している例
において、このファイルは、今述べている機能ブロック
のマクロブロックAを通じて6に等しいと仮定された第
1の整数Mと、8に等しいとして仮定された第2の整数
とを使って図4に図示された配置情報を表わしている。
【0021】配置情報ファイルは、第1のマクロブロッ
クA(1)の基本セルをA(1)B(1)、A(1)B
(2)、…、およびA(1)B(8)で表す。同様にし
て、このファイルは、図示された例において第M番目の
マクロブロックA(M)である第6のマクロブロックA
(6)についてはA(6)B(1)、A(6)B
(2)、…、およびA(6)B(8)を表示する。
クA(1)の基本セルをA(1)B(1)、A(1)B
(2)、…、およびA(1)B(8)で表す。同様にし
て、このファイルは、図示された例において第M番目の
マクロブロックA(M)である第6のマクロブロックA
(6)についてはA(6)B(1)、A(6)B
(2)、…、およびA(6)B(8)を表示する。
【0022】配置情報ファイルでは、マクロブロックA
の2つの隣接するものは、ワードプロセッサで「プリン
トアウト」における改行マークによくあるように、ここ
では図示していないライン更新コードによって区分され
ている。マクロブロックAのおのおのには、基本セルB
の2つの隣接するものがコンマ(,)で区分されてい
る。
の2つの隣接するものは、ワードプロセッサで「プリン
トアウト」における改行マークによくあるように、ここ
では図示していないライン更新コードによって区分され
ている。マクロブロックAのおのおのには、基本セルB
の2つの隣接するものがコンマ(,)で区分されてい
る。
【0023】新たに図9をそして再び図7を参照して、
プログラムメモリ13に特別に格納されたプログラムに
従って、次々の3段階を次のように実行する。配置ファ
イルは、図8に関して述べたように第2のメモリ17に
格納される。次々の3段階のスタートの後、中央処理ユ
ニット11は第1の詳細なステップSS1で現在の機能
ブロックのマクロブロックすなわち現在のマクロブロッ
クの基本セルBの一つを第2のメモリ17から読み込み
セルとして読み込む。
プログラムメモリ13に特別に格納されたプログラムに
従って、次々の3段階を次のように実行する。配置ファ
イルは、図8に関して述べたように第2のメモリ17に
格納される。次々の3段階のスタートの後、中央処理ユ
ニット11は第1の詳細なステップSS1で現在の機能
ブロックのマクロブロックすなわち現在のマクロブロッ
クの基本セルBの一つを第2のメモリ17から読み込み
セルとして読み込む。
【0024】配置情報ファイルを参照して、中央処理ユ
ニット11は、読み込みセルがこの読み込みセルに先行
セルとして直ちに先行する他のものからコンマによって
分けられているかまたはライン更新コードによって分け
られているかを判定する。もしコンマによって先行され
ているならば、読み込みセルは、現在のマクロブロック
において先行セルの右側のブロック内相対位置に置く。
もしライン更新コードによって分けられているならば、
その読み込みセルは、現在のブロックの最も左のブロッ
ク内相対位置に置く。もしコンマによってもライン更新
コードによっても分けられていないならば、読み込みセ
ルは、現在のマクロブロックの最も上と最も左の内ブロ
ック相対位置を持つべきである。このようにして、中央
処理ユニット11は、第2の詳細なステップSS2で読
み込みセルのこのような相対位置を決定する。
ニット11は、読み込みセルがこの読み込みセルに先行
セルとして直ちに先行する他のものからコンマによって
分けられているかまたはライン更新コードによって分け
られているかを判定する。もしコンマによって先行され
ているならば、読み込みセルは、現在のマクロブロック
において先行セルの右側のブロック内相対位置に置く。
もしライン更新コードによって分けられているならば、
その読み込みセルは、現在のブロックの最も左のブロッ
ク内相対位置に置く。もしコンマによってもライン更新
コードによっても分けられていないならば、読み込みセ
ルは、現在のマクロブロックの最も上と最も左の内ブロ
ック相対位置を持つべきである。このようにして、中央
処理ユニット11は、第2の詳細なステップSS2で読
み込みセルのこのような相対位置を決定する。
【0025】次いで、中央処理ユニット11は、第3の
詳細なステップSS3で第3のメモリ19を読み込み、
先行マクロブロックの真下に置かれた列に現在のマクロ
ブロックの読み込みセルが有ると相対位置が表示するな
らば、現在のマクロブロックの真上に置かれた先行マク
ロブロックの高さと読み込みセルの幅とを、第1の中間
結果として知る。第4の詳細なステップSS4では、中
央処理ユニット11は、第2の中間結果として集積回路
における読み込みセルの絶対座標を計算する際、第1の
中間結果を使用する。このような絶対座標は、集積回路
に従って現在の機能ブロックに関する座標系によって定
義される。
詳細なステップSS3で第3のメモリ19を読み込み、
先行マクロブロックの真下に置かれた列に現在のマクロ
ブロックの読み込みセルが有ると相対位置が表示するな
らば、現在のマクロブロックの真上に置かれた先行マク
ロブロックの高さと読み込みセルの幅とを、第1の中間
結果として知る。第4の詳細なステップSS4では、中
央処理ユニット11は、第2の中間結果として集積回路
における読み込みセルの絶対座標を計算する際、第1の
中間結果を使用する。このような絶対座標は、集積回路
に従って現在の機能ブロックに関する座標系によって定
義される。
【0026】図6において述べたように、中央処理ユニ
ット11は、第1のメモリ15から読み込みセルに関し
て接続情報を読み込み、現在のマクロブロックおよび先
行のマクロブロックにおける基本セルBの他のものへお
よび他のものからの読み込みセルの概略配線と詳細配線
とを第3の中間結果として決定する。中央処理ユニット
11は、第4のメモリ21における第2および第3の中
間結果を格納する。
ット11は、第1のメモリ15から読み込みセルに関し
て接続情報を読み込み、現在のマクロブロックおよび先
行のマクロブロックにおける基本セルBの他のものへお
よび他のものからの読み込みセルの概略配線と詳細配線
とを第3の中間結果として決定する。中央処理ユニット
11は、第4のメモリ21における第2および第3の中
間結果を格納する。
【0027】第5の詳細なステップSS5では、中央処
理ユニット11は、第4のメモリ21を参照して、パタ
ーンデータに読み込みセルを追加する。第6の詳細なス
テップSS6では、中央処理ユニット11は、読み込み
セルが現在の機能ブロックの最後のセルすなわち第M番
目のマクロブロックA(M)の第N番目の基本セルB
(N)であるか否かをチェックする。もしYESなら
ば、現在の機能ブロックに関するかぎり次々の3段階の
実行が終了する。次いで、中央処理ユニット11は集積
回路の他の機能ブロックのための動作状態になる。もし
NOならば、第6の詳細なステップは第1の詳細なステ
ップに戻る。全ての機能ブロックが処理されると、マス
クパターンは完全にパターンニングされる。
理ユニット11は、第4のメモリ21を参照して、パタ
ーンデータに読み込みセルを追加する。第6の詳細なス
テップSS6では、中央処理ユニット11は、読み込み
セルが現在の機能ブロックの最後のセルすなわち第M番
目のマクロブロックA(M)の第N番目の基本セルB
(N)であるか否かをチェックする。もしYESなら
ば、現在の機能ブロックに関するかぎり次々の3段階の
実行が終了する。次いで、中央処理ユニット11は集積
回路の他の機能ブロックのための動作状態になる。もし
NOならば、第6の詳細なステップは第1の詳細なステ
ップに戻る。全ての機能ブロックが処理されると、マス
クパターンは完全にパターンニングされる。
【0028】集積回路において、機能ブロックの少なく
とも一つは、先に述べたビットスライス構成を持ってい
ても良い。ビットスライス構成によれば、少なくとも、
予め定められた数のマクロブロックには、複数のビット
(例えば、4ビット)の共通のビット幅の基本セルが、
これらをマクロブロックに上から下へと規則的で組織的
に配列されている。従って、この発明は、ビットスライ
ス構成の機能ブロックに基本セルを配置情報に従って規
則正しく組織的に置くと共にできるだけ最善の電気特性
と最狭の面積とを持たせることが可能になる。
とも一つは、先に述べたビットスライス構成を持ってい
ても良い。ビットスライス構成によれば、少なくとも、
予め定められた数のマクロブロックには、複数のビット
(例えば、4ビット)の共通のビット幅の基本セルが、
これらをマクロブロックに上から下へと規則的で組織的
に配列されている。従って、この発明は、ビットスライ
ス構成の機能ブロックに基本セルを配置情報に従って規
則正しく組織的に置くと共にできるだけ最善の電気特性
と最狭の面積とを持たせることが可能になる。
【0029】図1、図4、および図6〜図9を再検討す
ると、この発明は、マスクパターンにより、集積回路の
おのおのの各機能ブロックにおいて、基本セル(例え
ば、B)を規則正しく組織的に配列した半導体集積回路
の提供が可能になることが明らかに分かる。この結果、
マスクパターンによれば、各機能ブロックに最狭の面積
を持たせ、各機能ブロックにおける基本セルにできるだ
け最短接続を達成することができる。これにより、機能
ブロックのできるだけ最善の電気特性を与えることが可
能になる。
ると、この発明は、マスクパターンにより、集積回路の
おのおのの各機能ブロックにおいて、基本セル(例え
ば、B)を規則正しく組織的に配列した半導体集積回路
の提供が可能になることが明らかに分かる。この結果、
マスクパターンによれば、各機能ブロックに最狭の面積
を持たせ、各機能ブロックにおける基本セルにできるだ
け最短接続を達成することができる。これにより、機能
ブロックのできるだけ最善の電気特性を与えることが可
能になる。
【0030】この発明を特別な実施例に関し記載した
が、当業者によって様々な変形例が考えられる。例え
ば、半導体集積回路の機能ブロックのおのおのと機能ブ
ロックの基本セルとは、外形が長方形でなく平行四辺形
であっても良い。この場合、もし機能ブロックが集積回
路において平行に配列されるならば、座標系は直交系よ
りむしろ斜交系の方が良い。
が、当業者によって様々な変形例が考えられる。例え
ば、半導体集積回路の機能ブロックのおのおのと機能ブ
ロックの基本セルとは、外形が長方形でなく平行四辺形
であっても良い。この場合、もし機能ブロックが集積回
路において平行に配列されるならば、座標系は直交系よ
りむしろ斜交系の方が良い。
【0031】
【発明の効果】以上詳細に説明したように、本発明によ
れば、各機能ブロックにおけるマクロブロックの接続情
報の他に、各機能ブロックにおける基本セルの配置情報
を使用するレイアウト設計を行ったので、機能ブロック
の基本セルの配置を行うときに、規則正しい配置で動作
速度および小消費電力の電気的特性と面積的とが最適な
マスクパターンによる半導体集積回路が得られるという
効果がある。
れば、各機能ブロックにおけるマクロブロックの接続情
報の他に、各機能ブロックにおける基本セルの配置情報
を使用するレイアウト設計を行ったので、機能ブロック
の基本セルの配置を行うときに、規則正しい配置で動作
速度および小消費電力の電気的特性と面積的とが最適な
マスクパターンによる半導体集積回路が得られるという
効果がある。
【図1】一般の半導体集積回路における複数のマクロブ
ロックを備えている機能ブロックの図式的上面図であ
る。
ロックを備えている機能ブロックの図式的上面図であ
る。
【図2】図1に図示されたマクロブロックの一つにおけ
る複数の基本セルの図式的上面図である。
る複数の基本セルの図式的上面図である。
【図3】図1に図示されたマクロブロックの接続情報を
図式的上面図である。
図式的上面図である。
【図4】図1に図示された機能ブロックにおける基本セ
ルの配置情報を図式的に示す。
ルの配置情報を図式的に示す。
【図5】図1に図示されたタイプの機能ブロックを製造
するのに使用されるマスクパターンをパターンニングす
るための従来のレイアウトシステムの動作のフローチャ
ートである。
するのに使用されるマスクパターンをパターンニングす
るための従来のレイアウトシステムの動作のフローチャ
ートである。
【図6】本発明の一実施例によるレイアウトシステムの
動作のフローチャートである。
動作のフローチャートである。
【図7】図6について述べたレイアウトシステムとして
使用されたデジタルコンピュータの動作のフローチャー
トである。
使用されたデジタルコンピュータの動作のフローチャー
トである。
【図8】図7に図示された操作システムのメモリに格納
される配置情報の例を示す図である。
される配置情報の例を示す図である。
【図9】図6について述べたレイアウトシステムの動作
の詳細なフローチャートを示す図である。
の詳細なフローチャートを示す図である。
11 中央処理ユニット(CPU) 13 プログラムメモリ 15 第1のメモリ 17 第2のメモリ 19 第3のメモリ 21 結果メモリ(第4のメモリ)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 茅野 稔 東京都港区西新橋三丁目20番4号 日本 電気エンジニアリング株式会社内 (72)発明者 宇野 浩介 神奈川県川崎市中原区小杉町一丁目403 番地 日本電気テレコムシステム株式会 社内 (56)参考文献 特開 平5−12381(JP,A) 特開 昭64−42148(JP,A) 特開 昭63−190356(JP,A) 特開 昭63−241951(JP,A) 特開 平4−304656(JP,A) (58)調査した分野(Int.Cl.6,DB名) H01L 21/82 G06F 17/50 H01L 21/822 H01L 27/04
Claims (1)
- 【請求項1】 ポリセル機能ブロックを備え、これら機
能ブロック用のマスクパターンをレイアウト設計に従っ
てコンピュータにより、機能ブロックのおのおのが複数
のマクロブロックを備えマクロブロックのおのおのが高
さの実質的に共通な複数の基本セルを備えるように形成
するための半導体集積回路の設計方法であって、前記コ
ンピュータは、中央処理ユニットと、プログラムを格納
しこの中央処理ユニットによって読みとられるプログラ
ムメモリとを備え、しかも前記プログラムに基づいて、
機能ブロックのおのおのにおけるマクロブロックの接続
情報を格納している第1のメモリと、機能ブロックのお
のおのにおける基本セルの前記接続情報に対応する配置
情報を格納している第2のメモリと、前記基本セルの幅
および前記マクロブロックの高さを格納している第3の
メモリとから情報を読み取って設計を行う半導体集積回
路の設計方法において、 前記プログラムは、 前記機能ブロックのうちの現在の機能ブロックにおい
て、前記マクロブロックのうちの現在のマクロブロック
の前記基本セルをひとつずつ読み込みセルとして前記中
央処理ユニットが前記第2のメモリから読み込む第1の
ステップと、 前記現在の機能ブロックにおいて前記読み込みセルがこ
のような読み込みセルとしておのおのが前記第1のステ
ップに既に読み込まれた他の基本セルに関連して持つ相
対位置を前記配置情報として前記中央処理ユニットが前
記第2のメモリから読み込む第2のステップと、 前記相対位置が、前記現在のマクロブロックの前記読み
込みセルは、先行マクロブロックの真下の列にあること
を示す時、前記中央処理ユニットが前記第3のメモリか
ら第1の中間結果として前記読み込みセルの幅および前
記現在のマクロブロックの真上に位置する前記先行マク
ロブロックの高さを読み込む第3のステップと、 前記中央処理ユニットに前記第1の中間結果を使用し
て、前記半導体集積回路に関して定義される前記読み込
みセルの絶対座標を第2の中間結果として計算さ せる第
4のステップと、 第3の中間結果として、前記読み込みセルに対する前記
他の基本セルへのおよび該基本セルからの配線を決定す
るため前記中央処理ユニットに前記第1のメモリから前
記接続情報を読み出させる中間ステップと、 前記マスクパターンに前記読み込みセルを加えるため
に、前記中央処理ユニットに前記第2および前記第3の
中間結果を使用させる第5のステップと、 前記現在の機能ブロックが前記マスクパターンに全て加
算されるまで前記中央処理ユニットに前記第1から第
4、前記中間、および前記第5のステップを繰り返すス
テップとを実行させるものであることを特徴とする半導
体集積回路の設計方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6037125A JP2885635B2 (ja) | 1993-03-09 | 1994-03-08 | 半導体集積回路の設計方法 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4763093 | 1993-03-09 | ||
| JP5-47630 | 1993-03-09 | ||
| JP6037125A JP2885635B2 (ja) | 1993-03-09 | 1994-03-08 | 半導体集積回路の設計方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06318639A JPH06318639A (ja) | 1994-11-15 |
| JP2885635B2 true JP2885635B2 (ja) | 1999-04-26 |
Family
ID=26376217
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6037125A Expired - Fee Related JP2885635B2 (ja) | 1993-03-09 | 1994-03-08 | 半導体集積回路の設計方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2885635B2 (ja) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0512381A (ja) * | 1991-07-05 | 1993-01-22 | Mitsubishi Electric Corp | 半導体集積回路設計装置 |
-
1994
- 1994-03-08 JP JP6037125A patent/JP2885635B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH06318639A (ja) | 1994-11-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4636965A (en) | Routing method in computer-aided-customization of universal arrays and resulting integrated circuit | |
| US5764533A (en) | Apparatus and methods for generating cell layouts | |
| US5745374A (en) | Layout method for semiconductor integrated circuit and layout apparatus for semiconductor integrated circuit | |
| US6446248B1 (en) | Spare cells placement methodology | |
| US20200151298A1 (en) | Integrated circuit including different types of cells, and method and system of designing the same | |
| JP3529563B2 (ja) | 半導体集積回路の再レイアウト方法及び半導体集積回路の再レイアウトプログラムを記録した媒体 | |
| US5341310A (en) | Wiring layout design method and system for integrated circuits | |
| US6013536A (en) | Apparatus for automated pillar layout and method for implementing same | |
| US6499135B1 (en) | Computer aided design flow to locate grounded fill in a large scale integrated circuit | |
| US6608335B2 (en) | Grounded fill in a large scale integrated circuit | |
| JP2001306641A (ja) | 半導体集積回路の自動配置配線方法 | |
| US6477696B2 (en) | Routing definition to optimize layout design of standard cells | |
| EP0021661B1 (en) | Semiconductor master-slice device | |
| US7958467B2 (en) | Deterministic system and method for generating wiring layouts for integrated circuits | |
| JP2885635B2 (ja) | 半導体集積回路の設計方法 | |
| JPH03101152A (ja) | 半導体メモリ | |
| US5576969A (en) | IC comprising functional blocks for which a mask pattern is patterned according to connection and placement data | |
| US6780745B2 (en) | Semiconductor integrated circuit and method of manufacturing the same | |
| US20050132315A1 (en) | Extendable method for revising patterned microelectronic conductor layer layouts | |
| JP2001085528A (ja) | 半導体集積回路の設計方法および半導体集積回路の製造方法 | |
| US6189129B1 (en) | Figure operation of layout for high speed processing | |
| CN120805827B (zh) | 一种计算符合条件的器件数量的方法及系统 | |
| EP4386842A1 (en) | Semiconductor integrated circuit, layout design system, layout designing method, and non-transitory computer-readable storage medium storing program | |
| JP3064925B2 (ja) | レイアウト方法 | |
| JP3278600B2 (ja) | 自動レイアウト方法及びその装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990113 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |