[go: up one dir, main page]

JP2012059153A - Design support apparatus, design support method, design support program, and manufacturing method of semiconductor integrated circuit - Google Patents

Design support apparatus, design support method, design support program, and manufacturing method of semiconductor integrated circuit Download PDF

Info

Publication number
JP2012059153A
JP2012059153A JP2010203713A JP2010203713A JP2012059153A JP 2012059153 A JP2012059153 A JP 2012059153A JP 2010203713 A JP2010203713 A JP 2010203713A JP 2010203713 A JP2010203713 A JP 2010203713A JP 2012059153 A JP2012059153 A JP 2012059153A
Authority
JP
Japan
Prior art keywords
circuit description
variable
rtl
variable name
design support
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.)
Pending
Application number
JP2010203713A
Other languages
Japanese (ja)
Inventor
Kazutaka Murakami
和隆 村上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2010203713A priority Critical patent/JP2012059153A/en
Publication of JP2012059153A publication Critical patent/JP2012059153A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To improve readability of circuit descriptions of an RTL.SOLUTION: A design support apparatus has: operation combination means for generating a circuit description of a first RTL on the basis of a circuit description of an operation level; parameter name generation means which generates, for a parameter included in the circuit description of the first RTL, a parameter name based on a parameter name of a corresponding parameter in an arithmetic expression substituted to the parameter or the circuit description of the operation level and records in storage means information of correspondence between the parameter name of the parameter included in the circuit description of the first RTL and the parameter name generated for the parameter; and circuit description output means for outputting the circuit description of the first RTL and a second RTL circuit description obtained by replacing the parameter name of the first RTL circuit description with the parameter name generated by the parameter name generation means.

Description

本発明は、設計支援装置、設計支援方法、設計支援プログラム、及び半導体集積回路の製造方法に関し、特に動作合成手法によってRTLの回路記述を生成する設計支援装置、設計支援方法、設計支援プログラム、及び半導体集積回路の製造方法に関する。   The present invention relates to a design support apparatus, a design support method, a design support program, and a method for manufacturing a semiconductor integrated circuit, and more particularly to a design support apparatus, a design support method, a design support program, and a design support apparatus for generating an RTL circuit description by a behavioral synthesis method. The present invention relates to a method for manufacturing a semiconductor integrated circuit.

近年、半導体集積回路の大規模化や短TAT(Turn Around Time)化に伴い、動作合成(又は高位合成)手法が注目されている。動作合成手法とは、ANSI−C、SystemC、又はUML(Unified Modeling Language)等の高抽象度の動作レベルの回路記述から、RTL(Register Transfer Level)の回路記述を自動生成する手法である。   In recent years, a behavioral synthesis (or high-level synthesis) method has attracted attention as semiconductor integrated circuits become larger in scale and have a shorter TAT (Turn Around Time). The behavioral synthesis method is a method for automatically generating a RTL (Register Transfer Level) circuit description from a circuit description at a high abstraction level such as ANSI-C, SystemC, or UML (Unified Modeling Language).

動作レベルの回路記述には、レジスタ(信号値の保持)、演算器の共有、時間の概念は無い。一方、RTLの回路記述には、レジスタ、演算器の共有、及び時間の概念は存在する。RTLの回路記述を設計者が手設計する場合、レジスタ、演算器の共有、及び時間の概念は、設計者によって全て決定され、記述される。   There is no concept of register (holding of signal value), sharing of arithmetic unit, and time in the circuit description of the operation level. On the other hand, in the RTL circuit description, there are concepts of registers, sharing of arithmetic units, and time. When a designer manually designs an RTL circuit description, the concepts of register, computing unit sharing, and time are all determined and described by the designer.

図1は、従来の設計者による手設計のRTLの回路記述の設計フローを示す図である。   FIG. 1 is a diagram showing a design flow of RTL circuit description of manual design by a conventional designer.

設計仕様p1に基づいて、設計仕様書p2及び動作レベルの回路記述p3が作成される。設計仕様p1とは、どのような半導体集積回路を作成したいかをまとめたものである。例えば、設計仕様p1には、動作条件、含まれる機能、及びレジスタ仕様等が含まれる。設計仕様がより具体化され、書面や電子データとして記載されたものが設計仕様書p2及び動作レベルの回路記述p3である。動作レベルの回路記述p3は、主に機能検証用として、設計仕様p1の機能ごとに作成されるのが一般的である。   Based on the design specification p1, a design specification p2 and an operation level circuit description p3 are created. The design specification p1 is a summary of what kind of semiconductor integrated circuit is desired to be created. For example, the design specification p1 includes operating conditions, included functions, register specifications, and the like. The design specifications are further embodied, and what is described as a document or electronic data is the design specifications p2 and the circuit description p3 of the operation level. The circuit description p3 at the operation level is generally created for each function of the design specification p1 mainly for function verification.

図2は、動作レベルの回路記述の例を示す図である。同図に示される動作レベルの回路記述は、ANSI−C言語で記述された例である。同図より明らかなように、動作レベルの回路記述では、基本的に演算の並列性や演算にかかる時間の概念は存在しない。   FIG. 2 is a diagram illustrating an example of the circuit description of the behavior level. The circuit description of the operation level shown in the figure is an example described in ANSI-C language. As is clear from the figure, there is basically no concept of the parallelism of operations and the time required for operations in the circuit description at the operation level.

従来の設計者による手設計のRTLの回路記述設計では、設計者は、設計仕様書p2及び動作レベルの回路記述p3を解析及び理解し、手設計にてRTLの回路記述を作成していた。そのため、RTLの回路記述内の信号名、レジスタ名は、設計者が任意に決めることが出来た。   In a conventional RTL circuit description design by a designer, the designer analyzes and understands the design specification p2 and the operation level circuit description p3, and creates the RTL circuit description by hand design. For this reason, the designer can arbitrarily determine signal names and register names in the RTL circuit description.

図3は、手設計によって作成されるRTLの回路記述の例を示す図である。同図の回路記述は、Verilog HDLを用いて記述された例である。同図に示されるRTLの回路記述は、図2で示した動作記述の回路記述と機能的には等価である。但し、RTLの回路記述では、並列性と時間の概念とを記述することが出来る。例えば、図3では、b+cとe+fとの演算を同一サイクルで行い(並列化)、a*dの演算を次サイクルで行っている。   FIG. 3 is a diagram illustrating an example of RTL circuit description created by hand design. The circuit description in the figure is an example described using Verilog HDL. The circuit description of the RTL shown in the figure is functionally equivalent to the circuit description of the operation description shown in FIG. However, the RTL circuit description can describe the concept of parallelism and time. For example, in FIG. 3, the calculation of b + c and e + f is performed in the same cycle (parallelization), and the calculation of a * d is performed in the next cycle.

一方、動作合成手法によれば、RTLの回路記述は、動作合成ツールによって自動的に生成されるのが一般的である。図4は、動作合成手法を用いたRTLの回路記述の設計フローを示す図である。   On the other hand, according to the behavioral synthesis method, an RTL circuit description is generally automatically generated by a behavioral synthesis tool. FIG. 4 is a diagram showing a design flow of RTL circuit description using the behavioral synthesis method.

設計仕様p6、設計仕様書p7は、図1の設計仕様p1又は設計仕様書p2と同様である。また、動作レベルの回路記述p8は、図1の動作レベルの回路記述p3と同等である。但し、動作合成p9で用いられる動作合成ツールによっては記述制約が存在する場合もあり、動作合成用に、別途、動作レベルの回路記述p8が作成される場合もある。動作合成p9では、動作レベルの回路記述p8及び設計仕様書p7の情報が動作合成ツールに入力され、動作合成ツールによってRTLの回路記述p10が生成される。動作合成手法については公知技術であるため、その詳細ついては割愛する。動作合成ツールが利用される場合、RTLの回路記述p10内の信号名、レジスタ名は、動作合成ツールにより決定される。したがって、動作レベルの回路記述p8の中で用いられている信号又はレジスタ名とRTLの回路記述p10の中で用いられている信号又はレジスタ名とは基本的には一致しない。   The design specification p6 and the design specification p7 are the same as the design specification p1 or the design specification p2 in FIG. The behavioral level circuit description p8 is equivalent to the behavioral level circuit description p3 of FIG. However, there may be description restrictions depending on the behavioral synthesis tool used in behavioral synthesis p9, and a behavioral level circuit description p8 may be created separately for behavioral synthesis. In the behavioral synthesis p9, information on the behavioral level circuit description p8 and the design specification p7 is input to the behavioral synthesis tool, and an RTL circuit description p10 is generated by the behavioral synthesis tool. Since the behavioral synthesis method is a known technique, the details thereof are omitted. When the behavioral synthesis tool is used, the signal name and the register name in the circuit description p10 of the RTL are determined by the behavioral synthesis tool. Therefore, the signal or register name used in the circuit description p8 at the operation level and the signal or register name used in the circuit description p10 of the RTL basically do not match.

図5は、動作合成手法によって生成されたRTLの回路記述の例を示す図である。同図に示されるRTLの回路記述は、図2で示した動作記述の回路記述と機能的には等価である。また、同図に示されるRTLの回路記述は、図3で示したRTLの回路記述と信号名が異なるだけで等価な記述である。   FIG. 5 is a diagram illustrating an example of RTL circuit description generated by the behavioral synthesis method. The circuit description of the RTL shown in the figure is functionally equivalent to the circuit description of the operation description shown in FIG. The RTL circuit description shown in the figure is equivalent to the RTL circuit description shown in FIG. 3 except that the signal names are different.

このように、動作合成手法で生成されるRTLの回路記述では、内部の信号名又はレジスタ名は、動作合成ツールによって決定され、動作レベルの回路記述と全く異なることがある。   As described above, in the RTL circuit description generated by the behavioral synthesis method, the internal signal name or register name is determined by the behavioral synthesis tool and may be completely different from the behavioral level circuit description.

動作合成手法を用いることで、動作レベルの回路記述とRTLの回路記述との間に発生する違いについて更に具体的に説明する。   The difference that occurs between the behavioral circuit description and the RTL circuit description by using the behavioral synthesis method will be described more specifically.

図6は、動作合成手法によって2サイクルで演算が行われるRTLの回路記述を生成した例を示す図である。同図の例では、動作レベルにはない時間(クロック)の概念が、RTLの回路記述には導入されている。   FIG. 6 is a diagram illustrating an example of generating an RTL circuit description in which an operation is performed in two cycles by the behavioral synthesis method. In the example shown in the figure, the concept of time (clock) that is not at the operation level is introduced in the circuit description of the RTL.

図7は、動作合成手法によって1サイクルで演算が行われるRTLの回路記述を生成した例を示す図である。同図の例では、動作レベルの回路記述に存在する信号a及びdが、RTLでは存在しなくなっている。   FIG. 7 is a diagram illustrating an example of generating an RTL circuit description in which an operation is performed in one cycle by a behavioral synthesis method. In the example shown in the figure, the signals a and d existing in the circuit description at the behavior level are not present in the RTL.

図8は、動作合成手法によって動作レベルの回路記述には存在しない信号がRTLの回路記述に出現する例を示す図である。同図の例では、動作レベルの回路記述には存在しないd1という信号が、RTLの回路記述に含まれている。   FIG. 8 is a diagram illustrating an example in which a signal that does not exist in the behavioral circuit description appears in the RTL circuit description by the behavioral synthesis method. In the example shown in the drawing, a signal d1 that does not exist in the circuit description at the operation level is included in the circuit description of the RTL.

図9は、動作合成手法によって演算をステートマシン化した例及びレジスタが共有される例を示す図である。同図の例では、ステートマシンが作られることによって、新たな信号(current_state、next_state)が追加されている。また、a=b*cの演算とd=e*fの演算が同時に行われることがないため、aという信号(レジスタ)が、current_stateがs1の場合とs2の場合とにおいて共有されている。   FIG. 9 is a diagram illustrating an example in which an operation is converted into a state machine by a behavioral synthesis method and an example in which registers are shared. In the example shown in the figure, new signals (current_state, next_state) are added by creating a state machine. In addition, since the calculation of a = b * c and the calculation of d = e * f are not performed at the same time, the signal (register) a is shared between the case where the current_state is s1 and the case where s2.

以上のように、動作合成手法により出力されたRTLの回路記述では、動作記述に無い信号の追加や削除、又は演算のタイミング制御(ステートマシン化)やレジスタ(信号)の共有が行われることがある。このことにより、回路としては最適化が行われ、チップ面積の縮小や処理速度の向上等の効果が得られる。しかし、動作レベルとRTLとの回路記述の対応が分かりにくくなり、後者の可読性は低下する。   As described above, in the RTL circuit description output by the behavioral synthesis method, addition or deletion of signals not included in the behavioral description, calculation timing control (state machine), or sharing of registers (signals) may be performed. is there. As a result, the circuit is optimized, and effects such as reduction of the chip area and improvement of the processing speed can be obtained. However, the correspondence between the behavioral level and the circuit description of the RTL becomes difficult to understand, and the latter readability is lowered.

例えば、図2と図3とを比較すると、信号名が同一のため、可読性が高くデバッグが容易である。図2と図5とを比較すると、図2のaという変数が、図5のhなのかiであるのかを一目で見分けるのは困難である。その結果、RTLの回路記述の可読性が低下している。   For example, comparing FIG. 2 and FIG. 3, since the signal names are the same, the readability is high and debugging is easy. Comparing FIG. 2 and FIG. 5, it is difficult to distinguish at a glance whether the variable a in FIG. 2 is h or i in FIG. As a result, the readability of the RTL circuit description is reduced.

上記のような、動作合成手法で生成されたRTLの回路記述の可読性の悪さ、及び動作レベルの回路記述との対応のわかりにくさ等が、動作合成手法の普及の妨げの一因となっているものと考えられる。   The poor readability of the RTL circuit description generated by the behavioral synthesis method and the incompatibility of the correspondence with the behavioral level circuit description contribute to the spread of the behavioral synthesis method. It is thought that there is.

RTLの回路記述の可読性の悪さによる、第一の問題点として動作合成手法によって生成されたRTLの回路記述のデバッグの容易性が低下することが挙げられる。例えば、動作合成手法によって生成されたRTLの回路記述で論理検証パターンがフェイルした場合、動作合成元の動作レベルの回路記述と動作合成手法によって生成されたRTLの回路記述との対応を判断するのが困難である。その結果、回路設計者が手設計でRTLの回路記述を作成した場合に比較して、デバッグに多くの工数を要してしまう。   Due to the poor readability of the RTL circuit description, the first problem is that the ease of debugging of the RTL circuit description generated by the behavioral synthesis technique is reduced. For example, when the logic verification pattern fails in the RTL circuit description generated by the behavioral synthesis method, the correspondence between the behavioral level source circuit description and the RTL circuit description generated by the behavioral synthesis method is determined. Is difficult. As a result, compared with the case where a circuit designer creates a circuit description of RTL by hand design, much man-hours are required for debugging.

第二の問題点として、設計後期において設計仕様が変更された場合の手戻りや工数が非常に大きくなるということが挙げられる。設計後期の設計仕様で動作記述に修正が入った場合、再び動作合成を行い、動作合成工程以降を全てやり直す方法がある。   The second problem is that rework and man-hours when the design specifications are changed in the latter half of the design become very large. There is a method of performing behavioral synthesis again when the behavioral description is modified in the design specifications in the latter half of the design, and redoing all the steps after the behavioral synthesis step.

図10は、一般的な半導体集積回路の動作合成手法を用いた設計フローを示す図である。   FIG. 10 is a diagram showing a design flow using a general semiconductor integrated circuit behavioral synthesis method.

設計仕様p11の決定からマスクデータp20の作成までには、設計仕様書p12の作成工程、動作合成工程p14、論理合成工程p16、DFT(Design For Test)工程p18、及びレイアウト工程p19の5つの作業工程が有る。   From the determination of the design specification p11 to the creation of the mask data p20, five operations of a design specification p12 creation process, a behavioral synthesis process p14, a logic synthesis process p16, a DFT (Design For Test) process p18, and a layout process p19 There is a process.

例えば、レイアウト工程p19において仕様変更が発生し再動作合成が行われた場合、動作合成工程p14まで戻り、論理合成工程p16、DFT工程p17、及びレイアウト工程p19を全てやり直す必要がある。   For example, when a specification change occurs in the layout process p19 and re-operational synthesis is performed, it is necessary to return to the behavioral synthesis process p14 and redo all of the logic synthesis process p16, the DFT process p17, and the layout process p19.

また、動作合成手法によって生成されたRTLの回路記述を解析し、動作レベルの回路記述の修正箇所に対応した記述を探し出してRTLの回路記述を修正する方法もあるが、前述の通り、RTLの回路記述の可読性の悪さから非常に工数がかかる。なお、手設計によるRTLの設計フローでも同様の問題が発生するが、手設計によるRTLの回路記述は、設計者が手動で作成しているため、仕様変更箇所とRTLの回路記述との対応が分かりやすい。したがって、動作合成手法によるRTLの設計フローよりはるかに短時間で解析及び修正が可能である。   Also, there is a method of analyzing the RTL circuit description generated by the behavioral synthesis method and finding the description corresponding to the corrected part of the behavioral level circuit description to correct the RTL circuit description. It takes a lot of man-hours due to poor readability of the circuit description. The same problem occurs in the RTL design flow by hand design. However, since the designer manually creates the RTL circuit description by hand, the correspondence between the specification change location and the RTL circuit description is not possible. Easy to understand. Therefore, analysis and correction can be performed in a much shorter time than the RTL design flow by the behavioral synthesis method.

本発明は、上記の点に鑑みてなされたものであって、RTLの回路記述の可読性を向上させることのできる設計支援装置、設計支援方法、設計支援プログラム、及び半導体集積回路の製造方法の提供を目的とする。   The present invention has been made in view of the above points, and provides a design support apparatus, a design support method, a design support program, and a method for manufacturing a semiconductor integrated circuit that can improve the readability of an RTL circuit description. With the goal.

そこで上記課題を解決するため、本発明は、動作レベルの回路記述に基づいて第一のRTLの回路記述を生成する動作合成手段と、前記第一のRTLの回路記述に含まれている変数に関して、当該変数に代入される演算式又は前記動作レベルの回路記述において対応する変数の変数名に基づいて変数名を生成し、前記第一のRTLの回路記述に含まれている変数の変数名と該変数に関して生成された変数名との対応情報を記憶手段に記録する変数名生成手段と、前記第一のRTLの回路記述と、該第一のRTL回路記述の変数名が前記変数名生成手段によって生成された変数名によって置換された第二のRTL回路記述とを出力する回路記述出力手段とを有する。   In order to solve the above-described problem, the present invention relates to behavioral synthesis means for generating a first RTL circuit description based on a behavioral level circuit description, and variables included in the first RTL circuit description. , A variable name is generated based on an arithmetic expression assigned to the variable or a variable name of a corresponding variable in the circuit description of the behavior level, and a variable name of the variable included in the circuit description of the first RTL Variable name generation means for recording correspondence information with the variable name generated for the variable in the storage means, the first RTL circuit description, and the variable name of the first RTL circuit description is the variable name generation means. Circuit description output means for outputting the second RTL circuit description replaced by the variable name generated by

このような設計支援装置では、RTLの回路記述の可読性を向上させることができる。   In such a design support apparatus, the readability of the RTL circuit description can be improved.

本発明によれば、RTLの回路記述の可読性を向上させることができる。   According to the present invention, readability of an RTL circuit description can be improved.

従来の設計者による手設計のRTLの回路記述の設計フローを示す図である。It is a figure which shows the design flow of the circuit description of RTL of the hand design by the conventional designer. 動作レベルの回路記述の例を示す図である。It is a figure which shows the example of the circuit description of a behavior level. 手設計によって作成されるRTLの回路記述の例を示す図である。It is a figure which shows the example of the circuit description of RTL produced by hand design. 動作合成手法を用いたRTLの回路記述の設計フローを示す図である。It is a figure which shows the design flow of the circuit description of RTL using the behavioral synthesis method. 動作合成手法によって生成されたRTLの回路記述の例を示す図である。It is a figure which shows the example of the circuit description of RTL produced | generated by the behavioral synthesis method. 動作合成手法によって2サイクルで演算が行われるRTLの回路記述を生成した例を示す図である。It is a figure which shows the example which produced | generated the circuit description of RTL by which an operation is performed in 2 cycles with the behavioral synthesis method. 動作合成手法によって1サイクルで演算が行われるRTLの回路記述を生成した例を示す図である。It is a figure which shows the example which produced | generated the circuit description of RTL by which an operation is performed in 1 cycle with a behavioral synthesis method. 動作合成手法によって動作レベルの回路記述には存在しない信号がRTLの回路記述に出現する例を示す図である。It is a figure which shows the example which the signal which does not exist in the circuit description of a behavior level appears in the circuit description of RTL by the behavioral synthesis method. 動作合成手法によって演算をステートマシン化した例及びレジスタが共有される例を示す図である。It is a figure which shows the example which made the state machine operation by the behavioral synthesis method, and the example where a register is shared. 一般的な半導体集積回路の動作合成手法を用いた設計フローを示す図である。It is a figure which shows the design flow using the behavioral synthesis method of the general semiconductor integrated circuit. 本発明の実施の形態における設計支援装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the design assistance apparatus in embodiment of this invention. 本発明の実施の形態における設計支援装置の機能構成例を示す図である。It is a figure which shows the function structural example of the design assistance apparatus in embodiment of this invention. 設計支援装置が実行するRTL回路記述の生成処理の処理手順の一例を説明するための図である。It is a figure for demonstrating an example of the process sequence of the production | generation process of the RTL circuit description which a design support apparatus performs. 対応情報の例を示す図である。It is a figure which shows the example of correspondence information. 第一の例の変数名を用いたデバッグ用RTL回路記述の例を示す図である。It is a figure which shows the example of the RTL circuit description for debugging using the variable name of the 1st example. 第二の例の変数名を用いたデバッグ用RTL回路記述の例を示す図である。It is a figure which shows the example of the RTL circuit description for debugging using the variable name of the 2nd example. 第三の例の変数名を用いたデバッグ用RTL回路記述の例を示す図である。It is a figure which shows the example of the RTL circuit description for debugging using the variable name of the 3rd example. 行数に基づいてデバッグ用RTL回路記述と実装用RTL回路記述との対応を把握する方法を示す図である。It is a figure which shows the method of grasping | ascertaining the correspondence of the RTL circuit description for debugging and the RTL circuit description for mounting based on the number of lines. 変数の出現順に基づいてデバッグ用RTL回路記述と実装用RTL回路記述との対応関係を把握する方法を示す図である。It is a figure which shows the method of grasping | ascertaining the correspondence of the debugging RTL circuit description and the mounting RTL circuit description based on the appearance order of a variable.

以下、図面に基づいて本発明の実施の形態を説明する。図11は、本発明の実施の形態における設計支援装置のハードウェア構成例を示す図である。図11の設計支援装置10は、それぞれバスBで相互に接続されているドライブ装置100と、補助記憶装置102と、メモリ装置103と、CPU104と、インタフェース装置105と、表示装置106と、入力装置107とを有する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 11 is a diagram illustrating a hardware configuration example of the design support apparatus according to the embodiment of the present invention. 11 includes a drive device 100, an auxiliary storage device 102, a memory device 103, a CPU 104, an interface device 105, a display device 106, and an input device, which are mutually connected by a bus B. 107.

設計支援装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。   A program for realizing processing in the design support apparatus 10 is provided by a recording medium 101 such as a CD-ROM. When the recording medium 101 on which the program is recorded is set in the drive device 100, the program is installed from the recording medium 101 to the auxiliary storage device 102 via the drive device 100. However, the program need not be installed from the recording medium 101 and may be downloaded from another computer via a network. The auxiliary storage device 102 stores the installed program and also stores necessary files and data.

メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って設計支援装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。   The memory device 103 reads the program from the auxiliary storage device 102 and stores it when there is an instruction to start the program. The CPU 104 realizes functions related to the design support apparatus 10 according to a program stored in the memory device 103. The interface device 105 is used as an interface for connecting to a network. The display device 106 displays a GUI (Graphical User Interface) or the like by a program. The input device 107 includes a keyboard and a mouse, and is used for inputting various operation instructions.

図12は、本発明の実施の形態における設計支援装置の機能構成例を示す図である。同図において、設計支援装置10は、動作合成部121、変数名生成部122、対応情報記憶部123、及び回路記述出力部124等を有する。これら各部は、設計支援装置10にインストールされたプログラムがCPU104に実行させる処理によって実現される。   FIG. 12 is a diagram illustrating a functional configuration example of the design support apparatus according to the embodiment of the present invention. In the figure, the design support apparatus 10 includes a behavioral synthesis unit 121, a variable name generation unit 122, a correspondence information storage unit 123, a circuit description output unit 124, and the like. Each of these units is realized by processing executed by the CPU 104 by a program installed in the design support apparatus 10.

動作合成部121は、設計仕様書d1及び動作レベル回路記述d2に基づいて、動作合成手法によりRTL(Register Transfer Level)回路記述を生成する。設計仕様書d1及び動作レベル回路記述d2は、半導体集積回路の設計仕様に基づいて生成されるデータである。設計仕様とは、どのような半導体集積回路を作成したいかをまとめたものである。例えば、設計仕様には、動作条件、含まれる機能、及びレジスタ仕様等が含まれる。設計仕様がより具体化され、書面や電子データとして記載されたものが設計仕様書d1及び動作レベル回路記述d2である。動作レベル回路記述d2は、主に機能検証用として、設計仕様の機能ごとに作成される。なお、設計仕様書d1及び動作レベル回路記述d2は、例えば、補助記憶装置102に保存されている。   The behavioral synthesis unit 121 generates an RTL (Register Transfer Level) circuit description by a behavioral synthesis method based on the design specification d1 and the behavioral level circuit description d2. The design specification d1 and the behavior level circuit description d2 are data generated based on the design specification of the semiconductor integrated circuit. The design specification is a summary of what kind of semiconductor integrated circuit is desired to be created. For example, the design specifications include operating conditions, functions included, register specifications, and the like. The design specifications are further embodied, and what is described as a document or electronic data is the design specifications d1 and the behavior level circuit description d2. The behavior level circuit description d2 is created for each function of the design specification mainly for function verification. The design specification d1 and the behavior level circuit description d2 are stored in the auxiliary storage device 102, for example.

変数名生成部122は、動作合成部121によって生成されたRTL回路記述に含まれている少なくとも一部の変数に関して、当該変数に代入される演算式又は動作レベル回路記述d2において対応する変数の変数名に基づく変数名を生成し、当該RTL回路記述に含まれている変数の変数名と、該変数に関して生成された変数名との対応情報123Aを対応情報記憶部123に記録する。なお、本実施の形態において、変数名は、回路記述における信号又はレジスタ等に対して付与される名前である。すなわち、変数名は、回路記述における信号名又はレジスタ名に対する総称である。   The variable name generation unit 122 relates to at least some of the variables included in the RTL circuit description generated by the behavioral synthesis unit 121, and the variable of the corresponding variable in the arithmetic expression or behavior level circuit description d2 assigned to the variable. A variable name based on the name is generated, and correspondence information 123A between the variable name included in the RTL circuit description and the variable name generated for the variable is recorded in the correspondence information storage unit 123. In the present embodiment, the variable name is a name given to a signal, a register, or the like in the circuit description. That is, the variable name is a generic name for the signal name or register name in the circuit description.

対応情報記憶部123は、対応情報123Aを、例えば、補助記憶装置102を用いて記憶する。   The correspondence information storage unit 123 stores the correspondence information 123A using the auxiliary storage device 102, for example.

回路記述出力部124は、実装用RTL回路記述d3及びデバッグ用RTL回路記述d4の二つのRTL回路記述を、例えば、補助記憶装置102に出力(記録)する。回路記述出力部124は、動作合成部121によって生成されたRTL回路記述を加工しないものを実装用RTL回路記述d3として出力する。回路記述出力部124は、また、動作合成部121によって生成されたRTL回路記述に含まれる変数について、変数名が変数名生成部122によって生成された変数によって置換されたものをデバッグ用RTL回路記述d4として出力する。   The circuit description output unit 124 outputs (records) two RTL circuit descriptions, for example, the mounting RTL circuit description d3 and the debugging RTL circuit description d4, to the auxiliary storage device 102, for example. The circuit description output unit 124 outputs an unprocessed RTL circuit description generated by the behavioral synthesis unit 121 as a mounting RTL circuit description d3. The circuit description output unit 124 also includes a debug RTL circuit description in which variables included in the RTL circuit description generated by the behavioral synthesis unit 121 are replaced with variables generated by the variable name generation unit 122. Output as d4.

したがって、実装用RTL回路記述d3とデバッグ用RTL回路記述d4とは、基本的に変数名が異なる。すなわち、実装用RTL回路記述d3に含まれる変数名は、動作合成部121の都合又は仕様によって任意に付与されるものである。一方、デバッグ用RTL回路記述d4に含まれる変数名は、動作レベル回路記述d2に含まれる変数名等を用いて生成されたものとなっている。なお、実装用RTL回路記述d3は、後の設計工程において実際に使用されることを目的として生成されるRTLの回路記述である。デバッグ用RTL回路記述d4は、RTLの回路記述のデバッグを目的として生成されるRTLの回路記述である。   Therefore, the mounting RTL circuit description d3 and the debugging RTL circuit description d4 basically have different variable names. That is, the variable name included in the mounting RTL circuit description d3 is arbitrarily given depending on the convenience or specification of the behavioral synthesis unit 121. On the other hand, the variable name included in the debug RTL circuit description d4 is generated using the variable name included in the behavior level circuit description d2. The mounting RTL circuit description d3 is an RTL circuit description generated for the purpose of being actually used in a later design process. The debug RTL circuit description d4 is an RTL circuit description generated for the purpose of debugging the RTL circuit description.

以下、設計支援装置10の処理手順について説明する。図13は、設計支援装置が実行するRTL回路記述の生成処理の処理手順の一例を説明するための図である。   Hereinafter, the processing procedure of the design support apparatus 10 will be described. FIG. 13 is a diagram for explaining an example of a processing procedure of RTL circuit description generation processing executed by the design support apparatus.

例えば、ユーザによって、入力装置107を介してRTLの回路記述の生成指示が入力されると、動作合成部121は、動作レベル回路記述d2及び設計仕様書d1をメモリ装置103に読み込む(S101)。続いて、動作合成部121は、読み込まれた動作レベル回路記述d2及び設計仕様書d1に基づいて、実装用RTL回路記述d3をメモリ装置103に生成する(S102)。なお、実装用RTL回路記述d3の生成ロジックは、公知の動作合成ツールと同様でよい。   For example, when a user inputs an RTL circuit description generation instruction via the input device 107, the behavioral synthesis unit 121 reads the behavior level circuit description d2 and the design specification d1 into the memory device 103 (S101). Subsequently, the behavioral synthesis unit 121 generates a mounting RTL circuit description d3 in the memory device 103 based on the read behavior level circuit description d2 and the design specification d1 (S102). The generation logic of the mounting RTL circuit description d3 may be the same as a known behavioral synthesis tool.

続いて、変数名生成部122は、実装用RTL回路記述d3に含まれている変数に関して、当該変数に代入される演算式又は動作レベル回路記述d2において対応する変数名に基づいて変数名を生成する(S103)。生成される変数名の詳細については後述される。なお、動作合成部121は、動作レベル回路記述d2に基づいて実装用RTL回路記述d3を生成するため、動作レベル回路記述d2における変数と、実装用RTL回路記述d3における変数との対応を認識している。したがって、変数名生成部122は、動作合成部121による当該認識に基づいて、両者の対応を把握して変数名を生成する。   Subsequently, the variable name generation unit 122 generates a variable name for the variable included in the mounting RTL circuit description d3 based on the corresponding variable name in the arithmetic expression or behavior level circuit description d2 assigned to the variable. (S103). Details of the generated variable names will be described later. Since the behavioral synthesis unit 121 generates the mounting RTL circuit description d3 based on the behavioral level circuit description d2, it recognizes the correspondence between the variables in the behavioral level circuit description d2 and the variables in the mounting RTL circuit description d3. ing. Therefore, based on the recognition by the behavioral synthesis unit 121, the variable name generation unit 122 grasps the correspondence between the two and generates a variable name.

続いて、変数名生成部122は、RTL回路記述における変数の変数名と、該変数に関して生成された変数名との対応情報123Aを生成し、生成された対応情報123Aを対応情報記憶部123に記録する(S104)。   Subsequently, the variable name generation unit 122 generates correspondence information 123A between the variable name of the variable in the RTL circuit description and the variable name generated for the variable, and the generated correspondence information 123A is stored in the correspondence information storage unit 123. Record (S104).

図14は、対応情報123Aの例を示す図である。同図には、デバッグ用RTL回路記述d4と実装用RTL回路記述d3との対応情報123Aが示されている。   FIG. 14 is a diagram illustrating an example of the correspondence information 123A. This figure shows correspondence information 123A between the debugging RTL circuit description d4 and the mounting RTL circuit description d3.

対応情報123Aは、デバッグ用RTL回路記述d4の変数名と実装用RTL回路記述d3の変数名との対応付けを保持するための情報である。図14の例では、等号(=)を挟んで左辺がデバッグ用RTL回路記述d4の変数名、右辺が実装用RTL回路記述d3の変数名とされている。この場合、左辺の変数名と右辺の変数名とは対応すること(同じ信号又はレジスタに対するものであること)を示す。   The correspondence information 123A is information for holding a correspondence between the variable name of the debugging RTL circuit description d4 and the variable name of the mounting RTL circuit description d3. In the example of FIG. 14, the left side of the equal sign (=) is the variable name of the debugging RTL circuit description d4, and the right side is the variable name of the mounting RTL circuit description d3. In this case, the variable name on the left side and the variable name on the right side correspond to each other (being for the same signal or register).

具体的には、デバッグ用RTL回路記述d4中のn__b_cと実装用RTL回路記述d3のx、デバッグ用RTL回路記述d4中のn__e_fと実装用RTL回路記述d3のy、デバッグ用RTL回路記述d4中のn__b_c_e_fと実装用RTL回路記述d3のzとのそれぞれは、対応することが示されている。   Specifically, n__b_c in the debugging RTL circuit description d4 and x of the mounting RTL circuit description d3, n__e_f in the debugging RTL circuit description d4, y of the mounting RTL circuit description d3, and the debugging RTL circuit description d4 Each of n_b_c_e_f and z of the mounting RTL circuit description d3 corresponds to each other.

図14に示される対応情報123Aは一例に過ぎない。したがって、対応情報123Aの形式は、デバッグ用RTL回路記述d4中の変数名と実装用RTL回路記述d3中の変数名とを等号(=)で結ぶものに限定されない。例えば、右辺と左辺とが入れ替えられてもよい。また、等号が、スペースやコロン等、他の文字によって置換されてもよい。更に、対応情報123Aは、ASCIIファイルとして生成されなくてもよい。   The correspondence information 123A shown in FIG. 14 is merely an example. Accordingly, the format of the correspondence information 123A is not limited to connecting the variable name in the debugging RTL circuit description d4 and the variable name in the mounting RTL circuit description d3 with an equal sign (=). For example, the right side and the left side may be interchanged. The equal sign may be replaced by other characters such as a space or a colon. Furthermore, the correspondence information 123A may not be generated as an ASCII file.

続いて、回路記述出力部124は、実装用RTL回路記述d3の複製をメモリ装置103に生成し、当該複製に含まれている変数名を、対応情報記憶部123に記憶されている対応情報123Aに基づいて、変数名生成部122によって生成された変数名によって置換する。その結果、デバッグ用RTL回路記述d4が、メモリ装置103に生成される(S105)。   Subsequently, the circuit description output unit 124 generates a copy of the mounting RTL circuit description d3 in the memory device 103, and sets the variable name included in the copy to the correspondence information 123A stored in the correspondence information storage unit 123. On the basis of the variable name generated by the variable name generation unit 122. As a result, the debugging RTL circuit description d4 is generated in the memory device 103 (S105).

続いて、回路記述出力部124は、実装用RTL回路記述d3とデバッグ用RTL回路記述d4とをそれぞれ補助記憶装置102に出力する(S106)。   Subsequently, the circuit description output unit 124 outputs the mounting RTL circuit description d3 and the debugging RTL circuit description d4 to the auxiliary storage device 102 (S106).

なお、上記では、実装用RTL回路記述d3の複製に対して変数名が置換されることによりデバッグ用RTL回路記述d4が生成されている。但し、動作合成部121によって、実装用RTL回路記述d3とデバッグ用RTL回路記述d4が並列的に生成されてもよい。この場合、動作合成部121は、実装用RTL回路記述d3に対して変数名が割り当てられるたびに、変数名生成部122に対して、動作レベル回路記述d2の変数の変数名又は当該変数名を含む演算式と、当該変数に対応する実装用RTL回路記述d3の変数の変数名又は当該変数名を含む演算式とを入力すればよい。変数名生成部122は、入力された変数名又は演算式に基づいて、入力された実装用RTL回路記述d3の変数に対応する、デバッグ用RTL回路記述d4の変数の変数名を生成し、動作合成部121に出力する。動作合成部121は、出力された変数名を利用してデバッグ用RTL回路記述d4を、実装用RTL回路記述d3と並行して生成する。   In the above description, the debug RTL circuit description d4 is generated by replacing the variable name with respect to the copy of the mounting RTL circuit description d3. However, the mounting RTL circuit description d3 and the debugging RTL circuit description d4 may be generated in parallel by the behavioral synthesis unit 121. In this case, the behavioral synthesis unit 121 assigns the variable name of the behavior level circuit description d2 or the variable name to the variable name generation unit 122 each time a variable name is assigned to the mounting RTL circuit description d3. The arithmetic expression including the variable name of the variable of the mounting RTL circuit description d3 corresponding to the variable or the arithmetic expression including the variable name may be input. The variable name generation unit 122 generates a variable name of the variable of the debugging RTL circuit description d4 corresponding to the input variable of the mounting RTL circuit description d3 based on the input variable name or the arithmetic expression, The data is output to the combining unit 121. The behavioral synthesis unit 121 generates a debugging RTL circuit description d4 in parallel with the mounting RTL circuit description d3 using the output variable name.

その後の工程においては、デバッグ用RTL回路記述d4が用いられてデバッグが行われる。また、実際の半導体集積回路の製造には、実装用RTL回路記述d3が用いられる。すなわち、実装用RTL回路記述d3等に基づいて、半導体基板への回路の作成等が行われる。   In the subsequent steps, debugging is performed using the debugging RTL circuit description d4. Further, the mounting RTL circuit description d3 is used for the actual manufacture of the semiconductor integrated circuit. That is, a circuit is created on the semiconductor substrate based on the mounting RTL circuit description d3 and the like.

続いて、変数名生成部122によって生成される変数名の例について説明する。ここでは、動作レベル回路記述d2の内容は、図2の通りであるとする。   Next, an example of variable names generated by the variable name generation unit 122 will be described. Here, it is assumed that the contents of the behavior level circuit description d2 are as shown in FIG.

第一の例において、変数名生成部122は、動作レベルの変数名を可能な限りデバッグ用RTL回路記述d4用の変数名とする。   In the first example, the variable name generation unit 122 sets the variable name for the operation level as much as possible for the debug RTL circuit description d4.

その結果、図2の内容を有する動作レベル回路記述d2に基づくデバッグ用RTL回路記述d4は、例えば、図15に示されるようになる。   As a result, the debug RTL circuit description d4 based on the behavior level circuit description d2 having the contents of FIG. 2 is as shown in FIG. 15, for example.

図15は、第一の例の変数名を用いたデバッグ用RTL回路記述d4の例を示す図である。   FIG. 15 is a diagram illustrating an example of the debugging RTL circuit description d4 using the variable names of the first example.

同図の例では、動作レベル回路記述d2の変数名がそのまま使用されている。その結果、動作レベル回路記述d2との比較が容易となっている。すなわち、可読性が向上している。なお、実装用RTL回路記述d3については、変数名に対する制約は発生しないため、例えば、図5に示されるような内容が出力される。   In the example shown in the figure, the variable name of the behavior level circuit description d2 is used as it is. As a result, comparison with the behavior level circuit description d2 is facilitated. That is, the readability is improved. For the mounting RTL circuit description d3, there is no restriction on the variable name, so the content as shown in FIG. 5 is output, for example.

次に、第二の例について説明する。図16は、第二の例の変数名を用いたデバッグ用RTL回路記述d4の例を示す図である。同図に示されるデバッグ用RTL回路記述d4も、図2の内容を有する動作レベル回路記述d2に基づくものである。   Next, a second example will be described. FIG. 16 is a diagram illustrating an example of the debug RTL circuit description d4 using the variable names of the second example. The debugging RTL circuit description d4 shown in the figure is also based on the behavior level circuit description d2 having the contents of FIG.

図16では、h__b_plus_cやj_h_multi_i等、動作レベル回路記述d2には含まれていない変数名が含まれている。h__b_plus_cという変数名は、2連続アンダーバー(__)の前後で意味が事なる。2連続アンダーバー(__)の前は、動作合成部121が独自に決定した変数名(例えば、実装用RTL回路記述d3に出力される変数名)である。2連続アンダーバー(__)の後は、変数名生成部122は、当該変数名に係る変数の値が、いずれの変数のどのような演算結果を示すものであるかに基づいて生成したものである。すなわち、当該変数に代入される演算式を構成する変数名及び演算子を示す文字列が組み合わされて(接続されて)、当該変数の変数名が生成されている。   In FIG. 16, variable names not included in the behavior level circuit description d2, such as h_b_plus_c and j_h_multi_i, are included. The variable name h__b_plus_c has a meaning before and after two consecutive underscores (__). Before the two consecutive underscores (__) is a variable name uniquely determined by the behavioral synthesis unit 121 (for example, a variable name output to the mounting RTL circuit description d3). After the two consecutive underscores (__), the variable name generation unit 122 generates a variable based on which variable indicates the operation result of which variable. . That is, the variable name of the variable is generated by combining (connecting) the variable name constituting the arithmetic expression assigned to the variable and the character string indicating the operator.

具体的には、h__b_plus_cにおいて、hは、動作合成部121が決めた変数名である。b_plus_cは、b+cという演算式に基づいて変数名生成部122が生成したものである。同様に、i__e_plus_fにおいて、iは、動作合成部121が決めた変数名である。e_plus_fは、e+fという演算式に基づいて変数名生成部122が生成したものである。また、j__h_multi_jにおいて、jは、動作合成部121が決めた変数名である。h_multi_jは、h__b_plus_c*i__e_plus_fという演算式に基づいて変数名生成部122が生成したものである。   Specifically, in h_b_plus_c, h is a variable name determined by the behavioral synthesis unit 121. b_plus_c is generated by the variable name generation unit 122 based on the arithmetic expression b + c. Similarly, in i_e_plus_f, i is a variable name determined by the behavioral synthesis unit 121. e_plus_f is generated by the variable name generation unit 122 based on an arithmetic expression e + f. In j__h_multi_j, j is a variable name determined by the behavioral synthesis unit 121. h_multi_j is generated by the variable name generation unit 122 based on an arithmetic expression h__b_plus_c * i__e_plus_f.

なお、本例は一例であり、区切り文字は他の文字が用いられてもよい。また、演算を示す名前も区別さえできれば他の文字が用いられてもよい。   Note that this example is an example, and other characters may be used as the delimiter. Other characters may be used as long as the name indicating the operation can be distinguished.

第二の例によれば、動作レベル回路記述d2の変数名と、デバッグ用RTL回路記述d4の変数名とは必ずしも一致しないが、変数名を見ただけで、当該変数名が、どの変数に基づくどのような演算結果を格納するものであるのかを判別することができる。その結果、デバッグ用RTL回路記述d4の可読性を向上させることができる。   According to the second example, the variable name of the behavior level circuit description d2 and the variable name of the debug RTL circuit description d4 do not necessarily match. However, just by looking at the variable name, the variable name is assigned to which variable. It is possible to determine what calculation result is to be stored. As a result, the readability of the debug RTL circuit description d4 can be improved.

次に、第三の例について説明する。図17は、第三の例の変数名を用いたデバッグ用RTL回路記述d4の例を示す図である。同図に示されるデバッグ用RTL回路記述d4も、図2の内容を有する動作レベル回路記述d2に基づくものである。   Next, a third example will be described. FIG. 17 is a diagram illustrating an example of the debug RTL circuit description d4 using the variable names of the third example. The debugging RTL circuit description d4 shown in the figure is also based on the behavior level circuit description d2 having the contents of FIG.

同図の例において、変数名は、n__から始まっている。n__の後の文字列は、当該変数に代入される演算式に含まれる変数名を組み合わせて(接続して)変数名生成部122が生成したものである。   In the example of the figure, the variable name starts with n__. The character string after n__ is generated by the variable name generation unit 122 by combining (connecting) the variable names included in the arithmetic expression assigned to the variable.

例えば、n__b_cという変数名は、変数b及び変数cを含む演算式が代入されることを示す。代入元となる変数名が分かると、動作レベルでb及びcの両方が関連している変数はaであることを特定することが容易となる。   For example, the variable name n__b_c indicates that an arithmetic expression including the variable b and the variable c is substituted. If the variable name that is the assignment source is known, it is easy to specify that the variable to which both b and c are related at the operation level is a.

なお、本例は一例であり、接頭文字列はn__でなくてよい。また、区切り文字についても他の文字が用いられてもよい。   This example is an example, and the prefix character string may not be n__. Also, other characters may be used as delimiters.

第三の例によれば、動作レベル回路記述d2の変数名と、デバッグ用RTL回路記述d4の変数名とは必ずしも一致しないが、変数名を見ただけで、当該変数名が、どの変数に基づく演算結果を格納するものであるのかを判別することができる。その結果、デバッグ用RTL回路記述d4の可読性を向上させることができる。   According to the third example, the variable name of the behavior level circuit description d2 and the variable name of the debugging RTL circuit description d4 do not necessarily match, but by just looking at the variable name, the variable name is assigned to which variable. It is possible to determine whether or not to store a calculation result based on it. As a result, the readability of the debug RTL circuit description d4 can be improved.

上述したように、本実施の形態によれば、実装用RTL回路記述d3とデバッグ用RTL回路記述d4との双方が生成され、デバッグ用RTL回路記述d4に対してのみ、可読性を向上させるための加工が施される。例えば、動作レベル回路記述d2に含まれる変数名や、演算式に基づく変数名は、デバッグ用RTL回路記述d4に対して意識的に含まれるようにされている。その結果、デバッグに関してはデバッグ用RTL回路記述d4を利用することにより、RTL回路記述の可読性の向上を図ることができる。一方、実装に関しては実装用RTL回路記述d3を利用することにより、メモリの消費量の増加等を抑制することができる。すなわち、可読性を向上させるためには、変数名が長くなる傾向になる。変数名が長くなると、メモリの消費量が増加し、後工程におけるメモリ不足や実行時間の増大を招く可能性がある。そこで、後工程においては、実装用RTL回路記述d3を利用することにより、斯かる不都合(可読性の向上に伴う副作用)の発生を回避することができる。   As described above, according to the present embodiment, both the mounting RTL circuit description d3 and the debugging RTL circuit description d4 are generated, and the readability is improved only for the debugging RTL circuit description d4. Processing is applied. For example, the variable name included in the behavior level circuit description d2 and the variable name based on the arithmetic expression are intentionally included in the debug RTL circuit description d4. As a result, the readability of the RTL circuit description can be improved by using the debug RTL circuit description d4 for debugging. On the other hand, regarding the mounting, an increase in memory consumption can be suppressed by using the mounting RTL circuit description d3. That is, in order to improve readability, variable names tend to be longer. If the variable name becomes long, the amount of memory consumption increases, which may lead to a shortage of memory and an increase in execution time in the subsequent process. Therefore, in the subsequent process, by using the mounting RTL circuit description d3, it is possible to avoid the occurrence of such inconveniences (side effects associated with improved readability).

また、対応情報123Aが出力されるため、対応情報123Aを用いてデバッグ作業等を効率化することができる。例えば、デバッグ用RTL回路記述d4に利用してデバッグを行い、その結果を実装用RTL回路記述d3に反映させる際に、対応情報123Aに基づいて、実装用RTL回路記述d3における修正箇所を容易に特定することができる。その結果、手戻り工数等の削減を図ることができる。   Further, since the correspondence information 123A is output, it is possible to make debugging work and the like more efficient using the correspondence information 123A. For example, when debugging is performed using the debugging RTL circuit description d4 and the result is reflected in the mounting RTL circuit description d3, the correction location in the mounting RTL circuit description d3 can be easily determined based on the correspondence information 123A. Can be identified. As a result, it is possible to reduce the number of rework steps.

上記の通り、本実施の形態によれば、動作合成手法によって生成されたRTL回路記述の可読性を向上させることができ、デバッグの容易化、設計仕様変更への対応の容易化を図ることができる。   As described above, according to the present embodiment, the readability of the RTL circuit description generated by the behavioral synthesis method can be improved, and debugging can be facilitated and the response to the design specification change can be facilitated. .

なお、デバッグ用RTL回路記述d4と実装用RTL回路記述d3との対応は、両者の行数に基づいて行うこともできる。   Note that the correspondence between the debugging RTL circuit description d4 and the mounting RTL circuit description d3 can be performed based on the number of lines of both.

図18は、行数に基づいてデバッグ用RTL回路記述と実装用RTL回路記述との対応関係を把握する方法を示す図である。   FIG. 18 is a diagram illustrating a method of grasping the correspondence between the debug RTL circuit description and the mounting RTL circuit description based on the number of lines.

デバッグ用RTL回路記述d4と実装用RTL回路記述d3との相違点は、基本的に変数名であるため、同じ行であれば同じ機能を表現している可能性が高い。そこで、デバッグ用RTL回路記述d4を用いて修正が必要な行が判明した場合、当該行の行数に基づいて実装用RTL回路記述d3における修正箇所が特定されてもよい。例えば、デバッグ用RTL回路記述d4の18行目に修正が必要であることが判明した場合、実装用RTL回路記述d3の18行目に修正が行われればよい。   Since the difference between the debugging RTL circuit description d4 and the mounting RTL circuit description d3 is basically a variable name, there is a high possibility that the same function is expressed in the same line. Therefore, when a line that needs to be corrected is found using the debugging RTL circuit description d4, the correction portion in the mounting RTL circuit description d3 may be specified based on the number of lines in the line. For example, when it is found that the correction is required on the 18th line of the debugging RTL circuit description d4, the correction may be performed on the 18th line of the mounting RTL circuit description d3.

また、デバッグ用RTL回路記述d4と実装用RTL回路記述d3とにおける変数の出現順に基づいて、両者の対応が図られてもよい。   Further, the correspondence between the debug RTL circuit description d4 and the mounting RTL circuit description d3 may be achieved based on the order in which the variables appear.

図19は、変数の出現順に基づいてデバッグ用RTL回路記述と実装用RTL回路記述との対応関係を把握する方法を示す図である。   FIG. 19 is a diagram showing a method of grasping the correspondence between the debug RTL circuit description and the mounting RTL circuit description based on the order of appearance of variables.

デバッグ用RTL回路記述d4と実装用RTL回路記述d3との相違点は、基本的に変数名であるため、同じ信号又はレジスタに対する変数の出現順は基本的に同じである。そこで、デバッグ用RTL回路記述d4において修正が必要な変数が判明した場合、当該変数の出現順に基づいて、実装用RTL回路記述d3の修正箇所が特定されてもよい。例えば、同図において、デバッグ用RTL回路記述d4のn__b_cは、乗算(*)の左辺であるので、実装用RTL回路記述d3のxに対応することが分かる。   Since the difference between the debugging RTL circuit description d4 and the mounting RTL circuit description d3 is basically a variable name, the appearance order of variables for the same signal or register is basically the same. Therefore, when a variable that needs to be corrected is found in the debugging RTL circuit description d4, the correction location of the mounting RTL circuit description d3 may be specified based on the appearance order of the variable. For example, in the figure, n__b_c of the debug RTL circuit description d4 corresponds to x of the mounting RTL circuit description d3 because it is the left side of the multiplication (*).

このように、対応情報123Aを用いなくても、デバッグ用RTL回路記述d4に基づいてデバッグ作業を行い、修正箇所が明らかになった場合、実装用RTL回路記述d3の修正箇所を特定することができる。但し、対応情報123Aを用いることにより、より簡便に両者の対応関係を把握することができる。   As described above, even when the correspondence information 123A is not used, when the debug operation is performed based on the debug RTL circuit description d4 and the correction portion becomes clear, the correction portion of the mounting RTL circuit description d3 can be specified. it can. However, by using the correspondence information 123A, it is possible to grasp the correspondence between the two more easily.

以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.

10 設計支援装置
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
121 動作合成部
122 変数名生成部
123 対応情報記憶部
124 回路記述出力部
B バス
d1 設計仕様書
d2 動作レベル回路記述
d3 実装用RTL回路記述
d4 デバッグ用RTL回路記述
DESCRIPTION OF SYMBOLS 10 Design support apparatus 100 Drive apparatus 101 Recording medium 102 Auxiliary storage apparatus 103 Memory apparatus 104 CPU
105 interface device 106 display device 107 input device 121 behavior synthesis unit 122 variable name generation unit 123 correspondence information storage unit 124 circuit description output unit B bus d1 design specification d2 behavior level circuit description d3 mounting RTL circuit description d4 debugging RTL circuit Description

特開2007−27267号公報JP 2007-27267 A 特開2006−285333号公報JP 2006-285333 A

Claims (10)

