(57)【要約】【課題】１つの実施形態は、例えば、ＩＯ回路のレイアウト面積を低減できるＩＯ回路設計方法を提供することを目的とする。【解決手段】１つの実施形態によれば、スケマティック生成部及びレイアウト生成部を有するコンピュータを用いて、半導体装置におけるＩＯ回路を設計するＩＯ回路設計方法が提供される。ＩＯ回路設計方法では、呼び出されるＩＯセルは、複数のピンとスルーラインと電源ラインとを含む。複数のピンは、レイアウトされるべきオブジェクトと対応した位置に対応した順番で配置されている。スルーラインは、複数のピンのうちのスルーピンに接続されている。スルーラインは、ＩＯセル内の素子をスルーする。電源ラインは、複数のピンのうちの電源ピンに接続されている。電源ラインは、ＩＯセル内の素子に結線されている。ＩＯセルのシンボルは、スルーピンを他のＩＯセルのシンボルのピンに接続するか、スルーピンを自身のＩＯセルのシンボルの電源ピンに接続するかを切り替える機能を有する。【選択図】図３
2015056166.tif 000002
【特許請求の範囲】
【請求項１】
スケマティック生成部及びレイアウト生成部を有するコンピュータを用いて、半導体装置におけるＩＯ回路を設計するＩＯ回路設計方法であって、
前記スケマティック生成部が、セルライブラリからＩＯセルのシンボルを呼び出してスケマティック図上に配置してスケマティックデータを生成することと、
前記レイアウト生成部が、前記生成されたスケマティックデータに応じて、前記ＩＯセル及び電源レールのオブジェクトをレイアウト図上に配置してレイアウトデータを生成することと、
を備え、
前記呼び出されるＩＯセルは、
レイアウトされるべきオブジェクトと対応した位置に対応した順番で配置された複数のピンと、
前記複数のピンのうちのスルーピンに接続され前記ＩＯセル内の素子をスルーするスルーラインと、
前記複数のピンのうちの電源ピンに接続され前記ＩＯセル内の素子に結線された電源ラインと、
を含み、
前記ＩＯセルのシンボルは、前記スルーピンを他の前記ＩＯセルのシンボルのピンに接続するか、前記スルーピンを自身の前記ＩＯセルのシンボルの電源ピンに接続するかを切り替える機能を有する
ことを特徴とするＩＯ回路設計方法。
【請求項２】
前記複数のピンは、複数の前記スルーピンと複数の前記電源ピンとを含み、
前記ＩＯセルのシンボルは、複数の前記スルーラインと複数の前記電源ラインとを含み、
前記ＩＯセルのシンボルは、前記スルーピンを他の前記ＩＯセルのシンボルのピンに接続するか、前記スルーピンを自身の前記ＩＯセルのシンボルの電源ピンに接続するかを、前記複数のスルーピンのそれぞれについて切り替える
ことを特徴とする請求項１に記載のＩＯ回路設計方法。
【請求項３】
前記スケマティックデータの生成は、
前記スケマティック生成部が、前記ＩＯセルのシンボルにおいて、前記スルーピンを他の前記ＩＯセルのシンボルのピンに接続するか、前記スルーピンを自身の前記ＩＯセルのシンボルの電源ピンに接続するかを選択することを含む
ことを特徴とする請求項１又は２に記載のＩＯ回路設計方法。
【請求項４】
前記レイアウトデータの生成は、
前記スケマティックデータの生成において前記スルーピンが自身の前記ＩＯセルのシンボルの電源ピンに接続された場合、前記レイアウト生成部が、前記電源レールのオブジェクトにおける前記スルーピンに対応する部分を、ビアの配置を促す形態で表示させることを含む
ことを特徴とする請求項１から３のいずれか１項に記載のＩＯ回路設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＯ回路設計方法に関する。
【背景技術】
【０００２】
半導体装置では、コア部の回路の周辺にＩＯ回路が配置され、コア部の回路に対してＩＯ回路が信号を入力又は出力する。このとき、半導体装置では、そのチップ面積を低減させるために、ＩＯ回路のレイアウト面積を低減させることが望まれる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１４７３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
１つの実施形態は、例えば、ＩＯ回路のレイアウト面積を低減できるＩＯ回路設計方法及び半導体装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
１つの実施形態によれば、スケマティック生成部及びレイアウト生成部を有するコンピュータを用いて、半導体装置におけるＩＯ回路を設計するＩＯ回路設計方法が提供される。ＩＯ回路設計方法では、スケマティック生成部が、セルライブラリからＩＯセルのシンボルを呼び出してスケマティック図上に配置してスケマティックデータを生成する。ＩＯ回路設計方法では、レイアウト生成部が、生成されたスケマティックデータに応じて、ＩＯセル及び電源レールのオブジェクトをレイアウト図上に配置してレイアウトデータを生成する。呼び出されるＩＯセルは、複数のピンとスルーラインと電源ラインとを含む。複数のピンは、レイアウトされるべきオブジェクトと対応した位置に対応した順番で配置されている。スルーラインは、複数のピンのうちのスルーピンに接続されている。スルーラインは、ＩＯセル内の素子をスルーする。電源ラインは、複数のピンのうちの電源ピンに接続されている。電源ラインは、ＩＯセル内の素子に結線されている。ＩＯセルのシンボルは、スルーピンを他のＩＯセルのシンボルのピンに接続するか、スルーピンを自身のＩＯセルのシンボルの電源ピンに接続するかを切り替える機能を有する。
【図面の簡単な説明】
【０００６】
【図１】実施形態にかかるＩＯ回路設計方法を実行するコンピュータの構成を示す図。
【図２】実施形態にかかるＩＯ回路設計方法を示すフローチャート。
【図３】実施形態におけるスケマティックデータの生成を示すフローチャート。
【図４】実施形態におけるＩＯセルのシンボルを示す図。
【図５】実施形態におけるレイアウトデータの生成を示すフローチャート。
【図６】実施形態におけるＩＯセル及び電源レールのオブジェクトを示す図。
【図７】実施形態におけるスルーピンを自身のＩＯセルの電源ピンに接続した場合のスケマティックデータ及びレイアウトデータを示す図。
【図８】実施形態におけるスルーピンを他のＩＯセルのピンに接続した場合のスケマティックデータ及びレイアウトデータを示す図。
【図９】実施形態による効果を示す図。
【図１０】実施形態にかかるＩＯ回路設計方法が適用される半導体装置の構成を示す図。
【図１１】実施形態にかかるＩＯ回路設計方法が適用される固体撮像装置の構成を示す図。
【図１２】実施形態にかかるＩＯ回路設計方法が適用される固体撮像装置を含む撮像システムの構成を示す図。
【図１３】実施形態にかかるＩＯ回路設計方法が適用される固体撮像装置を含む撮像システムの構成を示す図。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、実施形態にかかるＩＯ回路設計方法を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【０００８】
（実施形態）
半導体装置は、例えば、図１０に示すように、１つのチップＣＨを有する。チップＣＨでは、コア部２０１およびＩＯ回路２０３が設けられている。コア部２０１は、半導体装置における中心的な機能を担う回路が配置される部分であり、チップＣＨにおけるＩＯ回路２０３より内側に配される。ＩＯ回路２０３は、コア部２０１の周辺に配される。ＩＯ回路２０３は、コア部２０１の回路に対して信号を入力又は出力する回路であり、複数のＩＯセル２０２−１〜２０２−ｋを有する。各ＩＯセル２０２−１〜２０２−ｋは、例えば、ＥＳＤ（Ｅｌｅｃｔｒｏ−Ｓｔａｔｉｃ  Ｄｉｓｃｈａｒｇｅ）素子を含む。ＥＳＤ素子は、コア部２０１の回路を静電ノイズ等から保護する。複数のＩＯセル２０２−１〜２０２−ｋは、例えば、コア部２０１を囲むように配置される。なお、図１０は、実施形態が適用される半導体装置の構成を示す図である。
【０００９】
このようなＩＯ回路２０３は、ＥＤＡ（Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ）ツールを用いて設計される。ＥＤＡツールは、例えば、スケマティックエディタ４１、レイアウトエディタ４２、配線ツール４３、及び検証ツール４４（図１参照）を含む。ＥＤＡツールによるＩＯ回路２０３の設計では、スケマティックエディタ４１により、スケマティック図（回路図）の設計が行われ、スケマティックデータが生成される。例えば、セルライブラリ４５からＩＯセルのシンボルが呼び出されて、スケマティック図上に配置される。レイアウトエディタ４２により、スケマティックデータに応じたレイアウト図の設計が行われ、レイアウトデータが生成される。例えば、スケマティックデータに応じて、ＩＯセル及び電源レールのオブジェクトがレイアウト図上に配置されレイアウトデータが生成される。配線ツール４３により、レイアウト図上で回路間の配線が行われる。検証ツール４４により、レイアウト図の設計がスケマティック図の設計と一致するかの検証、あるいは物理的な設計基準（デザインルール）を満たしているかの検証が行われる。
【００１０】
ＩＯ回路２０３を設計する際に、スケマティックデータとレイアウトデータとを同期させることは、ＥＤＡツールの自動化高機能を使用するために必要である。仮に、ＧＮＤ、ＶＤＤ、ＶＳＳなどの電源レールを示す情報が、ＩＯセルのシンボルとして構成されていないと、ＩＯセルのスケマティックデータにおいては、レイアウトデータに存在する電源レールがどのようにレイアウトされるのか予想できない傾向にある。すなわち、スケマティック図を見てもレイアウト図がどのような電源レールを持ち、どのように結線されるかが、全く分からない可能性がある。このため、スケマティックデータとレイアウトデータとを同期させることが困難であり、ＥＤＡツールの自動化高機能が使用しにくい。
【００１１】
また、ＩＯ回路２０３の設計環境を効率的に管理するためには、セルライブラリ４５に含まれるＩＯセルのシンボルの種類数をなるべく少なくすることが望ましい。しかし、コア部２０１の回路やＩＯ回路２０３がＧＮＤ、ＶＤＤ、ＶＳＳなど複数種類の電源を必要とし、複数の電源レールをＩＯセル上でスルーさせたりＩＯセル内の素子（例えば、ＥＳＤ素子）に結線したりするなどして引き回す必要がある。これにより、複数の電源レールの使い方がＩＯセルごとに異なってくるため、ＩＯセル内の素子が同一機能であるＩＯセルについて、ＩＯセルのシンボルとして、複数の派生セルのシンボルが必要となる可能性がある。例えば、電源レールの使い方のパターンの数だけ派生セルのシンボルを用意しなければならない可能性がある。これにより、セルライブラリ４５に含まれるＩＯセルのシンボルの種類数が増大する可能性がある。
【００１２】
あるいは、仮に、半導体装置がＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である場合、電源レールの使い方のパターンの数だけ多数の電源レールを用意する傾向にある。この場合、用意すべき電源レールの数が多いので、図９（ａ）に示すように、ＩＯ回路のチップエッジＣＥからの高さＨ１が高くなってしまう。すなわち、ＩＯ回路のレイアウト面積が増大してしまう。
【００１３】
一方、仮に、半導体装置が固体撮像装置である場合、画素アレイ１２（図１１参照）内に要求される画素数の画素を配置する必要があり、コア部２０１（図１０参照）の面積として所定のレイアウト面積が必要である。そのため、図９（ａ）に示すようなＩＯ回路を固体撮像装置に適用すると、ＩＯ回路のレイアウト面積の増大に伴いチップ面積が増大する傾向にある。
【００１４】
そこで、実施形態では、ＩＯセルのシンボルに、レイアウトされるべきオブジェクトに対応したピンの情報を持たせるとともに、電源レールの使い方に応じてピンの接続を切り替える機能を持たせることで、スケマティックデータ及びレイアウトデータの同期の容易化とＩＯセルのシンボルの種類数の低減とチップ面積の低減とを目指す。
【００１５】
具体的には、実施形態にかかるＩＯ回路設計方法は、図１に示すようなコンピュータ上で実行される。図１は、実施形態にかかるＩＯ回路設計方法を実行するコンピュータの構成を示す図である。
【００１６】
コンピュータ１は、バス配線９０、制御部２０、表示部３０、記憶部４０、入力部６０及び媒体インターフェース７０を備える。
【００１７】
制御部２０、表示部３０、記憶部４０、入力部６０及び媒体インターフェース７０は、バス配線９０を介して相互に接続されている。媒体インターフェース７０は、記録媒体８０を接続可能に構成されている。
【００１８】
記憶部４０には、スケマティックエディタ４１、レイアウトエディタ４２、配線ツール４３、検証ツール４４、セルライブラリ４５、スケマティックデータ４６、及びレイアウトデータ４７が記憶されている。
【００１９】
スケマティックエディタ４１は、集積回路などの設計において、スケマティック（回路図）レベルの設計を行うためのＥＤＡツールである。レイアウトエディタ４２は、集積回路などの設計において、レイアウトレベルでセル配置等の設計を行うためのＥＤＡツールである。配線ツール４３は、集積回路などの設計において、レイアウトレベルで回路間の配線等の設計を行うためのＥＤＡツールである。検証ツール４４は、集積回路などの設計において、レイアウト図の設計がスケマティック図の設計と一致するかの検証、あるいは物理的な設計基準（デザインルール）を満たしているかの検証を行うためのＥＤＡツールである。
【００２０】
セルライブラリ４５は、スケマティックレベルの設計を行う際にテンプレートとなるセルのシンボルを複数含むデータベースである。セルライブラリ４５は、例えば、複数のＩＯセルのシンボルを含む。セルライブラリ４５に含まれる各ＩＯセルは、複数のピン、複数のスルーライン、及び複数の電源ラインを含む。複数のピンは、レイアウトされるべきオブジェクトと対応した位置に対応した順番で配置されている。例えば、セルライブラリ４５に含まれる各ＩＯセルのシンボルは、複数のピンを識別する情報（例えば、ピン名）を含む（図４（ａ）参照）。これにより、ＩＯセルのシンボルに、レイアウトされるべき電源レールのオブジェクトに対応したピンの情報を持たせることができる。
【００２１】
複数のピンは、複数のスルーピン及び複数の電源ピンを含む。複数の電源ピンは、設計すべき複数のＩＯセル２０２−１〜２０２−ｋ（図１０参照）について、共通に使用される電源レールに対応したものである。複数のスルーピンは、設計すべき複数のＩＯセル２０２−１〜２０２−ｋ（図１０参照）の間で、使用されたり使用されなかったりする電源レールに対応したものである。例えば、図４（ａ）に示すＩＯセルのシンボルの場合、ＴＨＲ１，ＴＨＲ２，ＴＨＲ３，ＴＨＲ４，ＴＨＲ５，ＴＨＲ６，ＮＳＵＢＶＤＤがスルーピンであり、ＡＶＳＳ２５，ＡＶＤＤ２５が電源ピンである。
【００２２】
ＩＯセルのシンボルは、スルーピンを他のＩＯセルのシンボルのピンに接続するか、スルーピンを自身のＩＯセルのシンボルの電源ピンに接続するかを切り替える機能を有する。例えば、ＩＯセルのシンボルは、ピン接続情報を有している。ピン接続情報では、ピンの識別子と、接続先のＩＯセルの識別子と、接続先のピンの識別子とが複数のピンのそれぞれについて対応付けられている。ＩＯセルのシンボルでは、スルーピンを他のＩＯセルのシンボルのピンに接続することが指定された場合、ピン接続情報において、そのスルーピンに対応する接続先のＩＯセルの識別子として指定されたＩＯセルの識別子が書き込まれ、接続先のピンの識別子として指定されたピンの識別子が書き込まれる。あるいは、ＩＯセルのシンボルでは、スルーピンを自身のＩＯセルのシンボルの電源ピンに接続することが指定された場合、ピン接続情報において、そのスルーピンに対応する接続先のＩＯセルの識別子として自身のＩＯセルの識別子が書き込まれ、接続先のピンの識別子として指定されたピンの識別子が書き込まれる。
【００２３】
複数のスルーラインのそれぞれは、対応するスルーピンに接続され、ＩＯセル内の素子をスルーする。例えば、図４（ａ）に示すＩＯセルのシンボルの場合、一方のスルーピンＴＨＲ１〜ＴＨＲ６，ＮＳＵＢＶＤＤがＩＯセル内のＥＳＤ素子ＥＬ１をスルーして他方のスルーピンＴＨＲ１〜ＴＨＲ６，ＮＳＵＢＶＤＤに接続されている（図４（ｂ）参照）。
【００２４】
複数の電源ラインのそれぞれは、対応する電源ピンに接続され、ＩＯセル内の素子に結線されている。例えば、図４（ａ）に示すＩＯセルのシンボルの場合、一方及び他方の電源ピンＡＶＳＳ２５，ＡＶＤＤ２５がＩＯセル内のＥＳＤ素子ＥＬ１に結線されている（図４（ｂ）参照）。
【００２５】
制御部２０は、例えば、ＣＰＵ，ＧＰＵ，ＤＳＰ又はマイコンなどであり、一時記憶のためのキャッシュメモリをさらに含む。また、制御部２０は、スケマティック生成部２１、レイアウト生成部２２、配線部２３、及び検証部２４を含む。
【００２６】
スケマティック生成部２１は、スケマティックエディタ４１が実行されることで制御部２０内に機能的に実現される。例えば、スケマティック生成部２１は、セルライブラリ４５からＩＯセルのシンボルを呼び出してスケマティック図上に配置してスケマティックデータ４６を生成する。
【００２７】
レイアウト生成部２２は、レイアウトエディタ４２が実行されることで制御部２０内に機能的に実現される。レイアウト生成部２２は、スケマティック生成部２１により生成されたスケマティックデータ４６に応じて、ＩＯセル及び電源レールのオブジェクトをレイアウト図上に配置してレイアウトデータ４７を生成する。
【００２８】
配線部２３は、配線ツール４３が実行されることで制御部２０内に機能的に実現される。配線部２３は、レイアウト図上で回路間の配線を行う。
【００２９】
検証部２４は、検証ツール４４が実行されることで制御部２０内に機能的に実現される。検証部２４は、レイアウト図の設計がスケマティック図の設計と一致するかの検証、あるいは物理的な設計基準（デザインルール）を満たしているかの検証を行う。
【００３０】
表示部３０は、例えば、ＣＲＴディスプレイや液晶ディスプレイなどの表示デバイスである。記憶部４０は、例えば、メモリやハードディスクなどである。入力部６０は、例えば、キーボードやマウスなどである。媒体インターフェース７０は、例えば、フレキシブルディスクドライブ、ＣＤ−ＲＯＭドライブやＵＳＢインターフェースなどである。記録媒体８０は、フレキシブルディスク、ＣＤ−ＲＯＭやＵＳＢメモリなどである。
【００３１】
次に、実施形態にかかるＩＯ回路設計方法について図２のフローチャートを用いて説明する。図２は、実施形態にかかるＩＯ回路設計方法を示すフローチャートである。
【００３２】
ステップＳ１０では、スケマティック生成部２１が、スケマティックデータ４６を生成する処理を行う。処理の詳細については後述する。
【００３３】
ステップＳ２０では、レイアウト生成部２２が、レイアウトデータ４７を生成する処理を行う。処理の詳細については後述する。
【００３４】
ステップＳ３０では、配線部２３が、回路間の配線を行う。具体的には、制御部２０は、入力部６０を介してユーザから受けた起動コマンドに応じて、配線ツール４３を起動して制御部２０内に配線部２３を実現する。配線部２３は、入力部６０を介してユーザから受けた処理のコマンドに応じて、ステップＳ２０で生成されたレイアウト図（レイアウトデータ４７）上で、回路間の配線を行う。
【００３５】
ステップＳ４０では、検証部２４が、所定の検証を行う。具体的には、制御部２０は、入力部６０を介してユーザから受けた起動コマンドに応じて、検証ツール４４を起動して制御部２０内に検証部２４を実現する。検証部２４は、入力部６０を介してユーザから受けた処理のコマンドに応じて、所定の検証を行う。例えば、検証部２４は、スケマティックデータ４６及びレイアウトデータ４７を記憶部４０から読み出して両者を比較することで、レイアウト図の設計がスケマティック図の設計と一致するかの検証を行う。また、例えば、検証部２４は、レイアウトデータ４７を記憶部４０から読み出して基準データ（デザインルールデータ）と比較することで、レイアウト図の設計が物理的な設計基準（デザインルール）を満たしているかの検証を行う。そして、検証で問題ないことが確認されたら、レイアウトデータ４７に従ってマスクを作成し、作成されたマスクを用いて半導体基板の露光・現像等を行い、半導体装置を製造する。
【００３６】
次に、スケマティックデータ４６の生成（ステップＳ１０）の詳細について図３及び図４を用いて説明する。図３は、実施形態におけるスケマティックデータ４６の生成を示すフローチャートである。図４は、実施形態におけるＩＯセルのシンボルを示す図である。
【００３７】
ステップＳ１１では、制御部２０が、入力部６０を介してユーザから受けた起動コマンドに応じて、スケマティックエディタ４１を起動して制御部２０内にスケマティック生成部２１を実現する。スケマティック生成部２１は、制御部２０内に実現された仮想的な平面であるスケマティック図を表示部３０上に表示させる。
【００３８】
ステップＳ１２では、スケマティック生成部２１が、セルライブラリ４５からＩＯセルのシンボルを呼び出す。具体的には、スケマティック生成部２１は、入力部６０を介してユーザから受けたコマンドに応じて、記憶部４０のセルライブラリ４５にアクセスし、呼び出されるべき候補となる複数のＩＯセルの情報（例えば、複数のＩＯセルの名称）を表示部３０上に表示させる。スケマティック生成部２１は、入力部６０を介してユーザからＩＯセルの指定コマンドを受けたことに応じて、セルライブラリ４５からＩＯセルのシンボルを抽出してスケマティック図上の指定コマンドで指定された位置に追加して表示させる。
【００３９】
例えば、スケマティック生成部２１は、図４（ａ）に示すようなＩＯセルのシンボルをスケマティック図上に追加する。図４（ａ）に示すＩＯセルのシンボルの場合、ＴＨＲ１，ＴＨＲ２，ＴＨＲ３，ＴＨＲ４，ＴＨＲ５，ＴＨＲ６，ＮＳＵＢＶＤＤがスルーピンであり、ＡＶＳＳ２５，ＡＶＤＤ２５が電源ピンである。
【００４０】
また、スケマティック生成部２１は、入力部６０を介してユーザから受けたスケマティックビュー表示コマンドに応じて、図４（ａ）に示すようなＩＯセルのシンボルを図４（ｂ）に示すようなＩＯセルの回路図に切替表示する。スケマティック生成部２１は、入力部６０を介してユーザから受けたシンボルビュー表示コマンドに応じて、図４（ｂ）に示すようなＩＯセルの回路図を図４（ａ）に示すようなＩＯセルのシンボルに切替表示する。これにより、ＩＯセルのシンボルとその内部構成との対応を確認することができる。例えば、図４（ｂ）に示すＩＯセルの回路図において、スルーピンＴＨＲ１〜ＮＳＵＢＶＤＤがＩＯセル内のＥＳＤ素子ＥＬ１に結線されていないことにより、図４（ａ）に示すＩＯセルのシンボルにおいて、一方のスルーピンＴＨＲ１〜ＮＳＵＢＶＤＤがＩＯセル内のＥＳＤ素子ＥＬ１をスルーして他方のスルーピンＴＨＲ１〜ＮＳＵＢＶＤＤに接続されていることを確認できる。
【００４１】
ステップＳ１３では、スケマティック生成部２１は、ステップＳ１２で追加されたＩＯセルについて、スルーピンを自身のＩＯセルのシンボルの電源ピンに接続する旨の選択が行われたか否かを判断する。具体的には、スケマティック生成部２１は、ステップＳ１２で追加されたＩＯセルについて、複数のスルーピンのうち判断対象のスルーピンを選択する。例えば、スケマティック生成部２１は、複数のスルーピンのうち未選択のスルーピンを判断対象のスルーピンとして選択することができる。スケマティック生成部２１は、判断対象のスルーピンについて、スルーピンを自身のＩＯセルのシンボルの電源ピンに接続する旨のコマンドを受けた場合、その選択が行われたもの（ステップＳ１３でＹｅｓ）と判断し、処理をステップＳ１４へ進める。スケマティック生成部２１は、判断対象のスルーピンについて、スルーピンを自身のＩＯセルのシンボルの電源ピンに接続する旨のコマンドを所定期間内に受けなかった場合、その選択が行われていないもの（ステップＳ１３でＮｏ）と判断して、処理をステップＳ１５へ進める。
【００４２】
ステップＳ１４では、スケマティック生成部２１が、スルーピンを自身のＩＯセルのシンボルの電源ピンに接続する処理を行う。例えば、図７（ａ）に示すＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」のシンボルの場合、スケマティック生成部２１は、判断対象のスルーピンがスルーピンＴＨＲ４であれば、スルーピンＴＨＲ４を電源ピンＡＶＤＤ２５に接続する。このとき、スケマティック生成部２１は、ＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」のシンボルのピン接続情報において、スルーピンＴＨＲ４に対応する接続先のＩＯセルの識別子としてＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」の識別子を書き込み、接続先のピンの識別子として電源ピンＡＶＤＤ２５の識別子を書き込む。あるいは、判断対象のスルーピンがスルーピンＴＨＲ５であれば、スルーピンＴＨＲ５を電源ピンＡＶＳＳ２５に接続する。このとき、スケマティック生成部２１は、ＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」のシンボルのピン接続情報において、スルーピンＴＨＲ５に対応する接続先のＩＯセルの識別子としてＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」の識別子を書き込み、接続先のピンの識別子として電源ピンＡＶＳＳ２５の識別子を書き込む。
【００４３】
ステップＳ１５では、スケマティック生成部２１が、スルーピンを他のＩＯセルのシンボルのピンに接続する処理を行う。例えば、図８（ａ）に示すＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」のシンボルの場合、判断対象のスルーピンがスルーピンＴＨＲ４であれば、スルーピンＴＨＲ４を他のＩＯセル「ＩＳＤ＿ＬＶＡＶＤＤ」のスルーピンＴＨＲ４に接続する。このとき、スケマティック生成部２１は、ＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」のシンボルのピン接続情報において、スルーピンＴＨＲ４に対応する接続先のＩＯセルの識別子としてＩＯセル「ＩＳＤ＿ＬＶＡＶＤＤ」の識別子を書き込み、接続先のピンの識別子としてスルーピンＴＨＲ４の識別子を書き込む。あるいは、判断対象のスルーピンがスルーピンＴＨＲ５であれば、スルーピンＴＨＲ５を他のＩＯセル「ＩＳＤ＿ＬＶＡＶＤＤ」のスルーピンＴＨＲ５に接続する。このとき、スケマティック生成部２１は、ＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」のシンボルのピン接続情報において、スルーピンＴＨＲ５に対応する接続先のＩＯセルの識別子としてＩＯセル「ＩＳＤ＿ＬＶＡＶＤＤ」の識別子を書き込み、接続先のピンの識別子としてスルーピンＴＨＲ５の識別子を書き込む。
【００４４】
ステップＳ１６では、スケマティック生成部２１が、ステップＳ１２で呼び出されたＩＯセルにおける全てのスルーピンについてステップＳ１３〜ステップＳ１５の処理が行われたか否かを判断する。スケマティック生成部２１は、全てのスルーピンについて処理が行われた場合（ステップＳ１６でＹｅｓ）、処理をステップＳ１７へ進め、全てのスルーピンについて処理が行われていない場合（ステップＳ１６でＮｏ）、処理をステップＳ１３に戻す。
【００４５】
ステップＳ１７では、スケマティック生成部２１が、ＩＯ回路として配置すべき全てのＩＯセルが呼び出されたか否かを判断する。スケマティック生成部２１は、全てのＩＯセルが呼び出された場合（ステップＳ１７でＹｅｓ）、スケマティックデータ４６を記憶部４０に記憶して処理を終了し、呼び出されていないＩＯセルがある場合（ステップＳ１７でＮｏ）、処理をステップＳ１２に戻す。
【００４６】
次に、レイアウトデータ４７の生成（ステップＳ２０）の詳細について図５及び図６を用いて説明する。図５は、実施形態におけるレイアウトデータ４７の生成を示すフローチャートである。図６は、実施形態におけるＩＯセル及び電源レールのオブジェクトを示す図である。
【００４７】
ステップＳ２１では、制御部２０が、入力部６０を介してユーザから受けた起動コマンドに応じて、レイアウトエディタ４２を起動して制御部２０内にレイアウト生成部２２を実現する。レイアウト生成部２２は、制御部２０内に実現された仮想的な平面であるレイアウト図を表示部３０上に表示させる。
【００４８】
ステップＳ２２では、レイアウト生成部２２が、スケマティックデータ４６に応じて、ＩＯセル及び電源レールのオブジェクトをレイアウト図上に配置する。具体的には、レイアウト生成部２２は、入力部６０を介してユーザから受けたコマンドに応じて、記憶部４０のスケマティックデータ４６にアクセスし、スケマティックデータ４６を取得する。レイアウト生成部２２は、スケマティックデータ４６に応じて、ＩＯセル及び電源レールのオブジェクトを生成するとともにそれらのレイアウト図上における配置位置を計算する。レイアウト生成部２２は、計算結果に従って、ＩＯセル及び電源レールのオブジェクトをレイアウト図上に配置する。
【００４９】
例えば、レイアウト生成部２２は、図６（ａ）に示すようなＩＯセル及び電源レールのオブジェクトをレイアウト図上に追加する。図６（ａ）に示す場合、電源レールＰＲ１〜ＰＲ９のオブジェクトが、ＩＯセル２０２のオブジェクトの上に重ねて表示される。図４（ａ）と図６（ａ）とを比較することで理解されるように、ＩＯセルのシンボルにおけるスルーピンＴＨＲ１，ＴＨＲ２，ＴＨＲ３，ＴＨＲ４，ＴＨＲ５，ＴＨＲ６，ＮＳＵＢＶＤＤが、それぞれ、レイアウト図における電源レールＰＲ１，ＰＲ２，ＰＲ３，ＰＲ４，ＰＲ５，ＰＲ６，ＰＲ７に対応している。ＩＯセルのシンボルにおける電源ピンＡＶＳＳ２５，ＡＶＤＤ２５が、それぞれ、レイアウト図における電源レールＰＲ８，ＰＲ９に対応している。
【００５０】
また、レイアウト生成部２２は、入力部６０を介してユーザから受けたレイアウトビュー表示コマンドに応じて、図６（ａ）に示すようなＩＯセル及び電源レールのオブジェクトを図６（ｂ）に示すようなＩＯセル及び電源レールの詳細なオブジェクトに切替表示する。レイアウト生成部２２は、入力部６０を介してユーザから受けたアブストラクトビュー表示コマンドに応じて、図６（ｂ）に示すようなＩＯセル及び電源レールの詳細なオブジェクトを図６（ａ）に示すようなＩＯセル及び電源レールのオブジェクトに切替表示する。これにより、例えば、各電源レールとそれに含まれる複数のラインとの対応を確認することができる。
【００５１】
ステップＳ２３では、レイアウト生成部２２は、スケマティックデータ４６に応じて、ビアを配置すべき旨のアノテーションを行うべきか否かを判断する。
【００５２】
具体的には、レイアウト生成部２２は、ステップＳ２２で配置された複数のＩＯセルのうち判断対象のＩＯセルを選択し、選択されたＩＯセルにおける複数のスルーピンのうち判断対象のスルーピンを選択する。レイアウト生成部２２は、判断対象のスルーピンについて、ステップＳ１４の処理（スルーピンが自身のＩＯセルのシンボルの電源ピンに接続される処理）が行われたか否かを判断する。例えば、レイアウト生成部２２は、スケマティックデータ４６に含まれた判断対象ＩＯセルのピン接続情報を参照して、判断対象のスルーピンについて、ステップＳ１４の処理が行われたか否かを判断する。
【００５３】
レイアウト生成部２２は、判断対象のスルーピンについて、ステップＳ１４の処理が行われた場合、アノテーションを行うべきと判断して（ステップＳ２３でＹｅｓ）、電源レールのオブジェクトにおけるそのスルーピンに対応する部分を、ビアの配置を促す形態で表示させる。例えば、レイアウト生成部２２は、電源レールのオブジェクトにおけるそのスルーピンに対応する部分を、ハイライト表示させたり点滅表示させたりして、ユーザにビアの配置を促す。そして、レイアウト生成部２２は、処理をステップＳ２４へ進める。
【００５４】
あるいは、レイアウト生成部２２は、判断対象のスルーピンについて、ステップＳ１４の処理が行われていない場合、アノテーションを行うべきでないと判断して（ステップＳ２３でＮｏ）、処理をステップＳ２５へ進める。
【００５５】
ステップＳ２４では、レイアウト生成部２２が、入力部６０を介してユーザから受けたコマンドに応じて、電源レールのオブジェクトにおけるそのスルーピンに対応する部分を、ＩＯセルにおける電源ピンに対応するラインに接続するビアを配置する。例えば、図７（ｂ）に示す場合、電源レールＰＲ４におけるＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」のスルーピンＴＨＲ４に対応する部分（破線で囲った部分）を、ＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」における電源ピンＡＶＤＤ２５に対応するラインに接続するビアを配置する。あるいは、電源レールＰＲ５におけるＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」のスルーピンＴＨＲ５に対応する部分（破線で囲った部分）を、ＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」における電源ピンＡＶＳＳ２５に対応するラインに接続するビアを配置する。
【００５６】
なお、ステップＳ２３でアノテーションを行うべきでないと判断された場合、電源レールのオブジェクトにおけるスルーピンに対応する部分に、ＩＯセル内の素子に接続されるようなビアは特に配置されない。例えば、図８（ｂ）に示す場合、電源レールＰＲ４におけるＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」のスルーピンＴＨＲ４に対応する部分（破線で囲った部分）には、ＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」内の素子に接続されるようなビアは特に配置されない。あるいは、電源レールＰＲ５におけるＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」のスルーピンＴＨＲ５に対応する部分（破線で囲った部分）には、ＩＯセル「ＩＳＤ＿ＨＶＡＶＳＳ」内の素子に接続されるようなビアは特に配置されない。
【００５７】
ステップＳ２５では、レイアウト生成部２２が、ステップＳ１２で呼び出されたＩＯセルにおける全てのスルーピンについてステップＳ２３〜ステップＳ２４の処理が行われたか否かを判断する。レイアウト生成部２２は、全てのスルーピンについて処理が行われた場合（ステップＳ２５でＹｅｓ）、処理をステップＳ２６へ進め、全てのスルーピンについて処理が行われていない場合（ステップＳ２５でＮｏ）、処理をステップＳ２３に戻す。
【００５８】
ステップＳ２６では、レイアウト生成部２２が、ＩＯ回路として配置すべき全てのＩＯセルが呼び出されたか否かを判断する。レイアウト生成部２２は、全てのＩＯセルが呼び出された場合（ステップＳ２６でＹｅｓ）、レイアウトデータ４７を記憶部４０に記憶して処理を終了し、未処理のＩＯセルがある場合（ステップＳ２６でＮｏ）、処理をステップＳ２３に戻す。
【００５９】
次に、実施形態にかかるＩＯ回路設計方法が適用される固体撮像装置５を含む撮像システムの構成について図１１〜図１３を用いて説明する。図１１は、固体撮像装置５の構成を示す図である。図１２及び図１３は、固体撮像装置５を含む撮像システム１００の構成を示す図である。
【００６０】
撮像システム１００は、例えば、デジタルカメラ、デジタルビデオカメラなどであってもよいし、カメラモジュールが電子機器に適用されたもの（例えばカメラ付き携帯端末等）でもよい。撮像システム１００は、図１２に示すように、撮像部２及び後段処理部３を備える。撮像部２は、撮像光学系４及び固体撮像装置５を有する。後段処理部３は、ＩＳＰ（Ｉｍａｇｅ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）６、記憶部７、及び表示部８を有する。
【００６１】
撮像光学系４は、撮影レンズ１０７、ハーフミラー１０１，１０２、ＡＦセンサ１０３、メカシャッタ１０６、レンズ１０４、プリズム１０５、及びファインダー１０８を有する。撮影レンズ１０７は、例えば、多数枚の撮影レンズ及びレンズ駆動機構（図示せず）を有する。絞り（図示せず）は、多数枚の撮影レンズの間に配され、光路における上流側の撮影レンズから下流側の撮影レンズへ導かれる光量を調節する。
【００６２】
固体撮像装置５は、撮影レンズ１０７の予定結像面に配置されている。例えば、撮影レンズ１０７は、入射した光を屈折させて、ハーフミラー１０１及びメカシャッタ１０６経由で固体撮像装置５の撮像面へ導き、固体撮像装置５の撮像面（画素アレイ１２）に被写体の像を形成する。固体撮像装置５は、被写体像に応じた画像信号を生成する。
【００６３】
固体撮像装置５は、図１１に示すように、イメージセンサ１０、信号処理回路１１、及びＩＯ回路２０３を有する。イメージセンサ１０は、例えば、ＣＭＯＳイメージセンサであってもよいし、ＣＣＤイメージセンサであっても良い。図１１では、イメージセンサ１０がＣＭＯＳイメージセンサである場合の構成を例示的に示している。例えば、イメージセンサ１０は、画素アレイ１２、垂直シフトレジスタ１３、タイミング制御部１５、相関二重サンプリング部（ＣＤＳ）１６、アナログデジタル変換部（ＡＤＣ）１７及びラインメモリ１８を有する。
【００６４】
画素アレイ１２では、複数の画素が２次元的に配列されている。各画素は、光電変換部（例えば、フォトダイオード）を有する。画素アレイ１２は、各画素への入射光量に応じた画像信号を生成する。ＩＯ回路２０３を介してＩＳＰ６から受けた制御信号は、タイミング制御部１５、垂直シフトレジスタ１３、ＣＤＳ１６、ＡＤＣ１７、ラインメモリ１８、及び信号処理回路１１へ供給される。これにより、生成された画像信号は、タイミング制御部１５及び垂直シフトレジスタ１３によりＣＤＳ１６側へ読み出され、ＣＤＳ１６／ＡＤＣ１７を経て画像データへ変換され、ラインメモリ１８経由で信号処理回路１１に出力される。信号処理回路１１では、信号処理が行われる。これらの信号処理された画像データは、ＩＯ回路２０３を介してＩＳＰ６に出力される。
【００６５】
また、ハーフミラー１０２で反射した光は、オートフォーカス（ＡＦ）センサ１０３へ進行する。レンズ駆動機構（図示せず）は、ＩＳＰ６（図１２参照）による制御のもと、撮影レンズ１０７における多数枚の撮影レンズのうち少なくとも一部の撮影レンズを光軸に沿って駆動する。例えば、ＩＳＰ６は、ＡＦ（Ａｕｔｏ  Ｆｏｃｕｓ）機能に従って、ＡＦセンサ１０３での検出結果に応じた焦点調節情報を求め、焦点調節情報に基づいて、レンズ駆動機構を制御して、撮影レンズ１０７を合焦状態（ジャストフォーカス）に調節する。
【００６６】
以上のように、実施形態では、ＩＯ回路を設計する際のスケマティックデータ４６の生成において、呼び出されるＩＯセルは、複数のピン、複数のスルーライン、及び複数の電源ラインを有する。複数のピンは、レイアウトされるべきオブジェクトと対応した位置に対応した順番で配置されている。複数のピンは、複数のスルーピン及び複数の電源ピンを有する。複数のスルーラインのそれぞれは、スルーピンに接続されＩＯセル内の素子（例えば、ＥＳＤ素子）をスルーする。複数の電源ラインのそれぞれは、電源ピンに接続されＩＯセル内の素子に結線されている。これにより、スケマティック図上に配置されるシンボルについて、レイアウトされるべき電源レールのオブジェクトに対応したピンの情報を持たせることができるので、スケマティック図を見ることでレイアウト図がどのような電源レールを持ちどのように結線されるかを把握できる。この結果、スケマティックデータとレイアウトデータとを同期させることが容易となり、ＥＤＡツールの自動化高機能を容易に使用することができる。
【００６７】
また、実施形態では、ＩＯ回路を設計する際のスケマティックデータ４６の生成において、呼び出されるＩＯセルのシンボルは、スルーピンを他のＩＯセルのシンボルのピンに接続するか、スルーピンを自身のＩＯセルのシンボルの電源ピンに接続するかを切り替える機能を有する。これにより、ＩＯセル内の素子が同一機能であるＩＯセルについて、複数の電源レールの使い方に対して１つのＩＯセルのシンボルで共通に設計することができ、派生セルのシンボルを不要にすることができる。
【００６８】
例えば、機能的に同じＩＯセルであるＤＶＳＳセルは、電源レールの使い方のパターンの数だけ用意する場合、同一回路に対してレイアウトブロックとしては５種類用意する。これは、電源レール配線をＰＡＤ配置によって変更するだけの違いである。具体的には、ＤＶＳＳセル内部の保護素子への電源供給を強化するために使用する場合と、他ＩＯセルのために電源ＧＮＤ配線レールをただ通す（＝スルー配線）ために使用する場合、且つ、同一座標に重ねた配線層を切りわけて使用する場合である。本実施形態のＩＯセルにおいては、これらの違いがあっても、１つのシンボルで設計することを可能にしている。すなわち、電源レールの使い方のパターンにおける５つのバリエーションに対して、１つ上の階層（すなわち、回路図より１つ上の階層のシンボル）における１つのシンボルの結線を変えることで対応させたスケマティックデータ（ネット情報）を与えることができる。
【００６９】
したがって、複数の電源レールの使い方に対して派生セルのシンボルを不要にすることができるので、セルライブラリ４５に含まれるＩＯセルのシンボルの種類数を低減でき、ＩＯ回路２０３の設計環境を効率的に管理できる。
【００７０】
ここで、仮に、半導体装置がＡＳＩＣである場合、電源レールの使い方のパターンの数だけ多数の電源レールを用意する傾向にある。この場合、図９（ａ）に示すように、用意すべき電源レールの数が多くなるとともに、ＩＯ回路のＥＳＤ素子にかかる電圧がその耐圧未満になるように電源レベルに応じて電源レールの幅を（例えば、幅Ｗ１に）太くする必要がある。これにより、ＩＯ回路のチップエッジＣＥからの高さＨ１が高くなってしまうので、ＩＯ回路のレイアウト面積が増大してしまう可能性がある。
【００７１】
それに対して、実施形態では、ＩＯ回路を設計する際のスケマティックデータ４６の生成において、呼び出されるＩＯセルのシンボルは、スルーピンを他のＩＯセルのシンボルのピンに接続するか、スルーピンを自身のＩＯセルのシンボルの電源ピンに接続するかを切り替える機能を有する。これにより、複数の電源レールの使い方に対して１つのＩＯセルのシンボルで共通に設計することができることに対応して、図９（ｂ）に示すように、用意すべき電源レールの数を低減できる。また、電源レベルに応じてスルーピンを自身のＩＯセルのシンボルの電源ピンに接続することで１つの電源に対して実効的に複数の電源レールを使用できるので、図９（ｂ）に示すように、各電源レールの幅を図９（ａ）に示す場合に比べて狭く（例えば、幅Ｗ２＜Ｗ１に）できるとともに、１つの電源に対する実効的な配線幅を太くできる。これにより、ＩＯ回路のチップエッジＣＥからの高さＨ２を図９（ａ）に示す場合に比べて大幅に低くできるので、ＩＯ回路のレイアウト面積を容易に低減できる。
【００７２】
また、実施形態では、上記のように設計されたＩＯ回路を含む半導体装置が、例えば固体撮像装置である。固体撮像装置では、画素アレイ１２（図１１参照）内に要求される画素数の画素を配置する必要があり、コア部２０１（図１０参照）の面積として所定のレイアウト面積が必要である。その場合でも、上記のようにＩＯ回路のレイアウト面積を容易に低減できるので、固体撮像装置の画素数の要求を満たしながら半導体装置（例えば、固体撮像装置）のチップ面積を低減できる。
【００７３】
また、実施形態では、ＩＯ回路を設計する際に、スケマティックデータの生成において、スケマティック生成部２１が、ＩＯセルのシンボルにおいて、スルーピンを他のＩＯセルのシンボルのピンに接続するか、スルーピンを自身のＩＯセルのシンボルの電源ピンに接続するかを選択する。レイアウトデータの生成において、スケマティックデータの生成でスルーピンが自身のＩＯセルのシンボルの電源ピンに接続された場合、レイアウト生成部２２が、電源レールのオブジェクトにおけるスルーピンに対応する部分を、ビアの配置を促す形態で表示させる。つまり、その回路のスケマティックデータ（ネット情報）を元に、ネットドリブンのレイアウトにてＩＯセル内部に結線が必要か否かを判断させて、必要な場合にビアを生成させることができ、不要な場合（スルー配線に使用している場合）にビアを生成させないようにすることができる。したがって、電源レールの設計自由度を容易に向上でき、ネットドリブンでレイアウトすることができ、簡単に結線ミスを低減しながらレイアウトを完成させることができる。
【００７４】
このように、本実施形態のセルライブラリを用いれば、ＩＯセルの設計において、設計時間を短縮でき、回路・レイアウト変更編集を容易化でき、多層の複雑な配線描画のリアルタイムの結線検証ができるようになり、製品開発の効率化に大きく貢献することが可能である。
【００７５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７６】
２１  スケマティック生成部、２２  レイアウト生成部、４５  セルライブラリ。
【図１】
2015056166.tif 000003
【図２】
2015056166.tif 000004
【図３】
2015056166.tif 000005
【図４】
2015056166.tif 000006
【図５】
2015056166.tif 000007
【図１０】
2015056166.tif 000008
【図１１】
2015056166.tif 000009
【図１２】
2015056166.tif 000010
【図１３】
2015056166.tif 000011
【図６】
2015056166.tif 000012
【図７】
2015056166.tif 000013
【図８】
2015056166.tif 000014
【図９】
2015056166.tif 000015