JP2014095955A - Design device and design method for semiconductor integrated circuit - Google Patents

Design device and design method for semiconductor integrated circuit Download PDF

Info

Publication number
JP2014095955A
JP2014095955A JP2012245772A JP2012245772A JP2014095955A JP 2014095955 A JP2014095955 A JP 2014095955A JP 2012245772 A JP2012245772 A JP 2012245772A JP 2012245772 A JP2012245772 A JP 2012245772A JP 2014095955 A JP2014095955 A JP 2014095955A
Authority
JP
Japan
Prior art keywords
implementation
level synthesis
integrated circuit
semiconductor integrated
description
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
JP2012245772A
Other languages
Japanese (ja)
Inventor
Shinya Miyazaki
慎也 宮崎
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 JP2012245772A priority Critical patent/JP2014095955A/en
Publication of JP2014095955A publication Critical patent/JP2014095955A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To quickly and easily obtain an RTL circuit having an optimum cell delay in an FPGA, in the design of a semiconductor integrated circuit using high-level synthesis.SOLUTION: After high-level synthesis (S1), logic synthesis (S2), and the implementation to an FPGA (S3), it is determined whether or not the implementation has succeeded (S4). If the implementation has not succeeded (S4: NO), wiring delay information and the like 6 which are obtained by the implementation are fed back to parts which are not compatible with the processing performance indicated by a high-level synthesis constraint 2 to update the high-level synthesis constraint 2; and a new high-level synthesis constraint is created (S5). S1 to S4 are performed for the second time by using the updated high-level synthesis constraint. Since the implementation to the FPGA is facilitated by the improved processing performance of the updated high-level synthesis constraint 2, the implementation for the second time surely succeeds.

Description

本発明は、FPGA(Field Programmable Gate Array)の設計に用いて好適な半導体集積回路の設計装置及び設計方法に関する。   The present invention relates to a design apparatus and a design method for a semiconductor integrated circuit suitable for use in designing a field programmable gate array (FPGA).

LSI(Large Scale Integration)の集積度は年々指数関数的に増加しているが、設計者一人一人の能力には限界があるため、設計規模の増大に設計能力が追いつかないという状況が生じる。この設計生産性の危機を打開するための有効なアプローチの一つに、設計の抽象度を上げるという方法があり、また、そのためのEDA(Electronic Design Automation)ツールが知られている。   Although the degree of integration of LSI (Large Scale Integration) is increasing exponentially year by year, there is a limit to the ability of each designer, and there is a situation where the design ability cannot catch up with the increase in design scale. One effective approach for overcoming this design productivity crisis is to increase the level of design abstraction, and EDA (Electronic Design Automation) tools for this purpose are known.

例えば、ある処理を実行するハードウェアを設計する際に、対象となる処理のアルゴリズムを動作レベルで記述した「動作記述」から、レジスタやクロックによる同期などハードウェアに特有の概念を意識した「レジスタ転送レベル記述」(以下、「RTL記述」と言う)を自動的に合成する「高位合成」(「動作合成」、「機能合成」とも言われている)機能を備えた高位合成ツールがある。   For example, when designing hardware to execute a certain process, from the "operation description" in which the algorithm of the target process is described at the operation level, to the "register There is a high-level synthesis tool having a “high-level synthesis” (also referred to as “behavioral synthesis” or “functional synthesis”) function for automatically synthesizing a “transfer level description” (hereinafter referred to as “RTL description”).

ここで、「動作記述」はC言語のようなプログラミング言語を用いて、回路の動作を逐次処理として記述したものであり、「RTL記述」はVerilog-HDLのようなハードウェア記述言語(Hardware Description Language:HDL)により記述したものである。   Here, “operation description” is a description of circuit operation as sequential processing using a programming language such as C language, and “RTL description” is a hardware description language (Hardware Description) such as Verilog-HDL. (Language: HDL).

高位合成では、レジスタ−レジスタ間や入出力端子−レジスタ間などの遅延を決める動作周波数や、演算器やレジスタなどのハードウェア資源の種類や数などの高位合成制約を満たすように、トランスフォーメーション、スケジューリング、アロケーション、及びバインディングを実行して、動作レベル記述をRTL記述に変換する。   In high-level synthesis, transformation, so as to satisfy the high-level synthesis constraints such as the operating frequency that determines the delay between registers and registers, between input and output terminals and registers, and the type and number of hardware resources such as arithmetic units and registers Performs scheduling, allocation, and binding to convert the behavior level description into an RTL description.

ここで、トランスフォーメーションでは、動作記述を解析して、演算数や段数の削減、ループの展開などのハードウェア化に向けた適合化処理を行い、その結果得られるデータの流れとそのデータに対する処理とをデータの流れの方向を示す矢印と各処理部分で表すCDFG(コントロール・データ・フロー・グラフ)に変換する。   Here, in the transformation, the behavioral description is analyzed, adaptation processing for hardware implementation such as reduction of the number of operations and stages, loop expansion, etc. is performed, and the resulting data flow and processing for that data Are converted into a CDFG (Control Data Flow Graph) represented by an arrow indicating the direction of data flow and each processing portion.

スケジューリングでは、CDFG中の各処理部分を時間軸上の各クロックサイクルに割り当てて、各処理の実行タイミングを決定する。アロケーションでは、ハードウェア資源(演算器)を格納しているライブラリから、それぞれの処理の種類に応じた種類のハードウェア資源を各処理部分に割り当てる。   In scheduling, each processing portion in the CDFG is assigned to each clock cycle on the time axis, and the execution timing of each processing is determined. In the allocation, a type of hardware resource corresponding to each type of processing is allocated to each processing part from a library storing hardware resources (calculators).

バインディングでは、ハードウェア資源の最終的な接続関係を決定する。このとき、アロケーションで割り当てたハードウェア資源をそのまま接続したのでは、回路面積が膨大になるので、共有出来るハードウェア資源は共有し、出来るだけシステムを簡素にする。   In binding, the final connection relationship of hardware resources is determined. At this time, if the hardware resources allocated in the allocation are connected as they are, the circuit area becomes enormous, so the hardware resources that can be shared are shared, and the system is simplified as much as possible.

このようにして合成されたRTL記述は論理合成ツールにより、レジスタ−レジスタ間や入出力端子−レジスタ間などの遅延情報を有する「ネットリスト記述」(「ゲートレベル記述」とも言われている)に変換される。   The RTL description synthesized in this way is converted into a “net list description” (also referred to as “gate level description”) having delay information such as between registers and between input / output terminals and registers by a logic synthesis tool. Converted.

この論理合成の段階で、タイミング解析を行い、ネットリスト記述の回路の遅延情報を見て、ネットリスト記述の回路が、遅延時間に関する設計条件を満たしているか否かを確認する。そして、満たしていない場合、RTL回路を修正して論理合成をやり直す。このとき、RTL回路を直接修正せず、例えば高位合成制約を変えることで、結果的に論理合成されたネットリスト記述の回路におけるタイミングが収束するRTL回路が得られるまで高位合成を繰り返す。   At the stage of this logic synthesis, timing analysis is performed, and the delay information of the netlist description circuit is checked to confirm whether the netlist description circuit satisfies the design condition relating to the delay time. If not satisfied, the RTL circuit is corrected and the logic synthesis is performed again. At this time, without modifying the RTL circuit directly, for example, by changing the high-level synthesis constraint, the high-level synthesis is repeated until an RTL circuit that converges the timing in the circuit of the netlist description that is logically synthesized is obtained.

このような半導体集積回路の設計の効率を高めた技術として、特許文献1に記載された半導体集積回路装置の設計方法がある。この方法は、ASIC(Application Specific Integrated Circuit)開発のフローとして、論理合成後の配置配線情報を高位合成にフィードバックすることで、最適なRTL回路を得る事が出来るようにしたものである。   As a technique for improving the design efficiency of such a semiconductor integrated circuit, there is a method for designing a semiconductor integrated circuit device described in Patent Document 1. In this method, as an ASIC (Application Specific Integrated Circuit) development flow, an optimum RTL circuit can be obtained by feeding back placement and routing information after logic synthesis to high-level synthesis.

しかしながら、特許文献1に記載された半導体集積回路装置の設計方法は、FPGA特有の構成であるロジックセルを考慮していないため、FPGAへのマッピングがスムーズにできないという問題がある。以下、この点について説明する。   However, the design method of the semiconductor integrated circuit device described in Patent Document 1 does not take into account logic cells having a configuration peculiar to the FPGA, so that there is a problem that mapping to the FPGA cannot be performed smoothly. Hereinafter, this point will be described.

FPGAは、ルックアップテーブル(LUT)とフリップフロップ(FF)で構成されたロジックセルの集合体であり、FPGAの設計の場合、論理合成の後に、ネットリスト記述の回路をFPGA内のロジックセルにマッピングするインプリメンテーションを行う。   An FPGA is a collection of logic cells composed of a look-up table (LUT) and flip-flops (FF). In the case of FPGA design, after logic synthesis, a circuit described in a netlist is converted into a logic cell in the FPGA. Perform the mapping implementation.

このとき、高位合成で論理合成できる(タイミングに問題のない)RTL回路を得る事が出来ても、論理合成されたネットリスト記述の回路をロジックセルにマッピングする事でタイミングに問題が出てしまうことがある。   At this time, even if it is possible to obtain an RTL circuit capable of logical synthesis by high-level synthesis (no problem in timing), a problem arises in timing by mapping the logically synthesized netlist description circuit to the logic cell. Sometimes.

即ち、ASICではAND回路やOR回路等を自由に使用してロジックを構成し、ファンクションを実現するのに対し、FPGAでは多数のロジックセルを使用してファンクションを実現するため、ロジックセル間を信号が行き交う事となり、配線の遅延の積み上げが階段状に大きくなる。   That is, in ASIC, logic is configured by freely using AND circuits or OR circuits, etc., and functions are realized. In FPGA, functions are realized by using many logic cells. As a result, the accumulation of wiring delays increases stepwise.

特許文献1に記載された半導体集積回路装置の設計方法は、このような階段状に増える遅延を考慮していないため、FPGAへのマッピングがスムーズにできない。このため、以下の作業を繰り返して遅延の調整を行うことが必要となる。   Since the design method of the semiconductor integrated circuit device described in Patent Document 1 does not consider such a stepwise increasing delay, mapping to the FPGA cannot be performed smoothly. For this reason, it is necessary to adjust the delay by repeating the following operations.

即ち、マッピングなどをマニュアルで行い、配線遅延の厳しいデータパスを近い場所に配置するなど作業を行いマッピングで対応する。それでも出来ない場合は、入力するRTL回路にあたるRTL記述を生成し直すために、論理合成制約を厳しくして論理合成をやり直す。それでもインプリメンテーションができない場合は、高位合成制約を厳しくし、さらに論理合成制約を厳しくして、ネットリスト記述のレジスタ(フリップフロップ)間に収められているロジック回路の段数を減らすことでレジスタ間の遅延を抑え、インプリメンテーションがし易くなるように合成を繰り返すこととなる。   In other words, mapping is performed manually, and work such as placing a data path with severe wiring delay in a nearby location is performed by mapping. If this is not possible, the logic synthesis is re-established with strict logic synthesis constraints in order to regenerate the RTL description corresponding to the input RTL circuit. If implementation is still not possible, high-level synthesis constraints are tightened, and logic synthesis constraints are tightened to reduce the number of stages of logic circuits stored between registers (flip-flops) in the netlist description. The synthesis is repeated so as to reduce the delay and facilitate the implementation.

各作業は、基本的に出来るまで行うが、どうしても解決しない場合は上流の作業に移る事となり、各作業で解決するか否かのタイミングを見誤ると、無駄な工数を積み上げていく事となる。   Each work is basically done until it can be done, but if it can not be solved by all means, it will move to the upstream work, and if the timing of whether to solve each work is mistaken, it will accumulate unnecessary man-hours. .

本発明は、このような問題を解決するためになされたものであり、その目的は、高位合成を用いる半導体集積回路の設計において、FPGAに最適なセル遅延を持つRTL回路が迅速かつ容易に得られるようにすることである。   The present invention has been made to solve such a problem, and an object of the present invention is to quickly and easily obtain an RTL circuit having an optimum cell delay for an FPGA in the design of a semiconductor integrated circuit using high-level synthesis. Is to be able to.

本発明に係る半導体集積回路の設計装置は、動作記述をRTL記述に変換する高位合成手段と、該高位合成手段により変換されたRTL記述をネットリスト記述に変換する論理合成手段と、該論理合成手段により変換されたネットリスト記述をFPGAにインプリメンテーションするインプリメンテーション手段と、該インプリメンテーション手段によりインプリメンテーション出来たか否かを判定する判定手段と、該判定手段によりインプリメンテーション出来なかったと判定されたとき、前記高位合成手段における高位合成制約を更新する制約更新手段と、を有する半導体集積回路の設計装置である。   A semiconductor integrated circuit design apparatus according to the present invention includes a high-level synthesis means for converting an operation description into an RTL description, a logic synthesis means for converting the RTL description converted by the high-level synthesis means into a netlist description, and the logic synthesis. Implementation means for implementing the netlist description converted by the means in the FPGA, determination means for determining whether the implementation means has been implemented, and implementation by the determination means is not possible And a constraint updating unit that updates a high-level synthesis constraint in the high-level synthesis unit.

本発明によれば、高位合成を用いる半導体集積回路の設計において、FPGAに最適なセル遅延を持つRTL回路が迅速かつ容易に得られる。   According to the present invention, in designing a semiconductor integrated circuit using high-level synthesis, an RTL circuit having an optimum cell delay for an FPGA can be obtained quickly and easily.

本発明の実施形態に係る半導体集積回路の設計装置のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the design apparatus of the semiconductor integrated circuit which concerns on embodiment of this invention. 本発明の実施形態に係る半導体集積回路の設計装置の動作を示すフローチャートである。3 is a flowchart showing the operation of the semiconductor integrated circuit design apparatus according to the embodiment of the present invention. 図2における動作記述を説明するための図である。It is a figure for demonstrating the operation | movement description in FIG. 図2における高位合成制約を説明するための図である。FIG. 3 is a diagram for explaining a high-level synthesis constraint in FIG. 2.

〈半導体集積回路の設計装置の構成〉
図1は本発明の実施形態に係る半導体集積回路の設計装置のハードウェア構成を示すブロック図である。
<Configuration of semiconductor integrated circuit design equipment>
FIG. 1 is a block diagram showing a hardware configuration of a semiconductor integrated circuit design apparatus according to an embodiment of the present invention.

この半導体集積回路の設計装置はコンピュータシステムにより構成されている。コンピュータシステム110は、CPU(Central Processing Unit)111、ROM(Read Only Memory)112、RAM(Random Access Memory)113、HDD(ハードディスク)114、ディスプレイ装置115、キーボード116、マウス117、及びCD−ROM装置118を備えている。   This semiconductor integrated circuit design apparatus is constituted by a computer system. The computer system 110 includes a CPU (Central Processing Unit) 111, a ROM (Read Only Memory) 112, a RAM (Random Access Memory) 113, an HDD (Hard Disk) 114, a display device 115, a keyboard 116, a mouse 117, and a CD-ROM device. 118 is provided.

CPU111は、ディスプレイ装置115、キーボード116、マウス117、CD−ROM装置118、ネットワーク装置(図示せず)、ROM112、RAM113又はHDD114との間でデータを入出力しながら処理を行う。   The CPU 111 performs processing while inputting / outputting data to / from the display device 115, keyboard 116, mouse 117, CD-ROM device 118, network device (not shown), ROM 112, RAM 113 or HDD 114.

CD−ROMに記録された半導体集積回路の設計プログラムは、CPU111によりCD−ROM装置118を介して一旦HDD114に格納される。CPU111は、HDD114から適宜半導体集積回路の設計プログラムをRAM113にロードして実行することによってFPGAの設計を行う。   The semiconductor integrated circuit design program recorded on the CD-ROM is temporarily stored in the HDD 114 by the CPU 111 via the CD-ROM device 118. The CPU 111 loads the semiconductor integrated circuit design program from the HDD 114 to the RAM 113 and executes it to design the FPGA.

ここで、半導体集積回路の設計プログラムは、高位合成ツール、論理合成ツール、インプリメンテーションツール、制約更新ツールなどからなる。これらのツールの機能により実現される手段が本発明における高位合成手段、論理合成手段、インプリメンテーション手段、制約更新手段などに対応する。   Here, the semiconductor integrated circuit design program includes a high-level synthesis tool, a logic synthesis tool, an implementation tool, a constraint update tool, and the like. Means realized by the functions of these tools correspond to high-level synthesis means, logic synthesis means, implementation means, constraint update means, and the like in the present invention.

〈半導体集積回路の設計装置の動作〉
図2は本発明の実施形態に係る半導体集積回路の設計装置の動作を示すフローチャートである。この図において、実線の矢印は、作業の遷移を示しており、破線の矢印は処理に必要なインプット情報及び処理によって生成されるアウトプット情報を示している。設計装置による処理の内、抽象度の一番高い高位合成を実施するところからフローがスタートする。
<Operation of semiconductor integrated circuit design equipment>
FIG. 2 is a flowchart showing the operation of the semiconductor integrated circuit design apparatus according to the embodiment of the present invention. In this figure, solid arrows indicate work transitions, and broken arrows indicate input information necessary for processing and output information generated by the processing. The flow starts when high-level synthesis with the highest level of abstraction is performed in the processing by the design device.

ステップS1では、動作記述1及び高位合成制約2を高位合成ツールにインプットすると事で高位合成を行い、RTL記述4を生成する。動作記述1とは高位合成の回路生成の元となる動作記述で書かれた記述であり、高位合成制約2とは高位合成でどのような処理性能で回路を生成するかを指示する記述である。生成されたRTL記述4は高位合成でスケジューリングされたもので、高位合成制約通りの処理性能を満たしている。   In step S1, high-level synthesis is performed by inputting the behavior description 1 and the high-level synthesis constraint 2 to the high-level synthesis tool, and the RTL description 4 is generated. The behavioral description 1 is a description written in the behavioral description that is the basis for generating a high-level synthesis circuit, and the high-level synthesis constraint 2 is a description that indicates what processing performance is to be generated in the high-level synthesis. . The generated RTL description 4 is scheduled by high-level synthesis and satisfies the processing performance according to the high-level synthesis constraint.

ステップS2では、RTL記述4及び論理合成制約3を論理合成ツールにインプットする事で論理合成を行い、ネットリスト記述5を生成する。論理合成制約3とは高位合成制約2と同じ処理性能にする為に論理合成ツールへRTL回路の処理性能を指示する記述である。FPGA向けの論理合成ツールを使うことで、FPGAの特性に合った論理合成を行うことができる。   In step S2, logic synthesis is performed by inputting the RTL description 4 and the logic synthesis constraint 3 to the logic synthesis tool, and a netlist description 5 is generated. The logic synthesis constraint 3 is a description that instructs the logic synthesis tool about the processing performance of the RTL circuit in order to achieve the same processing performance as the high-level synthesis constraint 2. By using a logic synthesis tool for FPGA, logic synthesis suitable for the characteristics of the FPGA can be performed.

論理合成が完了すると、アウトプット情報のネットリスト記述5をインプリメンテーションツールにインプットして、インプリメンテーション(変換、マップ、配置配線)する(ステップS3)。次いで、インプリメンテーション出来たか否かを判定する(ステップS4)。   When the logic synthesis is completed, the netlist description 5 of the output information is input to the implementation tool for implementation (conversion, map, placement and routing) (step S3). Next, it is determined whether or not the implementation has been completed (step S4).

インプリメンテーション出来たと判定したときは(ステップS4:YES)、この図のフローが終了する。インプリメンテーション出来なかったと判定したときは(ステップS4:NO)、ステップS5へ進んで制約更新を行う。   When it is determined that the implementation has been completed (step S4: YES), the flow of this figure ends. If it is determined that the implementation has failed (step S4: NO), the process proceeds to step S5 to update the constraints.

ここで、インプリメンテーション出来なかったと判定したときは、一回目のインプリメンテーションか否か、即ち高位合成制約2がインプリメンテーションの結果のフィードバック情報により更新されていないかどうかを併せて判定する。判定の結果、一回目のインプリメンテーションであった場合にステップS5へ進む。   Here, when it is determined that the implementation could not be performed, it is also determined whether or not it is the first implementation, that is, whether or not the high-level synthesis constraint 2 has been updated by the feedback information of the implementation result. . As a result of the determination, if it is the first implementation, the process proceeds to step S5.

ステップS5では、インプリメンテーション(ステップS3)で得られる配線遅延情報など6を参照して、高位合成制約2で指示されている処理性能に合わない部分に対してフィードバックして高位合成制約2を更新し、新しい高位合成制約を作成する。   In step S5, with reference to the wiring delay information 6 obtained in the implementation (step S3), the high-level synthesis constraint 2 is fed back by feeding back a portion that does not match the processing performance specified by the high-level synthesis constraint 2. Update and create new high-level synthesis constraints.

ここで、ステップS5で高位合成制約2を更新するときに参照される情報は、レジスタ対応情報(RTL記述のレジスタとネットリスト記述のレジスタとの対応関係を示す情報)と、配線遅延情報(FPGA内のFF間の遅延を示す情報)である。このレジスタ対応情報は、高位合成の結果と論理合成の結果で得られる。また、配線遅延情報は、インプリメンテーションの結果で得られる。   Here, the information referred to when updating the high-level synthesis constraint 2 in step S5 includes register correspondence information (information indicating the correspondence between RTL description registers and netlist description registers) and wiring delay information (FPGA). Information indicating delay between FFs). This register correspondence information is obtained as a result of high-level synthesis and a result of logic synthesis. Further, the wiring delay information is obtained as a result of implementation.

なお、この図における動作記述1、高位合成制約2、論理合成制約3、RTL記述4、ネットリスト記述5、及び配線遅延情報など6は、図1におけるHDD114に格納されている。   The operation description 1, high-level synthesis constraint 2, logic synthesis constraint 3, RTL description 4, netlist description 5, and wiring delay information 6 in this figure are stored in the HDD 114 in FIG.

次いで、更新された高位合成制約を用いて、一回目と同じように高位合成(ステップS1)を行い、さらに論理合成(ステップS2)、FPGAへのインプリメンテーション(ステップS3)を行い、インプリメンテーションできたか否かを判定する(ステップS4)。   Next, using the updated high-level synthesis constraints, high-level synthesis (step S1) is performed in the same manner as the first time, and further logic synthesis (step S2) and implementation in FPGA (step S3) are performed. It is determined whether or not the application has been completed (step S4).

更新された高位合成制約は、更新される前の高位合成制約に比べて、論理合成(ステップS2)でネックとなる処理性能が改善されている。この改善された処理性能によりFPGAへのインプリメンテーションが容易となっている。このため、二回目のインプリメンテーションでは確実にインプリメンテーションされ、インプリメンテーションできたと判定され(ステップS4:YES)、この図のフローが終了する。   The updated high-level synthesis constraint has improved processing performance that becomes a bottleneck in logic synthesis (step S2) as compared to the high-level synthesis constraint before being updated. This improved processing performance facilitates implementation in FPGAs. For this reason, it is determined that the second implementation has been implemented and it has been successfully implemented (step S4: YES), and the flow of FIG.

このように、本実施形態によれば、高位合成の結果と論理合成の結果で得られるレジスタ対応情報と、インプリメンテーションの結果で得られる配線遅延情報とを、高位合成時にインプットとして追加する。そして、高位合成のアウトプットに対して、レジスタ間の遅延を基にタイミングの厳しいデータパスを特定しスケジューリングをし直す。これにより、何度もFPGAにインプリメンテーションしなくても、FPGAに最適なセル遅延を持つRTL記述をスムーズに得る事が出来る。   As described above, according to the present embodiment, the register correspondence information obtained from the result of high-level synthesis and the result of logic synthesis and the wiring delay information obtained from the result of implementation are added as inputs at the time of high-level synthesis. Then, for a high-level synthesis output, a data path having a strict timing is specified based on a delay between registers, and scheduling is performed again. Thereby, it is possible to smoothly obtain an RTL description having an optimum cell delay for the FPGA without implementing it in the FPGA many times.

〈動作記述の例〉
図3は図2における動作記述1を説明するための図である。この図は処理の動作のみを記述した動作記述であり、動作記述を記述出来る言語なら何でもよい。ここで、図3A、図3Bにおけるmod1.h、mod1.ccは、SystemC言語で記述された回路のサンプルコードである。
<Example of behavioral description>
FIG. 3 is a diagram for explaining the operation description 1 in FIG. This figure is an operation description that describes only the operation of the process, and any language that can describe the operation description may be used. Here, mod1.h and mod1.cc in FIGS. 3A and 3B are sample code of a circuit described in the SystemC language.

mod1.ccの7行目と8行目(ブランク行を含まない)にてin1とin2からデータが入力され、それぞれtmp_in1とtmp_in2に代入される。8ビットのtmp_in1とtmp_in2はデータを処理する関数のcalc()の引数となる。   Data is input from in1 and in2 on the 7th and 8th lines (not including blank lines) of mod1.cc, and assigned to tmp_in1 and tmp_in2, respectively. 8-bit tmp_in1 and tmp_in2 are arguments of calc () of the function that processes data.

tmp_in1とtmp_in2をcalc()関数で処理を行い、処理した結果をtmp_outへ格納する。格納されたtmp_outの8ビットのデータをoutに出力する。各ステートの遷移はmod1へ入力されるclk(クロック)信号の立ち上がりによる。mod1.ccの5行目にwhile(1)とあるように、clk信号でデータの入力、処理、データの出力が繰り返される。   Process tmp_in1 and tmp_in2 with calc () function and store the processed result in tmp_out. The stored 8-bit data of tmp_out is output to out. The transition of each state is due to the rise of the clk (clock) signal input to mod1. As shown in while (1) on the fifth line of mod1.cc, data input, processing, and data output are repeated with the clk signal.

〈高位合成制約の例〉
図4は図2における高位合成制約2を説明するための図である。ここで、図4Aは一番初め(一回目)に高位合成を行う際に用意する高位合成制約の一例であり、図4B、C、Dは制約変換(ステップS5)に従って更新された高位合成制約の例である。
<Example of high-level synthesis constraints>
FIG. 4 is a diagram for explaining the high-level synthesis constraint 2 in FIG. Here, FIG. 4A is an example of a high-level synthesis constraint prepared when performing high-level synthesis at the very beginning (first time), and FIGS. 4B, 4C, and 4D are high-level synthesis constraints updated according to the constraint transformation (step S5). It is an example.

高位合成制約の中にはクロック信号の信号名、リセット信号の信号名、クロックサイクル、合成時のオプションが書かれている。オプションでは合成時にどのように振舞えばよいかを指示しており、図4Aでは合成を行う際に最低限の努力(minimum effort)で実施する事を指示している。   In the high-level synthesis constraint, the signal name of the clock signal, the signal name of the reset signal, the clock cycle, and options at the time of synthesis are written. The option indicates how to behave at the time of synthesis, and in FIG. 4A, it is instructed to perform with minimum effort when performing synthesis.

図4Bでは動作クロックの制約を図4Aより厳しくしている(5000ps→4500ps)。クロックサイクルの制約は回路全体に効いてくるため、問題になりそうな箇所が多い場合などに向いている。   In FIG. 4B, the operating clock is more restrictive than in FIG. 4A (5000 ps → 4500 ps). Since the clock cycle restriction is effective for the entire circuit, it is suitable for cases where there are many places that are likely to cause problems.

図4Cでは動作合成オプションを最大限の努力(maximum effort)で実施するように指示しており、図4Bと同様、回路全体に対して効果を得る事を目的とする。図4Dでは動作合成オプションで図3の回路の動作記述で使用されている関数に対して高位合成範囲を指定する(inline module=calc)事により、高位合成の最適化を行う。   In FIG. 4C, the behavioral synthesis option is instructed to be performed with the maximum effort, and the purpose is to obtain an effect on the entire circuit as in FIG. 4B. In FIG. 4D, the high-level synthesis is optimized by designating a high-level synthesis range (inline module = calc) for the function used in the behavioral description of the circuit of FIG.

上記のように、場合により様々な高位合成制約条件を付加して二回目の高位合成及び論理合成を実施することで、FPGAへのインプリメンテーションを容易にし、確実にインプリメンテーションを行うことができる。   As described above, the implementation of the second high-level synthesis and logic synthesis is performed by adding various high-level synthesis constraints depending on the case, thereby facilitating the implementation in the FPGA and ensuring the implementation. it can.

1…動作記述、2…高位合成制約、3…論理合成制約、4…RTL記述、5…ネットリスト記述、6…配線遅延情報など、110…コンピュータシステム、111…CPU、112…ROM、113…RAM、S1…高位合成ステップ、S2…論理合成ステップ、S3…インプリメンテーションステップ、S4…判定ステップ、S5…制約更新ステップ。   DESCRIPTION OF SYMBOLS 1 ... Action description, 2 ... High-level synthesis constraint, 3 ... Logic synthesis constraint, 4 ... RTL description, 5 ... Netlist description, 6 ... Wiring delay information, etc. 110 ... Computer system, 111 ... CPU, 112 ... ROM, 113 ... RAM, S1 ... high-level synthesis step, S2 ... logic synthesis step, S3 ... implementation step, S4 ... determination step, S5 ... constraint update step.

特開2001−142922号公報JP 2001-142922 A

Claims (6)

動作記述をRTL記述に変換する高位合成手段と、
該高位合成手段により変換されたRTL記述をネットリスト記述に変換する論理合成手段と、
該論理合成手段により変換されたネットリスト記述をFPGAにインプリメンテーションするインプリメンテーション手段と、
該インプリメンテーション手段によりインプリメンテーション出来たか否かを判定する判定手段と、
該判定手段によりインプリメンテーション出来なかったと判定されたとき、前記高位合成手段における高位合成制約を更新する制約更新手段と、
を有する半導体集積回路の設計装置。
High-level synthesis means for converting the behavior description into the RTL description;
Logic synthesis means for converting the RTL description converted by the high-level synthesis means into a netlist description;
Implementation means for implementing in the FPGA the netlist description converted by the logic synthesis means;
Determination means for determining whether or not the implementation has been implemented by the implementation means;
When it is determined by the determination means that the implementation could not be performed, a constraint update means for updating a high-level synthesis constraint in the high-level synthesis means;
A device for designing a semiconductor integrated circuit.
請求項1に記載された半導体集積回路の設計装置において、
前記判定手段は、インプリメンテーション出来なかったとき、該インプリメンテーションが一回目であるか否かを併せて判定し、一回目であるときのみインプリメンテーション出来なかったとの判定を出力する半導体集積回路の設計装置。
In the design apparatus of the semiconductor integrated circuit according to claim 1,
When the implementation is impossible, the determination unit also determines whether or not the implementation is the first time, and outputs the determination that the implementation was not possible only when the first time. Circuit design equipment.
請求項1に記載された半導体集積回路の設計装置において、
前記制約更新手段は、スケジューリングに必要なクロックサイクルを更新する半導体集積回路の設計装置。
In the design apparatus of the semiconductor integrated circuit according to claim 1,
The constraint update means is a semiconductor integrated circuit design device for updating a clock cycle necessary for scheduling.
請求項1に記載された半導体集積回路の設計装置において、
前記制約更新手段は、どのように合成するか指示をするオプションを更新する半導体集積回路の設計装置。
In the design apparatus of the semiconductor integrated circuit according to claim 1,
The constraint updating means is a semiconductor integrated circuit design apparatus for updating an option for instructing how to synthesize.
請求項1に記載された半導体集積回路の設計装置において、
前記制約更新手段は、最適化の必要な部分の範囲を指示する情報を追加する半導体集積回路の設計装置。
In the design apparatus of the semiconductor integrated circuit according to claim 1,
The constraint update means is a semiconductor integrated circuit design apparatus for adding information indicating a range of a portion requiring optimization.
動作記述をRTL記述に変換する高位合成ステップと、
該高位合成ステップにより変換されたRTL記述をネットリスト記述に変換する論理合成ステップと、
該論理合成ステップにより変換されたネットリスト記述をFPGAにインプリメンテーションするインプリメンテーションステップと、
該インプリメンテーションステップによりインプリメンテーション出来たか否かを判定する判定ステップと、
該判定ステップによりインプリメンテーション出来なかったと判定されたとき、前記高位合成ステップにおける高位合成制約を更新する制約更新ステップと、
を有する半導体集積回路の設計方法。
A high-level synthesis step that converts the behavioral description into an RTL description;
A logic synthesis step for converting the RTL description converted by the high-level synthesis step into a netlist description;
An implementation step of implementing in the FPGA the netlist description converted by the logic synthesis step;
A determination step for determining whether or not the implementation step has been implemented;
A constraint update step for updating a high-level synthesis constraint in the high-level synthesis step when it is determined that the implementation is not possible in the determination step;
A method for designing a semiconductor integrated circuit.
JP2012245772A 2012-11-07 2012-11-07 Design device and design method for semiconductor integrated circuit Pending JP2014095955A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012245772A JP2014095955A (en) 2012-11-07 2012-11-07 Design device and design method for semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012245772A JP2014095955A (en) 2012-11-07 2012-11-07 Design device and design method for semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JP2014095955A true JP2014095955A (en) 2014-05-22

Family

ID=50938996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012245772A Pending JP2014095955A (en) 2012-11-07 2012-11-07 Design device and design method for semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP2014095955A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022508296A (en) * 2018-08-09 2022-01-19 イーエニエーエスセー テック インスティチュート デ エンゲンハリア デ システマス エ コンピュータドレス テクノロジア エ シエンシア Code optimization methods and equipment for field programmable gate arrays

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022508296A (en) * 2018-08-09 2022-01-19 イーエニエーエスセー テック インスティチュート デ エンゲンハリア デ システマス エ コンピュータドレス テクノロジア エ シエンシア Code optimization methods and equipment for field programmable gate arrays
JP7407192B2 (en) 2018-08-09 2023-12-28 イーエニエーエスセー テック インスティチュート デ エンゲンハリア デ システマス エ コンピュータドレス テクノロジア エ シエンシア Method and apparatus for optimizing code for field programmable gate arrays

Similar Documents

Publication Publication Date Title
JP2006285865A (en) Correspondence relation specification method, device and program between register transfer level description and operation description
US11361133B2 (en) Method of reporting circuit performance for high-level synthesis
JP4492803B2 (en) Behavioral synthesis apparatus and program
US8117577B1 (en) Determining timing paths within a circuit block of a programmable integrated circuit
US8656337B2 (en) Optimization method and device for netlist used in logic circuit design for semiconductor integrated circuit
US8667435B1 (en) Function symmetry-based optimization for physical synthesis of programmable integrated circuits
US8127259B2 (en) Synthesis constraint creating device, behavioral synthesis device, synthesis constraint creating method and recording medium
Takizawa et al. A design support tool set for asynchronous circuits with bundled-data implementation on FPGAs
US10606972B2 (en) Method, design program, and design apparatus of a high level synthesis process of a circuit
CN115204076B (en) Logic optimization method and device of integrated circuit, electronic equipment and readable medium
JP6776069B2 (en) RTL optimization system and RTL optimization program
JP2014095955A (en) Design device and design method for semiconductor integrated circuit
US10152566B1 (en) Constraint based bit-stream compression in hardware for programmable devices
US10430540B1 (en) Processing a block diagram circuit design into an efficient high-level language representation
JP2014041598A (en) Logic circuit design method, logic circuit design program, and logic circuit design system
JP6242170B2 (en) Circuit design support apparatus and program
JP6468743B2 (en) Information processing apparatus and control method thereof
Singh et al. Register-Transfer-Level Design for Application-Specific Integrated Circuits
CN113408223B (en) Chip design method based on intelligent analysis
JP5262678B2 (en) Behavioral synthesis system, behavioral synthesis method, and behavioral synthesis program
JP2008152329A (en) Circuit analysis method, circuit analysis program, and circuit simulation device
JP2009129367A (en) Behavioral synthesis system, behavioral synthesis method, and program for behavioral synthesis
JP2010257003A (en) Logic equivalence verification system, logic equivalence verification method, method for manufacturing semiconductor integrated circuit, control program and readable storage medium
JP2006201825A (en) Delay analysis method and delay analysis program of integrated circuit
JP2009169694A (en) High-level synthesis method, high-level synthesis device, and program