動作レベルの回路記述に基づいて第一のRTLの回路記述を生成する動作合成手段と、
前記第一のRTLの回路記述に含まれている変数に関して、当該変数に代入される演算式又は前記動作レベルの回路記述において対応する変数の変数名に基づいて変数名を生成し、前記第一のRTLの回路記述に含まれている変数の変数名と該変数に関して生成された変数名との対応情報を記憶手段に記録する変数名生成手段と、
前記第一のRTLの回路記述と、該第一のRTL回路記述の変数名が前記変数名生成手段によって生成された変数名によって置換された第二のRTL回路記述とを出力する回路記述出力手段とを有する設計支援装置。
Behavioral synthesis means for generating a first RTL circuit description based on the behavioral level circuit description;
For a variable included in the circuit description of the first RTL, a variable name is generated based on an arithmetic expression assigned to the variable or a variable name of a corresponding variable in the circuit description of the behavior level, and the first Variable name generation means for recording, in a storage means, correspondence information between variable names of variables included in the RTL circuit description and variable names generated for the variables;
Circuit description output means for outputting the circuit description of the first RTL and the second RTL circuit description in which the variable name of the first RTL circuit description is replaced by the variable name generated by the variable name generation means And a design support apparatus.
前記変数名生成手段は、前記演算式を構成する変数名を組み合わせて変数名を生成する請求項1記載の設計支援装置。   The design support apparatus according to claim 1, wherein the variable name generation unit generates a variable name by combining variable names constituting the arithmetic expression. 前記変数名生成手段は、前記演算式を構成する演算子を示す文字列を組み合わせて変数名を生成する請求項2記載の設計支援装置。   The design support apparatus according to claim 2, wherein the variable name generation unit generates a variable name by combining character strings indicating operators constituting the arithmetic expression. 動作レベルの回路記述に基づいて第一のRTLの回路記述を生成する動作合成手順と、
前記第一のRTLの回路記述に含まれている変数に関して、当該変数に代入される演算式又は前記動作レベルの回路記述において対応する変数の変数名に基づいて変数名を生成し、前記第一のRTLの回路記述に含まれている変数の変数名と該変数に関して生成された変数名との対応情報を記憶手段に記録する変数名生成手順と、
前記第一のRTLの回路記述と、該第一のRTL回路記述の変数名が前記変数名生成手順において生成された変数名によって置換された第二のRTL回路記述とを出力する回路記述出力手順とをコンピュータが実行する設計支援方法。
A behavioral synthesis procedure for generating a first RTL circuit description based on the behavioral level circuit description;
For a variable included in the circuit description of the first RTL, a variable name is generated based on an arithmetic expression assigned to the variable or a variable name of a corresponding variable in the circuit description of the behavior level, and the first A variable name generation procedure for recording correspondence information between a variable name included in the RTL circuit description and a variable name generated for the variable in a storage unit;
Circuit description output procedure for outputting the first RTL circuit description and the second RTL circuit description in which the variable name of the first RTL circuit description is replaced by the variable name generated in the variable name generation procedure Design support method in which the computer executes.
前記変数名生成手順は、前記演算式を構成する変数名を組み合わせて変数名を生成する請求項4記載の設計支援方法。   The design support method according to claim 4, wherein the variable name generation procedure generates a variable name by combining variable names constituting the arithmetic expression. 前記変数名生成手順は、前記演算式を構成する演算子を示す文字列を組み合わせて変数名を生成する請求項5記載の設計支援方法。   The design support method according to claim 5, wherein the variable name generation procedure generates a variable name by combining character strings indicating operators constituting the arithmetic expression. 動作レベルの回路記述に基づいて第一のRTLの回路記述を生成する動作合成手順と、
前記第一のRTLの回路記述に含まれている変数に関して、当該変数に代入される演算式又は前記動作レベルの回路記述において対応する変数の変数名に基づいて変数名を生成し、前記第一のRTLの回路記述に含まれている変数の変数名と該変数に関して生成された変数名との対応情報を記憶手段に記録する変数名生成手順と、
前記第一のRTLの回路記述と、該第一のRTL回路記述の変数名が前記変数名生成手順において生成された変数名によって置換された第二のRTL回路記述とを出力する回路記述出力手順とをコンピュータに実行させる設計支援プログラム。
A behavioral synthesis procedure for generating a first RTL circuit description based on the behavioral level circuit description;
For a variable included in the circuit description of the first RTL, a variable name is generated based on an arithmetic expression assigned to the variable or a variable name of a corresponding variable in the circuit description of the behavior level, and the first A variable name generation procedure for recording correspondence information between a variable name included in the RTL circuit description and a variable name generated for the variable in a storage unit;
Circuit description output procedure for outputting the first RTL circuit description and the second RTL circuit description in which the variable name of the first RTL circuit description is replaced by the variable name generated in the variable name generation procedure Design support program that causes a computer to execute.
前記変数名生成手順は、前記演算式を構成する変数名を組み合わせて変数名を生成する請求項7記載の設計支援プログラム。   The design support program according to claim 7, wherein the variable name generation procedure generates a variable name by combining variable names constituting the arithmetic expression. 前記変数名生成手順は、前記演算式を構成する演算子を示す文字列を組み合わせて変数名を生成する請求項8記載の設計支援プログラム。   The design support program according to claim 8, wherein the variable name generation procedure generates a variable name by combining character strings indicating operators constituting the arithmetic expression. コンピュータが実行する半導体集積回路の設計支援方法を用いて半導体集積回路を製造する半導体集積回路の製造方法であって、
前記設計支援方法は、
動作レベルの回路記述に基づいて第一のRTLの回路記述を生成する動作合成手順と、
前記第一のRTLの回路記述に含まれている変数に関して、当該変数に代入される演算式又は前記動作レベルの回路記述において対応する変数の変数名に基づいて変数名を生成し、前記第一のRTLの回路記述に含まれている変数の変数名と該変数に関して生成された変数名との対応情報を記憶手段に記録する変数名生成手順と、
前記第一のRTLの回路記述と、該第一のRTL回路記述の変数名が前記変数名生成手順において生成された変数名によって置換された第二のRTL回路記述とを出力する回路記述出力手順とを有する半導体集積回路の製造方法。
A semiconductor integrated circuit manufacturing method for manufacturing a semiconductor integrated circuit using a semiconductor integrated circuit design support method executed by a computer,
The design support method includes:
A behavioral synthesis procedure for generating a first RTL circuit description based on the behavioral level circuit description;
For a variable included in the circuit description of the first RTL, a variable name is generated based on an arithmetic expression assigned to the variable or a variable name of a corresponding variable in the circuit description of the behavior level, and the first A variable name generation procedure for recording correspondence information between a variable name included in the RTL circuit description and a variable name generated for the variable in a storage unit;
Circuit description output procedure for outputting the first RTL circuit description and the second RTL circuit description in which the variable name of the first RTL circuit description is replaced by the variable name generated in the variable name generation procedure A method for manufacturing a semiconductor integrated circuit.
JP2010203713A 2010-09-10 2010-09-10 Design support apparatus, design support method, design support program, and manufacturing method of semiconductor integrated circuit Pending JP2012059153A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010203713A JP2012059153A (en) 2010-09-10 2010-09-10 Design support apparatus, design support method, design support program, and manufacturing method of semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010203713A JP2012059153A (en) 2010-09-10 2010-09-10 Design support apparatus, design support method, design support program, and manufacturing method of semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JP2012059153A true JP2012059153A (en) 2012-03-22

Family

ID=46056147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010203713A Pending JP2012059153A (en) 2010-09-10 2010-09-10 Design support apparatus, design support method, design support program, and manufacturing method of semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP2012059153A (en)

Similar Documents

Publication Publication Date Title
US8930863B2 (en) System and method for altering circuit design hierarchy to optimize routing and power distribution using initial RTL-level circuit description netlist
JP5910108B2 (en) High-level synthesis apparatus, high-level synthesis method, high-level synthesis program, integrated circuit design method
US10635846B2 (en) Timing error analysis method and information processing apparatus
US20070168893A1 (en) System and method for generating a plurality of models at different levels of abstraction from a single master model
JP2006048525A (en) Simulation method
JP4147842B2 (en) Logic verification system and method, logic cone extraction apparatus and method, logic verification and logic cone extraction program
US20250103789A1 (en) Techniques for modeling and verification of convergence for hierarchical domain crossings
JP2000207440A (en) Apparatus, method and storage medium for design verification of semiconductor integrated circuit
JP2009518717A (en) Method and program product for protecting information in EDA tool design view
US20220075920A1 (en) Automated Debug of Falsified Power-Aware Formal Properties using Static Checker Results
CN101908081A (en) Circuit aided design method and system
US20230110701A1 (en) Techniques for design verification of domain crossings
JP2006285333A (en) Operation composition device and method
CN110414029B (en) Semiconductor LSI designing apparatus and designing method
JP2012059153A (en) Design support apparatus, design support method, design support program, and manufacturing method of semiconductor integrated circuit
Saussereau et al. Odatix: An open-source design automation toolbox for FPGA/ASIC implementation
JP5541011B2 (en) Optimized netlist creation program, optimized netlist creation device, and optimized netlist creation method
US9875329B1 (en) Method and system for import of mask layout data to a target system
JP5577619B2 (en) Logic circuit design device
TWI398789B (en) System and method for assisting circuit design
JP4006120B2 (en) Logic synthesis device
JP2006268165A (en) Integrated circuit timing analysis apparatus, integrated circuit timing optimization apparatus, integrated circuit timing analysis method, integrated circuit timing optimization method, integrated circuit board manufacturing method, control program, and readable recording medium
JP4199816B2 (en) Logic synthesis method
JP5262678B2 (en) Behavioral synthesis system, behavioral synthesis method, and behavioral synthesis program
Corre et al. HLS-based Fast Design Space Exploration of ad hoc hardware accelerators: a key tool for MPSoC Synthesis on FPGA