JPWO2010095635A1 - Circuit design support device, circuit design support method, and program - Google Patents

Circuit design support device, circuit design support method, and program Download PDF

Info

Publication number
JPWO2010095635A1
JPWO2010095635A1 JP2011500619A JP2011500619A JPWO2010095635A1 JP WO2010095635 A1 JPWO2010095635 A1 JP WO2010095635A1 JP 2011500619 A JP2011500619 A JP 2011500619A JP 2011500619 A JP2011500619 A JP 2011500619A JP WO2010095635 A1 JPWO2010095635 A1 JP WO2010095635A1
Authority
JP
Japan
Prior art keywords
electronic circuit
circuit
simulation
design support
unit
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
JP2011500619A
Other languages
Japanese (ja)
Inventor
戸井 崇雄
崇雄 戸井
弘和 紙
弘和 紙
粟島 亨
亨 粟島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2010095635A1 publication Critical patent/JPWO2010095635A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

回路設計支援装置(100)は、オンチップデバッグ部(110)と、シミュレーション部(130)と、を備える。オンチップデバッグ部(110)は、電子回路(47)の動作が切替段階に至るまでは集積回路上で電子回路(47)を動作させ、電子回路(47)の動作が切替段階に至ると電子回路(47)中のデータを抽出する。シミュレーション部(130)は、電子回路(47)を表現するシミュレーション用コード(121)とオンチップデバッグ部(110)により抽出されたデータとを用いて切替段階における電子回路(47)を再現した後、切替段階後の電子回路(47)の動作をシミュレーションする。The circuit design support device (100) includes an on-chip debug unit (110) and a simulation unit (130). The on-chip debug unit (110) operates the electronic circuit (47) on the integrated circuit until the operation of the electronic circuit (47) reaches the switching stage, and when the operation of the electronic circuit (47) reaches the switching stage, Data in the circuit (47) is extracted. The simulation unit (130) reproduces the electronic circuit (47) at the switching stage using the simulation code (121) representing the electronic circuit (47) and the data extracted by the on-chip debug unit (110). The operation of the electronic circuit (47) after the switching stage is simulated.

Description

本発明は、電子回路のデバッグを効率的に行うのに好適な回路設計支援装置、回路設計支援方法、ならびに、これらをコンピュータ上で実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。   The present invention relates to a circuit design support apparatus and circuit design support method suitable for efficiently debugging an electronic circuit, and a computer-readable recording medium storing a program for realizing these on a computer.

いわゆる回路シミュレータを用いて、FPGA(Field Programable Gate Array)やDRP(Dynamically Reconfigurable Processor)などの再構成可能デバイスやASIC(Application Specific Integration Circuit)の設計時のデバッグを実行する技術が知られている。回路シミュレータは、設計段階に応じたシミュレーションを実行することができる。
例えば、回路シミュレータは、C言語などにより記述された動作レベル記述については、Cレベルシミュレーションを実行する。また、回路シミュレータは、C言語などにより記述された動作レベル記述を動作合成して得られるRTL(Register Transfer Level(レジスタ転送レベル))記述、もしくは、RTL記述言語で直接記述されたRTL記述については、RTLシミュレーションを実行する。
また、回路シミュレータは、RTL記述を論理合成あるいはテクノロジーマッピングして得られるネットリストについては、ブロックレベルシミュレーションを実行する。
さらに、回路シミュレータは、ネットリストに基づいて配置・配線設計することで得られるコンフィギュレーションコードについては、ハードウェアモデルシミュレーションを実行する。
Using a so-called circuit simulator, reconfigurable devices such as FPGA (Field Programmable Gate Array) and DRP (Dynamically Reconfigurable Processor) and ASIC (Application Specific Integration) are known for executing the design of Application Specific Integration (CIRCUIT). The circuit simulator can execute a simulation according to the design stage.
For example, the circuit simulator executes C level simulation for the behavior level description described in C language or the like. Also, the circuit simulator can be used for RTL (Register Transfer Level (register transfer level)) description obtained by behavioral synthesis of behavior level description described in C language or the like, or for RTL description directly described in RTL description language. , RTL simulation is executed.
The circuit simulator executes block level simulation for a netlist obtained by logical synthesis or technology mapping of the RTL description.
Further, the circuit simulator executes a hardware model simulation for the configuration code obtained by the placement / wiring design based on the net list.

しかしながら、回路シミュレータを用いて複雑な回路をシミュレーションしたり、大きなテストデータを用いて回路をシミュレーションしたりする場合、シミュレーションに要する時間が膨大なものとなっていた。特に、回路シミュレータを用いてハードウェアモデルシミュレーションを実行する場合、細部までデバッグが可能である反面、デバッグに非常に多くの時間が費やされていた。   However, when a complex circuit is simulated using a circuit simulator or a circuit is simulated using a large amount of test data, the time required for the simulation is enormous. In particular, when a hardware model simulation is executed using a circuit simulator, it is possible to debug in detail, but a great deal of time is spent on debugging.

一方、回路シミュレータを用いる代わりにオンチップデバッガを用いて、再構成可能デバイスやASICをデバッグする技術も知られている。オンチップデバッガは、再構成可能デバイスやASICそのものを動作させて、これらのデバイスが有する内部のレジスタやメモリの値をデバイスの外部へ出力させる。   On the other hand, a technique for debugging a reconfigurable device or ASIC using an on-chip debugger instead of using a circuit simulator is also known. The on-chip debugger operates the reconfigurable device and the ASIC itself, and outputs the values of the internal registers and memories of these devices to the outside of the device.

しかしながら、オンチップデバッガを用いたデバッグでは、回路シミュレータによるシミュレーションとは異なり、クロックエッジでレジスタやメモリなどに保存される信号以外の信号、例えば、演算途中に演算器に入力される信号や演算途中に演算器から出力される信号などは観測することができなかった。   However, in debugging using an on-chip debugger, unlike simulation using a circuit simulator, a signal other than a signal stored in a register or memory at a clock edge, for example, a signal input to a computing unit or a middle The signal output from the computing unit could not be observed.

このような問題を解決するための技術として、例えば、特許文献1には、再構成可能デバイス内で使用されないレジスタ、メモリ、外部ポート、配線などのリソースを用いて、デバッグ対象の電子回路に停止条件回路を挿入するデータ処理システムが開示されている。このデータ処理システムでは、停止条件回路が、所望の停止条件に合致したと判別したときにデバッグ対象の電子回路の動作を停止させるなどして、観測したい信号をレジスタやメモリに保存したり、外部ポートへ出力したりすることが可能となる。   As a technique for solving such a problem, for example, in Patent Document 1, the electronic circuit to be debugged is stopped using resources such as a register, a memory, an external port, and a wiring that are not used in the reconfigurable device. A data processing system for inserting a conditional circuit is disclosed. In this data processing system, when the stop condition circuit determines that the desired stop condition is met, the operation of the electronic circuit to be debugged is stopped, etc. Or output to a port.

特開2007−179567号公報JP 2007-179567 A

しかしながら、特許文献1に開示された手法は、レジスタ、メモリ、外部ポート、配線などのリソースが余っていない場合は利用できないという制限がある。また、再構成可能デバイス中の電子回路は、最適化により所定の位置に密集して配置されることが一般的である。従って、この電子回路から離れた位置に追加回路が生成されることが一般的である。このため、追加回路がクリティカルパスになり、再構成可能デバイスの動作速度を制限してしまう可能性があった。   However, the technique disclosed in Patent Document 1 has a limitation that it cannot be used when there are not enough resources such as registers, memories, external ports, and wiring. Also, the electronic circuits in the reconfigurable device are generally densely arranged at predetermined positions by optimization. Therefore, it is common that an additional circuit is generated at a position away from the electronic circuit. For this reason, the additional circuit becomes a critical path, which may limit the operation speed of the reconfigurable device.

上述したように、回路シミュレータは詳細なデバッグが可能であるもののデバッグに要する時間が膨大であり、一方、オンチップデバッガはデバッグに要する時間は短いものの詳細なデバッグに不向きである。
このため、詳細なデバッグを可能としつつもデバッグに要する時間が少ない使い勝手の良い回路設計支援装置の開発が望まれていた。
As described above, although the circuit simulator can perform detailed debugging, the time required for debugging is enormous. On the other hand, the on-chip debugger has a short time required for debugging but is not suitable for detailed debugging.
For this reason, it has been desired to develop an easy-to-use circuit design support apparatus that enables detailed debugging while reducing the time required for debugging.

本発明は、上記問題に鑑みてなされたものであり、電子回路のデバッグを効率的に行うのに好適な回路設計支援装置等を提供することを目的とする。   The present invention has been made in view of the above problems, and an object thereof is to provide a circuit design support apparatus and the like suitable for efficiently debugging an electronic circuit.

上記目的を達成するために、本発明の第1の観点に係る回路設計支援装置は、
集積回路上に実装された電子回路を当該集積回路上で動作させるとともに当該電子回路中のデータを抽出するオンチップデバッグ部と、
前記電子回路を表現するシミュレーション用コードを用いて前記電子回路の動作をシミュレーションするシミュレーション部と、
前記電子回路の動作異常を検出し、該動作異常を検出した時点を特定する異常検出部と、を備え、
前記オンチップデバッグ部は、前記動作異常が検出されると、前記特定された時点より所定サイクル数前の時点である切替段階まで当該電子回路を再動作させ、さらに、当該電子回路中の前記データを抽出し、
前記シミュレーション部は、前記シミュレーション用コードと前記オンチップデバッグ部により抽出された前記データとを用いて前記切替段階における前記電子回路の状態を再現した後、当該切替段階後の当該電子回路の動作をシミュレーションする、
ことを特徴とする。
In order to achieve the above object, a circuit design support apparatus according to a first aspect of the present invention provides:
An on-chip debug unit for operating an electronic circuit mounted on the integrated circuit on the integrated circuit and extracting data in the electronic circuit;
A simulation unit for simulating the operation of the electronic circuit using a simulation code representing the electronic circuit;
An abnormality detection unit that detects an operation abnormality of the electronic circuit and identifies a time point when the operation abnormality is detected, and
When the operation abnormality is detected, the on-chip debug unit re-operates the electronic circuit until a switching stage that is a predetermined number of cycles before the specified time, and further, the data in the electronic circuit Extract
The simulation unit reproduces the state of the electronic circuit in the switching stage using the simulation code and the data extracted by the on-chip debugging unit, and then performs an operation of the electronic circuit after the switching stage. To simulate,
It is characterized by that.

上記目的を達成するために、本発明のその他の観点に係る回路設計支援方法は、
オンチップデバッグ部が、集積回路上に実装された電子回路を当該集積回路上で動作させるとともに当該電子回路中のデータを抽出するオンチップデバッグステップと、
シミュレーション部が、前記電子回路を表現するシミュレーション用コードを用いて前記電子回路の動作をシミュレーションするシミュレーションステップと、
異常検出部が、前記電子回路の動作異常を検出し、該動作異常を検出した時点を特定する異常検出ステップと、を備え、
前記オンチップデバッグステップにおいて、前記オンチップデバッグ部は、前記動作異常が検出されると、前記特定された時点より所定サイクル数前の時点である切替段階まで当該電子回路を再動作させ、さらに、当該電子回路中の前記データを抽出し、
前記シミュレーションステップにおいて、前記シミュレーション部は、前記シミュレーション用コードと前記オンチップデバッグ部により抽出された前記データとを用いて前記切替段階における前記電子回路の状態を再現した後、当該切替段階後の当該電子回路の動作をシミュレーションする、
ことを特徴とする。
In order to achieve the above object, a circuit design support method according to another aspect of the present invention includes:
An on-chip debug step for operating an electronic circuit mounted on the integrated circuit on the integrated circuit and extracting data in the electronic circuit;
A simulation step for simulating the operation of the electronic circuit using a simulation code representing the electronic circuit;
An abnormality detection unit that detects an operation abnormality of the electronic circuit and identifies an abnormality detection step that detects the operation abnormality; and
In the on-chip debugging step, when the operation abnormality is detected, the on-chip debugging unit re-operates the electronic circuit until a switching stage that is a predetermined number of cycles before the identified time point, and Extracting the data in the electronic circuit,
In the simulation step, the simulation unit reproduces the state of the electronic circuit in the switching stage using the simulation code and the data extracted by the on-chip debugging unit, and then performs the switching after the switching stage. Simulate the operation of electronic circuits,
It is characterized by that.

上記目的を達成するために、本発明のその他の観点に係るコンピュータ読み取り可能な記録媒体は、
コンピュータに、
集積回路上に実装された電子回路を当該集積回路上で動作させるとともに当該電子回路中のデータを抽出するオンチップデバッグステップと、
前記電子回路を表現するシミュレーション用コードを用いて前記電子回路の動作をシミュレーションするシミュレーションステップと、
前記電子回路の動作異常を検出し、該動作異常を検出した時点を特定する異常検出ステップと、を実行させるためのプログラムであって、
前記オンチップデバッグステップでは、前記動作異常が検出されると、前記特定された時点より所定サイクル数前の時点である切替段階まで当該電子回路を再動作させ、さらに、当該電子回路中の前記データを抽出し、
前記シミュレーションステップでは、前記シミュレーション用コードと前記オンチップデバッグ部により抽出された前記データとを用いて前記切替段階における前記電子回路の状態を再現した後、当該切替段階後の当該電子回路の動作をシミュレーションする、
ことを特徴とするプログラムを記録している。
In order to achieve the above object, a computer-readable recording medium according to another aspect of the present invention provides:
On the computer,
An on-chip debug step for operating an electronic circuit mounted on the integrated circuit on the integrated circuit and extracting data in the electronic circuit;
A simulation step of simulating the operation of the electronic circuit using a simulation code representing the electronic circuit;
An abnormality detection step for detecting an operation abnormality of the electronic circuit and specifying a time point when the operation abnormality is detected, and a program for executing
In the on-chip debugging step, when the operation abnormality is detected, the electronic circuit is re-operated until a switching stage that is a predetermined number of cycles before the specified time, and the data in the electronic circuit is further operated. Extract
In the simulation step, the state of the electronic circuit in the switching stage is reproduced using the simulation code and the data extracted by the on-chip debugging unit, and then the operation of the electronic circuit after the switching stage is performed. To simulate,
A program characterized by this is recorded.

本発明によれば、電子回路のデバッグを効率的に行うのに好適な回路設計支援装置等を提供することができる。   According to the present invention, it is possible to provide a circuit design support apparatus and the like suitable for efficiently debugging an electronic circuit.

本発明の第1〜4の実施形態に係る回路設計支援装置の構成を示すブロック図である。It is a block diagram which shows the structure of the circuit design assistance apparatus which concerns on the 1st-4th embodiment of this invention. ターゲット基板の構成を示すブロック図である。It is a block diagram which shows the structure of a target substrate. データ読み出し部が取得可能なデータと取得不可能なデータとを説明するための図である。It is a figure for demonstrating the data which a data reading part can acquire, and the data which cannot be acquired. 本発明の第1〜4の実施形態に係る回路設計支援装置の機能を説明するための図である。It is a figure for demonstrating the function of the circuit design support apparatus which concerns on the 1st-4th embodiment of this invention. 本発明の第1〜4の実施形態に係る回路設計支援装置が実行するコード生成処理を示すフローチャートである。It is a flowchart which shows the code | cord | chord generation process which the circuit design assistance apparatus which concerns on the 1st-4th embodiment of this invention performs. 本発明の第1の実施形態に係る回路設計支援装置が実行する回路設計支援処理を示すフローチャートである。It is a flowchart which shows the circuit design assistance process which the circuit design assistance apparatus which concerns on the 1st Embodiment of this invention performs. 多サイクル演算器の動作を説明するための図である。It is a figure for demonstrating operation | movement of a multi-cycle arithmetic unit. 本発明の第2の実施形態に係る回路設計支援装置が実行する回路設計支援処理を示すフローチャートである。It is a flowchart which shows the circuit design assistance process which the circuit design assistance apparatus which concerns on the 2nd Embodiment of this invention performs. 本発明の第3の実施形態に係る回路設計支援装置が実行する回路設計支援処理を示すフローチャートである。It is a flowchart which shows the circuit design support process which the circuit design support apparatus which concerns on the 3rd Embodiment of this invention performs. 本発明の第4の実施形態に係る回路設計支援装置が実行する回路設計支援処理を示すフローチャートである。It is a flowchart which shows the circuit design support process which the circuit design support apparatus which concerns on the 4th Embodiment of this invention performs.

以下、本発明の実施形態に係る回路設計支援装置について図面を参照して説明する。ここで、回路設計支援装置は、DRPやFPGAなどの集積回路上に実装される電子回路に存在する設計上のバグを検出するための装置である。具体的には、回路設計支援装置は、集積回路に実装された電子回路を実際に動作させながら電子回路が有するレジスタやメモリの値を読み出すことによりユーザの電子回路のデバッグを可能とするオンチップデバッガとしての機能を有する。さらに、回路設計支援装置は、集積回路に実装された電子回路を表現するプログラム(シミュレーション用コード)をコンピュータ上で実行することにより電子回路をシミュレートするシミュレータとしての機能を有する。   Hereinafter, a circuit design support apparatus according to an embodiment of the present invention will be described with reference to the drawings. Here, the circuit design support apparatus is an apparatus for detecting a design bug present in an electronic circuit mounted on an integrated circuit such as DRP or FPGA. Specifically, the circuit design support device enables on-chip debugging of a user's electronic circuit by reading a register or memory value of the electronic circuit while actually operating the electronic circuit mounted on the integrated circuit. Has a function as a debugger. Furthermore, the circuit design support apparatus has a function as a simulator for simulating an electronic circuit by executing a program (simulation code) representing the electronic circuit mounted on the integrated circuit on a computer.

(第1の実施形態)
まず、図1を参照して本発明の第1の実施形態に係る回路設計支援装置の構成について説明する。ここで、本実施形態に係る回路設計支援装置は、所定の記述レベルの回路記述(ソースプログラム)をコンパイルすることにより集積回路に書き込むコンフィギュレーションコードを生成するコンパイル機能と、生成したコンフィギュレーションコードを集積回路に書き込むライタ機能と、所定の記述レベルの回路記述を変換することによりシミュレーション用コードを生成するシミュレーション用コード生成機能と、をさらに備える。
(First embodiment)
First, the configuration of the circuit design support apparatus according to the first embodiment of the present invention will be described with reference to FIG. Here, the circuit design support apparatus according to the present embodiment includes a compile function for generating a configuration code to be written in an integrated circuit by compiling a circuit description (source program) of a predetermined description level, and a generated configuration code. A writer function for writing into the integrated circuit and a simulation code generation function for generating a simulation code by converting a circuit description at a predetermined description level are further provided.

図1に示すように、回路設計支援装置100は、物理的には、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、ハードディスク装置14と、表示制御部15と、インターフェース16と、を備える。回路設計支援装置100が備える各構成要素はバス10を介して接続される。なお、回路設計支援装置100は、パーソナルコンピュータやワークステーションなどにより構成することができる。また、図1に示すように、回路設計支援システム1000は、回路設計支援装置100と、表示装置20と、入力装置30と、ターゲット基板40と、を備える。なお、回路設計支援装置100が、表示装置20、入力装置30、ならびに、ターゲット基板40などを備える構成であってもよい。   As shown in FIG. 1, the circuit design support apparatus 100 physically includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a hard disk device 14, and the like. A display control unit 15 and an interface 16. Each component included in the circuit design support apparatus 100 is connected via the bus 10. The circuit design support apparatus 100 can be configured by a personal computer, a workstation, or the like. As illustrated in FIG. 1, the circuit design support system 1000 includes a circuit design support device 100, a display device 20, an input device 30, and a target substrate 40. The circuit design support device 100 may be configured to include the display device 20, the input device 30, the target substrate 40, and the like.

CPU11は、ハードディスク装置14に記憶された制御プログラムに従って回路設計支援装置100全体の動作を制御する。CPU11は、バス10を介して各構成要素と制御信号やデータのやりとりをする。   The CPU 11 controls the operation of the entire circuit design support apparatus 100 according to a control program stored in the hard disk device 14. The CPU 11 exchanges control signals and data with each component via the bus 10.

ROM12は、電源投入直後に実行されるIPL(Initial Program Loader)を記憶する。IPLが実行された後、CPU11は、ハードディスク装置14に記憶された制御プログラムをRAM13に読み出して実行する。   The ROM 12 stores an IPL (Initial Program Loader) that is executed immediately after the power is turned on. After the IPL is executed, the CPU 11 reads out the control program stored in the hard disk device 14 to the RAM 13 and executes it.

RAM13は、制御プログラムやデータを一時的に記憶する。RAM13は、ハードディスク装置14から読み出された制御プログラムや、後述するコード生成処理や回路設計支援処理に必要なデータ等を一時記憶する。   The RAM 13 temporarily stores control programs and data. The RAM 13 temporarily stores a control program read from the hard disk device 14, data necessary for code generation processing and circuit design support processing described later, and the like.

ハードディスク装置14は、コード生成処理や回路設計支援処理などを実現するための制御プログラムを記憶する。また、ハードディスク装置14は、集積回路に実装される電子回路を表現する回路記述を記憶する。回路記述は、その記述レベルによって、C言語レベル記述、RTL記述、ブロックレベル記述、ハードウェアレベル記述、などに分類される。
例えば、C言語レベル記述は、集積回路に実装される電子回路をC言語により表現したものである。例えば、RTL記述は、集積回路に実装される電子回路をHDL(Hardware Description Language)により表現したものである。
例えば、ブロックレベル記述は、集積回路に実装される電子回路をネットリストにより表現したものである。
例えば、ハードウェアレベル記述は、集積回路に実装される電子回路をコンフィギュレーションコードにより表現したものである。さらに、ハードディスク装置14は、各記述レベルの回路記述を変換して得られるシミュレーション用コードを記憶する。
The hard disk device 14 stores a control program for realizing code generation processing, circuit design support processing, and the like. The hard disk device 14 also stores a circuit description representing an electronic circuit mounted on the integrated circuit. The circuit description is classified into C language level description, RTL description, block level description, hardware level description, and the like according to the description level.
For example, the C language level description represents an electronic circuit mounted on an integrated circuit in C language. For example, the RTL description represents an electronic circuit mounted on an integrated circuit using HDL (Hardware Description Language).
For example, the block level description represents an electronic circuit mounted on an integrated circuit by a net list.
For example, the hardware level description represents an electronic circuit mounted on an integrated circuit by a configuration code. Further, the hard disk device 14 stores a simulation code obtained by converting the circuit description at each description level.

表示制御部15は、CPU11の制御のもと、表示装置20に表示させる画像信号を生成して、表示装置20に供給する。表示装置20は、表示制御部15から供給された画像信号に従って、画像を表示する。例えば、表示装置20には、各記述レベルの回路記述を示す画面、オンチップデバッグの結果を示す画面、シミュレーションの結果を示す画面などが表示される。表示装置20は、例えば、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などから構成される。   The display control unit 15 generates an image signal to be displayed on the display device 20 under the control of the CPU 11 and supplies the image signal to the display device 20. The display device 20 displays an image according to the image signal supplied from the display control unit 15. For example, the display device 20 displays a screen showing a circuit description at each description level, a screen showing a result of on-chip debugging, a screen showing a result of simulation, and the like. The display device 20 includes, for example, an LCD (Liquid Crystal Display), a CRT (Cathode Ray Tube), and the like.

インターフェース16は、回路設計支援装置100が備える各構成要素と、外部の入力装置30もしくはターゲット基板40との間のデータのやりとりを中継する。入力装置30は、CPU11による制御のもと、ユーザからの操作入力を受け付ける。入力装置30は、例えば、キーボードやマウスから構成される。ターゲット基板40は、オンチップデバッグのターゲットとなるDRPを備える基板である。ターゲット基板40については、図2を参照して詳細に説明する。   The interface 16 relays data exchange between each component included in the circuit design support device 100 and the external input device 30 or the target substrate 40. The input device 30 receives an operation input from a user under the control of the CPU 11. The input device 30 is composed of, for example, a keyboard and a mouse. The target substrate 40 is a substrate including a DRP that is a target for on-chip debugging. The target substrate 40 will be described in detail with reference to FIG.

図2に示すように、ターゲット基板40は、インターフェース41と、コード書き込み部42と、回路制御部43と、データ書き込み部44と、データ読み出し部45と、DRP46と、を備える。   As shown in FIG. 2, the target substrate 40 includes an interface 41, a code writing unit 42, a circuit control unit 43, a data writing unit 44, a data reading unit 45, and a DRP 46.

インターフェース41は、ターゲット基板40が備える各構成要素と、回路設計支援装置100が備える各要素との間のデータのやりとりを中継する。   The interface 41 relays data exchange between each component included in the target board 40 and each component included in the circuit design support apparatus 100.

コード書き込み部42は、インターフェース41を介して回路設計支援装置100から供給されたコンフィギュレーションコードをDRP46に書き込むことにより、DRP46上に電子回路47を実装する。   The code writing unit 42 mounts the electronic circuit 47 on the DRP 46 by writing the configuration code supplied from the circuit design support apparatus 100 via the interface 41 to the DRP 46.

回路制御部43は、DRP46上に実装された電子回路47の動作を制御する。具体的には、回路制御部43は、電子回路47を1サイクル分動作させることにより電子回路47の動作を1サイクル分進めたり、電子回路47を複数のサイクル分連続して動作させることにより電子回路47の動作を複数のサイクル分進めたりする。1サイクルをどの程度にするか、例えば、何クロック分程度にするかは適宜調整が可能である。   The circuit control unit 43 controls the operation of the electronic circuit 47 mounted on the DRP 46. Specifically, the circuit control unit 43 operates the electronic circuit 47 for one cycle to advance the operation of the electronic circuit 47 by one cycle, or operates the electronic circuit 47 for a plurality of cycles continuously to operate the electronic circuit 47. The operation of the circuit 47 is advanced by a plurality of cycles. It is possible to appropriately adjust how many cycles are made, for example, how many clocks.

データ書き込み部44は、インターフェース41を介して回路設計支援装置100から供給されたデータを電子回路47中のレジスタ、メモリ、ポートなどに書き込む。データ読み出し部45は、電子回路47中のレジスタ、メモリ、ポートなどに格納されているデータを読み出して、インターフェース41を介して回路設計支援装置100に供給する。データ書き込み部44によるデータの書き込みやデータ読み出し部45によるデータの読み出しは、例えば、電子回路47が動作していない間に実行される。   The data writing unit 44 writes data supplied from the circuit design support apparatus 100 via the interface 41 to a register, a memory, a port, or the like in the electronic circuit 47. The data reading unit 45 reads data stored in a register, a memory, a port, and the like in the electronic circuit 47 and supplies the data to the circuit design support apparatus 100 via the interface 41. Data writing by the data writing unit 44 and data reading by the data reading unit 45 are executed, for example, while the electronic circuit 47 is not operating.

ここで、図3を参照して、データ読み出し部45が取得可能なデータと取得不可能なデータとについて説明する。図3に示すように、演算器60は、加算器61と加算器62とを備える。図3において、レジスタ51はデータAを格納するレジスタであり、レジスタ52はデータBを格納するレジスタであり、レジスタ53はデータCを格納するレジスタである。加算器61は、レジスタ51から供給されたデータAとレジスタ52から供給されたデータBとの和を求め、その結果を示すデータを加算器62に供給する。加算器62は、加算器61から供給されたデータとレジスタ53から供給されたデータCとの和を求め、その結果を示すデータXをレジスタ54に供給する。すなわち、演算器60は、供給された3つの値の和を求めて出力する、すなわち、X=A+B+Cの演算を実行する。   Here, with reference to FIG. 3, data that can be acquired by the data reading unit 45 and data that cannot be acquired will be described. As shown in FIG. 3, the computing unit 60 includes an adder 61 and an adder 62. In FIG. 3, a register 51 is a register that stores data A, a register 52 is a register that stores data B, and a register 53 is a register that stores data C. The adder 61 calculates the sum of the data A supplied from the register 51 and the data B supplied from the register 52, and supplies data indicating the result to the adder 62. The adder 62 calculates the sum of the data supplied from the adder 61 and the data C supplied from the register 53, and supplies data X indicating the result to the register 54. That is, the arithmetic unit 60 calculates and outputs the sum of the three supplied values, that is, performs an operation of X = A + B + C.

ここで、加算器61による加算と加算器62による加算とは同一のサイクルにおいて実行され、加算器61から加算器62に供給されるデータがレジスタに格納されないものとする。このとき、データ読み出し部45は、データA、データB、データC、ならびに、データXは、取得することができるが、加算器61から加算器62に供給されるデータは取得することができない。このように、オンチップデバッグによってはデータが取得できず、結果として詳細なデバッグができない場合がある。なお、後述するように、回路設計支援装置100によれば、オンチップデバッグによって取得できないデータは、シミュレーションにより解析することが可能である。   Here, the addition by the adder 61 and the addition by the adder 62 are executed in the same cycle, and data supplied from the adder 61 to the adder 62 is not stored in the register. At this time, the data reading unit 45 can acquire data A, data B, data C, and data X, but cannot acquire data supplied from the adder 61 to the adder 62. As described above, data cannot be acquired by on-chip debugging, and as a result, detailed debugging may not be possible. As will be described later, according to the circuit design support device 100, data that cannot be acquired by on-chip debugging can be analyzed by simulation.

次に、図4を参照して、本実施形態に係る回路設計支援装置100の機能を説明する。   Next, functions of the circuit design support apparatus 100 according to the present embodiment will be described with reference to FIG.

図4に示すように、回路設計支援装置100は、機能的には、オンチップデバッグ部110と、記憶部120と、シミュレーション部130と、を備える。   As shown in FIG. 4, the circuit design support apparatus 100 functionally includes an on-chip debug unit 110, a storage unit 120, and a simulation unit 130.

オンチップデバッグ部110は、DRP46上に実装された電子回路47を動作させるとともに電子回路47中のデータを抽出する。ここで、オンチップデバッグ部110は、電子回路47が、後述する切替段階に至るまでは電子回路47を動作させる。そして、オンチップデバッグ部110は、電子回路47が切替段階に至ると電子回路47の動作を停止させて電子回路47中のデータを読み出してシミュレーション部130に供給する。また、オンチップデバッグ部110は、例えば、抽出したデータを表示する画面(オンチップデバッグ用の画面)を表示装置20に表示させるための画像信号を生成して表示装置20に供給することにより、抽出したデータをユーザに提示する。オンチップデバッグ部110は、例えば、CPU11、表示制御部15、インターフェース16などから構成される。   The on-chip debug unit 110 operates the electronic circuit 47 mounted on the DRP 46 and extracts data in the electronic circuit 47. Here, the on-chip debug unit 110 operates the electronic circuit 47 until the electronic circuit 47 reaches a switching stage described later. Then, when the electronic circuit 47 reaches the switching stage, the on-chip debug unit 110 stops the operation of the electronic circuit 47, reads data in the electronic circuit 47, and supplies the data to the simulation unit 130. Further, the on-chip debug unit 110 generates an image signal for causing the display device 20 to display a screen (on-chip debug screen) for displaying the extracted data, and supplies the image signal to the display device 20, for example. Present the extracted data to the user. The on-chip debug unit 110 includes, for example, a CPU 11, a display control unit 15, an interface 16, and the like.

記憶部120は、電子回路47をコンピュータ上でシミュレーションするためのシミュレーション用コード121を記憶する。シミュレーション用コード121は、どのような記述レベルの回路記述を変換して得られるものであってもよい。記憶部120は、例えば、ハードディスク装置14により構成される。   The storage unit 120 stores a simulation code 121 for simulating the electronic circuit 47 on a computer. The simulation code 121 may be obtained by converting a circuit description of any description level. The storage unit 120 is configured by, for example, the hard disk device 14.

シミュレーション部130は、記憶部120に記憶されているシミュレーション用コード121を用いて、電子回路47の動作をコンピュータ上でシミュレーションする。ここで、シミュレーション部130は、オンチップデバッグ部110から供給されたデータを用いて、切替段階後の電子回路47の動作をシミュレーションする。すなわち、ユーザは、切替段階までは、オンチップデバッグ部110を用いてデバッグを行い、切替段階後は、シミュレーション部130を用いてデバッグを行う。また、シミュレーション部130は、例えば、シミュレーション用の画面を表示するための画像信号を生成して表示装置20に供給する。シミュレーション部130は、例えば、CPU11、表示制御部15、インターフェース16などから構成される。   The simulation unit 130 simulates the operation of the electronic circuit 47 on the computer using the simulation code 121 stored in the storage unit 120. Here, the simulation unit 130 uses the data supplied from the on-chip debug unit 110 to simulate the operation of the electronic circuit 47 after the switching stage. That is, the user performs debugging using the on-chip debugging unit 110 until the switching stage, and performs debugging using the simulation unit 130 after the switching stage. For example, the simulation unit 130 generates an image signal for displaying a simulation screen and supplies the image signal to the display device 20. The simulation unit 130 includes, for example, a CPU 11, a display control unit 15, an interface 16, and the like.

次に、図5に示すフローチャートを用いて、回路設計支援装置100が実行するコード生成処理について説明する。コード生成処理は、C言語レベル記述からコンフィギュレーションコードを生成し、生成したコンフィギュレーションコードをDRP46に書き込むことによりDRP46上に電子回路47を実装し、さらに、何れかの回路記述を変換してシミュレーション用コードを生成する処理である。コード生成処理は、後述する回路設計支援処理に先立って実行される。   Next, a code generation process executed by the circuit design support apparatus 100 will be described using the flowchart shown in FIG. In the code generation process, a configuration code is generated from the C language level description, and the generated configuration code is written in the DRP 46 to mount the electronic circuit 47 on the DRP 46. Further, any circuit description is converted and simulation is performed. This is a process for generating a code for use. The code generation process is executed prior to the circuit design support process described later.

まず、CPU11は、C言語レベル記述の入力をユーザから受け付ける(ステップS101)。CPU11は、ユーザが、入力装置30を介して新規に入力して生成したC言語レベル記述を受け付けてもよい。あるいは、ユーザに指定された、ハードディスク装置14若しくは回路設計支援装置100の図示しない外部の記憶装置などにあらかじめ記憶されているC言語レベル記述を受け付けてもよい。CPU11は、受け付けたC言語レベル記述をハードディスク装置14に記憶する。   First, the CPU 11 receives an input of a C language level description from the user (step S101). The CPU 11 may accept a C language level description newly generated by the user through the input device 30. Alternatively, a C language level description preliminarily stored in the hard disk device 14 or an external storage device (not shown) of the circuit design support device 100 specified by the user may be received. The CPU 11 stores the accepted C language level description in the hard disk device 14.

次に、CPU11は、ステップS101で受け付けたC言語レベル記述を動作合成することによりRTL記述を生成する(ステップS102)。CPU11は、生成したRTL記述をハードディスク装置14に記憶する。   Next, the CPU 11 generates an RTL description by behaviorally synthesizing the C language level description received in step S101 (step S102). The CPU 11 stores the generated RTL description in the hard disk device 14.

そして、CPU11は、ステップS102で生成したRTL記述に基づいてブロックレベル記述を生成する(ステップS103)。ここで、ブロックレベル記述は、例えば、ネットリストに相当する。CPU11は、生成したブロックレベル記述をハードディスク装置14に記憶する。   Then, the CPU 11 generates a block level description based on the RTL description generated in step S102 (step S103). Here, the block level description corresponds to, for example, a net list. The CPU 11 stores the generated block level description in the hard disk device 14.

さらに、CPU11は、ステップS103で生成したブロックレベル記述に基づいてハードウェアレベル記述を生成する(ステップS104)。具体的には、CPU11は、ネットリスト上に記述されている各リソースの配置及び配線設計を行うことにより、ハードウェアレベル記述(即ち、コンフィギュレーションコード)を生成する。CPU11は、生成したハードウェアレベル記述をハードディスク装置14に記憶する。   Further, the CPU 11 generates a hardware level description based on the block level description generated in step S103 (step S104). Specifically, the CPU 11 generates a hardware level description (that is, a configuration code) by performing arrangement and wiring design of each resource described on the net list. The CPU 11 stores the generated hardware level description in the hard disk device 14.

そして、CPU11は、ステップS104で生成したハードウェアレベル記述をDRP46に書き込む(ステップS105)。すなわち、CPU11は、ステップS104で生成したコンフィギュレーションコードをDRP46に書き込むことにより、DRP46上に電子回路47を実装する。   Then, the CPU 11 writes the hardware level description generated in step S104 into the DRP 46 (step S105). That is, the CPU 11 mounts the electronic circuit 47 on the DRP 46 by writing the configuration code generated in step S104 into the DRP 46.

さらに、CPU11は、何れかの回路記述を変換してシミュレーション用コードを生成する(ステップS106)。CPU11に、どの記述レベルの回路記述を変換してシミュレーション用コードを生成させるかは任意である。例えば、CPU11は、ステップS102で生成したRTL記述を変換してシミュレーション用コードを生成する。CPU11は、回路記述を変換してシミュレーション用コードを生成する処理(ステップS106)を終了すると、コード生成処理を終了する。   Further, the CPU 11 converts any circuit description to generate a simulation code (step S106). Which description level of the circuit description is converted by the CPU 11 to generate the simulation code is arbitrary. For example, the CPU 11 converts the RTL description generated in step S102 to generate a simulation code. When the CPU 11 completes the process of converting the circuit description and generating the simulation code (step S106), the CPU 11 ends the code generation process.

次に、図6に示すフローチャートを用いて、本実施形態に係る回路設計支援装置100が実行する回路設計支援処理について説明する。なお、回路設計支援処理は、オンチップデバッグ機能とシミュレーション機能とを適宜切り替えてユーザに提供することにより、ユーザの電子回路の設計を支援する処理である。   Next, a circuit design support process executed by the circuit design support apparatus 100 according to the present embodiment will be described using the flowchart shown in FIG. The circuit design support process is a process that supports the design of the user's electronic circuit by appropriately switching between the on-chip debug function and the simulation function and providing it to the user.

まず、CPU11は、異常を検出するまで電子回路47の動作を進める(ステップS201)。具体的には、CPU11は、DRP46上に実装された電子回路47をユーザにオンチップデバッグさせるために、電子回路47を動作させるとともに電子回路47中のデータを抽出する。CPU11は、抽出したデータ内容を表示装置20に表示させる等して、ユーザに提示する。   First, the CPU 11 advances the operation of the electronic circuit 47 until an abnormality is detected (step S201). Specifically, the CPU 11 operates the electronic circuit 47 and extracts data in the electronic circuit 47 in order to allow the user to debug the electronic circuit 47 mounted on the DRP 46 on-chip. The CPU 11 presents the extracted data content to the user by causing the display device 20 to display the data content.

そして、CPU11は、オンチップデバッグで異常が検出されたか否かを判別する(ステップS202)。例えば、CPU11は、電子回路47から抽出されたデータがあらかじめ定められたデータと一致しない場合に、異常が検出されたと判別する。また、CPU11は、異常を検出したことを示す操作入力がユーザからなされた場合に、異常が検出されたと判別してもよい。CPU11は、オンチップデバッグで異常が検出されていないと判別すると(ステップS202:NO)、回路設計支援処理を終了する。   Then, the CPU 11 determines whether or not an abnormality is detected by on-chip debugging (step S202). For example, the CPU 11 determines that an abnormality has been detected when the data extracted from the electronic circuit 47 does not match the predetermined data. Further, the CPU 11 may determine that an abnormality has been detected when an operation input indicating that the abnormality has been detected is made by the user. If the CPU 11 determines that no abnormality is detected by the on-chip debugging (step S202: NO), the circuit design support process is terminated.

一方、CPU11は、オンチップデバッグで異常が検出されたと判別すると(ステップS202:YES)、異常が検出された時点を特定する(ステップS203)。例えば、CPU11は、電子回路47を所定のサイクル数分動作させた場合に電子回路47から抽出されたデータがあらかじめ定められたデータと一致しない場合に、当該所定のサイクル数を異常が検出された時点として特定する。また、CPU11は、ユーザから受け付けたサイクル数を異常が検出された時点特定しても良い。   On the other hand, if the CPU 11 determines that an abnormality has been detected by on-chip debugging (step S202: YES), the CPU 11 identifies the time point at which the abnormality was detected (step S203). For example, when the CPU 11 operates the electronic circuit 47 for a predetermined number of cycles, when the data extracted from the electronic circuit 47 does not match the predetermined data, an abnormality is detected for the predetermined number of cycles. Specify as time. Further, the CPU 11 may specify the number of cycles received from the user when an abnormality is detected.

CPU11は、異常が検出された時点の特定処理(ステップS203)を終了すると、電子回路47を再動作させて、異常が検出された時点の1サイクル前まで電子回路47の動作を進める(ステップS204)。具体的には、先ず、CPU11は、電子回路47が実装されたDRP46にリセット信号を供給して電子回路47を初期状態にする。そして、CPU11は、当該DRP46にクロック信号を供給してステップS203で特定した時点の1サイクル前まで電子回路47の動作を進める。本実施形態では、異常が検出された時点の1サイクル前の時点を、デバッグ手法をオンチップデバッグからシミュレーションに切り替える切替段階とする。   When the CPU 11 finishes the specific process (step S203) when the abnormality is detected, the CPU 11 restarts the electronic circuit 47 and advances the operation of the electronic circuit 47 until one cycle before the abnormality is detected (step S204). ). Specifically, first, the CPU 11 supplies a reset signal to the DRP 46 on which the electronic circuit 47 is mounted to place the electronic circuit 47 in an initial state. Then, the CPU 11 supplies the clock signal to the DRP 46 and advances the operation of the electronic circuit 47 until one cycle before the time point specified in step S203. In the present embodiment, a time point one cycle before the time point when an abnormality is detected is set as a switching stage in which the debugging method is switched from on-chip debugging to simulation.

次に、CPU11は、電子回路47中のデータを取得する(ステップS205)。なお、CPU11が取得するデータは、電子回路47中のレジスタ、メモリ、ポートなどに格納されているデータである。   Next, the CPU 11 acquires data in the electronic circuit 47 (step S205). Note that the data acquired by the CPU 11 is data stored in a register, memory, port, or the like in the electronic circuit 47.

次に、CPU11は、ステップS205で取得したデータを用いて、電子回路47の状態を再現する(ステップS206)。具体的には、CPU11は、図5のステップS106で生成したシミュレーション用コードとステップS205で取得したデータとを用いて、DRP46上に実装されている電子回路47の上述した切替段階における状態をコンピュータ上で再現する。   Next, the CPU 11 reproduces the state of the electronic circuit 47 using the data acquired in step S205 (step S206). Specifically, the CPU 11 uses the simulation code generated in step S106 of FIG. 5 and the data acquired in step S205 to determine the state of the electronic circuit 47 mounted on the DRP 46 at the switching stage described above. Reproduce above.

次に、CPU11は、シミュレーション用コードを用いて、コンピュータ上で電子回路47の当該切替段階後の動作をシミュレーションする(ステップS207)。   Next, the CPU 11 simulates the operation of the electronic circuit 47 after the switching stage on the computer using the simulation code (step S207).

ユーザは、このシミュレーションの結果に基づいて、異常のある箇所を詳細に調べることができる。その後、ユーザは、必要に応じて、電子回路47を現在の状態(切替段階)から再動作させて、次の異常箇所までオンチップデバッグすることもできる。   Based on the result of this simulation, the user can examine in detail the location where there is an abnormality. Thereafter, if necessary, the user can re-operate the electronic circuit 47 from the current state (switching stage) and perform on-chip debugging up to the next abnormal location.

本実施形態に係る回路設計支援装置100によれば、ユーザが電子回路47のデバッグを効率的に行うことを支援できる。例えば、回路設計支援装置100は、異常を検出するまではオンチップデバッグ機能により電子回路47を動作させることで、デバッグ時間の短縮化が図れる。そして、異常が検出された時点の直前からの電子回路47の動作をシミュレーション機能によりシミュレーションすることで、詳細なデバッグを可能とする。本実施形態に係る回路設計支援装置100によれば、加算器61から加算器62に供給されるデータのように、オンチップデバッグでは確認することが困難なデータをシミュレーションで確認することができる。   According to the circuit design support apparatus 100 according to the present embodiment, it is possible to support the user to efficiently debug the electronic circuit 47. For example, the circuit design support apparatus 100 can shorten the debugging time by operating the electronic circuit 47 with the on-chip debugging function until an abnormality is detected. The operation of the electronic circuit 47 immediately before the point in time when the abnormality is detected is simulated by the simulation function, thereby enabling detailed debugging. According to the circuit design support apparatus 100 according to the present embodiment, data that is difficult to confirm by on-chip debugging, such as data supplied from the adder 61 to the adder 62, can be confirmed by simulation.

(第2の実施形態)
第1の実施形態では、1サイクルで演算が完了する演算器から構成される電子回路のデバッグを支援する例について説明した。しかし、本発明によれば、データが供給されてからデータが出力されるまで複数のサイクルを要する複数サイクル演算器を含む電子回路のデバッグを支援することもできる。複数サイクル演算器には、例えば、多サイクル演算器やパイプライン演算器などがある。ここでは、図7を参照して、多サイクル演算器について説明する。
(Second Embodiment)
In the first embodiment, an example has been described in which debugging of an electronic circuit including an arithmetic unit that completes an operation in one cycle is supported. However, according to the present invention, it is possible to support debugging of an electronic circuit including a multi-cycle arithmetic unit that requires a plurality of cycles from when data is supplied until the data is output. Examples of the multi-cycle arithmetic unit include a multi-cycle arithmetic unit and a pipeline arithmetic unit. Here, the multi-cycle arithmetic unit will be described with reference to FIG.

図7に示すように、多サイクル演算器70は、フリップフロップ71と、フリップフロップ72とを備える。まず、第1サイクルにおいて外部レジスタ73からフリップフロップ71にデータが供給される。そして、第2サイクルにおいてフリップフロップ71からフリップフロップ72にデータが供給される。さらに、第3サイクルにおいてフリップフロップ72から外部レジスタ74にデータが供給される。このように、多サイクル演算器70は演算を実行するのに3サイクルを要する。図示はしないが、パイプライン演算器も多サイクル演算器と同様に、演算に多サイクルを要する。   As shown in FIG. 7, the multicycle computing unit 70 includes a flip-flop 71 and a flip-flop 72. First, data is supplied from the external register 73 to the flip-flop 71 in the first cycle. Then, data is supplied from the flip-flop 71 to the flip-flop 72 in the second cycle. Further, data is supplied from the flip-flop 72 to the external register 74 in the third cycle. Thus, the multi-cycle calculator 70 requires three cycles to execute the calculation. Although not shown, the pipeline arithmetic unit requires a large number of cycles for the calculation, like the multi-cycle arithmetic unit.

このように、演算に多サイクルを要する演算器が、集積回路に実装された電子回路47に含まれている場合、オンチップデバッグでは当該演算器中に含まれるデータを直ちに参照することができない。しかしながら、集積回路に実装された電子回路47の動作をシミュレーションするには、このような演算器中に含まれるデータについても正確に把握する必要がある。本実施形態に係る回路設計支援装置100では、電子回路47中のデータを数サイクルにわたって取得することにより、電子回路47の動作の正確なシミュレーションを可能とする。以下、図8に示すフローチャートを参照して、本実施形態に係る回路設計支援装置100が実行する回路設計支援処理について説明する。なお、本実施形態に係る回路設計支援装置100の構成は、第1の実施形態に係る回路設計支援装置100と同様であるため説明を省略する。   As described above, when an arithmetic unit that requires many cycles for calculation is included in the electronic circuit 47 mounted on the integrated circuit, the data included in the arithmetic unit cannot be referred to immediately by on-chip debugging. However, in order to simulate the operation of the electronic circuit 47 mounted on the integrated circuit, it is necessary to accurately grasp the data included in such an arithmetic unit. The circuit design support apparatus 100 according to the present embodiment makes it possible to accurately simulate the operation of the electronic circuit 47 by acquiring data in the electronic circuit 47 over several cycles. Hereinafter, the circuit design support processing executed by the circuit design support apparatus 100 according to the present embodiment will be described with reference to the flowchart shown in FIG. Note that the configuration of the circuit design support apparatus 100 according to the present embodiment is the same as that of the circuit design support apparatus 100 according to the first embodiment, and a description thereof will be omitted.

まず、CPU11は、異常を検出するまで電子回路47の動作を進める(ステップS301)。そして、CPU11は、オンチップデバッグで異常が検出されたか否かを判別する(ステップS302)。CPU11は、オンチップデバッグで異常が検出されていないと判別すると(ステップS302:NO)、回路設計支援処理を終了する。   First, the CPU 11 advances the operation of the electronic circuit 47 until an abnormality is detected (step S301). Then, the CPU 11 determines whether or not an abnormality is detected by on-chip debugging (step S302). If the CPU 11 determines that no abnormality has been detected by the on-chip debugging (step S302: NO), the circuit design support process ends.

一方、CPU11は、オンチップデバッグで異常が検出されたと判別すると(ステップS302:YES)、異常が検出された時点を特定する(ステップS303)。CPU11は、異常が検出された時点を特定すると、電子回路47を再動作させて、異常が検出された時点の所定サイクル数前まで電子回路47の動作を進める(ステップS304)。本実施形態では、異常が検出された時点の所定サイクル数前の時点を、デバッグ手法をオンチップデバッグからシミュレーションに切り替える切替段階とする。また、ここでのサイクル数は、電子回路47に含まれる各多サイクル演算器の演算実行に要するサイクル数のうちの最も大きい数とする。次に、CPU11は、電子回路47中のデータを取得する(ステップS305)。   On the other hand, if the CPU 11 determines that an abnormality has been detected by on-chip debugging (step S302: YES), the CPU 11 identifies the time point at which the abnormality was detected (step S303). When the CPU 11 specifies the time point at which the abnormality is detected, the CPU 11 restarts the electronic circuit 47 and advances the operation of the electronic circuit 47 until a predetermined number of cycles before the time point at which the abnormality is detected (step S304). In the present embodiment, a time point a predetermined number of cycles before an abnormality is detected is set as a switching stage in which the debugging method is switched from on-chip debugging to simulation. The number of cycles here is the largest of the number of cycles required for execution of each multi-cycle arithmetic unit included in the electronic circuit 47. Next, the CPU 11 acquires data in the electronic circuit 47 (step S305).

次に、CPU11は、ステップS305で取得したデータを用いて電子回路47の状態を再現する(ステップS306)。次に、CPU11は、電子回路47の動作を異常が検出された時点まで進めたか否かを判別する(ステップS307)。   Next, the CPU 11 reproduces the state of the electronic circuit 47 using the data acquired in step S305 (step S306). Next, the CPU 11 determines whether or not the operation of the electronic circuit 47 has been advanced to the time point when the abnormality is detected (step S307).

CPU11は、電子回路47の動作を異常が検出された時点まで進めていないと判別すると(ステップS307:NO)、電子回路47の動作を1サイクル分進め(ステップS308)、電子回路47中のデータを取得する(ステップS309)。さらに、CPU11は、ステップS309で取得したデータを用いて、コンピュータ上で1サイクル分のシミュレーションを実行する(ステップS310)。   If the CPU 11 determines that the operation of the electronic circuit 47 has not been advanced to the time when the abnormality is detected (step S307: NO), the operation of the electronic circuit 47 is advanced by one cycle (step S308), and the data in the electronic circuit 47 is Is acquired (step S309). Further, the CPU 11 executes a simulation for one cycle on the computer using the data acquired in step S309 (step S310).

一方、CPU11は、電子回路47の動作を異常が検出された時点まで進めたと判別すると(ステップS307:YES)、回路設計支援処理を終了する。ユーザは、以上のシミュレーションの結果に基づいて、異常箇所を詳細に調べることができる。   On the other hand, when the CPU 11 determines that the operation of the electronic circuit 47 has been advanced to the point in time when the abnormality is detected (step S307: YES), the circuit design support process is terminated. The user can examine the abnormal part in detail based on the result of the above simulation.

本実施形態に係る回路設計支援装置100によれば、デバッグしようとする電子回路47に多サイクル演算器もしくはパイプライン演算器が含まれている場合であっても、オンチップデバッグにより取得したデータを用いて正確にシミュレーションをすることができる。従って、本実施形態に係る回路設計支援装置100によれば、第1の実施形態に係る回路設計支援装置100と同様、ユーザが電子回路47のデバッグを効率的に行うことを支援できる。   According to the circuit design support apparatus 100 according to the present embodiment, even when the electronic circuit 47 to be debugged includes a multi-cycle arithmetic unit or a pipeline arithmetic unit, the data acquired by on-chip debugging is used. It can be used for accurate simulation. Therefore, according to the circuit design support apparatus 100 according to the present embodiment, it is possible to support the user to efficiently debug the electronic circuit 47 as in the circuit design support apparatus 100 according to the first embodiment.

(第3の実施形態)
第2の実施形態では、取得したデータを用いてコンピュータ上で電子回路47の状態を再現した後、電子回路47の動作を1サイクル分進めるたびに、1サイクル分のシミュレーションを実行する例を示した。しかし、取得したデータを用いてコンピュータ上で電子回路47の状態を再現した後、電子回路47の動作を多サイクル演算器の演算に要するサイクル数分進めた後に、当該サイクル数分のシミュレーションをまとめて実行してもよい。以下、図9に示すフローチャートを参照して、本実施形態に係る回路設計支援装置100が実行する回路設計支援処理について説明する。なお、本実施形態に係る回路設計支援装置100の構成は、第1、2の実施形態に係る回路設計支援装置100と同様であるため説明を省略する。
(Third embodiment)
In the second embodiment, after the state of the electronic circuit 47 is reproduced on the computer using the acquired data, a simulation for one cycle is executed every time the operation of the electronic circuit 47 is advanced by one cycle. It was. However, after reproducing the state of the electronic circuit 47 on the computer using the acquired data, the operation of the electronic circuit 47 is advanced by the number of cycles required for the operation of the multi-cycle arithmetic unit, and then the simulation for the number of cycles is summarized. May be executed. Hereinafter, the circuit design support process executed by the circuit design support apparatus 100 according to the present embodiment will be described with reference to the flowchart shown in FIG. Note that the configuration of the circuit design support apparatus 100 according to the present embodiment is the same as that of the circuit design support apparatus 100 according to the first and second embodiments, and thus description thereof is omitted.

まず、CPU11は、異常を検出するまで電子回路47の動作を進める(ステップS401)。そして、CPU11は、オンチップデバッグで異常が検出されたか否かを判別する(ステップS402)。CPU11は、オンチップデバッグで異常が検出されていないと判別すると(ステップS402:NO)、回路設計支援処理を終了する。   First, the CPU 11 advances the operation of the electronic circuit 47 until an abnormality is detected (step S401). Then, the CPU 11 determines whether or not an abnormality has been detected by on-chip debugging (step S402). If the CPU 11 determines that no abnormality has been detected by on-chip debugging (step S402: NO), the circuit design support process is terminated.

一方、CPU11は、オンチップデバッグで異常が検出されたと判別すると(ステップS402:YES)、異常が検出された時点を特定する(ステップS403)。CPU11は、異常が検出された時点を特定すると、電子回路47を再動作させて、異常が検出された時点の所定サイクル数前まで電子回路47の動作を進める(ステップS404)。本実施形態では、第2の実施形態と同様、異常が検出された時点の所定サイクル数前の時点を、デバッグ手法をオンチップデバッグからシミュレーションに切り替える切替段階とする。また、ここでのサイクル数は、電子回路47に含まれる各多サイクル演算器の演算実行に要するサイクル数のうちの最も大きい数とする。次に、CPU11は、電子回路47中のデータを取得する(ステップS405)。   On the other hand, if the CPU 11 determines that an abnormality has been detected by on-chip debugging (step S402: YES), the CPU 11 identifies the time point at which the abnormality has been detected (step S403). When the CPU 11 specifies the time point at which the abnormality is detected, the CPU 11 restarts the electronic circuit 47 and advances the operation of the electronic circuit 47 until a predetermined number of cycles before the time point at which the abnormality is detected (step S404). In this embodiment, as in the second embodiment, a time point that is a predetermined number of cycles before an abnormality is detected is set as a switching stage in which the debugging technique is switched from on-chip debugging to simulation. The number of cycles here is the largest of the number of cycles required for execution of each multi-cycle arithmetic unit included in the electronic circuit 47. Next, the CPU 11 acquires data in the electronic circuit 47 (step S405).

次に、CPU11は、ステップS405で取得したデータを用いて電子回路47の状態を再現する(ステップS406)。次に、CPU11は、電子回路47の動作を異常が検出された時点まで進めたか否かを判別する(ステップS407)。   Next, the CPU 11 reproduces the state of the electronic circuit 47 using the data acquired in step S405 (step S406). Next, the CPU 11 determines whether or not the operation of the electronic circuit 47 has been advanced to the time point when the abnormality is detected (step S407).

CPU11は、電子回路47の動作を異常が検出された時点まで進めていないと判別すると(ステップS407:NO)、電子回路47の動作を1サイクル分進め(ステップS408)、電子回路47中のデータを取得する(ステップS409)。そして、CPU11は、電子回路47の動作を異常が検出された時点まで進めたか否かを判別する処理(ステップS407:NO)に処理を戻す。   If the CPU 11 determines that the operation of the electronic circuit 47 has not been advanced to the time point when the abnormality is detected (step S407: NO), the operation of the electronic circuit 47 is advanced by one cycle (step S408), and the data in the electronic circuit 47 is Is acquired (step S409). And CPU11 returns a process to the process (step S407: NO) which discriminate | determines whether operation | movement of the electronic circuit 47 was advanced to the time of detecting abnormality.

一方、CPU11は、電子回路47の動作を異常が検出された時点まで進めたと判別すると(ステップS407:YES)、ステップS409で取得したデータを用いて、動作を進めたサイクル数分のシミュレーションを実行する(ステップS410)。ユーザは、以上のシミュレーションの結果に基づいて、異常箇所を詳細に調べることができる。   On the other hand, if the CPU 11 determines that the operation of the electronic circuit 47 has been advanced to the point in time when the abnormality is detected (step S407: YES), the CPU 11 executes the simulation for the number of cycles of the operation using the data acquired in step S409. (Step S410). The user can examine the abnormal part in detail based on the result of the above simulation.

本実施形態に係る回路設計支援装置100によれば、第2の実施形態に係る回路設計支援装置100と同様に、デバッグしようとする電子回路47に多サイクル演算器もしくはパイプライン演算器が含まれている場合であっても、オンチップデバッグにより取得したデータを用いて正確にシミュレーションをすることができる。従って、本実施形態に係る回路設計支援装置100によれば、第1、第2の実施形態に係る回路設計支援装置100と同様、ユーザが電子回路47のデバッグを効率的に行うことを支援できる。   According to the circuit design support apparatus 100 according to the present embodiment, the electronic circuit 47 to be debugged includes a multi-cycle arithmetic unit or a pipeline arithmetic unit, as in the circuit design support apparatus 100 according to the second embodiment. Even if it is, it can simulate correctly using the data acquired by on-chip debugging. Therefore, according to the circuit design support apparatus 100 according to the present embodiment, it is possible to support the user to efficiently debug the electronic circuit 47, similarly to the circuit design support apparatus 100 according to the first and second embodiments. .

(第4の実施形態)
第1〜3の実施形態では、何れか1つの記述レベルの回路記述を変換して得られたシミュレーション用コードを用いて電子回路47をシミュレーションする例を示した。しかし、複数の記述レベルの回路記述のそれぞれを変換して得られたシミュレーション用コードのそれぞれを用いて電子回路47をシミュレーションすることもできる。かかる構成によれば、シミュレーション結果を比較することにより、検出した異常が、DRP46に書き込んだコンフィギュレーションコードの不具合によるものか、あるいは、それ以外の不具合によるものかを切り分けることが可能となる。以下、図10に示すフローチャートを参照して、本実施形態に係る回路設計支援装置100が実行する回路設計支援処理について説明する。なお、本実施形態に係る回路設計支援装置100の構成は、第1〜3の実施形態に係る回路設計支援装置100と同様であるため説明を省略する。
(Fourth embodiment)
In the first to third embodiments, the example in which the electronic circuit 47 is simulated using the simulation code obtained by converting the circuit description of any one description level is shown. However, the electronic circuit 47 can also be simulated using each of the simulation codes obtained by converting each of the circuit descriptions at a plurality of description levels. According to this configuration, by comparing the simulation results, it is possible to determine whether the detected abnormality is due to a defect in the configuration code written in the DRP 46 or due to other defects. Hereinafter, the circuit design support process executed by the circuit design support apparatus 100 according to the present embodiment will be described with reference to the flowchart shown in FIG. Note that the configuration of the circuit design support apparatus 100 according to the present embodiment is the same as that of the circuit design support apparatus 100 according to the first to third embodiments, and thus description thereof is omitted.

まず、CPU11は、異常を検出するまで電子回路47の動作を進める(ステップS501)。そして、CPU11は、オンチップデバッグで異常が検出されたか否かを判別する(ステップS502)。CPU11は、オンチップデバッグで異常が検出されていないと判別すると(ステップS502:NO)、回路設計支援処理を終了する。   First, the CPU 11 advances the operation of the electronic circuit 47 until an abnormality is detected (step S501). Then, the CPU 11 determines whether or not an abnormality is detected by on-chip debugging (step S502). If the CPU 11 determines that no abnormality has been detected by the on-chip debugging (step S502: NO), the circuit design support process ends.

一方、CPU11は、オンチップデバッグで異常が検出されたと判別すると(ステップS502:YES)、異常が検出された時点を特定する(ステップS503)。CPU11は、異常が検出された時点の特定処理を終了すると、電子回路47を再動作させて、異常が検出された時点の1サイクル前まで電子回路47の動作を進める(ステップS504)。次に、CPU11は、電子回路47中のデータを取得する(ステップS505)。   On the other hand, when the CPU 11 determines that an abnormality has been detected by on-chip debugging (step S502: YES), the CPU 11 identifies the time point at which the abnormality has been detected (step S503). When the CPU 11 finishes the specific process when the abnormality is detected, the CPU 11 restarts the electronic circuit 47 and advances the operation of the electronic circuit 47 until one cycle before the abnormality is detected (step S504). Next, the CPU 11 acquires data in the electronic circuit 47 (step S505).

次に、CPU11は、Cレベルシミュレーションを実行する(ステップS506)。具体的には、CPU11は、ステップS505で取得したデータとC言語レベル記述を変換して得られたシミュレーション用コードとを用いてシミュレーションを実行する。また、CPU11は、RTLシミュレーションを実行する(ステップS507)。具体的には、CPU11は、ステップS505で取得したデータとRTL記述を変換して得られたシミュレーション用コードとを用いてシミュレーションを実行する。   Next, the CPU 11 executes a C level simulation (step S506). Specifically, the CPU 11 executes a simulation using the data acquired in step S505 and the simulation code obtained by converting the C language level description. In addition, the CPU 11 executes RTL simulation (step S507). Specifically, the CPU 11 executes a simulation using the data acquired in step S505 and the simulation code obtained by converting the RTL description.

そして、CPU11は、各記述レベルのシミュレーション結果が同じであるか否かを判別する(ステップS508)。   Then, the CPU 11 determines whether or not the simulation results at the respective description levels are the same (step S508).

CPU11は、各記述レベルのシミュレーション結果が同じであると判別すると(ステップS508:YES)、DRP46に書き込んだコンフィギュレーションコードに不具合があると判別する(ステップS509)。そして、CPU11は、その旨のメッセージ等を表示装置20に表示させる等してユーザに提示し、回路設計支援処理を終了する。   If the CPU 11 determines that the simulation results at the respective description levels are the same (step S508: YES), the CPU 11 determines that there is a defect in the configuration code written in the DRP 46 (step S509). Then, the CPU 11 displays a message to that effect on the display device 20 and presents it to the user, and ends the circuit design support process.

一方、CPU11は、各記述レベルのシミュレーション結果が同じではないと判別すると(ステップS508:NO)、コンフィギュレーションコード以外に不具合があると判別する(ステップS510)。そして、CPU11は、その旨のメッセージ等を表示装置20に表示させる等してユーザに提示し、回路設計支援処理を終了する。   On the other hand, if the CPU 11 determines that the simulation results at the respective description levels are not the same (step S508: NO), the CPU 11 determines that there is a defect other than the configuration code (step S510). Then, the CPU 11 displays a message to that effect on the display device 20 and presents it to the user, and ends the circuit design support process.

本実施形態に係る回路設計支援装置100によれば、複数の記述レベルのシミュレーション結果を比較することにより、異常が検出された場合、それが、DRP46に書き込んだコンフィギュレーションコードの不具合によるものか、あるいは、それ以外の不具合によるものかを判別することができる。従って、本実施形態に係る回路設計支援装置100によれば、ユーザが電子回路47のデバッグを効率的に行うことを支援できる。   According to the circuit design support device 100 according to the present embodiment, if an abnormality is detected by comparing simulation results of a plurality of description levels, is it due to a defect in the configuration code written in the DRP 46? Alternatively, it is possible to determine whether it is due to other problems. Therefore, according to the circuit design support apparatus 100 according to the present embodiment, it is possible to support the user to efficiently debug the electronic circuit 47.

なお、本発明に係る回路設計支援装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、コンピュータシステムに、上記動作を実行するためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disk Read−Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto Optical Disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これをコンピュータシステムにインストールすることにより、上述の処理を実行する回路設計支援装置を構成しても良い。   The circuit design support apparatus according to the present invention can be realized using a normal computer system, not a dedicated system. For example, a computer system such as a flexible disk, a CD-ROM (Compact Disk Read-Only Memory), a DVD (Digital Versatile Disk), or an MO (Magneto Optical Disk) can be read by a computer system. A circuit design support apparatus that executes the above-described processing may be configured by storing and distributing in a recording medium and installing it in a computer system.

さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータシステムにダウンロード等することで、回路設計支援装置を構成しても良い。   Furthermore, the circuit design support apparatus may be configured by storing a program in a disk device or the like of a server device on the Internet and, for example, superimposing it on a carrier wave and downloading it to a computer system.

本出願は、2009年2月18日に出願された日本国特許出願特願2009−34867に基づく。本明細書中に、その明細書、特許請求の範囲、図面全体を参照して取り組むものとする。   This application is based on Japanese Patent Application No. 2009-34867 filed on Feb. 18, 2009. This specification will be addressed with reference to the specification, claims, and drawings as a whole.

本発明は、例えば、電子回路の回路設計を支援する回路設計支援装置に利用することができる。   The present invention can be used, for example, in a circuit design support apparatus that supports circuit design of an electronic circuit.

10 バス
11 CPU
12 ROM
13 RAM
14 ハードディスク装置
15 表示制御部
16 インターフェース
20 表示装置
30 入力装置
40 ターゲット基板
41 インターフェース
42 コード書き込み部
43 回路制御部
44 データ書き込み部
45 データ読み出し部
46 DRP
47 電子回路
51、52、53、54 レジスタ
60 演算器
61、62 加算器
70 多サイクル演算器
71、72 フリップフロップ
73、74 外部レジスタ
100 回路設計支援装置
110 オンチップデバッグ部
120 記憶部
121 シミュレーション用コード
130 シミュレーション部
1000 回路設計支援システム
10 Bus 11 CPU
12 ROM
13 RAM
14 Hard disk device 15 Display control unit 16 Interface 20 Display device 30 Input device 40 Target substrate 41 Interface 42 Code writing unit 43 Circuit control unit 44 Data writing unit 45 Data reading unit 46 DRP
47 Electronic circuit 51, 52, 53, 54 Register 60 Operation unit 61, 62 Adder 70 Multicycle operation unit 71, 72 Flip-flop 73, 74 External register 100 Circuit design support device 110 On-chip debug unit 120 Storage unit 121 For simulation Code 130 Simulation unit 1000 Circuit design support system

本発明は、電子回路のデバッグを効率的に行うのに好適な回路設計支援装置、回路設計支援方法、ならびに、これらをコンピュータ上で実現するためのプログラムに関する。 The present invention is suitable circuit design support apparatus to perform debugging electronic circuits effectively, the circuit design support method, and relates to a program for realizing these on a computer.

上記目的を達成するために、本発明のその他の観点に係るプログラムは、
コンピュータに、
集積回路上に実装された電子回路を当該集積回路上で動作させるとともに当該電子回路中のデータを抽出するオンチップデバッグステップと、
前記電子回路を表現するシミュレーション用コードを用いて前記電子回路の動作をシミュレーションするシミュレーションステップと、
前記電子回路の動作異常を検出し、該動作異常を検出した時点を特定する異常検出ステップと、を実行させるためのプログラムであって、
前記オンチップデバッグステップでは、前記動作異常が検出されると、前記特定された時点より所定サイクル数前の時点である切替段階まで当該電子回路を再動作させ、さらに、当該電子回路中の前記データを抽出し、
前記シミュレーションステップでは、前記シミュレーション用コードと前記オンチップデバッグ部により抽出された前記データとを用いて前記切替段階における前記電子回路の状態を再現した後、当該切替段階後の当該電子回路の動作をシミュレーションする、
ことを特徴とする。
In order to achieve the above object, a program according to another aspect of the present invention provides:
On the computer,
An on-chip debug step for operating an electronic circuit mounted on the integrated circuit on the integrated circuit and extracting data in the electronic circuit;
A simulation step of simulating the operation of the electronic circuit using a simulation code representing the electronic circuit;
An abnormality detection step for detecting an operation abnormality of the electronic circuit and specifying a time point when the operation abnormality is detected, and a program for executing
In the on-chip debugging step, when the operation abnormality is detected, the electronic circuit is re-operated until a switching stage that is a predetermined number of cycles before the specified time, and the data in the electronic circuit is further operated. Extract
In the simulation step, the state of the electronic circuit in the switching stage is reproduced using the simulation code and the data extracted by the on-chip debugging unit, and then the operation of the electronic circuit after the switching stage is performed. To simulate,
It shall be the features a.

Claims (10)

集積回路上に実装された電子回路を当該集積回路上で動作させるとともに当該電子回路中のデータを抽出するオンチップデバッグ部と、
前記電子回路を表現するシミュレーション用コードを用いて前記電子回路の動作をシミュレーションするシミュレーション部と、
前記電子回路の動作異常を検出し、該動作異常を検出した時点を特定する異常検出部と、を備え、
前記オンチップデバッグ部は、前記動作異常が検出されると、前記特定された時点より所定サイクル数前の時点である切替段階まで当該電子回路を再動作させ、さらに、当該電子回路中の前記データを抽出し、
前記シミュレーション部は、前記シミュレーション用コードと前記オンチップデバッグ部により抽出された前記データとを用いて前記切替段階における前記電子回路の状態を再現した後、当該切替段階後の当該電子回路の動作をシミュレーションする、
ことを特徴とする回路設計支援装置。
An on-chip debug unit for operating an electronic circuit mounted on the integrated circuit on the integrated circuit and extracting data in the electronic circuit;
A simulation unit for simulating the operation of the electronic circuit using a simulation code representing the electronic circuit;
An abnormality detection unit that detects an operation abnormality of the electronic circuit and identifies a time point when the operation abnormality is detected, and
When the operation abnormality is detected, the on-chip debug unit re-operates the electronic circuit until a switching stage that is a predetermined number of cycles before the specified time, and further, the data in the electronic circuit Extract
The simulation unit reproduces the state of the electronic circuit in the switching stage using the simulation code and the data extracted by the on-chip debugging unit, and then performs an operation of the electronic circuit after the switching stage. To simulate,
A circuit design support device characterized by that.
所定の記述レベルの回路記述に基づいて、前記集積回路に書き込むコンフィギュレーションコードを生成するコンフィギュレーションコード生成部と、
生成された前記コンフィギュレーションコードを前記集積回路に書き込むコンフィギュレーションコード書込部と、をさらに備え、
前記電子回路は、前記コンフィギュレーションコードが前記集積回路に書き込まれることで、前記集積回路上に実装される、
ことを特徴とする請求項1に記載の回路設計支援装置。
A configuration code generator for generating a configuration code to be written to the integrated circuit based on a circuit description of a predetermined description level;
A configuration code writing unit that writes the generated configuration code to the integrated circuit, and
The electronic circuit is mounted on the integrated circuit by writing the configuration code to the integrated circuit.
The circuit design support apparatus according to claim 1.
所定の記述レベルの回路記述に基づいて、前記シミュレーション用コードを生成するシミュレーション用コード生成手段をさらに備える、
ことを特徴とする請求項1又は2に記載の回路設計支援装置。
A simulation code generating means for generating the simulation code based on a circuit description of a predetermined description level;
The circuit design support apparatus according to claim 1, wherein the circuit design support apparatus is provided.
前記切替段階は、前記異常検出部により特定された時点の1サイクル前の時点である、
ことを特徴とする請求項1乃至3の何れか1項に記載の回路設計支援装置。
The switching stage is a time point one cycle before the time point specified by the abnormality detection unit.
The circuit design support apparatus according to claim 1, wherein the circuit design support apparatus is a circuit design support apparatus.
前記電子回路は、演算の実行に複数サイクルを要するとともに外部から参照されない演算途中の前記データを内部に有する複数サイクル演算器を含み、
前記切替段階は、前記異常検出部により特定された時点より前記複数サイクル分前の時点であり、
前記オンチップデバッグ部は、前記シミュレーション部により前記切替段階における前記電子回路の状態が再現されると、前記電子回路を1サイクル分動作させる処理と前記電子回路中のデータを抽出する処理とを、前記異常検出部により特定された時点に到達するまで繰り返し、
前記シミュレーション部は、前記電子回路が1サイクル分動作する度に、前記シミュレーション用コードと前記オンチップデバッグ部により抽出された前記データとを用いて、前記電子回路の動作をシミュレーションする、
ことを特徴とする請求項1乃至3の何れか1項に記載の回路設計支援装置。
The electronic circuit includes a multi-cycle arithmetic unit that internally includes the data in the middle of an operation that requires a plurality of cycles to execute the operation and is not referred to from the outside,
The switching stage is a time before the plurality of cycles before the time specified by the abnormality detection unit,
When the state of the electronic circuit in the switching stage is reproduced by the simulation unit, the on-chip debug unit performs processing for operating the electronic circuit for one cycle and processing for extracting data in the electronic circuit. Repeat until reaching the time point specified by the abnormality detection unit,
The simulation unit simulates the operation of the electronic circuit using the simulation code and the data extracted by the on-chip debugging unit every time the electronic circuit operates for one cycle.
The circuit design support apparatus according to claim 1, wherein the circuit design support apparatus is a circuit design support apparatus.
前記電子回路は、演算の実行に複数サイクルを要するとともに外部から参照されない演算途中の前記データを内部に有する複数サイクル演算器を含み、
前記切替段階は、前記異常検出部により特定された時点より前記複数サイクル分前の時点であり、
前記オンチップデバッグ部は、前記シミュレーション部により前記切替段階における前記電子回路の状態が再現されると、前記電子回路を1サイクル分動作させる処理と前記電子回路中のデータを抽出する処理とを、前記異常検出部により特定された時点に到達するまで繰り返し、
前記シミュレーション部は、前記シミュレーション用コードと前記オンチップデバッグ部により抽出された前記データとを用いて、前記切替段階から前記特定された時点までの前記電子回路の動作をシミュレーションする、
ことを特徴とする請求項1乃至3の何れか1項に記載の回路設計支援装置。
The electronic circuit includes a multi-cycle arithmetic unit that internally includes the data in the middle of an operation that requires a plurality of cycles to execute the operation and is not referred to from the outside,
The switching stage is a time before the plurality of cycles before the time specified by the abnormality detection unit,
When the state of the electronic circuit in the switching stage is reproduced by the simulation unit, the on-chip debug unit performs processing for operating the electronic circuit for one cycle and processing for extracting data in the electronic circuit. Repeat until reaching the time point specified by the abnormality detection unit,
The simulation unit uses the simulation code and the data extracted by the on-chip debug unit to simulate the operation of the electronic circuit from the switching stage to the specified time point.
The circuit design support apparatus according to claim 1, wherein the circuit design support apparatus is a circuit design support apparatus.
前記シミュレーション部は、前記電子回路を表現する第1の回路記述を変換して得られる第1のシミュレーション用コードを用いて当該電子回路の動作をシミュレーションするとともに、当該第1の回路記述に基づいて生成された第2の回路記述を変換して得られる第2のシミュレーション用コードを用いて当該電子回路の動作をシミュレーションし、当該第1のシミュレーション用コードを用いたシミュレーションの結果と当該第2のシミュレーション用コードを用いたシミュレーションの結果とを比較することにより、前記コンフィギュレーションコードに異常があるか否かを判別する、
ことを特徴とする請求項2乃至4の何れか1項に記載の回路設計支援装置。
The simulation unit simulates the operation of the electronic circuit using a first simulation code obtained by converting the first circuit description representing the electronic circuit, and based on the first circuit description. The second simulation code obtained by converting the generated second circuit description is used to simulate the operation of the electronic circuit, the simulation result using the first simulation code, and the second simulation code. It is determined whether or not there is an abnormality in the configuration code by comparing the result of simulation using the simulation code.
The circuit design support apparatus according to claim 2, wherein the circuit design support apparatus is provided.
前記シミュレーション部は、前記第1のシミュレーション用コードを用いたシミュレーションの結果と前記第2のシミュレーション用コードを用いたシミュレーションの結果とが同じである場合に、前記コンフィギュレーションコードに異常があると判別する。
ことを特徴とする請求項7に記載の回路設計支援装置。
The simulation unit determines that the configuration code is abnormal when the result of the simulation using the first simulation code is the same as the result of the simulation using the second simulation code. To do.
The circuit design support apparatus according to claim 7.
オンチップデバッグ部が、集積回路上に実装された電子回路を当該集積回路上で動作させるとともに当該電子回路中のデータを抽出するオンチップデバッグステップと、
シミュレーション部が、前記電子回路を表現するシミュレーション用コードを用いて前記電子回路の動作をシミュレーションするシミュレーションステップと、
異常検出部が、前記電子回路の動作異常を検出し、該動作異常を検出した時点を特定する異常検出ステップと、を備え、
前記オンチップデバッグステップにおいて、前記オンチップデバッグ部は、前記動作異常が検出されると、前記特定された時点より所定サイクル数前の時点である切替段階まで当該電子回路を再動作させ、さらに、当該電子回路中の前記データを抽出し、
前記シミュレーションステップにおいて、前記シミュレーション部は、前記シミュレーション用コードと前記オンチップデバッグ部により抽出された前記データとを用いて前記切替段階における前記電子回路の状態を再現した後、当該切替段階後の当該電子回路の動作をシミュレーションする、
ことを特徴とする回路設計支援方法。
An on-chip debug step for operating an electronic circuit mounted on the integrated circuit on the integrated circuit and extracting data in the electronic circuit;
A simulation step for simulating the operation of the electronic circuit using a simulation code representing the electronic circuit;
An abnormality detection unit that detects an operation abnormality of the electronic circuit and identifies an abnormality detection step that detects the operation abnormality; and
In the on-chip debugging step, when the operation abnormality is detected, the on-chip debugging unit re-operates the electronic circuit until a switching stage that is a predetermined number of cycles before the identified time point, and Extracting the data in the electronic circuit,
In the simulation step, the simulation unit reproduces the state of the electronic circuit in the switching stage using the simulation code and the data extracted by the on-chip debugging unit, and then performs the switching after the switching stage. Simulate the operation of electronic circuits,
A circuit design support method characterized by the above.
コンピュータに、
集積回路上に実装された電子回路を当該集積回路上で動作させるとともに当該電子回路中のデータを抽出するオンチップデバッグステップと、
前記電子回路を表現するシミュレーション用コードを用いて前記電子回路の動作をシミュレーションするシミュレーションステップと、
前記電子回路の動作異常を検出し、該動作異常を検出した時点を特定する異常検出ステップと、を実行させるためのプログラムであって、
前記オンチップデバッグステップでは、前記動作異常が検出されると、前記特定された時点より所定サイクル数前の時点である切替段階まで当該電子回路を再動作させ、さらに、当該電子回路中の前記データを抽出し、
前記シミュレーションステップでは、前記シミュレーション用コードと前記オンチップデバッグ部により抽出された前記データとを用いて前記切替段階における前記電子回路の状態を再現した後、当該切替段階後の当該電子回路の動作をシミュレーションする、
ことを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。
On the computer,
An on-chip debug step for operating an electronic circuit mounted on the integrated circuit on the integrated circuit and extracting data in the electronic circuit;
A simulation step of simulating the operation of the electronic circuit using a simulation code representing the electronic circuit;
An abnormality detection step for detecting an operation abnormality of the electronic circuit and specifying a time point when the operation abnormality is detected, and a program for executing
In the on-chip debugging step, when the operation abnormality is detected, the electronic circuit is re-operated until a switching stage that is a predetermined number of cycles before the specified time, and the data in the electronic circuit is further operated. Extract
In the simulation step, the state of the electronic circuit in the switching stage is reproduced using the simulation code and the data extracted by the on-chip debugging unit, and then the operation of the electronic circuit after the switching stage is performed. To simulate,
The computer-readable recording medium which recorded the program characterized by the above-mentioned.
JP2011500619A 2009-02-18 2010-02-17 Circuit design support device, circuit design support method, and program Pending JPWO2010095635A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009034867 2009-02-18
JP2009034867 2009-02-18
PCT/JP2010/052321 WO2010095635A1 (en) 2009-02-18 2010-02-17 Circuit design assistance device, circuit design assistance method, and computer readable recording medium

Publications (1)

Publication Number Publication Date
JPWO2010095635A1 true JPWO2010095635A1 (en) 2012-08-23

Family

ID=42633915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011500619A Pending JPWO2010095635A1 (en) 2009-02-18 2010-02-17 Circuit design support device, circuit design support method, and program

Country Status (2)

Country Link
JP (1) JPWO2010095635A1 (en)
WO (1) WO2010095635A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017149737A1 (en) * 2016-03-03 2017-09-08 三菱電機株式会社 High-level synthesis device, high-level synthesis method, and high-level synthesis program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10171847A (en) * 1996-10-17 1998-06-26 Quickturn Design Syst Inc Method and device for verifying design by using emulation and simulation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10171847A (en) * 1996-10-17 1998-06-26 Quickturn Design Syst Inc Method and device for verifying design by using emulation and simulation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200800850012; 細川晃平外1名: '全記憶素子読出機能を利用したハードウェアエミュレータ・ソフトウェアシミュレータ協調検証' DAシンポジウム 2008 Vol.2008, No.7, 20080819, pp.97-102, 社団法人情報処理学会 *
JPN6010018644; 細川晃平外1名: '全記憶素子読出機能を利用したハードウェアエミュレータ・ソフトウェアシミュレータ協調検証' DAシンポジウム 2008 Vol.2008, No.7, 20080819, pp.97-102, 社団法人情報処理学会 *

Also Published As

Publication number Publication date
WO2010095635A1 (en) 2010-08-26

Similar Documents

Publication Publication Date Title
US7472361B2 (en) System and method for generating a plurality of models at different levels of abstraction from a single master model
CN112949233B (en) Automatic development method and device of FPGA chip and electronic equipment
US9235669B2 (en) Method and an apparatus for automatic processor design and verification
US9235670B2 (en) Method and an apparatus for automatic generation of verification environment for processor design and verification
US20130024178A1 (en) Playback methodology for verification components
Ahmadi-Pour et al. The MicroRV32 framework: An accessible and configurable open source RISC-V cross-level platform for education and research
JP5034916B2 (en) Performance evaluation model generation method, system performance evaluation method, and performance evaluation model generation apparatus
US8327309B2 (en) Verification of design information for controlling manufacture of a system on a chip
Gong et al. Modeling dynamically reconfigurable systems for simulation-based functional verification
US8938646B2 (en) Mutations on input for test generation
US10816600B1 (en) Protocol analysis and visualization during simulation
JP2009230677A (en) Property generation system and property verification system
WO2010095635A1 (en) Circuit design assistance device, circuit design assistance method, and computer readable recording medium
JP6667733B2 (en) Simulation apparatus, simulation method, and simulation program
JP2004070457A (en) Device and method for calculating coverage for simulation
US6813599B1 (en) Efficient memory structure simulation for sequential circuit design verification
CN116306392A (en) Chip simulation device, method, electronic device and storage medium
JP5454349B2 (en) Performance estimation device
JP2007226567A (en) Circuit simulator and circuit simulation program
Wang A Scalable SystemC Model of a Checkerboard Grid of Processing Cells
Suryawan et al. On-chip debugging for microprocessor design
JP2011145880A (en) Generation method for test task used in logic verification of semiconductor integrated circuit
JP2004145670A (en) Method and device for generating test bench, and computer program
Park et al. AC/C++-based functional verification framework using the SystemC verification library
JP2004310568A (en) Simulator device, simulation method and performance analysis method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130109

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140930