(57)【要約】【課題】ＬＳＩ設計の論理設計においてプロパティ中の不正パスの漏れを検出してプロパティを修正するプロパティ修正プログラム、及びプロパティ修正方法、及びこの方法を用いたＬＳＩ設計処理装置を提供する。【解決手段】ＬＳＩ設計時に複数の基本回路を用いて構成した論理回路の前記各基本回路のプロパティを修正するプロパティ修正方法、及びプロパティ修正プログラム、及びプロパティ修正方法を用いたＬＳＩ設計処理装置において、プロパティの修正対象となる基本回路を仮想的に削除した仮想回路を生成し、この仮想回路に基づいて修正対象となる基本回路部分での論理を検出し、この論理に基づいてプロパティを修正する。【選択図】図３
2005202701.tif 000002
【特許請求の範囲】
【請求項１】
ＬＳＩ設計時に複数の基本回路を用いて構成した論理回路の前記各基本回路のプロパティを修正するプロパティ修正方法において、
前記プロパティの修正対象となる基本回路を仮想的に削除した仮想回路を生成し、その後、前記仮想回路に基づいて前記修正対象となる基本回路部分での論理を検出し、この論理に基づいてプロパティを修正することを特徴とするプロパティ修正方法。
【請求項２】
ＬＳＩ設計時に複数の基本回路を用いて構成した論理回路の前記各基本回路のプロパティを修正するプロパティ修正プログラムにおいて、
前記プロパティの修正対象となる基本回路を仮想的に削除した仮想回路を生成する仮想回路生成ステップと、
前記仮想回路に基づいて前記修正対象となる基本回路部分での論理を検出する論理検出ステップと、
前記論理に基づいてプロパティを修正するプロパティ修正ステップと
を有することを特徴とするプロパティ修正プログラム。
【請求項３】
複数の基本回路を用いて論理回路を設計するとともに、前記基本回路の機能をプロパティで指定するように構成したＬＳＩ設計処理装置において、
前記プロパティを修正するプロパティ修正手段を、
前記プロパティの修正対象となる基本回路を仮想的に削除した仮想回路を生成する仮想回路生成手段と、
前記仮想回路に基づいて前記修正対象となる基本回路部分での論理を検出する論理検出手段と、
前記論理に基づいてプロパティを修正可能としたプロパティ修正手段と
から構成したことを特徴とするＬＳＩ設計処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ設計における論理回路の設計時において指定しておくプロパティの修正プログラム、及びプロパティ修正方法、及びこの方法を用いたＬＳＩ設計処理装置に関するものである。
【背景技術】
【０００２】
従来、電子回路を半導体基板上に構成してＬＳＩ（Large‐Scale Integrated circuit）化する場合には、次のような段階を経ることにより効率よくＬＳＩ設計を行っている。
（１）アーキテクチャ設計：作成する電子回路の仕様に基づいて命令セットの記述及びマイクロプログラムの作成を行う。
（２）機能設計：命令セットを実現するための具体的なハードウェアを、レジスタ、演算単位、トランスファ素子等の構成要素を用いて機能回路を設計する。
（３）論理設計：機能回路に基づいてＮＡＮＤ、ＮＯＲ、フリップフロップといった基本回路を用いて論理回路を設計する。
（４）回路設計：論理回路に基づいてトランジスタ、抵抗体等のデバイスを用いて表現したトランジスタ回路を設計する。
（５）レイアウト設計：トランジスタ回路に基づいて半導体基板に各デバイスを配置するために必要となるマスクパターンを設計する。
【０００３】
このようにして設計されたマスクパターンを用いながら順次製造することにより、所要のＬＳＩが製造されている。
【０００４】
ここで、論理設計において論理回路を設計する場合には、論理回路とともに論理回路中の基本回路の機能を表現したプロパティが作成されている。このプロパティを用いて全ての入力論理の組み合わせに対する検証を行うことにより、論理回路の機能等価検証を行っている。
【０００５】
そのため、このプロパティでは、基本回路の機能の表現として、基本回路間の接続においてあり得ない論理結果を出力する基本回路間の接続状態を不正パス（False Path）としてあらかじめ表現している。
【０００６】
不正パスとは、例えば図４に示すように、順序回路である第１フリップフロップ100の出力を２つに分岐して、一方の出力を順序回路である第２フリップフロップ200に入力し、他方の出力を組み合わせ回路であるインバータ400を介して順序回路である第３フリップフロップ300に入力した場合には、第２フリップフロップ200の出力A2と、第３フリップフロップ300の出力A3とは「A2！＝A3」となる。
【０００７】
ここで、時刻ｔにおける第２フリップフロップ200及び第３フリップフロップ300の機能等価検証を行う場合、時刻ｔ−１における第１フリップフロップ100の出力A1が任意値であるために、時刻ｔにおける第２フリップフロップ200の出力A2も任意値であって、時刻ｔにおける第３フリップフロップ300の出力A3も任意値となって、機能等価検証においては「A2＝A3」が想定される場合が存在する。
【０００８】
しかし、「A2！＝A3」であるために、この機能等価性は「偽」であると判定される場合があった。
【０００９】
そこで、プロパティにおいて、「A2＝A3」となるパスを不正パスとして表現しておく必要があった。しかも、この不正パスの指定は作業者が手作業で行っていた。ここで、上記した時刻とは、論理を参照する際の単位時間であって、ここではクロックサイクルであるとする。
【００１０】
上記したＬＳＩ設計において、各設計段階では、設計した回路に誤りがないかを検証するために検証作業が逐次行われており、このような検証作業を容易に実施可能とするために様々な検証用のソフトウェアが提供されているが（例えば、特許文献１参照。）、これらのソフトウェアではエラーを検出することはできるが、エラーの解消は作業者の手作業に依存しており、上記した不正パスのプロパティからの漏れも作業者が手作業で検証し、プロパティを修正することにより解消していた。
【特許文献１】特開２００３−２１６６８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、作成するＬＳＩが大規模化するにしたがって、論理設計において作業者が全ての不正パスを指定することは非常に困難となっているとともに、検証作業の精度に起因して不正パスの発見漏れによって不正パスが残存するおそれがあった。
【００１２】
不正パスが残存した場合には、不正パスを実現するための実質的な回路が構成されることによって論理回路図からトランジスタ回路図を作成する論理合成を行った場合に回路面積が大きくなるという問題があるとともに、トランジスタ回路図におけるタイミング検証において不要な結果が出力されて本来確認したい結果が得られなくなるという問題があった。
【００１３】
そこで、本発明者は、不正パスを自動的に検出してプロパティを自動的に修正可能とするために研究開発を行い、本発明を成すに至ったものである。
【課題を解決するための手段】
【００１４】
本発明のプロパティ生成方法では、ＬＳＩ設計時に複数の基本回路を用いて構成した論理回路の各基本回路のプロパティを修正するプロパティ修正方法において、プロパティの修正対象となる基本回路を仮想的に削除した仮想回路を生成し、その後、仮想回路に基づいて修正対象となる基本回路部分での論理を検出し、この論理に基づいてプロパティを修正することとした。
【００１５】
また、本発明のプロパティ生成プログラムでは、ＬＳＩ設計時に複数の基本回路を用いて構成した論理回路の各基本回路のプロパティを修正するプロパティ修正プログラムにおいて、プロパティの修正対象となる基本回路を仮想的に削除した仮想回路を生成する仮想回路生成ステップと、仮想回路に基づいて修正対象となる基本回路部分での論理を検出する論理検出ステップと、検出した論理に基づいてプロパティを修正するプロパティ修正ステップとを有することとした。
【００１６】
また、本発明のＬＳＩ設計処理装置では、複数の基本回路を用いて論理回路を設計するとともに、基本回路の機能をプロパティで指定するように構成したＬＳＩ設計処理装置において、プロパティを修正するプロパティ修正手段を、プロパティの修正対象となる基本回路を仮想的に削除した仮想回路を生成する仮想回路生成手段と、仮想回路に基づいて修正対象となる基本回路部分での論理を検出する論理検出手段と、検出した論理に基づいてプロパティを修正可能としたプロパティ修正手段とから構成した。
【発明の効果】
【００１７】
請求項１記載の発明によれば、ＬＳＩ設計時に複数の基本回路を用いて構成した論理回路の各基本回路のプロパティを修正するプロパティ修正方法において、プロパティの修正対象となる基本回路を仮想的に削除した仮想回路を生成し、その後、仮想回路に基づいて修正対象となる基本回路部分での論理を検出し、この論理に基づいてプロパティを修正することによって、時間を遡った状態を示していることに相当する仮想回路に基づいて機能検証できるので、不正パスを正しく検出することができる。したがって、プロパティにおける不正パスの漏れを防止できる。
【００１８】
請求項２記載の発明によれば、ＬＳＩ設計時に複数の基本回路を用いて構成した論理回路の各基本回路のプロパティを修正するプロパティ修正プログラムにおいて、プロパティの修正対象となる基本回路を仮想的に削除した仮想回路を生成する仮想回路生成ステップと、仮想回路に基づいて修正対象となる基本回路部分での論理を検出する論理検出ステップと、検出した論理に基づいてプロパティを修正するプロパティ修正ステップとを有することによって、時間を遡った状態を示していることに相当する仮想回路に基づいて機能検証できるので、不正パスを正しく検出することができる。したがって、条件漏れのないプロパティを自動的に生成することができる。
【００１９】
請求項３記載の発明によれば、複数の基本回路を用いて論理回路を設計するとともに、基本回路の機能をプロパティで指定するように構成したＬＳＩ設計処理装置において、プロパティを修正するプロパティ修正手段を、プロパティの修正対象となる基本回路を仮想的に削除した仮想回路を生成する仮想回路生成手段と、仮想回路に基づいて修正対象となる基本回路部分での論理を検出する論理検出手段と、検出した論理に基づいてプロパティを修正可能としたプロパティ修正手段とから構成したことによって、時間を遡った状態を示していることに相当する仮想回路に基づいて機能検証できるので、不正パスを正しく検出して条件漏れのないプロパティを自動的に生成することができる。
【発明を実施するための最良の形態】
【００２０】
通常、ＬＳＩ設計における論理回路の設計においては、時間を遡って機能を検証することを行わないことにより、プロパティ中に不正パスを発生させる条件が残存した状態のまま論理回路の設計を終了し、引き続いてトランジスタ回路を設計する回路設計を行うことによって不正パスを生成してしまっていた。
【００２１】
そこで、本発明のプロパティ修正プログラム、及びプロパティ修正方法、及びこの方法を用いたＬＳＩ設計処理装置では、時間を遡って機能を検証することにより所定の基本回路における論理状態を検出し、この論理状態に基づいてプロパティを修正することにより不正パスを発生させないようにしているものである。
【００２２】
特に、時間を遡って機能を検証できるようにするために、本発明では、プロパティの修正対象となる基本回路を仮想的に削除した仮想回路を生成し、仮想回路に基づいて修正対象となる基本回路部分での論理を検出して、その論理を修正対象となる基本回路に入力される前の時間における論理としているものである。
【００２３】
このようにプロパティの修正対象となる基本回路を仮想的に削除した仮想回路を想定することにより容易に時間を遡ることができ、所要の論理の検出を自動化することができる。したがって、プロパティの修正を自動的に行って、不正パスの漏れのないプロパティを生成することができる。
【００２４】
以下において、図面に基づいて本発明の実施形態を詳説する。図１は、本実施形態のＬＳＩ設計処理装置Ａの概略説明図である。
【００２５】
ＬＳＩ設計処理装置Ａは、演算処理を行う中央演算装置（ＣＰＵ）１と、バス２を介してそれぞれ中央演算装置１と接続したマウス３，キーボード４、ディスプレイ５、ＲＯＭやＲＡＭあるいはハードディスク等によって構成した記憶部６とから構成している。
【００２６】
特に、記憶部６には、プロパティ修正プログラムを格納するとともに、このプログラムの実行中に作成された演算結果を記憶するプログラム等記憶領域6aを設けているとともに、回路情報を記憶する回路情報記憶領域6bを設けている。
【００２７】
ＬＳＩ設計処理装置Ａでは、マウス３あるいはキーボード４から入力された作業者による操作命令に基づいて、プログラム等記憶領域6aに格納したプロパティ修正プログラムを動作させて、回路情報記憶領域6bに記憶された回路情報を用いながらプロパティの修正を行い、修正されたプロパティはプログラム等記憶領域6aまたは回路情報記憶領域6bあるいはそれ以外の記憶領域に記憶し、このプロパティを用いて論理回路の機能等価検証を行っている。
【００２８】
以下において、図２の回路図を用いて具体的に説明する。図２の回路図では、順序回路である第１フリップフロップ11の出力を２つに分岐して、一方の出力を順序回路である第２フリップフロップ12に入力し、他方の出力を組み合わせ回路であるインバータ14を介して順序回路である第３フリップフロップ13に入力している。
【００２９】
さらに、第３フリップフロップ13の出力は第１セレクタ15に入力し、第２フリップフロップ12の出力は第２セレクタ16に入力しており、第１セレクタ15では、第３フリップフロップ13の出力論理が「１」の場合に、第１データ入力端子21から入力された第１データと、第２データ入力端子22から入力された第２データとを第１加算器17で加算したデータを出力し、第３フリップフロップ13の出力論理が「０」の場合に、第１データと第２データとを第１減算器18で減算したデータを出力するようにしている。
【００３０】
第２セレクタ16では、第２フリップフロップ12の出力論理が「１」の場合に、第１セレクタ15から出力されたデータと、第３データ入力端子23から入力された第３データとを第２加算器19で加算したデータを出力し、第２フリップフロップ12の出力論理が「０」の場合に、第１セレクタ15から出力されたデータと第３データとを第２減算器20で減算したデータを出力するようにしている。
【００３１】
ここで、時刻ｔにおける第２フリップフロップ12及び第３フリップフロップ13の機能等価検証に基づくプロパティの修正を行う場合、ＬＳＩ設計処理装置Ａでは、まず、図３に示すように第２フリップフロップ12及び第３フリップフロップ13を削除してその部分を短絡させた仮想回路を仮想回路生成手段によって生成する。
【００３２】
次いで、ＬＳＩ設計処理装置Ａでは、仮想回路に基づいて第２フリップフロップ12の部分及び第３フリップフロップ13の部分の論理を論理検出手段によって検出する。特に、図３の場合には、第２フリップフロップ12の部分における論理と、第３フリップフロップ13の部分における論理とは同時に「０」となる場合と、同時に「１」になる場合が存在しないことが検出できることによって、第１加算器17と第２加算器19が同時に選択される場合と、第１減算器18と第２減算器20とが同時に選択される場合がないことが判明する。
【００３３】
次いで、ＬＳＩ設計処理装置Ａでは、プロパティ修正手段によって、第１加算器17と第２加算器19が同時に選択される場合と、第１減算器18と第２減算器20とが同時に選択される場合が生じないようにプロパティを修正する。これにより、不正パスを生成しないプロパティに修正することができる。
【００３４】
上記した実施形態では、仮想回路生成手段によって仮想回路を生成することにより、時刻ｔー１に遡って検証を行っているが、必要であれば、さらに時刻を遡ってもよく、時刻を遡る場合には、その時刻の遡りに対応する順序回路で構成された基本回路を削除して短絡状態とすればよい。
【図面の簡単な説明】
【００３５】
【図１】本発明に係るＬＳＩ設計処理装置の概略説明図である。
【図２】本発明に係るプロパティ修正方法を説明するための論理回路の一例である。
【図３】図２の論理回路に基づいて仮想回路を想定した場合の論理回路図である。
【図４】従来技術を説明するための論理回路の一例である。
【符号の説明】
【００３６】
11  第１フリップフロップ
12  第２フリップフロップ
13  第３フリップフロップ
14  インバータ
15  第１セレクタ
16  第２セレクタ
17  第１加算器
18  第１減算器
19  第２加算器
20  第２減算器
21  第１データ入力端子
22  第２データ入力端子
23  第３データ入力端子
【図１】
2005202701.tif 000003
【図２】
2005202701.tif 000004
【図３】
2005202701.tif 000005
【図４】
2005202701.tif 000006