(57)【特許請求の範囲】
【請求項１】
回路情報に基づいて複数の論理回路を組にしたセルを所定の配列形態をもって配置し、多層配線化する集積回路を作製する集積回路作製装置であって、
上記複数の論理回路のうち、初期論理値の変更が予測される第１の順序回路を第２の順序回路に置換する置換部と、
上記置換部によって置換された上記第２の順序回路の配置後、当該順序回路の所定端子が配線接続可能な複数の配線層のうち、いずれか一の配線層に配線禁止領域を設定する配線禁止領域設定部と、
置換された上記第２の順序回路の上記初期論理値を変更する場合に、当該順序回路の上記所定端子を上記配線禁止領域の配線層にて配線接続する配線部と
を有する集積回路作製装置。
【請求項２】
上記置換部は、
上記第１の順序回路を非同期で所定の論理値に設定するセット端子と当該論理値をリセットするリセット端子とを有する上記第２の順序回路に置換する
請求項１記載の集積回路作製装置。
【請求項３】
上記置換部は、
上記第２の順序回路の駆動能力が当該第２の順序回路と同程度の上記セルを選択する
請求項２記載の集積回路作製装置。
【請求項４】
上記配線部は、
上記初期論理値を変更する場合にのみ、上記第２の順序回路の上記セット端子と上記リセット端子との配線を逆に配線接続する
請求項２記載の集積回路作製装置。
【請求項５】
上記配線禁止領域設定部は、
上記セルが複数の上記第１の順序回路を含む場合、それぞれが上記置換部によって置換された上記第２の順序回路を互いに隣接させて上記配線禁止領域を設定する
請求項１記載の集積回路作製装置。
【請求項６】
上記配線部は、
上記セルが複数の上記第１の順序回路を含む場合、それぞれが上記置換部によって置換された上記第２の順序回路の入力端子間および出力端子間同士で各々の配線を互いに交換して接続する
請求項１記載の集積回路作製装置。
【請求項７】
上記配線禁止領域設定部は、
優先度の高い上記第１の順序回路のみに対して上記配線禁止領域を設定する
請求項１記載の集積回路作製装置。
【請求項８】
上記配線禁止領域設定部は、
上記セルが上記第２の順序回路を含まない場合であっても、上記配線禁止領域を設定する
請求項１記載の集積回路作製装置。
【請求項９】
上記第１および第２の順序回路は、レジスタを含む
請求項１記載の集積回路作製装置。
【請求項１０】
上記第１の順序回路は、レジスタを含み、
上記第２の順序回路は、フリップフロップを含む
請求項１記載の集積回路作製装置。
【請求項１１】
回路情報に基づいて複数の論理回路を組にしたセルを所定の配列形態をもって配置し、多層配線化する集積回路を作製する集積回路作製装置であって、
上記回路情報に基づいて演算を行う演算部と、
上記演算部の処理データを記憶する少なくとも一つの記憶部と、
を有し、
上記演算部は、
上記複数の論理回路のうち、初期論理値の変更が予測される第１の順序回路を第２の順序回路に置換する置換部と、
上記置換部によって置換された上記第２の順序回路の配置後、当該順序回路の所定端子が配線接続可能な複数の配線層のうち、いずれか一の配線層に配線禁止領域を設定する配線禁止領域設定部と、
置換された上記第２の順序回路の上記初期論理値を変更する場合に、当該順序回路の上記所定端子を上記配線禁止領域の配線層にて配線接続する配線部と
含む
集積回路作製装置。
【請求項１２】
回路情報に基づいて複数の論理回路を組にしたセルを所定の配列形態をもって配置し、多層配線化する集積回路を作製する集積回路作製方法であって、
上記複数の論理回路のうち、初期論理値の変更が予測される第１の順序回路を第２の順序回路に置換するステップと、
置換された上記第２の順序回路の配置後、当該順序回路の所定端子が配線接続可能な複数の配線層のうち、いずれか一の配線層に配線禁止領域を設定するステップと、
置換された上記第２の順序回路の上記初期論理値を変更する場合に、当該順序回路の上記所定端子を上記配線禁止領域の配線層にて配線接続するステップと
を有する集積回路作製方法。
【請求項１３】
回路情報に基づいて複数の論理回路を組にしたセルを所定の配列形態をもって配置し、多層配線化する集積回路を作製する処理であって、
上記複数の論理回路のうち、初期論理値の変更が予測される第１の順序回路を第２の順序回路に置換する処理と、
置換された上記第２の順序回路の配置後、当該順序回路の所定端子が配線接続可能な複数の配線層のうち、いずれか一の配線層に配線禁止領域を設定する処理と、
置換された上記第２の順序回路の上記初期論理値を変更する場合に、当該順序回路の上記所定端子を上記配線禁止領域の配線層にて配線接続する処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路情報に基づいて複数の論理回路を組にしたセルを所定の配列形態をもって配置し、多層配線化する集積回路を作製する集積回路作製装置に関するものである。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integration、大規模集積回路）等をはじめとする集積回路をたとえば複数の論理回路を組にしたセルをマトリックス状に配列して多層配線化するセルベースのレイアウト作製が広く行われている。
【０００３】
一方、たとえば図１１に図示する撮像装置４００では、撮像装置４００外部との通信やタイミングジェネレータ４１０、画素部４２０、画像処理部４３０等のタイミングをレジスタ４４０が行っている。このような撮像装置４００では、アナログ特性値をその特性評価結果や使用状況に応じてレジスタを変更する。
【特許文献１】特開平９−１２９７３８
【発明の開示】
【発明が解決しようとする課題】
【０００４】
セルベースによる集積回路のレイアウト作製では、レジスタを用いることを前提としていない。したがって、上述のレジスタ４４０を採用した撮像装置４００等では、レイアウト作製時に非同期のレジスタ４４０の初期論理値を容易に変更できない。その結果、レイアウトの作製途中でレジスタ４４０の初期論理値が好ましくない場合にその値を修正してレジスタ通信を低減させること等が困難である。
また、引用文献１では最上位層に引き上げる配線周りの処理が開示されておらず、配線混雑度が高い場合のレイアウト作製が確実ではない可能性がある。
また、集束イオンビーム（ＦＩＢ：Focused Ion Beam）による回路の変更では、レイアウト変更やマスク変更はもとより、最上位の配線層以外での配線接続の変更に対応できない不利益がある。
【０００５】
本発明は、複数の論理回路を組にしたセルを所定の配列形態をもって配置し、多層配線化する集積回路の作製において、配線接続の変更が容易に実行できる集積回路作製装置およびその方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の第１の観点の集積回路作製装置は、回路情報に基づいて複数の論理回路を組にしたセルを所定の配列形態をもって配置し、多層配線化する集積回路を作製する集積回路作製装置であって、上記複数の論理回路のうち、初期論理値の変更が予測される第１の順序回路を第２の順序回路に置換する置換部と、上記置換部によって置換された上記第２の順序回路の配置後、当該順序回路の所定端子が配線接続可能な複数の配線層のうち、いずれか一の配線層に配線禁止領域を設定する配線禁止領域設定部と、置換された上記第２の順序回路の上記初期論理値を変更する場合に、当該順序回路の上記所定端子を上記配線禁止領域の配線層にて配線接続する配線部とを有する。
【０００７】
好適には、上記置換部は、上記第１の順序回路を非同期で所定の論理値に設定するセット端子と当該論理値をリセットするリセット端子とを有する上記第２の順序回路に置換する。
【０００８】
好適には、上記置換部は、上記第２の順序回路の駆動能力が当該第２の順序回路と同程度の上記セルを選択する。
【０００９】
好適には、上記配線部は、上記初期論理値を変更する場合にのみ、上記第２の順序回路の上記セット端子と上記リセット端子との配線を逆に配線接続する。
【００１０】
好適には、上記配線禁止領域設定部は、上記セルが複数の上記第１の順序回路を含む場合、それぞれが上記置換部によって置換された上記第２の順序回路を互いに隣接させて上記配線禁止領域を設定する。
【００１１】
好適には、上記配線部は、上記セルが複数の上記第１の順序回路を含む場合、それぞれが上記置換部によって置換された上記第２の順序回路の入力端子間および出力端子間同士で各々の配線を互いに交換して接続する。
【００１２】
好適には、上記配線禁止領域設定部は、優先度の高い上記第１の順序回路のみに対して上記配線禁止領域を設定する。
【００１３】
好適には、上記配線禁止領域設定部は、上記セルが上記第２の順序回路を含まない場合であっても、上記配線禁止領域を設定する。
【００１４】
好適には、上記第１および第２の順序回路は、レジスタを含む。
【００１５】
好適には、上記第１の順序回路は、レジスタを含み、上記第２の順序回路は、フリップフロップを含む。
【００１６】
本発明の第２の観点の集積回路作製装置は、回路情報に基づいて複数の論理回路を組にしたセルを所定の配列形態をもって配置し、多層配線化する集積回路を作製する集積回路作製装置であって、上記回路情報に基づいて演算を行う演算部と、上記演算部の処理データを記憶する少なくとも一つの記憶部と、を有し、上記演算部は、上記複数の論理回路のうち、初期論理値の変更が予測される第１の順序回路を第２の順序回路に置換する置換部と、上記置換部によって置換された上記第２の順序回路の配置後、当該順序回路の所定端子が配線接続可能な複数の配線層のうち、いずれか一の配線層に配線禁止領域を設定する配線禁止領域設定部と、置換された上記第２の順序回路の上記初期論理値を変更する場合に、当該順序回路の上記所定端子を上記配線禁止領域の配線層にて配線接続する配線部とを含む。
【００１７】
本発明の第３の観点の集積回路作製方法は、回路情報に基づいて複数の論理回路を組にしたセルを所定の配列形態をもって配置し、多層配線化する集積回路を作製する集積回路作製方法であって、上記複数の論理回路のうち、初期論理値の変更が予測される第１の順序回路を第２の順序回路に置換するステップと、置換された上記第２の順序回路の配置後、当該順序回路の所定端子が配線接続可能な複数の配線層のうち、いずれか一の配線層に配線禁止領域を設定するステップと、置換された上記第２の順序回路の上記初期論理値を変更する場合に、当該順序回路の上記所定端子を上記配線禁止領域の配線層にて配線接続するステップとを有する。
【００１８】
本発明の第４の観点のプログラムは、回路情報に基づいて複数の論理回路を組にしたセルを所定の配列形態をもって配置し、多層配線化する集積回路を作製する処理であって、上記複数の論理回路のうち、初期論理値の変更が予測される第１の順序回路を第２の順序回路に置換する処理と、置換された上記第２の順序回路の配置後、当該順序回路の所定端子が配線接続可能な複数の配線層のうち、いずれか一の配線層に配線禁止領域を設定する処理と、置換された上記第２の順序回路の上記初期論理値を変更する場合に、当該順序回路の上記所定端子を上記配線禁止領域の配線層にて配線接続する処理とをコンピュータに実行させる。
【００１９】
本発明によれば、初期論理値の変更が予測される第１の順序回路を第２の順序回路に置換し、置換された第２の順序回路の配置後、当該順序回路の所定端子が配線接続可能な複数の配線層のうち、いずれか一の配線層に配線禁止領域を設け、置換された第２の順序回路の初期論理値を変更する場合に、当該順序回路の所定端子を配線禁止領域の配線層にて配線接続する。
【発明の効果】
【００２０】
本発明によれば、複数の論理回路を組にしたセルを所定の配列形態をもって配置し、多層配線化する集積回路の作製において、配線接続の変更が容易に実行できる集積回路作製装置およびその方法、並びにプログラムを提供できる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態を図面に関連付けて説明する。
【００２２】
（第１実施形態）
本実施形態に係る集積回路作製方法、並びにプログラムを採用した集積回路作製装置の一実施形態について図１および図２を参照しながら説明する。
図１は本実施形態に係る集積回路作製装置の一構成例を示す概略図である。
また、図２は、図１に図示する集積回路作製装置の一構成例を示すブロック図である。
【００２３】
図１に図示するように、集積回路作製装置１は、演算装置１０、操作部１１、および表示部１２を有する。
【００２４】
集積回路作製装置１は、回路情報２に基づいて複数の論理回路を組にしたセルを所定の配列形態をもって配置し、多層配線化する集積回路を作製する。そして、集積回路作製装置１は、その結果をレイアウトデータ３として出力する。
【００２５】
回路情報２は、ユーザ等によって設定され、たとえばレジスタや組み合わせ回路等で表現される論理レベルに関する情報ＲＴＬ（Register Transfer Level）、レイアウト作製の際にユーザが指定する制約条件に関する情報等を含む。
【００２６】
レイアウトデータ３は、集積回路作製装置１が出力するデータである。
【００２７】
操作部１１は、キーボード等の入力装置、マウス等のポインティング装置で構成され、ユーザによる回路情報２等の入力情報を演算装置１０に入力する。なお、操作部１１の構成は特に限定されない。
【００２８】
表示部１２は、ＣＲＴあるいは液晶ディスプレイ等で構成され、演算装置１０が出力する種々のデータ、たとえば回路情報２やレイアウトデータ３を表示する。なお、表示部１２の構成は特に限定されない。
【００２９】
次に図２を参照しながら、図１の演算装置１０の構成を中心に説明する。演算装置１０は、ＣＰＵ１００、ハードディスク（ＨＤ）１１０、ＲＯＭ１２０、ＲＡＭ１３０、および制御部１４０を有する。
さらに、ＣＰＵ１００は、合成部１００１、置換部１００２、配置部１００３、配線禁止領域設定部１００４、および配線部１００５を有する。
また、ハードディスク１１０は、合成記憶部１１０１、置換記憶部１１０２、配置記憶部１１０３、配線禁止領域設定記憶部１１０４、および配線記憶部１１０５を有する。
なお、ＣＰＵ１００は本発明の演算部に、ハードディスク１１０は本発明の記憶部の一つにそれぞれ対応している。
【００３０】
ＣＰＵ１００は、回路情報２に基づいた演算を行い、逐次ハードディスク１１０にアクセスしながら、演算結果等を所定領域に記録する。ＣＰＵ１００の各構成部の詳細については後述する。
なお、ＣＰＵ１００が実行する処理内容は、前述の他、種々の数値計算や情報処理等を実行可能で、その処理内容は特に限定されない。
【００３１】
ハードディスク１１０は、たとえば磁気ディスク装置であって、回路情報２、レイアウトデータ３、ＣＰＵ１００が出力した演算結果、プログラム、その他種々のデータを記録する。データの記録期間は、長期的に保存可能で特に限定されない。ハードディスク１１０の各構成部の詳細については後述する。
【００３２】
ＲＯＭ１２０は、たとえば読み出し専用の不揮発性半導体メモリであって、あらかじめＣＰＵ１００で実行される処理に必要なプログラム等のデータが記録されており、制御部１４０の制御に応じてＣＰＵ１００等から必要なデータが読み出しされる。
【００３３】
ＲＡＭ１３０は、たとえば読み書き可能なＤＲＡＭ（Dynamic Random Access Memory）であって、制御部１４０の制御に応じてＣＰＵ１００やハードディスク１１０とアクセスしながら一時的にデータを記録する。
【００３４】
制御部１４０は、操作部１１、表示部１２、ＣＰＵ１００、ハードディスク１１０、ＲＯＭ１２０、およびＲＡＭ１３０をはじめとする集積回路作製装置１全般の制御を行う。
【００３５】
以下、ＣＰＵ１００の各構成部について詳細に説明する。図３は、本実施形態に係る演算部が有する各構成部の一例を説明するための図である。以後、各構成部の説明をする際に図３を適宜参照する。
【００３６】
図３の「２００」は、たとえば非同期のリセット端子２０１を有するレジスタで、初期論理値が０の状態である。なお、レジスタ２００は、リセット端子２０１に接続されたリセット信号線ＲＳＴＬにローレベル（Ｌレベル）の信号が供給されると、初期論理値を０にリセットする。
また、図３の「２００ａ」は、たとえば非同期のセット端子２０２を有するレジスタで、初期論理値が１の状態である。なお、レジスタ２００ａは、セット端子２０２に接続されたセット信号線ＳＥＴＬにＬレベルの信号が供給されると、初期論理値を１にセットする。
図３の「２１０」は、たとえば伴に非同期のセット端子２１２およびリセット端子２１１を有するフリップフロップで、初期論理値が０の状態である。なお、フリップフロップ２１０は、リセット端子２１１に接続されたリセット信号線ＲＳＴＬにＬレベルの信号が供給されると、初期論理値を０にリセットする。
また、図３の「２１０ａ」は、フリップフロップ２１０と同様の構成のフリップフロップであるが、初期論理値が１の状態である。なお、フリップフロップ２１０ａは、セット端子２１２に接続されたセット信号線ＳＥＴＬにＬレベルの信号が供給されると、初期論理値を０にセットする。
【００３７】
なお、本実施形態では、上述のレジスタ２００、２００ａが本発明に係る第１の順序回路に、フリップフロップ２１０、２１０ａが第２の順序回路にそれぞれ対応しているが、
このフリップフロップ２１０、２１０ａは非同期のセット端子およびリセット端子を有するレジスタであってもよい。
また、レジスタ２００、２００ａは、それぞれ非同期のリセット端子、セット端子を有するフリップフロップであってもよい。
本発明に係る第１および第２の順序回路は、論理値の状態を記憶でき、非同期のセット端子およびリセット端子を有する順序回路であれば特に限定されない。
【００３８】
合成部１００１は、回路情報２やセルの接続関係を含むネットリストに基づいて論理合成を行う。
具体的には、合成部１００１はレジスタの論理合成において、レジスタの初期論理値が０の場合、図３に図示するレジスタ２００を選択し、レジスタの初期論理値が１の場合、レジスタ２００ａを選択する。
また、合成部１００１は、選択されたレジスタ２００よりもセル面積が大きい、同図に示すフリップフロップ２１０を選択しない場合がある。
【００３９】
そこで、本実施形態は、置換部１００２を有し、置換部１００２が複数の論理回路のうち特に順序回路について、初期論理値の変更が予測されるレジスタを非同期のセット端子およびリセット端子を有するフリップフロップに置換する。
ここで、「初期論理値の変更が予測される」とは、たとえばユーザによってレジスタ（図３のレジスタ２００または２００ａ）の初期論理値がレイアウトの作製途中や作製後に変更される可能性があることをいい、必ずしも初期論理値が変更されるものではない。
【００４０】
詳細には図３に図示するように、置換部１００２は、上述の合成部１００１が論理合成を行った後のネットリストや制約条件により、初期論理値が０のレジスタ２００は初期論理値が０のフリップフロップ２１０に、初期論理値が１のレジスタ２００ａは初期論理値が１のフリップフロップ２１０ａにそれぞれ置換する。
ここでの置換部１００２に使用する制約条件には、レジスタ２００（２００ａ）の置換を行うセルの指定が挙げられる。
また、置換部１００２は、置換後のフリップフロップ２１０のセット端子２１２に定数１−ｂ１を、置換後のフリップフロップ２１０ａのリセット端子２１１に定数１−ｂ１をそれぞれ接続する。なお、この定数１−ｂ１の値は、たとえば電源電圧ＶＤＤであって、特に限定されるものではない。
【００４１】
さらに、置換部１００２は、合成部１００１による論理合成後のタイミング変化を最小限に抑えるため、置換するフリップフロップ２１０（２１０ａ）の駆動能力が同程度のセルを選択する。
【００４２】
ユーザがレイアウトの作製中あるいは作成後に、置換されたフリップフロップ２１０の初期論理値を０から１に変更する場合、置換部１００２は、初期論理値が０のフリップフロップ２１０を初期論理値が１のフリップフロップ２１０ａに置換する。
また、置換されたフリップフロップ２１０ａの初期論理値を１から０に変更する場合、置換部１００２は、初期論理値が１のフリップフロップ２１０ａを初期論理値が０のフリップフロップ２１０に置換する。
【００４３】
配置部１００３は、置換部１００２が置換したフリップフロップ２１０（２１０ａ）を所定のセル上に好適に配置する。
【００４４】
配線禁止領域設定部１００４は、ユーザによる制約条件（図１の回路情報２を参照）により、レジスタ２００（２００ａ）の初期論理値の変更が後に予測される場合、置換部１００２が置換したフリップフロップ２１０（２１０ａ）のリセット端子２１１およびセット端子２１２が配線接続可能な複数の配線層のうち、いずれか一の配線層に配線禁止領域を設定する。
ここでの配線禁止領域に関する制約条件には、配線禁止とする配線層の指定、上層での配線禁止を行うセルの指定が挙げられる。
なお、配線禁止領域は、一つのセル程度の領域に対して設定される。
【００４５】
この配線禁止領域について、図４、５を参照しながら説明する。
図４は、本実施形態に係る配線禁止領域を説明するための多層配線化されたレイアウトの一例の傾斜図であり、図５は、配線禁止領域を説明するための多層配線化されたレイアウトの一例の断面図である。
ただし、図５（ａ）、（ｂ）はレイアウトの各層を合成した図であり、図５（ｃ）はレイアウトの最上位層のみを示す図である。図４、５に関しても、以下の説明において適宜参照する。
【００４６】
図４に示すレイアウトは、下地層３００、中間層３１０および最上位層３２０で構成され、配線は中間層３１０および最上位層３２０に設けられる。
また、図示する各層は一つのセル程度の領域である。そして、下地層３００には、置換部１００２が置換したフリップフロップ２１０（２１０ａ）が、配置部１００３によって同図のように配置されている。
本実施形態では、レイアウトは３層で構成されているが、たとえば４層であってもよく、特に限定されない。
【００４７】
配線禁止領域設定部１００４は、図４（ａ）に示す中間層３１０、もしくは同図（ｂ）に示す最上位層３２０に配線禁止領域ＡＲＥを設定する。また、配線禁止領域設定部１００４が設けた配線禁止領域ＡＲＥを図５（ａ）に示す。
なお、何れの層に配線禁止領域ＡＲＥを設定するかは、ユーザによって好適に設定される。
【００４８】
配線部１００５は、置換されたフリップフロップの初期論理値を変更する場合に、フリップフロップのセット端子およびリセット端子を配線禁止領域の配線層にて配線接続する。
詳細には、図３に図示するように、置換部１００２が置換したフリップフロップ２１０の初期論理値を０から１に変更する場合、配線部１００５は、置換された初期論理値が１のフリップフロップ２１０ａに対して、配線禁止領域ＡＲＥが設けられているいずれかの層（図４の中間層３１０または最上位層３２０）にてリセット端子２１１とセット端子２１２との配線を逆にして配線接続する。
逆に、置換部１００２が置換したフリップフロップ２１０ａの初期論理値を１から０に変更する場合、配線部１００５は、置換された初期論理値が０のフリップフロップ２１０に対して、配線禁止領域ＡＲＥが設けられているいずれかの層にてリセット端子２１１とセット端子２１２との配線を逆にして配線接続する。
【００４９】
説明上、配線部１００５がフリップフロップ２１０の初期論理値を０から１に変更し、図４（ａ）の中間層３１０に配線禁止領域ＡＲＥが設けられているものとして説明する。
【００５０】
図４（ａ）に図示するように、配線部１００５は、セルの下地層３００に配置されたフリップフロップ２１０ａのリセット端子２１１とセット端子２１２との配線を逆にし、中間層３１０の配線禁止領域ＡＲＥにて、配線接続する。
ここでいう、「配線接続」は、同図の中間層３１０上の配線３１１でリセット端子２１１およびセット端子２１２を接続することをいう。
無論、セルの下地層３００に配置されたフリップフロップが初期論理値０のフリップフロップ２１０である場合も、前述と同様である。
【００５１】
図６は、本実施形態に係る配線部１００５が図４（ａ）の中間層３１０にて行った配線接続の一例を示す図である。図６中において、（ａ）はフリップフロップ２１０の初期論理値が変更されない場合、（ｂ）は初期論理値が変更された場合のレイアウトの断面図である。
【００５２】
フリップフロップ２１０の初期論理値が変更される場合、配線部１００５は、図６（ａ）に図示する配線３１１ａ、３１１ｂを図６（ｂ）に図示する配線３１１ｃ、３１１ｄに変更して配線接続する。
一方、最上位層３２０に配線禁止領域ＡＲＥが設けられた場合、図４（ｂ）に図示するように、配線部１００５は、中間層３１０にコンタクトホール３１２を設け、リセット端子２１１とセット端子２１２との配線を最上位層３２０にまで引き上げ、逆に配線接続する。
【００５３】
最終的に、配線部１００５は、図５（ｂ）、（ｃ）のように配線接続する。同図（ｂ）、（ｃ）に図示するように、配線部１００５による配線接続後は、配線禁止領域ＡＲＥに他の論理回路（フリップフロップ２１０以外）に関する配線が設けられず、これら他の論理回路の配線は、配線禁止領域ＡＲＥを迂回して好適に配線接続される。
なお、配線部１００５による配線接続は、一つのセル程度の領域に対して行われる。
【００５４】
配線部１００５がフリップフロップ２１０ａの初期論理値を１から０に変更する場合においても、リセット端子２１１とセット端子２１２の配線を配線禁止領域ＡＲＥが設けられている層にて、逆に配線接続することに変わりはない。
【００５５】
つづいて、図２に図示するハードディスク１１０の各構成部について説明する。
合成記憶部１１０１は、制御部１４０の制御に応じて、ＣＰＵ１００の合成部１００１の処理結果を適宜記憶する。
ハードディスク１１０について、上記合成記憶部１１０１以外の構成部も同様に、制御部１４０の制御に応じて、置換記憶部１１０２は置換部１００２の処理結果を、配置記憶部１１０３は配置部１００３の処理結果を、配線禁止領域設定記憶部１１０４は配線禁止領域設定部１００４の処理結果を、配線記憶部１１０５は配線部１００５の処理結果をそれぞれ適宜記録する。
【００５６】
以下に、集積回路作製装置１の動作について説明する。図７は、本実施形態に係る集積回路作製装置の動作の一例を示すフローチャートである。
【００５７】
（ステップＳＴ１）
回路情報２やセルの接続関係を含むネットリストに基づいて論理合成を行う。具体的には、合成部１００１はレジスタの論理合成において、レジスタの初期論理値が０の場合、図３に図示するレジスタ２００を選択し、レジスタの初期論理値が１の場合、レジスタ２００ａを選択する。
【００５８】
（ステップＳＴ２）
置換部１００２が初期論理値の変更が予測されるレジスタを非同期のセット端子およびリセット端子を有するフリップフロップに置換する。
置換部１００２は、上述のステップＳＴ１にて、合成部１００１が論理合成を行った後のネットリストや制約条件により、初期論理値が０のレジスタ２００は初期論理値が０のフリップフロップ２１０に、初期論理値が１のレジスタ２００ａは初期論理値が１のフリップフロップ２１０ａにそれぞれ置換する。
また、置換部１００２は、置換後のフリップフロップ２１０のセット端子２１２に定数１−ｂ１を、置換後のフリップフロップ２１０ａのリセット端子２１１に定数１−ｂ１をそれぞれ接続する。
さらに、置換部１００２は、合成部１００１による論理合成後のタイミング変化を最小限に抑えるため、置換するフリップフロップ２１０（２１０ａ）の駆動能力が同程度のセルを選択する（図３を参照）。
【００５９】
（ステップＳＴ３）
配置部１００３は、置換部１００２が置換したフリップフロップ２１０（２１０ａ）を所定のセル上に好適に配置する（図３を参照）。
【００６０】
（ステップＳＴ４）
配線禁止領域設定部１００４は、ユーザによる制約条件によりレジスタ２００（２００ａ）の初期論理値の変更が予測される場合、置換部１００２が置換したフリップフロップ２１０（２１０ａ）のリセット端子２１１およびセット端子２１２が配線接続可能な複数の配線層のうち、いずれか一の配線層に配線禁止領域ＡＲＥを設定する。ここでの配線禁止領域ＡＲＥに関する制約条件には、配線禁止とする配線層の指定、上層での配線禁止を行うセルの指定が挙げられる（図３、４を参照）。
【００６１】
（ステップＳＴ５）
配線部１００５は、レイアウトの設定途中で、置換されたフリップフロップの初期論理値を変更する場合に、フリップフロップのセット端子およびリセット端子を配線禁止領域の配線層にて配線接続する。
【００６２】
（ステップＳＴ６）
ステップＳＴ２にて置換されたフリップフロップ２１０（２１０ａ）の初期論理値を０（１）から１（０）に変更する場合（Ｙｅｓ）、置換部１００２は、初期論理値が０（１）のフリップフロップ２１０（２１０ａ）を初期論理値が１（０）のフリップフロップ２１０ａ（２１０）に置換し、ステップＳＴ７の処理に進む。
一方、ステップＳＴ２にて置換されたフリップフロップ２１０（２１０ａ）の初期論理値を変更しない場合（Ｎｏ）、当該フリップフロップ２１０（２１０ａ）に対して何も処理を行わず、集積回路作製装置１は処理を終了する。
【００６３】
（ステップＳＴ７）
配線部１００５は、置換した初期論理値が１（０）のフリップフロップ２１０ａ（２１０）に対して、配線禁止領域ＡＲＥが設けられているいずれかの層（図４の中間層３１０または最上位層３２０）にてリセット端子２１１とセット端子２１２との配線を逆にして配線接続する。
【００６４】
上述したように、本実施形態では、後に初期論理値の変更が予測されるレジスタ２００（２００ａ）に関して、置換部１００２がレジスタを非同期のセット端子２１２およびリセット端子２１１を有するフリップフロップ２１０（２１０ａ）に置換し、配線禁止領域設定部１００４が配線禁止領域ＡＲＥを好適に設定する。
したがって、図４、図５（ｂ）、（ｃ）に図示するように、この配線禁止領域ＡＲＥにフリップフロップ２１０（２１０ａ）以外の論理回路に関する配線３１１、３２１がなされることはない。
後にユーザがフリップフロップ２１０（２１０ａ）の初期論理値を変更する場合、配線部１００５は、配線禁止領域ＡＲＥにてフリップフロップ２１０（２１０ａ）を配線接続する。
【００６５】
（第２実施形態）
次に、本発明に係る第２の実施形態について、図８〜図１０を参照しながら説明する。
図８は、本発明に係る第１の順序回路がセル上に複数配置されている場合の配線禁止領域について説明するための一例の図である。
また、図９は、本発明に係る第１の順序回路が多ビットである場合の配線部を説明するための一例の図である。
また、図１０は、本発明に係る第１の順序回路が多ビットである場合の配線禁止領域を説明するための一例の図である。
【００６６】
本実施形態は、セルが複数のレジスタ２００（２００ａ）を含み、それぞれが置換部１００２によってフリップフロップ２１０（２１０ａ）に置換された、多ビットの場合である。
【００６７】
以下の説明では、置換部１００２によって置換された４つの初期論理値が０のフリップフロップ２１０−１〜２１０−４を例にとり説明する。また、フリップフロップ２１０−１〜２１０−４は、データ（論理値０または１）が入力される入力端子２１３、および出力端子２１４をそれぞれ有する。
【００６８】
本実施形態では、集積回路作製装置１が多ビットのレジスタを扱うことを認識させるため、あらかじめユーザが回路情報２にて多ビット宣言する。
図８（ａ）に図示するように、置換部１００２は、初期論理値が０の４つのレジスタを初期論理値が０のフリップフロップ２１０−１〜２１０−４にそれぞれ置換する。
なお、このとき置換部１００２は、各セット端子２１２に定数４−ｂ１００１を接続する。
そして、配置部１００３が置換された各々のフリップフロップ２１０−１〜２１０−４を隣接して、たとえば一つのセル上に配置する。
その後、配線禁止領域設定部１００４は、隣接して配置されたフリップフロップ２１０−１〜２１０−４に対して配線禁止領域ＡＲＥを設定する。
配線禁止領域ＡＲＥがどの層に設けられるかはユーザによって好適に設定されるが、本実施形態では配線禁止領域ＡＲＥが中間層３１０に設けられるものとする（図４（ａ）参照）。
【００６９】
フリップフロップ２１０−１〜２１０−４以外の論理回路の配線（たとえば配線３１１、３２１）は、図８（ｂ）に図示するように、配線部１００５が中間層３１０に設けられた配線禁止領域ＡＲＥを迂回して配線接続する。
図９（ａ）に図示するフリップフロップ２１０−１〜２１０−４の配線３１３〜３１６は、初期論理値の変更が行われる場合、図１０（ａ）に図示するように、配線部１００５が配線禁止領域ＡＲＥにて配線接続する。
【００７０】
また本実施形態では、配線部１００５がフリップフロップの入力端子２１３間どうし、出力端子２１４端子間どうしで各々の配線を互いに交換して接続することができる。
図９（ｂ）に図示するように、たとえばフリップフロップ２１０−１の入力端子２１３とフリップフロップ２１０−２の入力端子２１３の配線を交換して接続する。出力端子２１４についても同様にして、互いの配線を交換して接続する。
そして、配線部１００５は、図１０（ｂ）に示すように、配線禁止領域ＡＲＥにおいてフリップフロップ２１０−１〜２１０−４を配線接続する。
なお、上記例ではフリップフロップ２１０−１および２１０−２間での配線接続について説明したが、フリップフロップ２１０−３および２１０−４間、あるいはその他の組み合わせでもよい。
【００７１】
本実施形態では、多ビットのレジスタを取り扱う場合にユーザが回路情報２にて多ビット宣言を行ったが、同じレジスタとして多ビット宣言していないレジスタ（フリップフロップ）の組み合わせでも、回路情報２に制約等を加えることにより多ビットの配線禁止を指定することができる。
【００７２】
他の実施形態として、配線禁止領域設定部１００４が優先度の高いレジスタのみについて、配線禁止領域ＡＲＥを設定することができる。
これにより、置換部１００２によって置換されたフリップフロップ２１０（２１０ａ）のうち、その一部に対してのみ配線禁止領域ＡＲＥを設けないように設定できる。その結果、配線部１００５は、配線禁止領域ＡＲＥを迂回せずに配線接続を実行でき、配線混雑度が高い場合でも効率よく配線領域を確保できる。
【００７３】
また、他の実施形態として、レジスタ２００（２００ａ）を含まないセルであっても配線禁止領域設定部１００４が配線禁止領域ＡＲＥを設定することができる。
これにより、レイアウトの作製終盤であっても配線層の修正のみで論理回路の変更を実行できる。
【００７４】
また、他の実施形態として、たとえば撮像装置等のデジタル部がほぼ共通でアナログ特性が異なる集積回路、小面積の回路の差異がある少数他品種の集積回路において、配線部１００５が一部の配線層のみ好適に変更することができる。
これにより、他の層が共通のまま、異なる集積回路の作製、製造が可能になる。
【００７５】
本発明によれば、レイアウトの作製途中あるいは作成後、レジスタ等の初期論理値を変更する場合でも、いずれかの配線層に配線禁止領域を設定することにより。レジスタ等の配線を修正する領域が確保され、配線混雑度が高い集積回路であっても容易かつ確実に配線を修正できる。
【００７６】
本発明を採用しない場合、たとえばレイアウトの作製途中あるいは作成後に、非同期のリセット端子しか有していないフリップフロップに対して、配線変更のみで初期論理値を変更することが困難であったが、本発明により、レイアウトの作製途中でレジスタ等の初期論理値の変更が容易となる。
【００７７】
また、本発明によれば、ＦＩＢによる配線変更が困難な下位層でも配線修正ができる。
さらに、セル上の端子の切り替え程度であれば、配線修正に与えるタイミングの影響は無視できる程小さい利点がある。
【００７８】
このように、本発明では、セルベース作製の論理回路に対して特に有効であり、セルの配置を工夫することで複数のセルをまたいだ配線修正でも同様の効果を得ることができる。
【００７９】
レジスタの使用例としてたとえば撮像装置があるが、本発明をこのような撮像装置等に採用すれば、マスク作成前でもアナログ特性値の変更ができる利点がある。
このため、アナログ特性を変更するように配線を変更したマスクを一層分用意するだけで、下地層がそのままでアナログ特性を変更した製品、あるいは少量他品種の製品等への適応が容易となる。
【００８０】
以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、ＣＰＵ等のコンピュータで実行するように構成することができる。また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー（登録商標）ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし、上記プログラムを実行するように構成可能である。
【図面の簡単な説明】
【００８１】
【図１】本実施形態に係る集積回路作製装置の一構成例を示す概略図である。
【図２】図１に図示する集積回路作製装置の一構成例を示すブロック図である。
【図３】本実施形態に係る合成部を説明するための図である。
【図４】本実施形態に係る配線禁止領域を説明するための多層配線化されたレイアウトの一例の傾斜図である。
【図５】本実施形態に係る配線禁止領域を説明するための多層配線化されたレイアウトの一例の断面図である。
【図６】本実施形態に係る配線部が図４の中間層にて行った配線接続の一例を示す図である。
【図７】本実施形態に係る集積回路作製装置の動作の一例を示すフローチャートである。
【図８】本発明に係る第１の順序回路がセル上に複数配置されている場合の配線禁止領域について説明するための一例の図である。
【図９】本発明に係る第１の順序回路が多ビットである場合の配線部の動作を説明するための図である。
【図１０】本発明に係る第１の順序回路が多ビットである場合の配線禁止領域を説明するための一例の図である。
【図１１】撮像装置の一構成例を示す図である。
【符号の説明】
【００８２】
１…集積回路作製装置、２…回路情報、３…レイアウトデータ、１０…演算装置、１１…操作部、１２…表示部、１００…ＣＰＵ、１１０…ハードディスク（ＨＤ）、１２０…ＲＯＭ、１３０…ＲＡＭ、１４０…制御部、１００１…合成部、１００２…置換部、１００３…配置部、１００４…配線禁止領域設定部、１００５…配線部、１１０１…合成記憶部、１１０２…置換記憶部、１１０３…配置記憶部、１１０４…配線禁止領域設定記憶部、１１０５…配線記憶部、２００、２００ａレジスタ、２０１、２１１…リセット端子、２０２、２１２…セット端子、２１０、２１０ａ…フリップフロップ、２１３…入力端子、２１４…出力端子、３００…下地層、３１０…中間層、３１１、３１１ａ〜３１１ｃ、３１３〜３１６…配線、３１２…コンタクトホール、３２０…最上位層、ＡＲＥ…配線禁止領域。
【図１】
0005003380.tif 000002
【図２】
0005003380.tif 000003
【図３】
0005003380.tif 000004
【図４】
0005003380.tif 000005
【図５】
0005003380.tif 000006
【図６】
0005003380.tif 000007
【図７】
0005003380.tif 000008
【図８】
0005003380.tif 000009
【図９】
0005003380.tif 000010
【図１０】
0005003380.tif 000011
【図１１】
0005003380.tif 000012