Source: https://patents.google.com/patent/JPH09106407A/en
Timestamp: 2019-08-18 03:29:56
Document Index: 638684616

Matched Legal Cases: ['art 8', 'art 6', 'art 10', 'art 8', 'art 6', 'art 11', 'art 10', 'art 7', 'art 6', 'art 8', 'art 10', 'art 1']

JPH09106407A - Design supporting system - Google Patents
Design supporting system
JPH09106407A
JPH09106407A JP26432095A JP26432095A JPH09106407A JP H09106407 A JPH09106407 A JP H09106407A JP 26432095 A JP26432095 A JP 26432095A JP 26432095 A JP26432095 A JP 26432095A JP H09106407 A JPH09106407 A JP H09106407A
JP26432095A
勉 武井
1995-10-12 Application filed by Toshiba Corp, 株式会社東芝 filed Critical Toshiba Corp
1995-10-12 Priority to JP26432095A priority Critical patent/JPH09106407A/en
1997-04-22 Publication of JPH09106407A publication Critical patent/JPH09106407A/en
PROBLEM TO BE SOLVED: To provide a design supporting system designing large-scale and efficient LSI in a short period by supporting top-down design having few repeatings in logical circuit design.
SOLUTION: This system is provided with a module dividing and merging part 8 receiving the interpreting result of an HDL interpreting part 6 interpreting an HDL description at a register transfer level(RTL) and dividing and merging a module according to an instruction given from outside or automatically, a module arranging part 10 arranging the module to the result of dividing and merging by the module dividing and merging part 8 or the interpreting result of the HDL interpreting part 6, a budgeting part 11 budgeting an area, a shape, a timing and power consumption to each module arranged by the module arranging part 10, and a performance estimating part 7 estimating module information with respect to the interpreting result of the HDL interpreting part 6, the dividing/merging result of the module dividing and merging part 8 and the arranging result of the module arranging part 10.
【発明の属する技術分野】本発明は、論理回路システムの設計開発を行う際に用いる設計支援装置に関し、特に論理合成、或いは論理ゲート設計及びレイアウト設計を行う前に、論理回路の性能の見積、モジュールの配置、 The present invention relates to relates to a design support apparatus for use in the design and development of a logic circuit system, in particular logic synthesis, or before performing a logic gate design and layout design, estimates of the performance of the logic circuit, the arrangement of the module,
モジュールに対する面積やタイミングの割り振りを行う設計支援装置に関する。 On the design support apparatus which performs the allocation of area and timing for the module.
【従来の技術】従来、論理設計の設計言語として用いられるレジスタ転送レベル（RegisterTranfer Level ：以下、ＲＴＬと略す）のハードウェア記述言語（Hardware Conventionally, register transfer level used as a design language of logic design (RegisterTranfer Level: hereinafter, abbreviated as RTL) hardware description language (Hardware
Description Language ：以下、ＨＤＬと略す）による記述（ＲＴＬＨＤＬ記述）からゲート数や遅延を計算する方法としては、実際に論理合成を使って生成された論理ゲートのゲート数や遅延を調べる方法がある。 The Description Language: hereinafter, abbreviated as HDL) as a method to calculate a description (RTLHDL description) number of gates and delay from by, there is a method of actually examining the number of gates and delay of logic gates created using logic synthesis. しかしこの方法では、論理合成を実行するのに非常に時間がかかる。 However, this method is very time-consuming to perform logic synthesis.
【０００３】また、チップ上の各モジュールの配置を指定する方法としては、論理合成等が終了した後、論理ゲートすなわちネットリストに対してモジュールの配置を行うフロアプランナがある。 [0003] As a method of specifying the arrangement of the modules on the chip, after logic synthesis, etc. is finished, there is a floor planner to carry out the arrangement of the modules relative to the logic gates i.e. netlist. しかしこの方法では、論理ゲートレベルに変換された結果に対してフロアプランを行うので、ＲＴＬ設計レベルからチップ上の各モジュール等の配置等を指定することができない。 However, in this method, since the floor plan on the results that have been converted to the logic gate level, it is impossible to specify the arrangement of such modules on a chip from RTL design level.
【０００４】このように、ＲＴＬ設計レベルにおいて、 [0004] In this way, in the RTL design level,
論理回路の性能の見積やチップ上のモジュール配置等の指定は行われず、論理合成された結果を調べて結果が良くない場合には、何度も論理合成をやり直し、或いは人手による設計を行い、設計の繰り返し（iteration)が非常に多くなっていた。 Specifying Module arrangement of the estimates and the chip of the performance of the logic circuit is not performed, if not good results by examining the result of the logic synthesis is again a logic synthesis several times, or to design manual, repetition of the design (iteration) had become very much.
【０００５】また、論理合成後或いは人手設計後の論理ゲート回路をレイアウトツールで配置配線しようとした場合に、配置配線結果が良くない場合は、具体的には配線が長くなり遅延が大きくなる等の問題が発生した場合には、設計がなかなか収束せず、設計の繰り返し（iter Further, when an attempt is made to allocate the wiring logic gate circuit after or after manual design logic synthesis layout tool, if the placement and routing result is not good, specifically wirings becomes long delay becomes large in such If the problem occurs, the design does not quite convergence, repetition of design (iter
ation)が非常に多くなっていた。 ation) had become very much.
【０００６】さらに、大規模な回路を設計する場合には、設計者が過去の経験に基づいてＲＴＬ設計レベルにおいて各モジュールのゲート数や遅延を見積もっていた。 [0006] In addition, when designing a large-scale circuit, the designer had to estimate the number of gates and delay of each module in the RTL design level based on past experience. また、各モジュールの大まかな配置を行っていた。 It was also subjected to rough placement of each module.
【０００７】しかし、設計者の見積もったゲート数や遅延の値の精度は不十分であり、また、その見積もった値に収まるように、論理合成やレイアウトを実行できるトップダウンな設計環境が整っていなかった。 However, the accuracy of the number of gates and delay of that estimated the designer is insufficient, also, to fit to the estimated value, it is equipped with top-down design environment capable of performing logic synthesis and layout There was no. したがって、設計の繰り返しが非常に多くなっていた。 Therefore, the repetition of design had become very much.
従来の論理回路の設計において、ＲＴＬ設計レベルでの論理回路の性能の見積やチップ上のモジュール配置等の指定は行われていなかった。 In the design of conventional logic circuits, designated module arrangement of the estimates and the chip of the performance of the logic circuit in the RTL design level has not been performed. このため、ＲＴＬ設計レベルから得られた論理合成結果或いはレイアウト結果が良好でない場合には、何度も論理合成やレイアウト設計を繰り返し行っていた。 Therefore, when the RTL design logic synthesis resulting from the level or the layout result is not satisfactory, many times had repeated logic synthesis and layout design. したがって、設計の効率が極めて悪く、設計に膨大な時間がかかっていた。 Therefore, the efficiency of the design is very poor, it takes a lot of time to design.
【０００９】そこで、本発明は、上記に鑑みてなされたものであり、その目的とするところは、論理回路設計において繰り返しの少ないトップダウンな設計を支援し、 [0009] Therefore, the present invention has been made in view of the above, it is an object of helping less repetitive top-down design in logic circuit design,
大規模、高性能なＬＳＩを短期間で設計することを可能にした設計支援装置を提供することにある。 Large-scale, it is to provide a design support apparatus made it possible to design in a short period of time a high-performance LSI.
【課題を解決するための手段】上記課題を解決するために、請求項１記載の発明は、論理回路の機能検証が終了した又は機能検証を行っているレジスタ転送レベル（Ｒ In order to solve the above problems SUMMARY OF THE INVENTION The invention of claim 1, wherein the register transfer level functional verification of a logic circuit that performs the or function Verified (R
ＴＬ）のハードウェア記述言語（ＨＤＬ）によるＨＤＬ HDL due to hardware description language of TL) (HDL)
記述を入力して解釈する解釈手段と、前記解釈手段の解釈結果を受けて、外部から与えられる指示にしたがって又は自動でモジュールの分割・マージを行う分割・マージ手段と、前記解釈手段の解釈結果に前記分割・マージ手段で行われた分割・マージ結果を加え、加えた結果をＨＤＬ記述として生成するＨＤＬ記述生成手段と、前記分割・マージ手段で行われた分割・マージ結果又は前記解釈手段の解釈結果に対して、論理ゲートのゲート数、 Interpreting means for interpreting enter a description, by receiving the interpretation result of the interpretation means, and dividing and merging means for performing a split-merge module automatically or according to instructions given from outside, the interpretation result of said interpretation means the split-merge results made by dividing and merging means added, the added and HDL description generation means for generating as HDL describe the results, the division and merging means split merge results were made in or of said interpretation means with respect to the interpretation result, the number of gates of logic gates,
面積、配線領域を含むモジュールの面積、形状、及びパスの遅延、消費電力、モジュール間の配線情報を含むモジュールの配置情報を考慮して、外部から与えられる指示により又は自動でモジュールを配置する配置手段と、 Area, the area of ​​a module including a wiring region, the shape, and the delay of the path, the power consumption, taking into account the placement information of the module including the wiring information between modules, arranged to place the module or automatically by an instruction given from the outside and means,
前記配置手段によって配置される各モジュールに対して面積、形状、タイミング及び消費電力を割り振る割振手段と、前記解釈手段の解釈結果、前記分割・マージ手段の分割・マージ結果及び前記配置手段の配置結果に対してモジュールの配置情報を見積り、見積結果を前記配置手段に与える見積手段と、前記解釈手段の解釈結果、前記ＨＤＬ記述生成手段により生成された前記分割・マージ手段による分割・マージ結果のＨＤＬ記述、前記配置手段の配置結果及び前記割振手段の割り振り結果に基づいて論理合成装置に対する論理合成の指示及びレイアウト装置に対するレイアウト指示を生成する指示生成手段とから構成される。 Area for each module arranged by said arrangement means, shape, and allocation means allocating timing and power consumption, the interpretation result of said interpretation means, arranged a result of dividing and merging result and the positioning means of the split-merge means estimate the location information of the module with respect to the estimated result and estimated means for providing to said placement means, interpretation result of said interpretation means, the split-merge result of the division and merging means generated by the HDL description generation unit HDL description, composed of an instruction generating means for generating a layout instruction to the instruction and layout apparatus of the logic composition for logic synthesis apparatus based on the allocation result of the placement result and the allocation means of said arrangement means.
【００１１】請求項２記載の発明は、請求項１記載の設計支援装置において、前記配置手段は、ＲＴＬ記述を解析してデータ信号を抽出し、ＲＴＬ記述のデータフロー関係を解析し、タイミングがクリティカルになる主要なデータパスを選択し、データパス部を構成するブロックの分割・マージを行い、データパス部内のブロックの配置順序を決定し、主要データパスに対してブロック順序の良否を評価して選択されたブロック配置順序の中から最適のものを抽出し、論理合成、レイアウトに対する制約及び指針を生成し、モジュールを配置決定することを特徴とする。 [0011] According to a second aspect of the invention, the design support apparatus according to claim 1, wherein said positioning means, extracts data signals by analyzing the RTL description, analyzes the data flow relationship between the RTL description, timing select the main data path to be critical, it performs division and merging of blocks constituting the data path unit, and determines the layout order of the blocks in the data path unit, to evaluate the quality of the block sequence to the main data path those optimum extracted from the block arrangement order selected Te, logic synthesis, to generate a constraint and guidance to the layout, characterized by arrangement determining module.
【００１２】請求項３記載の発明は、請求項１又は２記載の設計支援装置において、論理合成前にモジュール間の信号接続関係を考慮して、各モジュール・ブロックの配置情報から論理合成の対象となる各モジュールのＨＤ [0012] According to a third aspect of the invention, the design support apparatus according to claim 1 or 2, wherein, in consideration of the signal connections between the module before logic synthesis target logic synthesis from the arrangement information of each module block HD of each module that is the
Ｌ記述を修正することを特徴とする。 Characterized by modifying the L description.
【００１４】図１は請求項１〜３記載の発明の一実施形態に係わる設計支援装置を含むシステムの構成を示す図である。 [0014] Figure 1 is a diagram showing the configuration of a system including a design support apparatus according to an embodiment of the present invention of claims 1 to 3, wherein.
【００１５】図１において、本発明の設計支援装置１ [0015] In FIG. 1, the design support apparatus of the present invention 1
は、入力となるＨＤＬ記述２、出力となるＨＤＬ記述３、論理合成用制約指示記述４及びレイアウト用制約指示記述５を含んで設計システムを構成している。 Is, HDL description 2 as an input, an output and comprising HDL description 3, constitutes a design system contains a restriction instruction description 4 and layout constraints instruction description 5 for logic synthesis.
【００１６】入力となるＨＤＬ記述２は、機能設計レベルのＨＤＬ記述であり、論理合成や人手論理設計によりゲートセルライブラリの接続関係である論理ゲートレベルのＨＤＬ記述（ネットリスト）になっていない、すなわち、ＲＴＬＨＤＬ記述である。 The HDL description 2 as an input is the HDL description of the functional design level, not in the HDL description of the logic gate level, which is a connection relation between the gate cell library by logic synthesis and manual logic design (netlist), in other words, it is RTLHDL description. 但し、ＬＳＩチップを構成する各モジュールに対する記述がＲＴＬＨＤＬ記述であり、各モジュールの接続関係を表す記述はネットリストである場合がある。 However, description for each module constituting the LSI chip is RTLHDL description, description representing a connection relationship between each module may be a net list.
【００１７】出力となるＨＤＬ記述３は、論理合成結果及びレイアウト結果が設計者の期待するものになるように制約を制御可能な範囲になるように、分割・マージされたもの、及び場合によっては、モジュール間を接続する信号を変更したＨＤＬ記述である。 The HDL description 3 serving as the output, so that the controllable range constrained to be those logic synthesis result and the layout result expected designers, those split-merge, and optionally a HDL description was changed a signal for connecting the modules.
【００１８】論理合成用制約指示記述４は、論理合成ツールに対する制約指示の記述であり、論理合成結果が設計者の期待するものになるように、各論理合成対象に対する入出力信号の制約、特定のパスのタイミング制約、 The logic synthesis constraints instruction description 4 is a description of restriction instructions to the logic synthesis tool, so that those logic synthesis results expected designer, input and output signals of constraints for each logical synthesis target specific timing constraints of the path,
ゲート数、配線数及び消費電力等の制約の記述である。 Gate count, a description of the number of wires and constraints of power consumption.
【００１９】レイアウト用制約指示記述５は、レイアウトツールに対する制約指示の記述であり、レイアウトツールに対して機能設計レベルでの大局的な制約を与えて、レイアウト結果が設計者の期待するものになるように、各モジュールの面積や形状、各モジュールの位置、 [0019] The layout constraints instruction description 5 is a description of the restriction instructions to the layout tool, given the global constraints in the functional design level for layout tool, become what the layout result is expected of the designer as such, the area and shape of each module, the position of each module,
モジュール間配線の端子位置などの範囲を示す制約の記述である。 Terminal positions of the inter-module wiring is a constraint of the description for the range of such.
【００２０】このような設計システムを構成する設計支援装置１は、ＨＤＬ記述解釈部６、性能見積部７、モジュール分割・マージ部８、分割・マージＨＤＬ記述生成部９、モジュール配置部１０、ｂｕｄｇｅｔｉｎｇ部１ The design support apparatus 1 constituting such a design system, HDL description interpretation unit 6, the performance estimation section 7, the module division and merging section 8, dividing and merging HDL description generation unit 9, the module placement portion 10, budgeting part 1
１、論理合成及びレイアウト指示生成部１２、ユーザー指示部１３及び結果表示部１４を備えて構成されている。 1, logic synthesis and layout instruction generator 12, is configured to include a user instructing unit 13 and a result display section 14.
【００２１】ＨＤＬ記述解釈部６は、入力となるＨＤＬ [0021] HDL description interpretation unit 6, HDL as an input
記述２から与えられるＨＤＬ記述を解析する。 Analyzing the HDL description given from the description 2.
【００２２】性能見積部７は、ＨＤＬ記述解釈部６の解釈結果に対して、論理ゲートのゲート数、面積、配線領域を含むモジュールの面積、形状、及びパスの遅延、消費電力等を見積もる。 The performance estimation section 7, to the interpretation result of the HDL description interpretation unit 6 estimates the number of gates of logic gates, the area, the area of ​​a module including a wiring region, the shape, and the delay of the path, the power consumption and the like. また、性能見積部７は、モジュール分割・マージ部８で分割・マージされた結果に対しても、論理ゲートのゲート数、面積、配線領域を含むモジュールの面積、形状、及びパスの遅延、消費電力等を見積もる。 Moreover, the performance estimation section 7, also for dividing and merged results module dividing and merging section 8, the number of gates of logic gates, the area, the area of ​​a module including a wiring region, the shape, and the delay of the path, consumption estimate the power and the like. 更に、性能見積部７は、モジュール配置部１０ Furthermore, the performance estimation section 7, module placement portion 10
で配置されたモジュールの配置結果に対しても、モジュール間配線の配線領域の面積や配線による遅延などを見積もる。 In even for placement result of the arrangement modules, we estimate the like delays by area and wiring of the wiring region of the module between the lines. また、性能見積部７は、ユーザー指示部１３で指定されたライブラリテクノロジーや母体サイズや外部信号パッド位置や動作周波数を入力して、性能見積りを行う。 Moreover, the performance estimation unit 7 inputs the library technology and maternal size and external signal pad position and operating frequency specified in the user instructing unit 13, the performance estimate.
【００２３】モジュール分割・マージ部８は、ＨＤＬ記述解釈部６の解釈結果に対して、論理合成結果及びレイアウト結果が設計者の期待するものになるように、ユーザーの指示によりインターラクティブに分割・マージを行うか、或いは自動で分割・マージを行う。 The module division and merging section 8, to the interpretation result of the HDL description interpretation unit 6, so that those logic synthesis result and the layout result expected designers, split-merge interactively by the user's instruction or perform, or perform a split-merge automatically.
【００２４】分割・マージＨＤＬ記述生成部９は、ＨＤ [0024] division and merge HDL description generation unit 9, HD
Ｌ記述解釈部６の解釈結果に対して、モジュール分割・ Against the interpretation result of the L description interpretation unit 6, the module division and
マージ部８で行われた分割・マージ変更を反映した結果を、ＨＤＬ記述として生成する。 The results reflecting the split-merge changes made by the merging unit 8 generates the HDL description.
【００２５】モジュール配置部１０は、モジュール分割・マージ部８で行われた分割・マージ結果、或いは分割・マージ変更されなかった場合はＨＤＬ記述解釈部６の解釈結果に対して、ＬＳＩの性能が向上するように、ユーザーの指示によりインターラクティブにモジュール配置を行うか、或いは自動でモジュール配置を行う。 The module arrangement portion 10, split-merge results made in the module division and merging section 8, or for the interpretation results of the HDL description interpretation unit 6 if none was split and merge changes, the performance of the LSI as it improved, whether to module placement interactively by the user's instruction, or performing a module placement automatically. モジュール配置部１０は、性能見積部７で見積もられた論理ゲートのゲート数、面積、配線領域を含むモジュールの面積、形状、及びパスの遅延、消費電力等と、モジュール間の配線関係を含むモジュールの配置情報を考慮してモジュール配置を行う。 Module placement unit 10 includes the number of gates logic gates estimated by the performance estimation section 7, the area, the area of ​​a module including a wiring region, the shape, and the delay of the path, and power consumption, etc., the wiring among the modules performing module placement in consideration of the arrangement information of the module.
【００２６】ｂｕｄｇｅｔｉｎｇ部１１は、各モジュールに対するタイミングや面積・形状や消費電力等を割り振る。 The budgeting unit 11 allocates time and area and shape and power consumption for each module.
【００２７】論理合成及びレイアウト指示生成部１２ The logic synthesis and layout instruction generator 12
は、分割・マージＨＤＬ記述生成部９からの分割・マージ結果のＨＤＬ記述、或いは分割・マージ変更されなかった場合はＨＤＬ記述解釈部６の解釈結果のＨＤＬ記述に対して、モジュール配置部１０からのモジュール間配線関係と、ｂｕｄｇｅｔｉｎｇ部１１からのタイミング制約等を考慮して、モジュール間の配線信号の遅延を小さくするために、モジュールの入力端子信号のファンアウトや出力端子信号が接続されているゲートの駆動能力の制約と併せて、論理的に同一のモジュール間配線信号を複数のモジュール間配線信号に分割する等、ＨＤＬ記述を変更して出力する。 Is the divided merge divided merge result of HDL descriptions from HDL description generation section 9, or if it is not split and merge changes interpretation result HDL description HDL description interpretation unit 6, the module placement portion 10 the wiring relationship between modules, taking into account the timing constraints such as from budgeting unit 11, in order to reduce the delay of the interconnect signals between modules, fan-out and output signal of the input terminal signal module is connected together with constraints of the gate of the driving capability, etc. to divide the logical interconnection between signals identical modules in a plurality of modules between wirings signal, and outputs the changed HDL description.
【００２８】論理合成及びレイアウト指示生成部１２ The logic synthesis and layout instruction generator 12
は、各論理合成対象に対する入出力信号の制約、特定のパスのタイミング制約ならびにゲート数や配線数や消費電力等の制約を論理合成ツールに対して生成する。 The input and output signals of constraints for each logical synthesis target, and generates a constraint timing constraints and the number of gates and the number of wires and power consumption of a particular path for logic synthesis tool. 論理合成及びレイアウト指示生成部１２は、各モジュールの面積や形状、各モジュールの位置、モジュール間配線の端子位置などの範囲、特定のパスのタイミング制約などを、レイアウトツールに対して生成する。 Logic synthesis and layout instruction generation unit 12, the area and shape of each module, the position of each module, the range of such terminal position of the inter-module wiring, etc. timing constraints of a particular path, generated for layout tool.
【００２９】ユーザー指定部１３は、ユーザーの指定したライブラリテクノロジーや母体サイズや外部信号パッド位置や動作周波数、或いはモジュール分割・マージ指定、或いはモジュール配置指定、或いはタイミング、面積、形状、消費電力等のｂｕｄｇｅｔｉｎｇ指定を行い、性能見積部７、モジュール分割・マージ部８、モジュール配置部１０及びｂｕｄｇｅｔｉｎｇ部１１に与える。 The user-specified portion 13, the user of the specified library technologies and maternal size and external signal pad position and the operating frequency, or modules divided merge specified, or module placement specified, or timing, area, shape, power consumption, etc. perform budgeting specified performance estimation section 7, the module division and merging section 8 gives the module placement portion 10 and the budgeting unit 11.
【００３０】結果表示部１４は、性能見積結果や、モジュール分割・マージ前のモジュール階層関係及びモジュール分割・マージ後のモジュール階層関係や、モジュール配置結果及びモジュール間結線関係や、タイミング、 The result display section 14, the performance estimation result and, and modules hierarchical relationship after the module division and before merging module hierarchical relationship and module division merge, or module placement result and the inter-module connection relationship, timing,
面積、形状、消費電力等のｂｕｄｇｅｔｉｎｇ関係を表示する。 Show area, shape, budgeting relationship power consumption.
【００３１】このような設計支援装置１を含む設計システムは、論理合成実行結果１５及びレイアウト実行結果１６を含んで構成される。 The design system comprising such a design support apparatus 1 is configured to include logic synthesis execution result 15 and the layout execution result 16.
【００３２】論理合成実行結果１５は、合成されたゲートレベルの論理回路のゲート接続情報と遅延情報、ゲート数情報等の情報を有し、これらの情報は性能見積部７ The logic synthesis execution result 15, the gate connection information and delay information of the logic circuit of the synthesized gate level has information such as a gate number information, these information are performance estimation unit 7
へ与えられ、実際に合成された部分の結果として見積値に代えて使用される。 Provided to be actually used in place of the estimated value as a result of the combined portions.
【００３３】レイアウト実行結果１６は、フロアプランされた各論理回路モジュールの配置、形状情報とモジュール間各配線信号の配線長、遅延情報、及びモジュール内の信号の配線長、遅延情報等の情報、更にゲートレベルのセルの配置がなされた場合の各モジュールのセルの配置情報と各配線信号の配線長、遅延情報等の情報を有し、これらの情報は性能見積部１へ与えられて、実際にレイアウトされた部分の結果として見積値に代えて使用される。 The layout execution result 16, the arrangement of each logic circuit module floor plan, wiring length shape information and the module between the lines signal, wiring length of the delay information, and signals in the module, information such as the delay information, Furthermore the wire length of the arrangement information and the respective wiring signals of the cells of each module when the arrangement of the gate level of the cell is made, has information such as the delay information, the information is given to the performance estimation section 1, the actual used in place of the estimated value as a result of the layout portion in.
【００３４】このような構成において、入力となるＨＤ [0034] In such a configuration, the input HD
Ｌ記述２から与えられる機能設計レベルのＨＤＬ記述は、ＨＤＬ記述解釈部６により解析され、解析結果は性能見積部７に与えられる。 HDL description of the functional design level given from L descriptions 2 is analyzed by HDL description interpretation unit 6, the analysis results are given to the performance estimation unit 7. 性能見積部７に与えられたＨ H given to the performance estimation section 7
ＤＬ記述解釈部６の解釈結果は、論理ゲートのゲート数、面積、配線領域を含むモジュールの面積、形状、及びパスの遅延、消費電力等が見積もられる。 Interpretation result of DL description interpretation unit 6, the number of gates of logic gates, the area, the area of ​​a module including a wiring region, the shape, and the delay of the path, the power consumption and the like are estimated.
【００３５】また、ＨＤＬ記述解釈部６の解釈結果は、 [0035] In addition, the interpretation result of the HDL description interpretation unit 6,
モジュール分割・マージ部８に与えられて、論理合成結果及びレイアウト結果が設計者の期待するものになるように、ユーザー指示部１３を介して与えられるユーザーの指示にしたがってインターラクティブに分割・マージが行われ、或いは自動で分割・マージが行われる。 It is given to the module division merging section 8, as will become what logic synthesis result and the layout result expected designers, split-merge rows interactively according to the instructions of the user given through the user instruction unit 13 We, or a split-merge is performed automatically. モジュール分割・マージ部８で分割・マージされた結果は、 In split-merged results module dividing and merging section 8,
性能見積部７で論理ゲートのゲート数、面積、配線領域を含むモジュールの面積、形状、及びパスの遅延、消費電力等が見積もられる。 Gates of the logic gates in the performance estimation section 7, the area, the area of ​​a module including a wiring region, the shape, and the delay of the path, the power consumption and the like are estimated. また、モジュール分割・マージ部８で行われた分割・マージ変更は、分割・マージＨＤ In addition, division and merge changes made in the module division and merge unit 8, split and merge HD
Ｌ記述生成部９によりＨＤＬ記述解釈部６の解釈結果に反映されて、ＨＤＬ記述として生成される。 Are reflected in the result of interpretation HDL description interpretation unit 6 by L description generation section 9, it is generated as HDL description.
【００３６】モジュール分割・マージ部８で行われた分割・マージ結果、或いは分割・マージ変更されなかった場合はＨＤＬ記述解釈部６の解釈結果は、モジュール配置部１０によりＬＳＩの性能が向上するように、ユーザー指示部１３を介して与えられるユーザーの指示にしたがってインターラクティブにモジュールの配置が行われ、或いは自動でモジュール配置が行われる。 The module division and merging portions divided merge results made in 8, or interpretation result of HDL description interpretation unit 6 if none was split and merge changes to improve the performance of the LSI by the module arrangement portion 10 the arrangement of the modules in the interactive accordance with instructions given user via the user instructing unit 13 is performed, or module placement is performed automatically.
【００３７】この時に、性能見積部７で見積もられた論理ゲートのゲート数、面積、配線領域を含むモジュールの面積、形状、及びパスの遅延、消費電力等と、モジュール間の配線関係が考慮されてモジュール配置が行われる。 [0037] At this time, the number of gates estimated logic gates in the performance estimation section 7, the area, the area of ​​a module including a wiring region, the shape, and the delay of the path, and power consumption, etc., the wiring among the modules considered is module placement is performed. モジュール配置部１０で配置されたモジュールの配置結果は、モジュール間配線の配線領域の面積や配線による遅延などが性能見積部７により見積もられる。 Arrangement result of the arrangement modules in the module arrangement portion 10, such as delays due to area and interconnection of the interconnection region of the inter-module wiring is estimated by the performance estimation unit 7.
【００３８】一方、各モジュールに対するタイミングや面積、形状や消費電力等がｂｕｄｇｅｔｉｎｇ部１１により割り振られる。 On the other hand, the timing and area for each module, the shape and power consumption is allocated by the budgeting unit 11.
【００３９】このようにして、分割・マージＨＤＬ記述生成部９で得られた分割・マージ結果のＨＤＬ記述、或いは分割・マージ変更されなかった場合はＨＤＬ記述解釈部６の解釈結果のＨＤＬ記述は、モジュール配置部１ [0039] In this way, split-merge HDL description generation unit 9 obtained in dividing and merging the results of the HDL description, or if not split and merge changes interpretation result HDL description HDL description interpretation unit 6 , module placement unit 1
０で得られたモジュール間配線関係、及びｂｕｄｇｅｔ 0 obtained in the inter-module wiring relationship, and budget
ｉｎｇ部１１で割り振られたタイミング制約等が考慮されて、モジュール間の配線信号の遅延を小さくするために、モジュールの入力端子信号のファンアウトや出力端子信号が接続されているゲートの駆動能力の制約と併せて、論理的に同一のモジュール間配線信号が複数のモジュール間配線信号に分割される等、ＨＤＬ記述が論理合成及びレイアウト指示生成部１２により変更され、出力用のＨＤＬ記述３に出力される。 Allocated to timing constraints, etc. are taken into account by the ing unit 11, in order to reduce the delay of the interconnect signals between modules, the input terminal signal module fanout and output signals of the driving ability of the gate connected together with constraints, such as logically identical modules between wirings signal is divided into wiring signals between a plurality of modules, HDL description is modified by logic synthesis and layout instruction generator 12, outputs the HDL description 3 for output It is.
【００４０】また、各論理合成対象に対する入出力信号の制約、特定のパスのタイミング制約ならびにゲート数や配線数や消費電力等の制約が論理合成及びレイアウト指示生成部１２により論理合成ツールに対して生成され、論理合成用制約指示記述４に出力される。 Further, input and output signals of constraints for each logical synthesis target for logic synthesis tool constraint timing constraints and the number of gates and the number of wires and power consumption of a particular path by the logic synthesis and layout instruction generator 12 is generated and output constraint instruction described in 4 logic synthesis. さらに、 further,
各モジュールの面積や形状、各モジュールの位置、モジュール間配線の端子位置などの範囲、特定のパスのタイミング制約などが論理合成及びレイアウト指示生成部１ Each module of the area and shape, the position of each module, the range of such terminal position of the inter-module wiring, and timing constraints of a particular path logic synthesis and layout instruction generation unit 1
２によりレイアウトツールに対して生成され、レイアウト用制約指示記述５に出力される。 Generated for the layout tool by 2 is output to the layout constraints instruction description 5.
【００４１】このように、上記実施形態においては、Ｒ [0041] Thus, in the above embodiment, R
ＴＬ設計レベルで、論理ゲートのゲート数や遅延などの性能の見積を行い、各モジュールの配置等のフロアプランを行い、各モジュールに対する面積やタイミングの適切な割り振りを行い、論理合成ツールに対する制約の生成とレイアウトツールに対する制約生成を行うようにしているので、設計の繰り返しが従来に比べて格段に少なくなり、設計効率が向上して、設計の繰り返しの少ないトップダウンな設計が容易となり、大規模かつ高性能なＬＳＩを短期間で設計することが容易となる。 In TL design level, performs an estimate of the performance such as the number of gates and delay of the logic gate performs a floor plan of arrangement of each module, performs the appropriate allocation of area and timing for each module, the constraints on logic synthesis tool because it is to perform a constraint generation for generation and layout tools, the repetition of design is significantly less than that of the conventional, and improve the design efficiency, it is easy to repeat a few top-down design of the design, large-scale and it becomes easy to design in a short time a high-performance LSI.
【００４２】図２は請求項２記載の発明の一実施形態に係わるモジュール配置部１０がデータパス部分の遅延を小さくするモジュール配置の処理手順を示す図である。 [0042] FIG. 2 is a diagram illustrating a processing procedure of a module arrangement module arranging unit 10 according to an embodiment of the invention described in claim 2 is to reduce the delay of the data path portion.
【００４３】図２において、まず、ＲＴＬ記述を解析してデータ信号を抽出する。 [0043] In FIG. 2, first extracts a data signal by analyzing the RTL description. ＲＴＬＨＤＬ記述で大きいビット幅（レンジ）を持って宣言されている信号で、そのフルレンジで代入、参照されている信号をデータ信号とみなす（例えば、ｉｎｐｕｔ［３１：０］ＤＢ；ｏｕｔ A signal with a bit width (range) larger in RTLHDL described declared, regarded substituted at its full range, the reference signal being a data signal (e.g., input [31: 0] DB; out
ｐｕｔ［３１：０］ＯＢ；ｗｉｒｅ［３１：０］ＩＲ， put [31: 0] OB; wire [31: 0] IR,
ＤＤ；など）。 DD; etc.). レンジを使用しないで１ビットずつ宣言する記述方法やＲＴＬ記述で使用され（ｗｉｒｅ ＤＡ Bit by bit without using the range used in declaring describe methods and RTL description (wire DA
ＴＡ００，ＤＡＴＡ０１，ＤＡＴＡ０２，． TA00, DATA01, DATA02 ,. ． . ． . ）、それに対応する場合は名前付け（信号名＋番号等）から判断する（ステップＳ１）。 ), If the corresponding determines the naming (signal name + number) (step S1).
【００４４】次に、ＲＴＬ記述のデータフロー関係を解析する。 Next, to analyze the data flow relationship between the RTL description. 内部的にデータフロー図を作成し、抽出されたデータ信号がどのブロック／サブブロック／文からどのブロック／サブブロック／文へ渡っているか、及び各ブロック／サブブロック／文内でどの入力データ信号とどの出力データ信号が関係しているかを解析する（ステップＳ２）。 Internally to create a data flow diagram, the extracted or data signal is over from any block / sub-block / sentence to which block / sub-block / statements, and which input data signals in each block / sub-block / statement which output data signal is analyzed whether the associated (step S2).
【００４５】次に、タイミングがクリティカルになる主要なデータパスを、設計者の指示により選ぶ。 Next, the main data path that timing is critical, choose according to the instruction of the designer. 以降、これら主要データパスの遅延を小さくするために、これら主要データパスの配線長を小さくするようにデータパスブロックの配置を決める（ステップＳ３）。 Later, in order to reduce the delay of these major data paths, it determines the placement of datapath blocks to reduce the wiring length of the main data path (step S3).
【００４６】次に、データパス部を構成するブロックの分割・マージを行う。 [0046] Next, the split-merge blocks constituting the data path unit. ＲＴＬ記述のモジュール階層、ブロック階層と各モジュール／ブロック間のデータ信号の授受関係、そして、各ブロックでの各演算処理等の動作条件や動作タイミング、及び各ブロックのサイズ等を考慮して、ブロックの分割・マージを行う（ステップＳ RTL description of module hierarchy exchange relationship data signals between blocks hierarchy and each module / block, and, in consideration of the size or the like of the operating conditions and operation timings, and the block, such as the arithmetic processing in each block, the block carry out the division and merging (step S
【００４７】次に、データパス部内のブロックの配置順序（相対的位置関係）を決める。 Next, determine the arrangement order of blocks in the data path unit (relative positional relationship). ブロック配置順序（一次元的な配置）の候補は、ブロック個数の順列組み合わせ（ブロック個数）！ Block arrangement order candidate, permutations (block number) of the block number of the (one-dimensional arrangement)! 通りあるので、ブロック数が多少多くなると候補数が非常に多くなる（ブロック数が１０ Since street, when the number of blocks to be somewhat more candidate number becomes very large (the number of blocks is 10
個で３６０万通り以上）。 3.6 million more than ways in number). 従って、ブロック数が多い場合に全候補に対して配置順序の良否を評価するのは現実的ではない。 Therefore, it is not realistic to evaluate the quality of the layout order for all candidates if the number of blocks is large. そこで、主要データ信号フローを選択してそのデータフロー順序に対応したブロック順序を候補とする。 Therefore, by selecting the main data signal flows to a candidate block order corresponding to the data flow order. あるいは／及び、ブロック間で授受するデータ信号数、タイミング制約を考慮してブロック配置順序候補を選択する（ステップＳ５）。 Or / and the number of data signals to be exchanged between blocks, consider the timing constraints to select a block arrangement sequence candidate (step S5).
【００４８】次に、主要データパスに対して、ブロック順序の良否を評価して、選択されたブロック配置順序の中から最適のものを抽出する。 Next, to the main data path, to evaluate the quality of the block order and extracts the optimum from among the selected block arrangement order. ブロック順序の評価基準としては、ブロック間の各配線の配線長を短くして配線遅延を小さくすることを主眼とする。 The evaluation criteria of the block order, and focus on reducing the wiring delay by shortening the wiring length of each wiring between blocks. 配線長を見積もるために、各ブロックの高さとブロック間配線領域の高さを見積もる必要がある。 To estimate the wiring length, it is necessary to estimate the height of the height and inter-block wiring area of ​​each block. 各ブロックの高さは各ブロックのゲート数を基にして見積り、ブロック間の各配線領域の高さは配線の本数（通過するパス配線、パス以外の通過配線、上下ブロック間の信号配線）を基にして見積もる。 The height of each block is estimated based on the number of gates in each block, the height of each wiring region between the blocks number of lines (path line passing through, passing wirings other than the path, the signal wiring between the upper and lower blocks) the estimate based on. これら各ブロックと各ブロック間配線領域の高さから各配線の配線長を算出し、配線長遅延を計算する。 Calculating the wiring length of each wiring from a height between these blocks and each block wiring region, to calculate a wiring length delay. ブロック内のゲート遅延と配線長遅延を加えた遅延の見積値とタイミング制約値を比較する（ステップＳ６）。 Comparing the estimated value and the timing constraint value of the delay plus the gate delay line length delay in the block (step S6).
【００４９】最後に、ＲＴＬレベルのフロアプラン（ブロック配置）を考慮したＲＴＬレベルの遅延・面積見積値と与えられたタイミング制約及びチップサイズ／ゲート数等から、下位レベルの論理合成／ゲートレベルフロアプランナー／レイアウトに対する制約／指針を生成する（ステップＳ７）。 [0049] Finally, the RTL level floor plan (block arrangement) delay and area estimates timing constraints and given and chip size / number of gates RTL level, etc. in consideration of the logic composition / gate level floor of the lower level generating a constraint / guidelines for planner / layout (step S7).
【００５０】上記処理手順のステップＳ４において、Ｒ [0050] In step S4 of the procedure, R
ＴＬ記述をもとにブロックの分割・マージをどのように行うかについて詳細に説明する。 Or it will be described in detail how to do division and merge of the original to block the TL description.
【００５１】ＲＴＬレベルでのグローバルなフロアプランを検討する場合は、性能を左右する主要データパスに着目して、タイミングを満たすようにする。 [0051] When considering the global floor plan at the RTL level, by focusing on the main data path to the left and right performance, to satisfy the timing. クリティカルなデータパスの遅延が小さくなるように分割・マージを行う。 Performing division and merging so that the delay of the critical data path is reduced.
【００５２】分割・マージの方法としては、ＲＴＬ記述の構成要素である各文に対して、文同士の結合度合いとブロックサイズを考慮してクラスタリングしていく。 [0052] As a method of division and merging, with respect to each sentence is a component of the RTL description, continue to clustering considering degree of binding and block size Bundoshi. 結合度合いとしては、 ｉ）演算処理等の実行タイミング（同じクロックステップで実行されるかどうか） ｉｉ）結線（授受する信号）の数 ｉｉｉ）機能の共有化可能性 などを考慮して、各文の結合の強さを求める。 The degree of binding, i) whether) ii) connection (in consideration of the sharing potential number iii) functions of exchanging signals to) executed execution timing of the calculation processing and the like (at the same clock step, each sentence determine the strength of the coupling. そして、 And,
この結合強さからクラスタリングツリーを作成し、このクラスタリングツリー上をカットラインを移動して、ブロックサイズ（ゲート数と配線数）を考慮して、クラスタに分ける。 Create a clustering tree from the bond strength, on the clustering tree by moving the cut line, in consideration of the block size (number of gates and the number of wires), divided into clusters.
【００５３】また、与えられるＲＴＬ記述は、フラットなものだけではなく、ｍｏｄｕｌｅ／ｅｎｔｉｔｙとｂ [0053] In addition, given the RTL description is, not only the flat ones, module / entity and b
ｌｏｃｋ文を使って階層的に記述されるのが一般的であるので、クラスタリングをおこなう場合に、ＲＴＬ記述の階層性も含めてクラスタリングツリーを作成する。 Since using the lock statement that are hierarchically described it is common, when performing clustering, to create a clustering tree, including hierarchy of RTL descriptions. そして、設計者がＲＴＬ記述を作成する時点で、機能的及び構造的に分割した階層構造もクラスタリングに反映させる。 Then, when the designer creates an RTL description, functionally and structurally divided hierarchy is also reflected in the clustering.
【００５４】次に、上記処理手順のステップＳ５で行われるブロックの配置順序候補を決める手順を詳細に説明する。 Next, the procedure will be described in detail for determining the arrangement order candidates of the block to be performed in step S5 of the procedure.
【００５５】ブロックの配置順序候補を決める手順は、 [0055] Procedure for determining the placement order candidate of the block,
以下に示すものがある。 There are those shown below.
【００５６】ａ）ランダムに配置順序を決める。 [0056] a) determining the random placement order.
【００５７】ｂ）各ブロック間の授受するデータ信号の数に着目してデータ信号数の多いものを隣合わせのブロックに選ぶ。 [0057] b) choose the one with many number of data signals in blocks of side-by-side in view of the number of data signals to be exchanged between blocks. 端にくるブロックは、入力／双方向／出力ピンあるいはメモリ部と授受するデータ信号の数の多いものを選ぶ。 Come to an end block, choose the one with many number of data signals to be exchanged with the input / Bidirectional / output pins or the memory unit.
【００５８】ｃ）ｂ）と同様にして、与えられたタイミング制約の厳しいデータ信号授受関係のブロックを隣り合わせにする。 [0058] c) b) in analogy to the side by side blocks of demanding data signal exchange relationship given timing constraint.
【００５９】ｄ）入力ピンあるいはメモリ部等他からの主要データ信号を選び、その着目したデータ信号が処理されて次のデータ信号名になるデータ信号のフローに沿って、ブロック順序を決める。 [0059] d) select key data signal from the other such input pins or memory unit, the focus data signal is processed along the flow of the data signal which becomes the next data signal name, determines the block order. 着目したデータ信号フローに直接関係のないブロックは、他のデータ信号の授受関係により途中に挿入する。 Block not directly related to the target data signal flow is inserted in the middle by exchanging relationship other data signals.
【００６０】ｅ）ｄ）と同様にして、複数の主要データ信号に着目してブロック配置順序を決める。 [0060] In the same manner as e) d), determining the block arrangement order in view of the plurality of primary data signals.
【００６１】ｆ）任意に決められた配置順序に対して、 [0061] f) with respect to the arrangement order determined arbitrarily,
任意の２つのブロック配置位置を交換した場合のブロック配置順序評価関数が改善されるものを選び、図２に示すステップＳ５とＳ６を合わせて行う。 Select what block arrangement order evaluation function in the case of replacement of any two blocks arrangement position is improved, performs the combined steps S5 and S6 shown in FIG.
【００６２】次に、上記処理手順のステップＳ６で行われるブロック配置順序の評価について詳細に説明する。 Next, it will be described in detail evaluation of the block arrangement sequence performed in step S6 of the procedure.
【００６３】ブロック配置順序の評価は、ブロック間の各配線の配線長を短くして配線長遅延が小さくなるものを選ぶようにする。 [0063] Block arrangement order evaluation is to choose what wiring length delay by shortening the wiring length of each wiring between blocks becomes smaller. ブロック間の配線の配線長を見積もるには、まず、ブロックの高さとブロック間配線領域の高さを見積もる必要があり、次のような仮定を行う。 To estimate the wiring length of the wiring between blocks, first, it is necessary to estimate the height of the height and inter-block line area of ​​the block, make assumptions as follows.
【００６４】仮定１：各ブロックの高さは、各ブロックのゲート数（ＲＴＬ見積値）に比例する、あるいは、ゲート数の関数になるとする。 [0064] Assumption 1: The height of each block is proportional to the number of gates in each block (RTL estimate), or is to be a function of the number of gates.
【００６５】ブロックｉの高さ＝ｆｂ（ブロックｉのゲート数、データ処理ビット幅） 仮定２：各ブロック間配線領域の高さは、通過するパス配線の本数、パス以外の通過配線の本数、上下ブロック間配線の本数の合計に比例する、あるいは、これら配線数の関係になるとする。 [0065] Block i Height = fb (number of gates in the block i, a data processing bit width) Assumption 2: The height of each inter-block line region, the number of path line passing, the number of passing wirings other than the path, proportional to the sum of the number of vertical inter-block line, or to become the wiring relationship between the number of.
【００６６】ブロック間配線領域ｉの高さ＝ｆｒ（通過するパス配線数、パス以外の通過配線数、上下ブロック間信号配線数、データ処理ビット幅ｏｒブロック横幅最大値） 次に、ブロックｉからブロックｊへ渡る信号配線をブロック間配線ｉｊとすると、ブロック間配線ｉ，（ｉ＋ [0066] interblock wiring region i height = fr (path line number passes, passing wirings number other than the path, the upper and lower inter-block number of signal lines, the data processing bit width or block lateral width maximum value) Next, from the block i When a signal line over to block j and inter-block line ij, inter-block line i, (i +
１）は、ブロック間配線領域ｉの高さと配線数ｉ（配線領域ｉを通過するパス配線数、パス以外の通過配線数、 1), the path number of wires passing through the height and number of wires i (wiring region i of the inter-block line region i, passage number of wires other than the path,
上下ブロック間信号配線数）の関数になる。 A function of the vertical inter-block number of signal lines).
【００６７】 ブロック間配線ｉ，（ｉ＋１）の長さ ＝ｆ（ブロック間配線領域ｉの高さ、配線数ｉ） ＝ｆ（ｆｒ（．．．），配線数ｉ） ＝ｆ１（通過するパス配線数、パス以外の通過配線数、上下ブロック間 信号配線数、データ処理ビット幅ｏｒブロック横幅最大値） ブロック間配線（ｉ＋１），ｉは、 ブロック間配線（ｉ＋１），ｉの長さ ＝ブロックｉの高さ＋ブロック間配線領域ｉの高さ ＋ブロック（ｉ＋１）の高さ＋水平方向配線の長さ ≒ｆｂ（ブロックｉのゲート数）＋ｆｒ（．．．） ＋ｆｂ（ブロック（ｉ＋１）のゲート数）＋Ｃ（ブロック横幅最大値 ：定数） ブロックｉからブロックｊまでのバス配線は、 [0067] interblock wires i, (i + 1) of length = f (inter-block line region i of the height, number of lines i) = f (fr (...), the number of wirings i) = f1 (path through number of wires, passing the number of wires other than a path, the vertical inter-block number of signal lines, the data processing bit width or block lateral width maximum) inter-block line (i + 1), i is inter-block line (i + 1), the length of the i = block i height + inter-block line region i of the height + block (i + 1) of the height + (number of gates of the block i) length ≒ fb horizontal wires + fr (...) + fb of (block (i + 1) gate count) + C (block lateral width maximum: constant) bus line from block i to block j is
【００６８】また、ブロック間配線に対する制約は、 ブロック間配線領域上配線数ｉ＜ブロック間配線数上限 ブロック上通過配線数ｉ＜ブロック上配線数上限ｉ である。 [0068] In addition, constraints on inter-block line is a number of the inter-block line area wiring i <Wiring maximum number of blocks between the blocks passing wiring number i <blocks on the wiring maximum number i.
【００６９】ゲートレベルの遅延計算では、 ゲート１段あたりの遅延＝ゲート内部遅延＋（出力抵抗×入力容量） ＋（出力抵抗×配線容量）＋（配線抵抗×配線容量） となる。 [0069] In the gate-level delay calculation, the per gate one stage delay = gate internal delay + (output resistance × input capacitance) + (output resistance × wiring capacitance) + (wiring resistance × wiring capacitance). ＲＴＬレベルで考える場合には、ＲＴＬ記述要素に対応するブロック内のゲート群の遅延とブロック間配線の遅延で考えることにする。 When considering the RTL level, to be considered a delay of gate group delay and inter-block line in the block corresponding to the RTL description elements.
【００７０】 ゲート群遅延 ＝Σ｛ゲート内部遅延＋（出力抵抗×入力容量） ＋（出力抵抗×配線容量）｝ ＝Σ｛ゲート内部遅延＋（出力抵抗×入力容量） ＋（出力抵抗×仮想配線長容量）｝ ＲＴＬレベルからの見積では、ＲＴＬ記述要素に対して、このゲート群の遅延を求めている。 [0070] The gate group delay = sigma {gate internal delay + (output resistance × input capacitance) + (output resistance × wiring capacitance)} = sigma {gate internal delay + (output resistance × input capacitance) + (output resistance × virtual wirings the estimates from the long volume)} RTL level, relative RTL description elements, seeking a delay of the gate group. ブロック内の遅延はこのゲート群の遅延を加算したもので ブロック内のゲート群遅延＝Σ（ゲート群遅延） とする。 Gate group delay in the block delay in the block is obtained by adding the delay of the gate group = sigma and (gate group delay).
【００７１】ブロック間配線の遅延は、 ブロック間配線遅延＝（出力抵抗×配線容量）＋（配線抵抗×配線容量） とする。 [0071] Delay of inter-block line is an inter-block line delay = (output resistance × wiring capacitance) + (wiring resistance × wiring capacitance).
【００７２】タイミング制約は、ブロックｉのあるレジスタからブロックｊのあるレジスタに伝わる信号の場合、 （ブロック間配線遅延ｉ，ｊ ＋ブロックｉ内ゲート群遅延＋ブロックｊ内ゲート群遅延）＜タイミング制約 となる。 [0072] The timing constraints, if signals transmitted from the register with a block i in the register with block j, (inter-block line delay i, j + block i in the gate group delay + block j in the gate group delay) <Timing Constraints to become.
【００７３】このような処理手順にしたがってモジュール配置を行うことによって、データパス部分の遅延を極めて小さくすることが可能となる。 [0073] By performing module arranged according to such a procedure, it is possible to extremely small delay of the data path portion.
【００７４】図３は請求項３記載の発明の一実施形態に係わる設計支援装置が行うＨＤＬ記述の変更を説明するための図である。 [0074] FIG. 3 is a diagram for describing change in the HDL description performed by the design support apparatus according to an embodiment of the invention of claim 3, wherein.
【００７５】図３（ａ）には、モジュールＭ１，Ｍ２， [0075] FIG. 3 (a), the module M1, M2,
Ｍ３のチップ上のフロアプランを示している。 M3 of shows the floor plan on the chip. 図３ Figure 3
（ａ）において、Ｍ１，Ｍ２，Ｍ３の各モジュール内は、ＲＴＬ記述からなっており、論理合成前のものである。 In (a), M1, M2, the M3 each module is formed of a RTL description, it is earlier logic synthesis. モジュールＭ１から出力した信号Ｓが、モジュールＭ２とモジュールＭ３に入力しており、更にモジュールＭ２及びＭ３内で複数のＲＴＬ記述要素に入力している。 Signal S outputted from the module M1 is, has been input to the module M2 and the module M3, is further input to the plurality of RTL description elements within the modules M2 and M3. このフロアプランレベルで、モジュール間の距離よりモジュール間配線長を見積り、モジュール内の接続先ＲＴＬ記述要素数を考慮して、モジュール間の信号の遅延を見積もる。 In this floor plan level, we estimate the wiring length between the modules than the distance between the modules, taking into account the destination number RTL description elements in the module, estimate the delay of signals between modules.
【００７６】ここで、モジュール間信号遅延が大きくなる場合には、図３（ｂ）に示すように、モジュールＭ１ [0076] Here, if the inter-module signal delay is increased, as shown in FIG. 3 (b), the module M1
からモジュールＭ２への信号すなわちモジュール間結線と、モジュールＭ１からモジュールＭ３への信号すなわちモジュール間結線とに分離される。 A signal or the inter-module connection to the module M2 from being separated from the module M1 to the signal or the inter-module connection to the module M3.
【００７７】図４は図３に対応するＨＤＬ記述の一部を示す図である。 [0077] FIG. 4 is a diagram showing a part of HDL description corresponding to FIG.
【００７８】図４（ａ）は、図３（ａ）に対応したＶＨ [0078] FIG. 4 (a), corresponding to FIG. 3 (a) VH
ＤＬ（Very High speed IC Description Language)によるトップレベルのＨＤＬ記述であり、モジュールＭ１， DL is a (Very High speed IC Description Language) top-level HDL description by, module M1,
Ｍ２，Ｍ３及びチップの入出力信号間の接続関係を表している。 M2, M3 and represent the connections between the chip input and output signals. 図４（ｂ）は、図３（ｂ）に対応したＶＨＤＬ FIG. 4 (b), VHDL corresponding to FIG. 3 (b)
によるトップレベルのＨＤＬ記述である。 Is the top level of HDL description by.
【００７９】図４（ａ）において、信号ＳがモジュールＭ１，Ｍ２，Ｍ３の間の結線信号になっているが、図４ [0079] In FIG. 4 (a), the signal S is in the connection signals between the modules M1, M2, M3, 4
（ｂ）においては、信号Ｓ１がモジュールＭ１，Ｍ２間の結線信号で、信号Ｓ２がモジュールＭ１，Ｍ３の間の結線信号に分離されている。 In (b), the signal S1 is at the connection signal between the modules M1, M2, the signal S2 is separated into connection signals between the modules M1, M3.
【００８０】このように、論理合成前に、論理合成対象となる各モジュールに対して、モジュール間信号の遅延が小さくなることを想定して、論理合成対象となる各モジュールのＨＤＬ記述の変更も行う。 [0080] Thus, before logic synthesis, for each module is a logic synthesis target, on the assumption that the delay of the inter-module signal is reduced, even changing the HDL description of each module is a logic synthesis target do.
【００８１】図４（ｃ）は変更前のモジュールＭ１のＨ [0081] H in FIG. 4 (c) before the change module M1
ＤＬ記述の一部である。 Which is part of the DL description. モジュールＭ１からモジュールＭ２とＭ３へ出力される信号Ｓに対応するモジュールの出力信号がＳである。 The output signal of the corresponding module to the signal S outputted from the module M1 to the module M2 and M3 are S. 図４（ｄ）は、変更後のモジュールＭ１のＨＤＬ記述の一部である。 Figure 4 (d) is a part of HDL description of module M1 after the change. モジュールＭ１からモジュールＭ２へ出力される信号Ｓ１とモジュールＭ１ Signal S1 output from the module M1 to the module M2 and module M1
からモジュールＭ３へ出力される信号Ｓ２に分離されたモジュールの出力信号がＳ１とＳ２である。 The output signal of the separated module to the signal S2 output to the module M3 from is S1 and S2.
【００８２】このように、モジュール間信号の遅延を小さくするよう、論理合成及びフロアプランとレイアウトを行うことができるだけでなく、論理合成前のＨＤＬ記述を変更することによって、論理合成後のゲートレベルのＨＤＬ記述の論理接続関係、フロアプラン・レイアウトにおける物理的接続関係と論理合成前のＨＤＬ記述との対応の一貫性を保つことができる。 [0082] Thus, to reduce the delay of the module between the signals, not only it is possible to perform logic synthesis and floorplan layout, by changing the HDL description before logic synthesis, the gate level after logic synthesis logical connection relationship of HDL description, it is possible to maintain the correspondence of consistency with the physical connection relationships and logic synthesis prior to the HDL description of a floor plan layout.
【発明の効果】以上説明したように、請求項１記載の発明によれば、ＲＴＬ設計レベルで、論理ゲートのゲート数や遅延などの性能の見積を行い、各モジュールの配置等のフロアプランを行い、各モジュールに対する面積やタイミングの適切な割り振りを行い、論理合成ツールに対する制約の生成とレイアウトツールに対する制約生成を行うことにより、設計の繰り返しの少ないトップダウンな設計が容易となり、大規模かつ高性能なＬＳＩを短期間で設計することを容易に行うことができる。 As described in the foregoing, according to the first aspect of the invention, the RTL design level, it performs an estimate of the performance such as the number of gates and delay of logic gates, a floor plan of arrangement of each module performs, performs the appropriate allocation of area and timing for each module, by performing constraint generation for constraint generation and layout tools for logic synthesis tools, it is easy to repeat less-top-down design of the design, a large and high it can be easily performed to design the performance of LSI in a short period of time.
【００８４】請求項２記載の発明によれば、データパス部分の遅延を極めて小さくすることが可能となる。 [0084] According to the second aspect of the present invention, it is possible to extremely small delay of the data path portion.
【００８５】請求項３記載の発明によれば、論理合成後のＨＤＬ記述の論理接続関係、フロアプラン・レイアウトにおける物理的接続関係と論理合成前のＨＤＬ記述との対応の一貫性を保つことができる。 [0085] According to the third aspect of the invention, to keep the corresponding consistency logical connection relationship HDL description after logic synthesis, a physical connection relationship with logic synthesis prior HDL description in floorplan layout it can.
【図１】請求項１記載の発明の一実施形態に係わる設計支援装置の構成を示す図である。 1 is a diagram showing the configuration of a design support apparatus according to an embodiment of the invention of claim 1, wherein.
【図２】請求項２記載の発明の一実施形態に係わる処理手順を示す図である。 2 is a diagram illustrating a processing procedure according to an embodiment of the invention of claim 2 wherein.
【図３】請求項３記載の発明の一実施形態に係わる設計支援装置の作用を説明するための図である。 3 is a diagram for explaining the operation of the design support apparatus according to an embodiment of the invention of claim 3, wherein.
【図４】請求項３記載の発明の一実施形態に係わる設計支援装置におけるＨＤＬ記述の一部を示す図である。 4 is a diagram showing a part of HDL description of the design support apparatus according to an embodiment of the invention of claim 3, wherein.
１ 設計支援装置 ２ 入力となるＨＤＬ記述 ３ 出力となるＨＤＬ記述 ４ 論理合成用制約指示記述 ５ レイアウト用制約指示記述 ６ ＨＤＬ記述解釈部 ７ 性能見積部 ８ モジュール分割・マージ部 ９ 分割・マージＨＤＬ記述生成部 １０ モジュール配置部 １１ ｂｕｄｇｅｔｉｎｇ部 １２ 論理合成及びレイアウト指示生成部 １３ ユーザー指示部 １４ 結果表示部 １５ 論理合成実行結果 １６ レイアウト実行結果 1 design support apparatus 2 inputs become HDL description 3 outputs becomes HDL description 4 logic synthesis constraints instruction description 5 layout constraint instruction description 6 HDL description interpreting unit 7 performance estimation section 8 module dividing and merging portion 9 divided merge HDL description generator 10 module placement unit 11 budgeting 12 logic synthesis and layout instruction generator 13 user instructing unit 14 result display section 15 logic synthesis execution result 16 layout execution result
【請求項１】 論理回路の機能検証が終了した又は機能検証を行っているレジスタ転送レベル（ＲＴＬ）のハードウェア記述言語（ＨＤＬ）によるＨＤＬ記述を入力して解釈する解釈手段と、 前記解釈手段の解釈結果を受けて、外部から与えられる指示にしたがって又は自動でモジュールの分割・マージを行う分割・マージ手段と、 前記解釈手段の解釈結果に前記分割・マージ手段で行われた分割・マージ結果を加え、加えた結果をＨＤＬ記述として生成するＨＤＬ記述生成手段と、 前記分割・マージ手段で行われた分割・マージ結果又は前記解釈手段の解釈結果に対して、論理ゲートのゲート数、面積、配線領域を含むモジュールの面積、形状、及びパスの遅延、消費電力、モジュール間の配線情報を含むモジュールの配置情報を考慮して 1. A interpreting means for interpreting by entering the HDL description by a hardware description language of register transfer level functional verification of a logic circuit which is performing the or function verification end (RTL) (HDL), the interpretation unit of receiving the interpretation result, and dividing and merging means for performing a split-merge module automatically or according to instructions given from outside, the divided merge divided merge results performed by means interpretation results of said interpreter was added, and the HDL description generation means for generating a result of adding the HDL description relative to the interpretation result of the performed division merging results or the interpretation means in the division and merging means, the number of gates of logic gates, the area, area of ​​a module including a wiring region, the shape, and the delay of the path, the power consumption, taking into account the placement information of the module including the wiring information between modules 、外部から与えられる指示により又は自動でモジュールを配置する配置手段と、 前記配置手段によって配置される各モジュールに対して面積、形状、タイミング及び消費電力を割り振る割振手段と、 前記解釈手段の解釈結果、前記分割・マージ手段の分割・マージ結果及び前記配置手段の配置結果に対してモジュールの配置情報を見積り、見積結果を前記配置手段に与える見積手段と、 前記解釈手段の解釈結果、前記ＨＤＬ記述生成手段により生成された前記分割・マージ手段による分割・マージ結果のＨＤＬ記述、前記配置手段の配置結果及び前記割振手段の割り振り結果に基づいて論理合成装置に対する論理合成の指示及びレイアウト装置に対するレイアウト指示を生成する指示生成手段とを有することを特徴とする設計支援装置。 And placement means for placing the module in instruction or by automatic externally applied, the area for each module arranged by said arrangement means, shape, and means allocator allocating timing and power consumption, the interpretation result of said interpretation means , the arrangement results estimate the location information of the module with respect to the split-merge result and the positioning means of the split-merge means, estimation means for providing an estimated result to the placement means, the interpretation result of said interpretation means, said HDL description dividing and merging the results of HDL description by generated by the generating means and the division and merging means, the layout instruction to the instruction and layout apparatus of the logic composition for logic synthesis apparatus based on the allocation result of the placement result and the allocation means of said arrangement means design support apparatus characterized by having an instruction generating means for generating a.
【請求項２】 前記配置手段は、 ＲＴＬ記述を解析してデータ信号を抽出し、ＲＴＬ記述のデータフロー関係を解析し、タイミングがクリティカルになる主要なデータパスを選択し、データパス部を構成するブロックの分割・マージを行い、データパス部内のブロックの配置順序を決定し、主要データパスに対してブロック順序の良否を評価して選択されたブロック配置順序の中から最適のものを抽出し、論理合成、レイアウトに対する制約及び指針を生成し、モジュールを配置決定することを特徴とする請求項１記載の設計支援装置。 Wherein said positioning means extracts a data signal by analyzing the RTL description, analyzes the data flow relationship between the RTL description, selects the main data path timing is critical, configure the data path unit to perform division and merging of the block determines the layout order of the blocks in the data path unit, and extracts the optimum from the block arrangement order of quality is selected by evaluating the block sequence to the main data path , logic synthesis, to generate a constraint and guidance to the layout design support system according to claim 1, wherein the placing determining module.
【請求項３】 前記設計支援装置は、 論理合成前にモジュール間の信号接続関係を考慮して、 Wherein the design support apparatus, in consideration of the signal connections between the module before logic synthesis,
各モジュール・ブロックの配置情報から論理合成の対象となる各モジュールのＨＤＬ記述を修正してなることを特徴とする請求項１又は２記載の設計支援装置。 Design support apparatus according to claim 1 or 2, wherein the the arrangement information of each module block is formed by modifying the HDL description of each module with which logic synthesis.
JP26432095A 1995-10-12 1995-10-12 Design supporting system Pending JPH09106407A (en)
JP26432095A JPH09106407A (en) 1995-10-12 1995-10-12 Design supporting system
US08/724,471 US5930147A (en) 1995-10-12 1996-10-01 Design support system in which delay is estimated from HDL description
JPH09106407A true JPH09106407A (en) 1997-04-22
ID=17401551
JP26432095A Pending JPH09106407A (en) 1995-10-12 1995-10-12 Design supporting system
US (1) US5930147A (en)
JP (1) JPH09106407A (en)
JP2006018434A (en) * 2004-06-30 2006-01-19 Fujitsu Ltd Method for designing semiconductor integrated circuit, designing device and logical design program
JP2003208454A (en) * 2002-01-17 2003-07-25 Nec Microsystems Ltd Method, device and program for automatic arrangement wiring for layout design in semiconductor integrated circuit
1995-10-12 JP JP26432095A patent/JPH09106407A/en active Pending
1996-10-01 US US08/724,471 patent/US5930147A/en not_active Expired - Fee Related
JP4541783B2 (en) * 2004-06-30 2010-09-08 富士通セミコンダクター株式会社 A method of designing a semiconductor integrated circuit, the design and logic design program
US5930147A (en) 1999-07-27