JP4573328B2 - Semiconductor device, semiconductor design apparatus and semiconductor design method - Google Patents
Semiconductor device, semiconductor design apparatus and semiconductor design method Download PDFInfo
- Publication number
- JP4573328B2 JP4573328B2 JP2005141133A JP2005141133A JP4573328B2 JP 4573328 B2 JP4573328 B2 JP 4573328B2 JP 2005141133 A JP2005141133 A JP 2005141133A JP 2005141133 A JP2005141133 A JP 2005141133A JP 4573328 B2 JP4573328 B2 JP 4573328B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- terminal
- logic
- rtl description
- description model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は、半導体デバイス、半導体設計装置および半導体設計方法に関し、特にPLD(Programmable Logic Device)の設計装置、PLDの設計方法およびその設計装置で設計されるPLDに関する。 The present invention relates to a semiconductor device, a semiconductor design apparatus, and a semiconductor design method, and more particularly to a PLD (Programmable Logic Device) design apparatus, a PLD design method, and a PLD designed by the design apparatus.
ユーザが任意に論理を書き込むことにより、ユーザ側で様々なランダム・ロジック回路を実現できる半導体デバイスを総称してPLD(Programmable Logic Device)と呼び、近年、急速に大規模化し、有力なASIC開発手法として認知されつつある。特に、ここ数年においては、新しいPLDとして、FPGA(Field Programmable Gate Array)が開発され、広く普及してきている。FPGAは、セルベースICなどのセミカスタムLSIとは異なり、チップの製造後、ユーザがプログラムして使用するものである。 Semiconductor devices that can implement various random logic circuits on the user's side by arbitrarily writing logic are called PLDs (Programmable Logic Devices). In recent years, they have rapidly become large-scale and have a powerful ASIC development method. It is being recognized as. In particular, in recent years, an FPGA (Field Programmable Gate Array) has been developed and widely spread as a new PLD. Unlike semi-custom LSIs such as cell-based ICs, FPGAs are programmed and used by the user after chip manufacture.
FPGAを採用する半導体デバイス(以下、FPGAデバイスと呼ぶ)を開発する場合、そのデバイスは複数の工程を経て開発される。工程は一般的には、システム仕様に基づいて論理回路を設計する論理設計工程と、設計された論理回路からネットリスト(回路の接続状態を表現したデータ)を生成する論理合成工程と、ネットリストに基づいてロジックセルの配置・配線処理を行う配置・配線工程と、実際のデバイスにプログラミングを行うプログラミング工程とがある。 When developing a semiconductor device that employs an FPGA (hereinafter referred to as an FPGA device), the device is developed through a plurality of steps. The process generally includes a logic design process for designing a logic circuit based on a system specification, a logic synthesis process for generating a netlist (data expressing circuit connection state) from the designed logic circuit, and a netlist. There are an arrangement / wiring process for performing logic cell arrangement / wiring processing based on the above, and a programming process for programming an actual device.
論理設計工程では、設計した論理回路をテキストエディタなどを用いてHDL(Hardware Description Language;ハードウェア記述言語)で記述する。論理合成工程では、EDA(Electronic Design Automation:半導体設計向け電子設計自動化ソフトウェア)ツール(例えば、論理合成ツール)を用いて、HDLで記述された回路情報に基づいてネットリストを生成する。配置・配線工程において、作成されたネットリストに基づいて、EDAツール(例えば配置・配線ツール)を用いて、配置・配線処理が行われる。FPGAには、基本論理機能を提供する論理素子が、予め多数配置されている。配置・配線工程において、EDAツールは、ロジックセルをその論理素子にマッピングする。さらに、マッピングされたセル間の配線を行う。この配置・配線処理が完了した後、配線遅延などを検証するシミュレーションを行い、動作タイミングなどの検証を行う。動作検証により設計された回路が仕様を満たすと判断された場合、プログラミング工程において、実デバイスに回路情報が入力される。この工程で実際のFPGAデバイスが形成される。 In the logic design process, the designed logic circuit is described in HDL (Hardware Description Language) using a text editor or the like. In the logic synthesis process, an EDA (Electronic Design Automation: electronic design automation software for semiconductor design) tool (for example, a logic synthesis tool) is used to generate a netlist based on circuit information described in HDL. In the placement / wiring process, placement / wiring processing is performed using an EDA tool (for example, placement / wiring tool) based on the created netlist. In the FPGA, a large number of logic elements that provide basic logic functions are arranged in advance. In the placement / wiring process, the EDA tool maps a logic cell to its logic element. Further, wiring between the mapped cells is performed. After the placement / wiring process is completed, a simulation for verifying the wiring delay is performed, and the operation timing is verified. When it is determined that the circuit designed by the operation verification satisfies the specifications, circuit information is input to the actual device in the programming process. In this process, an actual FPGA device is formed.
上述したように、FPGAは、基本論理機能をもつ論理素子を備えている。ユーザは、その論理素子を複数組み合わせて、ランダム・ロジックを実現することができる。ユーザによるプログラミングが行われた後、そのプログラムの書き換え作業が必要になる場合がある。そのような場合に内部レジスタの書き換えを行うことでプログラムを書き換える技術が知られている(例えば、特許文献1参照。)。 As described above, the FPGA includes a logic element having a basic logic function. The user can realize random logic by combining a plurality of the logic elements. After programming by the user, it may be necessary to rewrite the program. In such a case, a technique for rewriting a program by rewriting an internal register is known (for example, see Patent Document 1).
従来、FPGA内部レジスタの書き換え機能を実現するには、例えば、ハードウェアエミュレータでは、HDLによって記述される回路を、論理を追加した専用FFにマッピングした後に、FPGAプリミティブ(”白紙”状態のFPGA)にマッピングしている。また、書き換え対象のFPGAとは別に、書き換え用の制御CPUを構成した場合、デバッグ対象のFPGAのレジスタを、その制御CPUを用いて読み書きすることで書き換えを実行している。 Conventionally, in order to realize a function of rewriting an FPGA internal register, for example, in a hardware emulator, a circuit described in HDL is mapped to a dedicated FF to which logic is added, and then an FPGA primitive (an FPGA in a “blank” state) Is mapped. When a rewrite control CPU is configured separately from the rewrite target FPGA, the rewrite is executed by reading and writing the debug target FPGA register using the control CPU.
上述したように、レジスタ書き換えの用の専用のハードウェアを追加することで、レジスタの書き換えが可能なFPGAデバイスを構成することができるが、専用のハードウェアの追加は、FPGA回路規模の増大につながっている。 As described above, an FPGA device capable of register rewriting can be configured by adding dedicated hardware for register rewriting, but the addition of dedicated hardware increases the scale of the FPGA circuit. linked.
また、FPGAは、セルベースICなどのセミカスタムLSIと比べ開発期間が短いこと、標準品であるため少量生産用途に向いていること、特に多額の初期費用(マスク設計・製作費等)が不要であることがメリットである。しかしながら、一般的に、生産数量が多くなるとFPGAよりセミカスタムLSIの方がゲートあたりの単価のうえで有利となる。したがって、製品機器の生産数量の増加に伴って、FPGAに変えてセルベースICなどのセミカスタムLSIで搭載する半導体デバイスを構成することで、製品機器のコストを削減することができる。また、ASIC(例えばセルベースIC)の開発において、開発プロセスにおけるプロトタイピングにFPGAを用いて開発を進める場合がある。 FPGAs have a shorter development period than semi-custom LSIs such as cell-based ICs, and are standard products, making them suitable for low-volume production applications. Especially, there is no need for large initial costs (mask design / manufacturing costs, etc.) It is a merit. However, generally, when the production quantity increases, the semi-custom LSI is more advantageous in terms of unit price per gate than the FPGA. Therefore, as the production quantity of the product equipment increases, the cost of the product equipment can be reduced by configuring a semiconductor device mounted with a semi-custom LSI such as a cell-based IC instead of the FPGA. Further, in the development of an ASIC (for example, a cell-based IC), development may be advanced using FPGA for prototyping in the development process.
このように、FPGAで構成していた半導体デバイスをセミカスタムLSIで構成する場合や、プロトタイピングにFPGAを用いて開発を行う場合に、セミカスタムLSIへ実装する回路構成と、FPGA実装時に実現していた回路構成との差分が大きいと、相互の回路で等価性が保たれず、FPGAでは正常動作していた回路がセルベースICでは不安定になってしまう場合がある。 As described above, when a semiconductor device configured with an FPGA is configured with a semi-custom LSI, or when development is performed using an FPGA for prototyping, the circuit configuration to be mounted on the semi-custom LSI and the implementation at the time of FPGA mounting are realized. If there is a large difference from the circuit configuration that has been used, the equivalence between the circuits cannot be maintained, and a circuit that normally operates in the FPGA may become unstable in the cell-based IC.
本発明が解決しようとする課題は、FPGAデバイスによって実現される回路を、セミカスタムLSIで構成するときに、相互の回路間における等価性を保つことができる回路構成を有するFPGAデバイス、および、そのFPGAデバイスを設計することができるEDAを提供することにある。 The problem to be solved by the present invention is an FPGA device having a circuit configuration capable of maintaining equivalence between circuits when a circuit realized by the FPGA device is configured by a semi-custom LSI, and the It is to provide an EDA capable of designing an FPGA device.
以下に、[発明を実施するための最良の形態]で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。 The means for solving the problem will be described below using the numbers used in [Best Mode for Carrying Out the Invention]. These numbers are added to clarify the correspondence between the description of [Claims] and [Best Mode for Carrying Out the Invention]. However, these numbers should not be used to interpret the technical scope of the invention described in [Claims].
上記課題を解決するために、ユーザが任意に論理を書き込むことにより所定のロジック回路を構成する半導体(FPGA)の設計を支援するプログラムを以下のように構成する。そのプログラムは、
[a]回路設計EDA(Electronic Design Automation)が、半導体デバイスの論理設計モデルに基づいて第1RTL(Resister Transfer Level)記述モデルを生成するステップと、
[b]回路変更EDAが、前記第1RTL記述モデルを第2RTL記述モデルに変換するステップと、
[c]論理合成ツールが、前記第2RTL記述モデルをFPGAプリミティブにマッピングするステップ
を具備する方法をコンピュータに実行させるためのプログラムであることが好ましい。
In order to solve the above problems, a program for supporting the design of a semiconductor (FPGA) that constitutes a predetermined logic circuit by arbitrarily writing logic by a user is configured as follows. The program is
[A] a step in which a circuit design EDA (Electronic Design Automation) generates a first RTL (Resister Transfer Level) description model based on a logic design model of a semiconductor device;
[B] a circuit change EDA converting the first RTL description model into a second RTL description model;
[C] Preferably, the logic synthesis tool is a program for causing a computer to execute a method including the step of mapping the second RTL description model to an FPGA primitive.
ここで、そのプログラムにおいて、前記[a]ステップは、前記半導体デバイスの内部の記憶回路を特定し、前記記憶回路のリセット回路を構成して前記第1RTL記述モデルを生成するステップを含むものであることが好ましい。
また、前記[b]ステップは、前記第1RTL記述モデルに、前記記憶回路の書き換え値を受ける書き換え値入力端と、前記記憶回路が保持する値を受ける記憶値供給端とを生成するステップを含むものであることが好ましい。
さらに、前記[c]ステップは、前記第2RTL記述モデルに基づいて、論理合成を実行してFPGA用ネットリストを生成し、前記FPGA用ネットリストに基づいてマッピングを実行するステップを含むものであることがこのましい。これらのステップを具備する方法をコンピュータに実行させる。
さらに、前記[b]ステップは、外部から供給される前記書き換え値を受ける第1端子と、前記記憶値供給端に接続される第2端子と、前記第1端子と前記第2端子との一方を介して供給される値を前記書き換え値入力端に提供するスイッチとを備える書き換え回路モデルを生成するステップと、前記スイッチの出力端と前記書き換え値入力端とを接続して前記第2RTL記述モデルを生成するステップを含むものであっても良い。
Here, in the program, the step [a] includes a step of specifying a storage circuit in the semiconductor device, forming a reset circuit of the storage circuit, and generating the first RTL description model. preferable.
The step [b] includes a step of generating, in the first RTL description model, a rewrite value input terminal for receiving a rewrite value of the memory circuit and a memory value supply terminal for receiving a value held by the memory circuit. It is preferable.
Further, the step [c] includes a step of executing logic synthesis based on the second RTL description model to generate an FPGA netlist, and executing mapping based on the FPGA netlist. This is true. A computer is caused to execute a method including these steps.
Further, the [b] step includes one of a first terminal that receives the rewritten value supplied from the outside, a second terminal connected to the stored value supply terminal, and the first terminal and the second terminal. Generating a rewrite circuit model comprising a switch for providing a value supplied via the rewrite value input terminal, and connecting the output terminal of the switch and the rewrite value input terminal to the second RTL description model May be included.
書き換え回路(31)は、デバッグ時には、第1端子から供給される書き換え値を記憶回路(レジスタ)側に供給する。また、書き換えを行なわない記憶回路がある場合には、スイッチ(31)の接続を切り替えて、記憶回路の出力が再び同じ記憶回路に戻るような閉回路(36→37→42→41)を構成することで、記憶回路の値を保持し続ける。また、デバッグが完了した後は、デバッグ時に供給していた書き換え値に変えてリセット値を供給することで、通常のリセット回路として作用させる。 The rewrite circuit (31) supplies the rewrite value supplied from the first terminal to the memory circuit (register) side during debugging. When there is a memory circuit that is not rewritten, the closed circuit (36 → 37 → 42 → 41) is configured so that the connection of the switch (31) is switched and the output of the memory circuit returns to the same memory circuit again. As a result, the value of the memory circuit is kept. In addition, after the debugging is completed, a reset value is supplied instead of the rewritten value supplied at the time of debugging, so that the circuit operates as a normal reset circuit.
本発明によると、FPGAで構成された回路を、セルベースICなどのセミカスタムLSIで構成するときに、回路の等価性を保つことができるFPGAデバイス、および、そのFPGAデバイスを生成するEDAを提供することが可能になる。 According to the present invention, there is provided an FPGA device capable of maintaining circuit equivalence when a circuit configured with an FPGA is configured with a semi-custom LSI such as a cell-based IC, and an EDA for generating the FPGA device. It becomes possible to do.
以下に、図面を参照して本発明を実施の形態について説明を行う。以下の実施の形態において、RTL(Resister Transfer Level:回路をフリップフロップ+組み合わせ論理回路で表現したレベル)記述で回路構成(回路モデル)が記述され、開発対象の回路を実装する半導体デバイスがFPGAである場合を例示して説明を行う。また、本実施の形態において、FPGAとの等価性が要求されるセミカスタムLSIがセルベースICであるものとして説明を行う。 Embodiments of the present invention will be described below with reference to the drawings. In the following embodiments, a circuit configuration (circuit model) is described in RTL (Resister Transfer Level: a level in which a circuit is expressed by a flip-flop + combinational logic circuit), and a semiconductor device on which a circuit to be developed is mounted is an FPGA. A case will be described as an example. In the present embodiment, a description will be given assuming that a semi-custom LSI that requires equivalence with an FPGA is a cell-based IC.
図1は、本発明の半導体開発手法の概要を示すブロック図である。図1(a)は、本発明の半導体開発手法の概要を示し、図1(b)は、本願発明との比較のために従来の半導体開発手法の概要を示している。 FIG. 1 is a block diagram showing an outline of the semiconductor development method of the present invention. FIG. 1 (a) shows an outline of a semiconductor development method of the present invention, and FIG. 1 (b) shows an outline of a conventional semiconductor development method for comparison with the present invention.
図1(a)を参照すると、本発明による半導体開発では、システム仕様に基づいた論理設計を行い、RTL記述によって基本となる論理回路を構成する(以下、基本回路構成と呼ぶ。)。基本回路構成データは、回路変更EDAに読み込まれ、論理修正処理が実行される。回路変更EDAは、プログラミング可能なように基本回路構成を修正する。論理修正処理により生成される論理回路(以下、修正後回路構成と呼ぶ)は、論理合成ツールで読み込まれ、FPGA用ネットリストが生成される。生成されたFPGA用ネットリストは、FPGA開発ツールに送られ、実デバイスによる回路の形成が行われる。 Referring to FIG. 1A, in semiconductor development according to the present invention, logic design based on system specifications is performed, and a basic logic circuit is configured by RTL description (hereinafter referred to as a basic circuit configuration). The basic circuit configuration data is read into the circuit change EDA, and logic correction processing is executed. The circuit change EDA modifies the basic circuit configuration so that it can be programmed. A logic circuit generated by the logic correction process (hereinafter referred to as a post-correction circuit configuration) is read by a logic synthesis tool, and an FPGA netlist is generated. The generated FPGA netlist is sent to the FPGA development tool, and a circuit is formed by an actual device.
また、図1(b)を参照すると、従来の半導体開発では、レジスタの書き換え機能を実現するための専用FFを用意し、その専用FFにマッピングした後、FPGAにマッピングを行っている。ここで、図1(a)および図1(b)に示されているように、基本回路構成に対応するセルベースICを構成する場合、セルベースIC用ネットリストを生成する。セルベースIC用ネットリストはレイアウト・ツールに読み込まれ、セルベースICへのレイアウト作業が実行される。 Referring to FIG. 1B, in the conventional semiconductor development, a dedicated FF for realizing a register rewriting function is prepared, mapped to the dedicated FF, and then mapped to the FPGA. Here, as shown in FIGS. 1A and 1B, when a cell-based IC corresponding to the basic circuit configuration is configured, a cell-based IC netlist is generated. The cell-based IC netlist is read by the layout tool, and layout work for the cell-based IC is executed.
前述したように、セルベースICへ実装する回路構成と、FPGAデバイスで実現していた回路構成との差分が大きいと、その回路構成をセルベースICへ実装したときに不具合が発生することがある。本実施の形態の半導体開発装置は、上述した回路変更EDAを備え、その回路変更EDAが、適切な論理修正処理を実行することで、プログラミング(レジスタの書き換え)が可能な回路を構成している。本実施の形態の詳細な構成、動作に関して以下に説明を行っていく。本実施の形態において、開発対称となる半導体回路は、コンピュータを用いて設計された後、実FPGAデバイスへのプログラミングが行われる。 As described above, if the difference between the circuit configuration mounted on the cell base IC and the circuit configuration realized by the FPGA device is large, a problem may occur when the circuit configuration is mounted on the cell base IC. . The semiconductor development apparatus according to the present embodiment includes the circuit change EDA described above, and the circuit change EDA constitutes a circuit capable of programming (register rewriting) by executing an appropriate logic correction process. . The detailed configuration and operation of the present embodiment will be described below. In this embodiment, a semiconductor circuit that is symmetrical to development is designed using a computer, and then programming to an actual FPGA device is performed.
図2は、本実施の形態の半導体設計装置の構成を例示するブロック図である。図2を参照すると、本実施の形態の半導体設計装置は、回路設計コンピュータ1と、回路設計コンピュータ1に情報を入力する入力装置2と、回路設計コンピュータ1から出力される出力データに基づいて情報の出力を行う出力装置3とで構成されている。回路設計コンピュータ1は、半導体デバイスの設計を実行する情報処理装置である。図2に示されているように、回路設計コンピュータ1は、CPU4とメモリ5と大容量記憶装置6とを備えて構成され、それらはバス7を介して接続されている。CPU4は、各種装置の制御や入出力されるデータの処理を行う演算処理装置である。メモリ5は、CPU4が処理するデータを記憶する記憶装置である。大容量記憶装置6は、半導体設計に用いられる各種ツールや半導体設計に用いられるデータを保持する記憶装置である。
FIG. 2 is a block diagram illustrating the configuration of the semiconductor design apparatus of this embodiment. Referring to FIG. 2, the semiconductor design apparatus of the present embodiment includes information based on a circuit design computer 1, an
図2に示されるように、大容量記憶装置6は、EDAツール群8と、設計データ9と、回路データ記憶領域10と、FPGA論理素子データ11と、デバッガプログラム12とを備えている。EDAツール群8は、半導体デバイスの開発を支援するコンピュータソフトウェアである。複数のEDA(Electronic Design Automation)ツールを含んで構成されている。図2を参照すると、EDAツール群8は、回路変更EDA13と、論理合成ツール14と、エディタ15と、回路設計EDA18とを含んでいる。設計データ9は、システムの仕様に基づいて設計される半導体デバイスの設計データである。以下に述べる本実施の形態の基本回路データ16および修正後回路データ17は、設計データ9に基づいて生成される。
As shown in FIG. 2, the large-
回路データ記憶領域10は、基本回路データ16と、修正後回路データ17とを保持する記憶領域である。基本回路データ16は、リセット回路を有するレジスタの回路構成を示すデータである。また、修正後回路データ17は、その基本回路データ16に基づいて論理修正を実行した場合に生成される回路構成を示すデータである。ここで、各々の回路構成の詳細は後述するものとする。
The circuit data storage area 10 is a storage area for holding
FPGA論理素子データ11は、白紙状態のFPGAが有するゲートの構成を示すデータである。また、デバッガプログラム12は、FPGAデバイスのデバッガ時に使用されるコンピュータソフトウェアである。ここで、上述の回路設計コンピュータ1を用いる場合における、本実施の形態の動作を例示する。
The FPGA
図3は、本実施の形態における、回路設計の全体的な動作を例示するフローチャートである。図3を参照すると、ステップS101において、システムの仕様に基づいて論理設計が行われる。 FIG. 3 is a flowchart illustrating the overall operation of the circuit design in this embodiment. Referring to FIG. 3, in step S101, logic design is performed based on system specifications.
ステップS102において、設計された回路の構成をエディタを用いてRTL記述によって記述することで、仕様に沿った論理回路を構成する。回路設計EDA18は、RTL記述で構成される設計データ9から、論理回路を構成しているレジスタを特定する。レジスタを特定した回路設計EDAは、そのレジスタに保持される値をリセットするためのリセット部を構成し、そのリセット部とレジスタとを接続して基本回路データ16を生成する。回路変更EDA13は、生成する基本回路データ16を、回路データ記憶領域10に格納する。
In step S102, a logic circuit conforming to the specification is configured by describing the configuration of the designed circuit in an RTL description using an editor. The
ステップS103において、回路変更EDA13は回路データ記憶領域10から基本回路データ16を読み出す。回路変更EDA13は、読み出した基本回路データ16に基づいて、その基本回路の論理修正を実行する。ここで、回路変更EDA13が実行する論理修正処理に関する動作の詳細は、後述するものとする。ステップS104において、回路変更EDA13は、修正後の回路の構成をRTL記述によって構成し、その修正後回路データ17として回路データ記憶領域10に格納する。
In step S103, the
ステップS105において、論理合成ツール14は、回路データ記憶領域10から修正後回路データ17を読み出し、論理合成を実行する。論理合成ツール14は、FPGA論理素子データに基づいて、読み出した修正後回路データ17に示される回路をFPGAプリミティブにマッピングしていく。ステップS106において、論理合成ツール14は、マッピング完了に応答してFPGA用ネットリストを生成し、そのFPGA用ネットリストを大容量記憶装置6に格納する。
In step S105, the
ステップS107において、修正後回路データ17は、FPGA開発ツール(図示されず)に出力される。修正後回路データ17が供給されたFPGA開発ツールは、その修正後回路データ17に基づいて実際のFPGAデバイスにプログラムを書き込み、実デバイスを製造する。
In step S107, the corrected
以上が、本実施の形態における全体的な構成・動作についての説明である。以下に、上述した論理修正処理に関する詳細な説明を行なう。 The above is the description of the overall configuration and operation in the present embodiment. Hereinafter, a detailed description will be given regarding the above-described logic correction processing.
図4は、上述のフローチャートにおけるステップS102で生成される基本回路構成を例示する回路図である。図4に示されている基本回路図21は、RTL記述で構成される基本回路データ16を、回路記号で表示したときの回路図である。基本回路図21に示されるように、設計データに基づいて生成される半導体デバイスには、複数のレジスタ22が備えられている。回路変更EDA13は、その複数のレジスタに対応して複数の基本回路21を生成する。なお、以下の実施の形態において、同一の符号が付されているものは、その構成・動作が同様であるので重複する説明は省略する。
FIG. 4 is a circuit diagram illustrating the basic circuit configuration generated in step S102 in the above-described flowchart. The basic circuit diagram 21 shown in FIG. 4 is a circuit diagram when the
図4を参照すると、基本回路21は、レジスタ22と、そのレジスタ22の前段に備えられたセレクタ23とを含んで構成されている。図4に示されているように、セレクタ23は、リセット値入力信号線24と、入力側回路内部論理信号線25と、リセット入力信号線26とに接続されている。セレクタ23から出力される値はレジスタ22に供給され、レジスタ22は、供給されるクロックに同期して、記憶している値をレジスタ出力信号線27を介して出力している。
Referring to FIG. 4, the
リセット値入力信号線24には、リセット時にレジスタ22に入力されるリセット値が供給されている。セレクタ23は、リセット入力信号線26から供給されるリセット信号に応答して、リセット値入力信号線24から供給されるリセット値に基づいてレジスタ22の値をリセットする。また、図4に示されているように、セレクタ23は、入力側回路内部論理信号線25を介して前段の論理回路(図示されず)に接続されている。セレクタ23は、通常動作に、入力側回路内部論理信号線25を介して供給される値をレジスタ22に供給している。
The reset value
図5は、図3のフローチャートにおけるステップS103で生成される修正後回路構成を例示するブロック図である。図5に示されている修正後回路28は、RTL記述で構成される修正後回路データ17を、回路記号で表示している。図5に示されているように、修正後回路28は、基本回路21と、その基本回路21に接続される書き換え回路31とを含んで構成されている。修正後回路28に示されるように、基本回路21は基本回路入力端41と基本回路出力端42を備え、両端子を介して書き換え回路31に接続されている。図5を参照すると、書き換え回路31は、スイッチ32を備えて構成されている。スイッチ32は、基本回路出力端42と書き換え値入力信号線33とに接続されている。基本回路出力端42は、帰還入力信号線37を介してノード36に接続され、レジスタ22から出力される値をスイッチ32に供給している。
FIG. 5 is a block diagram illustrating the corrected circuit configuration generated in step S103 in the flowchart of FIG. The
図5に示されているように、論理修正によって生成される回路は、切り換え信号線34から供給される切り換え信号に応答して、スイッチ32の接続を切り替えている。修正後回路28に示される回路構成を有するFPGAデバイスは、書き換え回路31を介してレジスタ22の書き換え値を供給することが可能である。また、特定のレジスタ22に対して、書き換えを実行しない場合には、スイッチ32に接続を切り替えることで、レジスタ22の値を保持し続けることが可能である。また、修正後回路28の構成において、書き換え値入力信号線33を介してリセット値(VDDまたはGND)を供給することで、リセット動作を実現することができる。
As shown in FIG. 5, the circuit generated by the logic correction switches the connection of the
図6は、上述した論理修正の動作(修正後回路28を生成する動作)の詳細を例示するフローチャートである。図6を参照すると、ステップS201において、回路変更EDA13は基本回路データ16の読み出しを実行する。ステップS202において、回路変更EDA13はリセット端子情報の入力を要求する。設計者は、その要求に応答してリセット部に接続されるリセット端子の名前をリセット端子情報として入力装置2から入力する。回路変更EDA13は、入力されたリセット端子情報に基づいてリセット端子を特定する。回路変更EDA13は、そのリセット端子に接続されるセレクタ23およびその後段のレジスタ22を認識することで基本回路21を特定する。
FIG. 6 is a flowchart illustrating details of the above-described logic correction operation (operation for generating the corrected circuit 28). Referring to FIG. 6, in step S <b> 201, the
ステップS203において、回路変更EDA13は、特定した基本回路21の構成と基本回路データ16に基づいて、基本回路21に含まれるレジスタ22の出力端を特定する。ステップS204において、回路変更EDA13は、レジスタ22の出力端の特定に応答して基本回路出力端42を特定しノード36から帰還入力信号線37を介して基本回路出力端42に接続する経路を生成する。また、回路変更EDA13は、特定した基本回路21の構成と基本回路データ16に基づいて、基本回路21に含まれるリセット値入力信号線26を特定する。回路変更EDAは、そのリセット値入力信号線26に対応する基本回路入力端41を生成し、基本回路入力端41に接続されるリセット値入力信号線26を書き換え値供給線35として特定する。
In step S <b> 203, the
ステップS205において、回路変更EDA13は、基本回路入力端41および基本回路出力端42の特定に応答して、回路設計コンピュータ1に備えられたデータ格納領域から書き換え回路31に対応するデータを抽出する。回路変更EDA13は、そのデータに基づいて基本回路データ16に書き換え回路31に対応するRTL記述を追加して修正後回路28を構成する。また、回路変更EDA13は、デバイス製造時に書き換え値が供給される入力ピン(図示されず)に接続される書き換え値入力信号線33を特定する。そして、回路変更EDA13は、そのスイッチ32の第1の入力端と書き換え値入力信号線33とを接続し、第2の入力端と基本回路出力端42とを接続し、さらに、スイッチ32の出力端と基本回路入力端41とを接続した修正後回路28を構成する。回路変更EDA13は、この修正後回路28に対応するRTL記述を修正後回路データ17として出力する。
In step S205, the
上述したように、本実施の形態のFPGAデバイスは、LSIのリセット動作を実行するためのリセット部(23、26とで構成される回路)を備えて基本回路21を構成している。書き換え回路31は、そのリセット部を利用してレジスタ22の書き換えを実行している。書き換え回路31の回路面積は、従来使用されていたレジスタ値書き換え用の専用回路の回路面積よりも小さい面積である。したがって、本願発明の回路を搭載するFPGAデバイスは、従来のFPGAデバイスに比較して、回路面積の増加を抑制することが可能になる。また、FPGAで構成された回路を、セルベースICなどのセミカスタムLSIで構成するときに、そのセミカスタムLSIと回路の等価性を保つことができるFPGAデバイスを構成することが可能になる。
As described above, the FPGA device according to the present embodiment includes the reset unit (circuit configured by 23 and 26) for executing the reset operation of the LSI, and configures the
以下に、本発明の他の実施の形態について説明を行なう。図7は、他の実施の形態の修正後回路28の構成を例示する回路図である。図7を参照すると、他の実施の形態の修正後回路28は、基本回路入力端41とセレクタ23との間に接続される入力バッファ43と、基本回路出力端42とノード36との間に接続される出力バッファ44とを備えている。図7に示されているように、他の実施の形態の修正後回路28は、基本回路入力端41と基本回路出力端42を介して、LSI外部のコンピュータ(例えば回路設計コンピュータ1)に接続可能である。修正後回路28は、基本回路入力端41と基本回路出力端42とを介して回路設計コンピュータ1に接続されることで、論理を追加した専用FFなどを構成することなく、レジスタの書き換えを行なうことが可能になる。
Hereinafter, other embodiments of the present invention will be described. FIG. 7 is a circuit diagram illustrating the configuration of the corrected
1…回路設計コンピュータ
2…入力装置
3…出力装置
4…CPU
5…メモリ
6…大容量記憶装置
7…バス
8…EDAツール群
9…設計データ
10…回路データ記憶領域
11…FPGAプリミティブ
12…デバッガプログラム
13…回路変更EDA
14…論理合成ツール
15…エディタ
16…基本回路データ
17…修正後回路データ
18…回路設計EDA
21…基本回路
22…レジスタ
23…セレクタ
24…リセット値入力信号線
25…入力側回路内部論理信号線
26…リセット入力信号線
27…レジスタ出力信号線
28…修正後回路
31…書き換え回路
32…スイッチ
33…書き換え値入力信号線
34…切り換え信号線
35…書き換え値供給線
36…ノード
37…帰還入力信号線
41…基本回路入力端
42…基本回路出力端
43…入力バッファ
44…出力バッファ
DESCRIPTION OF SYMBOLS 1 ...
DESCRIPTION OF SYMBOLS 5 ...
DESCRIPTION OF
DESCRIPTION OF
Claims (6)
(a)回路設計EDA(Electronic Design Automation)が、前記半導体デバイスの論理設計モデルに基づいて第1RTL(Resister Transfer Level)記述モデルを生成するステップと、
(b)回路変更EDAが、前記第1RTL記述モデルを第2RTL記述モデルに変換するステップと、
(c)論理合成ツールが、前記第2RTL記述モデルをFPGAプリミティブにマッピングするステップ
を具備し、
前記(a)ステップは、
前記半導体デバイスの内部の記憶回路を特定し、前記記憶回路のリセット回路を構成して前記第1RTL記述モデルを生成するステップを含み、
前記(b)ステップは、
前記第1RTL記述モデルに、前記記憶回路の書き換え値を受ける書き換え値入力端と、前記記憶回路が保持する値を受ける記憶値供給端とを生成するステップと、
外部から供給される前記書き換え値を受ける第1端子と、前記記憶値供給端に接続される第2端子と、前記第1端子と前記第2端子との一方を介して供給される値を前記書き換え値入力端に提供するスイッチとを備える書き換え回路モデルを生成するステップと、
前記スイッチの出力端と前記書き換え値入力端とを接続して前記第2RTL記述モデルを生成するステップ
を含み、
前記(c)ステップは、
前記第2RTL記述モデルに基づいて、論理合成を実行してFPGA用ネットリストを生成し、前記FPGA用ネットリストに基づいてマッピングを実行するステップを含む
方法をコンピュータに実行させるためのプログラム。 A program that supports design of a semiconductor device that constitutes a predetermined logic circuit by a user arbitrarily writing logic ,
(A) a circuit design EDA (Electronic Design Automation) generates a first RTL (Resister Transfer Level) description model based on the logic design model of the semiconductor device;
(B) a circuit change EDA converting the first RTL description model into a second RTL description model;
(C) the logic synthesis tool comprises the step of mapping the second RTL description model to an FPGA primitive ;
The step (a) includes:
Identifying a memory circuit inside the semiconductor device, configuring a reset circuit of the memory circuit to generate the first RTL description model,
The step (b)
Generating a rewrite value input terminal for receiving a rewrite value of the storage circuit and a storage value supply terminal for receiving a value held by the storage circuit in the first RTL description model;
A first terminal for receiving the rewritten value supplied from the outside, a second terminal connected to the stored value supply terminal, and a value supplied via one of the first terminal and the second terminal Generating a rewrite circuit model including a switch provided at a rewrite value input terminal;
Connecting the output end of the switch and the rewrite value input end to generate the second RTL description model
Including
The step (c) includes:
Performing a logic synthesis to generate an FPGA netlist based on the second RTL description model, and executing a mapping based on the FPGA netlist . program.
前記リセット回路は、前記記憶回路と前記記憶回路の前段に備えられる論理回路との間に設けられ、第1入力端子と第2入力端子とを有する選択回路を含み、
前記(a)ステップは、
前記第2入力端子と前記論理回路とを接続するステップを含み、
前記(b)ステップは、
前記スイッチの出力端と前記第1入力端子とを接続し、前記第2端子と前記記憶回路の出力端とを接続した信号経路を形成して前記第2RTL記述モデルを生成するステップ
を具備する方法をコンピュータに実行させるためのプログラム。 The program according to claim 1 ,
The reset circuit includes a selection circuit that is provided between the memory circuit and a logic circuit provided in a previous stage of the memory circuit, and includes a first input terminal and a second input terminal.
The step (a) includes:
Connecting the second input terminal and the logic circuit;
The step (b)
A method comprising: generating a second RTL description model by forming a signal path connecting the output terminal of the switch and the first input terminal and connecting the second terminal and the output terminal of the memory circuit. A program that causes a computer to execute.
半導体デバイスの論理設計モデルに基づいて第1RTL記述モデルを生成する回路設計装置と、
前記第1RTL記述モデルを第2RTL記述モデルに変換する回路変更装置と、
前記第2RTL記述モデルをFPGAプリミティブにマッピングする論理合成装置と
を具備し、
前記回路設計装置は、
前記半導体デバイスの内部の記憶回路を特定し、前記記憶回路のリセット回路を構成して前記第1RTL記述モデルを生成し、
前記回路変更装置は、
前記第1RTL記述モデルに基づいて、前記記憶回路の書き換え値を受ける書き換え値入力端と、前記記憶回路が保持する値を受ける記憶値供給端とを有する前記第2RTL記述モデルに変換し、
前記論理合成装置は、
前記第2RTL記述モデルに基づいて、論理合成を実行してFPGA用ネットリストを生成し、前記FPGA用ネットリストに基づいてマッピングを実行し、
前記回路変更装置は、
外部から供給される前記書き換え値を受ける第1端子と、前記記憶値供給端に接続される第2端子と、前記第1端子と前記第2端子との一方を介して供給される値を前記書き換え値入力端に提供するスイッチとを備える書き換え回路モデルを生成し、
前記スイッチの出力端と前記書き換え値入力端とを接続して前記第2RTL記述モデルを生成する
半導体設計支援装置。 A semiconductor design support apparatus that supports design of a semiconductor device that constitutes a predetermined logic circuit by a user arbitrarily writing logic ,
A circuit design apparatus for generating a first RTL description model based on a logic design model of a semiconductor device;
A circuit changing device for converting the first RTL description model into a second RTL description model;
A logic synthesis device for mapping the second RTL description model to an FPGA primitive ;
The circuit design apparatus includes:
Identifying a memory circuit inside the semiconductor device, constructing a reset circuit of the memory circuit, and generating the first RTL description model;
The circuit changing device includes:
Based on the first RTL description model, the second RTL description model having a rewrite value input terminal for receiving a rewrite value of the storage circuit and a stored value supply terminal for receiving a value held by the storage circuit,
The logic synthesis device includes:
Based on the second RTL description model, logic synthesis is performed to generate an FPGA netlist, mapping is performed based on the FPGA netlist,
The circuit changing device includes:
A first terminal for receiving the rewritten value supplied from the outside, a second terminal connected to the stored value supply terminal, and a value supplied via one of the first terminal and the second terminal A rewrite circuit model including a switch provided at a rewrite value input terminal is generated,
A semiconductor design support apparatus for generating the second RTL description model by connecting an output terminal of the switch and the rewrite value input terminal .
前記リセット回路は、前記記憶回路と前記記憶回路の前段に備えられる論理回路との間に設けられ、第1入力端子と第2入力端子とを有する選択回路を含み、
前記回路設計装置は、
前記第2入力端子と前記論理回路とを接続し、
前記回路変更装置は、
前記スイッチの出力端と前記第1入力端子とを接続し、前記第2端子と前記記憶回路の出力端とを接続した信号経路を形成して前記第2RTL記述モデルを生成する
半導体設計支援装置。 In the semiconductor design support device according to claim 3 ,
The reset circuit includes a selection circuit that is provided between the memory circuit and a logic circuit provided in a previous stage of the memory circuit, and includes a first input terminal and a second input terminal.
The circuit design apparatus includes:
Connecting the second input terminal and the logic circuit;
The circuit changing device includes:
A semiconductor design support apparatus for generating the second RTL description model by forming a signal path connecting the output terminal of the switch and the first input terminal and connecting the second terminal and the output terminal of the memory circuit.
(a)回路設計EDAが、半導体デバイスの論理設計モデルに基づいて第1RTL記述モデルを生成するステップと、
(b)回路変更EDAが、前記第1RTL記述モデルを第2RTL記述モデルに変換するステップと、
(c)論理合成ツールが、論理合成を実行して前記第2RTL記述モデルに対応するFPGA用ネットリストを生成するステップと
(d)前記FPGA用ネットリストに基づいて、実際のFPGAデバイスを製造するステップ
を具備し、
前記(a)ステップは、
前記半導体デバイスの内部の記憶回路を特定し、前記記憶回路のリセット回路を構成して前記第1RTL記述モデルを生成するステップを含み、
前記(b)ステップは、
前記記憶回路の書き換え値を受ける書き換え値入力端と、前記記憶回路が保持する値を受ける記憶値供給端とを有する前記第2RTL記述モデルに変換するステップと、
外部から供給される前記書き換え値を受ける第1端子と、前記記憶値供給端に接続される第2端子と、前記第1端子と前記第2端子との一方を介して供給される値を前記書き換え値入力端に提供するスイッチとを備える書き換え回路モデルを生成するステップと、
前記スイッチの出力端と前記書き換え値入力端とを接続して前記第2RTL記述モデルを生成するステップと
を具備する
半導体デバイスの製造方法。 A method of manufacturing a semiconductor device in which a user arbitrarily writes logic to constitute a predetermined logic circuit ,
(A) the circuit design EDA generates a first RTL description model based on the logic design model of the semiconductor device;
(B) a circuit change EDA converting the first RTL description model into a second RTL description model;
(C) a logic synthesis tool performs logic synthesis to generate an FPGA netlist corresponding to the second RTL description model; and (d) manufactures an actual FPGA device based on the FPGA netlist. Comprising steps,
The step (a) includes:
Identifying a memory circuit inside the semiconductor device, configuring a reset circuit of the memory circuit to generate the first RTL description model,
The step (b)
Converting to a second RTL description model having a rewrite value input terminal for receiving a rewrite value of the memory circuit and a memory value supply terminal for receiving a value held by the memory circuit ;
A first terminal for receiving the rewritten value supplied from the outside, a second terminal connected to the stored value supply terminal, and a value supplied via one of the first terminal and the second terminal Generating a rewrite circuit model including a switch provided at a rewrite value input terminal;
Connecting the output end of the switch and the rewrite value input end to generate the second RTL description model . A method of manufacturing a semiconductor device .
前記リセット回路は、前記記憶回路の前段に備えられる論理回路と前記記憶回路との間に設けられ、第1入力端子と第2入力端子とを有する選択回路を含み、
前記(a)ステップは、
前記第2入力端子と前記論理回路とを接続するステップを含み、
前記(b)ステップは、
前記スイッチの出力端と前記第1入力端子とを接続し、前記第2端子と前記記憶回路の出力端とを接続した信号経路を形成して前記第2RTL記述モデルを生成するステップ
を具備する
半導体デバイスの製造方法。 In the manufacturing method of the semiconductor device according to claim 5 ,
The reset circuit includes a selection circuit that is provided between a logic circuit provided in a preceding stage of the memory circuit and the memory circuit and has a first input terminal and a second input terminal,
The step (a) includes:
Connecting the second input terminal and the logic circuit;
The step (b)
Forming a signal path connecting the output terminal of the switch and the first input terminal, and connecting the second terminal and the output terminal of the memory circuit, and generating the second RTL description model. Device manufacturing method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005141133A JP4573328B2 (en) | 2005-05-13 | 2005-05-13 | Semiconductor device, semiconductor design apparatus and semiconductor design method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005141133A JP4573328B2 (en) | 2005-05-13 | 2005-05-13 | Semiconductor device, semiconductor design apparatus and semiconductor design method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006318266A JP2006318266A (en) | 2006-11-24 |
| JP4573328B2 true JP4573328B2 (en) | 2010-11-04 |
Family
ID=37538882
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005141133A Expired - Fee Related JP4573328B2 (en) | 2005-05-13 | 2005-05-13 | Semiconductor device, semiconductor design apparatus and semiconductor design method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4573328B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117077599B (en) * | 2023-09-18 | 2024-04-19 | 苏州异格技术有限公司 | Method and device for generating field programmable gate array view |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06290230A (en) * | 1993-03-31 | 1994-10-18 | Toshiba Corp | Logical simulation device |
-
2005
- 2005-05-13 JP JP2005141133A patent/JP4573328B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2006318266A (en) | 2006-11-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6178541B1 (en) | PLD/ASIC hybrid integrated circuit | |
| JP6081801B2 (en) | Apparatus and associated method for flexible electronic interface | |
| US8001509B2 (en) | Method for programming a mask-programmable logic device and device so programmed | |
| CN103870390B (en) | Method and apparatus for supporting unified debugging enironment | |
| US6968514B2 (en) | Block based design methodology with programmable components | |
| US20040060032A1 (en) | Automated system for designing and developing field programmable gate arrays | |
| US6334207B1 (en) | Method for designing application specific integrated circuits | |
| US7225416B1 (en) | Methods and apparatus for automatic test component generation and inclusion into simulation testbench | |
| US7418681B2 (en) | Simulation system, simulation method and simulation program for verifying logic behavior of a semiconductor integrated circuit | |
| Ho et al. | Architecture and design flow for a highly efficient structured ASIC | |
| US8281269B2 (en) | Method of semiconductor integrated circuit device and program | |
| JP2009518717A (en) | Method and program product for protecting information in EDA tool design view | |
| US7827517B1 (en) | Automated register definition, builder and integration framework | |
| JP4573328B2 (en) | Semiconductor device, semiconductor design apparatus and semiconductor design method | |
| JP4886559B2 (en) | Semiconductor design support apparatus, semiconductor design support method, and semiconductor design support program | |
| JP7427000B2 (en) | Digital circuit testing and analysis module, system and method thereof | |
| US12417330B2 (en) | Method of verifying semiconductor device, method of designing and manufacturing semiconductor device using the same, and system performing the same | |
| JP4979329B2 (en) | Circuit configuration information generation device, control device, circuit verification system, circuit verification method, circuit configuration information generation program, and control program | |
| US11106851B1 (en) | Serialization in electronic design automation flows | |
| US20030126570A1 (en) | Systems and methods for realizing integrated circuits | |
| JPH1063704A (en) | Semiconductor testing device | |
| US20230052788A1 (en) | Software-Defined Synthesizable Testbench | |
| JP4347509B2 (en) | Emulation apparatus and control method thereof | |
| JP4537907B2 (en) | Pin layout verification support system | |
| JP2005156239A (en) | Method for producing test pattern, information processor, integrated circuit testing system, program and recording medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080415 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100219 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100420 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100813 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100813 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130827 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |