JP3956979B2 - Development tools for large-scale integrated circuits - Google Patents

Development tools for large-scale integrated circuits Download PDF

Info

Publication number
JP3956979B2
JP3956979B2 JP2005187355A JP2005187355A JP3956979B2 JP 3956979 B2 JP3956979 B2 JP 3956979B2 JP 2005187355 A JP2005187355 A JP 2005187355A JP 2005187355 A JP2005187355 A JP 2005187355A JP 3956979 B2 JP3956979 B2 JP 3956979B2
Authority
JP
Japan
Prior art keywords
rtl
design
synthesis
server
scale integrated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005187355A
Other languages
Japanese (ja)
Other versions
JP2005353079A (en
Inventor
智昭 古賀
秀樹 坂本
昌行 津田
章 大浜
徳敏 山川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2005187355A priority Critical patent/JP3956979B2/en
Publication of JP2005353079A publication Critical patent/JP2005353079A/en
Application granted granted Critical
Publication of JP3956979B2 publication Critical patent/JP3956979B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

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

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

特に、通信装置においては、ASIC(Application Specific Integrated Circuit)と呼ばれる通信装置特有の機能を実現するための大規模集積回路が適用されることが多く、しかも、ASICの大規模化が急速に進んでおり、所謂メガゲートASICの時代に突入している。   In particular, in communication devices, a large-scale integrated circuit called an ASIC (Application Specific Integrated Circuit) for realizing a function unique to the communication device is often applied, and the ASIC is rapidly increasing in scale. It has entered the era of the so-called mega gate ASIC.

もとより、集積回路の大規模化は設計を困難なものにするため、設計品質を確保するためには必然的に設計手番の長期化を招く。   Of course, the large scale of the integrated circuit makes the design difficult, so that the design number is inevitably prolonged in order to ensure the design quality.

しかし、一方では通信装置の短納期化の要求が一層強くなっている。従って、通信装置メーカーがASICを開発・適用するにしても、専業の集積回路メーカーがASICを開発・供給するにしても、或いはソフトベンダーが集積回路を開発するにしても、市場競争力維持のためには短納期での開発が必須になる。   However, on the other hand, there is an increasing demand for shorter delivery times for communication devices. Therefore, even if a communication device manufacturer develops and applies an ASIC, a dedicated integrated circuit manufacturer develops and supplies an ASIC, or a software vendor develops an integrated circuit, it maintains market competitiveness. For this purpose, development with a short delivery time is essential.

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

このように、短納期の開発と開発された物の信頼度維持という矛盾した要求を満足させつつASICを開発することが、通信装置メーカーとしても、集積回路専業メーカーとしても、ソフトベンダーとしても必須事項となり、この問題を解決したメーカーだけが厳しい競争を勝ち抜いてゆくことができる。   In this way, it is indispensable for both communication equipment manufacturers, integrated circuit manufacturers, and software vendors to develop ASICs while satisfying the contradictory demands of rapid delivery and maintaining the reliability of the developed products. Only the manufacturers that have solved this problem can overcome the tough competition.

現在、ASICを初めとする大規模集積回路は、VHDL、Verilog等による機能記述言語設計と論理合成を組み合わせた方法によって開発するのが主流であるが、このような大規模集積回路開発の全工程は大きく分けると以下の工程に分けることができる。   Currently, large-scale integrated circuits such as ASICs are mainly developed by a method that combines functional description language design and logic synthesis by VHDL, Verilog, etc., but the whole process of developing such large-scale integrated circuits Can be roughly divided into the following steps.

即ち、
a.回路構造を検討する回路アーキテクチャ検討
b.機能記述言語によるRTL(Register Transfer Level)設計とその検証を行なう論理設計・検証
c.回路を論理的に合成して最適化する論理合成
d.フロアプランニング、レイアウト、タイミング調整・検証を行なうインプリメント設計
の4つの工程である。
That is,
a. Circuit architecture study to examine circuit structure b. RTL (Register Transfer Level) design by function description language and logic design / verification for its verification c. Logic synthesis that synthesizes and optimizes a circuit d. This is the four steps of implementation design that performs floor planning, layout, timing adjustment and verification.

図20は、従来の大規模集積回路開発の流れを示す。   FIG. 20 shows a flow of conventional large-scale integrated circuit development.

ここで、図20における太い矢印付実線は順方向の設計の流れを示し、細い矢印付実線は設計の手戻りを示している。   Here, a solid line with a thick arrow in FIG. 20 indicates a flow of design in the forward direction, and a thin solid line with an arrow indicates reworking of the design.

図20に明確に示されているように、従来の大規模集積回路開発においては、上記回路アーキテクチャ検討、論理設計・検証、論理合成及びインプリメント設計が時系列的にシリアルになっており、前の工程が終了しなければ後の工程に移ることはない。この意味で時間的に順方向の作業だけで開発を終了させることができるなら、開発工程は単純である。   As clearly shown in FIG. 20, in the conventional large-scale integrated circuit development, the circuit architecture examination, logic design / verification, logic synthesis, and implementation design are serial in time series. If the 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 with only forward work in time.

図21は、従来の大規模集積回路の開発手順をもう少し詳細に示したものである。ここで、太い矢印付実線は開発の流れを示し、細い矢印付破線はデータの流れを示す。   FIG. 21 shows the development procedure of the conventional large-scale integrated circuit in a little more detail. Here, 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.

以降、図21の各開発段階に付した符号に沿って、従来の大規模集積回路の開発手順を説明する。   Hereinafter, the development procedure of the conventional large-scale integrated circuit will be described along the reference numerals assigned to the respective development stages in FIG.

S151.要求仕様、要求検討項目を元に、回路の構造を検討して全体回路を機能的なブロックに分割し、要求検証項目をブロック単位に分解する。   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 broken down into blocks.

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

そして、この段階でブロックの端子同士及びブロックの端子と大規模集積回路のチップの端子の接続情報であるブロック間ネットリストの草案を生成する。   At this stage, a draft of the inter-block netlist, which is connection information between the terminals of the block and between the terminals of the block and the terminals of the chip of the large-scale integrated circuit, is generated.

S153.該RTLリストと該検証項目を使ってブロック単位に論理検証を行なう。   S153. Using the RTL list and the verification items, logic verification is performed in units of blocks.

S154.該論理検証の結果に問題があるか否かを判断する。問題がある(Yes)と判断された場合には、ステップS152のRTL設計に戻って回路設計を更新し、問題がないと判断されるまでステップS152及びステップS153を繰り返す。   S154. It is determined whether or not there is a problem in the logic verification result. 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 steps S152 and S153 are repeated until it is determined that there is no problem.

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

S156.ステップS156の判断結果が全ブロック終了(Yes)の場合には、ステップS152の結果であるRTLリストを使用して論理合成を行い、ステップS152のRTL設計で草案を作成していたブロック間ネットリストを確定し、該ブロック間ネットリストに論理合成結果を填め込むことで、全体のネットリストを生成する。   S156. If the determination result in step S156 is the end of all blocks (Yes), logical synthesis is performed using the RTL list that is the result of step S152, and the inter-block netlist that has been drafted in the RTL design of step S152 And the entire net list is generated by inserting the logic synthesis result into the inter-block net list.

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

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

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

S160.ステップS158の判断結果が問題なし(No)の時は、レイアウトを行い、SDF(Standard Delay File)を生成する。   S160. If the determination result in step S158 is no problem (No), layout is performed and an SDF (Standard Delay File) is generated.

S161.ステップ160の出力であるSDFを元にタイミング検証をする。   S161. Timing verification is performed based on the SDF output from step 160.

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

そして、上記判断の結果が問題なし(No)の場合には設計を終了する。   If the result of the determination is no problem (No), the design is terminated.

尚、上記設計工程の区分を示すアルファベット小文字を図21中に記載してある。即ち、ステップS151が上記回路アーキテクチャ検討aであり、ステップS152からステップS155までが上記論理設計・検証bであり、ステップS156及びステップS157が上記論理合成cであり、ステップS158以降が上記インプリメント設計dである。   Note that lowercase alphabet letters indicating the division of the design process are shown in FIG. That is, step S151 is the circuit architecture study a, steps S152 to S155 are the logic design / verification b, steps S156 and S157 are the logic synthesis c, and steps S158 and later are the implementation design d. It is.

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

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

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

問題になるのは、それより後の工程から前の工程への後戻りである。   The problem is the return from the later process to the previous process.

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

尚、図20にも上記の後戻りが起こり得る箇所に矢印付実線を描いている。   In FIG. 20, a solid line with an arrow is drawn at a place where the above-mentioned reversal can occur.

それらの後戻りは単に終結した筈の工程を再度繰り返すだけではなく、各々の後戻りの原因に矛盾があることが多いので、特定の工程間で後戻りして設計を更新すると他の工程間でも後戻りしなくてはならないということになって、開発のための作業がなかなか収斂しないという事態にもつながる。   These backtracks do not simply repeat the completed trapping process again, but there are often contradictions in the cause of each backtracking, so if you go back between specific processes and update the design, it will also go back between other processes. It will be necessary, and it will lead to the situation that the work for development does not converge easily.

このような場合には、大規模集積回路開発の効率を著しく低下させ、開発工程も極めて長期に及ぶ。これにより、通信装置メーカーであっても、大規模集積回路メーカーであっても、ソフトベンダーであっても競争力の低下を免れることができなくなる。   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 a communication device manufacturer, a large-scale integrated circuit manufacturer, or a software vendor cannot avoid the decline in competitiveness.

今迄は、これに対して
CADマシンの高性能化、即ち、サーバなどのCADマシン自体の処理能力アップ
CADツールの高速化、即ち、CADツールに搭載されているソフトウェアによる処理速度アップ(例えば、シリアル処理をパラレル処理にして処理速度をアップすること等)
繰り返しチェックすることによるミスの逓減
等によって開発効率の低下と工程の長期化を防止すべく努めてきたが、大規模集積回路の一層の大規模化によって、CADマシンの高性能化、CADツールの高速化及び繰り返しチェックによるミスの逓減だけでは開発効率の低下と工程の長期化を防止することは不可能に近くなってきた。
Up to now, the performance of CAD machines has been improved, that is, the processing capacity of CAD machines such as servers has been increased. The speed of CAD tools has been increased, that is, the processing speed of software installed in CAD tools has increased (for example, (Serial processing is changed to parallel processing to increase processing speed, etc.)
Efforts have been made to prevent a decrease in development efficiency and prolongation of the process by reducing errors due to repeated checks, etc., but with the further increase in scale of large-scale integrated circuits, the performance of CAD machines has increased, It has become almost impossible to prevent a decrease in development efficiency and prolongation of the process only by speeding up and reducing errors by repeated checks.

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

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

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

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

以降、図2の各開発段階に付した符号に沿って、本発明の大規模集積回路開発の原理的手順について説明する。   In the following, the principle 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.

S1.要求仕様と要求検証項目を入力として、大規模集積回路を機能的なブロックに分割すると共に該ブロック単位に下記の(イ)から(チ)の項目を見積もったり設定して、回路構造を検討する。   S1. Dividing a large-scale integrated circuit into functional blocks using the required specifications and required verification items as input, and estimating and setting the following items (a) to (h) for each block, and examining the circuit structure .

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

S2.ステップS1の回路アーキテクチャ検討の結果出力されるチップの入出力ポート情報とブロック単位の入出力ポート情報を入力として、ブロック間ネットリストを作成する。具体的には、同じ名称のポート同士を接続するという作業を行ない、接続情報をリスト化する。   S2. A block-to-block netlist is created by using the input / output port information of the chip and the input / output port information of each block that 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.

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

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

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

問題がある(Yes)と判定された場合にはステップS1の回路アーキテクチャ検討に戻り、ブロック分割を変更して、ステップS2及びステップS3を繰り返す。ステップS1の説明の最後尾に記載した如く、ステップS1の回路アーキテクチャ検討においてフロアプランニングの草案を検討しているので、ここでステップS1に戻ることは実質的には少ない。   If it is determined that there is a problem (Yes), the process returns to the circuit architecture examination 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, since the draft of floor planning is considered in the circuit architecture consideration in step S1, there is substantially no return to step S1 here.

このように、フロアプランニングを早期に行って確定することにより、従来はレイアウトの後で行なうタイミング検証で初めて判るタイミングエラーによってRTL設計又は回路アーキテクチャ検討に後戻りしていたのを回避できる。   In this way, by performing the floor planning at an early stage and confirming it, it is possible to avoid reverting to RTL design or circuit architecture examination due to a timing error that is first known by timing verification performed after layout.

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

S5.ステップS4で問題なし(No)と判断された場合には、ステップS2で生成されたブロック間ネットリストと、後述のステップS6で生成されるRTLソースを入力として、ブロック内及びブロック間のタイミングやファンアウトなどの論理合成を行なう際の合成制約条件を抽出する。   S5. If it is determined in step S4 that there is no problem (No), the inter-block netlist generated in step S2 and the RTL source generated in step S6 described later are input, A synthesis constraint condition for performing logic synthesis such as fan-out is extracted.

S6.一方、ステップS1で分割したブロック単位に機能記述言語を用いて回路設計(RTL設計)を行ってRTLソースを生成する。   S6. On the other hand, circuit design (RTL design) is performed on the block units divided in step S1 using a function description language to generate an RTL source.

これを、早い段階で論理合成のデータとすることで、論理設計・検証と論理合成の間の矛盾を回避することができ、早い段階でRTLソースの品質、信頼度を確保することが可能になる。   By using this as logic synthesis data at an early stage, it is possible to avoid inconsistencies between logic design / verification and logic synthesis, and to ensure the quality and reliability of the RTL source at an early stage. Become.

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

これによって、要求仕様、対象ブロックの機能及び動作に関する検証の漏れを防止することができる。   As a result, it is possible to prevent omission of verification regarding the required specification, the function and operation of the target block.

S7.ステップS2で生成されたブロック間ネットリストと、ステップS5で生成された合成制約条件と、ステップS6で生成されたRTLソースを入力として、ブロック単位に論理合成を実施して、当該ブロックの実現規模を算出・確認し、該ブロック間ネットリストに当該ブロックの設計情報を填め込むことによりネットリストをビルディングブロック方式で生成してゆく。   S7. Using the interblock netlist generated in step S2, the synthesis constraint condition generated in step S5, and the RTL source generated in step S6 as inputs, logical synthesis is performed in units of blocks, and the scale of realization of the block Is calculated and confirmed, and the netlist is generated by the building block method by inserting the design information of the block into the interblock netlist.

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

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

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

これは、RTLソースが想定通りか否かを、遅延時間を考慮しないで静的に検証するものである。   This is to statically verify whether or not the RTL source is as expected without considering the delay time.

このプロセスによってRTLソースの要求仕様に対する妥当性がブロック単位で確認されてゆくのにつれて、必要に応じて確認済の複数のブロックの組合せに対する機能及び動作の確認が可能になる。つまり、ビルディングブロック方式で大規模集積回路の機能及び動作の確認が可能になる。   As the validity of the required specifications of the RTL source is confirmed in units of blocks by this process, it becomes possible to confirm the functions and operations of the confirmed combinations of blocks as necessary. That is, the function and operation of the large scale integrated circuit can be confirmed by the building block method.

S11.ステップS10の結果に問題があるか否かを判断する。もし、問題がある(Yes)と判断された場合には、ステップS6のRTL設計を更新して、問題なしと判断されるまでステップS6のRTL設計とステップS10の論理検証を繰り返す。   S11. It is determined whether or not there is a problem with 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.

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 arrangement and wiring between the blocks and the blocks according to the floor plan, that is, Perform layout.

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

S13.ステップS11で問題なし(No)と判断された場合には、ステップS2で生成されたブロック間ネットリストと、ステップS7で生成されたネットリストと、ステップS9で生成されたテストベンチを入力として、動作確認を行なう。   S13. If it is determined in step S11 that there is no problem (No), the interblock netlist generated in step S2, the netlist generated in step S7, and the test bench generated in step S9 are input. Check the operation.

これは、論理合成結果のネットリストを使って、遅延を考慮せずに静的に検証するものである。   This is to verify statically without considering the delay by using the netlist of the logic synthesis result.

S14.ステップS13でのゲート検証の結果に問題があるか否かを判断する。もし、問題がある(Yes)と判断された場合には、ステップS6、ステップS10、ステップS11及びステップS13を繰り返して行なう。   S14. It is determined whether or not there is a problem with the result of the gate verification in step S13. If it is determined that there is a problem (Yes), step S6, step S10, step S11 and step S13 are repeated.

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

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

これは、レイアウト後に求められたSDFを使い、セルと配線の遅延時間まで含めて動的に検証するものである。   In this method, the SDF obtained after the layout is used to dynamically verify the delay time between the cell and the wiring.

S16.ステップS15でのタイミング検証に問題があるか否かを判断して、フロアプラン及びレイアウトの妥当性を確認する。   S16. It is determined whether or not there is a problem with the timing verification in step S15, and the validity of the floor plan and layout is confirmed.

もし、問題がある(Yes)と判断された場合には、ステップS7の論理合成に戻って、ステップS7、ステップS8及びステップS12の間を繰り返す。   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.

そして、ステップS16で問題なし(No)と判断された場合には大規模集積回路の設計が終了する。   If it is determined in step S16 that there is no problem (No), the design of the large scale integrated circuit is completed.

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

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

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

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

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

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

そして、ステップS7の論理合成の結果によってステップS12のレイアウトが行なわれてSDFが生成され、上記ネットリストと該SDFを入力としてタイミング検証が行なわれる。ここで問題があればステップS7の論理合成に戻って設計の更新が行なわれて、ネットリストの品質及び信頼度が高められてゆく。   Then, the layout of step S12 is performed according to the result of the logic synthesis of step S7, and the SDF is generated, and the 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, and the design is updated to improve the quality and reliability of the netlist.

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

かくの如く、大規模集積回路の開発に必要な時間を短縮し、且つ、設計結果の品質及び信頼度を高めることができる。   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 increased.

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

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

これにより、本発明は大規模集積回路の開発に大きく貢献することができる。   Thus, the present invention can greatly contribute to the development of a large-scale integrated circuit.

<実施例>
図3は、本発明の大規模集積回路開発の詳細手順で、図2で説明した大規模集積回路開発の原理的手順を更に詳細に示すものである。尚、図3における各開発段階には、図2において各開発段階に付した符号に対応する符号を付してある。
即ち、符号の数字が等しい開発段階同士が対応する開発段階であり、図3における符号の数字の後の小文字アルファベットは図2では単一の段階で示されている開発段階が複数の段階に分割されていることを示す。
<Example>
FIG. 3 is a detailed procedure for developing a large-scale integrated circuit according to the present invention, and shows the principle procedure for developing the large-scale integrated circuit described in FIG. 2 in more detail. In addition, the code | symbol corresponding to the code | symbol attached | subjected to each development stage in FIG.
That is, development stages with the same code number correspond to each other, and the lowercase alphabet after the code number in FIG. 3 is divided into a plurality of stages in the development stage shown in a single stage in FIG. Indicates that

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

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

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

(チ)ブロック単位の機能検証項目
上記(イ)から(チ)を見れば明らかな如く、この段階でフロアプランニングの草案が検討されている。
(H) Functional verification items in block units As apparent from (b) to (h) above, a draft floor plan is being considered at this stage.

S1b.ステップS1aの検討結果を盛り込んだ機能説明、回路構造などのブロック設計仕様を検討し、設計仕様を記載したドキュメントを作成する。   S1b. A block design specification such as a functional description and a circuit structure incorporating the result of the study in step S1a is examined, and a document describing the design specification is created.

S1c.要求検証項目を入力として、各項目をステップS1aで検討したブロック分割の結果を元に、チップ検証項目として細分化し、要求検証項目に対応する機能を明確にする。そして、このステップで要求検証項目にはない、ブロック固有の検証項目の追加を行なう。   S1c. The request verification item is input, and each item is subdivided as a chip verification item based on the result of block division examined in step S1a, and the function corresponding to the request verification item is clarified. In this step, a block-specific verification item that is not included in the request verification item is added.

S1d.上記ステップS1cで作成したチップ検証項目を入力として、ステップS1cと同様に、ブロック単位にブロック検証項目として細分化する。   S1d. Using the chip verification item created in step S1c as an input, the block verification items are subdivided into blocks in the same manner as in step S1c.

以上三つの検証項目、即ち、要求検証項目、ブロック検証項目及びチップ検証項目を階層化することで、要求仕様から実現回路の機能までが有機的につながるため、機能検証の漏れを防止することができるようになる。   By layering the above three verification items, ie, requirement verification item, block verification item, and chip verification item, from the required specification to the function of the realized circuit is organically connected, so that it is possible to prevent omission of functional verification become able to.

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

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

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

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

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

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

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

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

S6.一方、ステップS1aで分割したブロック単位に機能記述言語を用いて回路設計(RTL設計)を行ってRTLソースを生成する。   S6. On the other hand, circuit design (RTL design) is performed on the block units divided in step S1a using a function description language to generate an RTL source.

これを早い段階で論理合成のデータとすることで、論理設計・検証と論理合成の間の矛盾を回避することができ、早い段階でRTLソースの品質、信頼度を確保することが可能になる。   By making this logic synthesis data at an early stage, it is possible to avoid inconsistencies between logic design / verification and logic synthesis, and to ensure the quality and reliability of the RTL source at an early stage. .

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

S7a.ステップS2で生成されたブロック間ネットリストと、ステップS6で生成されたRTLソースを入力として、ブロック単位に論理合成を実施して、当該ブロックの実現規模を算出・確認し、該ブロック間ネットリストに当該ブロックの設計情報を填め込むことによりネットリストをビルディングブロック方式で生成してゆく。   S7a. Using the interblock netlist generated in step S2 and the RTL source generated in step S6 as input, logical synthesis is performed in units of blocks, and the realization scale of the block is calculated and confirmed, and the interblock netlist is calculated. The netlist is generated by the building block method by inserting the design information of the block into the block.

具体的には、電子メールを利用した開発ツールで論理合成を行なうが、この詳細は後で説明する。   Specifically, logic synthesis is performed with a development tool using electronic mail, and details thereof will be described later.

S7b.ステップS5aで抽出したブロック内制約条件を入力として、ステップS7aの論理合成で生成されたブロック単位のネットリストに対してタイミング調整などをして、ブロックの最適化合成を行なう。   S7b. Using the intra-block constraint extracted in step S5a as input, timing adjustment is performed on the block-unit netlist generated by the logical synthesis in step S7a to perform optimization synthesis of blocks.

S12c.次いで、最適化合成が済んだブロックから順にブロックレイアウトを行なう。   S12c. Next, block layout is performed in order from the block for which optimization synthesis has been completed.

S12d.全てのブロックについて論理合成及び最適化合成を終了したか否かを判断する。全てのブロックについて論理合成及び最適化合成を終了していない(No)と判断された場合には、ステップS7aのブロック自動論理合成に戻り、全てのブロックについて終了するまで最適化合成までのステップを繰り返す。   S12d. It is determined whether logic synthesis and optimization synthesis have been completed for all blocks. If it is determined that logic synthesis and optimization synthesis have not been completed for all blocks (No), the process returns to block automatic logic synthesis in step S7a, and steps until optimization synthesis are completed until all blocks are completed. repeat.

S8.ステップS7bまでに算出されたブロックの実現規模に問題がある(Yes)と判断された場合にはステップS6のRTL設計に戻って設計を更新し、問題なしと判断されるまで以降のステップを繰り返す。   S8. If it is determined that there is a problem in the realization scale of the blocks 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. .

S5b.ステップS8で問題なし(No)と判断された場合には、ブロック間での論理合成制約条件であるタイミング条件を抽出する。   S5b. If it is determined in step S8 that there is no problem (No), a timing condition that is a logical synthesis constraint condition between blocks is extracted.

S7c.ステップS5bで抽出したチップ制約条件を用いて、チップ全体のタイミングの最適化を行なう。   S7c. Using the chip constraint extracted in step S5b, the timing of the entire chip is optimized.

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

S9a.一方、ステップS1dとステップS6とから生成されるブロック検証項目と、ステップS1aでのブロック分割結果を入力として、論理検証対象のブロックに対する入力信号を発生する機能及び出力信号とその期待値との照合機能を備えたブロック単位のテストベンチ(図3ではブロックTBと標記している。
)を生成する。
S9a. On the other hand, using the block verification items generated from step S1d and step S6 and the block division result in step S1a as input, the function to generate an input signal for the block to be logically verified and the collation of the output signal and its expected value A test bench for each block having a function (in FIG. 3, it is indicated as a block TB).
) Is generated.

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

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

これは、ブロックのRTLソースが想定通りか否かを、遅延時間を考慮しないで静的に検証するものである。   This is to statically verify whether or not the RTL source of the block is as expected without considering the delay time.

このプロセスによってRTLソースの要求仕様に対する妥当性がブロック単位に確認されてゆくので、必要に応じて確認済の複数のブロックの組合せに対する機能及び動作の確認が可能になる。つまり、ビルディングブロック方式で大規模集積回路の機能及び動作の確認が可能になる。   By this process, the validity of the required specification of the RTL source is confirmed in units of blocks, so that it is possible to confirm the functions and operations for 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.

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

S13.ステップS11aで問題なし(No)と判断された場合には、ステップS2で生成されたブロック間ネットリストと、ステップS7aで生成されたネットリストと、ステップS9で生成されたテストベンチを入力として、動作確認を行なう。   S13. If it is determined in step S11a that there is no problem (No), the interblock netlist generated in step S2, the netlist generated in step S7a, and the test bench generated in step S9 are input. Check the operation.

これは、ブロックの論理合成結果のネットリストを使って、遅延を考慮せずに静的に検証するものである。   This is to verify statically without considering the delay by using the netlist of the logical synthesis result of the block.

S14.ステップS13でのゲート検証の結果に問題があるか否かを判断する。もし、問題がある(Yes)と判断された場合にはステップS6に戻り、ステップS6、ステップS10、ステップS11及びステップS13の間の処理を問題なしと判断されるまで繰り返して行なう。   S14. It is determined whether or not there is a problem with 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 the processes between step S6, step S10, step S11, and step S13 are repeated until it is determined that there is no problem.

そして、このステップで問題なし(No)と判断された場合には、論理設計とインプリメント設計の間で論理の整合がとれたことになる。   If it is determined that there is no problem (No) in this step, the logic is consistent between the logic design and the implementation design.

S10b.ステップS9bで生成されたチップのテストベンチと、ステップS6で生成されたRTLソースを入力として、チップとしての論理検証を行なう。   S10b. The chip test bench generated in step S9b and the RTL source generated in step S6 are input to perform logic verification as a chip.

これは、チップの配線も含めて論理設計が想定通りであるか否かの検証を行なうもので、遅延時間を考慮しない静的な検証である。   This verifies whether the logic design including the wiring of the chip is as expected, and is a static verification that does not consider the delay time.

S11b.ステップS10bのチップ論理検証に問題があるか否かを判断する。もし、問題がある(Yes)と判断された場合にはステップS6に戻り、ステップS6、ステップS10、ステップS11、ステップS13及びステップS10bの間の処理を問題なしと判断されるまで繰り返して行なう。   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 the processes between step S6, step S10, step S11, step S13, and step S10b are repeated until it is determined that there is no problem.

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

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

この段階でクロックスキューが生じないようにできるのは、ブロック間ネットリストとフロアプランが先に決定されているためである。   The reason why clock skew does not occur at this stage is that the inter-block netlist and floor plan have been determined first.

このように、ブロック間でクロックスキューが生じないようにできるために、ブロック間とブロック内の設計を独立にできて、ブロック内のレイアウトが進め易くなる。   As described above, since the clock skew can be prevented from occurring between the blocks, the design between the blocks and the blocks can be made independent, and the layout within the blocks can be easily advanced.

S12b.高速で動作してタイミングの調整が難しい高速ブロックのレイアウトを行ない、レイアウトデータを生成する。   S12b. The layout of high-speed blocks that are difficult to adjust timing at high speed is performed and layout data is generated.

S12e.ステップS12cで低速動作のブロックのレイアウトが行なわれ、ステップS12bで高速動作のブロックのレイアウトが行なわれて、レイアウトデータに蓄積されているので、フロアプランに従ってブロックの配置とブロック間の配線を行ない、チップレイアウトの結果をレイアウトデータに蓄積する。   S12e. In step S12c, the low-speed operation block is laid out. In step S12b, the high-speed operation block is laid out and stored in the layout data. Therefore, the block arrangement and wiring between the blocks are performed according to the floor plan. The chip layout result is stored in the layout data.

そして、レイアウト後にSDF(SDF;Standard Delay File )を生成する。   Then, an SDF (SDF; Standard Delay File) is generated after layout.

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

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

即ち、従来は、高速動作をするブロックについては自動による配置・配線が困難であるので、設計者によるマニュアルでの配置・配線を優先して行ない、低速動作をするブロックについては、高速動作をするブロックの配置・配線が終了した後で自動で配置・配線を行なっていたが、これでは高速ブロックの配置・配線が終了するまで低速動作をするブロックの配置・配線に着手できない。   In other words, in the past, automatic placement and wiring is difficult for blocks that operate at high speed, so manual placement and wiring by the designer is prioritized, and blocks that operate at low speed operate at high speed. Placement / wiring is automatically performed after block placement / wiring is completed, but this cannot start placement / wiring of blocks that operate at low speed until the high-speed block placement / wiring is completed.

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

繰り返しになるが、従来の開発方法では、ブロック間ネットリストとフロアプランはレイアウト段階以前に確定できず、往々にしてレイアウトやタイミング検証の結果によってブロック間ネットリストとフロアプランを変更せざるを得ず、大規模集積回路開発のターンアラウンドタイムが長かったのに対して、上記の開発方法によってレイアウトのターンアランドタイムが短縮され、ひいては、大規模集積回路開発のターンアラウンドタイムが短縮されることが容易に理解できる。   Again, with the conventional development method, the interblock netlist and floor plan cannot be determined before the layout stage, and often the interblock netlist and floorplan must be changed according to the results of layout and timing verification. However, while the turnaround time for large-scale integrated circuit development was long, the above-mentioned development method shortened the turnaround time for the layout, which in turn reduced the turnaround time for large-scale integrated circuit development. Easy to understand.

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

これは、レイアウト後に求められたSDFを使い、セルと配線の遅延時間まで含めて動的に検証するものである。   In this method, the SDF obtained after the layout is used to dynamically verify the delay time between the cell and the wiring.

S16.ステップS15でのタイミング検証に問題があるか否かを判断して、フロアプラン及びレイアウトの妥当性を確認する。   S16. It is determined whether or not there is a problem with the timing verification in step S15, and the validity of the floor plan and layout is confirmed.

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

そして、ステップS16で問題なし(No)と判断された場合には大規模集積回路の設計が終了する。   If it is determined in step S16 that there is no problem (No), the design of the large scale integrated circuit is completed.

全体としては、回路アーキテクチャ検討と並行して行なうブロック間ネットリスト生成とフロアプランニングの出力を論理設計・検証、論理合成及びインプリメント設計の共通のデータとして、論理設計・検証、論理合成及びインプリメント設計を同時に進めてゆく。   As a whole, the output of block netlist generation and floor planning, which is performed in parallel with the circuit architecture study, is used as the common data for logic design and verification, logic synthesis and implementation design, and logic design and verification, logic synthesis and implementation design are performed. Proceed at the same time.

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

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

一方、インプリメント設計では、RTL設計開始までに完結させたフロアプランとブロック間ネットリストを基準に、ブロック単位のレイアウトとチップのレイアウトを逐次進めてゆく。この際、高速ブロックと低速ブロックのレイアウト設計を並行して行なって、レイアウト設計のターンアラウンドタイムの短縮を計っている。   On the other hand, in the implementation design, the layout in units of blocks and the layout of the chip are sequentially advanced on the basis of the floor plan and the net list between blocks 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 to reduce the turnaround time of the layout design.

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

ここまでは、大規模集積回路開発の全体工程を通した説明をしてきたが、以降は、その主要工程の説明と、論理合成に適用する開発ツールについて個別に説明する。   Up to this point, explanation has been given through the entire process of large-scale integrated circuit development, but hereinafter, the explanation of the main process and development tools applied to logic synthesis will be explained individually.

図4は、回路アーキテクチャ検討の詳細手順である。   FIG. 4 is a detailed procedure for examining the circuit architecture.

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

以降、図4の各ステップに付した符号に沿って回路アーキテクチャ検討の詳細手順について説明する。尚、図4において、太い矢印付実線は開発の流れを示し、細い矢印付破線はデータの流れを示し、細い矢印付実線は制約条件の参照を意味している。   Hereinafter, the detailed procedure of the circuit architecture study will be described along the reference numerals attached 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 thin solid line with an arrow indicates a reference of a constraint condition.

S21.要求仕様より、開発対象の大規模集積回路の位置づけを明確にして、求められている機能を漏れなく抽出する。   S21. Clarify the positioning of the large-scale integrated circuit to be developed from the required specifications, and extract the required functions without omission.

S22.チップ全体として機能を満足させるための機能構成(機能の組合せ)を検討して、機能毎に大きく分割する。   S22. The functional configuration (combination of functions) for satisfying the functions of the entire chip is studied, and the functions are largely divided for each function.

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

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

S24.ブロック内のゲート規模を制約条件に、ブロックの規模を見積もる。   S24. The block size is estimated with the gate size in the block as a constraint.

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

S25.ステップS24のゲート規模見積りの結果に問題があるか否かを判断する。問題がある(Yes)場合には、ステップS23のブロック分割に戻って、分割を変更して問題なしと判断されるまでステップS23及びステップS24を繰り返す。   S25. It is determined whether or not 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 the block division of step S23, and steps S23 and S24 are repeated until it is determined that there is no problem by changing the division.

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

特に、クロックポートへのフリップフロップの割付を説明する図である図5を使って、クロックポートの定義に関して説明する。   In particular, the definition of a clock port will be described with reference to FIG. 5, which is a diagram for explaining the assignment of flip-flops to clock ports.

図5(イ)は、ステップS24で得たフリップフロップ群の見積り結果で、この場合、20個のフリップフロップが必要という結果を得ており、一種類のクロックが供給されるものとして図示している。   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 necessary is obtained, and it is illustrated that one type of clock is supplied. Yes.

そして、クロック線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 20 flip-flops is divided into four groups of five, and one clock wiring is arranged in one group. Just connect.

これを行なった結果を図5(ロ)に示す。   The result of this is shown in FIG.

S27.ステップS26の結果に問題があるか否かを判断する。問題がある(Yes)と判断された場合には、ステップS23のブロック分割に戻り、ステップS23、ステップS24及びステップS26を繰り返す。   S27. It is determined whether or not there is a problem with the result of step S26. If it is determined that there is a problem (Yes), the process returns to the block division of step S23, and steps S23, S24, and S26 are repeated.

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

S29.ステップS28で得たクロックツリーに問題があるか否かを判断する。問題がある(Yes)と判断された場合には、ステップS23のブロック分割に戻り、ステップS23、ステップS24、ステップS26を問題なしと判断されるまで繰り返し、クロックツリーを完成させる。   S29. It is determined whether or not there is a problem with the clock tree obtained in step S28. If it is determined that there is a problem (Yes), the process returns to the 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.

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

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

この段階で、机上検討したフロアプランの草案ができあがる。   At this stage, a draft floor plan reviewed on the desk is completed.

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

S32.ステップS31で問題なし(No)と判断された場合には、テクノロジーから決まる同時スイッチング数の制約を考慮して大規模集積回路の端子配置を定義する。   S32. If it is determined in step S31 that there is no problem (No), 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.

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

このステップで問題なし(No)と判断された場合には、回路アーキテクチャの検討が終了する。   If it is determined in this step that there is no problem (No), the circuit architecture is examined.

図6は、物理インタフェース情報の生成手順、即ち、ブロック間ネットリストの生成手順である。   FIG. 6 shows a procedure for generating physical interface information, that is, a procedure for generating an interblock netlist.

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

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

S42.ステップS41で生成したブロックポート情報を入力として、ブロック単位のポートリストを生成する。   S42. The block port information generated in step S41 is used as an input to generate a block unit port list.

このブロック単位のポートリストはRTL設計でも使用される。   This block unit port list is also used in the RTL design.

S43.ステップS42で生成したブロック単位のポートリストと大規模集積回路の端子配置情報を入力として、同一名称のポートを接続してブロック間ネットリストを生成する。   S43. Using the block unit port list generated in step S42 and the terminal arrangement information of the large scale integrated circuit as inputs, the ports having the same name are connected to generate an interblock netlist.

図7は、ブロック間ネットの生成を概念的に示す図である。   FIG. 7 is a diagram conceptually illustrating generation of an inter-block net.

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

ここで生成されるブロック間ネットリストは、論理検証、ゲート検証、タイミング検証の共通のデータ、即ち、論理設計とインプリメント設計の共通のデータとして使用される。   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.

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

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

図8は、本発明の大規模集積回路の開発ツールの構成である。   FIG. 8 shows the configuration of a development tool for a large-scale integrated circuit according to the present invention.

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

図8の開発ツールの動作モードには、RTL監視モードと、論理合成モードとがある。その概要は下記の通りである。   The operation mode of the development tool in FIG. 8 includes an RTL monitoring mode and a logic synthesis mode. The outline is as follows.

まず、RTL監視モードの場合には、設計端末3a及び3bから監視サーバ2にRTL監視コマンドを電子メールすると、該監視サーバ2は受信メール内のコマンドをチェックし、規定のフォーマットのコマンドであれば監視プログラムを起動してRTL監視を開始し、新規作成又は更新されたRTLソースの有無と版数を確認し、該当するRTLソースがあれば設計端末及び合成サーバに電子メールで通知する。設計端末では、このメールによって論理合成対象のRTLソースとその版数を確認でき、誤った版数のRTLソースが論理合成されることや、版数の更新漏れを回避できる。   First, in the case of the RTL monitoring mode, when the RTL monitoring command is emailed to the monitoring server 2 from the design terminals 3a and 3b, the monitoring server 2 checks the command in the received mail, and if it is a command in a prescribed format. The monitoring program is activated to start RTL monitoring, the presence or version number of the newly created or updated RTL source is 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 check the RTL source to be logically synthesized and its version number by this mail, and can logically synthesize an incorrect version number of the RTL source and can avoid omission of version number update.

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

図9は、RTL監視モードの機能を説明する図である。   FIG. 9 is a diagram for explaining functions of the RTL monitoring mode.

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

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

該設計端末3a及び3bは、該監視サーバ2に対して電子メールを送信して、該監視サーバ2に搭載されている監視プログラムを起動する。   The design terminals 3a and 3b send an e-mail to the monitoring server 2 to start a monitoring program installed in the monitoring server 2.

又、該メールサーバが司るメールは、該監視サーバ2の監視機能を実現するメール、該監視サーバ2が監視した結果を設計端末3a又は3bに送信するメール、及び、該設計端末3a又は3bからの監視開始コマンドメールなどである。   The mail managed by the mail server includes a mail for realizing the monitoring function of the monitoring server 2, a mail for transmitting a result of monitoring by the monitoring server 2 to the design terminal 3a or 3b, and a mail from the design terminal 3a or 3b. Monitoring start command mail.

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

そこで、RTLソースを監視するサーバを配置して監視することによって、この不整合を回避することが可能になるために、設計者が最新のRTLソースについて論理合成が行なわれているか否かを意識しなくても、正しいRTLソースについて論理合成を実行することができる。   Therefore, in order to avoid this inconsistency by arranging and monitoring a server for monitoring the RTL source, the designer is conscious of whether or not logic synthesis is performed on the latest RTL source. Even if not, logic synthesis can be executed for the correct RTL source.

図10は、RTLソース監視の概略手順である。   FIG. 10 is a schematic procedure of RTL source monitoring.

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

まず、設計端末3a又は3bからRTL監視開始コマンドメールが送信される。   First, an RTL monitoring start command mail is transmitted from the design terminal 3a or 3b.

S51.監視サーバがメールの受信を待機している。   S51. The monitoring server is waiting to receive mail.

S52.もし、メールの受信がない(No)場合には、ステップS51に戻ってメール受信の待機を継続する。   S52. If no mail is received (No), the process returns to step S51 to continue waiting for mail reception.

S53.ステップS52において、メールの受信があった(Yes)場合には、受信コマンドをチェックする。   S53. In step S52, if a mail is received (Yes), the received command is checked.

S54.もし、予め定めたフォーマットのコマンドではない(No)と判断した場合には、ステップS51に戻ってメール受信の待機に入る。   S54. If it is determined that the command is not in a predetermined format (No), the process returns to step S51 to enter mail reception standby.

S55.ステップS54で予め定めたフォーマットのコマンドである(Yes)と判断した場合には、監視プログラムを起動して、RTLソースの格納アドレス、プロジェクト名及び大規模集積回路名より成るRTL監視データを生成する。   S55. If it is determined in step S54 that the command is in a predetermined format (Yes), the monitoring program is activated 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. .

S56.新規設計のRTLソース又は更新されたRTLソースがあるか否かをチェックする。   S56. Check if there is a newly designed RTL source or an updated RTL source.

S57.ステップS56のチェックの結果、新規又は更新RTLソースがない(No)と判断された場合には、ステップS56に戻ってチェックを続ける。   S57. As a result of the check in step S56, if it is determined that there is no new or updated RTL source (No), the process returns to step S56 to continue the check.

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

これにより、設計端末側では該当するRTLソースが存在すること、及びその版数を確認することができる。   Thereby, the design terminal side can confirm that the corresponding RTL source exists and its version number.

又、新規に設計されたか更新されたRTLソース即ち最新のRTLソースが存在すると監視サーバは合成サーバに論理合成を依頼するので、最新のRTLソースについて漏れなく論理合成を実行することができる。   In addition, when a newly designed or updated RTL source, that is, the latest RTL source exists, the monitoring server requests the synthesis server to perform logic synthesis, so that the latest RTL source can be executed without omission.

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

以降、図12のRTL監視開始コマンドを参照しながら、図11の各ステップに付した符号に沿ってRTL監視データの生成手順について詳細に説明する。尚、図11の太い実線はRTL監視データ生成の流れを示し、細い矢印付破線はデータの流れを示している。   Hereinafter, the procedure for generating RTL monitoring data will be described in detail along the reference numerals attached 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 data flow.

S61.電子メールの受信を待機している。   S61. Waiting to receive email

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

S63.ステップS62で電子メールの受信があった(Yes)と判断された場合には、受信した電子メールに搭載されているコマンドを解析する。   S63. If it is determined in step S62 that an email has been received (Yes), the command mounted in the received email is analyzed.

正規のRTL監視開始コマンドメールには、図12に例示する如く、ヘッダ部に配信先のメールアドレス、RTL監視開始コマンドである“monitor on”が、ボディ部にRTLソースの格納アドレス、RTLソースを特定する名称であるプロジェクト名及び大規模集積回路名が搭載されている。   In the regular RTL monitoring start command mail, as shown in FIG. 12, the mail address of the delivery destination in the header part, “monitor on” as the RTL monitoring start command, the storage address of the RTL source, and the RTL source in the body part. The project name and large-scale integrated circuit name, which are names to be specified, are mounted.

尚、プロジェクト名と大規模集積回路名のように階層化した名称情報を搭載するのは、同一名称の大規模集積回路が異なるプロジェクトで使われていても、正しく特定できるようにするためである。   Note that the hierarchical name information such as the project name and the large-scale integrated circuit name is installed so that the large-scale integrated circuit with the same name can be correctly identified even if it is used in different projects. .

S64.正規のRTL監視開始コマンド“monitor on”が搭載されているか否かを判断する。   S64. It is determined whether or not a regular RTL monitoring start command “monitor on” is installed.

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

これにより、無関係な電子メールによる誤処理を防止することができる。   Thereby, erroneous processing due to irrelevant electronic mail can be prevented.

S66.ステップS64で正規のRTL監視開始コマンド“monitor on”が搭載されている(Yes)と判断された場合には、受信したメールからRTLソースの格納アドレスとRTLソースの名称情報を抽出する。   S66. If it is determined in step S64 that the regular RTL monitoring start command “monitor on” is installed (Yes), the storage address of the RTL source and the name information of the RTL source are extracted from the received mail.

S67.ステップS66で抽出したRTLソースの格納アドレスとRTLソースの名称情報をキーに、RTL監視データを検索する。   S67. The RTL monitoring data is searched using the RTL source storage address and RTL source name information extracted in step S66 as keys.

S68.当該RTLソースが既に監視中のRTLソースであるか否かを判断する。もし、当該RTLソースが既に監視中のRTLソースである(Yes)と判断される場合には、何も処理せずにステップS61に戻り、電子メール受信の待機に入る。   S68. It is determined whether or not the RTL source is an RTL source that is already being monitored. If it is determined that the RTL source is an RTL source that is already being monitored (Yes), no processing is performed and the process returns to step S61 to enter standby for receiving an e-mail.

これにより、複数の設計者が独立にRTL監視を要求しても、監視動作自体の重複を避けることができるようになる。   As a result, even when a plurality of designers independently request RTL monitoring, it is possible to avoid duplication of the monitoring operation itself.

S69.ステップS68で当該RTLソースが監視中のRTLソースでない(No)と判断された場合には、指定された格納アドレスを検索する。   S69. If it is determined in step S68 that the RTL source is not the monitored RTL source (No), the designated storage address is searched.

S70.指定された格納アドレスが実在するか否かを判断する。   S70. It is determined whether or not the specified storage address actually exists.

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

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

S73.指定されたデータを監視データに格納する。   S73. Store specified data in monitoring data.

S74.受け付けたデータを全ての設計端末に送信してRTL監視データ生成の手順を終了する。   S74. The accepted data is transmitted to all design terminals, and the procedure for generating RTL monitoring data is completed.

図13は、上記RTL監視データによるRTLソース監視の手順、図14はRTL監視結果返信メールの例である。   FIG. 13 shows an RTL source monitoring procedure based on the RTL monitoring data, and FIG. 14 shows an example of an RTL monitoring result reply mail.

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

S81.図11中に示した監視データからプロジェクト名、大規模集積回路名、格納アドレスを抽出する。   S81. The project name, large-scale integrated circuit name, and storage address are extracted from the monitoring data shown in FIG.

S82.監視サーバ内に対象となる上記データが存在するか否かを判断する。   S82. It is determined whether the target data exists in the monitoring server.

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.

S84.ステップS82で上記データが存在する(Yes)と判断された場合と、ステップS83でRTLソースを複写した後には、RTLソースファイル数の増減判断をするために、監視対象のRTLソースファイル名リストを配列Lに格納し、監視サーバ内のRTLソースファイル名リストを配列Mに格納する。   S84. If it is determined in step S82 that the data exists (Yes), and after copying the RTL source in step S83, the RTL source file name list to be monitored is determined in order to determine whether the number of RTL source files is increased or decreased. Store in the array L, and store the RTL source file name list in the monitoring server in the array M.

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

S86.配列Lと配列Mの大きさに差分があり、配列Lが配列Mより大きい(便宜的にL>Mと標記している。)場合には、新規RTLソースが追加されたことを意味するので、新規ファイル名を配列N1に格納し、処理ループ内のステップS88に移行する。   S86. If there is a difference between the sizes of the array L and 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 process proceeds to step S88 in the processing loop.

S87.配列Lと配列Mの大きさに差分があり、配列Lが配列Mより小さい(便宜的にL<Mと標記している。)場合には、格納されるRTLソースが削除する必要があることを意味するので、削除するファイル名を配列N2に格納し、処理ループ内のステップS88に移行する。   S87. If there is a difference between the sizes of the array L and 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 file name to be deleted is stored in the array N2, and the process proceeds to step S88 in the processing loop.

S88.ファイル名が一致するRTLソースの内容の差分を抽出する。   S88. The difference between the contents of the RTL source with the matching file name is extracted.

S89.RTLソース内容に差分があるか否かを判断する。差分がない(No)と判断された場合には、ステップS90以降ステップS94の処理を飛び越してループさせる。即ち、ステップS88に戻る。   S89. It is determined whether there is a difference in the RTL source contents. If it is determined that there is no difference (No), the process of step S90 and subsequent steps S94 is skipped and looped. That is, the process returns to step S88.

S90.ステップS89でRTLソース内容に差分がある(Yes)と判断された場合には、版数を比較する。   S90. If it is determined in step S89 that there is a difference in the RTL source contents (Yes), the version numbers are compared.

S91.ステップS90の版数比較の結果、版数が同一であるか否かを判断する。   S91. As a result of the version number comparison in step S90, it is determined whether or not the version numbers are the same.

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

これにより、版数更新がされていないことが設計者に伝えられるので、版数の更新漏れを防止することが可能になる。   As a result, the designer is informed that the version number has not been updated, and therefore it is possible to prevent omission of version number updates.

S93.ステップS91で版数が同一ではない(No)と判断された場合には、差分を差分ファイルに格納すると共に、版数を版数管理表に記録する。   S93. If it is determined in step S91 that the version numbers are not the same (No), the difference is stored in the difference file and the version number is recorded in the version number management table.

S94.差分があるファイル名を配列N2に格納する。   S94. The file name having the difference is stored in the array N2.

ステップS93及びステップS94を実行することによって、版数管理を自動化することが可能になると共に、必要な場合には上記差分ファイルを用いて必要な版数のRTLソースを復元することが可能になる。   By executing Step S93 and Step S94, it is possible to automate version number management, and when necessary, it is possible to restore the required version number of the RTL source using the difference file. .

以上のステップをその時のRTLソースについて実行して終了すれば、処理ループ内の処理が終了する。   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.ステップS86、ステップS87及びステップS94での処理に応じて、監視サーバ内のファイルを更新する。   S95. The file in the monitoring server is updated according to the processing in step S86, step S87, and step S94.

即ち、新規に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, and the storage address of the file server even if there is a difference in the RTL source even if no new RTL source is added. When a new RTL source is copied from the file 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.

S96.上記配列N1、N2及びN3のデータをRTL監視結果返信メールで設計端末に送信してRTLソース監視の手順を終了する。   S96. The data in the arrays N1, N2, and N3 are transmitted to the design terminal by an RTL monitoring result reply mail, and the RTL source monitoring procedure ends.

尚、RTL監視結果返信メールは図14に示す構造例のようになっており、ヘッダ部に配信先のメールアドレス、論理合成受付を示すメッセージ、ボディ部に新規に格納したファイルの大規模集積回路名、RTLソースファイル名、設計端末メールアドレス、版数変更情報、更新したファイルの大規模集積回路名、RTLソースファイル名、設計端末メールアドレス、版数変更情報、削除したファイルの大規模集積回路名、RTLソースファイル名が搭載されている。   Note that the RTL monitoring result reply mail has a structure example shown in FIG. 14. The mail address of the delivery destination in the header part, the message indicating logic synthesis acceptance, and the large-scale integrated circuit of the file newly stored in the body part Name, RTL source file name, design terminal e-mail address, version number change information, large-scale integrated circuit name of updated file, RTL source file name, design terminal e-mail address, version number change information, large-scale integrated circuit of deleted file Name and RTL source file name.

これで論理合成のためのRTL監視に関する説明を終わり、以降はメールオーダーによる論理合成に関する説明に移る。   This concludes the description of RTL monitoring for logic synthesis, and the following shifts to the description of logic synthesis by mail order.

図15は、論理合成モードの機能を説明する図である。   FIG. 15 is a diagram for explaining the function of the logic synthesis mode.

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

機能の概略は下記の通りである。即ち、該監視サーバ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 the RTL source is added or updated, a mail is sent to the synthesis server 6 and the latest RTL source exists. Notify you. When receiving the mail from the monitoring server, the synthesizing server 6 extracts information necessary for synthesizing from the mail and executes logic synthesis, and transmits a synthesis result report to the design terminal after the circuit check.

図16は、論理合成の手順、図17は合成依頼メールの例である。   FIG. 16 shows a logic synthesis procedure, and FIG. 17 shows an example of a synthesis request mail.

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

S101.設計端末3a又は3bがRTLの新規設計又はRTLの更新設計を行なう。   S101. The design terminal 3a or 3b performs RTL new design or RTL update design.

S102.監視サーバ2が新規RTLソース又は更新RTLソースを確認すると、合成依頼メールを合成サーバ6に送信して、論理合成の実行を依頼する。   S102. When the monitoring server 2 confirms the new RTL source or the updated RTL source, it sends a synthesis request mail to the synthesis server 6 and requests execution of logic synthesis.

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

S103.合成依頼メールを受信した合成サーバ6は、メールに搭載されている情報を解析して、大規模集積回路名、対象ブロック名及び設計端末のメールアドレスを抽出して、予め準備されている汎用スクリプトに填め込んで定義済スクリプトを生成すると共に、起動コマンドを生成する。   S103. The composition server 6 that has received the composition request mail analyzes the information installed in the mail, extracts the large-scale integrated circuit name, the target block name, and the design terminal mail address, and prepares a general-purpose script prepared in advance. Generates a predefined script and inserts a startup command.

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

S104.定義済スクリプトに応じて論理合成を実行する。   S104. Execute logic synthesis according to the defined script.

S105.論理合成が終了した後でRTLの解析結果、回路規模、タイミング情報、使用セルより成る合成結果レポートを作成する。   S105. After the logic synthesis is completed, a synthesis result report including the RTL analysis result, circuit scale, timing information, and used cells is created.

S106.該合成結果レポートを設計端末に送信する。   S106. The synthesis result report is transmitted to the design terminal.

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

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

該合成結果レポートに問題がない場合には、論理合成を終了する。   If there is no problem in the synthesis result report, the logic synthesis is terminated.

このようにして、ブロック単位にRTLソースと論理合成結果を確定させることが可能になる。   In this way, it is possible to determine the RTL source and the logic synthesis result for each block.

又、第二キーワードにRTLソースを付して設計端末からメールを送信することにより、合成サーバ6は受信したメールからRTLソースの切り出しを行ない、ファイルサーバ5に格納する。こうして格納されたRTLソースファイルサーバ上に確認すると監視サーバ2はステップS102の論理合成の依頼をするので、上記手順によって論理合成が実行される。従って、図8では設計端末、監視サーバ、合成サーバ等が同一ネットワークに接続されている構成を示したが、開発ツールのネットワーク同士が接続されていれば、設計端末が遠隔地に設置されていてもRTLソースの転送と論理合成が可能である。   Further, by sending an email from the design terminal with the RTL source attached to the second keyword, the synthesis server 6 cuts out the RTL source from the received email and stores it in the file server 5. When confirmed on the RTL source file server stored in this manner, the monitoring server 2 requests logic synthesis in step S102, and thus logic synthesis is executed according to the above procedure. Therefore, FIG. 8 shows a configuration in which a design terminal, a monitoring server, a synthesis server, and the like are connected to the same network. Also, RTL source transfer and logic synthesis are possible.

図18は、受信メールの処理手順である。   FIG. 18 is a processing procedure of received mail.

以降、図18の各ステップに付した符号に沿って受信メールの処理手順について説明する。尚、図18において、太い矢印付実線は受信メール処理の流れを示し、細い矢印付破線はデータの流れを示している。   Hereinafter, the processing procedure of the received mail will be described along the reference numerals attached 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.

S111.合成サーバ6は監視サーバ2又は設計端末3a又は3bからのメールの受信を待機している。   S111. The composition server 6 waits for the reception of mail from the monitoring server 2 or the design terminal 3a or 3b.

S112.メールを受信したか否かを判断する。メールを受信していない(No)と判断した場合には、ステップS111に戻って受信待機を継続する。   S112. Determine whether an email has been received. If it is determined that no mail has been received (No), the process returns to step S111 and continues to wait for reception.

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

S114.ステップS113の検索の結果、第一キーワードが抽出されたか否かを判断する。   S114. It is determined whether or not the first keyword has been extracted as a result of the search in step S113.

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

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 e-mail address of the design terminal following the first keyword are extracted.

S117.ステップS113の検索の結果、第二キーワードが抽出されたか否かを判断する。   S117. It is determined whether the second keyword has been extracted as a result of the search in step S113.

S118.ステップS117で第二キーワードが抽出された(Yes)と判断された場合には、第二キーワード以降に搭載されているRTLソースを切り出してRTLソースファイルに格納して処理を終了する。   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 stored in the RTL source file, and the process ends.

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

S120.該定義済スクリプトのファイル名を引数として論理合成を起動して実行する。   S120. The logic synthesis is activated and executed with the file name of the defined script as an argument.

S121.論理合成終了後に回路チェックをする。   S121. The circuit is checked after the logic synthesis is completed.

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

これで受信メールの処理手順を終了し、以降は、RTL監視の結果による合成依頼メールの受信待機に入る。   This completes the received mail processing procedure, and thereafter, the apparatus enters a standby state for receiving a composite request mail based on the result of RTL monitoring.

図19は、ブロックレイアウトの手順である。   FIG. 19 shows a block layout procedure.

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

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

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

ブロックレイアウトはこの状態からスタートする。   The block layout starts from this state.

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

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

S133.ステップS132でOK(Yes)と判断された場合には、ブロック間配線の負荷容量、抵抗という合成制約条件の考慮の下にブロック間配線を行なう。この際、ブラックボックスのブロックに接続される配線についてもタイミングの妥当性を確認するために、ブロックの入出力ポートにはフリップフロップを配置する。   S133. If it is determined in step S132 to be OK (Yes), 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, in order to confirm the validity of the wiring connected to the block of the black box, a flip-flop is arranged at the input / output port of the block.

S134.ブロック間のタイミングの妥当性を確認し、タイミングが妥当でない(No)であると判断された場合にはステップS1の回路アーキテクラャ検討に戻って、再度フロアプラン、クロックツリー及びブロック間ネットリストの検討を行ない、ステップS131、ステップ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 circuit architecture examination in step S1, and the floor plan, the clock tree, and the inter-block netlist are again checked. Consideration is performed, and step S131 and step S133 are executed.

S135.ステップS134でタイミングが妥当(Yes)であると判断された場合には、ブロック間配線を確定する。   S135. If it is determined in step S134 that the timing is appropriate (Yes), inter-block wiring is determined.

S136.ブロック内合成をする際のファンアウトやタイミング調整のための合成制約条件の抽出を行なう。   S136. Extraction of synthesis constraints for fan-out and timing adjustment during intra-block synthesis.

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

S138.ブラックボックスと差し替えたブロック内部の配置・配線を行なう。   S138. Place and wire inside the block replaced with the black box.

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

S140.ステップS139でタイミングが妥当である(Yes)と判断された場合には、ブロック内の配線を確定する。   S140. If it is determined in step S139 that the timing is appropriate (Yes), the wiring in the block is determined.

S141.全てのブロックについて設計が完了したか否かを判断して、設計済でないブロックが残っている(No)と判断された場合には、ステップS136以降を繰り返す。   S141. It is determined whether or not the design has been completed for all the blocks, and if it is determined that there are remaining blocks that have not been designed (No), step S136 and subsequent steps are repeated.

一方、全てのブロックについて設計が完了している(Yes)と判断された場合には、この処理手順を終了する。   On the other hand, if it is determined that the design has been completed for all the blocks (Yes), this processing procedure ends.

このように、事前にブロック間ネットリストを確定し、論理設計・検証及び論理合成が完了したブロックから順に配置・配線を行なうことにより、チップの設計をビルディングブロック方式で進めてゆくことができ、チップの設計段階から回路アーキテクチャ検討に後戻りすることはないので、チップの設計の効率と設計品質を向上させることができる。   In this way, by establishing the interblock netlist in advance, and placing and wiring in order from the block for which logic design / verification and logic synthesis has been completed, the design of the chip can be advanced in the building block method, Since the circuit architecture is not reverted from the chip design stage, the chip design efficiency and design quality can be improved.

本発明の大規模集積回路の開発工程の流れ。The flow of the development process of the large-scale integrated circuit of the present invention. 本発明の大規模集積回路開発の原理的手順。The principle procedure of large-scale integrated circuit development of this invention. 本発明の大規模集積回路開発の詳細手順。Detailed procedure for development of a large scale integrated circuit of the present invention. 回路アーキテクチャ検討の詳細手順。Detailed procedure for circuit architecture study. クロックポートへのフリップフロップの割付を説明する図。The figure explaining allocation of the flip-flop to a clock port. 物理インタフェース情報生成の手順。Procedure for generating physical interface information. ブロック間ネット生成を概念的に示す図Diagram showing inter-block net generation conceptually 本発明の開発ツールの構成。Configuration of the development tool of the present invention. RTL監視モードの機能を説明する図。The figure explaining the function of RTL monitoring mode. RTL監視の概略手順。General procedure for RTL monitoring. RTL監視データ生成の手順。Procedure for generating RTL monitoring data. RTL監視開始コマンドの例。An example of an RTL monitoring start command. RTLソース監視の手順。Procedure for RTL source monitoring. RTL監視結果返信メールの例。An example of an RTL monitoring result reply mail. 論理合成モードの機能を説明する図。The figure explaining the function of logic synthesis mode. 論理合成の手順。Logic synthesis procedure. 論理合成依頼メールの例。An example of a synthesis request email. 受信メールの処理手順。Processing procedure for received mail. ブロックレイアウトの手順。Block layout procedure. 従来の大規模集積回路の開発工程の流れ。Flow of development process for conventional large-scale integrated circuits. 従来の大規模集積回路開発の手順。Conventional large-scale integrated circuit development procedure.

符号の説明Explanation of symbols

1 ネットワーク
2 監視サーバ
3a 設計端末
3b 設計端末
4 メールサーバ
5 ファイルサーバ
6 合成サーバ
1 Network 2 Monitoring Server 3a Design Terminal 3b Design Terminal 4 Mail Server 5 File Server 6 Synthesis Server

Claims (5)

大規模集積回路を機能分割した単位であるブロックに対応してRTL設計を行う大規模集積回路の開発ツールにおいて、
前記RTL設計の結果を機能記述言語で記述したRTLソースとして格納するファイルサーバと、
前記ファイルサーバに格納されている前記RTLソースの更新前後の差分をチェックする監視サーバと、
前記監視サーバにより更新前後に差分があると判断された前記RTLソースに対して論理合成を行う合成サーバと、
前記ファイルサーバ、前記監視サーバ、及び前記合成サーバの間の処理連携を行うためのデータを受け渡すネットワークとを備え、
前記監視サーバは、更新後のRTLソースと更新前のRTLソースとの差分をチェックする差分チェック手段と、前記RTLソースの版数をチェックする版数チェック手段と、前記差分チェック手段と前記版数チェック手段の結果を基に版数の更新漏れをチェックする手段とを備える
ことを特徴とする大規模集積回路の開発ツール。
In development tools for large-scale integrated circuits that perform RTL design corresponding to blocks, which are units obtained by functionally dividing large-scale integrated circuits,
A file server for storing the result of the RTL design as an RTL source described in a function description language;
A monitoring server for checking a difference before and after the update of the RTL source stored in the file server;
A synthesis server that performs logic synthesis on the RTL source determined to have a difference before and after the update by the monitoring server;
Said file server, said monitoring server, and Bei example a network to pass data for performing the process cooperation between the synthesizing server,
The monitoring server includes a difference check unit that checks a difference between the updated RTL source and the RTL source before the update, a version number check unit that checks the version number of the RTL source, the difference check unit, and the version number. A development tool for a large-scale integrated circuit, comprising: means for checking a version number update omission based on a result of the checking means .
請求項1に記載の大規模集積回路の開発ツールにおいて、The development tool for a large-scale integrated circuit according to claim 1,
前記監視サーバは、前記RTLソースの更新前後に差分があると判断した場合は合成依頼コマンドを前記合成サーバへ送信して論理合成を依頼する手段を備え、The monitoring server includes means for requesting logic synthesis by sending a synthesis request command to the synthesis server when it is determined that there is a difference between before and after the update of the RTL source,
前記合成サーバは、前記監視サーバからの前記合成依頼コマンドの受信によって論理合成を行う手段を備えるThe synthesis server includes means for performing logic synthesis by receiving the synthesis request command from the monitoring server.
ことを特徴とする大規模集積回路の開発ツール。A large-scale integrated circuit development tool.
請求項2に記載の大規模集積回路の開発ツールにおいて、The development tool for a large scale integrated circuit according to claim 2,
前記合成依頼コマンドは論理合成の対象となる対象ブロック名を含み、The synthesis request command includes a target block name to be subjected to logic synthesis,
前記合成サーバは、全ブロック共通の合成制約条件情報を含んだ汎用スクリプトと、前記汎用スクリプトに前記対象ブロック名が示すブロックに固有の合成条件情報を付加して定義済スクリプトを生成する手段と、前記定義済スクリプトに基づいて論理合成を行う手段とを備えるThe synthesis server includes a general-purpose script including synthesis constraint condition information common to all blocks, and means for generating a predefined script by adding synthesis condition information specific to the block indicated by the target block name to the general-purpose script; Means for performing logic synthesis based on the defined script.
ことを特徴とする大規模集積回路の開発ツール。A large-scale integrated circuit development tool.
請求項1ないし請求項3に記載の大規模集積回路の開発ツールにおいて、The development tool for a large scale integrated circuit according to claim 1,
前記ファイルサーバへ格納する前記RTLソースの入力と、前記監視サーバの監視結果の出力と、前記合成サーバの論理合成結果の出力とを行う1以上の設計端末を備えるOne or more design terminals for inputting the RTL source stored in the file server, outputting the monitoring result of the monitoring server, and outputting the logic synthesis result of the synthesis server are provided.
ことを特徴とする大規模集積回路の開発ツール。A large-scale integrated circuit development tool.
請求項4に記載の大規模集積回路の開発ツールにおいて、The development tool for a large-scale integrated circuit according to claim 4,
前記ファイルサーバ、前記監視サーバ、前記合成サーバ、及び前記1以上の設計端末の間の処理連携を行うためのデータの受け渡しは、メールサーバを介した電子メールにより行うData exchange for processing cooperation among the file server, the monitoring server, the synthesis server, and the one or more design terminals is performed by electronic mail via a mail server.
ことを特徴とする大規模集積回路の開発ツール。A large-scale integrated circuit development tool.
JP2005187355A 2005-06-27 2005-06-27 Development tools for large-scale integrated circuits Expired - Fee Related JP3956979B2 (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
JP2005353079A JP2005353079A (en) 2005-12-22
JP3956979B2 true JP3956979B2 (en) 2007-08-08

Family

ID=35587455

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP3956979B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014021573A (en) 2012-07-13 2014-02-03 International Business Maschines Corporation Method for optimizing netlist used in logic circuit design for semiconductor integrated circuit; device for assisting in logic circuit design using the same method; and computer program that can be executed on the same

Also Published As

Publication number Publication date
JP2005353079A (en) 2005-12-22

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
US7058921B1 (en) Method and system for resource allocation in FPGA-based system-on-chip (SoC)
US7111269B2 (en) Comparison of two hierarchical netlist to generate change orders for updating an integrated circuit layout
US20050268258A1 (en) Rule-based design consultant and method for integrated circuit design
US8266566B2 (en) Stability-dependent spare cell insertion
US7290237B2 (en) Method for programming a mask-programmable logic device and device so programmed
TW200935231A (en) Method and system for implementing abstract layout structures with parameterized cells
JP2002149730A (en) Device and method for designing circuit and timing allocation device
EP1958103A1 (en) Timing constraint merging in hierarchical soc designs
US11574101B2 (en) Techniques for providing optimizations based on categories of slack in timing paths
US6526561B2 (en) Database for designing integrated circuit device, and method for designing integrated circuit device
US7380228B2 (en) Method of associating timing violations with critical structures in an integrated circuit design
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
US7168057B2 (en) Targeted optimization of buffer-tree logic
JP3956979B2 (en) Development tools for large-scale integrated circuits
US20120047476A1 (en) Circuit design optimization
US7721171B2 (en) Scheme to optimize scan chain ordering in designs
JP2000090142A (en) Development method and tool for large scale integrated circuit
US10235486B2 (en) Method, apparatus and system for automatically deriving parameters for an interconnect
US7275223B2 (en) Facilitating high-level validation of integrated circuits in parallel with development of blocks in a hierarchical design approach
US20090064082A1 (en) Method for custom register circuit design
US20060075370A1 (en) Method and apparatus for automating post-tape release VLSI modifications
Jayalakshmi Functional ECO automation challenges and solutions
JP5332598B2 (en) Design method and design apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061024

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070315

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070329

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070417

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070430

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100518

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110518

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120518

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130518

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130518

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees