(57)【要約】【課題】目標仕様である回路面積、動作速度、消費電力等を達成するための論理設計期間の増大を抑え、所望する性能の論理回路を短期間に設計可能な論理回路の設計方法およびＣＡＤプログラムを安価に提供する。【課題手段】高性能な論理合成ＣＡＤプログラムを合成結果の回路特性を確認するのみの場合は無料で使用可能として、回路特性結果に満足してゲートレベル論理回路を使用したい場合に料金を徴収する方法を提供することで設計の短期化と低コスト化を実現する。【効果】レジスタトランスファレベルや動作レベルの論理回路を入力としてゲートレベル論理回路を合成する設計フェーズにおいて、所望する回路特性を短期間で安価に得ることができる。【選択図】  図１
2004152039.tif 000002
【特許請求の範囲】
【請求項１】
設計サイトと論理合成ＣＡＤプログラム提供サイトとの間の情報送受を通して、レジスタトランスファレベルまたは動作レベルの論理回路を記述し、論理合成ＣＡＤプログラムを用いてゲートレベル論理回路を生成する論理回路の設計方法であって、
上記論理合成ＣＡＤプログラムは、上記レジスタトランスファレベルまたは動作レベルの論理回路を入力として上記ゲートレベル論理回路を生成する機能と、生成された上記ゲートレベル論理回路の回路特性をレポートとして出力する機能と、生成された上記ゲートレベル論理回路を暗号化して出力する機能と、生成された上記ゲートレベル論理回路に対応する第１の暗号鍵を出力する機能と、上記暗号化されたゲートレベル論理回路と上記第１の暗号鍵から生成された第２の暗号鍵とを入力として上記暗号化されたゲートレベル論理回路を復号化して上記ゲートレベル論理回路を出力する機能とを備え、
上記設計サイトは、論理合成ＣＡＤプログラム提供サイトから上記論理合成ＣＡＤプログラムを無償で入手し、設計サイトでレジスタトランスファレベルまたは動作レベルの論理回路を入力として上記論理合成ＣＡＤプログラムを使用して得られる論理回路の回路特性レポートを参照し、回路特性が所望のものであった場合に、上記論理合成ＣＡＤプログラム提供サイトに上記第１の暗号鍵を送付し、
上記論理合成ＣＡＤプログラム提供サイトは、上記設計サイトから送付された第１の暗号鍵に基づき上記設計サイトに対する上記論理合成ＣＡＤプログラムの使用料金を発生させ、上記第１の暗号鍵を加工することにより得られる上記第２の暗号鍵を上記設計サイトに送付し、
上記設計サイトは、上記暗号化されたゲートレベル論理回路と上記第２の暗号鍵とを入力として、上記論理合成ＣＡＤプログラムを用いて上記暗号化されたゲートレベル論理回路を復号化することを特徴とする論理回路の設計方法。
【請求項２】
請求項１において、
上記回路特性レポートは、対応する上記ゲートレベル論理回路の回路面積、遅延時間および消費電力の少なくとも一つを含むことを特徴とする論理回路の設計方法。
【請求項３】
請求項１において、
上記第１および第２の暗号鍵は、対応する上記ゲートレベル論理回路に固有の情報を含み、
上記第２の暗号鍵は、特定の上記暗号化されたゲートレベル論理回路の復号化に使用可能であることを特徴とする論理回路の設計方法。
【請求項４】
請求項１において、
上記第１および第２の暗号鍵は、上記設計サイトに固有の情報を含み、
上記第２の暗号鍵は、特定の上記設計サイトでの上記暗号化されたゲートレベル論理回路の復号化に使用可能であることを特徴とする論理回路の設計方法。
【請求項５】
請求項１において、
上記第１の暗号鍵は、上記ゲートレベル論理回路の規模に関する情報を含み、上記論理合成ＣＡＤプログラム提供サイトは、上記設計サイトから送付された上記第１の暗号鍵に基づき対応する上記ゲートレベル論理回路の規模を知ることが可能であり、上記規模に応じて上記論理合成ＣＡＤプログラムの使用料金を発生させることを特徴とする論理回路の設計方法。
【請求項６】
請求項３において、
上記ゲートレベル論理回路に固有の情報は、上記ゲートレベル論理回路の名称、上記ゲートレベル論理回路の入出力ポートの名称、上記ゲートレベル論理回路に含まれるレジスタの数、および上記ゲートレベル論理回路に含まれるレジスタの名称の少なくとも一つを含むことを特徴とする論理回路の設計方法。
【請求項７】
請求項４において、
上記設計サイトに固有の情報は、上記設計サイトの計算機名、ＯＳプログラム名、ＯＳプログラムバージョン、ユーザアカウント、日付、およびプロセスＩＤの少なくとも一つを含むことを特徴とする論理回路の設計方法。
【請求項８】
請求項１において、
上記論理合成ＣＡＤプログラム提供サイトは、上記設計サイトから送付された上記第１の暗号鍵に基づき発生させた上記使用料金を上記設計サイトに提示し、上記設計サイトの料金支払い意志の有無に関する情報を受け取り、受け取った上記支払い意志の有無に関する情報に基づき上記第２の暗号鍵を上記設計サイトに送付することを特徴とする論理回路の設計方法。
【請求項９】
請求項１において、
上記設計サイトは、上記論理合成ＣＡＤプログラム提供サイトに対して、上記論理合成ＣＡＤプログラムの使用料金を予め一定額まとめて支払い、
上記論理合成ＣＡＤプログラム提供サイトは、上記設計サイトが上記論理合成ＣＡＤプログラムを使用した結果残った使用可能残金または残り使用可能回数を管理し、上記第２の暗号鍵を上記設計サイトに送付する際に上記使用可能残金または残り使用可能回数から上記第２の暗号鍵の送付に対応する上記論理合成ＣＡＤプログラムの使用に相当する使用料金または使用回数をそれぞれ減じることを特徴とする論理回路の設計方法。
【請求項１０】
請求項１において、
上記設計サイトと上記論理合成ＣＡＤプログラム提供サイトとはネットワークで接続され、上記ネットワークを介して上記第１および第２の暗号鍵の送受信、および上記設計サイトから送付された上記第１の暗号鍵に基づき発生した上記使用料金の課金処理を行うことを特徴とする論理回路の設計方法。
【請求項１１】
レジスタトランスファレベルまたは動作レベルの論理回路を入力としてゲートレベル論理回路を生成する第１のサブプログラムと、
生成された上記ゲートレベル論理回路の回路特性レポートを出力する第２のサブプログラムと、
生成された上記ゲートレベル論理回路を暗号化して出力する第３のサブプログラムと、
生成された上記ゲートレベル論理回路に対応する第１の暗号鍵を出力する第４のサブプログラムと、
上記第１の暗号鍵に基づき生成された第２の暗号鍵を入力として上記暗号化されたゲートレベル論理回路を復号化して上記ゲートレベル論理回路を出力する第５のサブプログラムとを具備して成ることを特徴とするＣＡＤプログラム。
【請求項１２】
入力データを加工して出力データを生成する設計用ＣＡＤプログラムであって、
上記出力データを生成する第１のサブプログラムと、
生成された上記出力データの特性レポートを出力する第２のサブプログラムと、
生成された上記出力データを暗号化して出力する第３のサブプログラムと、
生成された上記出力データに対応する第１の暗号鍵を出力する第４のサブプログラムと、
上記第１の暗号鍵に基づき生成された第２の暗号鍵を入力として上記暗号化された出力データを復号化して上記出力データを出力する第５のサブプログラムとを具備して成ることを特徴とするＣＡＤプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、論理回路の設計方法に関し、特に、高性能な論理回路を短期間に設計するための設計方法に関する。
【０００２】
【従来の技術】
論理回路の設計においては、ＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）と呼ばれる論理記述言語により論理機能をレジスタトランスファレベルや動作レベルで記述し、記述されたレジスタトランスファレベルや動作レベルの論理を論理合成ＣＡＤツールを用いてゲートレベルの論理に変換する方法が現在最も一般的である。レジスタトランスファレベルとは、必要なレジスタや演算器，および，  それらをつなぐデータパスや制御パスを明示的に記述するものであり、現在、論理回路の設計で最も多く使用されている論理回路の記述レベルである。動作レベルとは、レジスタトランスファレベルよりも抽象度の高い記述レベルであり、ソフトウェア言語と同様に制御構造を記述し、回路要素であるレジスタや演算器は明示的に記述しない。別名でアルゴリズムレベルやビヘイビアレベルとも呼ばれる。
【０００３】
セルと呼ばれる回路素子は、一般的にはＡＮＤ論理やＯＲ論理といったプリミティブな論理機能を有し、予め設計されており、論理合成ＣＡＤツールは、各セルの論理機能、レイアウトサイズ、ディレイ、消費電力等の特性をそのライブラリに保存している。レジスタトランスファレベルや動作レベルで記述された論理機能を、ＡＮＤ、ＯＲ、ＮＯＴ等の論理関数に変換し、論理関数に対してこのライブラリのセルを割り当てることによって、レジスタトランスファレベルや動作レベルで記述された論理機能から、セルの接続関係で記述された論理回路、すなわち、ゲートレベル論理回路が得られる。ゲートレベル論理回路は、以降の設計過程であるレイアウト工程に渡される。
【０００４】
以上の論理合成過程においては、ライブラリのセルの割り当てにあたって合成制約条件が与えられる。第１に論理回路の設計仕様である、回路面積、動作速度、消費電力等の目標値である。それらの条件を満足するように論理回路の構造を決定する必要がある。第２に論理回路の外部条件である。例えば、論理合成の対象である論理回路の入力ポートを駆動するセルの負荷容量、論理回路の出力ポートにつながる配線やセルの負荷容量、上記入力ポートに信号が到達する時刻、上記出力ポートから外部のフリップフロップに到着するのに要する時間等がこの外部条件に含まれる。第３に、レイアウトされた論理回路の配線負荷である。例えば、仮想配線負荷モデルに基づき仮定された配線負荷がファンアウト１個あたりの負荷容量として与えられる。
【０００５】
【発明が解決しようとする課題】
このように、論理合成過程は、ＨＤＬで記述された論理回路、合成制約条件、セルライブラリを与えられ、論理構造の最適化処理およびセルの割り当て処理を行い、論理回路のゲートレベル論理回路を出力する。ここで、レジスタトランスファレベルや動作レベルでの論理回路の設計においては、通常、目的とする論理機能の実現を主眼としており、論理回路が実際の半導体素子として実現された場合の物理的な特性である回路面積、動作速度、消費電力等に関する留意は十分になされないことが多い。そのため、ＨＤＬ記述の修正、論理合成及び論理合成の結果得られるゲートレベル論理回路の回路面積、動作速度、消費電力等の評価を何度か繰り返すことで、目標仕様に近づけていく。
【０００６】
この際に、同じＨＤＬ記述からスタートしても、使用する論理合成ＣＡＤツールの違いでゲートレベル論理回路とその特性は当然異なってくる。
【０００７】
ところで、パーソナルコンピュータに代表されるようにデジタル情報機器の進展は目覚しく、その心臓とも言える半導体チップに要求される性能は、年々急激に大きくなっている。動作周波数は１ＧＨｚを上回るようになるとともに、携帯電話などのバッテリ駆動型の携帯情報機器では、電池寿命を延ばすために半導体チップに対して、低消費電力化の要求も著しい。論理回路の設計においては、これらの厳しい要求仕様に応えるように設計をしなくてはならない。そのため、設計資産の流通や論理記述レベルの抽象度を上げることにより設計期間を短縮できたとしても、所望の性能を得るための論理合成過程の設計期間が増大してしまい、半導体チップ全体としての設計期間を十分に短縮できないという問題が生じる。典型的な例として、半導体チップの目標動作周波数を達成するためには、論理回路内の全ての信号経路遅延を目標サイクル以内に納める必要があり、仮にたった一つのディレイ違反の信号経路が存在するだけでも目標周波数は実現できない。そのために論理回路のディレイ設計は、論理合成過程の中でも最も設計期間を要するようになっている。
【０００８】
このような設計作業を軽減するために、高度な機能や性能を持つ論理合成ＣＡＤツールが数多く販売されている。論理合成ＣＡＤの行う処理は組み合わせ最適化問題といわれ、膨大な解候補の中からより設計目標に近い良い答えを探す問題であるため、実用時間内に全ての答えを評価して最良のものを選択することはできない。それぞれの論理合成ＣＡＤツールではアルゴリズムを工夫することで、よい答えを探す能力を向上するように開発されている。そのため、設計データＡではＣＡＤツールＡの方が良い回路を生成するが、設計データＢではＣＡＤツールＢの方が性能の高い回路が生成できるということが多々生じる。そのために一つの設計サイトで多くの種類の論理合成ＣＡＤツールを購入するのは、費用が大きくなり現実的ではない。
【０００９】
近年、様々なソフトウェア分野で、アプリケーション・サービス・プロバイダーと呼ばれる事業形態が取られ始めている。従来のようにソフトウェアを各企業で必要数購入して独自に運用管理するのでなく、ソフトウェアを提供するプロバイダーのサーバにインターネットを利用してアクセスし、ネットワークを通じて必要な時だけソフトウェアを利用し、その対価として使用料金を支払うという形態である。
【００１０】
しかし、論理回路設計にこの形態を適用すると、機密性を必要とする設計データそのものが入出力のためにネットワークを通じて転送されることになるため、設計データの機密保持の点で問題があった。また、入出力データの規模が大きいために通信のためのコストおよび時間が大きくなり、迅速な設計や繰り返して実行する設計には適合しないという問題があった。さらに、使用料金を支払ってソフトウェアを利用して得られた回路特性が十分満足できないものであった場合に、その使用料金が全く無駄になってしまうという問題があった。特に、上述のように、ＨＤＬ記述の修正、論理合成及び論理合成の結果得られるゲートレベル論理回路の回路面積、動作速度、消費電力等の評価を何度か繰り返して目標仕様に近づけていく場合、その試行錯誤の過程でのソフトウェア使用料金の発生が多くなるため、目標仕様に到達するまでの使用料金が膨大になるという問題があった。
【００１１】
そこで、本発明は上記の問題点に鑑み、高度なセキュリティ対策を実施しなくても機密性を確保できる論理回路の設計方法およびＣＡＤプログラムの提供を目的とする。また、迅速な設計や繰り返して実行する設計にも適合した論理回路の設計方法およびＣＡＤプログラムの提供を目的とする。さらに、目標仕様である回路面積、動作速度、消費電力等を達成するための論理設計期間の増大を抑え、所望する性能の論理回路を短期間に設計可能な論理回路の設計方法およびＣＡＤプログラムを安価に提供することを目的とする。
【００１２】
【課題を解決するための手段】
本願によって開示される発明のうち代表的なものの概要を簡単に説明すれば、以下の通りである。
【００１３】
すなわち、本発明に係る論理合成ＣＡＤプログラムは、レジスタトランスファレベルまたは動作レベルの論理回路を入力としてゲートレベル論理回路を生成する第１のサブプログラムと、生成された上記ゲートレベル論理回路の回路特性レポートを出力する第２のサブプログラムと、生成された上記ゲートレベル論理回路を暗号化して出力する第３のサブプログラムと、生成された上記ゲートレベル論理回路に対応する第１の暗号鍵を出力する第４のサブプログラムと、上記第１の暗号鍵に基づき生成された第２の暗号鍵を入力として上記暗号化されたゲートレベル論理回路を復号化して上記ゲートレベル論理回路を出力する第５のサブプログラムとを具備して成ることを特徴とする。
【００１４】
また、本発明に係る論理回路の設計方法は、設計サイトと論理合成ＣＡＤプログラム提供サイトとの間の情報送受を通して、レジスタトランスファレベルまたは動作レベルの論理回路を記述し、論理合成ＣＡＤプログラムを用いてゲートレベル論理回路を生成する論理回路の設計方法であって、上記論理合成ＣＡＤプログラムは、上記レジスタトランスファレベルまたは動作レベルの論理回路を入力として上記ゲートレベル論理回路を生成する機能と、生成された上記ゲートレベル論理回路の回路特性をレポートとして出力する機能と、生成された上記ゲートレベル論理回路を暗号化して出力する機能と、生成された上記ゲートレベル論理回路に対応する第１の暗号鍵を出力する機能と、上記暗号化されたゲートレベル論理回路と上記第１の暗号鍵から生成された第２の暗号鍵とを入力として上記暗号化されたゲートレベル論理回路を復号化して上記ゲートレベル論理回路を出力する機能とを備え、上記設計サイトは、論理合成ＣＡＤプログラム提供サイトから上記論理合成ＣＡＤプログラムを無償で入手し、設計サイトでレジスタトランスファレベルまたは動作レベルの論理回路を入力として上記論理合成ＣＡＤプログラムを使用して得られる論理回路の回路特性レポートを参照し、回路特性が所望のものであった場合に、上記論理合成ＣＡＤプログラム提供サイトに上記第１の暗号鍵を送付し、上記論理合成ＣＡＤプログラム提供サイトは、上記設計サイトから送付された第１の暗号鍵に基づき上記設計サイトに対する上記論理合成ＣＡＤプログラムの使用料金を発生させ、上記第１の暗号鍵を加工することにより得られる上記第２の暗号鍵を上記設計サイトに送付し、上記設計サイトは、上記暗号化されたゲートレベル論理回路と上記第２の暗号鍵とを入力として、上記論理合成ＣＡＤプログラムを用いて上記暗号化されたゲートレベル論理回路を復号化することを特徴とする。
【００１５】
設計サイトでは最終的な出力であるゲートレベル論理回路は利用できないように暗号化して出力するが、その回路特性は自由に入手できるために何度でもＣＡＤプログラムを実行して結果を得る試行錯誤に用いることができる。その際には使用料金が発生しないため、設計サイトの設計コストを抑制できる。設計サイトが回路特性のレポートに納得し、ゲートレベル論理回路を入手したい場合は、ＣＡＤプログラム提供サイトに第１の暗号鍵を送付する。第１の暗号鍵は、そのままでは、ゲートレベル論理回路を復号化できないように加工されている。ＣＡＤプログラム提供サイトでは、第１の暗号鍵を加工し、ゲートレベル論理回路を復号化できる第２の暗号鍵を生成する。ＣＡＤプログラム提供サイトから設計サイトに第２の暗号鍵を送付する。設計サイトでは、第２の暗号鍵によりゲートレベル論理回路を復号化して設計に用いることが可能となる。論理合成ＣＡＤプログラム自身は無償で配布しているが、第２の暗号鍵を送付する際に使用料金が発生する。これにより、ＣＡＤプログラム提供サイトはプログラム使用の対価を得ることができる。
【００１６】
また、第１および第２の暗号鍵は設計データや設計サイト固有の情報を含むために、特性の設計データや特定の設計サイトでの復号化のみに使用可能であるために、不正使用のリスクを回避できる。また、設計サイトとＣＡＤプログラム提供サイトの間をネットワークで接続し、ネットワークを介して上記手続きを行う構成も可能である。ネットワークでの暗号鍵の授受により、迅速に設計を行うことができる。また、実際の設計データそのものを転送するわけでないので、高度なセキュリティ対策を必要としない。さらに、ＣＡＤプログラム提供サイトに予め使用料金をプリチャージすることにより、暗号鍵入手の度に料金の授受を行わないことも可能である。その場合、設計サイトは残金の確認を行い、必要に応じて追加チャージできる。
【００１７】
【発明の実施の形態】
以下、本発明の実施例について、図面を参照しながら説明する。
【００１８】
図１は、本発明の設計方法の実施例を示している。本図では、設計サイト１１とＣＡＤプログラムの提供サイト１２の間はネットワークで接続されており、ネットワークを介して設計が行われる例を示している。図で、設計サイトの下にある箱は設計サイトで行われる処理、ＣＡＤプログラム提供サイトの下にある箱はＣＡＤプログラム提供サイトで行われる処理、ネットワークの下にある箱はネットワークを介して通信される情報を示している。まず、設計サイトは、ＣＡＤプログラム提供サイトからＣＡＤプログラムを無償でダウンロードして入手する（１０１）。当然、設計サイトが既にＣＡＤプログラムを入手している場合はこの通信は不要である。ダウンロード以外にも、光学媒体や磁気媒体によって入手しても良い。設計サイトでレジスタトランスファレベルの論理回路の設計を行う（１０２）。次に論理合成ＣＡＤプログラムを用いて論理合成を行い、所望の回路特性（回路面積、動作速度、消費電力等）が得られるかを確認する（１０３）。図では１０２，１０３の処理を各１回のみ示しているが、一度で所望の回路特性が得られない場合は何度か実行することもある。しかし、ＣＡＤプログラムを用い、論理合成を行った結果の回路特性を確認するだけなら何度使用しても使用料金は必要がない。ＣＡＤプログラムは、論理合成結果のゲートレベル論理回路は暗号化して出力するために、そのまま設計に使用することはできない。設計サイトで回路特性の結果を確認して満足した場合には、ＣＡＤプログラムが出力した第１の暗号鍵と設計サイトのユーザ情報を送付する（１０４）。ユーザ情報とは、設計サイトが誰なのかをＣＡＤプログラム提供サイトに対して示すものである。予めユーザのＩＤやパスワードを登録する方法を用いても良い。ＣＡＤプログラム提供サイトでは、ユーザの確認を行い、料金の計算を行う（１０５）。料金は、全てのユーザに対して一律に設定されていても良いが、設計サイトとの事前の契約により設計サイト毎に個別に設定されていても良い。あるいは、これまでの使用履歴から割引などの設定を行うことも可能である。または、第１のキーに設計データの規模情報を埋め込むことにより、規模に応じた料金を設定することもできる。料金を計算した後、設計サイトに対して料金の表示と最終的な同意の確認を取る（１０６）。それを見て設計サイトが納得できる場合は同意を送信する（１０７）。これを受けて、ＣＡＤプログラム提供サイトで第１の暗号鍵から第２の暗号鍵を生成し、ユーザの使用履歴のデータベースを更新する（１０８）。さらに、生成した第２の暗号鍵を設計サイトに送信する（１０９）。設計サイトでは受信した第２の暗号鍵とＣＡＤプログラムを用いて、暗号化されているゲートレベル論理回路を解凍して入手する（１１０）。このゲートレベルを用いて設計サイトではレイアウトなどの下流の設計工程を行うことになる。本図では料金の授受は省略されているが、第２の暗号鍵の送信と同時に電子決済を行うことも可能であるし、使用履歴を保管し一定の期間の使用料金をまとめて請求および支払いを行っても良い。
【００１９】
図２に本発明の論理合成ＣＡＤプログラムの構成を示す。本実施例論理合成ＣＡＤプログラム２０１は、論理合成サブプログラム２０１と、ゲートレベル論理回路の回路特性を計算しレポートととして出力する回路特性計算およびレポートサブプログラム２０２と、生成したゲートレベル論理回路を暗号化して出力するゲートレベル論理回路暗号化サブプログラム２０３と、暗号化されたゲートレベル論理回路を復号化するために必要な第１の暗号鍵を出力する第１の暗号鍵生成サブプログラム２０４と、暗号化されたゲートレベル論理回路を復号化に必要な第２の暗号鍵を入力として暗号化されたゲートレベル論理回路を復号化して出力するゲートレベル論理回路復号化サブプログラム２０５から構成される。本実施例ではレジスタトランスファレベルの論理回路２１を入力として、暗号化ゲートレベル論理回路２２と第１の暗号鍵２３と回路特性レポート２６を出力している。その他、論理合成に必要なライブラリや設計制約条件は本図では省略されている。また、暗号化ゲートレベル論理回路と第２の暗号鍵２４を入力として、ゲート論理回路復号化サブプログラムにより、復号化されたゲートレベル論理回路２５を出力する。特性計算およびレポートサブプログラムは、回路面積、回路の動作周波数、消費電力といった回路特性を計算し、出力する機能を持つものであり、例えば、動作周波数は公知の技術であるスタティックタイミングツールを用いることで実現可能であり、消費電力についてもスタティックな電力解析ツールや、ベンチマークデータによるシミュレーションにより解析可能である。
【００２０】
図３を用いて、本発明に実施例におけるゲートレベル論理回路の暗号化および第１の暗号鍵作成の処理について説明する。第１の暗号鍵生成サブプログラム２０４は、論理合成の結果であるゲートレベル論理回路３１を入力し、設計サイト情報作成処理３０１により設計サイトの情報３０４を作成する。本実施例では、ＣＡＤプログラムを実行したユーザ名、実行マシン名、プロセスＩＤが設計サイト情報として作成されている。論理回路情報作成処理３０２により論理回路の特徴情報３０５を作成する。本実施例では論理回路の特徴情報としてブロック名とゲート規模およびレジスタ数が含まれている。鍵作成処理では、設計サイト情報と論理回路情報を埋め込んだ第１の暗号鍵２３を作成する。ゲートレベル論理回路暗号化サブプログラム２０３は、第１の暗号鍵生成サブプログラムで作成された設計サイト情報と論理回路情報をゲートレベル論理回路に埋め込む、設計サイト情報埋め込み処理３０６、論理回路情報埋め込み処理３０７により情報を付加されたゲートレベル論理回路を暗号化処理３０８により暗号化して、暗号化ゲートレベル論理回路２２を作成する。第１の暗号化鍵や暗号化ゲートレベル論理回路に設計サイトの情報と論理回路の特徴情報を埋め込む理由は、復号化の際に用いられる暗号鍵が特定の設計サイトと特定の論理回路のみに使用可能であるようにするためである。どのような情報が論理回路に埋め込むかを暗号化の都度に変更することも可能である。当然のことながら、設計サイトにおいて無制限にゲートレベル論理回路を入手できくするため、第１の暗号鍵を用いて暗号化ゲートレベル論理回路を復号化できない。復号化するために必要な第２の暗号鍵は、設計サイトでは作成できない。第１の暗号鍵をさらに加工して復号化に必要な第２の暗号鍵を作成できるのは、論理合成ＣＡＤプログラム提供サイトのみとする。
【００２１】
図４を用いて、ゲートレベル論理回路の復号化の処理の説明を行う。設計サイト１１からＣＡＤプログラム提供サイト１２に第１の暗号鍵２３が送付されるとＣＡＤプログラム提供サイトでは、第２の暗号鍵作成プログラム４０１を用いて第２の暗号鍵２４を作成し、設計サイトに第２の暗号鍵を送付する。本図では、ユーザ認証や使用履歴の保存などは省略されている。また、ＣＡＤプログラム提供サイトでインターネットのホームページを公開しておき、一連の処理を全て自動的に行うことも公知の技術を用いて実現できる。第２の暗号鍵を入手した設計サイトは、第２の暗号鍵と暗号化ゲートレベル論理回路２２を入力として、ゲートレベル論理回路復号化サブプログラム２０５を用いて復号化ゲートレベル論理回路２５を得ることができる。ゲートレベル論理回路復号化サブプログラムでは、暗号鍵に埋め込まれている設計サイト情報や論理回路情報と暗号化ゲートレベル論理回路に埋め込まれている情報を比較する（４０２）。比較結果が一致した場合に復号化より４０３が起動される。
【００２２】
図５に第１の暗号鍵と第２の暗号鍵について詳しく例をあげて説明する。本実施例では、ゲートレベル論理回路３１は、暗号化処理５２により暗号化されている。設計サイト情報と論理回路特徴の埋め込み情報５１は第１の加工処理５３により第１の暗号鍵２３が生成される。さらに、これを第２の加工処理５４で加工し、マージ処理５５で暗号化されたゲートレベル論理回路の本体と第２の加工を施された埋め込み情報が合わせた暗号化されたゲートレベル論理回路２２が作成される。ゲートレベル論理回路の暗号化には、例えば、公知の技術であるＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）等を用いてればよい。また、埋め込み情報を加工する理由は、設計サイト情報と論理回路特徴情報をユーザには解読できない状態にするためである。ＣＡＤプログラム提供サイトでは、第２の暗号鍵作成プログラムでは、第１の暗号鍵に第２の加工を施し（５４）、さらにゲートレベル論理回路を復号化するために秘密暗号鍵を付加する（５６）。第２の暗号鍵２４は設計サイトに送られ、まず、ＣＡＤプログラムは、第２の暗号鍵と暗号化ゲートレベル論理回路２２に埋め込まれている情報の一致を調べ、一致した場合に第２の暗号鍵に埋め込まれている秘密暗号鍵を用いて復号化する。
【００２３】
図６にＣＡＤプログラム提供サイトにおける顧客管理データベースの実施例を示す。顧客管理データベース６１には、ユーザである設計サイトに関して、会社名、部署名などの情報、チャージされている残金、さらに、使用可能な設計者の情報としてユーザＩＤとパスワード、これまでに料金をチャージした履歴として日付と金額、これまでの使用履歴として、日付、設計データの規模、その時の使用料金、どの設計者が使用したか等の情報、さらにはこれまでの使用履歴に応じた割引率などを蓄積している。このようなデータベースで管理することにより、設計サイトから第１の暗号鍵の送付が合った場合、ユーザの認証、現在の残金表示、今回の料金表示、今回の支払い後の残金表示等を行うことができる。本実施例では、プリチャージ形式で事前に料金を支払う例であるが、使用履歴をデータベースに記録しておき、料金の支払いは年度末や期末に一括して支払う形態も可能であるし、一回毎に自動電子決済も可能である。
【００２４】
以上、本発明者によりなされた発明を実施例に基づき具体的に説明したが、本発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【００２５】
たとえば、本発明のＣＡＤプログラムの入力を最も一般的なレジスタトランスファレベルや動作レベルの論理回路として説明したが、設計者が直接ゲートレベル論理回路を記述して、これを入力にしてＣＡＤプログラムで最適化するようにしてもよい。また、一度合成したゲートレベル論理回路を入力して、再度回路特性を最適化するようにしてもよい。
【００２６】
さらに、本発明のＣＡＤプログラムの構成はゲートレベル論理回路を合成する論理合成ＣＡＤプログラム以外にレイアウト用ＣＡＤプログラムや動作レベルの論理回路を入力としてレジスタトランスファレベルの論理回路を生成する論理合成ＣＡＤプログラムや機械系の設計ＣＡＤプログラムにも応用が可能であることは言うまでもない。
【００２７】
【発明の効果】
本発明によれば、レジスタトランスファレベルまたは動作レベルの論理回路を入力としてゲートレベル論理回路を合成する設計フェーズにおいて、所望する回路特性を短期間で安価に得ることが可能となる。
【図面の簡単な説明】
【図１】論理回路の設計方法の処理および情報の流れを示す図。
【図２】論理合成ＣＡＤプログラムの構成を表す図。
【図３】ゲートレベル論理回路の暗号化および第１の暗号鍵作成の処理を示す図。
【図４】ゲートレベル論理回路の復号化の処理を示す図。
【図５】第１の暗号鍵と第２の暗号鍵との関係を示す図。
【図６】顧客管理データベースを示す図。
【符号の説明】
１１・・・・・設計サイト
１２・・・・・論理合成ＣＡＤ提供サイト
１０１〜１１０・・・・・本発明の設計方法における処理と情報
２００・・・・・論理合成ＣＡＤプログラム
２０１〜２０５・・・・・論理合成ＣＡＤサブプログラム
２１・・・・・レジスタトランスファレベル論理回路
２２・・・・・暗号化ゲートレベル論理回路
２３・・・・・第１の暗号鍵
２４・・・・・第２の暗号鍵
２５・・・・・復号化ゲートレベル論理回路
３１・・・・・ゲートレベル論理回路
３０１〜３０２・・・・・第１の暗号鍵作成サブプログラムの内部処理
３０４・・・・・設計サイトの情報
３０５・・・・・論理回路情報
３０６〜３０８・・・・・ゲートレベル論理回路暗号化サブプログラムの内部処理
４０２〜４０２・・・・・ゲートレベル論理回路復号化サブプログラムの内部処理
４０１・・・・・第２の暗号鍵作成プログラム
５１・・・・・埋め込み情報
５２・・・・・暗号化処理
５３・・・・・埋め込み情報の第１の加工処理
５４・・・・・埋め込み情報の第２の加工処理
５５・・・・・秘密暗号鍵の付加処理
６１・・・・・顧客管理データベース。
【図１】
2004152039.tif 000003
【図２】
2004152039.tif 000004
【図３】
2004152039.tif 000005
【図４】
2004152039.tif 000006
【図５】
2004152039.tif 000007
【図６】
2004152039.tif 000008