論理生成方法
【目的】 論理変更前の旧論理と旧論理から設計制約を満たすように最適に生成された旧回路が既に存在するとき、上記旧論理の一部を変更した新論理から上記設計制約を満たすように最適化された新回路を生成するインクリメンタル論理生成方法を得る。
【構成】 論理変更後の新論理ファイル113から論理生成システムにより最適化されない中間回路ファイル114を生成し、最適化された旧回路ファイル111と中間回路ファイル114を入力し回路更新システムにより変更不要部分の最適化情報を保存した中間ファイル115を生成し、回路最適化システムにより中間ファイル115の論理変更部分のみ最適化を行って、最適化された新回路ファイル116を生成する。
【効果】 高速に設計制約を満たす最適な回路を生成することが可能となり、論理設計の効率向上に大きな効果を得ることができる。
【構成】 論理変更後の新論理ファイル113から論理生成システムにより最適化されない中間回路ファイル114を生成し、最適化された旧回路ファイル111と中間回路ファイル114を入力し回路更新システムにより変更不要部分の最適化情報を保存した中間ファイル115を生成し、回路最適化システムにより中間ファイル115の論理変更部分のみ最適化を行って、最適化された新回路ファイル116を生成する。
【効果】 高速に設計制約を満たす最適な回路を生成することが可能となり、論理設計の効率向上に大きな効果を得ることができる。
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、論理から回路を生成する論理生成方法に係り、特に、論理変更前の旧論理と旧論理から設計制約を満たすように最適に生成された旧回路が既に存在するとき、旧論理の一部を変更した新論理から設計制約を満たすように最適化された新回路を生成する論理生成(インクリメンタル論理生成)に関する。
【0002】
【従来の技術】論理装置の論理設計は一般に、論理設計効率を向上させるために、論理生成システムを用いて論理から回路を生成する方法によって実施されている。論理生成システムにおいては、論理から設計制約を満たすように最適化された回路を生成することが必須であり、市販論理生成システムを含む大半の論理生成システムはそのような最適化機能を有している。そのため、上記論理生成システムでは、論理が少し変わると、生成回路の構造が全く変わってしまうという傾向がある。
【0003】一方、論理変更時の論理生成方法として、論理変更前の旧論理と旧論理から生成された旧回路が既に存在するとき、旧論理の一部を変更した新論理から変更不要部分の設計情報を保存した新回路を生成するインクリメンタル論理生成方法が提案されている。そのようなインクリメンタル論理生成方法の一つが、特願昭60−210920に記載されている。図2は従来技術であるインクリメンタル論理生成方法の動作環境(論理生成の処理のフロー)を示す。図2の左側の部分(200から213)は初期設計時の処理フローを示しており、初期設計時には、機能論理入力システムを用いて機能論理ファイル(旧論理)を作成し、論理生成システムを用いて機能論理ファイル(旧論理)から回路ファイルを生成し、配置配線システムを用いて回路ファイルから実装情報付き回路ファイルを生成し、必要があれば、回路入力システムを用いて人手で回路最適化を行い、実装情報付き人手最適化回路ファイル(旧回路)を作成する。図2の右側の部分(200から217)は論理変更時の処理フローを示しており、論理変更時には、機能論理入力システムを用いて機能論理ファイル(旧論理)を更新して論理変更後の機能論理ファイル(新論理)を作成し、論理生成システムを用いて論理変更後の機能論理ファイル(新論理)から論理変更後の回路ファイルを生成し、回路更新システムを用いて論理変更後の回路ファイルと実装情報付き人手最適化回路ファイル(旧回路)から論理変更後の変更不要部分の実装情報・人手最適化情報付き回路ファイルを生成し、回路入力システムを用いて追加した回路部分の実装情報を人手で付与し、必要があれば、さらに人手で回路最適化を行い、論理変更後の実装情報・人手最適化情報付き回路ファイル(新回路)を作成する。上記インクリメンタル論理生成方法は、フリップフロップと最適化ブール式を記述した機能論理を入力とする論理生成システムの使用を前提としているので、回路更新システムにおける旧回路の変更不要部分の認識は旧回路と新回路の構造比較によって行われている。
【0004】
【発明が解決しようとする課題】上記の従来技術の論理生成システムは設計制約が非常に厳しい場合、設計制約を満たすようにするための最適化の処理時間が非常に増大し、論理生成全体の処理時間も非常増大する。そのため、論理変更が生じる毎に上記論理生成システムによる論理生成を行うと、設計期間が増大するという問題があった。この問題を解決するのに、インクリメンタル論理生成方法は有効な手段となるが、上記の従来技術のインクリメンタル論理生成方法は、回路更新システムにおける旧回路の変更不要部分の認識を旧回路と新回路の構造比較によって行われているために、上記論理生成システムを使用した場合、旧回路の最適化情報がほとんど保存できないという問題があった。本発明の目的は、上記の問題を解決するために、上記論理生成システムの論理変更時の処理時間を大幅に削減する論理生成方法を提供することにある。
【0005】
【課題を解決するための手段】上記目的を達成するために、本発明は、論理変更前の旧論理と旧論理から設計制約を満たすように最適に生成された旧回路が既に存在するとき、上記旧論理の一部を変更した新論理から上記設計制約を満たすように最適化された新回路を生成する論理生成において、上記新論理から最適化されない第1中間回路を生成する論理生成手段と、上記旧回路と上記第1中間回路の間で論理機能が等価な上記旧回路の共通部分回路と論理機能が等価でない上記第1中間回路の非共通部分回路を識別し、上記旧回路の共通部分回路と上記第1中間回路の非共通部分回路を併合して上記旧回路の変更不要部分の最適化情報を保存した第2中間回路を生成する回路更新手段と、上記第2中間回路内の上記第1中間回路の非共通部分回路に対して上記設計制約を満たすように最適化を行って上記新回路を生成する回路最適化手段からなるように構成したものである。
【0006】
【作用】上記の論理生成手段と回路更新手段と回路最適化手段は、新論理から設計制約を満たすように最適化された新回路を高速に生成する。
【0007】
【実施例】以下、本発明の実施例を図面により詳細に説明する。最初に本発明に基づく論理生成システム(インクリメンタル論理生成)の動作環境(論理生成の処理フロー)を図1に基づき説明する。
【0008】図1の左側の部分(101から111)は初期設計時の処理フローを示している。論理入力システム101を用いて論理ファイル110を生成し、制約条件ファイル112を参照して論理生成システム102を用いて初期生成と最適化を行い最適化情報付き回路ファイル111を生成する。
【0009】図1の右側の部分(101から116)は論理設計変更時の処理フローを示している。論理入力システム101を用いて論理ファイル110を更新し論理更新後の論理ファイル113を作成し、論理生成システム102を用いて最適化を行わずに初期生成のみを行い論理生成後の回路ファイルを114を作成し、このファイル114と最適化情報付き回路ファイル111を入力して回路更新システム103を用いて論理変更後の変更不要部分の最適化情報付き回路ファイル115と既最適化回路部分情報ファイル117を生成し、これらのファイル115、117を入力し制約条件ファイル112を参照して回路最適化システム105を用いて論理変更部分のみの最適化を行い論理変更後の最適化情報付き回路ファイル116を生成する。
【0010】図3は回路更新システム103における回路更新処理のフローチャートである。以下、図3のフローチャートに基づき回路更新処理手順を順次説明する。
【0011】ステップ301:本ステップは、論理変更前の旧回路(最適化情報付き回路ファイル111の内容)と論理変更後の第1中間回路(論理変更後の回路ファイル114の内容)を入力し、旧回路と第1中間回路の間でFF(フリップフロップ)の対応付けを行う。本ステップでは、以下の4つの指標を用いて対応FFを認識する。
【0012】(1)外部入力信号共有率:Rcis(Gi,Gj)Rcis(Gi,Gj)=50(Ncis(Gi,Gj)/Nis(Gi)+Ncis(Gi,Gj)/Nis(Gj))ここで、Nis(Gi),Nis(Gj)は、各々旧回路のFF Gi、第1中間回路のFF Gjの出力論理値を決める外部入力信号の個数を表す。また、Ncis(Gi,Gj)はGi,Gj各々の外部入力信号の内で共通な信号の個数を表す。
【0013】(2)外部出力信号共有率:Rcos(Gi,Gj)Rcos(Gi,Gj)=50(Ncos(Gi,Gj)/Nos(Gi)+Ncos(Gi,Gj)/Nos(Gj))
ここで、Nos(Gi),Nos(Gj)は、各々Gi,Gjの出力論理値が外部入力信号の論理値を決めるその外部入力信号の個数を表す。また、Ncos(Gi,Gj)はGi,Gj各々の外部入力信号の内で共通な信号の個数を表す。
【0014】(3)外部入力FF共有率:Rcif(Gi,Gj)Rcif(Gi,Gj)=50(Ncif(Gi,Gj)/Nif(Gi)+Ncif(Gi,Gj)/Nif(Gj))ここで、Nif(Gi),Nif(Gj)は、各々Gi,Gjの入力端子につながる入力FF(外部入力端子から当該FFまでのパス上のFF)あるいは外部入力信号の個数を表す。また、Ncif(Gi,Gj)はGi,Gj各々の入力FFの内で対応FFと認識されているFF対の個数と外部入力信号の内で共通な信号の個数を表す。
【0015】(4)外部出力FF共有率:Rcof(Gi,Gj)Rcof(Gi,Gj)=50(Ncof(Gi,Gj)/Nof(Gi)+Ncof(Gi,Gj)/Nof(Gj))ここで、Nof(Gi),Nof(Gj)は、各々Gi,Gjの出力端子につながる入力FF(当該FFから外部出力端子までのパス上のFF)あるいは外部出力信号の個数を表す。また、Ncof(Gi,Gj)はGi,Gj各々の出力FFの内で対応FFと認識されているFF対の個数と外部出力信号の内で共通な信号の個数を表す。
【0016】本ステップの処理手順は特願昭60-210920に記載されている対応ゲートの認識方法に準じているので、詳細な説明は省略し、一例題のみ説明する。
【0017】図4は旧回路の例を示し図5は第1中間回路の例を示す。まず図4の外部入力端子401〜404と図5の外部入力端子501〜505の対応付けを行う。対応付けのキーは外部入力信号名(外部入力端子の接続信号名)であり、外部入力信号名が同一の外部入力端子が対応外部入力端子となる。401と501、402と502、403と503がそれぞれ対応付けられ、404と504,505は対応付けができない。同様に外部出力端子を外部出力信号名(外部出力端子の接続信号名)をキーに対応づける。411と510、412と511がそれぞれ対応付けられ、410と512は対応付けができない。次に旧回路400内のFF421〜427と第1中間回路500内のFF521〜527の対応付けを行う。第1中間回路500の外部入力端子数は5、外部出力端子数は3で外部入力端子数が外部出力端子数より大きいので、外部入力信号共有率Rcis(Gi,Gj)を計算する。例えば、FF425とFF522の場合、Nis(425)=3(A,B,C),Nis(522)=2(B,C),Ncis(425,522)=2(B,C)
なので、Rcis(425,522)=50(2/3+2/2)=83となる。このようにして算出した各FF対のRcis(Gi,Gj)の算出結果(外部入力信号共有率の計算例)を図6に示す。図6の結果に基づいて外部入力信号共有率の高い順にFFを対応づけると、421と521、422と522、425と524、さらに423と523が対応付けられたFF対となり、426、427、525、527が外部入力信号共有率では対応が付かない衝突FF群となる。次に衝突FF群に対して、外部出力FF共有率Rcof(Gi,Gj)を計算する。例えば、FF426とFF525の場合、Nof(426)=2(Y,427),Nof(525)=2(Y,527),Ncof(426,525)=1(Y)
なので、Rcof(426,525)=50(1/2+1/2)=50となる。このようにして算出した各FF対のRcof(Gi,Gj)の算出結果(外部出力FF共有率の計算例)を図7に示す。図7の結果に基づいて外部出力FF共有率の高い順にFFを対応づけると、427と527、426と525が対応FF対となる。一方424と526は共有する外部入力信号、外部出力FFはないので、対応付くFFはない。以上でステップ301が終了する。
【0018】ステップ302:本ステップは、ステップ301で対応付けられたFF対の各入力端子を出力切口とするコーン対と、同一外部出力端子を出力切口とするコーン対のそれぞれについて機能比較を行う。図8に本ステップの処理フロー(コーンの機能比較の処理フロー)を示す。本ステップは、ステップ801〜808から構成される。以下、図9に示す旧回路900(最適化情報付き回路ファイル111の内容)と図10に示す第1中間回路1000(論理変更後の回路ファイル114の内容)の例に基づいて本ステップの詳細を説明する。
【0019】旧回路900の外部入力端子群920〜929と第1中間回路1000の外部入力端子群1040〜1050は同一信号名の外部入力信号が接続している入力端子対が対応づけられた入力端子であるとする。旧回路900の外部出力端子930に対応する第1中間回路1000の外部出力端子は存在しない。FFは910と1030、911と1031がそれぞれ対応し、1032に対応するFFはないものとする。
【0020】ステップ801:本ステップは、未処理の対応外部出力端子対あるいはFF対が存在するかどうかを判定し、存在すればステップ802に進み、存在しなければステップ808に進む。本例では未処理の対応FF対(910と1030、911と1031)が存在するので、ステップ802に進む。
【0021】ステップ802:本ステップは、第1中間回路の未処理の対応外部出力端子対あるいはFF対を一対選択する。本例ではFF910とFF1030を選択する。
【0022】ステップ803:本ステップは、ステップ802で選択した外部出力端子対あるいはFF対の各々が作るコーン(外部出力端子を出力切口とするコーンまたはFFの入力端子を出力切口とするコーン)を抽出する。本例ではFF910の入力端子を出力切口とするコーン940とFF1030の入力端子を出力切口とするコーン1060をファンイントレースにより抽出する。
【0023】ステップ804:本ステップは、ステップ803で選択したコーン対の機能比較を行う。この機能比較は、特願平4−037562に記載されている方法で行うことができる。本例では、コーン940の論理機能はX=(A+B)・(^C・^D+E)(ここで、^は論理否定を表わす),コーン1060の論理機能もX=(A+B)・(^C・^D+E)であり、論理機能が等価である。
【0024】ステップ805:本ステップは、ステップ804のコーン対の機能比較の結果、論理機能が等価であればステップ806に進み、等価でなければステップ807に進む。本例ではコーン940とコーン1060の論理機能が等価なのでステップ806に進む。
【0025】ステップ806:本ステップは、ステップ803で選択した旧回路のコーンに含まれる全てのゲートに共通部分論理を示すラベルを付ける。本例ではコーン940に含まれるゲート901、902、905、908に共通部分論理を示すラベルを付ける。
【0026】ステップ801:本例では未処理の対応FF対(911と1031)が存在するので、ステップ802に進む。
【0027】ステップ802:本例ではFF911とFF1031を選択する。
【0028】ステップ803:本例ではFF911の入力端子を出力切口とするコーン941とFF1031の入力端子を出力切口とするコーン1061を抽出する。
【0029】ステップ804:本例では、コーン941の論理機能はY=(C+D)・^E・^F・((H+I)・^G+J),コーン1060の論理機能はY=((C+D)・^E)%(^E・^F)%((^K・^H+G)・^J)(ここで%は排他的論理和を表わす)であり、論理機能は等価でない。
【0030】ステップ805:本例ではコーン941とコーン1061の論理機能は等価でないのでステップ807に進む。
【0031】ステップ807:本ステップは、ステップ803で選択した第1中間回路のコーンに含まれる全てのゲートに非共通部分論理を示すラベルを付ける。本例ではコーン1061に含まれるゲート1002〜1009、1012に非共通部分論理を示すラベルを付ける。
【0032】ステップ801:本例では、第1中間回路1000に未処理の対応外部出力端子対と対応FF対のどちらも存在しないのでステップ808に進む。
【0033】ステップ808:本ステップは、旧回路900と第1中間回路1000の間で対応の付かなかった第1中間回路1000の全ての外部出力端子及びFFについて、外部出力端子を出力切口とするコーンとFFの入力端子を出力切口とするコーンに含まれる全てのゲートに非共通部分論理を示すラベルを付ける。本例ではFF1032の入力端子を出力切口とするコーン1062に含まれるゲート(1004、1005、1009、1013)に非共通部分論理を示すラベルを付ける。ここで1004、1005、1009には既に非共通部分論理を示すラベルがステップ807で付けられているので、1013のみに新たにラベルを付ける。
【0034】図11には、以上の結果で得られる、共通部分論理を示すラベルを付けられたゲートで構成される旧回路の部分回路1101と非共通部分論理を示すラベルを付けられたゲートで構成される第1中間回路の部分回路1102を示す。
【0035】ステップ303:本ステップは、共通部分論理を示すラベルを付けられたゲートで構成される旧回路の部分回路(共通部分回路)と、非共通部分論理を示すラベルを付けられたゲートで構成される第1中間回路の部分回路(非共通部分回路)から機能が等価な重複部分回路を識別し、当該重複部分回路を非共通部分回路から削除する。本例では、まず図11に示す共通部分回路1101と非共通部分回路1102から、両者に共通な入力切口群(外部入力信号またはFF出力信号)を全て選択する。ここでは共通部分回路1101の入力切口信号1110と非共通部分回路1102の入力切口信号1111(いずれも信号名C,D,E)である。次にこれらの入力切口群のみを入力する部分回路を共通部分回路と非共通部分回路からそれぞれ抽出し(1120と1121)機能比較を行う。部分回路1120と1121はいずれも論理機能は(C+D)・^Eであり、論理機能が等価なので重複部分回路である。従って、非共通部分回路1102から重複部分回路1121を削除し、その結果をあらためて非共通部分回路1130とする。
【0036】ステップ304:本ステップは、ステップ302,303で得られた共通部分回路と非共通部分回路と第1中間回路の全ての外部入出力端子とFFを併合して第2中間回路を生成し、論理変更後の変更不要部分の最適化情報付き回路ファイル115に出力する。また、既最適化部分回路情報を既最適化部分回路情報ファイル117に出力する。本例では、図11の共通部分回路1101と非共通部分回路1130と図10の外部入力端子1040〜1050とFF1030〜1032を併合して図12に示す第2中間回路1200を生成する。また既最適化部分回路情報として共通部分回路1101を出力する。
【0037】以上で回路更新処理が終了する。
【0038】次に回路最適化システム104における回路最適化処理について説明する。
【0039】回路最適化処理は、第2中間回路(論理変更後の変更不要部分の最適化情報付き回路ファイル115の内容)の非共通部分回路を既最適化部分回路情報(既最適化部分回路ファイル117の内容)に基づいて抽出し、制約条件(制約条件ファイル112の内容)を参照して回路の最適化を行う。図13に制約条件の例を示す。ここでは、全ての外部入力端子からFF1030の入力端子までのパスの最大ディレイ値が3nsec以下(制約1301)、外部入力端子FからFF1031の入力端子までのパスの最大ディレイ値が2nsec以下(制約1302)である。本例では、図12に示す第2中間回路1200内の各ゲートのディレイ値が1nsec、配線ディレイ値が0nsecであるとすると、制約1301を満たすべきパスは全て共通部分回路1101に含まれるので、当該制約は最適化には無関係である(制約条件は満たしている)。一方、制約1302を満たすべきパスは、外部入力端子F 1045を起点とし、ゲート1017、1018,1022を経由してFF1031の入力端子を終点とする非共通部分回路1130内のパスであり、最大ディレイ値が3nsecとなっており、制約1302を満たさない。従って当該パスは最適化の対象となり、ゲート1017、1018を統合して1個のNANDゲートに置換することにより最大ディレイ値が2nsecとなり、図14に示す最適化回路が得られ、論理変更後の最適化情報付き回路ファイル116に出力する。ここで、ゲート1017、1018を統合して置換したNANDゲートは1410である。
【0040】このようにして本実施例により、インクリメンタルな論理生成が可能である。
【0041】
【発明の効果】上記のように本発明によるインクリメンタル論理生成方法は、論理変更前の旧論理と旧論理から設計制約を満たすように最適に生成された旧回路が既に存在するとき、上記旧論理の一部を変更した新論理から上記設計制約を満たすように最適化された新回路を生成するインクリメンタル論理生成において、上記新論理から最適化されない第1中間回路を生成する論理生成手段と、上記旧回路と上記第1中間回路の間で論理機能が等価な共通部分回路と論理機能が等価でない非共通部分回路を識別し、上記旧回路の共通部分回路と上記第1中間回路の非共通部分回路を併合して上記旧回路の変更不要部分の最適化情報を保存した第2中間回路を生成する回路更新手段と、上記第2中間回路内の上記第1中間回路の非共通部分回路に対して上記設計制約を満たすように最適化を行って、上記新回路を生成する回路最適化手段とから回路を生成することにより、高速に設計制約を満たす最適な回路を生成することが可能となり、論理設計の効率向上に大きな効果を得ることができる。
【0042】
【図面の簡単な説明】
【図1】本発明によるインクリメンタル論理生成のフローチャートを示す図である。
【図2】従来のインクリメンタル論理生成のフローチャートを示す図である。
【図3】回路更新処理のフローチャートを示す図である。
【図4】旧回路の例を示す図である。
【図5】第1中間回路の例を示す図である。
【図6】外部入力信号共有率の計算例を示す図である。
【図7】外部出力FF共有率の計算例を示す図である。
【図8】コーンの機能比較処理のフローチャートを示す図である。
【図9】旧回路の例を示す図である。
【図10】第1中間回路の例を示す図である。
【図11】共通部分回路と非共通部分回路の例を示す図である。
【図12】第2中間回路の例を示す図である。
【図13】制約条件の例を示す図である。
【図14】論理変更後の最適化情報付き回路の例を示す図である。
【符号の説明】
101〜104 インクリメンタル論理生成処理
110,111 論理ファイル
113,116 回路ファイル
114,115,117 中間ファイル
112 制約条件ファイル。
【0001】
【産業上の利用分野】本発明は、論理から回路を生成する論理生成方法に係り、特に、論理変更前の旧論理と旧論理から設計制約を満たすように最適に生成された旧回路が既に存在するとき、旧論理の一部を変更した新論理から設計制約を満たすように最適化された新回路を生成する論理生成(インクリメンタル論理生成)に関する。
【0002】
【従来の技術】論理装置の論理設計は一般に、論理設計効率を向上させるために、論理生成システムを用いて論理から回路を生成する方法によって実施されている。論理生成システムにおいては、論理から設計制約を満たすように最適化された回路を生成することが必須であり、市販論理生成システムを含む大半の論理生成システムはそのような最適化機能を有している。そのため、上記論理生成システムでは、論理が少し変わると、生成回路の構造が全く変わってしまうという傾向がある。
【0003】一方、論理変更時の論理生成方法として、論理変更前の旧論理と旧論理から生成された旧回路が既に存在するとき、旧論理の一部を変更した新論理から変更不要部分の設計情報を保存した新回路を生成するインクリメンタル論理生成方法が提案されている。そのようなインクリメンタル論理生成方法の一つが、特願昭60−210920に記載されている。図2は従来技術であるインクリメンタル論理生成方法の動作環境(論理生成の処理のフロー)を示す。図2の左側の部分(200から213)は初期設計時の処理フローを示しており、初期設計時には、機能論理入力システムを用いて機能論理ファイル(旧論理)を作成し、論理生成システムを用いて機能論理ファイル(旧論理)から回路ファイルを生成し、配置配線システムを用いて回路ファイルから実装情報付き回路ファイルを生成し、必要があれば、回路入力システムを用いて人手で回路最適化を行い、実装情報付き人手最適化回路ファイル(旧回路)を作成する。図2の右側の部分(200から217)は論理変更時の処理フローを示しており、論理変更時には、機能論理入力システムを用いて機能論理ファイル(旧論理)を更新して論理変更後の機能論理ファイル(新論理)を作成し、論理生成システムを用いて論理変更後の機能論理ファイル(新論理)から論理変更後の回路ファイルを生成し、回路更新システムを用いて論理変更後の回路ファイルと実装情報付き人手最適化回路ファイル(旧回路)から論理変更後の変更不要部分の実装情報・人手最適化情報付き回路ファイルを生成し、回路入力システムを用いて追加した回路部分の実装情報を人手で付与し、必要があれば、さらに人手で回路最適化を行い、論理変更後の実装情報・人手最適化情報付き回路ファイル(新回路)を作成する。上記インクリメンタル論理生成方法は、フリップフロップと最適化ブール式を記述した機能論理を入力とする論理生成システムの使用を前提としているので、回路更新システムにおける旧回路の変更不要部分の認識は旧回路と新回路の構造比較によって行われている。
【0004】
【発明が解決しようとする課題】上記の従来技術の論理生成システムは設計制約が非常に厳しい場合、設計制約を満たすようにするための最適化の処理時間が非常に増大し、論理生成全体の処理時間も非常増大する。そのため、論理変更が生じる毎に上記論理生成システムによる論理生成を行うと、設計期間が増大するという問題があった。この問題を解決するのに、インクリメンタル論理生成方法は有効な手段となるが、上記の従来技術のインクリメンタル論理生成方法は、回路更新システムにおける旧回路の変更不要部分の認識を旧回路と新回路の構造比較によって行われているために、上記論理生成システムを使用した場合、旧回路の最適化情報がほとんど保存できないという問題があった。本発明の目的は、上記の問題を解決するために、上記論理生成システムの論理変更時の処理時間を大幅に削減する論理生成方法を提供することにある。
【0005】
【課題を解決するための手段】上記目的を達成するために、本発明は、論理変更前の旧論理と旧論理から設計制約を満たすように最適に生成された旧回路が既に存在するとき、上記旧論理の一部を変更した新論理から上記設計制約を満たすように最適化された新回路を生成する論理生成において、上記新論理から最適化されない第1中間回路を生成する論理生成手段と、上記旧回路と上記第1中間回路の間で論理機能が等価な上記旧回路の共通部分回路と論理機能が等価でない上記第1中間回路の非共通部分回路を識別し、上記旧回路の共通部分回路と上記第1中間回路の非共通部分回路を併合して上記旧回路の変更不要部分の最適化情報を保存した第2中間回路を生成する回路更新手段と、上記第2中間回路内の上記第1中間回路の非共通部分回路に対して上記設計制約を満たすように最適化を行って上記新回路を生成する回路最適化手段からなるように構成したものである。
【0006】
【作用】上記の論理生成手段と回路更新手段と回路最適化手段は、新論理から設計制約を満たすように最適化された新回路を高速に生成する。
【0007】
【実施例】以下、本発明の実施例を図面により詳細に説明する。最初に本発明に基づく論理生成システム(インクリメンタル論理生成)の動作環境(論理生成の処理フロー)を図1に基づき説明する。
【0008】図1の左側の部分(101から111)は初期設計時の処理フローを示している。論理入力システム101を用いて論理ファイル110を生成し、制約条件ファイル112を参照して論理生成システム102を用いて初期生成と最適化を行い最適化情報付き回路ファイル111を生成する。
【0009】図1の右側の部分(101から116)は論理設計変更時の処理フローを示している。論理入力システム101を用いて論理ファイル110を更新し論理更新後の論理ファイル113を作成し、論理生成システム102を用いて最適化を行わずに初期生成のみを行い論理生成後の回路ファイルを114を作成し、このファイル114と最適化情報付き回路ファイル111を入力して回路更新システム103を用いて論理変更後の変更不要部分の最適化情報付き回路ファイル115と既最適化回路部分情報ファイル117を生成し、これらのファイル115、117を入力し制約条件ファイル112を参照して回路最適化システム105を用いて論理変更部分のみの最適化を行い論理変更後の最適化情報付き回路ファイル116を生成する。
【0010】図3は回路更新システム103における回路更新処理のフローチャートである。以下、図3のフローチャートに基づき回路更新処理手順を順次説明する。
【0011】ステップ301:本ステップは、論理変更前の旧回路(最適化情報付き回路ファイル111の内容)と論理変更後の第1中間回路(論理変更後の回路ファイル114の内容)を入力し、旧回路と第1中間回路の間でFF(フリップフロップ)の対応付けを行う。本ステップでは、以下の4つの指標を用いて対応FFを認識する。
【0012】(1)外部入力信号共有率:Rcis(Gi,Gj)Rcis(Gi,Gj)=50(Ncis(Gi,Gj)/Nis(Gi)+Ncis(Gi,Gj)/Nis(Gj))ここで、Nis(Gi),Nis(Gj)は、各々旧回路のFF Gi、第1中間回路のFF Gjの出力論理値を決める外部入力信号の個数を表す。また、Ncis(Gi,Gj)はGi,Gj各々の外部入力信号の内で共通な信号の個数を表す。
【0013】(2)外部出力信号共有率:Rcos(Gi,Gj)Rcos(Gi,Gj)=50(Ncos(Gi,Gj)/Nos(Gi)+Ncos(Gi,Gj)/Nos(Gj))
ここで、Nos(Gi),Nos(Gj)は、各々Gi,Gjの出力論理値が外部入力信号の論理値を決めるその外部入力信号の個数を表す。また、Ncos(Gi,Gj)はGi,Gj各々の外部入力信号の内で共通な信号の個数を表す。
【0014】(3)外部入力FF共有率:Rcif(Gi,Gj)Rcif(Gi,Gj)=50(Ncif(Gi,Gj)/Nif(Gi)+Ncif(Gi,Gj)/Nif(Gj))ここで、Nif(Gi),Nif(Gj)は、各々Gi,Gjの入力端子につながる入力FF(外部入力端子から当該FFまでのパス上のFF)あるいは外部入力信号の個数を表す。また、Ncif(Gi,Gj)はGi,Gj各々の入力FFの内で対応FFと認識されているFF対の個数と外部入力信号の内で共通な信号の個数を表す。
【0015】(4)外部出力FF共有率:Rcof(Gi,Gj)Rcof(Gi,Gj)=50(Ncof(Gi,Gj)/Nof(Gi)+Ncof(Gi,Gj)/Nof(Gj))ここで、Nof(Gi),Nof(Gj)は、各々Gi,Gjの出力端子につながる入力FF(当該FFから外部出力端子までのパス上のFF)あるいは外部出力信号の個数を表す。また、Ncof(Gi,Gj)はGi,Gj各々の出力FFの内で対応FFと認識されているFF対の個数と外部出力信号の内で共通な信号の個数を表す。
【0016】本ステップの処理手順は特願昭60-210920に記載されている対応ゲートの認識方法に準じているので、詳細な説明は省略し、一例題のみ説明する。
【0017】図4は旧回路の例を示し図5は第1中間回路の例を示す。まず図4の外部入力端子401〜404と図5の外部入力端子501〜505の対応付けを行う。対応付けのキーは外部入力信号名(外部入力端子の接続信号名)であり、外部入力信号名が同一の外部入力端子が対応外部入力端子となる。401と501、402と502、403と503がそれぞれ対応付けられ、404と504,505は対応付けができない。同様に外部出力端子を外部出力信号名(外部出力端子の接続信号名)をキーに対応づける。411と510、412と511がそれぞれ対応付けられ、410と512は対応付けができない。次に旧回路400内のFF421〜427と第1中間回路500内のFF521〜527の対応付けを行う。第1中間回路500の外部入力端子数は5、外部出力端子数は3で外部入力端子数が外部出力端子数より大きいので、外部入力信号共有率Rcis(Gi,Gj)を計算する。例えば、FF425とFF522の場合、Nis(425)=3(A,B,C),Nis(522)=2(B,C),Ncis(425,522)=2(B,C)
なので、Rcis(425,522)=50(2/3+2/2)=83となる。このようにして算出した各FF対のRcis(Gi,Gj)の算出結果(外部入力信号共有率の計算例)を図6に示す。図6の結果に基づいて外部入力信号共有率の高い順にFFを対応づけると、421と521、422と522、425と524、さらに423と523が対応付けられたFF対となり、426、427、525、527が外部入力信号共有率では対応が付かない衝突FF群となる。次に衝突FF群に対して、外部出力FF共有率Rcof(Gi,Gj)を計算する。例えば、FF426とFF525の場合、Nof(426)=2(Y,427),Nof(525)=2(Y,527),Ncof(426,525)=1(Y)
なので、Rcof(426,525)=50(1/2+1/2)=50となる。このようにして算出した各FF対のRcof(Gi,Gj)の算出結果(外部出力FF共有率の計算例)を図7に示す。図7の結果に基づいて外部出力FF共有率の高い順にFFを対応づけると、427と527、426と525が対応FF対となる。一方424と526は共有する外部入力信号、外部出力FFはないので、対応付くFFはない。以上でステップ301が終了する。
【0018】ステップ302:本ステップは、ステップ301で対応付けられたFF対の各入力端子を出力切口とするコーン対と、同一外部出力端子を出力切口とするコーン対のそれぞれについて機能比較を行う。図8に本ステップの処理フロー(コーンの機能比較の処理フロー)を示す。本ステップは、ステップ801〜808から構成される。以下、図9に示す旧回路900(最適化情報付き回路ファイル111の内容)と図10に示す第1中間回路1000(論理変更後の回路ファイル114の内容)の例に基づいて本ステップの詳細を説明する。
【0019】旧回路900の外部入力端子群920〜929と第1中間回路1000の外部入力端子群1040〜1050は同一信号名の外部入力信号が接続している入力端子対が対応づけられた入力端子であるとする。旧回路900の外部出力端子930に対応する第1中間回路1000の外部出力端子は存在しない。FFは910と1030、911と1031がそれぞれ対応し、1032に対応するFFはないものとする。
【0020】ステップ801:本ステップは、未処理の対応外部出力端子対あるいはFF対が存在するかどうかを判定し、存在すればステップ802に進み、存在しなければステップ808に進む。本例では未処理の対応FF対(910と1030、911と1031)が存在するので、ステップ802に進む。
【0021】ステップ802:本ステップは、第1中間回路の未処理の対応外部出力端子対あるいはFF対を一対選択する。本例ではFF910とFF1030を選択する。
【0022】ステップ803:本ステップは、ステップ802で選択した外部出力端子対あるいはFF対の各々が作るコーン(外部出力端子を出力切口とするコーンまたはFFの入力端子を出力切口とするコーン)を抽出する。本例ではFF910の入力端子を出力切口とするコーン940とFF1030の入力端子を出力切口とするコーン1060をファンイントレースにより抽出する。
【0023】ステップ804:本ステップは、ステップ803で選択したコーン対の機能比較を行う。この機能比較は、特願平4−037562に記載されている方法で行うことができる。本例では、コーン940の論理機能はX=(A+B)・(^C・^D+E)(ここで、^は論理否定を表わす),コーン1060の論理機能もX=(A+B)・(^C・^D+E)であり、論理機能が等価である。
【0024】ステップ805:本ステップは、ステップ804のコーン対の機能比較の結果、論理機能が等価であればステップ806に進み、等価でなければステップ807に進む。本例ではコーン940とコーン1060の論理機能が等価なのでステップ806に進む。
【0025】ステップ806:本ステップは、ステップ803で選択した旧回路のコーンに含まれる全てのゲートに共通部分論理を示すラベルを付ける。本例ではコーン940に含まれるゲート901、902、905、908に共通部分論理を示すラベルを付ける。
【0026】ステップ801:本例では未処理の対応FF対(911と1031)が存在するので、ステップ802に進む。
【0027】ステップ802:本例ではFF911とFF1031を選択する。
【0028】ステップ803:本例ではFF911の入力端子を出力切口とするコーン941とFF1031の入力端子を出力切口とするコーン1061を抽出する。
【0029】ステップ804:本例では、コーン941の論理機能はY=(C+D)・^E・^F・((H+I)・^G+J),コーン1060の論理機能はY=((C+D)・^E)%(^E・^F)%((^K・^H+G)・^J)(ここで%は排他的論理和を表わす)であり、論理機能は等価でない。
【0030】ステップ805:本例ではコーン941とコーン1061の論理機能は等価でないのでステップ807に進む。
【0031】ステップ807:本ステップは、ステップ803で選択した第1中間回路のコーンに含まれる全てのゲートに非共通部分論理を示すラベルを付ける。本例ではコーン1061に含まれるゲート1002〜1009、1012に非共通部分論理を示すラベルを付ける。
【0032】ステップ801:本例では、第1中間回路1000に未処理の対応外部出力端子対と対応FF対のどちらも存在しないのでステップ808に進む。
【0033】ステップ808:本ステップは、旧回路900と第1中間回路1000の間で対応の付かなかった第1中間回路1000の全ての外部出力端子及びFFについて、外部出力端子を出力切口とするコーンとFFの入力端子を出力切口とするコーンに含まれる全てのゲートに非共通部分論理を示すラベルを付ける。本例ではFF1032の入力端子を出力切口とするコーン1062に含まれるゲート(1004、1005、1009、1013)に非共通部分論理を示すラベルを付ける。ここで1004、1005、1009には既に非共通部分論理を示すラベルがステップ807で付けられているので、1013のみに新たにラベルを付ける。
【0034】図11には、以上の結果で得られる、共通部分論理を示すラベルを付けられたゲートで構成される旧回路の部分回路1101と非共通部分論理を示すラベルを付けられたゲートで構成される第1中間回路の部分回路1102を示す。
【0035】ステップ303:本ステップは、共通部分論理を示すラベルを付けられたゲートで構成される旧回路の部分回路(共通部分回路)と、非共通部分論理を示すラベルを付けられたゲートで構成される第1中間回路の部分回路(非共通部分回路)から機能が等価な重複部分回路を識別し、当該重複部分回路を非共通部分回路から削除する。本例では、まず図11に示す共通部分回路1101と非共通部分回路1102から、両者に共通な入力切口群(外部入力信号またはFF出力信号)を全て選択する。ここでは共通部分回路1101の入力切口信号1110と非共通部分回路1102の入力切口信号1111(いずれも信号名C,D,E)である。次にこれらの入力切口群のみを入力する部分回路を共通部分回路と非共通部分回路からそれぞれ抽出し(1120と1121)機能比較を行う。部分回路1120と1121はいずれも論理機能は(C+D)・^Eであり、論理機能が等価なので重複部分回路である。従って、非共通部分回路1102から重複部分回路1121を削除し、その結果をあらためて非共通部分回路1130とする。
【0036】ステップ304:本ステップは、ステップ302,303で得られた共通部分回路と非共通部分回路と第1中間回路の全ての外部入出力端子とFFを併合して第2中間回路を生成し、論理変更後の変更不要部分の最適化情報付き回路ファイル115に出力する。また、既最適化部分回路情報を既最適化部分回路情報ファイル117に出力する。本例では、図11の共通部分回路1101と非共通部分回路1130と図10の外部入力端子1040〜1050とFF1030〜1032を併合して図12に示す第2中間回路1200を生成する。また既最適化部分回路情報として共通部分回路1101を出力する。
【0037】以上で回路更新処理が終了する。
【0038】次に回路最適化システム104における回路最適化処理について説明する。
【0039】回路最適化処理は、第2中間回路(論理変更後の変更不要部分の最適化情報付き回路ファイル115の内容)の非共通部分回路を既最適化部分回路情報(既最適化部分回路ファイル117の内容)に基づいて抽出し、制約条件(制約条件ファイル112の内容)を参照して回路の最適化を行う。図13に制約条件の例を示す。ここでは、全ての外部入力端子からFF1030の入力端子までのパスの最大ディレイ値が3nsec以下(制約1301)、外部入力端子FからFF1031の入力端子までのパスの最大ディレイ値が2nsec以下(制約1302)である。本例では、図12に示す第2中間回路1200内の各ゲートのディレイ値が1nsec、配線ディレイ値が0nsecであるとすると、制約1301を満たすべきパスは全て共通部分回路1101に含まれるので、当該制約は最適化には無関係である(制約条件は満たしている)。一方、制約1302を満たすべきパスは、外部入力端子F 1045を起点とし、ゲート1017、1018,1022を経由してFF1031の入力端子を終点とする非共通部分回路1130内のパスであり、最大ディレイ値が3nsecとなっており、制約1302を満たさない。従って当該パスは最適化の対象となり、ゲート1017、1018を統合して1個のNANDゲートに置換することにより最大ディレイ値が2nsecとなり、図14に示す最適化回路が得られ、論理変更後の最適化情報付き回路ファイル116に出力する。ここで、ゲート1017、1018を統合して置換したNANDゲートは1410である。
【0040】このようにして本実施例により、インクリメンタルな論理生成が可能である。
【0041】
【発明の効果】上記のように本発明によるインクリメンタル論理生成方法は、論理変更前の旧論理と旧論理から設計制約を満たすように最適に生成された旧回路が既に存在するとき、上記旧論理の一部を変更した新論理から上記設計制約を満たすように最適化された新回路を生成するインクリメンタル論理生成において、上記新論理から最適化されない第1中間回路を生成する論理生成手段と、上記旧回路と上記第1中間回路の間で論理機能が等価な共通部分回路と論理機能が等価でない非共通部分回路を識別し、上記旧回路の共通部分回路と上記第1中間回路の非共通部分回路を併合して上記旧回路の変更不要部分の最適化情報を保存した第2中間回路を生成する回路更新手段と、上記第2中間回路内の上記第1中間回路の非共通部分回路に対して上記設計制約を満たすように最適化を行って、上記新回路を生成する回路最適化手段とから回路を生成することにより、高速に設計制約を満たす最適な回路を生成することが可能となり、論理設計の効率向上に大きな効果を得ることができる。
【0042】
【図面の簡単な説明】
【図1】本発明によるインクリメンタル論理生成のフローチャートを示す図である。
【図2】従来のインクリメンタル論理生成のフローチャートを示す図である。
【図3】回路更新処理のフローチャートを示す図である。
【図4】旧回路の例を示す図である。
【図5】第1中間回路の例を示す図である。
【図6】外部入力信号共有率の計算例を示す図である。
【図7】外部出力FF共有率の計算例を示す図である。
【図8】コーンの機能比較処理のフローチャートを示す図である。
【図9】旧回路の例を示す図である。
【図10】第1中間回路の例を示す図である。
【図11】共通部分回路と非共通部分回路の例を示す図である。
【図12】第2中間回路の例を示す図である。
【図13】制約条件の例を示す図である。
【図14】論理変更後の最適化情報付き回路の例を示す図である。
【符号の説明】
101〜104 インクリメンタル論理生成処理
110,111 論理ファイル
113,116 回路ファイル
114,115,117 中間ファイル
112 制約条件ファイル。
【特許請求の範囲】
【請求項1】論理変更前の旧論理と旧論理から設計制約を満たすように最適に生成された旧回路が既に存在するとき、上記旧論理の一部を変更した新論理から上記設計制約を満たすように最適化された新回路を生成するインクリメンタル論理生成において、上記新論理から最適化されない第1中間回路を生成する論理生成手段と、上記旧回路と上記第1中間回路の間で、論理機能が等価な上記旧回路の共通部分回路と論理機能が等価でない上記第1中間回路の非共通部分回路を識別し、上記旧回路の共通部分回路と上記第1中間回路の非共通部分回路を併合して上記旧回路の変更不要部分の最適化情報を保存した第2中間回路を生成する回路更新手段と、上記第2中間回路内の上記第1中間回路の非共通部分回路に対して上記設計制約を満たすように最適化を行って上記新回路を生成する回路最適化手段からなることを特徴とする論理生成方法。
【請求項2】上記回路更新手段は、上記旧回路と上記第1中間回路の間で、外部入出力信号名をキーにしてフリップフロップ対の対応付けを行う対応フリップフロップ認識手段と、上記旧回路と上記第1中間回路の間で、各フリップフロップ入力端子または各外部出力端子を出力切口とし、フリップフロップ出力端子群または外部入力端子群を入力切口とする1出力多入力の組合せ回路のコーンの対の内で、上記対応フリップフロップ認識手段で対応付けられたフリップフロップ対の各入力端子を出力切口とするコーン対と同一外部出力端子を出力切口とするコーン対のそれぞれについて機能比較を行い、旧回路の内で、上記機能比較で論理機能が等価であったコーンの少なくとも一つに含まれる全てのゲートからなる部分回路を共通部分回路とし、第1中間回路の内で、上記機能比較で論理機能が等価でなかったコーンの少なくとも一つに含まれる全てのゲートと上記機能比較の対象とならなかったコーンの少なくとも一つに含まれる全てのゲートからなる部分回路を非共通部分回路とするコーン機能比較手段と、上記旧回路の共通部分回路と上記第1中間回路の非共通部分回路の間で、論理機能が等価な上記第1中間回路の重複部分回路を識別し、上記第1中間回路の重複部分回路を上記第1中間回路の非共通部分回路から削除する重複回路削除手段と、上記旧回路の共通部分回路と上記第1中間回路の非共通部分回路と上記第1中間回路の全てのフリップフロップと外部入出力端子を併合して上記第2中間回路を生成する回路編集手段からなることを特徴とする請求項1に記載の論理生成方法。
【請求項3】上記対応フリップフロップ認識手段は、上記第1中間回路の外部入力端子数と外部出力端子数の大小関係に従って,外部入力信号共有率または外部出力信号共有率を指標にしてフリップフロップ対の対応付けを行うことを特徴とする請求項2に記載の論理生成方法。
【請求項4】上記対応フリップフロップ認識手段はさらに、上記信号共有率によってはフリップフロップ対が一義に定まらないフリップフロップ対群について、入力フリップフロップ共有率及び出力フリップフロップ共有率の少なくとも一方を指標にしてフリップフロップ対の対応付けを行うことを特徴とする請求項3に記載の論理生成方法。
【請求項5】上記重複回路削除手段は、上記旧回路の共通部分回路と上記第1中間回路の非共通部分回路の間で、同一入力切口群を入力とする上記旧回路の共通部分回路の部分回路と上記第1中間回路の非共通部分回路の部分回路の機能比較を行って重複部分回路を識別することを特徴とする請求項3に記載の論理生成方法。
【請求項6】上記コーン機能比較手段はさらに、上記機能比較で論理機能が等価でなかったコーン対が反転機能か否かの判定を行い、反転機能であった場合には上記旧回路の上記コーンの最出力側のインバータの削除または上記コーンの最出力側へのインバータの挿入または上記コーンの最出力側ゲートの反転論理出力端子への信号の付け替えのいずれかにより反転機能コーンを作成し、上記反転機能コーンに含まれる全てのゲートを上記旧回路の共通部分回路に加えることを特徴とする請求項2に記載の論理生成方法。
【請求項1】論理変更前の旧論理と旧論理から設計制約を満たすように最適に生成された旧回路が既に存在するとき、上記旧論理の一部を変更した新論理から上記設計制約を満たすように最適化された新回路を生成するインクリメンタル論理生成において、上記新論理から最適化されない第1中間回路を生成する論理生成手段と、上記旧回路と上記第1中間回路の間で、論理機能が等価な上記旧回路の共通部分回路と論理機能が等価でない上記第1中間回路の非共通部分回路を識別し、上記旧回路の共通部分回路と上記第1中間回路の非共通部分回路を併合して上記旧回路の変更不要部分の最適化情報を保存した第2中間回路を生成する回路更新手段と、上記第2中間回路内の上記第1中間回路の非共通部分回路に対して上記設計制約を満たすように最適化を行って上記新回路を生成する回路最適化手段からなることを特徴とする論理生成方法。
【請求項2】上記回路更新手段は、上記旧回路と上記第1中間回路の間で、外部入出力信号名をキーにしてフリップフロップ対の対応付けを行う対応フリップフロップ認識手段と、上記旧回路と上記第1中間回路の間で、各フリップフロップ入力端子または各外部出力端子を出力切口とし、フリップフロップ出力端子群または外部入力端子群を入力切口とする1出力多入力の組合せ回路のコーンの対の内で、上記対応フリップフロップ認識手段で対応付けられたフリップフロップ対の各入力端子を出力切口とするコーン対と同一外部出力端子を出力切口とするコーン対のそれぞれについて機能比較を行い、旧回路の内で、上記機能比較で論理機能が等価であったコーンの少なくとも一つに含まれる全てのゲートからなる部分回路を共通部分回路とし、第1中間回路の内で、上記機能比較で論理機能が等価でなかったコーンの少なくとも一つに含まれる全てのゲートと上記機能比較の対象とならなかったコーンの少なくとも一つに含まれる全てのゲートからなる部分回路を非共通部分回路とするコーン機能比較手段と、上記旧回路の共通部分回路と上記第1中間回路の非共通部分回路の間で、論理機能が等価な上記第1中間回路の重複部分回路を識別し、上記第1中間回路の重複部分回路を上記第1中間回路の非共通部分回路から削除する重複回路削除手段と、上記旧回路の共通部分回路と上記第1中間回路の非共通部分回路と上記第1中間回路の全てのフリップフロップと外部入出力端子を併合して上記第2中間回路を生成する回路編集手段からなることを特徴とする請求項1に記載の論理生成方法。
【請求項3】上記対応フリップフロップ認識手段は、上記第1中間回路の外部入力端子数と外部出力端子数の大小関係に従って,外部入力信号共有率または外部出力信号共有率を指標にしてフリップフロップ対の対応付けを行うことを特徴とする請求項2に記載の論理生成方法。
【請求項4】上記対応フリップフロップ認識手段はさらに、上記信号共有率によってはフリップフロップ対が一義に定まらないフリップフロップ対群について、入力フリップフロップ共有率及び出力フリップフロップ共有率の少なくとも一方を指標にしてフリップフロップ対の対応付けを行うことを特徴とする請求項3に記載の論理生成方法。
【請求項5】上記重複回路削除手段は、上記旧回路の共通部分回路と上記第1中間回路の非共通部分回路の間で、同一入力切口群を入力とする上記旧回路の共通部分回路の部分回路と上記第1中間回路の非共通部分回路の部分回路の機能比較を行って重複部分回路を識別することを特徴とする請求項3に記載の論理生成方法。
【請求項6】上記コーン機能比較手段はさらに、上記機能比較で論理機能が等価でなかったコーン対が反転機能か否かの判定を行い、反転機能であった場合には上記旧回路の上記コーンの最出力側のインバータの削除または上記コーンの最出力側へのインバータの挿入または上記コーンの最出力側ゲートの反転論理出力端子への信号の付け替えのいずれかにより反転機能コーンを作成し、上記反転機能コーンに含まれる全てのゲートを上記旧回路の共通部分回路に加えることを特徴とする請求項2に記載の論理生成方法。
【図1】
【図7】
【図2】
【図4】
【図6】
【図12】
【図3】
【図5】
【図10】
【図8】
【図13】
【図9】
【図11】
【図14】
【図7】
【図2】
【図4】
【図6】
【図12】
【図3】
【図5】
【図10】
【図8】
【図13】
【図9】
【図11】
【図14】
【公開番号】特開平8−212246
【公開日】平成8年(1996)8月20日
【国際特許分類】
【出願番号】特願平7−20139
【出願日】平成7年(1995)2月8日
【出願人】(000005108)株式会社日立製作所 (27,607)
【出願人】(000233055)日立ソフトウエアエンジニアリング株式会社 (1,610)
【公開日】平成8年(1996)8月20日
【国際特許分類】
【出願日】平成7年(1995)2月8日
【出願人】(000005108)株式会社日立製作所 (27,607)
【出願人】(000233055)日立ソフトウエアエンジニアリング株式会社 (1,610)
[ Back to top ]