JP4006120B2 - Logic synthesis device - Google Patents

Logic synthesis device Download PDF

Info

Publication number
JP4006120B2
JP4006120B2 JP35124398A JP35124398A JP4006120B2 JP 4006120 B2 JP4006120 B2 JP 4006120B2 JP 35124398 A JP35124398 A JP 35124398A JP 35124398 A JP35124398 A JP 35124398A JP 4006120 B2 JP4006120 B2 JP 4006120B2
Authority
JP
Japan
Prior art keywords
synthesis
script
rtl description
rtl
logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP35124398A
Other languages
Japanese (ja)
Other versions
JP2000172730A (en
Inventor
英孝 南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP35124398A priority Critical patent/JP4006120B2/en
Publication of JP2000172730A publication Critical patent/JP2000172730A/en
Application granted granted Critical
Publication of JP4006120B2 publication Critical patent/JP4006120B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、LSI(Large Scale Integration、大規模集積回路)設計における論理合成装置に関するものである。
【0002】
【従来の技術】
従来のLSIの機能・論理設計フェーズでは、ハードウエア記述言語(例えば、Verilog、VHDL等)で表現したRTL(Register Transfer Level)記述及び各種制御データを入力として、最適なゲート・レベル論理回路(ネットリスト)を自動生成することが中心作業である。この自動生成を行うEDA(Electronic Design Automation)ツールには今日多くの製品があり、SYNOPSYS社の「Design Compiler」はその1つである。
【0003】
上記のネットリストを自動生成するツール、即ち論理合成ツールを用いて実際に論理合成を行う際には、以下のような手順が必要である。
▲1▼RTL記述を作成する。RTL記述は、LSIを構成する機能ユニットであるモジュール単位に作成され、複数のモジュールは、設計の効率化のため、階層構造を形成するのが通例である。従って、1つのネットリストに対し、RTL記述は複数であることが通常となる。
▲2▼クロックの制約などを記した制御ファイルを作成する。1つのネットリストに対し、当該制御ファイルは1つ必要である。
▲3▼制御ファイルの情報を用いて、1つのRTL記述毎にそれに対する1つの合成用スクリプトを作成する。仮にN個のRTL記述があればN個の合成用スクリプトが必要である。モジュールが階層構造を形成するLSI回路においては、機能・論理設計フェーズで用いるRTL記述、合成用スクリプトもそれに対して階層構造を形成する。
▲4▼(上記N個の)合成用スクリプトを与えて、(上記N個の)RTL記述を入力にして、論理合成を行い、1つのネットリストを作成する。
【0004】
上記▲1▼から▲4▼の手順において、EDAツールである論理合成ツールが自動作業を行うのは、▲4▼の手順のみである。[但し、▲1▼の手順でのRTL記述作成を一部自動化してサポートするEDAツールは現在商業的に利用可能である(例えば、SYNOPSYS社「Behavior Compiler」)。]
【0005】
RTL記述、及び合成用スクリプトが、それぞれ階層構造を形成するのならば、例えば、制御ファイル等に変更が発生した場合、関係するモジュールに係るRTL記述やスクリプトのみ修正し、上記階層構造にてそれらRTL記述やスクリプトを包含しかつそれらの上位に位置するRTL記述やスクリプトが、修正されたRTL記述やスクリプトを取り込み、再論理合成を行い、非修正モジュール分と繋げてネットリストを再形成すればよい。RTL記述や合成用スクリプトの階層構造は、このようにLSIの機能・論理設計フェーズでの論理合成の試行反復を、容易に行える効果も備える。
【0006】
ところが、LSIの大規模化、高速化が進むにつれて、上記の階層構造はますます膨大なものになる。それとともに、RTL記述や制御ファイルに変更が生じる際に影響を受ける(階層構造上位の)RTL記述や合成用スクリプトの範囲の把握は、ますます困難なものとなる。その結果、再論理合成のRTL記述や合成用スクリプトの範囲の把握に、誤りが生じやすくなる。一方、RTL記述や制御ファイルに変更が少しでも生じれば、全てのRTL記述や合成用スクリプトをもとにしてネットリスト全体についていちいち再論理合成を行うという方針を採るとすると、大規模化複雑化されたLSIにおいては膨大な時間がかかり、機能・論理設計フェーズでの論理合成の試行反復が容易なものではなくなる。
【0007】
【発明が解決しようとする課題】
LSIの大規模化高速化が進み、ネットリストでの階層構造は膨大となっても、機能・論理設計フェーズでの変更修正において、最小限の変更修正時作業を行うことで再論理合成時間を短いものとし、かつ、変更修正時に行うべき作業を漏らさず行うことで、再論理合成作業での誤りの発生を防ぐことを、目的とする。
【0008】
【課題を解決するための手段】
本発明は、LSIの機能論理設計フェーズにおいて、制御ファイル、一つ又は複数のRTL記述、及び、夫々のRTL記述から生成されるRTL記述と同数の合成用スクリプトから、ネットリストをEDAツールにより自動生成する論理合成装置であって、
(1)RTL記述の内容からRTL記述の階層構造を解析する手段と、
(2)上記RTL記述の階層構造を基にして、一括して論理合成を行うコンピュータシステムコマンドを作成する手段であって、
RTL記述若しくは合成用スクリプトに変更若しくは追加が発生した場合、上記階層構造にてそれらRTL記述や合成用スクリプトを包含しかつそれらの上位に位置するRTL記述や合成用スクリプトが、変更若しくは追加されたRTL記述や合成用スクリプトを取り込み、再論理合成を行い、変更の無いRTL記述及び合成用モジュールと繋げてネットリストを再形成するコンピュータシステムコマンドを作成する手段と、
(3)上記制御ファイルと個々の上記RTL記述とから合成用スクリプトを自動生成する手段と、
(4)上記(3)の手段にて自動生成された合成用スクリプトが、既存の合成用スクリプトのうちに同名のものが存在しないものであれば、生成された合成用スクリプトを保持する手段と、
(5)上記(3)の手段にて自動生成された合成用スクリプトが、既存の同名の合成用スクリプトと内容が一致すれば、生成された合成用スクリプトを消去し既存の同名の合成用スクリプトを残す手段と、
(6)上記(3)の手段にて自動生成された合成用スクリプトが既存の同名の合成用スクリプトと内容が一致しなければ、生成された合成用スクリプトを既存の同名の合成用スクリプトに上書きして、生成された合成用スクリプトの内容を残す手段と、
(7)上記(4)の手段にて保持された合成用スクリプト、上記(5)の手段にて残された合成用スクリプト、及び、上記(6)の手段にて内容が残された合成用スクリプトと、上記RTL記述とを入力にして、上記(2)のコンピュータシステムコマンドを作成する手段により作成されたコンピュータシステムコマンドによって、ネットリストを再形成する手段と
を含むことを特徴とする。これを用いて、上記課題の解決を目指す。
【0009】
上記システム装置において、上記コンピュータシステムコマンドが、UNIX(登録商標)オペレーティングシステムにおけるmakeコマンド使用の際に用いるMakefileであってもよい。
【0010】
【発明の実施の形態】
以下、添付の図面を参照して本発明の方法の実施形態を説明する。
【0011】
図1は、本発明を実現するシステム装置のハードウエア構成の一形態を示すものである。該装置は、LSI設計における論理合成ツールを備えるCADシステムを搭載した、例えばUNIX計算機2である。図1において、本発明を実現するシステムに係るソフトウエアは、磁気デイスク4に格納されており、システムユーザの要求に応じてメモリ6に搭載され、外部から入力される制御コマンド8やマウス装置10の動作指示に従い稼動し、所定の情報をデイスプレイ装置14に表示する。後で説明するRTL記述ファイル、制御ファイル、スクリプト・ファイル出力ライブラリなどの磁気信号化情報は、磁気デイスク4に保持されており、本発明を実現するシステムに係るソフトウエアの要求、又はユーザの要求に応じて、メモリ6に搭載され、若しくはメモリ6にて変更され、再び磁気デイスク4に保持される。
【0012】
図4は、本発明に係る装置の処理のフローチャートを示す。作成済のRTL記述ファイル、制御ファイルを読み込む処理から、makeコマンドによるネットリスト論理合成を行う処理までを、含む。
【0013】
処理22、処理24にて、RTL記述ファイルと、クロックの制約等の各種制御データを記した制御ファイルを、該装置が読み込む。RTL記述ファイル、制御ファイルは、CADシステムのライブラリに備わるものである。上述のように、RTL記述はVerilog等のハードウエア記述言語で表されており、また、1つのゲート・レベル論理回路(ネットリスト)に対し、制御ファイルは1つ、RTL記述は1つ又はそれ以上用意される。
【0014】
処理26にて、読み込んだRTL記述ファイルの内容から、例えばVerilogに備わるPLI(プログラマブル・ランゲージ・インターフェイス)を用いて、RTL記述の階層構造を解析し、把握する(図6参照)。
【0015】
処理28にて、上記RTL記述の階層構造をもとにして、後で説明するMakefile(メイクファイル)を自動生成する。RTL記述や論理合成用スクリプトに修正変更が発生した場合、上記階層構造にてそれらRTL記述や論理合成用スクリプトを包含しかつそれらの上位に位置するRTL記述や論理合成用スクリプトが、修正されたRTL記述や論理合成用スクリプトを取り込み、再論理合成を行い、非修正モジュール分と繋げてネットリストを再形成するように、Makefileの内容が生成される(図2、図3参照)。
【0016】
以下の処理30から処理42までは、各RTL記述毎に行う。まず処理30にて、上記RTL記述ファイルの1つと、制御ファイルの内容とから、そのRTL記述に対応する論理合成用スクリプトをファイルとして1つ自動生成する。
【0017】
ここで、既存の論理合成用スクリプト・ファイルを保持する出力ディレクトリに、処理30にて生成された論理合成用スクリプト・ファイルと同名のものがなければ(判断32)、その論理合成用スクリプトに対応するRTL記述、即ちモジュールが新たに作成されたということであるから、それを該出力ディレクトリに出力する(処理34)。
【0018】
既存の論理合成用スクリプト・ファイルを保持する出力ディレクトリに、処理30にて生成された論理合成用スクリプト・ファイルと同名のものがあれば(判断32)、それを既存の同名の論理合成用スクリプト・ファイルとは別名にして該出力ディレクトリに出力する(処理36)。
【0019】
判断38では、既存の同名の論理合成用スクリプト・ファイルと、別名にした論理合成用スクリプト・ファイルの、内容全体を比較する。RTL記述、又は制御ファイルにおいて変更が施された場合、論理合成用スクリプトも変更が生じることがあるため、それを確認することを目的とする。内容が一致すればその元の論理合成用スクリプト・ファイルには変更が生じていない。このとき、後のmakeコマンドによる論理合成に備えて、その元の論理合成用スクリプト・ファイルを残し、別名にした論理合成用スクリプト・ファイルを消去する(処理42)。
【0020】
内容が異なればその元の論理合成用スクリプト・ファイルに変更が生じたということである。このとき、後のmakeコマンドによる論理合成に備えて、別名にした論理合成用スクリプト・ファイルをその元の論理合成用スクリプト・ファイル名に再び変更し、上書きする(処理40)。
【0021】
全てのRTL記述、全てのスクリプトについて、上記処理を終えた後、UNIXオペレーティングシステムのmakeコマンドを実行させ、Makefileの内容を処理する(処理44)。図2、図3及び図6では、同一のモジュール階層構造が示されるが、そのモジュール階層構造から本発明の装置を介して出力されるMakefileの例を、図7に示す。このMakefileにおいて、例えばルール▲5▼は、ファイル『MOD_D.v』のタイムスタンプ(ファイル生成日時)とファイル『MOD_D.db』のタイムスタンプの大小を比較し、さらにファイル『MOD_D.scr』のタイムスタンプとファイル『MOD_D.db』のタイムスタンプの大小を比較し、ファイル『MOD_D.v』とファイル『MOD_D.scr』のどちらかが、ファイル『MOD_D.db』よりも新しいものであるならば、コマンド『dc_shell −f MOD_D.scr』を実行する、ということを表す。図7において識別子『.v』はRTL記述ファイルであることを、識別子『.scr』は論理合成用スクリプト・ファイルであることを、識別子『.db』は媒介ファイルであることを、それぞれ示す。
【0022】
Makefileを用いてmakeコマンドを実行し、論理合成を行うと、RTL記述や制御ファイルの変更によりその影響を受けないスクリプト・ファイルは内容が変化せずタイムスタンプが更新されないため、再合成の対象にならない。よって全体の合成時間が短縮できる。さらに、再合成の必要なモジュールに対する合成漏れが無くなる。
【0023】
以下においては、図5に示される制御ファイルと、図6に示される階層構造を備えるRTL記述を、本発明に係る装置の1つの実施形態に入力した場合の、実施例を説明する。
【0024】
図5の制御ファイルは、前述のSYNOPSYS社「Design Compiler」を使用するものとして、記述されている。ここでは、各モジュールに対するワイヤーロードモデルの指定、クロックの制約、コンパイル方式、等を記している。
【0025】
図6のモジュールの階層構造は、VerilogのPLIによる、RTL記述解析の結果である(図4処理26参照)。この解析結果から本発明の装置を介してMakefileを作成すると、図7に示されるものになる(図7における『dc_shell −f』も、SYNOPSYS社「Design Compiler」に係るコマンドである。)。
【0026】
この装置を用いて、当実施例の設計対象のLSIの論理合成において1回目の論理合成用スクリプト出力を行うと、全論理合成用スクリプトについて図4の処理34を行うことになる。従って、全論理合成用スクリプト・ファイル(TOP.scr、MOD_A.scr、MOD_B.scr、MOD_C.scr、MOD_D.scr、MOD_E.scr)が新たに作成された上で、出力ライブラリに出力される。
【0027】
これら論理合成用スクリプト・ファイルが与えられた上で、1回目の図7のMakefileを実行すると、全てのモジュール(TOP、MOD_A、MOD_B、MOD_C、MOD_D、MOD_E)において論理合成が行われる。
【0028】
次に、制御ファイルに修正が加えられ、図4フローチャートの2回目の実行を行うものとする。処理22から処理28までは1回目と全く同じように行われる。処理30においても1回目と同様に実行されるが、出力ディレクトリに同名のスクリプト・ファイルが既に存在するため、各スクリプト・ファイルは1回目に出力されたファイルと異なるファイル名で出力される(図4判断32処理36、参照)。例えば、モジュールMOD_Aのスクリプト・ファイルが1回目にMOD_A.scrというファイル名で出力されていたならば、.MOD_A.scrというファイル名で出力する、ということである。
【0029】
それから、既存の同名の論理合成用スクリプト・ファイルと内容を比較する(図4判断38参照)。内容が全く同じであれば、そのスクリプトに係るモジュールには修正が加えられていないということであるから、新たに出力されたスクリプト・ファイルを消去する(図4処理42参照)。上記例でいえば、.MOD_A.scrが消去の対象となりうる。内容が異なっていれば、そのスクリプトに係るモジュールに修正が加えられたということであるから、そのスクリプトに係るモジュールの再論理合成が必要である。そこで、新たに出力されたスクリプト・ファイルの内容を既存の同名の論理合成用スクリプト・ファイルに上書きし、既存のファイル名とし、後続のmakeコマンドによる処理に繋げる。例えば、MOD_Dのスクリプト内容のみが変化しているとすると、モジュールMOD_Dの変更により影響を受ける上位階層のモジュールは、図2、図3及び図6より、TOP、MOD_B、MOD_Cである。そうすると、実行すべき論理合成処理は、図7におけるルール▲1▼、▲3▼、▲4▼、▲5▼の処理コマンドである。図7のMakefileを用いたmakeコマンドを実行すると、makeコマンド及びMakefileの機能によりボトムアップで確実に実行される。一方、ルール▲2▼、▲6▼は実行されない。
【0030】
上記実施例では、制御ファイルを修正した場合を説明したが、RTL記述ファイルを修正した場合、またはRTL記述ファイルを追加した場合にも、再合成すべきモジュールを確実に再合成し、かつ再合成すべきモジュールのみ再合成する。したがってこれらの場合にも、再論理合成の時間を極力短くし得るし、再論理合成での作業もれを防ぐことができる。
【0031】
【発明の効果】
以上の説明から明らかなように、本発明のシステム装置を用いると、以下のような効果が得られる。
【0032】
本発明は、機能ごとに回路がモジュールに分割され、かつ複数の該モジュールが階層構造を形成する大規模半導体集積回路の機能論理設計の段階で、しかも、大規模半導体集積回路の機能論理設計に修正変更を加える際に、動作する装置である。その階層構造にて変更対象モジュールを包含しかつそれらの上位に位置するモジュールが、変更後の変更対象モジュールを取り込み、再び論理合成され、さらに非修正モジュールとつなげられてゲート・レベル論理回路を再形成しうるよう、設計されたコンピュータシステムコマンドを、上記モジュール階層構造に係るRTL記述を用いて、自動生成するシステムを備えるのが、本発明の装置である。この本発明の装置を用いることにより、最小限の変更修正時作業をのみをうことになりよって再論理合成時間が短くなり、かつ、変更修正時に行うべき作業を漏らさず行うことになりよって再論理合成作業での誤りの発生が防がれる。
【0033】
上記システム装置において、コンピュータシステムコマンドが、UNIXオペレーティングシステムにおけるmakeコマンド使用の際に用いるMakefileであれば、該コマンドそのものが、当業者に周知の技術であるから、上記効果に加えて、当業者が利用しやすいという効果も得られる。
【図面の簡単な説明】
【図1】 本発明を実現するシステム装置のハードウエア構成の一形態のブロック図である。
【図2】 LSIの1つの具体例について、そのLSIとそれを機能分割して構成する複数モジュールとのブロック図である。
【図3】 図2の具体例について、そのLSIとそれを機能分割して構成する複数モジュールとの階層関係構造を示すブロック図である。
【図4】 本発明に係る装置の処理のフローチャートである。
【図5】 論理合成にて入力する制御ファイルの例である。
【図6】 図2の具体例について、そのLSIとそれを機能分割して構成する複数モジュールとの階層関係構造を示す概略図である。
【図7】 図2の具体例について、本発明に係る装置用いて生成されたMakefileの例である。
【符号の説明】
2・・・計算機、4・・・磁気デイスク、6・・・メモリ、8・・・制御コマンド、10・・・マウス装置、14・・・デイスプレイ装置
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a logic synthesis device in LSI (Large Scale Integration) design.
[0002]
[Prior art]
In the function / logic design phase of a conventional LSI, an optimum gate / level logic circuit (network) is input by inputting RTL (Register Transfer Level) description expressed in a hardware description language (for example, Verilog, VHDL, etc.) and various control data. The main task is to automatically generate a list. There are many EDA (Electronic Design Automation) tools that perform this automatic generation today, and “Design Compiler” of SYNOPSYS is one of them.
[0003]
When actually performing logic synthesis using a tool for automatically generating the netlist, that is, a logic synthesis tool, the following procedure is necessary.
(1) Create an RTL description. The RTL description is created for each module, which is a functional unit constituting an LSI, and a plurality of modules usually form a hierarchical structure for design efficiency. Therefore, there are usually a plurality of RTL descriptions for one netlist.
(2) Create a control file describing the clock constraints. One control file is required for one netlist.
(3) One synthesis script is created for each RTL description using information in the control file. If there are N RTL descriptions, N synthesis scripts are required. In an LSI circuit in which modules form a hierarchical structure, RTL descriptions and synthesis scripts used in the function / logic design phase also form a hierarchical structure.
{Circle around (4)} (N pieces of the above) synthesis scripts are given, and (the N pieces of) RTL descriptions are input to perform logic synthesis to create one netlist.
[0004]
In the procedures (1) to (4), the logic synthesis tool, which is an EDA tool, performs the automatic operation only in the procedure (4). [However, an EDA tool that partially supports the creation of an RTL description in the procedure (1) is currently commercially available (for example, SYNOPSYS “Behavior Compiler”). ]
[0005]
If the RTL description and the script for synthesis form a hierarchical structure, for example, when a change occurs in the control file, etc., only the RTL description and script related to the relevant module are modified, and the above hierarchical structure If an RTL description or script that contains an RTL description or script and is positioned above them takes in a modified RTL description or script, re-synthesizes it, and connects it to the uncorrected module to re-form the netlist Good. In this way, the hierarchical structure of the RTL description and the synthesis script also has an effect that it is possible to easily repeat the logic synthesis in the LSI function / logic design phase.
[0006]
However, as the LSI scales up and speeds up, the above hierarchical structure becomes increasingly large. At the same time, it becomes increasingly difficult to grasp the range of RTL descriptions and synthesis scripts that are affected when a change occurs in RTL descriptions and control files (upper hierarchical structure). As a result, errors are likely to occur in the re-logic synthesis RTL description and the range of the synthesis script. On the other hand, if there is any change in the RTL description or control file, if the policy of re-synthesizing the entire netlist based on all the RTL descriptions and synthesis scripts is taken, the scale-up complexity will increase. In an integrated LSI, it takes an enormous amount of time, and trial synthesis of logic synthesis in the function / logic design phase is not easy.
[0007]
[Problems to be solved by the invention]
Even if the LSI scales up and speeds up, and the hierarchical structure in the netlist becomes enormous, the re-logic synthesis time can be reduced by performing the minimum modification work in the modification in the function / logic design phase. The purpose is to prevent the occurrence of errors in the re-logic synthesis work by making the work short and performing the work to be performed at the time of modification correction without leakage.
[0008]
[Means for Solving the Problems]
In the functional logic design phase of the LSI, the EDA tool automatically generates a netlist from a control file, one or more RTL descriptions, and the same number of synthesis scripts as the RTL descriptions generated from each RTL description. A logic synthesis device for generating,
(1) means for analyzing the hierarchical structure of the RTL description from the contents of the RTL description;
(2) A means for creating a computer system command for performing logical synthesis at once based on the hierarchical structure of the RTL description,
When there is a change or addition to the RTL description or synthesis script, the RTL description or synthesis script that includes the RTL description or synthesis script in the hierarchical structure and is positioned above them is changed or added. Means for taking in an RTL description and a synthesis script, performing re-logic synthesis, creating a computer system command to re-form a netlist by connecting to an RTL description and synthesis module without change;
(3) means for automatically generating a synthesis script from the control file and the individual RTL descriptions ;
(4) means for holding the generated script for synthesis if the script for synthesis automatically generated by the means of (3) above is a script having the same name among existing scripts for synthesis ; ,
(5) If the content of the synthesis script automatically generated by the means of (3) matches the existing synthesis script with the same name, the generated synthesis script is deleted and the existing synthesis script with the same name is deleted. and the remaining to means,
(6) If the content of the synthesis script automatically generated by means of (3) above does not match the content of the existing synthesis script with the same name, the generated synthesis script is overwritten with the existing synthesis script with the same name. And means for leaving the contents of the generated synthesis script,
(7) The synthesis script held by the means of (4), the synthesis script left by the means of (5), and the composition left by the means of (6) And a means for re-creating a net list by the computer system command created by the means for creating the computer system command of (2) above by inputting the script and the RTL description. Using this, we aim to solve the above problems.
[0009]
In the system apparatus, the computer system command may be a Makefile used when using a make command in a UNIX (registered trademark) operating system.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the method of the present invention will be described below with reference to the accompanying drawings.
[0011]
FIG. 1 shows an embodiment of a hardware configuration of a system apparatus for realizing the present invention. The apparatus is, for example, a UNIX computer 2 equipped with a CAD system including a logic synthesis tool in LSI design. In FIG. 1, software related to a system for realizing the present invention is stored in a magnetic disk 4, mounted in a memory 6 in response to a request from a system user, and a control command 8 or a mouse device 10 input from the outside. The display device 14 displays predetermined information on the display device 14. Magnetic signal information such as an RTL description file, a control file, and a script file output library, which will be described later, is held in the magnetic disk 4, and a software request or a user request related to a system for realizing the present invention. In response to this, it is mounted in the memory 6 or is changed in the memory 6 and is held in the magnetic disk 4 again.
[0012]
FIG. 4 shows a flowchart of the processing of the apparatus according to the present invention. From the process of reading the created RTL description file and control file to the process of performing netlist logic synthesis by the make command is included.
[0013]
In processes 22 and 24, the apparatus reads an RTL description file and a control file in which various control data such as clock restrictions are described. The RTL description file and the control file are provided in the CAD system library. As described above, the RTL description is expressed in a hardware description language such as Verilog, and for one gate level logic circuit (netlist), there is one control file and one RTL description. The above is prepared.
[0014]
In processing 26, the hierarchical structure of the RTL description is analyzed and grasped from the contents of the read RTL description file using, for example, PLI (programmable language interface) provided in Verilog (see FIG. 6).
[0015]
In process 28, a Makefile (makefile) to be described later is automatically generated based on the hierarchical structure of the RTL description. When a modification change occurs in the RTL description or logic synthesis script, the RTL description or logic synthesis script that includes the RTL description or logic synthesis script in the hierarchical structure and is positioned above them is modified. The contents of the Makefile are generated so that the RTL description and logic synthesis script are taken in, re-logic synthesis is performed, and the netlist is re-formed by connecting to the uncorrected modules (see FIGS. 2 and 3).
[0016]
The following processing 30 to processing 42 are performed for each RTL description. First, in processing 30, one logic synthesis script corresponding to the RTL description is automatically generated as a file from one of the RTL description files and the contents of the control file.
[0017]
If the output directory holding the existing logic synthesis script file does not have the same name as the logic synthesis script file generated in the process 30 (decision 32), the logic synthesis script is supported. Since the RTL description to be performed, that is, the module is newly created, it is output to the output directory (process 34).
[0018]
If the output directory holding the existing logic synthesis script file has the same name as the logic synthesis script file generated in the process 30 (determination 32), the existing logic synthesis script having the same name is used. The file is aliased and output to the output directory (process 36).
[0019]
In decision 38, the entire contents of the existing logic synthesis script file of the same name and the aliased logic synthesis script file are compared. When a change is made in the RTL description or the control file, the logic synthesis script may be changed, and the object is to confirm it. If the contents match, the original logic synthesis script file has not changed. At this time, in preparation for logic synthesis by a subsequent make command, the original logic synthesis script file is left and the aliased logic synthesis script file is deleted (process 42).
[0020]
If the contents are different, it means that the original logic synthesis script file has changed. At this time, in preparation for logic synthesis by a subsequent make command, the aliased logic synthesis script file is changed again to its original logic synthesis script file name and overwritten (process 40).
[0021]
After all the RTL descriptions and all the scripts have been processed, the make command of the UNIX operating system is executed to process the contents of Makefile (process 44). 2, 3 and 6 show the same module hierarchical structure. FIG. 7 shows an example of a Makefile output from the module hierarchical structure via the apparatus of the present invention. In this Makefile, for example, rule (5) is the file “MOD_D. v ”time stamp (file creation date and time) and the file“ MOD_D. db ”timestamps are compared, and the file“ MOD_D. scr "time stamp and file" MOD_D. db ”timestamps are compared, and the file“ MOD_D. v "and the file" MOD_D. one of the files “MOD_D. If it is newer than "db", the command "dc_shell -f MOD_D. "scr" is executed. In FIG. v ”is an RTL description file, and an identifier“. “scr” indicates that it is a logic synthesis script file. “db” indicates that the file is an intermediate file.
[0022]
When a make command is executed using Makefile and logical synthesis is performed, the script file that is not affected by the change in the RTL description or control file does not change its contents and the time stamp is not updated. Don't be. Therefore, the total synthesis time can be shortened. Furthermore, there is no synthesis omission for modules that require resynthesis.
[0023]
In the following, an example will be described in which the control file shown in FIG. 5 and the RTL description having the hierarchical structure shown in FIG. 6 are input to one embodiment of the apparatus according to the present invention.
[0024]
The control file of FIG. 5 is described as using the above-mentioned “Design Compiler” of SYNOPSYS. Here, designation of the wire load model for each module, clock restrictions, compilation method, and the like are described.
[0025]
The hierarchical structure of the module in FIG. 6 is the result of the RTL description analysis by Verilog PLI (see process 26 in FIG. 4). When a Makefile is created from the analysis result through the apparatus of the present invention, it is as shown in FIG. 7 (“dc_shell-f” in FIG. 7 is also a command related to “Design Compiler” of SYNOPSYS, Inc.).
[0026]
When the first logic synthesis script output is performed in the logic synthesis of the LSI to be designed in this embodiment using this apparatus, the process 34 of FIG. 4 is performed for all the logic synthesis scripts. Therefore, a script file for all logic synthesis (TOP.scr, MOD_A.scr, MOD_B.scr, MOD_C.scr, MOD_D.scr, MOD_E.scr) is newly created and output to the output library.
[0027]
When these logic synthesis script files are given and the first Makefile shown in FIG. 7 is executed, logic synthesis is performed in all modules (TOP, MOD_A, MOD_B, MOD_C, MOD_D, and MOD_E).
[0028]
Next, it is assumed that the control file is modified and the second execution of the flowchart of FIG. 4 is performed. Processes 22 to 28 are performed in exactly the same way as the first time. The processing 30 is executed in the same way as the first time, but since a script file with the same name already exists in the output directory, each script file is output with a different file name from the file output the first time (see FIG. 4 decision 32 process 36). For example, the script file of the module MOD_A is MOD_A. If it was output with the file name scr. MOD_A. The file name is “scr”.
[0029]
Then, the contents are compared with the existing logic synthesis script file of the same name (see decision 38 in FIG. 4). If the contents are exactly the same, it means that no modification has been made to the module related to the script, so the newly output script file is deleted (see process 42 in FIG. 4). In the above example,. MOD_A. Scr can be an object to be erased. If the contents are different, it means that the module related to the script has been modified, and therefore re-logic synthesis of the module related to the script is necessary. Therefore, the contents of the newly output script file are overwritten on the existing logical synthesis script file of the same name to obtain an existing file name, which is connected to processing by the subsequent make command. For example, if only the script content of MOD_D is changed, the upper layer modules that are affected by the change of the module MOD_D are TOP, MOD_B, and MOD_C from FIG. 2, FIG. 3, and FIG. Then, the logic synthesis process to be executed is a process command of the rules (1), (3), (4), and (5) in FIG. When the make command using the Makefile in FIG. 7 is executed, the make command and the Makefile function are executed reliably from the bottom up. On the other hand, rules (2) and (6) are not executed.
[0030]
In the above embodiment, the case where the control file is modified has been described. However, even when the RTL description file is modified or when the RTL description file is added, the module to be resynthesized is reliably re-synthesized and re-synthesized. Re-synthesize only the modules that should be. Therefore, also in these cases, the time for re-logic synthesis can be shortened as much as possible, and work leakage in re-logic synthesis can be prevented.
[0031]
【The invention's effect】
As is clear from the above description, the following effects can be obtained by using the system apparatus of the present invention.
[0032]
The present invention provides a functional logic design of a large-scale semiconductor integrated circuit at the stage of functional logic design of a large-scale semiconductor integrated circuit in which a circuit is divided into modules for each function and a plurality of modules form a hierarchical structure. It is a device that operates when making correction changes. Modules that include the module to be changed in the hierarchical structure and that are positioned above them take in the module to be changed after being changed, are synthesized again, and are connected to the unmodified module to re-gate the gate level logic circuit. The apparatus of the present invention comprises a system for automatically generating computer system commands designed so as to be formed using the RTL description related to the module hierarchical structure. By using this apparatus of the present invention, only the minimum modification / correction work is performed, the re-synthesis time is shortened, and the work to be performed at the modification / correction is performed without omission. Generation of errors in logic synthesis work is prevented.
[0033]
In the above system apparatus, if the computer system command is a Makefile used when using the make command in the UNIX operating system, the command itself is a technique well known to those skilled in the art. The effect that it is easy to use is also obtained.
[Brief description of the drawings]
FIG. 1 is a block diagram of an embodiment of a hardware configuration of a system apparatus that implements the present invention.
FIG. 2 is a block diagram of an LSI and a plurality of modules configured by functionally dividing the LSI for one specific example of the LSI.
3 is a block diagram showing a hierarchical relationship structure between the LSI and a plurality of modules configured by dividing the LSI in the specific example of FIG. 2;
FIG. 4 is a flowchart of processing of an apparatus according to the present invention.
FIG. 5 is an example of a control file input by logic synthesis.
6 is a schematic diagram showing a hierarchical relationship structure between the LSI and a plurality of modules configured by dividing the LSI in the specific example of FIG. 2;
7 is an example of a Makefile generated using the apparatus according to the present invention with respect to the specific example of FIG.
[Explanation of symbols]
2 ... computer, 4 ... magnetic disk, 6 ... memory, 8 ... control command, 10 ... mouse device, 14 ... display device

Claims (2)

LSIの機能論理設計フェーズにおいて、制御ファイル、一つ又は複数のRTL記述、及び、夫々のRTL記述から生成されるRTL記述と同数の合成用スクリプトから、ネットリストをEDAツールにより自動生成する論理合成装置であって、
(1)RTL記述の内容からRTL記述の階層構造を解析する手段と、
(2)上記RTL記述の階層構造を基にして、一括して論理合成を行うコンピュータシステムコマンドを作成する手段であって、
RTL記述若しくは合成用スクリプトに変更若しくは追加が発生した場合、上記階層構造にてそれらRTL記述や合成用スクリプトを包含しかつそれらの上位に位置するRTL記述や合成用スクリプトが、変更若しくは追加されたRTL記述や合成用スクリプトを取り込み、再論理合成を行い、変更の無いRTL記述及び合成用モジュールと繋げてネットリストを再形成するコンピュータシステムコマンドを作成する手段と、
(3)上記制御ファイルと個々の上記RTL記述とから合成用スクリプトを自動生成する手段と、
(4)上記(3)の手段にて自動生成された合成用スクリプトが、既存の合成用スクリプトのうちに同名のものが存在しないものであれば、生成された合成用スクリプトを保持する手段と、
(5)上記(3)の手段にて自動生成された合成用スクリプトが、既存の同名の合成用スクリプトと内容が一致すれば、生成された合成用スクリプトを消去し既存の同名の合成用スクリプトを残す手段と、
(6)上記(3)の手段にて自動生成された合成用スクリプトが既存の同名の合成用スクリプトと内容が一致しなければ、生成された合成用スクリプトを既存の同名の合成用スクリプトに上書きして、生成された合成用スクリプトの内容を残す手段と、
(7)上記(4)の手段にて保持された合成用スクリプト、上記(5)の手段にて残された合成用スクリプト、及び、上記(6)の手段にて内容が残された合成用スクリプトと、上記RTL記述とを入力にして、上記(2)のコンピュータシステムコマンドを作成する手段により作成されたコンピュータシステムコマンドによって、ネットリストを再形成する手段と
を含むことを特徴とする論理合成装置。
Logic synthesis that automatically generates a netlist using the EDA tool from the control file, one or more RTL descriptions and the same number of RTL descriptions generated from each RTL description in the LSI functional logic design phase A device,
(1) means for analyzing the hierarchical structure of the RTL description from the contents of the RTL description;
(2) A means for creating a computer system command for performing logical synthesis at once based on the hierarchical structure of the RTL description,
When there is a change or addition to the RTL description or synthesis script, the RTL description or synthesis script that includes the RTL description or synthesis script in the hierarchical structure and is positioned above them is changed or added. Means for taking in an RTL description and a synthesis script, performing re-logic synthesis, creating a computer system command to re-form a netlist by connecting to an RTL description and synthesis module without change;
(3) means for automatically generating a synthesis script from the control file and the individual RTL descriptions ;
(4) means for holding the generated script for synthesis if the script for synthesis automatically generated by the means of (3) above is a script having the same name among existing scripts for synthesis ; ,
(5) If the content of the synthesis script automatically generated by the means of (3) matches the existing synthesis script with the same name, the generated synthesis script is deleted and the existing synthesis script with the same name is deleted. and the remaining to means,
(6) If the content of the synthesis script automatically generated by means of (3) above does not match the content of the existing synthesis script with the same name, the generated synthesis script is overwritten with the existing synthesis script with the same name. And means for leaving the contents of the generated synthesis script,
(7) The synthesis script held by the means of (4), the synthesis script left by the means of (5), and the composition left by the means of (6) A logic composition comprising: a script and the RTL description as input, and means for re-creating a net list by the computer system command created by the means for creating the computer system command of (2) above apparatus.
上記コンピュータシステムコマンドが、UNIXオペレーティングシステムにおけるmakeコマンド使用の際に用いるMakefileであることを特徴とする請求項1に記載の論理合成装置。  The logic synthesis apparatus according to claim 1, wherein the computer system command is a Makefile used when a make command is used in a UNIX operating system.
JP35124398A 1998-12-10 1998-12-10 Logic synthesis device Expired - Fee Related JP4006120B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35124398A JP4006120B2 (en) 1998-12-10 1998-12-10 Logic synthesis device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35124398A JP4006120B2 (en) 1998-12-10 1998-12-10 Logic synthesis device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007192296A Division JP4199816B2 (en) 2007-07-24 2007-07-24 Logic synthesis method

Publications (2)

Publication Number Publication Date
JP2000172730A JP2000172730A (en) 2000-06-23
JP4006120B2 true JP4006120B2 (en) 2007-11-14

Family

ID=18416023

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35124398A Expired - Fee Related JP4006120B2 (en) 1998-12-10 1998-12-10 Logic synthesis device

Country Status (1)

Country Link
JP (1) JP4006120B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004230603A (en) * 2003-01-28 2004-08-19 Ricoh Co Ltd Image forming apparatus, method of forming image, and program for executing the method on computer
JP4679442B2 (en) * 2006-06-09 2011-04-27 Necエンジニアリング株式会社 Logic synthesis device
FR2904713B1 (en) * 2006-08-02 2008-10-17 Airbus France Sas METHOD AND DEVICES FOR DETERMINING THE FEASIBILITY OF AN ELECTRONIC ASSEMBLY

Also Published As

Publication number Publication date
JP2000172730A (en) 2000-06-23

Similar Documents

Publication Publication Date Title
US6378123B1 (en) Method of handling macro components in circuit design synthesis
US6292931B1 (en) RTL analysis tool
US6173435B1 (en) Internal clock handling in synthesis script
US6263483B1 (en) Method of accessing the generic netlist created by synopsys design compilier
US6836877B1 (en) Automatic synthesis script generation for synopsys design compiler
US6295636B1 (en) RTL analysis for improved logic synthesis
US6421818B1 (en) Efficient top-down characterization method
US5862361A (en) Sliced synchronous simulation engine for high speed simulation of integrated circuit behavior
US6298319B1 (en) Incremental compilation of electronic design for work group
US6289498B1 (en) VDHL/Verilog expertise and gate synthesis automation system
US9064068B1 (en) Debuggable opaque IP
US7418681B2 (en) Simulation system, simulation method and simulation program for verifying logic behavior of a semiconductor integrated circuit
US5805861A (en) Method of stabilizing component and net names of integrated circuits in electronic design automation systems
US7962872B2 (en) Timing analysis when integrating multiple circuit blocks while balancing resource requirements and accuracy
US11726545B2 (en) Methods and apparatus for selectively extracting and loading register states
JP2009518717A (en) Method and program product for protecting information in EDA tool design view
JP4492803B2 (en) Behavioral synthesis apparatus and program
JP3173729B2 (en) Logic simulation method and system
US10437946B1 (en) Using implemented core sources for simulation
JPH11502646A (en) Generation and use of synthetic shells in ASIC design
US7111275B2 (en) Electronic circuit design analysis system
JP4006120B2 (en) Logic synthesis device
JP4199816B2 (en) Logic synthesis method
JP5545054B2 (en) Debug circuit and debug system
JP2008204489A (en) Logic synthesis method

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20050323

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20050420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060704

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061003

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061204

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070309

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070724

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070821

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070827

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110831

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110831

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130831

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees