以下に添付図面を参照して、本発明にかかる関連付け方法、関連付けプログラム、および関連付け装置の実施の形態を詳細に説明する。
図1は、関連付け装置による一動作例を示す説明図である。CPスタンプライブラリ102には、1または複数のセルが1つの図形としてレイアウトされたCPスタンプが複数記憶されている。各CPスタンプ内のセルのレイアウト情報にはセルの種別が付されている。セルの種別とは、セルの論理機能だけでなく、特性、駆動能力などによって定められている。たとえば、回路の設計用のスタンダードセルライブラリには、インバータ素子であっても特性、駆動能力によって複数のインバータ素子が用意される。各セルに付された名称によってセルの種別が表されている。スタンダードセルとは、NANDセル(以下「NAND」と省略する。)、インバーターセル(INVERTERセル(以下、「INV」と省略する。))、マルチプレクサセル(MULTIPLEXERセル(以下、「MUX」と省略する。))、フリップフロップセル(Flip Flopセル(以下、「FF」と省略する))、などが挙げられる。図1に示す回路情報101およびCPスタンプライブラリ102の中のセルの種別としては、INVの一種であるINV1、NANDの一種であるNAND1、FFの一種であるFFA、MUXの一種であるMUX1が挙げられる。
回路情報101は、たとえば、論理合成後における設計対象回路のネットリストである。ネットリストには、設計対象回路内のモジュールやその内部のセル(FFやRAMなど)の接続関係が、VerilogやVHDL(Very High speed integrated circuit Hardware Description Language)などのハードウェア記述言語を用いて記述されている。図1の例では、理解の容易化のために、回路情報101内の各セルがCPスタンプ内のセルのレイアウト情報と同様のサイズで表されている。詳細な回路情報101例は、図5を用いて後述する。
まず、関連付け装置100は、CPスタンプライブラリ102に記憶された複数のCPスタンプICP_1〜ICP_4から、回路情報101の中から選択されたセルと同一種別のセルを有するCPスタンプを抽出する。ここでは、セル種別がFFAであるセルCell3が選択され、CPスタンプライブラリ102からFFAを有するCPスタンプICP_1が抽出される。
つぎに、関連付け装置100は、選択されたセルと同一種別の1つのセルを除く他のセルが抽出されたCPスタンプにある場合、他のセルと同一種別のセルを、回路情報101の中から検出する。CPスタンプICP_1の中で、セルCell3と同一種別の1つのFFAを除く他のセルは2つあり、2つともにセル種別はNAND1である。そこで、関連付け装置100は、回路情報101から、セル種別がNAND1であるセルを2つ検出する。たとえば、セル種別がNAND1であるセルCell1とセルCell2とが検出される。
そして、関連付け装置100は、検出されたセルと選択されたセルとに、抽出されたCPスタンプを関連付けて出力する。具体的に、たとえば、関連付け装置100は、回路情報101内のセルCell1とセルCell2とセルCell3とに、CPスタンプICP_1の識別情報と、同一のCPスタンプにグループ化されていることを示す識別情報とを付す。同一のCPスタンプにグループ化された単位をCPセルとし、この識別情報によって、CPセルが区別される。関連付け結果である回路情報103内のセルCell1とセルCell2とセルCell3には「ICP_1 CP1」が付されている。
これにより、図1によれば、関連付け装置100は、半導体集積回路の複数の設計工程のうちの上流工程において、回路情報101内のセルとCPスタンプとの関連付けを行う。これにより、関連付け装置100は、同一のCPスタンプにグループ化するCP化の効率を向上させることができる。したがって、関連付け装置100は、ショット数の低減化を図ることができる。
また、関連付け装置100は、回路情報101に含まれるモジュールから、他のセルと同一種別のセルを検出してもよい。回路情報101内で同一のモジュール内のセル同士は論理的な繋がりのある可能性が高い。そのため、関連付け装置100は、同一のモジュール内のセル同士をグループ化して同一のCPスタンプに関連付けることにより、論理的な繋がりを維持したままレイアウトが行われる。したがって、論理的な繋がりが維持されている方がタイミング制約の違反が発生しにくく、関連付け装置100はショット数の低減化を図りつつ、設計者がタイミング制約の違反による再設計や再レイアウトなどの手間を省くことができる。
また、関連付け装置100は、回路情報101に含まれるモジュールをセルの数に基づいていくつかのグループに分類してもよい。このグループを以下小モジュールと称する。そして、関連付け装置100は、選択されたセルが含まれるモジュールが分類された小モジュールから、他のセルと同一種別のセルを検出してもよい。上述したように、回路情報101内で同一のモジュール内のセル同士は論理的な繋がりのある可能性が高いが、モジュール内のセルの数が少ないと、複数のセルをグループ化することができない。そのため、関連付け装置100は、回路情報101内の選択されたセルを含むモジュールがセルの数に基づき分類された小モジュールから、選択されたセルと同一のCPスタンプに関連付けるセルを検出する。これにより、関連付け装置100は、1つのCPスタンプに対してより多くのセルをグループ化することができる。したがって、関連付け装置100は、ショット数の低減化を図ることができる。
(CP方式による電子ビーム露光)
つぎに、関連付け装置100の詳細な説明の前に、図2を用いてCP方式による電子ビーム露光について簡単に説明する。
図2は、CP方式による電子ビーム露光例を示す説明図である。CP方式では複数のCPスタンプが予め電子ビーム用のステンシルマスク202として用意される。ステンシルマスク202は、電子ビーム露光装置200を用いるプロセスの層ごとに用意される。図2の(a)では、基本CP機能を示している。図2の(a)では、電子銃から発せられた電子ビームはビーム成型第1開口201によって矩形に成形される。成形された電子ビームは、ステンシルマスク202の中から選択されたCPスタンプを透過することにより、CPスタンプの形状に成形されてウエハ203に照射される。図2におけるCPスタンプとは、図1で示したCPスタンプライブラリ102内の各CPスタンプに基づいて電子ビームを透過させる穴が空いた図形である。これにより、CPスタンプの形状がウエハ203に転写される。
ステンシルマスク202に搭載可能なCPスタンプの数は、4000種類程度である。CPスタンプとしては、繰り返し利用されるレイアウトデータに基づいて作成される。ステンシルマスク202上にないパターンの場合には、CPスタンプと似通ったパターンであってもパターンの一部が異なればステンシルマスク202を共有することができない。
そのため、CP方式では、図2の(b)に示すように、部分ビーム投影機能を有している。電子ビーム露光装置200は、ビーム成型第2開口204による可変成形機能とステンシルマスク202によってCPスタンプの一部に電子ビームを照射することにより、部分ビーム投影機能を実現する。これにより、ステンシルマスク202上のCPスタンプの一部分だけをウエハ203に転写させることができる。そのため、たとえば、電子ビーム露光装置200は、CPスタンプ内の1つのセルのレイアウトデータをウエハ203上に照射することができる。
最大のビームサイズは、1.5[μm]×1.5[μm]程度である。CPスタンプのサイズは、ビームサイズによって定まるため、プロセスの微細化・高密度化に伴い、1つのCPスタンプに含めることができるセルの数が増えている。そのため、電子ビーム露光装置200は、ウエハ203上のセルをできる限り同一のショットにより転写させることにより、ショット数の低減化を図ることができる。これにより、電子ビーム露光装置200は、1ウエハの製造工程における合計の露光時間を製品の量産に対応させることができるように短縮化させることができる。
つぎに、本実施の形態における設計フローについて図3を用いて簡単に説明する。
(設計フロー)
図3は、本実施の形態における設計フロー例を示す説明図である。回路情報310は、ハードウェア記述言語によってRTL(Register Transfer Level)で設計される。本実施の形態にかかる設計フローでは、論理合成ツールが、回路情報310を論理合成する(ステップS301)。これにより、論理合成後のネットリストである回路情報101が得られる。回路情報101は、図3中「Netlist」と表されている。
そして、関連付け装置100は、回路情報101についてCPスタンプ関連付け処理を行う(ステップS302)。これにより、関連付け後のネットリストである回路情報103が得られる。回路情報103は、図3中「CP−Netlist」と表されている。関連付け装置100による関連付け処理は、点線の四角で囲われている。
そして、配置配線ツールまたは設計者が、回路情報103に対して配置配線とタイミング最適化を行う(ステップS303)。これにより、レイアウトデータである回路情報311が得られる。さらに、従来技術で説明したように、コンピュータが、レイアウトデータに対してCPスタンプに沿うようにセルの配置を移動し(ステップS304)、CP変換を行ってもよい(ステップS305)。CP変換とは、複数のセルのレイアウトデータと、CPスタンプとを関連付ける処理である。これにより、CP向けにレイアウトされた回路情報312が得られる。
配置配線が行われる前の設計フローの上流工程において複数のセルをグループ化して同一のCPスタンプに関連付けることにより、論理的な繋がりを維持した上で、同一のCPスタンプにグループ化することができるセルの数が増大する。たとえば、同一モジュール内のセルは他のモジュール内のセルと比較して論理的繋がりが強い可能性が高い。そのため、関連付け装置100は、タイミング違反による配置のやり直しが行われる可能性が低くなり、レイアウトデータの設計者による設計の手間を省くことができる。
(関連付け装置100のハードウェア構成例)
図4は、実施の形態にかかる関連付け装置100のハードウェア構成例を示すブロック図である。図4において、関連付け装置100は、CPU(Central Processing Unit)401と、ROM(Read‐Only Memory)402と、RAM(Random Access Memory)403と、磁気ディスクドライブ404と、磁気ディスク405と、光ディスクドライブ406と、光ディスク407と、ディスプレイ408と、I/F(Interface)409と、キーボード410と、マウス411と、を有している。また、各構成部はバス400によってそれぞれ接続されている。
ここで、CPU401は、関連付け装置100の全体の制御を司る。ROM402は、ブートプログラムなどのプログラムを記憶している。RAM403は、CPU401のワークエリアとして使用される。磁気ディスクドライブ404は、CPU401の制御にしたがって磁気ディスク405に対するデータのリード/ライトを制御する。磁気ディスク405は、磁気ディスクドライブ404の制御で書き込まれたデータを記憶する。
光ディスクドライブ406は、CPU401の制御にしたがって光ディスク407に対するデータのリード/ライトを制御する。光ディスク407は、光ディスクドライブ406の制御で書き込まれたデータを記憶したり、光ディスク407に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ408は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ408は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F409は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク414に接続され、このネットワーク414を介して他の装置に接続される。そして、I/F409は、ネットワーク414と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F409には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード410は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス411は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
(回路情報101)
図5は、回路情報101の一例を示す説明図である。上述したように、回路情報101は、たとえば、論理合成後における設計対象回路のネットリストである。たとえば、回路情報101には、モジュール0001〜000mが含まれている。論理合成後であるため、回路情報内の各機能はスタンダードセルライブラリで用意されたスタンダードセルによって表されている。
回路情報101は、ROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶されている。
(CPスタンプライブラリ102)
図6は、CPスタンプライブラリ102の一例を示す説明図である。上述したように、CPスタンプライブラリ102は、たとえば、1または複数のセルを1つの図形としてレイアウトされたCPスタンプが複数記憶されている。図6では、CPスタンプICP_1〜ICP_8が表されている。CPスタンプライブラリ102は、ROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶されている。
たとえば、CPスタンプICP_1は、FFAと2つのNAND1を組み合わせたレイアウトデータである。たとえば、CPスタンプICP_5は、FFAと3つのINV1を組み合わせたレイアウトデータである。たとえば、CPスタンプICP_6は、FFAのレイアウトデータである。FFAを有するCPスタンプは3つあるが、たとえば、セルの種別ごとに関連付けの優先度が定義されていてもよい。関連付けの優先度とは、優先度が高いCPスタンプを優先して回路情報101内のセルに関連付ける。
図7は、優先度テーブルの一例を示す説明図である。優先度テーブル700は、セルの種別ごとに該種別のセルを有するCPスタンプの関連付けの優先度が定義されている。優先度テーブル700は、セル種別ID、CPスタンプID、優先度のフィールドを有する。各フィールドに情報が設定されることで、優先度情報(たとえば、701−1〜)がレコードとして記憶されている。
セル種別IDのフィールドには、セルの種別の識別情報が登録される。CPスタンプIDのフィールドには、CPスタンプの識別情報が登録される。
優先度のフィールドには、関連付けの優先度が登録される。ここでは、たとえば、優先度は1以上の整数で表され、優先度が高いほど優先度のフィールドに登録されている数が小さいため、優先度が1であれば優先度が最も高い。たとえば、優先度は、CPスタンプの面積に基づいて決定される。CPスタンプの面積とは、CPスタンプ内にレイアウトされたすべてのセルのレイアウトデータの合計面積である。たとえば、CPスタンプICP_2とCPスタンプICP_8はいずれもINV1のみを有するが、CPスタンプICP_2のINV1の数は、CPスタンプICP_8のINV1の数よりも多い。そのため、たとえば、CPスタンプICP_2の優先度はCPスタンプICP_8の優先度よりも高い。
または、たとえば、FFと他のセルとの混載については使用頻度の低いセルの優先度が高くなるように設定される。CPスタンプICP_1はFFAとNAND1の混載であり、CPスタンプICP_5はFFAとINV1の混載である。たとえば、INV1はNAND1と比較して使用頻度が高いため、CPスタンプICP_1の優先度はCPスタンプICP_5の優先度よりも高い。
優先度テーブル700は、ROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶されている。優先度テーブル700と、CPスタンプライブラリ102とは、セル種別IDによって関連付けられている。
(関連付け順序)
図8は、関連付け順序テーブルの一例を示す説明図である。セルの種別に沿って予めCPスタンプと回路情報101内のセルとの関連付けの順序が定義されていてもよい。関連付け順序テーブル800は、関連付けの順序がテーブル化されている。関連付け順序テーブル800は、順序、セル種別IDのフィールドを有している。各フィールドに情報が設定されることで、順序情報(たとえば、801−1〜801−n)がレコードとして記憶されている。順序のフィールドには、1〜最大セル種別数までの順番が登録されている。セル種別IDのフィールドには、セルの種別の識別情報が登録されている。
たとえば、FFは異種混載のCPスタンプに関連付けられることにより、ショット数が低減する。そのため、FFの関連付け順序は他のセルの種別よりも先になる。たとえば、INVは他のセルと比較して使用頻度が高いため、INVの関連付け順序は他のセルの種別よりも後になる。
関連付け順序テーブル800は、ROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶されている。
(関連付け装置100の機能例)
図9は、関連付け装置100の機能的構成を示すブロック図である。関連付け装置100は、計数部901と、分類部902と、セル選択部903と、抽出部904と、パターン選択部905と、検出部906と、関連付け部907と、を有している。
計数部901から関連付け部907の各処理は、具体的には、たとえば、図4に示したROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶された関連付けプログラムにコーディングされている。たとえば、CPU401が、記憶装置に記憶された関連付けプログラムを読み出し、関連付けプログラムにコーディングされている処理を実行する。これにより、計数部901から関連付け部907の機能が実現される。
また、各機能部の処理結果は、たとえば、ROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶される。
(小モジュール化)
まず、計数部901と分類部902による回路情報101内のモジュールの小モジュール化について説明する。CPスタンプの関連付けにおいて、論理的な繋がりが強いセルに同一のCPスタンプを割り付けることが望ましい。たとえば、同一のモジュール内のセル同士であれば、論理的な繋がりが強い可能性が高いため、同一のモジュール内のセル同士を同一のCPスタンプに関連付けてもよい。モジュール内のセルの数が少ないと、関連付けられるセルが少ないため、関連付けの効率が下がってしまう。
そこで、本実施の形態では、回路情報101内の複数のモジュールをいくつかのグループに分類する。このグループのそれぞれを小モジュールと称する。たとえば、小モジュールについては、設計者が指定してもよいし、関連付け装置100が計数部901と分類部902によってセルの数に基づいて分類してもよい。
図10は、小モジュール化の一例を示す説明図である。まず、計数部901は、回路情報101内のモジュールごとにモジュールに含まれるセルの数を計数する。具体的には、たとえば、計数部901は、回路情報101内のスタンダードセルのインスタンス名の数を計数することにより、モジュールに含まれるセルの数を計数することができる。インスタンス名とは、各セルを区別するために付される名称である。回路情報101の例では、インスタンス名は「Cell番号」になっている。本実施の形態では、理解の容易化のために、インスタンス名と符号とを同一にしている。たとえば、「FFA Cell3」の「Cell3」がインスタンス名である。
計数結果は、ROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶される。たとえば、モジュール0001のセルの数Count1は500であり、モジュール0002のセルの数Count2は100であり、モジュール0003のセルの数Count3は400であり、モジュール0004のセルの数Count4は100である。
つぎに、分類部902は、計数部901によって計数された回路情報101内の各モジュールのセルの数に基づいて、回路情報101内のモジュールを、各々のセルの数が規定数C以下である1または複数の小モジュールに分類する。規定数Cは、たとえば、設計者が入力手段によって入力してもよいし、予めROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶させておいてもよい。入力手段とは、たとえば、キーボード410、マウス411が挙げられる。
具体的には、たとえば、分類部902は、回路情報101内の記述順に沿ってモジュールのセルの数を加算する。図10では、加算結果をTotalで表している。たとえば、分類部902は、加算の都度、加算結果Totalが規定数C以下であるか否かを判断するこれにより、1つの小モジュール内のセルの数が規定数Cを超えないように回路情報101内のモジュールが分類される。
たとえば、モジュール0001のセルの数Count1とモジュール0002のセルの数Count2との加算結果Totalは、500であり、規定数C未満である。加算結果Totalとモジュール0003のセルの数Count3と、の加算結果Totalは、1000であり、規定数Cと同一値である。加算結果Totalとモジュール0004のセルの数Count4と、の加算結果Totalは、1100である。そのため、たとえば、分類部902は、モジュール0001〜0003までを同一の小モジュールM1に分類する。つぎに、たとえば、分類部902は、加算結果Totalをリセットして、モジュール0004のセルの数とモジュール0005のセルの数とを加算することにより、回路情報101内のモジュールに対して分類処理を行う。たとえば、モジュール0004は小モジュールM2に分類される。
ここでは、関連付け装置100は、回路情報101内のすべてのモジュールについて規定数Cに基づき小モジュール化させる例を説明した。これに限らず。RAM403マクロのような特殊なセルを有するモジュールについては、1つのモジュールを小モジュールとしてもよい。
回路情報101内で同一のモジュール内のセル同士は論理的な繋がりのある可能性が高いが、モジュール内のセルの数が少ないと、CPスタンプに沿ってモジュール内のセルをグループ化することができない。そのため、関連付け装置100は、回路情報101内の選択されたセルを含むモジュールがセルの数に基づき分類された小モジュールから、選択されたセルと同一のCPスタンプに関連付けるセルを検出する。これにより、関連付け装置100は、1つのCPスタンプに対してより多くのセルを割り当てることができる。したがって、関連付け装置100は、ショット数の低減化を図ることができる。
(関連付け処理)
つぎに、セル選択部903と、抽出部904と、パターン選択部905と、検出部906と、関連付け部907と、によって、回路情報101内のセルとCPスタンプとを関連付ける処理について説明する。
図11は、関連付け処理の一例を示す説明図である。セル選択部903は、回路情報101内からセルを選択する。具体的には、たとえば、セル選択部903は、関連付け順序テーブル800に登録された関連付け順序に沿って、セルを選択する。たとえば、関連付け順序テーブル800では、セル種別がFFAの順番が1番になっているため、回路情報101内からセル種別がFFAのセルを選択する。たとえば、セルの種別がFFAであるCell3が選択される。
つぎに、抽出部904は、CPスタンプライブラリ102内の複数のCPスタンプから、選択されたセルと同一種別のセルを有するパターンを抽出する。または、たとえば、抽出部904は、優先度テーブル700から、選択されたセルの種別に基づいて優先度情報を検索してもよい。上述したように、FFAを有するCPスタンプは、CPスタンプICP_1と、CPスタンプICP_5と、CPスタンプICP_6と、である。
そして、パターン選択部905は、抽出部904によって抽出されたCPスタンプのうち、選択されたセルのセル種別において優先度テーブル700に登録された優先度の最も高いCPパターンを選択する。上述の場合、たとえば、パターン選択部905は、CPスタンプICP_1と、CPスタンプICP_5と、CPスタンプICP_6と、のうち、優先度の最も高いCPスタンプICP_1を選択する。
つぎに、検出部906は、選択されたセルと同一種別の1つのセルを除く他のセルがパターン選択部905によって選択されたCPスタンプにある場合、他のセルと同一種別のセルを、回路情報101の中から検出する。または、検出部906は、選択されたCPスタンプに含まれる選択されたセルと同一種別の1つのセルを除く他のセルと同一種別のセルを、選択されたセルを有するモジュールが分類された小モジュールの中から検出する。
上述の場合、選択されたCPスタンプICP_1に含まれるセルCell3と同一種別の1つのセルを除くセルは、2つのNAND1である。セルCell3を有するモジュール0001は小モジュールM1に分類されている。そこで、たとえば、検出部906は、小モジュールM1から、セル種別がNAND1である2つのセルを検出する。ここでは、たとえば、セル種別がNAND1であるセルCell1とセルCell2とが検出される。
関連付け部907は、検出部906によって検出されたセルと選択されたセルとに、選択されたCPスタンプを関連付ける。関連付けた結果は、回路情報103に示している。具体的には、たとえば、関連付け部907は、選択されたセルと検出されたセルとに、CPスタンプの識別情報と同一のグループにグループ化されて該CPスタンプに割り当てられていることを示す識別情報とを付す。これにより、関連付け部907は、選択されたセルと検出されたセルに選択されたCPスタンプを関連付ける。上述の場合、たとえば、回路情報103では、セルCell1とセルCell2とセルCell3とにCPスタンプICP_1の識別情報である「ICP_1」と、同一のグループにグループ化されて該CPスタンプICP_1に割り当てられていることを示す識別情報である「CP1」と、が付されている。たとえば、関連付け部907は、「nand Cell1(ICP_1 CP1,N1ー1,IN1−2,OUT1);」のように入出力ネットの定義の前にCPスタンプICP_1の識別情報と、同一のグループにグループ化されて該CPスタンプICP_1に割り当てられていることを示す識別情報と、を付してもよい。これにより、配置配線ツール、またはレイアウトデータの設計者は、回路情報内の各セルがいずれのCPスタンプが利用されるか、いずれのセルと同一のショットで露光されるかを判別することができる。
また、パターン選択部905は、他のセルと同一種別のセルが検出部906によって検出されなかった場合、抽出されたCPスタンプのうち、選択済みのCPスタンプを除く残余のCPスタンプから、選択されたセルのセル種別において優先度の最も高いCPスタンプをあらたに選択する。
たとえば、CPスタンプICP_1が有する2つのNANDが小モジュールM1から検出されなかった場合、パターン選択部905は、抽出されたCPスタンプICP_5とCPスタンプICP_6とのうち、優先度の高いCPスタンプICP_5を選択する。
そして、パターン選択部905によってあらたにCPスタンプが選択されると、検出部906と関連付け部907との処理が行われる。
これにより、関連付け装置100は、同一のCPスタンプにグループ化するCP化の効率を向上させることができる。したがって、関連付け装置100は、ショット数の低減化を図ることができる。
また、検出部906によって選択されたCPスタンプに含まれる選択されたセルと同一種別の1つのセルを除く他のセルと同一種別のセルが検出部906によって一部検出される場合がある。上述の場合、たとえば、セル種別がNAND1であるセルは1つ検出されても、2つ検出されない場合である。このような場合、たとえば、抽出された他のCPスタンプについて検出部906に検出させた結果に基づいて判断してもよい。たとえば、抽出されたそれぞれのCPスタンプについて検出結果をディスプレイ408に表示させて、設計者にいずれのCPスタンプに関連付けるか判断させてもよい。
(関連付け処理手順)
図12は、関連付け装置100による関連付け処理手順の一例を示すフローチャートである。まず、関連付け装置100は、論理合成後の回路情報101を取得する(ステップS1201)。つぎに、関連付け装置100は、回路情報101内のモジュールを1または複数の小モジュールに分類する分類処理を実行する(ステップS1202)。
そして、関連付け装置100は、分類された小モジュール内のいくつかのセルを1つのグループとして同一のCPスタンプに関連付ける関連付け処理を実行する(ステップS1203)。最後に、関連付け装置100は、関連付け後の回路情報101を出力し(ステップS1204)、一連の処理を終了する。
図13は、図12で示した分類処理(ステップS1202)の詳細な説明を示すフローチャートである。まず、関連付け装置100は、回路情報101内の各モジュールのセルの数を計数し(ステップS1301)、計数結果を出力する(ステップS1302)。
関連付け装置100は、規定数Cを設定し(ステップS1303)、未分類のモジュールがあるか否かを判断する(ステップS1304)。未分類のモジュールがある場合(ステップS1304:Yes)、関連付け装置100は、未分類のモジュールから1つのモジュールを選択する(ステップS1305)。たとえば、回路情報101内の記述順に沿って選択してもよい。ここで、ステップS1305において選択されたモジュールを対象モジュールと称する。
つぎに、関連付け装置100は、対象モジュールをあらたな小モジュールに分類し(ステップS1306)、Total=対象モジュールのセル数とする(ステップS1307)。そして、関連付け装置100は、未分類のモジュールがあるか否かを判断する(ステップS1308)。未分類モジュールがある場合(ステップS1308:Yes)、未分類のモジュールから1つのモジュールを選択する(ステップS1309)。ステップS1309において選択されたモジュールを選択モジュールと称する。
つぎに、関連付け装置100は、Total=Total+選択モジュールのセル数とし(ステップS1310)、規定数C>Totalであるか否かを判断する(ステップS1311)。規定数C>Totalの場合(ステップS1311:Yes)、関連付け装置100は、選択モジュールを対象モジュールと同一の小モジュールに分類し(ステップS1312)、ステップS1308に戻る。一方、規定数C>Totalでない場合(ステップS1311:No)、ステップS1304に戻る。
ステップS1304において、未分類のモジュールがない場合(ステップS1304:No)、ステップS1313へ移行する。ステップS1308において、未分類のモジュールがない場合(ステップS1308:No)、ステップS1313へ移行する。
そして、関連付け装置100は、分類結果を出力し(ステップS1313)、一連の処理を終了する。
図14および図15は、図で示した処理(ステップS1203)の詳細な説明を示すフローチャートである。まず、関連付け装置100は、未選択の小モジュールがあるか否かを判断する(ステップS1401)。未選択の小モジュールがある場合(ステップS1401:Yes)、関連付け装置100は、未選択の小モジュールから1つの小モジュールを選択する(ステップS1402)。
関連付け装置100は、選択された小モジュール内にCPスタンプに関連付けされていないセルがあるか否かを判断する(ステップS1403)。選択された小モジュール内のすべてのセルがCPスタンプに関連付けされている場合(ステップS1403:No)、ステップS1401へ戻る。CPスタンプに関連付けされていないセルがある場合(ステップS1403:Yes)、関連付け装置100は、関連付けされていないセルの中から、関連付け順序に沿ってセルを選択する(ステップS1404)。ここで、選択されたセルを対象セルと称する。そして、関連付け装置100は、CPスタンプライブラリ102から、対象セルのセル種別に基づいて関連付けるCPスタンプ候補を抽出する(ステップS1405)。
つぎに、関連付け装置100は、未選択のCPスタンプ候補の中で、優先度の最も高いCPスタンプを選択する(ステップS1406)。関連付け装置100は、選択されたCPスタンプのうち、対象セルのセル種別と異なるペアセルがあるか否かを判断する(ステップS1407)。
択されたCPスタンプのうち、対象セルのセル種別と異なるペアセルがある場合(ステップS1407:Yes)、関連付け装置100は、選択された小モジュールから、ペアセルと同一種類のセルを検出する(ステップS1408)。関連付け装置100は、検出されたか否かを判断する(ステップS1409)。検出された場合(ステップS1409:Yes)、関連付け装置100は、検出されたセルに選択されたCPスタンプを関連付けて(ステップS1410)、ステップS1411へ移行する。検出されなかった場合(ステップS1409:No)、ステップS1406に戻る。
一方、ステップS1407において、選択されたCPスタンプのうち、対象セルのセル種別と異なるペアセルがない場合(ステップS1407:No)、ステップS1411へ移行する。
つぎに、関連付け装置100は、選択されたCPスタンプに対象セルのセル種別と同一のセルが含まれるか否かを判断する(ステップS1411)。選択されたCPスタンプに対象セルのセル種別と同一のセルが含まれる場合(ステップS1411:Yes)、関連付け装置100は、選択された小モジュールから、対象セルと同一種類のセルを選択されたCPスタンプに含まれる数分検出する(ステップS1412)。
そして、関連付け装置100は、検出されたか否かを判断する(ステップS1413)。検出された場合(ステップS1413:Yes)、関連付け装置100は、検出されたセルに選択されたCPスタンプを関連付けし(ステップS1414)、ステップS1415へ移行する。
一方、ステップS1411において、選択されたCPスタンプに対象セルのセル種別と同一のセルが含まれない場合(ステップS1411:No)、ステップS1415へ移行する。ステップS1413において、検出されなかった場合(ステップS1413:No)、ステップS1415へ移行する。
つぎに、関連付け装置100は、対象セルに選択されたCPスタンプを関連付けし(ステップS1415)、選択されたCPスタンプがあらたに関連付けられたセルに同一の識別情報を付し(ステップS1416)、ステップS1403へ戻る。
一方、ステップS1401において、未選択の小モジュールがない場合(ステップS1401:No)、一連の処理を終了する。
(CPスタンプの構成例)
つぎに、CPスタンプのデザインについて説明する。上述した実施の形態のように、論理合成後の回路情報101内の複数のセルをグループ化してCPスタンプと関連付けるにあたって、CPスタンプのデザインが重要になる。そこで、以降図16〜図24を用いてCPスタンプの構成例について詳細に説明する。
図16は、単一種別のセルを有するCPスタンプの構成例を示す説明図である。上述したように、CP方式の電子ビーム露光装置200で使用可能な1ステンシルマスク202あたりのCPスタンプの種類数は最大でも4000種類程度である。先端のプロセスにおいてはスタンダードセルの種類数は1000種類にも及ぶため、異種セル間の組み合わせを網羅してCPスタンプに搭載させることは困難である。そこで、CPスタンプが汎用で用いられるためには、図16に示すように、単一種別のセルを1つのCPスタンプに複数搭載させることによって、1つのCPスタンプであっても様々なレイアウトパターンに対応できる。
図16の上左側では、NAND、INVと比較してサイズが大きいセルのCPスタンプICP_10の構成例を示している。ここでは、この大きいセルとしてMUXをあげている。図16の上左側で示すようなCPスタンプICP_10の構成にすることで、部分ビーム機能によって図16の上右側で示すようなレイアウトのバリエーションが実現される。
たとえば、CPスタンプICP_10は、MUXが1つの場合であっても2種類の向きのMUXを実現することができる。また、CPスタンプICP_10は、MUXが2つの場合であっても縦方向に上下のMUXを実現することができ、横方向に左右のMUXを実現することができる。CPスタンプICP_10ではMUXが4つの場合が多用される可能性が高い。
図16の下左側では、INVのように小さいセルのCPスタンプICP_11の構成例を示している。縦方向のINVの並びよりも横方向のINVの並びの方が配線混雑度が低いため、8個以下のINVがレイアウトされる場合、CPスタンプICP_11の中から、横並びに8個のINVが選択された方がよい。INVが4つの場合またはINVが2つの場合で示すように、CPスタンプICP_11の中から縦方向のINVの並びが選択されてもよい。
図17は、FFと他の種別のセルとが混載するCPスタンプの構成例を示す説明図である。FFは半導体集積回路内の随所に均一に多数分散配置される傾向がある。さらに、FFは、構成トランジスタ数が多いために面積が大きい。したがって、FFは単独でCPスタンプに搭載されていても、図形圧縮効率が高い。図形圧縮とは、1ショットあたりに収めることができるパターンの量である。
一方、FFに対してNAND、INV、バッファセル(BUFFERセル(以下、「BUFF」と省略する。))などはレイアウトデータの面積がFFと比較して小さい上に種類も多い。そのため、INV、NAND、BUFFの種類によっては使用頻度の少ないものがあるため、同一のCPスタンプにグループ化するCP化の効率が悪い場合がある。
図17に示すように、FFとNANDが混載されたCPスタンプICP_12が準備されることにより、FFとNANDの一括描画が可能となる。これにより、関連付け装置100は、FFとNANDを同一のCPスタンプICP_12に関連付けることができ、ショット数の低減化を図ることができる。
CPスタンプライブラリ102の設計者は、多頻度で使用されるFFを予め数種類程度選択し、両者を混載してもCPスタンプICP_12の最大サイズに収まる範囲のセル(小セル)を抽出する。そして、CPスタンプライブラリ102の設計者は、FFと抽出したセルの組み合わせのCPスタンプICP_12を作成する。図17の右側では、部分ビーム投影機能が利用されることにより、CPスタンプICP_12から得られるレイアウトデータのバリエーションを示している。
たとえば、CPスタンプICP_12によって、FFが1つであり、NANDが1つの場合における2種類のレイアウトデータが実現される。たとえば、CPスタンプICP_12によって、FFが1つの場合における2種類のレイアウトデータが実現される。たとえば、CPスタンプICP_12によって、FFが2つの場合におけるレイアウトデータが実現される。
図18は、レイアウトデータの幅が広いセルを有するCPスタンプの構成例を示す説明図である。フリップフロップのように構成トランジスタ数が多いと、横方向にトランジスタが並べられてレイアウトされた場合、図18の左側に示すように横幅がCPスタンプの最大サイズに収まらない場合がある。図18の左側では、この最大サイズを点線の枠で示している。
そこで、CPスタンプライブラリ102の設計者は、単一のセルにおいて縦方向に電源配線を中央に挟んで複数段になるようにトランジスタを配置することにより、図18の右側に示すようにCPスタンプICP_13の最大サイズに収めることができる。また、セルのレイアウトデータの横幅が狭くなることにより、CPスタンプライブラリ102の設計者は、他の種別のセルのレイアウトデータが混載されたCPスタンプを設計しやすくなる。
図19は、セルを2つのCPスタンプに分割する例を示す説明図である。上述したように、FFのように構成トランジスタ数が多いと、横方向にFFが有するトランジスタが並べられてレイアウトされた場合、FFのレイアウトデータの横幅がCPスタンプの最大サイズに収まらない場合がある。FFには、データを保持する機能のトランジスタ(基本部分)とバッファが有するトランジスタと、が含まれている。そのため、CPスタンプの設計者は、1つのセルについて、基本部分に対応するCPスタンプICP_14とバッファ部分に対応するCPスタンプICP_15との2つのCPスタンプに分割してもよい。これにより、たとえば、バッファ部分は可変させることができるため、バッファの数によってFFの駆動能力は可変になる。
たとえば、2つのCPスタンプの組み合わせで得られるセルを複合セルとして定義してもよい。たとえば、半導体集積回路のレイアウトを実施する設計者は、複合セルとして特性抽出を行い、レイアウト設計時にバッファの数を変化させることにより、特性マージンを多く取りすぎ無くてもよくなる。
図20は、クーロン効果とクーロン効果の影響を示す説明図である。図21は、低密度セルと高密度セルが混載したCPスタンプの一例を示す説明図である。図20では、クーロン効果によるパターン劣化の例を示す。電子ビーム露光において、電子像の投影時に、電子ビームの電流量を大きくしすぎると電子−電子間の反発(クーロン効果)によりビーム像がぼけて解像度が劣化するものである。電子ビームの電流量と電子ビームの解像度とはトレードオフの関係にある。
図20の右側では、SRAM(Static RAM)のCP方式による露光結果比較例を示している。同一のレイアウトパターンに対して露光結果2002のCP面積は露光結果のCP面積2001の4倍程度である。CP面積とは、CPスタンプに含まれるセルを覆う外側の枠の面積である。露光結果2001よりも露光結果2002は、劣化している。すなわち、CP面積に対するCPスタンプを透過するビームの総面積(以下、「ビーム面積」と称する)の割合(以下、「開口率」)が大きいと、露光結果が劣化してしまう。
クーロン効果の影響は、電子ビームがCPスタンプを透過後の総ビーム面積によって決定される。総ビーム面積は、「CP面積×開口率」である。そこで、CPの図形圧縮効果はCP面積によって決定されるので、高密度レイアウトデータを有するセルと低密度レイアウトデータを有するセルを同一CPスタンプに混載することにより密度の影響を緩和させることができる。ここでは、たとえば、開口率が高いレイアウトデータを高密度のレイアウトデータと称し、開口率が低いレイアウトデータを低密度レイアウトデータと称する。
たとえば、図21の例では、セルAの開口率は50[%]であり、セルAのレイアウトデータは高密度レイアウトデータであるが、セルBの開口率は20[%]であり、セルBのレイアウトデータは低密度レイアウトデータである。
たとえば、CP面積は1[μm^2]までと定義され、最大許容ビーム面積は0.32[μm^2]と定義されている。ここでは、「^」は乗数を表す。セルAの面積は0.4[μm^2]であり、セルBの面積0.6[μm^2]であるため、セルAの面積とセルBの面積を組み合わせた合計面積は1[μm^2]である。よって、セルAとセルBとが組み合わさっても、定義されたCP面積に収まる。さらに、「セルAの開口率×セルAの面積」は0.2[μm^2]であり、「セルBの開口率×セルBの面積」は0.12[μm^2]である。したがって、セルAのビーム面積とセルBのビーム面積との合計値は、0.32である。よって、セルAとセルBを組み合わせたCPスタンプのビーム面積は最大許容ビーム面積を遵守する。
このように、高密度レイアウトデータを有するセルと、低密度レイアウトデータを有するセルと、が組み合わさったCPスタンプが設計されることにより、露光結果が劣化するのが防止される。
また、各CPスタンプには出来る限り多くのセルを搭載することが望ましい。セルのレイアウトでは、縦軸に対してセルの上下方向に電源、グランド配線を配置する。図16に示したMUXのCPスタンプICP_10を例に挙げると、同一種別のセルが多段に積まれる場合に、設計者は、セルが積層する軸とセルが交差する軸に対してミラー反転にレイアウトしておく。これにより、電源配線とグラウンド配線のいずれの配線が上にきても、セルが積層する軸またはセルが交差する軸を対象に上下反転する複数のセルの組み合わせが、1つのCPスタンプから電子ビームの部分投影機能によって得られる。
図22は、ステンシルマスク202上のCPスタンプの配置例1を示す説明図である。たとえば、図22に示すように、ステンシルマスク202上に配置された隣り合うCPスタンプが接触していてもよい。この場合、電子ビームのサイズが正確に制御されなければならないため、電子ビーム露光装置200は、CPマスク上への可変成形ビーム投影機能を利用する。これにより、ステンシルマスク202の設計者は、ステンシルマスク202上の各CPスタンプの省スペース化を図ることができる。したがって、ステンシルマスク202の設計者は、ステンシルマスク202上の限られた領域に、より多くの種類のCPスタンプを搭載させることができる。
図23は、ステンシルマスク202上のCPスタンプの配置例2を示す説明図である。2つのCPスタンプが同一のセルを有している場合、ステンシルマスク202上で2つのCPスタンプが隣接かつ接触して配置される。たとえば、CPスタンプICP_12は2つのNANDと2つのFFを有し、CPスタンプICP_16は2つのINVと2つのFFを有しているため、2種類のCPスタンプは同一種別のFFを有している。そこで、ステンシルマスク202上でCPスタンプICP_12とCPスタンプICP_16とが隣接かつ接触して配置されることにより、2種類のCPスタンプは2つのFFを共有することができる。このような配置の場合には、電子ビーム露光装置200は、部分ビーム投影機能によってビーム照射位置を調整する。これにより、ステンシルマスク202の設計者は、各CPスタンプの省スペース化を図ることができる。したがって、ステンシルマスク202の設計者は、ステンシルマスク202上の限られた領域に、より多くの種類のCPスタンプを搭載させることができる。
図24は、最大CP幅に沿ってセルが配置されたCPスタンプ例を示す説明図である。CP図形圧縮効率を上げるためには、各CPスタンプには、最大CP幅の範囲にできる限り多くのセルが搭載されることが望ましい。最大CP幅とはCPスタンプが取り得る最大の幅である。
そこで、たとえば、CPスタンプICP_17のように単一種別のセルを有するCPスタンプであれば、図24の上側に示すようにセル幅の整数倍が最大CP幅になるようにセルがレイアウトされることが望ましい。たとえば、以下式(1)、式(2)になるようにCPスタンプ内のセルがレイアウトされるとよい。
W×Nx=M・・・(1)
H×Ny=M・・・(2)
Nxは、横軸方向のセルの数であり、Nyは縦軸方向のセルの数である。Wはセルの幅であり、Hはセルの高さであり、Mは最大CP幅である。これにより、露光時に電子ビーム領域が最大限に活用される。
また、たとえば、複数種別のセルを含むCPスタンプであれば、図24の下側に示すようにセル幅の合計値が最大CP幅の整数倍になるように、CPスタンプ内に配置されるセルがレイアウトされることが望ましい。図24の下側では、FF1がCPスタンプICP_18とCPスタンプICP_19との間を跨っている。たとえば、以下式(3)、式(4)になるようにCPスタンプ内のセルがレイアウトされるとよい。
WSUM=M×CN・・・(3)
HSUM=M×CN・・・(4)
CNはCPスタンプの数であり、WSUMはCPスタンプ内に配置された横方向のセル幅の合計値であり、HSUMは、CPスタンプ内に配置された縦方向のセル幅の合計値である。図24の下側では、CNが2であるため、FF1の幅とNANDの幅との合計値WSUMが最大CP幅Mの2倍になっている。
図24に示すようにCPスタンプの設計者はセルおよびCPスタンプをレイアウトすることにより、CPスタンプの露光効率を向上させることができる。
以上説明したように、関連付け装置は、レイアウト前に、回路情報内の選択されたセルと同一種別のセルを含むCPスタンプ内の他のセルと同一種別のセルを回路情報から検出し、検出されたセルと選択されたセルをグループ化して同一CPスタンプに関連付ける。これにより、関連付け装置は、同一のCPスタンプにグループ化するCP化の効率を向上させることができる。したがって、関連付け装置は、ショット数の低減化を図ることができる。
また、関連付け装置は、回路情報内の選択されたセルと同一種別のセルを含むCPスタンプが複数ある場合、セル種別ごとに予め定義された優先度に基づいて、選択されたセルに関連付けるCPスタンプを選択する。たとえば、優先度は、CPスタンプの面積に基づいて決定される。CPスタンプの面積が大きければ大きいほど、より多くのパターンが同時に露光されるため、ショット数が低減する。または、たとえば、FFと他のセルとの混載については使用頻度の低いセルの優先度が高くなるように設定される。たとえば、INVはNANDと比較して使用頻度が高いため、FFとINVとを有するCPスタンプの優先度よりもFFとNANDとを有するCPスタンプの優先度が高く設定される。関連付け装置は、優先度に基づいてCPスタンプを選択することにより、より多くのセルを同一のCPスタンプにグループ化することができ、ショット数の低減化を図ることができる。
また、関連付け装置は、優先度の最も高いCPスタンプが選択されても、選択されたセルと同一のCPスタンプにグ関連付けるセルが検出されなければ、選択されたセルを含む他のCPスタンプを優先度に基づいてあらたに選択する。これにより、関連付け装置は、回路情報内に含まれるより多くのセルを同一のCPスタンプにグループ化することができるため、ショット数の低減化を図ることができる。
また、関連付け装置は、回路情報から予め定義された関連付けを行う順序に沿ってセルを選択する。たとえば、設計者が、FF、MUX、NAND、INVなどの順を予め定義する。たとえば、関連付け装置は、FFに関連付けるCPスタンプとして異種混載のCPスタンプが選択されることにより、ショット数の低減化を図ることができる。
また、関連付け装置は、回路情報に含まれるモジュールから、選択されたセルと同一のCPスタンプにグループ化するセルを検出してもよい。回路情報内で同一のモジュール内のセル同士は論理的な繋がりのある可能性が高い。そのため、関連付け装置は、同一のモジュール内のセル同士をグループ化して同一のCPスタンプに関連付けることにより、論理的な繋がりを維持したままレイアウトが行われる。したがって、論理的な繋がりが維持されている方がタイミング制約の違反が発生しにくいため、関連付け装置は、ショット数の低減化を図りつつ、タイミング制約の違反によって発生するレイアウトデータの設計者による再設計、再レイアウトの手間を省くことができる。
また、関連付け装置は、回路情報に含まれるモジュールをセルの数に基づいていくつかのグループに分類してもよい。このグループを以下小モジュールと称する。そして、関連付け装置は、選択されたセルが含まれるモジュールが分類された小モジュールから、他のセルと同一種別のセルを検出してもよい。上述したように、回路情報内で同一のモジュール内のセル同士は論理的な繋がりのある可能性が高いが、モジュール内のセルの数が少ないと、複数のセルをグループ化することができない。そのため、関連付け装置は、回路情報内のモジュールがセルの数に基づいて分類された小モジュールから、選択されたセルと同一のCPスタンプに関連付けるセルを検出することにより、1つのCPスタンプに対してより多くのセルをグループ化することができる。したがって、関連付け装置は、ショット数の低減化を図ることができる。
また、露光装置では、品種依存のない共通のステンシルマスクが利用されるため、マスクの費用の低減化を図ることができ、半導体集積回路の製造コストの低減化を図ることができる。
なお、本実施の形態で説明した関連付け方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本関連付けプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本関連付けプログラムは、インターネット等のネットワークを介して配布してもよい。