JP2000090142A - Development method and tool for large scale integrated circuit - Google Patents

Development method and tool for large scale integrated circuit

Info

Publication number
JP2000090142A
JP2000090142A JP10261436A JP26143698A JP2000090142A JP 2000090142 A JP2000090142 A JP 2000090142A JP 10261436 A JP10261436 A JP 10261436A JP 26143698 A JP26143698 A JP 26143698A JP 2000090142 A JP2000090142 A JP 2000090142A
Authority
JP
Japan
Prior art keywords
design
block
rtl
logic
synthesis
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.)
Withdrawn
Application number
JP10261436A
Other languages
Japanese (ja)
Inventor
Tomoaki Koga
智昭 古賀
Hideki Sakamoto
秀樹 坂本
Masayuki Tsuda
昌行 津田
Akira Ohama
章 大浜
Noritoshi Yamakawa
徳敏 山川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP10261436A priority Critical patent/JP2000090142A/en
Publication of JP2000090142A publication Critical patent/JP2000090142A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To improve both development efficiency and quality of an LSI by performing concurrently the study of a circuit architecture, the logical design/ verification, the logical synthesizing and the design of an implement respectively. SOLUTION: In a development process flow, the thick lines show the forward processes and the thin lines show the backward processes. The study of a circuit architecture and the floor planning, i.e., one of design processes of an implement are carried out in parallel to each other. Thus, the floor planning is decided when the study of the circuit architecture is over. The design conditions and design data which are generated in both study process of the circuit architecture and the floor planning process are used in common in the subsequent processes including the logical design/verification (RTL design and logical verification), logical synthesizing and layout to prevent the conflicts of design conditions and design data occurring among all processes. Thus, it's possible to improve both design efficiency and quality of an LSI circuit and also to contribute to development of the LSI circuit.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、大規模集積回路の
開発方法及び開発ツールに係り、特に、回路アーキテク
チャ検討とインプリメント設計の一部であるフロアプラ
ンニングをコンカレントに行ない、論理設計・検証、論
理合成とインプリメント設計の一部であるレイアウト及
びタイミング検証をコンカレントに行なう大規模集積回
路の開発方法及び該大規模集積回路の開発方法によって
大規模集積回路を開発するための大規模集積回路の開発
ツールに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and a tool for developing a large-scale integrated circuit, and in particular, to concurrently perform floor planning as part of circuit architecture study and implementation design, and perform logical design / verification and logic design. A large-scale integrated circuit development method for concurrently performing layout and timing verification as part of synthesis and implementation design, and a large-scale integrated circuit development tool for developing a large-scale integrated circuit by the large-scale integrated circuit development method About.

【0002】通信装置、情報処理装置の高機能化、高速
処理化及び小型化の要請は強いものであり、それらを実
現するためには大規模集積回路によって回路を実現する
ことが必須である。
There is a strong demand for higher performance, higher speed processing, and smaller size of communication devices and information processing devices, and in order to realize them, it is essential to realize circuits by large-scale integrated circuits.

【0003】特に、通信装置においては、ASIC(Ap
plication Specific IntegratedCircuit)と呼ばれる通
信装置特有の機能を実現するための大規模集積回路が適
用されることが多く、しかも、ASICの大規模化が急
速に進んでおり、所謂メガゲートASICの時代に突入
している。
In particular, in a communication device, an ASIC (Ap
Large-scale integrated circuits for realizing functions specific to communication devices called replication specific integrated circuits (ICs) are often applied, and the scale of ASICs is rapidly increasing. ing.

【0004】もとより、集積回路の大規模化は設計を困
難なものにするため、設計品質を確保するためには必然
的に設計手番の長期化を招く。しかし、一方では通信装
置の短納期化の要求が一層強くなっている。従って、通
信装置メーカーがASICを開発・適用するにしても、
専業の集積回路メーカーがASICを開発・供給するに
しても、或いはソフトベンダーが集積回路を開発するに
しても、市場競争力維持のためには短納期での開発が必
須になる。
[0004] Of course, an increase in the scale of an integrated circuit complicates the design, and inevitably prolongs the design turn to ensure the design quality. However, on the other hand, there is an increasing demand for shorter delivery times of communication devices. Therefore, even if a communication device manufacturer develops and applies an ASIC,
Whether a specialized integrated circuit manufacturer develops and supplies an ASIC or a software vendor develops an integrated circuit, development with a short delivery time is essential to maintain market competitiveness.

【0005】しかも、ASICは通信装置特有の機能を
実現するものであり、標準的な回路構成を適用できない
ことが多いので、新しい通信装置の開発の度に新規の構
成による設計を行なう必要がある上、開発の作業量はA
SICの大規模化の比率より高い比率で増加してゆくた
め、開発に要する人員も大幅に増加している。このよう
なASIC開発の環境にあっても開発された物の信頼度
は絶対に維持しなければならない。
In addition, the ASIC realizes a function unique to the communication device, and a standard circuit configuration cannot be applied in many cases. Therefore, it is necessary to design with a new configuration every time a new communication device is developed. Above, development work is A
Since the ratio of the SIC is increasing at a higher rate than that of the SIC, the number of personnel required for development is also increasing significantly. Even in such an ASIC development environment, the reliability of the developed product must be maintained.

【0006】このように、短納期の開発と開発された物
の信頼度維持という矛盾した要求を満足させつつASI
Cを開発することが、通信装置メーカーとしても、集積
回路専業メーカーとしても、ソフトベンダーとしても必
須事項となり、この問題を解決したメーカーだけが厳し
い競争を勝ち抜いてゆくことができる。
[0006] As described above, the ASI is developed while satisfying the contradictory requirements of the development of a short delivery time and the maintenance of the reliability of the developed product.
The development of C is essential as a communication device maker, a manufacturer specializing in integrated circuits, and a software vendor, and only a manufacturer that solves this problem can survive severe competition.

【0007】[0007]

【従来の技術】現在、ASICを初めとする大規模集積
回路は、VHDL、Verilog等による機能記述言
語設計と論理合成を組み合わせた方法によって開発する
のが主流であるが、このような大規模集積回路開発の全
工程は大きく分けると以下の工程に分けることができ
る。
2. Description of the Related Art At present, large-scale integrated circuits such as ASICs are mainly developed by a method that combines a functional description language design using VHDL, Verilog and the like and logic synthesis. The whole process of circuit development can be roughly divided into the following processes.

【0008】即ち、 a.回路構造を検討する回路アーキテクチャ検討 b.機能記述言語によるRTL(Register Transfer Le
vel)設計とその検証を行なう論理設計・検証 c.回路を論理的に合成して最適化する論理合成 d.フロアプランニング、レイアウト、タイミング調整
・検証を行なうインプリメント設計 の4つの工程である。
That is, a. Circuit architecture study for studying circuit structure b. RTL (Register Transfer Le) using function description language
vel) Logic design / verification for design and verification c. Logic synthesis for logically synthesizing and optimizing circuits d. There are four stages of implementation design: floor planning, layout, and timing adjustment / verification.

【0009】図20は、従来の大規模集積回路開発の流
れを示す。ここで、図20における太い矢印付実線は順
方向の設計の流れを示し、細い矢印付実線は設計の手戻
りを示している。
FIG. 20 shows a flow of a conventional large-scale integrated circuit development. Here, the solid line with thick arrows in FIG. 20 indicates the flow of design in the forward direction, and the solid line with thin arrows indicates rework of design.

【0010】図20に明確に示されているように、従来
の大規模集積回路開発においては、上記回路アーキテク
チャ検討、論理設計・検証、論理合成及びインプリメン
ト設計が時系列的にシリアルになっており、前の工程が
終了しなければ後の工程に移ることはない。この意味で
時間的に順方向の作業だけで開発を終了させることがで
きるなら、開発工程は単純である。
As clearly shown in FIG. 20, in the conventional large-scale integrated circuit development, the above-described circuit architecture study, logic design / verification, logic synthesis and implementation design are serialized in time series. If the previous process is not completed, the process does not move to the subsequent process. In this sense, the development process is simple if the development can be completed only by working forward in time.

【0011】図21は、従来の大規模集積回路の開発手
順をもう少し詳細に示したものである。ここで、太い矢
印付実線は開発の流れを示し、細い矢印付破線はデータ
の流れを示す。
FIG. 21 shows the procedure for developing a conventional large-scale integrated circuit in more detail. Here, the solid line with a thick arrow indicates the flow of development, and the broken line with a thin arrow indicates the flow of data.

【0012】以降、図21の各開発段階に付した符号に
沿って、従来の大規模集積回路の開発手順を説明する。 S151.要求仕様、要求検討項目を元に、回路の構造
を検討して全体回路を機能的なブロックに分割し、要求
検証項目をブロック単位に分解する。
The conventional procedure for developing a large-scale integrated circuit will now be described along the reference numerals assigned to the respective development stages in FIG. S151. Based on the required specifications and required examination items, the circuit structure is examined, the entire circuit is divided into functional blocks, and the required verification items are decomposed into blocks.

【0013】S152.ステップS151の回路アーキ
テクチャ検討で分割したブロック単位に機能記述言語を
用いて回路設計してRTL(Registor Transfer Level)
リストを出力すると共に、対象ブロックの機能確認項目
をステップS151の回路アーキテクチャ検討で分割し
た検証項目に従って細分化し、更に、ブロック固有の機
能確認項目を検証項目に追加する。
S152. The circuit is designed using the function description language for each block divided in the circuit architecture study in step S151, and RTL (Registor Transfer Level)
In addition to outputting the list, the function check items of the target block are subdivided according to the verification items divided in the circuit architecture study in step S151, and the function check items specific to the block are added to the verification items.

【0014】そして、この段階でブロックの端子同士及
びブロックの端子と大規模集積回路のチップの端子の接
続情報であるブロック間ネットリストの草案を生成す
る。 S153.該RTLリストと該検証項目を使ってブロッ
ク単位に論理検証を行なう。
At this stage, a draft of an inter-block netlist, which is connection information between the terminals of the blocks and between the terminals of the blocks and the terminals of the chip of the large-scale integrated circuit, is generated. S153. Logic verification is performed in block units using the RTL list and the verification items.

【0015】S154.該論理検証の結果に問題がある
か否かを判断する。問題がある(Yes)と判断された
場合には、ステップS152のRTL設計に戻って回路
設計を更新し、問題がないと判断されるまでステップS
152及びステップS153を繰り返す。
S154. It is determined whether there is a problem in the result of the logic verification. If it is determined that there is a problem (Yes), the process returns to the RTL design in step S152 to update the circuit design, and the process proceeds to step S152 until it is determined that there is no problem.
152 and step S153 are repeated.

【0016】S155.ステップS154で問題がない
(No)と判断された場合には、全ブロックについてR
TL設計と論理検証が終了したか否かを判断する。この
判断結果が全ブロックで終了していない(No)と判断
された場合には、ステップS152のRTL設計に戻
り、全ブロックが終了したと判断されるまでステップS
152及びステップS153を実施する。
S155. If it is determined in step S154 that there is no problem (No), R
It is determined whether the TL design and the logic verification have been completed. If it is determined that the determination has not been completed for all the blocks (No), the process returns to the RTL design in step S152, and the process returns to step S152 until it is determined that all the blocks have been completed.
Step 152 and step S153 are performed.

【0017】S156.ステップS156の判断結果が
全ブロック終了(Yes)の場合には、ステップS15
2の結果であるRTLリストを使用して論理合成を行
い、ステップS152のRTL設計で草案を作成してい
たブロック間ネットリストを確定し、該ブロック間ネッ
トリストに論理合成結果を填め込むことで、全体のネッ
トリストを生成する。
S156. If the result of the determination in step S156 is that all blocks have ended (Yes), step S15
The logic synthesis is performed using the RTL list that is the result of Step 2, and the inter-block netlist for which the draft was created in the RTL design in step S152 is determined, and the result of logic synthesis is inserted into the inter-block netlist. , Generate an entire netlist.

【0018】S157.上記論理合成に問題があるか否
かを判断する。この判断結果が問題あり(Yes)の場
合には、ステップS152のRTL設計又はステップS
151の回路アーキテクチャ検討に戻って設計を更新
し、問題なしと判断されるまで論理合成までを繰り返
す。
S157. It is determined whether there is a problem in the logic synthesis. If there is a problem (Yes), the RTL design in step S152 or the
Returning to the examination of the circuit architecture of 151, the design is updated, and up to logic synthesis is repeated until it is determined that there is no problem.

【0019】S158.ステップS157の判断結果が
問題なし(No)の時は、ステップS156の論理合成
の出力であるネットリストを元にチップのフロアプラン
ニングを行なう。
S158. If there is no problem (No) in step S157, floor planning of the chip is performed based on the netlist output from the logic synthesis in step S156.

【0020】S159.上記フロアプランニングの結果
に問題があるか否かを判断する。この判断結果が問題あ
り(Yes)の場合には、ステップS156の論理合成
又はステップS152のRTL設計又はステップS15
1の回路アーキテクチャ検討に戻り、この判断結果が問
題なしとなるまで設計を更新する。
S159. It is determined whether there is a problem in the result of the floor planning. If there is a problem (Yes) as a result of this determination, logic synthesis in step S156 or RTL design in step S152 or step S15
Returning to the study of the circuit architecture of No. 1, the design is updated until the result of this determination is no problem.

【0021】S160.ステップS158の判断結果が
問題なし(No)の時は、レイアウトを行い、SDF
(Standard Delay File)を生成する。 S161.ステップ160の出力であるSDFを元にタ
イミング検証をする。
S160. If the determination result in step S158 is no problem (No), layout is performed and SDF is performed.
(Standard Delay File). S161. The timing is verified based on the SDF output from step 160.

【0022】S162.上記タイミング検証の結果に問
題があるか否かを判断する。この判断結果が問題あり
(Yes)の場合には、ステップS158のフロアプラ
ンニング又はステップS156の論理合成又はステップ
S151の回路アーキテクチャ検討に戻り、この判断結
果が問題なしとなるまで設計の更新を行なう。
S162. It is determined whether there is a problem in the result of the timing verification. If the determination result is a problem (Yes), the process returns to the floor planning in step S158, the logic synthesis in step S156, or the examination of the circuit architecture in step S151, and the design is updated until the determination result shows no problem.

【0023】そして、上記判断の結果が問題なし(N
o)の場合には設計を終了する。尚、上記設計工程の区
分を示すアルファベット小文字を図21中に記載してあ
る。即ち、ステップS151が上記回路アーキテクチャ
検討aであり、ステップS152からステップS155
までが上記論理設計・検証bであり、ステップS156
及びステップS157が上記論理合成cであり、ステッ
プS158以降が上記インプリメント設計dである。
If the result of the above judgment is no problem (N
In the case of o), the design ends. It should be noted that lowercase alphabetic letters indicating the categories of the above-mentioned design steps are shown in FIG. That is, step S151 is the circuit architecture study a, and steps S152 to S155
The above is the above logic design / verification b, step S156
And step S157 corresponds to the logic synthesis c, and step S158 and subsequent steps correspond to the implementation design d.

【0024】つまり、図21の開発手順では、図20の
開発工程の流れに示したように、回路アーキテクチャ検
討、論理設計・検証、論理合成及びインプリメント設計
がシリアルに行なわれている。
In other words, in the development procedure of FIG. 21, as shown in the flow of the development process of FIG. 20, circuit architecture study, logic design / verification, logic synthesis, and implementation design are performed serially.

【0025】[0025]

【発明が解決しようとする課題】しかし、大規模集積回
路の開発において各設計ステップが1回で終わることは
稀で、仕様変更、設計ミス、タイミングエラーなどが発
生する。このため、往々にして後の設計工程から前の設
計工程に後戻りすることが起こる。
However, in the development of a large-scale integrated circuit, it is rare that each design step is completed only once, resulting in specification changes, design errors, timing errors, and the like. For this reason, it often happens that the subsequent design process returns to the previous design process.

【0026】例えば、図21のステップS154で論理
検証の結果に問題あり(Yes)と判断された場合に
は、ステップS152のRTL設計を再度行なうことに
なる。ただ、これは論理設計と論理検証という表裏一体
の工程であるので、設計工程を混乱させることはない。
For example, if it is determined in step S154 of FIG. 21 that the result of the logic verification has a problem (Yes), the RTL design in step S152 is performed again. However, since this is a two-sided process of logic design and logic verification, it does not disrupt the design process.

【0027】問題になるのは、それより後の工程から前
の工程への後戻りである。即ち、ステップS156の論
理合成の後で、ステップS157で論理合成に問題あり
(Yes)と判断された場合には、ステップS152の
RTL設計又はステップS151の回路アーキテクチャ
検討に後戻りし、ステップS158のフロアプランニン
グの後のステップS159でフロアプランニングに問題
あり(Yes)と判断された場合には、ステップS15
6の論理合成又はステップS152のRTL設計又はス
テップS151の回路アーキテクチャ検討に後戻りし、
ステップS161のタイミング検証の後のステップS1
62でタイミング検証に問題あり(Yes)と判断され
た時は、ステップS157のフロアプランニング又はス
テップS155の論理合成又はステップS151の回路
アーキテクチャ検討に後戻りする。そして、こういう後
戻りが幾度となく繰り返される。
The problem is the return from the subsequent process to the previous process. That is, if it is determined in step S157 that there is a problem in the logic synthesis (Yes) after the logic synthesis in step S156, the process returns to the RTL design in step S152 or the examination of the circuit architecture in step S151, and returns to the floor in step S158. If it is determined in step S159 after the planning that there is a problem in floor planning (Yes), step S15
6 and back to the RTL design in step S152 or the circuit architecture study in step S151,
Step S1 after the timing verification of step S161
If it is determined in step 62 that there is a problem in the timing verification (Yes), the process returns to the floor planning in step S157, the logic synthesis in step S155, or the examination of the circuit architecture in step S151. Then, such backward movement is repeated many times.

【0028】尚、図20にも上記の後戻りが起こり得る
箇所に矢印付実線を描いている。それらの後戻りは単に
終結した筈の工程を再度繰り返すだけではなく、各々の
後戻りの原因に矛盾があることが多いので、特定の工程
間で後戻りして設計を更新すると他の工程間でも後戻り
しなくてはならないということになって、開発のための
作業がなかなか収斂しないという事態にもつながる。
In FIG. 20, a solid line with an arrow is drawn at a place where the backward movement can occur. These retraces do not merely repeat the process that was supposed to be over, but also often have inconsistencies in the cause of each retrace, so reversing between specific processes and updating the design will also retrace between other processes. This has to be done, which can lead to difficulties in development work.

【0029】このような場合には、大規模集積回路開発
の効率を著しく低下させ、開発工程も極めて長期に及
ぶ。これにより、通信装置メーカーであっても、大規模
集積回路メーカーであっても、ソフトベンダーであって
も競争力の低下を免れることができなくなる。
In such a case, the efficiency of large-scale integrated circuit development is significantly reduced, and the development process is extremely long. As a result, even if it is a communication device maker, a large-scale integrated circuit maker, or a software vendor, it will not be possible to avoid a decrease in competitiveness.

【0030】今迄は、これに対して CADマシンの高性能化、即ち、サーバなどのCADマ
シン自体の処理能力アップ CADツールの高速化、即ち、CADツールに搭載され
ているソフトウェアによる処理速度アップ(例えば、シ
リアル処理をパラレル処理にして処理速度をアップする
こと等) 繰り返しチェックすることによるミスの逓減等によって
開発効率の低下と工程の長期化を防止すべく努めてきた
が、大規模集積回路の一層の大規模化によって、CAD
マシンの高性能化、CADツールの高速化及び繰り返し
チェックによるミスの逓減だけでは開発効率の低下と工
程の長期化を防止することは不可能に近くなってきた。
Up to now, the performance of the CAD machine has been improved, that is, the processing capability of the CAD machine itself such as a server has been increased. The speed of the CAD tool has been increased, that is, the processing speed of the software installed in the CAD tool has been increased. (For example, increasing the processing speed by changing the serial processing to parallel processing.) We have tried to prevent the reduction of development efficiency and the prolongation of the process due to the gradual reduction of mistakes due to repeated checking. CAD has become increasingly larger
It has become almost impossible to prevent a reduction in development efficiency and a prolonged process by merely increasing the performance of a machine, increasing the speed of a CAD tool, and gradually reducing errors due to repeated checks.

【0031】本発明は、かかる問題に鑑み、回路アーキ
テクチャ検討、論理設計・検証、論理合成、インプリメ
ント設計をコンカレントに行なう大規模集積回路の開発
方法及び該大規模集積回路の開発方法によって大規模集
積回路を開発するための大規模集積回路の開発ツールを
提供し、大規模集積回路開発を効率化することと、開発
された大規模集積回路の品質を向上させることを目的と
する。
In view of the above problems, the present invention provides a method for developing a large-scale integrated circuit that concurrently performs circuit architecture examination, logic design / verification, logic synthesis, and implementation design, and a large-scale integrated circuit by the method for developing a large-scale integrated circuit. It is an object of the present invention to provide a large-scale integrated circuit development tool for developing circuits, to improve the efficiency of large-scale integrated circuit development, and to improve the quality of developed large-scale integrated circuits.

【0032】[0032]

【課題を解決するための手段】図1は、本発明の大規模
集積回路の開発工程の流れである。ここで、図1におけ
る太い矢印付実線は順方向の工程を示し、細い矢印付実
線及び細い矢印付破線は後戻りの工程を示している。
FIG. 1 is a flow chart showing a development process of a large-scale integrated circuit according to the present invention. Here, a solid line with a thick arrow in FIG. 1 indicates a forward step, and a solid line with a thin arrow and a broken line with a thin arrow indicate a backward step.

【0033】図1に明確に表現されているように、本発
明の特徴は、回路アーキテクチャ検討とインプリメント
設計の一工程であるフロアプランニングを並行して行
い、回路アーキテクチャ検討が終了した時にはフロアプ
ランニングも確定している点、回路アーキテクチャ検討
の工程とフロアプランニングの工程において生成された
設計条件や設計データを、後続の論理設計・検証(RT
L設計、論理検証)、論理合成及びレイアウトの工程で
共通に使用するデータとし、全ての工程間で設計条件や
設計データに矛盾が生ずることを防止する点にある。
As clearly shown in FIG. 1, the feature of the present invention is that the circuit architecture examination and the floor planning which is one step of the implementation design are performed in parallel, and when the circuit architecture examination is completed, the floor planning is also performed. It is confirmed that the design conditions and design data generated in the circuit architecture study process and the floor planning process can be used in subsequent logical design / verification (RT
(L design, logic verification), logic synthesis, and layout are used as common data to prevent inconsistency in design conditions and design data between all processes.

【0034】図2は、本発明の大規模集積回路開発の原
理的手順で、本発明による大規模集積回路の開発工程の
流れを若干詳細に示している。尚、図2において、太い
矢印付実線は開発の流れを示し、細い矢印付破線はデー
タの流れを示している。
FIG. 2 shows the basic procedure for developing a large-scale integrated circuit according to the present invention, and shows the flow of the process of developing a large-scale integrated circuit according to the present invention in some detail. In FIG. 2, a solid line with a thick arrow indicates the flow of development, and a broken line with a thin arrow indicates the flow of data.

【0035】以降、図2の各開発段階に付した符号に沿
って、本発明の大規模集積回路開発の原理的手順につい
て説明する。 S1.要求仕様と要求検証項目を入力として、大規模集
積回路を機能的なブロックに分割すると共に該ブロック
単位に下記の(イ)から(チ)の項目を見積もったり設
定して、回路構造を検討する。
Hereinafter, the principle procedure of the development of a large-scale integrated circuit according to the present invention will be described along the reference numerals assigned to the respective development stages in FIG. S1. The circuit structure is examined by dividing the large-scale integrated circuit into functional blocks by inputting the required specifications and the required verification items, and estimating and setting the following items (a) to (h) for each block. .

【0036】(イ)ブロックに収容可能か否かを判断す
るためのフリップフロップ数 (ロ)チップの入出力ポート情報及びブロックの入出力
ポート情報 (ハ)実現規模 (ニ)クロック駆動能力判定のための、入力クロック種
類毎のフリップフロップのグループ数 (ホ)クロックツリー (ヘ)チップ面積推定のための読み出し専用メモリ(R
OM)とランダムアクセスメモリ(RAM)の使用個数
と規模 (ト)動作速度 (チ)ブロック単位の機能検証項目 上記(イ)から(チ)を見れば明らかな如く、この段階
でフロアプランニングの草案が検討されている。
(A) Number of flip-flops for judging whether or not a block can be accommodated (b) Input / output port information of a chip and input / output port information of a block (c) Realization scale (d) Clock drive capability judgment (E) Clock tree (f) Read-only memory (R) for estimating chip area
OM) and the number and scale of random access memory (RAM) (g) Operating speed (h) Functional verification items in block units As is clear from (a) to (h) above, draft floor planning at this stage Is being considered.

【0037】S2.ステップS1の回路アーキテクチャ
検討の結果出力されるチップの入出力ポート情報とブロ
ック単位の入出力ポート情報を入力として、ブロック間
ネットリストを作成する。具体的には、同じ名称のポー
ト同士を接続するという作業を行ない、接続情報をリス
ト化する。
S2. The inter-block netlist is created by using the input / output port information of the chip and the input / output port information of each block, which are output as a result of the circuit architecture study in step S1, as inputs. Specifically, an operation of connecting ports having the same name is performed, and connection information is listed.

【0038】ここで作成されたブロック間ネットリスト
は、ブロックの中はブラックボックスになっていて、ブ
ロック間及びブロックとチップの間の配線情報だけを含
んだもので、後で説明するように、論理設計とインプリ
メント設計双方の共通のデータとなる。
The inter-block netlist created here is a black box inside the block and contains only the wiring information between the blocks and between the block and the chip. As will be described later, This is common data for both logic design and implementation design.

【0039】S3.ステップS1の回路アーキテクチャ
検討における上記(イ)から(チ)までの見積り結果又
は設定結果と、ステップS2において作成されたブロッ
ク間ネットリストを入力として、ブロック内部はブラッ
クボックスのままでチップ上でブロックのレイアウトを
して、ブロック間配線が可能な面積を見積ってブロック
間配線の実現性を検証する。
S3. The estimation result or the setting result from (a) to (h) in the circuit architecture study in step S1 and the inter-block netlist created in step S2 are input as blocks on the chip while the inside of the block remains a black box. Then, the feasibility of the inter-block wiring is verified by estimating the area where the inter-block wiring is possible.

【0040】S4.ステップS3のフロアプランニング
の結果に問題があるか否か、即ち、全てのブロックの配
置と、ブロック間及びブロック・チップ間の配線に問題
がないか否かを判断する。
S4. It is determined whether there is a problem in the result of the floor planning in step S3, that is, whether there is any problem in the arrangement of all the blocks and the wiring between the blocks and between the blocks and chips.

【0041】問題がある(Yes)と判定された場合に
はステップS1の回路アーキテクチャ検討に戻り、ブロ
ック分割を変更して、ステップS2及びステップS3を
繰り返す。ステップS1の説明の最後尾に記載した如
く、ステップS1の回路アーキテクチャ検討においてフ
ロアプランニングの草案を検討しているので、ここでス
テップS1に戻ることは実質的には少ない。
If it is determined that there is a problem (Yes), the process returns to the examination of the circuit architecture in step S1, the block division is changed, and steps S2 and S3 are repeated. As described at the end of the description of step S1, the draft of the floor planning is considered in the study of the circuit architecture of step S1, and therefore, returning to step S1 here is substantially less.

【0042】このように、フロアプランニングを早期に
行って確定することにより、従来はレイアウトの後で行
なうタイミング検証で初めて判るタイミングエラーによ
ってRTL設計又は回路アーキテクチャ検討に後戻りし
ていたのを回避できる。
As described above, by performing floor planning early and determining it, it is possible to avoid returning to the RTL design or the circuit architecture study due to a timing error conventionally known only in the timing verification performed after the layout.

【0043】そして、回路アーキテクチャ検討、ブロッ
ク間ネットリスト生成及びフロアプランニングを並行し
て行なうために、これらを同時に確定することができ
る。 S5.ステップS4で問題なし(No)と判断された場
合には、ステップS2で生成されたブロック間ネットリ
ストと、後述のステップS6で生成されるRTLソース
を入力として、ブロック内及びブロック間のタイミング
やファンアウトなどの論理合成を行なう際の合成制約条
件を抽出する。
Since the circuit architecture study, the generation of the inter-block netlist, and the floor planning are performed in parallel, they can be determined simultaneously. S5. If it is determined in step S4 that there is no problem (No), the inter-block net list generated in step S2 and the RTL source generated in step S6 described later are input, and A synthesis constraint condition for performing logic synthesis such as fan-out is extracted.

【0044】S6.一方、ステップS1で分割したブロ
ック単位に機能記述言語を用いて回路設計(RTL設
計)を行ってRTLソースを生成する。これを、早い段
階で論理合成のデータとすることで、論理設計・検証と
論理合成の間の矛盾を回避することができ、早い段階で
RTLソースの品質、信頼度を確保することが可能にな
る。
S6. On the other hand, an RTL source is generated by performing a circuit design (RTL design) using a functional description language for each block divided in step S1. By using this as data for logic synthesis at an early stage, it is possible to avoid inconsistency between logic design / verification and logic synthesis, and to ensure the quality and reliability of the RTL source at an early stage. Become.

【0045】そして、RTL設計の後、対象ブロックの
機能検証項目をステップS1で分割した検証項目に従っ
て細分化すると共に、対象ブロック固有の動作確認項目
を該検証項目に追加する。
After the RTL design, the function verification items of the target block are subdivided according to the verification items divided in step S1, and the operation check items unique to the target block are added to the verification items.

【0046】これによって、要求仕様、対象ブロックの
機能及び動作に関する検証の漏れを防止することができ
る。 S7.ステップS2で生成されたブロック間ネットリス
トと、ステップS5で生成された合成制約条件と、ステ
ップS6で生成されたRTLソースを入力として、ブロ
ック単位に論理合成を実施して、当該ブロックの実現規
模を算出・確認し、該ブロック間ネットリストに当該ブ
ロックの設計情報を填め込むことによりネットリストを
ビルディングブロック方式で生成してゆく。
As a result, it is possible to prevent omission of verification regarding the required specifications and the functions and operations of the target block. S7. With the inter-block netlist generated in step S2, the synthesis constraint generated in step S5, and the RTL source generated in step S6 as inputs, logic synthesis is performed in block units, and the realization scale of the block is performed. Is calculated and confirmed, and the inter-block net list is filled with the design information of the block to generate a net list by a building block method.

【0047】S8.ステップS7で算出されたブロック
の実現規模に問題がある(Yes)と判断された場合に
はステップS6のRTL設計に戻って設計を更新し、問
題なしと判断されるまでRTL設計と論理検証を繰り返
す。
S8. If it is determined that there is a problem in the implementation scale of the block calculated in step S7 (Yes), the process returns to the RTL design in step S6 to update the design, and the RTL design and logic verification are performed until it is determined that there is no problem. repeat.

【0048】S9.一方、ステップS1とステップS6
とから生成される検証項目と、ステップS1でのブロッ
ク分割結果を入力として、論理検証対象のブロック及び
チップに対する入力信号を発生する機能、及び出力信号
とその期待値との照合機能を備えたテストベンチを生成
する。
S9. On the other hand, steps S1 and S6
A test having a function of generating an input signal for a block and a chip to be logically verified by using the verification item generated from the above and the block division result in step S1 as input, and a function of comparing an output signal with its expected value Generate a bench.

【0049】S10.ステップS6で生成したRTLソ
ースと、ステップS9で生成したテストベンチと、ステ
ップS2で生成したブロック間ネットリストを入力とし
て、ブロック単位及びチップで機能及び動作を確認す
る。
S10. Using the RTL source generated in step S6, the test bench generated in step S9, and the inter-block netlist generated in step S2 as input, the function and operation are confirmed in units of blocks and chips.

【0050】これは、RTLソースが想定通りか否か
を、遅延時間を考慮しないで静的に検証するものであ
る。このプロセスによってRTLソースの要求仕様に対
する妥当性がブロック単位で確認されてゆくのにつれ
て、必要に応じて確認済の複数のブロックの組合せに対
する機能及び動作の確認が可能になる。つまり、ビルデ
ィングブロック方式で大規模集積回路の機能及び動作の
確認が可能になる。
This statically verifies whether or not the RTL source is as expected without considering the delay time. As the validity of the RTL source with respect to the required specifications is confirmed in block units by this process, it becomes possible to confirm the function and operation of a combination of a plurality of confirmed blocks as necessary. That is, the function and operation of the large-scale integrated circuit can be confirmed by the building block method.

【0051】S11.ステップS10の結果に問題があ
るか否かを判断する。もし、問題がある(Yes)と判
断された場合には、ステップS6のRTL設計を更新し
て、問題なしと判断されるまでステップS6のRTL設
計とステップS10の論理検証を繰り返す。
S11. It is determined whether there is a problem in the result of step S10. If it is determined that there is a problem (Yes), the RTL design in step S6 is updated, and the RTL design in step S6 and the logic verification in step S10 are repeated until it is determined that there is no problem.

【0052】S12.一方、ステップS8で論理合成の
結果に問題なし(No)と判断された場合には、ステッ
プS7で生成されたネットリストを入力として、フロア
プランに従ってブロック内部とブロック間の配置・配
線、即ち、レイアウトを行なう。
S12. On the other hand, if it is determined in step S8 that there is no problem in the result of logic synthesis (No), the netlist generated in step S7 is used as an input, and the placement and wiring between the blocks and between the blocks according to the floor plan, ie, Perform layout.

【0053】そして、レイアウト後にSDF(Standard
Delay File )を生成する。具体的には、ブロックにお
いて使用されているセル毎に、配線による遅延も含めて
入出力間の遅延を算出する。これは、後で説明するタイ
ミング検証及び必要に応じてゲート検証において使用さ
れる。
After the layout, the SDF (Standard
Delay File). Specifically, for each cell used in the block, a delay between input and output, including a delay due to wiring, is calculated. This is used in the timing verification described later and, if necessary, the gate verification.

【0054】S13.ステップS11で問題なし(N
o)と判断された場合には、ステップS2で生成された
ブロック間ネットリストと、ステップS7で生成された
ネットリストと、ステップS9で生成されたテストベン
チを入力として、動作確認を行なう。
S13. No problem in step S11 (N
When it is determined as o), the operation check is performed using the inter-block netlist generated in step S2, the netlist generated in step S7, and the test bench generated in step S9 as inputs.

【0055】これは、論理合成結果のネットリストを使
って、遅延を考慮せずに静的に検証するものである。 S14.ステップS13でのゲート検証の結果に問題が
あるか否かを判断する。もし、問題がある(Yes)と
判断された場合には、ステップS6、ステップS10、
ステップS11及びステップS13を繰り返して行な
う。
In this method, a netlist as a result of logic synthesis is used to perform static verification without considering delay. S14. It is determined whether there is a problem in the result of the gate verification in step S13. If it is determined that there is a problem (Yes), step S6, step S10,
Steps S11 and S13 are repeated.

【0056】そして、このステップで問題なし(No)
と判断された場合には、論理設計とインプリメント設計
の間で論理の整合がとれたことになる。従って、仕様変
更や論理合成結果との不一致がない限り、RTL設計へ
の後戻りはなくなる。
Then, there is no problem in this step (No)
If it is determined that the logic has been matched between the logic design and the implementation design. Therefore, as long as there is no specification change or inconsistency with the result of logic synthesis, there is no return to the RTL design.

【0057】S15.ステップS14でゲート検証の結
果に問題なし(No)と判断された場合には、ステップ
S7で生成したネットリストと、ステップS9で生成し
たテストベンチと、ステップS12で生成したSDFを
入力としてタイミング検証を行なう。
S15. If it is determined in step S14 that there is no problem in the gate verification result (No), the timing verification is performed by using the netlist generated in step S7, the test bench generated in step S9, and the SDF generated in step S12 as inputs. Perform

【0058】これは、レイアウト後に求められたSDF
を使い、セルと配線の遅延時間まで含めて動的に検証す
るものである。 S16.ステップS15でのタイミング検証に問題があ
るか否かを判断して、フロアプラン及びレイアウトの妥
当性を確認する。
This is the SDF obtained after layout.
And dynamically verifying up to the delay time of the cell and wiring. S16. It is determined whether there is a problem in the timing verification in step S15, and the validity of the floor plan and the layout is confirmed.

【0059】もし、問題がある(Yes)と判断された
場合には、ステップS7の論理合成に戻って、ステップ
S7、ステップS8及びステップS12の間を繰り返
す。そして、ステップS16で問題なし(No)と判断
された場合には大規模集積回路の設計が終了する。
If it is determined that there is a problem (Yes), the process returns to the logic synthesis in step S7, and steps S7, S8 and S12 are repeated. If it is determined in step S16 that there is no problem (No), the design of the large-scale integrated circuit ends.

【0060】さて、図2において各設計ステップを示す
長方形の右肩に、従来の技術において説明した大規模集
積回路の設計工程に付したa乃至dの符号を記載して、
図2の各設計ステップと大規模集積回路の大まかな設計
工程との関係を明示している。
In FIG. 2, reference numerals a to d attached to the large scale integrated circuit design process described in the prior art are described at the right shoulder of a rectangle indicating each design step.
The relationship between each design step in FIG. 2 and a rough design process of a large-scale integrated circuit is clearly shown.

【0061】即ち、ステップS1の回路アーキテクチャ
検討がaの回路アーキテクチャ検討に対応し、ステップ
S6のRTL設計、S10の論理検証及びS13のゲー
ト検証がbの論理設計・検証に対応し、ステップS7の
論理合成がcの論理合成に対応し、ステップS2のブロ
ック間ネットリスト生成、ステップS3のフロアプラン
ニング、ステップS5の合成制約条件抽出、ステップS
12のレイアウト及びステップS15のタイミング検証
がdのインプリメント設計に対応する。
That is, the examination of the circuit architecture of step S1 corresponds to the examination of the circuit architecture of step a, the RTL design of step S6, the logic verification of step S10, and the gate verification of step S13 correspond to the logic design and verification of step b. The logic synthesis corresponds to the logic synthesis of c, generation of a net list between blocks in step S2, floor planning in step S3, extraction of synthesis constraint conditions in step S5, and step S
The 12 layouts and the timing verification in step S15 correspond to the implementation design of d.

【0062】そして、ステップS2のブロック間ネット
リスト生成とステップS3のフロアプランニングがdで
いうフロアプランニングに対応するので、図1に示した
如く、回路アーキテクチャ検討とフロアプランニングが
並行して行われ、この間では設計結果に問題があれば回
路アーキテクチャ検討に戻って再検討がなされる。
Since the generation of the netlist between blocks in step S2 and the floor planning in step S3 correspond to the floor planning referred to by d, the circuit architecture study and floor planning are performed in parallel as shown in FIG. During this time, if there is a problem in the design result, the process returns to the circuit architecture study and is reviewed again.

【0063】このように、フロアプランニングを早期に
行なって確定することにより、従来はレイアウトの後で
行なうタイミング検証で初めて判るタイミングエラーに
よってRTL設計又は回路アーキテクチャ検討に後戻り
することがあったのを回避できる。即ち、回路アーキテ
クチャ検討とフロアプランニングの品質及び信頼度を高
めることができる。
As described above, by performing the floor planning early and confirming it, it is possible to avoid a situation in which a timing error conventionally known for the first time in the timing verification performed after the layout causes a return to the RTL design or the circuit architecture study. it can. That is, the quality and reliability of circuit architecture study and floor planning can be improved.

【0064】更に、回路アーキテクチャ検討、ブロック
間ネットリスト生成及びフロアプランニングを並行して
行なうために、これらを同時に確定して後続の設計工程
の共通のデータにすることができる。即ち、回路アーキ
テクチャ検討とフロアプランニングを早期に確定するこ
とができるために、後続の工程における矛盾をなくすこ
とができ、後続の工程において高い設計の品質及び信頼
度を確保することが可能になる。
Further, since the examination of the circuit architecture, the generation of the inter-block netlist, and the floor planning are performed in parallel, they can be simultaneously determined and used as common data in the subsequent design process. That is, since the examination of the circuit architecture and the floor planning can be determined at an early stage, inconsistencies in subsequent steps can be eliminated, and high quality and reliability of design can be secured in the subsequent steps.

【0065】又、ステップS6のRTL設計がbの論理
設計に対応し、ステップS10の論理検証とステップS
13のゲート検証がbの論理検証に対応するので、これ
らは図1に示す如く並行して行なわれてRTLソースが
生成され、更に、そのRTLソースを入力としてステッ
プS7の論理合成が並行して行なわれるので、品質の高
いRTLソースとネットリストがビルディングブロック
方式で確定されてゆく。
The RTL design of step S6 corresponds to the logic design of b, and the logic verification of step S10 and the
Since the gate verification of 13 corresponds to the logic verification of b, these are performed in parallel as shown in FIG. 1 to generate an RTL source, and the RTL source is used as an input, and the logic synthesis of step S7 is performed in parallel. As a result, a high-quality RTL source and a netlist are determined in a building block manner.

【0066】そして、ステップS7の論理合成の結果に
よってステップS12のレイアウトが行なわれてSDF
が生成され、上記ネットリストと該SDFを入力として
タイミング検証が行なわれる。ここで問題があればステ
ップS7の論理合成に戻って設計の更新が行なわれて、
ネットリストの品質及び信頼度が高められてゆく。
Then, the layout in step S12 is performed according to the result of the logic synthesis in step S7, and the SDF
Is generated, and timing verification is performed using the netlist and the SDF as inputs. If there is a problem, the process returns to the logic synthesis in step S7 to update the design.
The quality and reliability of the netlist will be improved.

【0067】その上、回路アーキテクチャ検討とフロア
プランは確定しているために、回路アーキテクチャ検討
とフロアプランニングにまで遡って後戻りすることはな
く、RTL設計、論理検証、論理合成、レイアウト及び
タイミング検証が並行して行なわれることで、論理設計
・検証、論理合成及びレイアウトとタイミング検証を早
期に収束させることができる。
In addition, since the circuit architecture study and the floor plan have been determined, there is no need to go back to the circuit architecture study and floor planning, and the RTL design, logic verification, logic synthesis, layout and timing verification are performed. By being performed in parallel, logic design / verification, logic synthesis, layout, and timing verification can be quickly converged.

【0068】かくの如く、大規模集積回路の開発に必要
な時間を短縮し、且つ、設計結果の品質及び信頼度を高
めることができる。
As described above, the time required for developing a large-scale integrated circuit can be shortened, and the quality and reliability of the design result can be improved.

【0069】[0069]

【発明の実施の形態】図3は、本発明の大規模集積回路
開発の詳細手順で、図2で説明した大規模集積回路開発
の原理的手順を更に詳細に示すものである。尚、図3に
おける各開発段階には、図2において各開発段階に付し
た符号に対応する符号を付してある。即ち、符号の数字
が等しい開発段階同士が対応する開発段階であり、図3
における符号の数字の後の小文字アルファベットは図2
では単一の段階で示されている開発段階が複数の段階に
分割されていることを示す。
FIG. 3 shows a detailed procedure for developing a large-scale integrated circuit according to the present invention, and shows the basic procedure for developing a large-scale integrated circuit described in FIG. 2 in more detail. Each development stage in FIG. 3 is denoted by a reference numeral corresponding to the reference numeral assigned to each development stage in FIG. That is, the development stages having the same reference numerals are the development stages corresponding to each other.
Figure 2 shows the lowercase alphabet after the sign
Indicates that the development stage shown in a single stage is divided into multiple stages.

【0070】以降、図3の各開発段階に付した符号に沿
って、本発明の大規模集積回路開発の詳細手順について
説明する。尚、図3において、太い矢印付実線は開発の
流れを示し、細い矢印付破線はデータの流れを示してい
る。
Hereinafter, the detailed procedure for developing a large-scale integrated circuit according to the present invention will be described along the reference numerals assigned to the respective development stages in FIG. In FIG. 3, a solid line with a thick arrow indicates a development flow, and a broken line with a thin arrow indicates a data flow.

【0071】S1a.要求仕様を入力として、機能の分
割、ブロックの分割及び実現回路の構造の検討と、イン
プリメント設計に必要な下記データ又は情報の見積り及
び設定を行なう。
S1a. With the required specifications as input, function division, block division, examination of the structure of the realized circuit, and estimation and setting of the following data or information required for implementation design are performed.

【0072】(イ)ブロックに収容可能か否かを判断す
るためのフリップフロップ数 (ロ)チップの入出力ポート情報及びブロックの入出力
ポート情報 (ハ)実現規模 (ニ)クロック駆動能力判断のための、入力クロック種
類毎のフリップフロップのグループ数 (ホ)クロックツリー (ヘ)チップ面積推定のための読み出し専用メモリ(R
OM)とランダムアクセスメモリ(RAM)の使用個数
と規模 (ト)動作速度 ところで、チップ内の平均動作速度は電源バスの幅を決
めるファクターであり、ブロック毎の動作速度はフロア
プランニングにおける配置場所の目安を与え、ブロック
の論理合成の制約条件となる。
(A) Number of flip-flops for judging whether or not a block can be accommodated (b) Input / output port information of a chip and input / output port information of a block (c) Realization scale (d) Clock drive capability judgment (E) Clock tree (f) Read-only memory (R) for estimating chip area
OM) and the number and size of random access memory (RAM) used (g) Operating speed By the way, the average operating speed in a chip is a factor that determines the width of the power supply bus, and the operating speed of each block is determined by the location of floor layout. It gives a guide and becomes a constraint condition of the logic synthesis of the block.

【0073】(チ)ブロック単位の機能検証項目 上記(イ)から(チ)を見れば明らかな如く、この段階
でフロアプランニングの草案が検討されている。
(H) Functional Verification Items in Block Units As is clear from the above (A) to (H), drafts of floor planning are being considered at this stage.

【0074】S1b.ステップS1aの検討結果を盛り
込んだ機能説明、回路構造などのブロック設計仕様を検
討し、設計仕様を記載したドキュメントを作成する。 S1c.要求検証項目を入力として、各項目をステップ
S1aで検討したブロック分割の結果を元に、チップ検
証項目として細分化し、要求検証項目に対応する機能を
明確にする。そして、このステップで要求検証項目には
ない、ブロック固有の検証項目の追加を行なう。
S1b. The block design specification such as the function description and the circuit structure including the result of the review in step S1a is examined, and a document describing the design specification is created. S1c. With the request verification items as inputs, each item is subdivided into chip verification items based on the result of the block division examined in step S1a, and functions corresponding to the request verification items are clarified. Then, in this step, a verification item unique to the block, which is not included in the request verification item, is added.

【0075】S1d.上記ステップS1cで作成したチ
ップ検証項目を入力として、ステップS1cと同様に、
ブロック単位にブロック検証項目として細分化する。以
上三つの検証項目、即ち、要求検証項目、ブロック検証
項目及びチップ検証項目を階層化することで、要求仕様
から実現回路の機能までが有機的につながるため、機能
検証の漏れを防止することができるようになる。
S1d. With the chip verification item created in step S1c as an input, similar to step S1c,
It is subdivided into block verification items for each block. By layering the above three verification items, that is, the requirement verification item, the block verification item, and the chip verification item, since the requirement specification to the function of the realized circuit are organically connected, it is possible to prevent omission of function verification. become able to.

【0076】S2.ステップS1の回路アーキテクチャ
検討の結果出力されるチップの入出力ポート情報とブロ
ック単位の入出力ポート情報即ちピンデータを入力とし
て、ブロック間ネットリストを作成する。具体的には、
同じ名称のポート同士を接続するという作業を行ない、
接続情報をリスト化する。
S2. The inter-block net list is created by using the input / output port information of the chip and the input / output port information of each block, that is, the pin data, which are output as a result of the examination of the circuit architecture in step S1. In particular,
Work to connect ports with the same name,
List connection information.

【0077】ここで作成されたブロック間ネットリスト
では、ブロックの中はブラックボックスになっていて、
ブロック間及びブロックとチップの間の配線情報だけを
含んだもので、後で説明するように、論理設計とインプ
リメント設計双方の共通のデータとなる。
In the inter-block netlist created here, the inside of the block is a black box.
It contains only wiring information between blocks and between blocks and chips, and becomes common data for both logical design and implementation design, as described later.

【0078】S3.ステップS1の回路アーキテクチャ
検討における見積り及び設定結果と、ステップS2にお
いて作成されたブロック間ネットリストを入力として、
ブロック内部はブラックボックスのままでチップ上でブ
ロックのレイアウトをして、ブロック間配線が可能な面
積を見積り、ブロック間配線の実現性を検証する。
S3. The estimation and setting results in the circuit architecture study in step S1 and the inter-block netlist created in step S2 are input,
The blocks are laid out on the chip while keeping the inside of the block as a black box, the area where inter-block wiring can be performed is estimated, and the feasibility of inter-block wiring is verified.

【0079】S4.ステップS3のフロアプランニング
の結果に問題があるか否かを判断する。問題がある(Y
es)と判断された場合にはステップS1の回路アーキ
テクチャ検討に戻り、ブロック分割を変更して、問題な
しと判断されるまでステップS1乃至ステップS3を繰
り返す。
S4. It is determined whether there is a problem in the result of the floor planning in step S3. There is a problem (Y
If it is determined to be es), the process returns to the examination of the circuit architecture in step S1, the block division is changed, and steps S1 to S3 are repeated until it is determined that there is no problem.

【0080】しかし、ステップS1aにおいてフロアプ
ランの草案を検討しているので、ステップS3のフロア
プランニングに問題ありとしてステップS1aに戻るこ
とは実質的には極めて少ない。
However, since the draft of the floor plan is being considered in step S1a, the return to step S1a on the assumption that there is a problem in the floor planning in step S3 is substantially very few.

【0081】このように、フロアプランニングを早期に
行って確定することにより、従来はレイアウトの後で行
なうタイミング検証で初めて判るタイミングエラーによ
ってRTL設計又は回路アーキテクチャ検討に後戻りす
ることがあったのを回避できる。
As described above, by performing the floor planning early and determining it, it is possible to avoid a situation in which the timing error conventionally known for the first time in the timing verification performed after the layout causes a return to the RTL design or the circuit architecture study. it can.

【0082】そして、回路アーキテクチャ検討、ブロッ
ク間ネットリスト生成及びフロアプランニングを並行し
て行なうために、これらを同時に確定することができ、
しかも、これらの間の矛盾を回避することができる。
Since the circuit architecture study, the inter-block net list generation and the floor planning are performed in parallel, these can be determined simultaneously.
Moreover, inconsistencies between them can be avoided.

【0083】S5a.ステップS4で問題なし(No)
と判断された場合には、ステップS2で生成されたブロ
ック間ネットリストと、ステップS1aで生成されるク
ロックツリーを入力として、ブロック内のタイミング、
ファンアウト及びブロック面積という、論理合成のため
の合成制約条件を抽出する。
S5a. No problem in step S4 (No)
When it is determined that the timings in the blocks are input, the inter-block netlist generated in step S2 and the clock tree generated in step S1a are input.
The synthesis constraint conditions for logic synthesis, such as fanout and block area, are extracted.

【0084】S6.一方、ステップS1aで分割したブ
ロック単位に機能記述言語を用いて回路設計(RTL設
計)を行ってRTLソースを生成する。これを早い段階
で論理合成のデータとすることで、論理設計・検証と論
理合成の間の矛盾を回避することができ、早い段階でR
TLソースの品質、信頼度を確保することが可能にな
る。
S6. On the other hand, an RTL source is generated by performing circuit design (RTL design) using a functional description language for each block divided in step S1a. By using this as data for logic synthesis at an early stage, inconsistency between logic design / verification and logic synthesis can be avoided.
It is possible to ensure the quality and reliability of the TL source.

【0085】そして、RTL設計の後、対象ブロックの
機能検証項目をステップS1で分割した検証項目に従っ
て細分化すると共に、対象ブロック固有の動作確認項目
を該検証項目に追加する。これによって、要求仕様、対
象ブロックの機能及び動作に関する検証の漏れを防止す
ることができる。
After the RTL design, the function verification items of the target block are subdivided according to the verification items divided in step S1, and operation check items specific to the target block are added to the verification items. As a result, it is possible to prevent the omission of verification regarding the required specification and the function and operation of the target block.

【0086】S7a.ステップS2で生成されたブロッ
ク間ネットリストと、ステップS6で生成されたRTL
ソースを入力として、ブロック単位に論理合成を実施し
て、当該ブロックの実現規模を算出・確認し、該ブロッ
ク間ネットリストに当該ブロックの設計情報を填め込む
ことによりネットリストをビルディングブロック方式で
生成してゆく。
S7a. The inter-block netlist generated in step S2 and the RTL generated in step S6
Performs logic synthesis on a block basis using the source as input, calculates and confirms the realization scale of the block, and inserts the design information of the block into the inter-block netlist to generate a netlist in a building block manner I will do it.

【0087】具体的には、電子メールを利用した開発ツ
ールで論理合成を行なうが、この詳細は後で説明する。 S7b.ステップS5aで抽出したブロック内制約条件
を入力として、ステップS7aの論理合成で生成された
ブロック単位のネットリストに対してタイミング調整な
どをして、ブロックの最適化合成を行なう。
More specifically, logic synthesis is performed using a development tool using electronic mail. This will be described later in detail. S7b. With the in-block constraint conditions extracted in step S5a as inputs, timing adjustment is performed on the block-by-block netlist generated by the logic synthesis in step S7a, and the block is optimized and synthesized.

【0088】S12c.次いで、最適化合成が済んだブ
ロックから順にブロックレイアウトを行なう。 S12d.全てのブロックについて論理合成及び最適化
合成を終了したか否かを判断する。全てのブロックにつ
いて論理合成及び最適化合成を終了していない(No)
と判断された場合には、ステップS7aのブロック自動
論理合成に戻り、全てのブロックについて終了するまで
最適化合成までのステップを繰り返す。
S12c. Next, block layout is performed in order from the block on which the optimization synthesis has been completed. S12d. It is determined whether logic synthesis and optimization synthesis have been completed for all blocks. Logical synthesis and optimization synthesis have not been completed for all blocks (No)
If it is determined that this is the case, the flow returns to block automatic logic synthesis in step S7a, and the steps up to optimization synthesis are repeated until the processing is completed for all blocks.

【0089】S8.ステップS7bまでに算出されたブ
ロックの実現規模に問題がある(Yes)と判断された
場合にはステップS6のRTL設計に戻って設計を更新
し、問題なしと判断されるまで以降のステップを繰り返
す。
S8. If it is determined that there is a problem in the realization scale of the block calculated up to step S7b (Yes), the process returns to the RTL design in step S6 to update the design, and the subsequent steps are repeated until it is determined that there is no problem. .

【0090】S5b.ステップS8で問題なし(No)
と判断された場合には、ブロック間での論理合成制約条
件であるタイミング条件を抽出する。 S7c.ステップS5bで抽出したチップ制約条件を用
いて、チップ全体のタイミングの最適化を行なう。
S5b. No problem in step S8 (No)
If it is determined that the timing condition is satisfied, a timing condition which is a logic synthesis constraint condition between blocks is extracted. S7c. The timing of the entire chip is optimized using the chip constraints extracted in step S5b.

【0091】尚、上記ステップS5a、ステップS5b
及びステップS7cは、ブロック単位のRTL設計が終
了する度に実施する必要はない。何故なら、ステップS
5aで行なうことは、ブロック規模の大幅な増減がない
限り変化がないし,ステップS5bで行なうことは、ブ
ロックの入出力ポートの増減がない限り変化がないし、
ステップS7cで行なうことは、ブロックの入出力ポー
トの増減或いはフリップフロップ数の増減がない限り変
化がないからである。
The above steps S5a and S5b
Step S7c does not need to be performed every time the RTL design for each block is completed. Because step S
What to do in 5a does not change unless there is a significant increase or decrease in the block scale, and what to do in step S5b does not change unless there is an increase or decrease in the input / output ports of the block.
This is because there is no change unless the input / output port of the block increases or decreases or the number of flip-flops increases or decreases in step S7c.

【0092】S9a.一方、ステップS1dとステップ
S6とから生成されるブロック検証項目と、ステップS
1aでのブロック分割結果を入力として、論理検証対象
のブロックに対する入力信号を発生する機能及び出力信
号とその期待値との照合機能を備えたブロック単位のテ
ストベンチ(図3ではブロックTBと標記している。)
を生成する。
S9a. On the other hand, a block verification item generated from step S1d and step S6,
1b, a block-based test bench having a function of generating an input signal for a block to be subjected to logic verification and a function of comparing an output signal with its expected value (in FIG. 3, referred to as a block TB). ing.)
Generate

【0093】S9b.又、ステップS1cで生成される
チップ検証項目と、ステップS1aでのブロック分割結
果を入力として、チップに対する入力信号を発生する機
能及び出力信号とその期待値との照合機能を備えたチッ
プのテストベンチ(図3ではチップTBと標記してい
る。)を生成する。
S9b. Also, a chip test bench provided with a function of generating an input signal for the chip and a function of comparing an output signal with its expected value, using the chip verification items generated in step S1c and the block division result in step S1a as inputs. (In FIG. 3, this is indicated as chip TB).

【0094】S10a.ステップS6で生成したRTL
ソースと、ステップS9aとステップS9bで生成した
テストベンチと、ステップS2で生成したブロック間ネ
ットリストを入力として、ブロック単位で機能及び動作
を確認する。
S10a. RTL generated in step S6
Using the source, the test bench generated in steps S9a and S9b, and the inter-block netlist generated in step S2 as input, the function and operation are confirmed in block units.

【0095】これは、ブロックのRTLソースが想定通
りか否かを、遅延時間を考慮しないで静的に検証するも
のである。このプロセスによってRTLソースの要求仕
様に対する妥当性がブロック単位に確認されてゆくの
で、必要に応じて確認済の複数のブロックの組合せに対
する機能及び動作の確認が可能になる。つまり、ビルデ
ィングブロック方式で大規模集積回路の機能及び動作の
確認が可能になる。
This statically verifies whether or not the RTL source of the block is as expected without considering the delay time. By this process, the validity of the RTL source with respect to the required specification is confirmed in block units, so that it is possible to confirm the function and operation of a combination of a plurality of blocks that have been confirmed as necessary. That is, the function and operation of the large-scale integrated circuit can be confirmed by the building block method.

【0096】S11a.ステップS10aの結果に問題
があるか否かを判断する。もし、問題がある(Yes)
と判断された場合には、ステップS6のRTL設計に戻
って設計を更新して、問題なしと判断されるまでステッ
プS10aのブロック論理検証までを繰り返す。
S11a. It is determined whether there is a problem in the result of step S10a. If there is a problem (Yes)
When it is determined that there is no problem, the process returns to the RTL design in step S6 to update the design, and the steps up to block logic verification in step S10a are repeated until it is determined that there is no problem.

【0097】S13.ステップS11aで問題なし(N
o)と判断された場合には、ステップS2で生成された
ブロック間ネットリストと、ステップS7aで生成され
たネットリストと、ステップS9で生成されたテストベ
ンチを入力として、動作確認を行なう。
S13. No problem in step S11a (N
When it is determined as o), the operation is confirmed by using the inter-block netlist generated in step S2, the netlist generated in step S7a, and the test bench generated in step S9 as inputs.

【0098】これは、ブロックの論理合成結果のネット
リストを使って、遅延を考慮せずに静的に検証するもの
である。 S14.ステップS13でのゲート検証の結果に問題が
あるか否かを判断する。もし、問題がある(Yes)と
判断された場合にはステップS6に戻り、ステップS
6、ステップS10、ステップS11及びステップS1
3の間の処理を問題なしと判断されるまで繰り返して行
なう。
In this method, a netlist obtained as a result of logic synthesis of blocks is used to perform static verification without considering delay. S14. It is determined whether there is a problem in the result of the gate verification in step S13. If it is determined that there is a problem (Yes), the process returns to step S6 and returns to step S6.
6, Step S10, Step S11 and Step S1
The process of 3 is repeated until it is determined that there is no problem.

【0099】そして、このステップで問題なし(No)
と判断された場合には、論理設計とインプリメント設計
の間で論理の整合がとれたことになる。 S10b.ステップS9bで生成されたチップのテスト
ベンチと、ステップS6で生成されたRTLソースを入
力として、チップとしての論理検証を行なう。
Then, there is no problem in this step (No)
If it is determined that the logic has been matched between the logic design and the implementation design. S10b. Using the test bench of the chip generated in step S9b and the RTL source generated in step S6 as inputs, logic verification of the chip is performed.

【0100】これは、チップの配線も含めて論理設計が
想定通りであるか否かの検証を行なうもので、遅延時間
を考慮しない静的な検証である。 S11b.ステップS10bのチップ論理検証に問題が
あるか否かを判断する。もし、問題がある(Yes)と
判断された場合にはステップS6に戻り、ステップS
6、ステップS10、ステップS11、ステップS13
及びステップS10bの間の処理を問題なしと判断され
るまで繰り返して行なう。
This is to verify whether or not the logic design including the wiring of the chip is as expected, and is a static verification without considering the delay time. S11b. It is determined whether there is a problem in the chip logic verification in step S10b. If it is determined that there is a problem (Yes), the process returns to step S6 and returns to step S6.
6, Step S10, Step S11, Step S13
And the process between step S10b is repeatedly performed until it is determined that there is no problem.

【0101】そして、このステップで問題なし(No)
と判断された場合には、論理設計とインプリメント設計
の間でチップとして論理の整合がとれたことになる。従
って、仕様変更や論理合成との不一致がない限り、ステ
ップS6のRTL設計への後戻りはなくなる。
Then, there is no problem in this step (No)
If it is determined that the logic has been matched as a chip between the logic design and the implementation design. Therefore, as long as there is no change in the specification or inconsistency with the logic synthesis, there is no return to the RTL design in step S6.

【0102】S12a.一方、ステップS2の出力であ
るブロック間ネットリストと、ステップS1aで作成さ
れたクロックの接続情報であるクロックツリーを入力と
して、クロックドライバの駆動能力の制約とクロックス
キューの削減を考慮してクロックツリー配線をする。こ
の際、クロックスキューの削減はクロック配線を等長配
線にすることで実現する。
S12a. On the other hand, the inter-block netlist which is the output of step S2 and the clock tree which is the clock connection information created in step S1a are input, and the clock tree is formed in consideration of the restriction of the driving capability of the clock driver and the reduction of the clock skew. Make the wiring. At this time, the clock skew can be reduced by making the clock wiring the same length.

【0103】この段階でクロックスキューが生じないよ
うにできるのは、ブロック間ネットリストとフロアプラ
ンが先に決定されているためである。このように、ブロ
ック間でクロックスキューが生じないようにできるため
に、ブロック間とブロック内の設計を独立にできて、ブ
ロック内のレイアウトが進め易くなる。
The reason why the clock skew does not occur at this stage is that the inter-block netlist and the floor plan are determined first. As described above, since the clock skew can be prevented from occurring between the blocks, the design between the blocks and the design in the block can be made independent, and the layout in the block can be easily advanced.

【0104】S12b.高速で動作してタイミングの調
整が難しい高速ブロックのレイアウトを行ない、レイア
ウトデータを生成する。 S12e.ステップS12cで低速動作のブロックのレ
イアウトが行なわれ、ステップS12bで高速動作のブ
ロックのレイアウトが行なわれて、レイアウトデータに
蓄積されているので、フロアプランに従ってブロックの
配置とブロック間の配線を行ない、チップレイアウトの
結果をレイアウトデータに蓄積する。
S12b. A high-speed block that operates at high speed and whose timing is difficult to adjust is laid out, and layout data is generated. S12e. In step S12c, the low-speed operation blocks are laid out. In step S12b, the high-speed operation blocks are laid out and stored in the layout data. Therefore, the blocks are arranged and the wiring between the blocks is performed according to the floor plan. The result of the chip layout is stored in the layout data.

【0105】そして、レイアウト後にSDF(SDF;
Standard Delay File )を生成する。これは、配線の影
響も含めたセルの入出力の遅延時間を蓄積したもので、
後で説明するタイミング検証に使用され、必要に応じて
ステップS13のゲート検証においても使用される。
After layout, SDF (SDF;
Standard Delay File). This is the accumulation of the input / output delay time of the cell including the influence of the wiring.
This is used for timing verification described later, and is also used for gate verification in step S13 as needed.

【0106】このように、高速動作をするブロックのレ
イアウトと低速動作をするブロックのレイアウトを並行
して行なうのは、レイアウト設計のターンアラウンドタ
イムを短縮するためで、既にブロック間ネットリストと
フロアプランが確定している結果、これが可能になる。
The reason why the layout of the blocks operating at high speed and the layout of the blocks operating at low speed are performed in parallel in this way is to reduce the turnaround time of the layout design. As a result of this, this is possible.

【0107】即ち、従来は、高速動作をするブロックに
ついては自動による配置・配線が困難であるので、設計
者によるマニュアルでの配置・配線を優先して行ない、
低速動作をするブロックについては、高速動作をするブ
ロックの配置・配線が終了した後で自動で配置・配線を
行なっていたが、これでは高速ブロックの配置・配線が
終了するまで低速動作をするブロックの配置・配線に着
手できない。
That is, conventionally, it is difficult to automatically place and route blocks that operate at high speed, and therefore, prioritize manual placement and wiring by the designer.
For the blocks that operate at low speed, the placement and wiring were performed automatically after the placement and wiring of the blocks that operate at high speed were completed. In this case, the blocks that operate at low speed until the placement and wiring of the high-speed blocks were completed. Not be able to start placing and wiring.

【0108】しかし、本発明の開発方法によれば、この
段階でブロック間ネットリストとフロアプランが確定し
ているので、高速動作をするブロックの配置・配線の結
果を待たなくても低速動作をするブロックの配置・配線
に着手できる。
However, according to the development method of the present invention, since the inter-block netlist and the floor plan have been determined at this stage, the low-speed operation can be performed without waiting for the result of the arrangement and wiring of the high-speed operation blocks. To start arranging and wiring blocks.

【0109】繰り返しになるが、従来の開発方法では、
ブロック間ネットリストとフロアプランはレイアウト段
階以前に確定できず、往々にしてレイアウトやタイミン
グ検証の結果によってブロック間ネットリストとフロア
プランを変更せざるを得ず、大規模集積回路開発のター
ンアラウンドタイムが長かったのに対して、上記の開発
方法によってレイアウトのターンアランドタイムが短縮
され、ひいては、大規模集積回路開発のターンアラウン
ドタイムが短縮されることが容易に理解できる。
Again, in the conventional development method,
The inter-block netlist and floor plan cannot be determined before the layout stage, and the layout and timing verification results often need to change the inter-block netlist and floor plan, resulting in turnaround time for large-scale integrated circuit development. However, it can be easily understood that the above-described development method shortens the turnaround time of the layout and, consequently, the turnaround time of the development of a large-scale integrated circuit.

【0110】S15.ステップS11bでチップ論理検
証の結果に問題なし(No)と判断され、ステップS1
2eのチップレイアウトが終了した場合には、ステップ
S2で生成したブロック間ネットリストと、ステップS
7で生成したネットリストと、、ステップS9bで生成
したチップのテストベンチと、ステップS12eで生成
したSDFを入力としてタイミング検証を行なう。
S15. In step S11b, it is determined that there is no problem (No) in the result of the chip logic verification, and step S1
When the chip layout of 2e is completed, the inter-block netlist generated in step S2 and the
7. The timing verification is performed using the netlist generated in step 7, the test bench of the chip generated in step S9b, and the SDF generated in step S12e as inputs.

【0111】これは、レイアウト後に求められたSDF
を使い、セルと配線の遅延時間まで含めて動的に検証す
るものである。 S16.ステップS15でのタイミング検証に問題があ
るか否かを判断して、フロアプラン及びレイアウトの妥
当性を確認する。
This is the SDF obtained after layout.
And dynamically verifying up to the delay time of the cell and wiring. S16. It is determined whether there is a problem in the timing verification in step S15, and the validity of the floor plan and the layout is confirmed.

【0112】もし、問題がある(Yes)と判断された
場合には、ステップS7aに戻り、ステップS7a、ス
テップS7b、ステップS7cの論理合成と、ステップ
S12a、ステップS12b、ステップS12cのレイ
アウトの間を問題なしと判断されるまで繰り返して行な
う。
If it is determined that there is a problem (Yes), the process returns to step S7a, where the logic synthesis of steps S7a, S7b, and S7c and the layout of steps S12a, S12b, and S12c are performed. Repeat until there is no problem.

【0113】そして、ステップS16で問題なし(N
o)と判断された場合には大規模集積回路の設計が終了
する。全体としては、回路アーキテクチャ検討と並行し
て行なうブロック間ネットリスト生成とフロアプランニ
ングの出力を論理設計・検証、論理合成及びインプリメ
ント設計の共通のデータとして、論理設計・検証、論理
合成及びインプリメント設計を同時に進めてゆく。
Then, in step S16, there is no problem (N
When it is determined as o), the design of the large-scale integrated circuit ends. As a whole, the output of the inter-block netlist generation and floorplanning, which is performed in parallel with the study of the circuit architecture, is used as the common data for logic design / verification, logic synthesis, and implementation design. We will proceed at the same time.

【0114】まず、論理設計では、インプリメント設計
を意識したブロック間ネットリスト、フロアプランに沿
って、ブロック単位に要求仕様に対する回路アーキテク
チャの妥当性を確認しながらRTL設計と論理検証を進
めてゆく。
First, in the logical design, the RTL design and the logic verification are advanced in accordance with the inter-block netlist and the floor plan in consideration of the implementation design, while confirming the validity of the circuit architecture for the required specifications in block units.

【0115】又、論理合成では、ブロック単位にRTL
設計されたRTLソースを入力として論理合成し、その
結果をブロック間ネットリストの中に填め込んでネット
リストを生成し、更にブロック及びチップの最適化合成
をする。
In the logic synthesis, the RTL is used for each block.
Logic synthesis is performed using the designed RTL source as an input, the result is inserted into an inter-block net list to generate a net list, and further, an optimized synthesis of blocks and chips is performed.

【0116】一方、インプリメント設計では、RTL設
計開始までに完結させたフロアプランとブロック間ネッ
トリストを基準に、ブロック単位のレイアウトとチップ
のレイアウトを逐次進めてゆく。この際、高速ブロック
と低速ブロックのレイアウト設計を並行して行なって、
レイアウト設計のターンアラウンドタイムの短縮を計っ
ている。
On the other hand, in the implementation design, the layout of the block and the layout of the chip are sequentially advanced based on the floor plan and the inter-block netlist completed before the start of the RTL design. At this time, the layout design of the high-speed block and the low-speed block is performed in parallel,
It aims to shorten the turnaround time of layout design.

【0117】このコンカレントな設計作業により、設計
工程中のフィードバックループが短くなる。特に、最終
工程であるタイミング検証の結果によって、最初の工程
である回路アーキテクチャ検討へのフィードバックが生
ずることがなくなるため、フィードバックによる設計作
業の混乱、輻輳を防止できる。
The feedback loop during the design process is shortened by this concurrent design work. In particular, since the result of the timing verification as the final step does not cause feedback to the circuit architecture study as the first step, confusion and congestion in the design work due to the feedback can be prevented.

【0118】ここまでは、大規模集積回路開発の全体工
程を通した説明をしてきたが、以降は、その主要工程の
説明と、論理合成に適用する開発ツールについて個別に
説明する。
Although the description has been made throughout the entire process of developing a large-scale integrated circuit, the main steps and the development tools applied to logic synthesis will be described individually.

【0119】図4は、回路アーキテクチャ検討の詳細手
順である。回路アーキテクチャの検討では、図4のフロ
ーチャート中の左側に配置してある、両サイドが丸い形
状のブロック中に記載されている複数の制約条件を与え
て検討し、制約条件が全て満足されるまで検討を繰り返
す。
FIG. 4 is a detailed procedure for examining the circuit architecture. In the examination of the circuit architecture, a plurality of constraints described in a block having a round shape on both sides, which are arranged on the left side in the flowchart of FIG. 4, are given and examined, and until all the constraints are satisfied. Repeat the examination.

【0120】以降、図4の各ステップに付した符号に沿
って回路アーキテクチャ検討の詳細手順について説明す
る。尚、図4において、太い矢印付実線は開発の流れを
示し、細い矢印付破線はデータの流れを示し、細い矢印
付実線は制約条件の参照を意味している。
Hereinafter, the detailed procedure for examining the circuit architecture will be described along the reference numerals assigned to the respective steps in FIG. In FIG. 4, a solid line with a thick arrow indicates a flow of development, a broken line with a thin arrow indicates a flow of data, and a solid line with a thin arrow indicates reference to a constraint condition.

【0121】S21.要求仕様より、開発対象の大規模
集積回路の位置づけを明確にして、求められている機能
を漏れなく抽出する。 S22.チップ全体として機能を満足させるための機能
構成(機能の組合せ)を検討して、機能毎に大きく分割
する。
S21. From the required specifications, clarify the position of the large-scale integrated circuit to be developed and extract the required functions without omission. S22. A function configuration (combination of functions) for satisfying the functions of the entire chip is examined, and the functions are largely divided for each function.

【0122】S23.動作速度、機能、ブロック間ネッ
ト数を制約条件として、ステップS22のチップ機能分
割の結果を更に細かく分割して、チップをブロックに分
割する。
S23. With the operating speed, the function, and the number of nets between blocks as constraints, the result of the chip function division in step S22 is further subdivided to divide the chip into blocks.

【0123】この際、動作速度に関しては、高速動作部
と低速動作部を分割し、機能については、共通化できる
機能と個別機能に分割し、ブロック間ネット数について
は、ブロック間ネット数が最小になるように分割する。
At this time, with regard to the operation speed, the high-speed operation unit and the low-speed operation unit are divided, and the functions are divided into functions that can be shared and individual functions. Divide so that

【0124】S24.ブロック内のゲート規模を制約条
件に、ブロックの規模を見積もる。このゲート規模見積
りは、ブロック単位の論理合成の実現性、レイアウト設
計のターンアラウンドタイムの短縮及びフロアプランニ
ングの融通性(ブロックの移動可能性)のために行な
う。
S24. The size of a block is estimated using the gate size in the block as a constraint. The estimation of the gate size is performed for the feasibility of logic synthesis in block units, the reduction of turnaround time in layout design, and the flexibility of floor planning (movability of blocks).

【0125】S25.ステップS24のゲート規模見積
りの結果に問題があるか否かを判断する。問題がある
(Yes)場合には、ステップS23のブロック分割に
戻って、分割を変更して問題なしと判断されるまでステ
ップS23及びステップS24を繰り返す。
S25. It is determined whether there is a problem in the result of the gate size estimation in step S24. If there is a problem (Yes), the process returns to block division in step S23, and the division is changed and steps S23 and S24 are repeated until it is determined that there is no problem.

【0126】S26.ステップS25で問題なし(N
o)と判断された場合、これまでに確定したブロックに
ついて、ブロック間の配線可能性のためにブロック間ネ
ット数を制約条件とし、又、クロックの駆動可能性のた
めにステップS24で算出したフリップフロップ群を規
定数以内でグループ化して、クロックポートを含むブロ
ックのポートを定義する。
S26. No problem in step S25 (N
If it is determined as o), for the blocks determined so far, the number of nets between blocks is set as a constraint for the possibility of wiring between the blocks, and the flip-flop calculated in step S24 for the driveability of the clock. Groups are grouped within a specified number to define the ports of the block including the clock port.

【0127】特に、クロックポートへのフリップフロッ
プの割付を説明する図である図5を使って、クロックポ
ートの定義に関して説明する。図5(イ)は、ステップ
S24で得たフリップフロップ群の見積り結果で、この
場合、20個のフリップフロップが必要という結果を得
ており、一種類のクロックが供給されるものとして図示
している。
In particular, the definition of a clock port will be described with reference to FIG. 5, which is a diagram illustrating the assignment of flip-flops to clock ports. FIG. 5A shows the estimation result of the flip-flop group obtained in step S24. In this case, the result that 20 flip-flops are required is obtained, and it is shown that one kind of clock is supplied. I have.

【0128】そして、クロック線1本でのフリップフロ
ップの駆動能力が5個であると仮定すると、20個のフ
リップフロップ群を5個ずつ4つのグループに分割し
て、1つのグループに1本のクロック配線を接続すれば
よい。
Assuming that the driving capability of the flip-flop with one clock line is five, the group of twenty flip-flops is divided into four groups of five, and one group is divided into one group. A clock wiring may be connected.

【0129】これを行なった結果を図5(ロ)に示す。 S27.ステップS26の結果に問題があるか否かを判
断する。問題がある(Yes)と判断された場合には、
ステップS23のブロック分割に戻り、ステップS2
3、ステップS24及びステップS26を繰り返す。
FIG. 5B shows the result of this operation. S27. It is determined whether there is a problem in the result of step S26. If you determine that there is a problem (Yes),
Returning to the block division in step S23, step S2
3. Steps S24 and S26 are repeated.

【0130】S28.ステップS27で問題なし(N
o)と判断された場合には、クロックの駆動能力に関す
るテクノロジー毎のクロックバッファの制約条件に基づ
いて、クロックツリーを作成する。ここで作成されるク
ロックツリーは、クロックの接続情報である。
S28. No problem in step S27 (N
If it is determined to be o), a clock tree is created based on the clock buffer constraint conditions for each technology related to the clock driving capability. The clock tree created here is clock connection information.

【0131】S29.ステップS28で得たクロックツ
リーに問題があるか否かを判断する。問題がある(Ye
s)と判断された場合には、ステップS23のブロック
分割に戻り、ステップS23、ステップS24、ステッ
プS26を問題なしと判断されるまで繰り返し、クロッ
クツリーを完成させる。
S29. It is determined whether there is a problem in the clock tree obtained in step S28. There is a problem (Ye
If determined to be s), the process returns to block division in step S23, and steps S23, S24, and S26 are repeated until it is determined that there is no problem, thereby completing the clock tree.

【0132】この段階でクロックツリーを完成させるこ
とにより、論理設計に先行してブロックへのクロック分
配を確定でき、論理設計とインプリメント設計設計の間
でのクロックに関する矛盾発生を防止することができ
る。
By completing the clock tree at this stage, the clock distribution to the blocks can be determined prior to the logic design, and the occurrence of clock inconsistency between the logic design and the implementation design can be prevented.

【0133】S30.ステップS29で問題なし(N
o)と判断された場合には、ステップS23のブロック
分割の結果、ステップS24のゲート見積りの結果、ス
テップS26のブロックポートの定義及びステップS2
8で作成されたクロックツリーを入力としてフロアプラ
ンニングを行なう。
S30. No problem in step S29 (N
If determined to be o), the result of the block division in step S23, the result of the gate estimation in step S24, the definition of the block port in step S26, and the step S2
Floor planning is performed using the clock tree created in step 8 as an input.

【0134】この段階で、机上検討したフロアプランの
草案ができあがる。 S31.ステップS30で得られたフロアプランの整合
性に問題があるか否か、即ち、ブロック間配線領域も考
慮してブロックをチップに敷詰めることができるか否か
を判断する。もし、整合性に問題がある(Yes)と判
断された場合には、ステップS23に戻り、問題なしと
判断されるまで以降の検討を繰り返す。
At this stage, a draft of the floor plan examined on the desk is completed. S31. It is determined whether or not there is a problem with the consistency of the floor plan obtained in step S30, that is, whether or not the blocks can be laid on the chip in consideration of the inter-block wiring area. If it is determined that there is a problem with the consistency (Yes), the process returns to step S23, and the subsequent examination is repeated until it is determined that there is no problem.

【0135】S32.ステップS31で問題なし(N
o)と判断された場合には、テクノロジーから決まる同
時スイッチング数の制約を考慮して大規模集積回路の端
子配置を定義する。
S32. No problem in step S31 (N
When it is determined as o), the terminal arrangement of the large-scale integrated circuit is defined in consideration of the restriction on the number of simultaneous switching determined by the technology.

【0136】S33.ステップS32で定義された端子
配置に問題があるか否かを判断する。もし、端子配置に
問題がある(Yes)、即ち、同時スイッチング数に関
する制約違反があると判断された場合には、ステップS
30のフロアプランニングに戻って、テクノロジーの制
約を満足する端子配置が可能なようにフロアプランニン
グを繰り返し行なう。
S33. It is determined whether there is a problem with the terminal arrangement defined in step S32. If there is a problem with the terminal arrangement (Yes), that is, if it is determined that there is a constraint violation regarding the number of simultaneous switching, step S
Returning to the floor planning of 30, the floor planning is repeatedly performed so that the terminal arrangement satisfying the restrictions of the technology can be performed.

【0137】このステップで問題なし(No)と判断さ
れた場合には、回路アーキテクチャの検討が終了する。
図6は、物理インタフェース情報の生成手順、即ち、ブ
ロック間ネットリストの生成手順である。
If it is determined that there is no problem (No) in this step, the examination of the circuit architecture is completed.
FIG. 6 shows a procedure for generating physical interface information, that is, a procedure for generating a netlist between blocks.

【0138】以降、図6の各ステップに付した符号に沿
って物理インタフェース情報の生成手順を説明する。
尚、図6において、太い矢印付実線は開発の流れを示
し、細い矢印付破線はデータの流れを示している。
Hereinafter, the procedure for generating the physical interface information will be described along the reference numerals assigned to the respective steps in FIG.
In FIG. 6, a solid line with a thick arrow indicates a flow of development, and a broken line with a thin arrow indicates a flow of data.

【0139】S41.このステップは、図2、図3など
で説明した回路アーキテクチャ検討のステップで、ポー
トの名称、入出力情報、ビット幅のブロックポート情報
を定義する。
S41. This step is a step of examining the circuit architecture described with reference to FIGS. 2 and 3 and the like, and defines a port name, input / output information, and block port information of bit width.

【0140】S42.ステップS41で生成したブロッ
クポート情報を入力として、ブロック単位のポートリス
トを生成する。このブロック単位のポートリストはRT
L設計でも使用される。
S42. The block port information generated in step S41 is input to generate a port list for each block. The port list of this block unit is RT
Also used in L design.

【0141】S43.ステップS42で生成したブロッ
ク単位のポートリストと大規模集積回路の端子配置情報
を入力として、同一名称のポートを接続してブロック間
ネットリストを生成する。
S43. The port list having the same name is connected by using the port list of the block unit generated in step S42 and the terminal arrangement information of the large-scale integrated circuit as inputs, and a net list between blocks is generated.

【0142】図7は、ブロック間ネットの生成を概念的
に示す図である。図7において、小さい丸印はブロック
のポート(図7(イ)に示す。)、小さい三角印は表し
た大規模集積回路(チップ)のポート(図7(ロ)に示
す。)である。そして、ブロックポート間とブロックポ
ートとチップポートを接続してブロック間ネット(図7
(ハ)に示す。)を生成する。このブロックポート間の
接続情報とブロックポートとチップポートの接続情報を
リスト化したものがブロック間ネットリストである。
FIG. 7 is a diagram conceptually showing generation of an inter-block net. In FIG. 7, a small circle indicates a port of a block (shown in FIG. 7A), and a small triangle indicates a port of a large-scale integrated circuit (chip) shown (shown in FIG. 7B). Then, by connecting the block ports and the block port and the chip port, an inter-block net (FIG. 7)
(C) is shown. ). A list of the connection information between the block ports and the connection information between the block ports and the chip ports is an inter-block netlist.

【0143】ここで生成されるブロック間ネットリスト
は、論理検証、ゲート検証、タイミング検証の共通のデ
ータ、即ち、論理設計とインプリメント設計の共通のデ
ータとして使用される。
The inter-block netlist generated here is used as common data for logic verification, gate verification, and timing verification, that is, common data for logic design and implementation design.

【0144】このため、論理設計とインプリメント設計
を並行して行なっても、例えば、ブロック間のインタフ
ェースの矛盾がなくなり、並行して行なう論理設計とイ
ンプリメント設計の結果の品質または信頼度を向上させ
ることができる。
Therefore, even if the logic design and the implementation design are performed in parallel, for example, the inconsistency of the interface between the blocks is eliminated, and the quality or reliability of the result of the logic design and the implementation design performed in parallel is improved. Can be.

【0145】次いで、論理合成に関して説明するが、そ
れに先立って論理合成に使用する開発ツールについて説
明した後で、その開発ツールを使用する論理合成につい
て説明する。
Next, the logic synthesis will be described. Prior to that, the development tool used for the logic synthesis will be described, and then the logic synthesis using the development tool will be described.

【0146】図8は、本発明の大規模集積回路の開発ツ
ールの構成である。図8において、1は開発ツールの構
成要素を接続するネットワークで、例えば図8に記載し
てある如く、イーサネットを適用する。2は監視サーバ
で、RTL設計の結果であるRTLソースを常時監視す
るプログラムを搭載している。3a及び3bはRTL設
計する設計者が操作する設計端末である。4はメールサ
ーバで、開発ツール内を転送される種々のメールを配信
する。5はファイルサーバで、RTLソースを格納す
る。6は合成サーバで、RTL設計が終了したブロック
について論理合成を行なう。
FIG. 8 shows a configuration of a development tool for a large-scale integrated circuit according to the present invention. In FIG. 8, reference numeral 1 denotes a network for connecting the components of the development tool, and for example, Ethernet is applied as shown in FIG. Reference numeral 2 denotes a monitoring server on which a program for constantly monitoring the RTL source as a result of the RTL design is mounted. Design terminals 3a and 3b are operated by a designer who designs the RTL. A mail server 4 distributes various mails transferred in the development tool. Reference numeral 5 denotes a file server which stores an RTL source. Reference numeral 6 denotes a synthesis server which performs logic synthesis on the blocks for which the RTL design has been completed.

【0147】図8の開発ツールの動作モードには、RT
L監視モードと、論理合成モードとがある。その概要は
下記の通りである。まず、RTL監視モードの場合に
は、設計端末3a及び3bから監視サーバ2にRTL監
視コマンドを電子メールすると、該監視サーバ2は受信
メール内のコマンドをチェックし、規定のフォーマット
のコマンドであれば監視プログラムを起動してRTL監
視を開始し、新規作成又は更新されたRTLソースの有
無と版数を確認し、該当するRTLソースがあれば設計
端末及び合成サーバに電子メールで通知する。設計端末
では、このメールによって論理合成対象のRTLソース
とその版数を確認でき、誤った版数のRTLソースが論
理合成されることや、版数の更新漏れを回避できる。
The operation mode of the development tool shown in FIG.
There are an L monitoring mode and a logic synthesis mode. The outline is as follows. First, in the case of the RTL monitoring mode, when an RTL monitoring command is e-mailed from the design terminals 3a and 3b to the monitoring server 2, the monitoring server 2 checks the command in the received mail, and if the command has a prescribed format, The monitoring program is started to start RTL monitoring, the presence or absence and the version number of a newly created or updated RTL source are confirmed, and if there is a corresponding RTL source, the design terminal and the synthesis server are notified by e-mail. The design terminal can confirm the RTL source to be subjected to logic synthesis and its version number by this mail, and can prevent the RTL source of the wrong version number from being logic-synthesized and omit omission of version number update.

【0148】次に、論理合成モードの場合には次のよう
に動作する。即ち、ブロック毎に新規にRTL設計が終
了したり、RTL設計の更新が完了すると、監視サーバ
2から合成サーバ6に合成依頼のメールが送信される。
該合成依頼メールを受信した合成サーバ6はメールが正
しい内容であることを確認すると論理合成を実行する。
論理合成完了後は該合成サーバ6は論理合成の結果をレ
ポートとして設計端末に送信する。(正確には、論理合
成の結果のレポートは設計端末に直接送信されるのでは
なく、設計者固有のメール箱に送信され、設計者がその
メール箱を見にゆくというプロセスが取られるが、ここ
では一貫して「設計端末に送信」という表現を用いるこ
とにする。)これにより、設計端末側では論理合成の妥
当性を確認することができる。論理合成の妥当性が確認
できなかった場合にはRTL設計をやり直して、論理合
成の妥当性が確認されるまで論理合成を繰り返す。又、
設計端末から合成サーバにRTLソースをメールする
と、受信メールからRTLソースを切り出してファイル
サーバに格納する。格納されたRTLソースは、RTL
ソースを常時監視している監視サーバ2によって新規フ
ァイルと認識され、上記のフローによって論理合成でき
るようになる。
Next, in the case of the logic synthesis mode, the operation is performed as follows. That is, when the RTL design is newly completed for each block or when the update of the RTL design is completed, the monitoring server 2 sends a synthesis request mail to the synthesis server 6.
Upon receiving the synthesis request mail, the synthesis server 6 confirms that the mail has the correct content, and executes logical synthesis.
After completion of the logic synthesis, the synthesis server 6 sends the result of the logic synthesis as a report to the design terminal. (Actually, instead of sending a report of the synthesis result directly to the design terminal, it is sent to the designer's own mailbox, and the designer goes to the mailbox, Here, the expression “transmit to the design terminal” is used consistently.) Thereby, the design terminal can confirm the validity of the logic synthesis. If the validity of the logic synthesis cannot be confirmed, the RTL design is redone and the logic synthesis is repeated until the validity of the logic synthesis is confirmed. or,
When the RTL source is mailed from the design terminal to the synthesis server, the RTL source is cut out from the received mail and stored in the file server. The stored RTL source is RTL
The file is recognized as a new file by the monitoring server 2 which constantly monitors the source, and can be logically synthesized by the above flow.

【0149】図9は、RTL監視モードの機能を説明す
る図である。図9において、1は開発ツールの構成要素
を接続するネットワークで、例えば図8に記載してある
如く、イーサネットを適用する。2は監視サーバで、R
TL設計の結果であるRTLソースを常時監視するプロ
グラムを搭載している。3a及び3bはRTL設計する
設計者が操作する設計端末である。4はメールサーバ
で、開発ツール内を転送される種々のメールの送受信を
司る。5はファイルサーバで、設計結果のRTLソース
を格納する。
FIG. 9 is a diagram for explaining the function of the RTL monitoring mode. In FIG. 9, reference numeral 1 denotes a network for connecting the components of the development tool, for example, Ethernet as shown in FIG. 2 is a monitoring server, R
A program for constantly monitoring the RTL source as a result of the TL design is installed. Design terminals 3a and 3b are operated by a designer who designs the RTL. A mail server 4 controls transmission and reception of various mails transferred in the development tool. Reference numeral 5 denotes a file server which stores an RTL source of a design result.

【0150】そして、該監視サーバは新規又は更新され
たRTLソースが該ファイルサーバ内に格納されている
場合に、該メールサーバを経由して設計端末に電子メー
ルによって通知する他に、RTLソースの更新に対応し
てRTLソースの版数を管理する機能を備えている。
When the new or updated RTL source is stored in the file server, the monitoring server notifies the design terminal via the mail server by e-mail, and also notifies the design terminal of the RTL source. It has a function of managing the version number of the RTL source in response to the update.

【0151】該設計端末3a及び3bは、該監視サーバ
2に対して電子メールを送信して、該監視サーバ2に搭
載されている監視プログラムを起動する。又、該メール
サーバが司るメールは、該監視サーバ2の監視機能を実
現するメール、該監視サーバ2が監視した結果を設計端
末3a又は3bに送信するメール、及び、該設計端末3
a又は3bからの監視開始コマンドメールなどである。
The design terminals 3a and 3b send an e-mail to the monitoring server 2 and activate a monitoring program mounted on the monitoring server 2. The mail managed by the mail server includes a mail for realizing a monitoring function of the monitoring server 2, a mail for transmitting a result monitored by the monitoring server 2 to the design terminal 3a or 3b,
a or a monitoring start command mail from 3b.

【0152】図3によって詳細に説明した如く、RTL
設計と論理検証がブロック単位に並行して行なわれてゆ
き、RTLソースに設計ミスがあれば随時更新され検証
されてゆくため、新規または更新されたRTLソースが
あるか否かとその版数を確実に管理しないと、誤った版
数のRTLソースによって論理合成が行なわれたり、特
定のブロックについて論理合成の実行が漏れてしまうこ
とがあり、結果として論理設計とインプリメント設計の
間に不整合が生ずる恐れがある。
As described in detail with reference to FIG.
Design and logic verification are performed in block units in parallel. If there is a design error in the RTL source, it is updated and verified as needed, so it is necessary to check whether there is a new or updated RTL source and its version number. Otherwise, logic synthesis may be performed by an incorrect version of RTL source, or execution of logic synthesis may be omitted for a specific block, resulting in inconsistency between logic design and implementation design. There is fear.

【0153】そこで、RTLソースを監視するサーバを
配置して監視することによって、この不整合を回避する
ことが可能になるために、設計者が最新のRTLソース
について論理合成が行なわれているか否かを意識しなく
ても、正しいRTLソースについて論理合成を実行する
ことができる。
Therefore, by arranging and monitoring a server for monitoring the RTL source, it is possible to avoid this inconsistency. The logic synthesis can be executed for the correct RTL source without being aware of this.

【0154】図10は、RTLソース監視の概略手順で
ある。以降、図10の各ステップに付してある符号に沿
ってRTL監視の手順を説明する。尚、図10における
太い矢印付実線は監視サーバにおけるRTLソース監視
の流れを示し、細い矢印付実線は他の構成要素との間の
処理の関係を示し、細い矢印付破線はデータの流れを示
している。
FIG. 10 shows a schematic procedure of RTL source monitoring. Hereinafter, the RTL monitoring procedure will be described along the reference numerals attached to the respective steps in FIG. It should be noted that the solid line with a thick arrow in FIG. 10 indicates the flow of RTL source monitoring in the monitoring server, the solid line with a thin arrow indicates the relationship between processing with other components, and the broken line with a thin arrow indicates the flow of data. ing.

【0155】まず、設計端末3a又は3bからRTL監
視開始コマンドメールが送信される。 S51.監視サーバがメールの受信を待機している。
First, an RTL monitoring start command mail is transmitted from the design terminal 3a or 3b. S51. The monitoring server is waiting for mail.

【0156】S52.もし、メールの受信がない(N
o)場合には、ステップS51に戻ってメール受信の待
機を継続する。 S53.ステップS52において、メールの受信があっ
た(Yes)場合には、受信コマンドをチェックする。
S52. If no mail is received (N
In the case of o), the flow returns to step S51 to continue waiting for the mail reception. S53. In step S52, if a mail has been received (Yes), the received command is checked.

【0157】S54.もし、予め定めたフォーマットの
コマンドではない(No)と判断した場合には、ステッ
プS51に戻ってメール受信の待機に入る。 S55.ステップS54で予め定めたフォーマットのコ
マンドである(Yes)と判断した場合には、監視プロ
グラムを起動して、RTLソースの格納アドレス、プロ
ジェクト名及び大規模集積回路名より成るRTL監視デ
ータを生成する。
S54. If it is determined that the command is not a command of a predetermined format (No), the process returns to step S51 to wait for mail reception. S55. If it is determined in step S54 that the command has a predetermined format (Yes), the monitoring program is started to generate RTL monitoring data including the storage address of the RTL source, the project name, and the name of the large-scale integrated circuit. .

【0158】S56.新規設計のRTLソース又は更新
されたRTLソースがあるか否かをチェックする。 S57.ステップS56のチェックの結果、新規又は更
新RTLソースがない(No)と判断された場合には、
ステップS56に戻ってチェックを続ける。
S56. Check if there is a newly designed RTL source or an updated RTL source. S57. As a result of the check in step S56, when it is determined that there is no new or updated RTL source (No),
Returning to step S56, the check is continued.

【0159】S58.ステップS56のチェックの結
果、ステップS57で新規又は更新RTLソースがある
(Yes)と判断された場合には、該RTL監視データ
を設計端末3a及び3bと、合成サーバ6に電子メール
で送信して、RTL監視手順を終了する。
S58. As a result of the check in step S56, if it is determined in step S57 that there is a new or updated RTL source (Yes), the RTL monitoring data is transmitted to the design terminals 3a and 3b and the synthesizing server 6 by e-mail. , End the RTL monitoring procedure.

【0160】これにより、設計端末側では該当するRT
Lソースが存在すること、及びその版数を確認すること
ができる。又、新規に設計されたか更新されたRTLソ
ース即ち最新のRTLソースが存在すると監視サーバは
合成サーバに論理合成を依頼するので、最新のRTLソ
ースについて漏れなく論理合成を実行することができ
る。
As a result, on the design terminal side, the corresponding RT
It is possible to confirm that the L source exists and its version number. When a newly designed or updated RTL source, that is, the latest RTL source is present, the monitoring server requests the synthesizing server to perform the logic synthesis, so that the logic synthesis can be executed without fail for the latest RTL source.

【0161】図11は、上記RTL監視の概略手順にお
ける、設計端末3a又は3bからRTL監視開始コマン
ドメールを受信した後に監視サーバが行なうRTL監視
データ生成の手順、図12はRTL監視開始コマンドの
例である。
FIG. 11 shows a procedure of RTL monitoring data generation performed by the monitoring server after receiving an RTL monitoring start command mail from the design terminal 3a or 3b in the general procedure of the RTL monitoring, and FIG. 12 shows an example of the RTL monitoring start command. It is.

【0162】以降、図12のRTL監視開始コマンドを
参照しながら、図11の各ステップに付した符号に沿っ
てRTL監視データの生成手順について詳細に説明す
る。尚、図11の太い実線はRTL監視データ生成の流
れを示し、細い矢印付破線はデータの流れを示してい
る。
Hereinafter, the generation procedure of the RTL monitoring data will be described in detail along the reference numerals assigned to the respective steps in FIG. 11 with reference to the RTL monitoring start command in FIG. Note that the thick solid line in FIG. 11 indicates the flow of RTL monitoring data generation, and the thin broken line with an arrow indicates the flow of data.

【0163】S61.電子メールの受信を待機してい
る。 S62.電子メールを受信したか否かを判断する。も
し、電子メールの受信がない(No)と判断された場合
には、ステップS61に戻って受信待機を継続する。
S61. Waiting to receive email. S62. It is determined whether an e-mail has been received. If it is determined that no e-mail has been received (No), the process returns to step S61 to continue waiting for reception.

【0164】S63.ステップS62で電子メールの受
信があった(Yes)と判断された場合には、受信した
電子メールに搭載されているコマンドを解析する。正規
のRTL監視開始コマンドメールには、図12に例示す
る如く、ヘッダ部に配信先のメールアドレス、RTL監
視開始コマンドである“monitoron”が、ボデ
ィ部にRTLソースの格納アドレス、RTLソースを特
定する名称であるプロジェクト名及び大規模集積回路名
が搭載されている。
S63. If it is determined in step S62 that the e-mail has been received (Yes), the command contained in the received e-mail is analyzed. As shown in FIG. 12, in the regular RTL monitoring start command mail, the mail address of the delivery destination, “monitoron” as the RTL monitoring start command are specified in the header part, and the storage address of the RTL source and the RTL source are specified in the body part. And a large-scale integrated circuit name.

【0165】尚、プロジェクト名と大規模集積回路名の
ように階層化した名称情報を搭載するのは、同一名称の
大規模集積回路が異なるプロジェクトで使われていて
も、正しく特定できるようにするためである。
It should be noted that the use of hierarchical name information such as a project name and a large-scale integrated circuit name allows a large-scale integrated circuit with the same name to be correctly specified even if it is used in different projects. That's why.

【0166】S64.正規のRTL監視開始コマンド
“monitor on”が搭載されているか否かを判
断する。 S65.ステップS63でのコマンド解析の結果、正規
のRTL監視開始コマンド“monitor on”が
搭載されていない(No)と判断された場合には、エラ
ーであることを示すエラーメールを設計端末に送信し、
ステップS61に戻って電子メール受信待機を継続す
る。
S64. It is determined whether or not a regular RTL monitoring start command “monitor on” is mounted. S65. As a result of the command analysis in step S63, when it is determined that the regular RTL monitoring start command “monitor on” is not mounted (No), an error mail indicating an error is transmitted to the design terminal,
Returning to step S61, the e-mail reception standby is continued.

【0167】これにより、無関係な電子メールによる誤
処理を防止することができる。 S66.ステップS64で正規のRTL監視開始コマン
ド“monitoron”が搭載されている(Yes)
と判断された場合には、受信したメールからRTLソー
スの格納アドレスとRTLソースの名称情報を抽出す
る。
As a result, erroneous processing due to irrelevant electronic mail can be prevented. S66. In step S64, a proper RTL monitoring start command "monitoron" is mounted (Yes).
If it is determined, the storage address of the RTL source and the name information of the RTL source are extracted from the received mail.

【0168】S67.ステップS66で抽出したRTL
ソースの格納アドレスとRTLソースの名称情報をキー
に、RTL監視データを検索する。 S68.当該RTLソースが既に監視中のRTLソース
であるか否かを判断する。もし、当該RTLソースが既
に監視中のRTLソースである(Yes)と判断される
場合には、何も処理せずにステップS61に戻り、電子
メール受信の待機に入る。
S67. RTL extracted in step S66
The RTL monitoring data is searched using the storage address of the source and the name information of the RTL source as keys. S68. It is determined whether the RTL source is an RTL source that is already being monitored. If it is determined that the RTL source is the RTL source that is already being monitored (Yes), the process returns to step S61 without performing any processing, and waits for reception of an e-mail.

【0169】これにより、複数の設計者が独立にRTL
監視を要求しても、監視動作自体の重複を避けることが
できるようになる。 S69.ステップS68で当該RTLソースが監視中の
RTLソースでない(No)と判断された場合には、指
定された格納アドレスを検索する。
Thus, a plurality of designers can independently execute RTL.
Even if monitoring is requested, duplication of the monitoring operation itself can be avoided. S69. If it is determined in step S68 that the RTL source is not the monitored RTL source (No), the specified storage address is searched.

【0170】S70.指定された格納アドレスが実在す
るか否かを判断する。 S71.ステップS70で指定された格納アドレスが実
在しない(No)と判断された場合には、エラーメール
を送信してステップS61に戻り、電子メール受信の待
機に入る。
S70. It is determined whether the specified storage address actually exists. S71. If it is determined in step S70 that the designated storage address does not exist (No), an error mail is transmitted, and the process returns to step S61 to wait for reception of an e-mail.

【0171】S72.ステップS70で指定された格納
アドレスが実在する(Yes)と判断された場合には、
プロジェクト名と大規模集積回路名の如く階層を持たせ
た名称で監視サーバ内に監視用のRTLソース格納場所
を確保し、指定格納アドレス間でRTLソースを比較し
てRTL監視を実行する。
S72. If it is determined in step S70 that the storage address specified actually exists (Yes),
An RTL source storage location for monitoring is secured in the monitoring server with a hierarchical name such as a project name and a large-scale integrated circuit name, and RTL monitoring is performed by comparing RTL sources between designated storage addresses.

【0172】S73.指定されたデータを監視データに
格納する。 S74.受け付けたデータを全ての設計端末に送信して
RTL監視データ生成の手順を終了する。
S73. Stores the specified data in the monitoring data. S74. The received data is transmitted to all the design terminals, and the procedure of generating the RTL monitoring data ends.

【0173】図13は、上記RTL監視データによるR
TLソース監視の手順、図14はRTL監視結果返信メ
ールの例である。以降、図14のRTL監視結果返信メ
ールを参照しながら、図13の各ステップに付した符号
に沿ってRTL監視の手順を説明する。尚、図13にお
いて、太い矢印付実線はRTL監視の流れを示し、細い
矢印付破線はデータの流れを示している。
FIG. 13 shows an example of the R based on the RTL monitoring data.
FIG. 14 shows an example of the RTL monitoring result reply mail. Hereinafter, the RTL monitoring procedure will be described along the reference numerals attached to the respective steps in FIG. 13 with reference to the RTL monitoring result reply mail in FIG. In FIG. 13, a solid line with a thick arrow indicates a flow of RTL monitoring, and a broken line with a thin arrow indicates a flow of data.

【0174】S81.図11中に示した監視データから
プロジェクト名、大規模集積回路名、格納アドレスを抽
出する。 S82.監視サーバ内に対象となる上記データが存在す
るか否かを判断する。
S81. The project name, large-scale integrated circuit name, and storage address are extracted from the monitoring data shown in FIG. S82. It is determined whether the target data exists in the monitoring server.

【0175】S83.ステップS82で上記データが存
在しない(No)と判断された場合には、ファイルサー
バ内の格納アドレスから対象となるRTLソースをファ
イルサーバから監視サーバに複写する。
S83. If it is determined in step S82 that the data does not exist (No), the target RTL source is copied from the file server to the monitoring server from the storage address in the file server.

【0176】S84.ステップS82で上記データが存
在する(Yes)と判断された場合と、ステップS83
でRTLソースを複写した後には、RTLソースファイ
ル数の増減判断をするために、監視対象のRTLソース
ファイル名リストを配列Lに格納し、監視サーバ内のR
TLソースファイル名リストを配列Mに格納する。
S84. If it is determined in step S82 that the data exists (Yes), the process proceeds to step S83.
After the RTL source is copied in step (a), a list of RTL source file names to be monitored is stored in an array L in order to determine whether the number of RTL source files increases or decreases.
The TL source file name list is stored in the array M.

【0177】S85.配列Lと配列Mの大きさを比較す
る。配列Lと配列Mの大きさに差分がない(便宜的にL
=Mと標記している。)場合には、直ちに処理ループ内
のステップS88に移行する。
S85. The size of the array L and the size of the array M are compared. There is no difference between the sizes of the arrays L and M (for convenience, L
= M. ), The process immediately proceeds to step S88 in the processing loop.

【0178】S86.配列Lと配列Mの大きさに差分が
あり、配列Lが配列Mより大きい(便宜的にL>Mと標
記している。)場合には、新規RTLソースが追加され
たことを意味するので、新規ファイル名を配列N1に格
納し、処理ループ内のステップS88に移行する。
S86. If there is a difference between the size of the array L and the size of the array M and the array L is larger than the array M (for convenience, L> M), it means that a new RTL source has been added. , The new file name is stored in the array N1, and the routine goes to Step S88 in the processing loop.

【0179】S87.配列Lと配列Mの大きさに差分が
あり、配列Lが配列Mより小さい(便宜的にL<Mと標
記している。)場合には、格納されるRTLソースが削
除する必要があることを意味するので、削除するファイ
ル名を配列N2に格納し、処理ループ内のステップS8
8に移行する。
S87. When there is a difference between the size of the array L and the size of the array M and the array L is smaller than the array M (for convenience, L <M), the stored RTL source must be deleted. Therefore, the name of the file to be deleted is stored in the array N2, and step S8 in the processing loop is executed.
Move to 8.

【0180】S88.ファイル名が一致するRTLソー
スの内容の差分を抽出する。 S89.RTLソース内容に差分があるか否かを判断す
る。差分がない(No)と判断された場合には、ステッ
プS90以降ステップS94の処理を飛び越してループ
させる。即ち、ステップS88に戻る。
S88. The difference between the contents of the RTL source having the same file name is extracted. S89. It is determined whether there is a difference in the contents of the RTL source. If it is determined that there is no difference (No), the process from step S90 to step S94 is skipped and looped. That is, the process returns to step S88.

【0181】S90.ステップS89でRTLソース内
容に差分がある(Yes)と判断された場合には、版数
を比較する。 S91.ステップS90の版数比較の結果、版数が同一
であるか否かを判断する。
S90. If it is determined in step S89 that there is a difference in the RTL source contents (Yes), the versions are compared. S91. As a result of the version number comparison in step S90, it is determined whether or not the version numbers are the same.

【0182】S92.ステップS91で版数が同一であ
る(Yes)と判断された場合には、RTLソースに差
分があって版数が同一ということはありえないので、設
計端末に対して警告メールを送信して、ステップS93
及びステップS94を飛び越してループさせる。即ち、
実質的にはステップS88に戻る。
S92. If it is determined in step S91 that the version numbers are the same (Yes), it is impossible that the RTL source has a difference and the version numbers are the same, so that a warning mail is transmitted to the design terminal, and S93
And jump to step S94 to make a loop. That is,
Substantially, the process returns to step S88.

【0183】これにより、版数更新がされていないこと
が設計者に伝えられるので、版数の更新漏れを防止する
ことが可能になる。 S93.ステップS91で版数が同一ではない(No)
と判断された場合には、差分を差分ファイルに格納する
と共に、版数を版数管理表に記録する。
As a result, it is notified to the designer that the version number has not been updated, so that it is possible to prevent omission of version number update. S93. In step S91, the version numbers are not the same (No)
If it is determined that the difference is stored, the difference is stored in the difference file, and the version number is recorded in the version number management table.

【0184】S94.差分があるファイル名を配列N2
に格納する。ステップS93及びステップS94を実行
することによって、版数管理を自動化することが可能に
なると共に、必要な場合には上記差分ファイルを用いて
必要な版数のRTLソースを復元することが可能にな
る。
S94. The file name with the difference is array N2
To be stored. Executing step S93 and step S94 makes it possible to automate the version number management and, if necessary, to restore the required version number of the RTL source using the difference file. .

【0185】以上のステップをその時のRTLソースに
ついて実行して終了すれば、処理ループ内の処理が終了
する。 S95.ステップS86、ステップS87及びステップ
S94での処理に応じて、監視サーバ内のファイルを更
新する。
If the above steps are executed for the RTL source at that time and the processing ends, the processing in the processing loop ends. S95. The file in the monitoring server is updated according to the processing in steps S86, S87, and S94.

【0186】即ち、新規にRTLソースが追加された場
合にはファイルサーバの格納アドレスから新規RTLソ
ースを複写し、新規にRTLソースが追加されなくても
RTLソースに差分がある場合にもファイルサーバの格
納アドレスから新規RTLソースを複写し、ファイルサ
ーバからRTLソースが削除された場合には、監視サー
バから当該RTLソースを削除して、監視サーバ内のフ
ァイルを更新する。
That is, when a new RTL source is added, the new RTL source is copied from the storage address of the file server. Even when a new RTL source is not added, even if there is a difference in the RTL source, the file server is copied. When the new RTL source is copied from the storage address of the server, and the RTL source is deleted from the file server, the RTL source is deleted from the monitoring server and the file in the monitoring server is updated.

【0187】S96.上記配列N1、N2及びN3のデ
ータをRTL監視結果返信メールで設計端末に送信して
RTLソース監視の手順を終了する。尚、RTL監視結
果返信メールは図14に示す構造例のようになってお
り、ヘッダ部に配信先のメールアドレス、論理合成受付
を示すメッセージ、ボディ部に新規に格納したファイル
の大規模集積回路名、RTLソースファイル名、設計端
末メールアドレス、版数変更情報、更新したファイルの
大規模集積回路名、RTLソースファイル名、設計端末
メールアドレス、版数変更情報、削除したファイルの大
規模集積回路名、RTLソースファイル名が搭載されて
いる。
S96. The data of the arrays N1, N2, and N3 are transmitted to the design terminal by the RTL monitoring result reply mail, and the RTL source monitoring procedure is completed. It should be noted that the RTL monitoring result reply mail has a structure example as shown in FIG. 14, a mail address of a delivery destination in a header portion, a message indicating reception of logic synthesis, and a large-scale integrated circuit of a newly stored file in a body portion. Name, RTL source file name, design terminal mail address, version change information, large-scale integrated circuit name of updated file, RTL source file name, design terminal mail address, version number change information, large-scale integrated circuit of deleted file Name and RTL source file name.

【0188】これで論理合成のためのRTL監視に関す
る説明を終わり、以降はメールオーダーによる論理合成
に関する説明に移る。図15は、論理合成モードの機能
を説明する図である。
[0188] This concludes the description of RTL monitoring for logic synthesis, and then shifts to the description of logic synthesis by mail order. FIG. 15 is a diagram for explaining the function of the logic synthesis mode.

【0189】図15において、1は開発ツールの構成要
素を接続するネットワークで、例えばイーサネットを適
用する。2は監視サーバで、RTLソースを常時監視す
るプログラムを搭載している。3a及び3bはRTL設
計する設計者が操作して設計・検証を行なう設計端末で
ある。4はメールサーバで、開発ツール内を転送される
種々のメールを配信する。5はファイルサーバで、新規
RTLソース又は更新されたRTLソースを格納する。
6は合成サーバで、RTL設計が終了したブロックにつ
いて論理合成を行なう。
In FIG. 15, reference numeral 1 denotes a network for connecting the components of the development tool, for example, Ethernet. Reference numeral 2 denotes a monitoring server on which a program for constantly monitoring the RTL source is mounted. Design terminals 3a and 3b are operated by a designer who designs the RTL to perform design and verification. A mail server 4 distributes various mails transferred in the development tool. A file server 5 stores a new RTL source or an updated RTL source.
Reference numeral 6 denotes a synthesis server which performs logic synthesis on the blocks for which the RTL design has been completed.

【0190】機能の概略は下記の通りである。即ち、該
監視サーバ2は常時ファイルサーバ5に格納されている
RTLソースを監視しており、RTLソースの追加、更
新が行なわれると該合成サーバ6にメールを送信して最
新のRTLソースが存在していることを通知する。該合
成サーバ6は監視サーバから上記メールを受信すると、
メールから合成に必要な情報を抽出して論理合成を実行
し、回路チェックの後に設計端末に合成結果レポートを
送信する。
The outline of the function is as follows. That is, the monitoring server 2 constantly monitors the RTL source stored in the file server 5, and when an RTL source is added or updated, an e-mail is sent to the synthesizing server 6 so that the latest RTL source exists. Notify that you are. When the synthesizing server 6 receives the mail from the monitoring server,
Information necessary for synthesis is extracted from the e-mail, logic synthesis is performed, and after a circuit check, a synthesis result report is transmitted to the design terminal.

【0191】図16は、論理合成の手順、図17は合成
依頼メールの例である。以降、図17の合成依頼メール
を参照しながら、図16の論理合成の手順を説明する。
FIG. 16 shows an example of the procedure of the logic synthesis, and FIG. 17 shows an example of the synthesis request mail. Hereinafter, the procedure of the logic synthesis in FIG. 16 will be described with reference to the synthesis request mail in FIG.

【0192】S101.設計端末3a又は3bがRTL
の新規設計又はRTLの更新設計を行なう。 S102.監視サーバ2が新規RTLソース又は更新R
TLソースを確認すると、合成依頼メールを合成サーバ
6に送信して、論理合成の実行を依頼する。
S101. Design terminal 3a or 3b is RTL
New design or RTL update design. S102. If the monitoring server 2 has a new RTL source or updated R
When the TL source is confirmed, a synthesis request mail is transmitted to the synthesis server 6 to request execution of logic synthesis.

【0193】該合成依頼メールは図17に示すような構
造になっていて、ヘッダ部に配信先のメールアドレス、
論理合成依頼コマンドを、ボディ部に第一キーワード
“Synth”とそれに付随する大規模集積回路名、対
象ブロック名及び設計端末のメールアドレス、第二キー
ワード“RTL”及びRTLソースが搭載されている。
The combining request mail has a structure as shown in FIG. 17, and has a delivery destination mail address,
The logic synthesis request command includes a first keyword "Synth", a large-scale integrated circuit name, a target block name and a mail address of a design terminal, a second keyword "RTL", and an RTL source attached to the body portion.

【0194】S103.合成依頼メールを受信した合成
サーバ6は、メールに搭載されている情報を解析して、
大規模集積回路名、対象ブロック名及び設計端末のメー
ルアドレスを抽出して、予め準備されている汎用スクリ
プトに填め込んで定義済スクリプトを生成すると共に、
起動コマンドを生成する。
S103. Upon receiving the synthesis request mail, the synthesis server 6 analyzes the information included in the mail,
The large-scale integrated circuit name, the target block name and the mail address of the design terminal are extracted and inserted into a prepared general-purpose script to generate a defined script,
Generate a start command.

【0195】尚、汎用スクリプトは全ブロック共通の合
成制約条件が記載されており、そこに特定ブロック固有
の合成制約条件と大規模集積回路名、対象ブロック名及
び設計端末のメールアドレスを填め込んで定義済スクリ
プトが形成される。
In the general-purpose script, synthesis constraints common to all blocks are described, and the synthesis constraints unique to a specific block, the name of a large-scale integrated circuit, the name of a target block, and the mail address of a design terminal are inserted therein. A defined script is formed.

【0196】S104.定義済スクリプトに応じて論理
合成を実行する。 S105.論理合成が終了した後でRTLの解析結果、
回路規模、タイミング情報、使用セルより成る合成結果
レポートを作成する。
S104. Execute logic synthesis according to the defined script. S105. After the logic synthesis is completed, the RTL analysis result,
Create a synthesis result report consisting of circuit size, timing information, and cells used.

【0197】S106.該合成結果レポートを設計端末
に送信する。 S107.該合成結果レポートを受信した設計端末では
該合成結果レポートを解析する。
S106. The synthesis result report is transmitted to the design terminal. S107. The design terminal that has received the synthesis result report analyzes the synthesis result report.

【0198】S108.該合成結果レポートに問題があ
る場合には、RTL論理設計のステップに戻ってRTL
ソースの更新を行なわせる。そして、RTLソースが更
新されたことを監視サーバが確認すると、ステップS1
02から処理を開始する。
S108. If there is a problem with the synthesis result report, return to the RTL logic design step and return to the RTL logic design step.
Have the source updated. Then, when the monitoring server confirms that the RTL source has been updated, step S1
02 starts the process.

【0199】該合成結果レポートに問題がない場合に
は、論理合成を終了する。このようにして、ブロック単
位にRTLソースと論理合成結果を確定させることが可
能になる。
If there is no problem in the synthesis result report, the logic synthesis ends. In this way, it is possible to determine the RTL source and the result of logic synthesis for each block.

【0200】又、第二キーワードにRTLソースを付し
て設計端末からメールを送信することにより、合成サー
バ6は受信したメールからRTLソースの切り出しを行
ない、ファイルサーバ5に格納する。こうして格納され
たRTLソースファイルサーバ上に確認すると監視サー
バ2はステップS102の論理合成の依頼をするので、
上記手順によって論理合成が実行される。従って、図8
では設計端末、監視サーバ、合成サーバ等が同一ネット
ワークに接続されている構成を示したが、開発ツールの
ネットワーク同士が接続されていれば、設計端末が遠隔
地に設置されていてもRTLソースの転送と論理合成が
可能である。
[0200] By sending a mail from the design terminal with the RTL source attached to the second keyword, the synthesizing server 6 cuts out the RTL source from the received mail and stores it in the file server 5. When the monitoring server 2 confirms the stored RTL source file server, it requests the logic synthesis in step S102.
Logic synthesis is performed by the above procedure. Therefore, FIG.
Has shown the configuration where the design terminal, monitoring server, synthesis server, etc. are connected to the same network. However, if the networks of the development tools are connected to each other, even if the design terminal is installed in a remote place, the RTL source can be used. Transfer and logic synthesis are possible.

【0201】図18は、受信メールの処理手順である。
以降、図18の各ステップに付した符号に沿って受信メ
ールの処理手順について説明する。尚、図18におい
て、太い矢印付実線は受信メール処理の流れを示し、細
い矢印付破線はデータの流れを示している。
FIG. 18 shows the procedure for processing a received mail.
Hereinafter, the processing procedure of the received mail will be described along the reference numerals assigned to the respective steps in FIG. In FIG. 18, a solid line with a thick arrow indicates the flow of received mail processing, and a broken line with a thin arrow indicates the flow of data.

【0202】S111.合成サーバ6は監視サーバ2又
は設計端末3a又は3bからのメールの受信を待機して
いる。 S112.メールを受信したか否かを判断する。メール
を受信していない(No)と判断した場合には、ステッ
プS111に戻って受信待機を継続する。
S111. The synthesizing server 6 is waiting for a mail from the monitoring server 2 or the design terminal 3a or 3b. S112. It is determined whether the mail has been received. If it is determined that the e-mail has not been received (No), the process returns to step S111 to continue waiting for reception.

【0203】S113.メールを受信した(Yes)と
判断した場合には、受信したメールをテキスト処理プロ
グラムに入力して正規表現とのマッチングによって定義
されているキーワードの検索を行なう。
S113. If it is determined that the mail has been received (Yes), the received mail is input to a text processing program to search for a keyword defined by matching with a regular expression.

【0204】S114.ステップS113の検索の結
果、第一キーワードが抽出されたか否かを判断する。 S115.ステップS114で第一キーワードが抽出で
きなかった(No)と判断された場合にはメールの発信
元にエラーメールを送信して処理を終了する。
S114. It is determined whether the first keyword has been extracted as a result of the search in step S113. S115. If it is determined in step S114 that the first keyword could not be extracted (No), an error mail is transmitted to the sender of the mail, and the process ends.

【0205】S116.ステップS114で第一キーワ
ードを抽出できた(Yes)と判断された場合には、第
一キーワードに続く大規模集積回路名、ブロック名、設
計端末のメールアドレスを抽出する。
S116. If it is determined in step S114 that the first keyword has been extracted (Yes), the large-scale integrated circuit name, block name, and mail address of the design terminal following the first keyword are extracted.

【0206】S117.ステップS113の検索の結
果、第二キーワードが抽出されたか否かを判断する。 S118.ステップS117で第二キーワードが抽出さ
れた(Yes)と判断された場合には、第二キーワード
以降に搭載されているRTLソースを切り出してRTL
ソースファイルに格納して処理を終了する。
S117. It is determined whether or not the second keyword has been extracted as a result of the search in step S113. S118. If it is determined in step S117 that the second keyword has been extracted (Yes), the RTL source mounted after the second keyword is cut out and the RTL is extracted.
Store it in the source file and end the process.

【0207】S119.ステップS117で第二キーワ
ードが抽出されなかった(No)と判断された場合に
は、予め準備している、全ブロックに共通な合成制約条
件を記載している汎用スクリプトの所定の箇所にステッ
プS116で抽出した大規模集積回路名、ブロック名を
填め込んで定義済スクリプトを作成する。
S119. If it is determined in step S117 that the second keyword has not been extracted (No), step S116 is performed in a predetermined location of a general-purpose script prepared in advance and describing a synthesis constraint condition common to all blocks. A defined script is created by filling in the large-scale integrated circuit name and block name extracted in step.

【0208】S120.該定義済スクリプトのファイル
名を引数として論理合成を起動して実行する。 S121.論理合成終了後に回路チェックをする。
S120. Logic synthesis is started and executed using the file name of the defined script as an argument. S121. After completion of logic synthesis, check the circuit.

【0209】S122.そして、合成結果レポートを作
成して、合成依頼メールの発信元に送信する。この際、
ステップS116で抽出されたメールアドレスを参照し
て発信元を特定する。
S122. Then, a synthesis result report is created and transmitted to the source of the synthesis request mail. On this occasion,
The source is specified with reference to the mail address extracted in step S116.

【0210】これで受信メールの処理手順を終了し、以
降は、RTL監視の結果による合成依頼メールの受信待
機に入る。図19は、ブロックレイアウトの手順であ
る。
[0210] Thus, the processing procedure of the received mail is completed, and thereafter, the process waits for reception of the synthesis request mail based on the result of the RTL monitoring. FIG. 19 is a block layout procedure.

【0211】大規模集積回路を機能毎にブロック分割し
て論理設計・検証及び論理合成を行ない、それらが完了
したブロックについてレイアウトを行なうという手法
で、チップのレイアウトをビルディングブロック方式で
進めてゆく。この際、論理設計・検証及び論理合成が完
了していないブロックについてはブラックボックスとし
て扱う。しかし、内部はブラックボックスであっても、
ポートは定義されているのでブロック間の配線は可能で
あり、ブロック間の配線が決まっているので各ポートの
負荷容量を見積もることが可能である。従って、ブロッ
ク間のタイミング検証を行なうことが可能である。
A large-scale integrated circuit is divided into blocks for each function, logic design / verification and logic synthesis are performed, and the layout of the completed blocks is performed. The chip layout is advanced in a building block system. At this time, blocks whose logic design / verification and logic synthesis have not been completed are treated as black boxes. However, even if the inside is a black box,
Since ports are defined, wiring between blocks is possible, and since wiring between blocks is determined, the load capacity of each port can be estimated. Therefore, it is possible to verify the timing between the blocks.

【0212】以降、図19の各ステップに付した符号に
沿って、ブロックレイアウトの手順について説明する。
尚、図19において、太い矢印付実線はブロックレイア
ウトの流れを示し、細い矢印付破線はデータの流れを示
す。又、太い実線で囲んだステップがブロックレイアウ
トでの処理事項で、細い実線で囲んだステップはブロッ
クレイアウト以前に行なわれる処理事項である。
Hereinafter, the procedure of the block layout will be described along the reference numerals assigned to the respective steps in FIG.
In FIG. 19, a solid line with a thick arrow indicates a flow of a block layout, and a broken line with a thin arrow indicates a flow of data. Steps surrounded by thick solid lines are processing items in the block layout, and steps surrounded by thin solid lines are processing items performed before the block layout.

【0213】S1.開発手順の最初に回路アーキテクチ
ャの検討が行なわれ、その結果、フロアプランの草案及
びクロックツリーが得られており、その後にブロック間
ネットリストが得られている。
S1. At the beginning of the development procedure, the circuit architecture is examined, and as a result, a draft floor plan and a clock tree are obtained, and thereafter, an inter-block netlist is obtained.

【0214】ブロックレイアウトはこの状態からスター
トする。 S131.回路回路アーキテクチャ検討の結果得られて
いるフロアプラン、クロックツリー及びブロック間ネッ
トリストを入力としてブロック間のクロックスキューを
調整し、予めクロックスキューを除去する。
The block layout starts from this state. S131. Circuit The clock skew between the blocks is adjusted by using the floor plan, the clock tree, and the inter-block netlist obtained as a result of the study of the circuit architecture, and the clock skew is removed in advance.

【0215】S132.ステップS131でのクロック
スキューがOKか否かを判断する。問題がある(No)
と判断された場合には、ステップS1の回路アーキテク
チャ検討に戻って、主としてクロックツリーとフロアプ
ランニングの草案を検討しなおしてクロックスキューの
調整をするという処理を、OKと判断されるまで行な
う。
S132. It is determined whether or not the clock skew in step S131 is OK. There is a problem (No)
If it is determined, the process returns to step S1 for examining the circuit architecture, and the process of mainly reconsidering the draft of the clock tree and the floor planning and adjusting the clock skew is performed until it is determined to be OK.

【0216】S133.ステップS132でOK(Ye
s)と判断された場合には、ブロック間配線の負荷容
量、抵抗という合成制約条件の考慮の下にブロック間配
線を行なう。この際、ブラックボックスのブロックに接
続される配線についてもタイミングの妥当性を確認する
ために、ブロックの入出力ポートにはフリップフロップ
を配置する。
S133. In step S132, OK (Ye
If it is determined to be s), the inter-block wiring is performed in consideration of the combined constraint condition of the load capacity and resistance of the inter-block wiring. At this time, flip-flops are arranged at the input / output ports of the block in order to confirm the validity of the timing of the wiring connected to the block of the black box.

【0217】S134.ブロック間のタイミングの妥当
性を確認し、タイミングが妥当でない(No)であると
判断された場合にはステップS1の回路アーキテクラャ
検討に戻って、再度フロアプラン、クロックツリー及び
ブロック間ネットリストの検討を行ない、ステップS1
31、ステップS133を実行する。
S134. The validity of the timing between the blocks is confirmed, and if it is determined that the timing is not valid (No), the process returns to the examination of the circuit architect in step S1, and the floor plan, the clock tree, and the inter-block netlist are again checked. After examination, step S1
31. Step S133 is executed.

【0218】S135.ステップS134でタイミング
が妥当(Yes)であると判断された場合には、ブロッ
ク間配線を確定する。 S136.ブロック内合成をする際のファンアウトやタ
イミング調整のための合成制約条件の抽出を行なう。
S135. If it is determined in step S134 that the timing is appropriate (Yes), the inter-block wiring is determined. S136. Extraction of synthesis constraint conditions for fan-out and timing adjustment when performing intra-block synthesis.

【0219】S137.RTL設計が完了したブロック
から、ステップS136で抽出した合成制約条件を元に
論理合成を行ない、ブラックボックスと差し替える。 S138.ブラックボックスと差し替えたブロック内部
の配置・配線を行なう。
S137. From the block for which the RTL design has been completed, logic synthesis is performed based on the synthesis constraint conditions extracted in step S136, and the block is replaced with a black box. S138. Perform the placement and wiring inside the block replaced with the black box.

【0220】S139.ステップS138で配置・配線
をしたブロック内のタイミング検証を行なう。タイミン
グが妥当でない(No)と判断された場合には、ステッ
プS137に戻ってブロック内の論理合成をやり直し
て、ステップS137、ステップS138、ステップS
139を実行する。
S139. In step S138, the timing in the block placed and wired is verified. If it is determined that the timing is not appropriate (No), the process returns to step S137, and the logic synthesis in the block is performed again, and steps S137, S138, and S138 are performed.
139 is executed.

【0221】S140.ステップS139でタイミング
が妥当である(Yes)と判断された場合には、ブロッ
ク内の配線を確定する。 S141.全てのブロックについて設計が完了したか否
かを判断して、設計済でないブロックが残っている(N
o)と判断された場合には、ステップS136以降を繰
り返す。
S140. If it is determined in step S139 that the timing is appropriate (Yes), the wiring in the block is determined. S141. It is determined whether or not the design has been completed for all the blocks, and undesigned blocks remain (N
If it is determined as o), step S136 and subsequent steps are repeated.

【0222】一方、全てのブロックについて設計が完了
している(Yes)と判断された場合には、この処理手
順を終了する。このように、事前にブロック間ネットリ
ストを確定し、論理設計・検証及び論理合成が完了した
ブロックから順に配置・配線を行なうことにより、チッ
プの設計をビルディングブロック方式で進めてゆくこと
ができ、チップの設計段階から回路アーキテクチャ検討
に後戻りすることはないので、チップの設計の効率と設
計品質を向上させることができる。
On the other hand, if it is determined that the design has been completed for all the blocks (Yes), this processing procedure is terminated. In this way, the inter-block netlist is determined in advance, and the logic design / verification and logic synthesis are performed in order from the completed block, so that the chip design can be advanced in a building block manner. Since there is no return to the study of the circuit architecture from the chip design stage, the efficiency and design quality of the chip design can be improved.

【0223】[0223]

【発明の効果】以上詳述した如く、本発明により、回路
アーキテクチャ検討、論理設計・検証、論理合成、イン
プリメント設計をコンカレントに行なう大規模集積回路
の開発方法が提供される結果、大規模集積回路の設計効
率と設計品質を向上させることができる。
As described in detail above, the present invention provides a method for developing a large-scale integrated circuit that simultaneously performs circuit architecture study, logic design / verification, logic synthesis, and implementation design. Design efficiency and design quality can be improved.

【0224】又、本発明の開発ツールによって、大規模
集積回路の開発において、回路アーキテクチャ検討、論
理設計・検証、論理合成、インプリメント設計をコンカ
レントに行なうことができるようになる。
Further, the development tool of the present invention makes it possible to concurrently conduct circuit architecture examination, logic design / verification, logic synthesis, and implementation design in the development of a large-scale integrated circuit.

【0225】以上によって、本発明は大規模集積回路の
開発に大きく貢献することができる。
As described above, the present invention can greatly contribute to the development of a large-scale integrated circuit.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明の大規模集積回路の開発工程の流れ。FIG. 1 is a flowchart of a development process of a large-scale integrated circuit according to the present invention.

【図2】 本発明の大規模集積回路開発の原理的手順。FIG. 2 shows a principle procedure for developing a large-scale integrated circuit of the present invention.

【図3】 本発明の大規模集積回路開発の詳細手順。FIG. 3 is a detailed procedure for developing a large-scale integrated circuit according to the present invention.

【図4】 回路アーキテクチャ検討の詳細手順。FIG. 4 is a detailed procedure for examining a circuit architecture.

【図5】 クロックポートへのフリップフロップの割付
を説明する図。
FIG. 5 is a view for explaining assignment of flip-flops to clock ports.

【図6】 物理インタフェース情報生成の手順。FIG. 6 shows a procedure for generating physical interface information.

【図7】 ブロック間ネット生成を概念的に示す図FIG. 7 is a diagram conceptually showing generation of a net between blocks;

【図8】 本発明の開発ツールの構成。FIG. 8 shows the configuration of a development tool according to the present invention.

【図9】 RTL監視モードの機能を説明する図。FIG. 9 is a view for explaining the function of an RTL monitoring mode.

【図10】 RTL監視の概略手順。FIG. 10 is a schematic procedure of RTL monitoring.

【図11】 RTL監視データ生成の手順。FIG. 11 shows a procedure for generating RTL monitoring data.

【図12】 RTL監視開始コマンドの例。FIG. 12 shows an example of an RTL monitoring start command.

【図13】 RTLソース監視の手順。FIG. 13 shows an RTL source monitoring procedure.

【図14】 RTL監視結果返信メールの例。FIG. 14 is an example of an RTL monitoring result reply mail.

【図15】 論理合成モードの機能を説明する図。FIG. 15 is a diagram illustrating functions in a logic synthesis mode.

【図16】 論理合成の手順。FIG. 16 shows a procedure of logic synthesis.

【図17】 論理合成依頼メールの例。FIG. 17 shows an example of a logical synthesis request mail.

【図18】 受信メールの処理手順。FIG. 18 is a processing procedure of a received mail.

【図19】 ブロックレイアウトの手順。FIG. 19 is a block layout procedure.

【図20】 従来の大規模集積回路の開発工程の流れ。FIG. 20 shows a flow of a conventional large-scale integrated circuit development process.

【図21】 従来の大規模集積回路開発の手順。FIG. 21 shows a conventional procedure for developing a large-scale integrated circuit.

【符号の説明】[Explanation of symbols]

1 ネットワーク 2 監視サーバ 3a 設計端末 3b 設計端末 4 メールサーバ 5 ファイルサーバ 6 合成サーバ Reference Signs List 1 network 2 monitoring server 3a design terminal 3b design terminal 4 mail server 5 file server 6 synthesis server

───────────────────────────────────────────────────── フロントページの続き (72)発明者 坂本 秀樹 福岡県福岡市博多区博多駅前三丁目22番8 号 富士通九州ディジタル・テクノロジ株 式会社内 (72)発明者 津田 昌行 福岡県福岡市博多区博多駅前三丁目22番8 号 富士通九州ディジタル・テクノロジ株 式会社内 (72)発明者 大浜 章 福岡県福岡市博多区博多駅前三丁目22番8 号 富士通九州ディジタル・テクノロジ株 式会社内 (72)発明者 山川 徳敏 福岡県福岡市博多区博多駅前三丁目22番8 号 富士通九州ディジタル・テクノロジ株 式会社内 Fターム(参考) 5B046 AA08 BA01 BA03 BA04 CA03 DA05 KA01 KA10 5F064 DD03 DD25 EE54 HH06 HH10 HH12  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Hideki Sakamoto 3-22-8 Hakata Ekimae, Hakata-ku, Fukuoka-shi, Fukuoka Fujitsu Kyushu Digital Technology Co., Ltd. (72) Inventor Masayuki Tsuda Hakata-ku, Fukuoka-shi, Fukuoka Fujita Kyushu Digital Technology Co., Ltd. (72) Inventor Akira Ohama 3-22-8 Hakata Ekimae, Hakata-ku, Fukuoka City, Fukuoka Prefecture Inventor Noritoshi Yamakawa 3-22-8 Hakata Ekimae, Hakata-ku, Fukuoka, Fukuoka Prefecture F-term in Fujitsu Kyushu Digital Technology Co., Ltd. 5B046 AA08 BA01 BA03 BA04 CA03 DA05 KA01 KA10 5F064 DD03 DD25 EE54 HH06 HH10 HH12

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 回路アーキテクチャ検討と大規模集積回
路チップのフロアプランニングをコンカレントに進め、 回路アーキテクチャ検討においてチップを機能的に分割
したブロックのポート情報と、チップのポート情報とか
らポート間の接続情報としてのブロック間ネットリスト
を生成し、上記ブロック間ネットリストを、論理設計・
検証、論理合成、レイアウト及びタイミング検証の共通
データとし、 該論理設計・検証、該論理合成、該レイアウト及びタイ
ミング検証をコンカレントに進めることを特徴とする大
規模集積回路の開発方法。
1. A circuit architecture study and a floor planning of a large-scale integrated circuit chip are concurrently advanced. In the circuit architecture study, port information of a block obtained by functionally dividing the chip and port information of the chip are used to connect information between ports. Generate the inter-block netlist as
A method for developing a large-scale integrated circuit, wherein the logic design / verification, the logic synthesis, the layout and the timing verification are performed concurrently as common data for verification, logic synthesis, layout and timing verification.
【請求項2】 請求項1に記載のブロック分割に引き続
いて、ブロック内のクロックツリー作成とフロアプラン
ニングを行ない、 論理設計に先立ってクロックスキューの調整を行なうこ
とを特徴とする大規模集積回路の開発方法。
2. A large-scale integrated circuit according to claim 1, wherein, following the block division according to claim 1, a clock tree in the block is created and floor planning is performed, and clock skew is adjusted prior to logic design. Development method.
【請求項3】 請求項1に記載のブロック分割の結果と
ブロック間ネットリストとを使用して、 該ブロックはブラックボックスのままでチップにおける
ブロックの配置とブロック間の配線をするレイアウトを
行ない、 ブロック間の配線数、ファンアウト及び配線によって生
ずる負荷を算出し、 ブロック内部の論理合成の条件とすることを特徴とする
大規模集積回路の開発方法。
3. Using the result of block division according to claim 1 and an inter-block netlist, laying out blocks on a chip and laying out wiring between the blocks while leaving the blocks as black boxes; A method for developing a large-scale integrated circuit, comprising calculating the number of wirings between blocks, a fan-out, and a load caused by wirings, and using the calculated results as conditions for logic synthesis inside the blocks.
【請求項4】 請求項2に記載のクロックツリーと、請
求項3に記載の論理合成の条件とを使用して、 論理設計が完了したブロックから順に論理合成を行な
い、請求項1に記載のブロック間ネットリストに填め込
むことを特徴とする大規模集積回路の開発方法。
4. The logic tree according to claim 1, wherein logic synthesis is performed in order from a block for which logic design has been completed, using the clock tree described in claim 2 and the condition of logic synthesis described in claim 3. A method for developing a large-scale integrated circuit, wherein the method is inserted into a netlist between blocks.
【請求項5】 論理合成が完了したブロックから順にブ
ロック内レイアウトを行ない、 チップのレイアウトをビルディングブロック方式で進め
ることを特徴とする大規模集積回路の開発方法。
5. A method for developing a large-scale integrated circuit, wherein a layout within a block is sequentially performed from a block on which logic synthesis is completed, and a chip layout is advanced in a building block system.
【請求項6】 設計者が操作して論理設計を行なう設計
端末と、 該論理設計の結果であるRTLソースを格納するファイ
ルサーバと、 該RTLソースを常時監視する監視サーバと、 該ネットワークを介して種々のメールを配信するメール
サーバと、 該RTL設計が終了したブロックについて論理合成を行
なう合成サーバと上記設計端末、ファイルサーバ、監視
サーバ及び合成サーバを収容するネットワークとを備え
ることを特徴とする大規模集積回路の開発ツール。
6. A design terminal which operates a designer to perform a logic design, a file server which stores an RTL source as a result of the logic design, a monitoring server which constantly monitors the RTL source, and via the network. A mail server that distributes various mails, a synthesis server that performs logic synthesis on the blocks for which the RTL design has been completed, and a network that houses the design terminal, the file server, the monitoring server, and the synthesis server. Development tools for large-scale integrated circuits.
【請求項7】 請求項6に記載の大規模集積回路の開発
ツールにおいて、 上記監視サーバは、 上記設計端末からの監視開始依頼コマンドによって監視
を開始する監視サーバであることを特徴とする大規模集
積回路の開発ツール。
7. The large-scale integrated circuit development tool according to claim 6, wherein the monitoring server is a monitoring server that starts monitoring according to a monitoring start request command from the design terminal. Development tools for integrated circuits.
【請求項8】 請求項6に記載の大規模集積回路の開発
ツールにおいて、 上記合成サーバは、 上記設計端末又は監視サーバからの合成依頼コマンドに
よって論理合成を開始する合成サーバであることを特徴
とする大規模集積回路の開発ツール。
8. The development tool for a large-scale integrated circuit according to claim 6, wherein the synthesis server is a synthesis server that starts logic synthesis according to a synthesis request command from the design terminal or the monitoring server. Development tools for large-scale integrated circuits.
JP10261436A 1998-09-16 1998-09-16 Development method and tool for large scale integrated circuit Withdrawn JP2000090142A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10261436A JP2000090142A (en) 1998-09-16 1998-09-16 Development method and tool for large scale integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10261436A JP2000090142A (en) 1998-09-16 1998-09-16 Development method and tool for large scale integrated circuit

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005187355A Division JP3956979B2 (en) 2005-06-27 2005-06-27 Development tools for large-scale integrated circuits

Publications (1)

Publication Number Publication Date
JP2000090142A true JP2000090142A (en) 2000-03-31

Family

ID=17361871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10261436A Withdrawn JP2000090142A (en) 1998-09-16 1998-09-16 Development method and tool for large scale integrated circuit

Country Status (1)

Country Link
JP (1) JP2000090142A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003088095A1 (en) * 2002-04-17 2003-10-23 Fujitsu Limited Integrated circuit development method, program storage medium containing integrated circuit development method, system for concurrent development of asic and programmable logic device, development program, and development method
JP2006236214A (en) * 2005-02-28 2006-09-07 Toshiba Corp Verifying method safety system device and safety system device verified by the verifying method
JP2009199467A (en) * 2008-02-22 2009-09-03 Hitachi Ltd Design assisting apparatus for integrated circuit, design assisting method for integrated circuit, design assisting program for integrated circuit, and recording medium on which program is recorded

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003088095A1 (en) * 2002-04-17 2003-10-23 Fujitsu Limited Integrated circuit development method, program storage medium containing integrated circuit development method, system for concurrent development of asic and programmable logic device, development program, and development method
US7219311B2 (en) 2002-04-17 2007-05-15 Fujitsu Limited Development method for integrated circuits, program storage medium for storing the development method for integrated circuits, and concurrent development system, development program, and development method of ASIC and programmable logic device
KR100745959B1 (en) * 2002-04-17 2007-08-02 후지쯔 가부시끼가이샤 Integrated circuit development method, program recording medium containing integrated circuit development method
KR100788112B1 (en) * 2002-04-17 2007-12-21 후지쯔 가부시끼가이샤 System for concurrent development of asic and programmable logic device, recording medium recording development program, and development method
US7647575B2 (en) 2002-04-17 2010-01-12 Fujitsu Limited Method of creating a netlist for an FPGA and an ASIC
US7650586B2 (en) 2002-04-17 2010-01-19 Fujitsu Limited Development method for integrated circuits, program storage medium for storing the development method for integrated circuits, and concurrent development system, development program, and development method of ASIC and programmable logic device
US8225243B2 (en) 2002-04-17 2012-07-17 Fujitsu Limited Development method for integrated circuits, program storage medium for storing the development method for integrated circuits, and concurrent development system, development program, and development method of ASIC and programmable logic device
JP2006236214A (en) * 2005-02-28 2006-09-07 Toshiba Corp Verifying method safety system device and safety system device verified by the verifying method
JP4568143B2 (en) * 2005-02-28 2010-10-27 株式会社東芝 Safety system verification method and safety system verified by the verification method
JP2009199467A (en) * 2008-02-22 2009-09-03 Hitachi Ltd Design assisting apparatus for integrated circuit, design assisting method for integrated circuit, design assisting program for integrated circuit, and recording medium on which program is recorded

Similar Documents

Publication Publication Date Title
US7219311B2 (en) Development method for integrated circuits, program storage medium for storing the development method for integrated circuits, and concurrent development system, development program, and development method of ASIC and programmable logic device
CN101421733B (en) Fpga routing with reservation for long lines and sharing long lines
US7111269B2 (en) Comparison of two hierarchical netlist to generate change orders for updating an integrated circuit layout
WO2005119531A2 (en) Rule-based design consultant and method for integrated circuit design
JP2002149730A (en) Device and method for designing circuit and timing allocation device
US8266566B2 (en) Stability-dependent spare cell insertion
US20090271750A1 (en) Timing constraint merging in hierarchical soc designs
US9292638B1 (en) Method and apparatus for performing timing closure analysis when performing register retiming
US6526561B2 (en) Database for designing integrated circuit device, and method for designing integrated circuit device
US10255399B2 (en) Method, apparatus and system for automatically performing end-to-end channel mapping for an interconnect
US8631364B1 (en) Constraining VLSI circuits
US20080307374A1 (en) Method, system, and computer program product for mapping a logical design onto an integrated circuit with slack apportionment
US6536012B1 (en) Database for designing integrated circuit device, and method for designing integrated circuit device
US20060236281A1 (en) Logic circuit design method, computer-readable recording medium having logic circuit design program stored therein, and logic circuit design device
US7168057B2 (en) Targeted optimization of buffer-tree logic
JP2000090142A (en) Development method and tool for large scale integrated circuit
JP3956979B2 (en) Development tools for large-scale integrated circuits
US7721171B2 (en) Scheme to optimize scan chain ordering in designs
US8661381B1 (en) Method and apparatus for performing optimization using Don&#39;t Care states
US20090064082A1 (en) Method for custom register circuit design
US20060048084A1 (en) System and method for repairing timing violations
US6453448B1 (en) Functional level configuration of input-output test circuitry
JPH09218888A (en) Hold time error eliminating system
Jayalakshmi Functional ECO automation challenges and solutions
US10970446B1 (en) Automated pipeline insertion on a bus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041026

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041224

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050426

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080325