JP2006049638A - Semiconductor device and method for designing the same - Google Patents

Semiconductor device and method for designing the same Download PDF

Info

Publication number
JP2006049638A
JP2006049638A JP2004229711A JP2004229711A JP2006049638A JP 2006049638 A JP2006049638 A JP 2006049638A JP 2004229711 A JP2004229711 A JP 2004229711A JP 2004229711 A JP2004229711 A JP 2004229711A JP 2006049638 A JP2006049638 A JP 2006049638A
Authority
JP
Japan
Prior art keywords
circuit
semiconductor device
clock
description data
extracted
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
JP2004229711A
Other languages
Japanese (ja)
Inventor
Makoto Obata
誠 小畑
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2004229711A priority Critical patent/JP2006049638A/en
Publication of JP2006049638A publication Critical patent/JP2006049638A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a semiconductor device and a method for designing the semiconductor device capable of realizing acceleration especially in a system LSI. <P>SOLUTION: A plurality of clock signals are supplied from clock pulse generators 11a, 11b to respective function blocks 10a, 10b; hierarchy in a unit of the function blocks 10a, 10b is developed in the net list of a semiconductor chip which is hierarchically constituted in the unit of the function blocks 10a, 10b; and circuits to which the same clock signal is supplied are extracted and hierarchically constituted to construct a net list including circuit blocks 12a, 12b in each clock domain, and to perform arrangement/wiring in the semiconductor chip in a unit of the circuit blocks 12a, 12b. Consequently, clock latency from the clock pulse generators 11a, 11b is reduced and acceleration can be attained. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、半導体装置の設計方法および半導体装置に関し、特に、システムLSIなどのように複数の機能ブロックおよび周波数が異なる複数のクロック信号を有する半導体装置の設計方法および半導体装置に適用して有効な技術に関するものである。   The present invention relates to a semiconductor device design method and a semiconductor device, and more particularly to a semiconductor device design method and a semiconductor device having a plurality of functional blocks and a plurality of clock signals having different frequencies, such as a system LSI. It is about technology.

本発明者が検討したところによれば、半導体装置のクロック信号の技術に関しては、以下のようなものが考えられる。   According to a study by the present inventor, the following can be considered regarding the clock signal technology of the semiconductor device.

例えば、特許文献1には、複数の異なる周波数が入力されるクロックドメイン間の位相管理を容易かつ高精度に行える半導体集積回路が示されている。この半導体集積回路は、PLL回路の分周クロックの出力によって形成された複数のクロックドメインに対し、位相比較回路やこの位相比較回路の比較結果に応じて設定される可変遅延回路などが適所に付加された構成となっている。これによって、クロックドメイン間の位相管理を、回路シミュレーション等で行わずとも実回路によって行うことが可能になり、位相管理が容易かつ高精度にできるようになる。   For example, Patent Document 1 discloses a semiconductor integrated circuit that can easily and accurately perform phase management between clock domains to which a plurality of different frequencies are input. In this semiconductor integrated circuit, a phase comparison circuit and a variable delay circuit set according to the comparison result of this phase comparison circuit are added in place to multiple clock domains formed by the output of the divided clock of the PLL circuit. It has been configured. As a result, phase management between clock domains can be performed by an actual circuit without performing circuit simulation or the like, and phase management can be easily and highly accurately performed.

また、特許文献2には、クロストークノイズや電源ノイズ等の影響を受けにくく、またインターフェース回路への短いクロック分配配線長によってクロックスキューを抑圧可能とした集積回路装置が示されている。つまり、この集積回路装置は、電源ノイズなどの影響を受け難いチップ最外周部にクロック分配配線およびクロックドライバを配置したり、チップコーナ部にクロック入力バッファおよびPLL回路を配置するというものである。   Patent Document 2 discloses an integrated circuit device that is not easily affected by crosstalk noise, power supply noise, and the like and that can suppress clock skew by a short clock distribution wiring length to the interface circuit. That is, in this integrated circuit device, the clock distribution wiring and the clock driver are arranged on the outermost peripheral portion of the chip which is hardly affected by power supply noise and the like, and the clock input buffer and the PLL circuit are arranged in the chip corner portion.

また、特許文献3には、クロック信号の入力点から分配先までの中継バッファに起因したスキューを緩和させることを可能にする半導体集積回路が示されている。この半導体集積回路は、末端の回路ブロックに供給するクロック信号よりも低い周波数のクロック信号を外部より受ける第2PLL回路と、この第2PLL回路の出力を受けて末端の回路ブロックへクロック信号を供給する第1PLL回路とを備えている。すなわち、外部から低い周波数のクロック信号を半導体集積回路に入力するため、クロック信号の入力点から分配先までの中継バッファの段数が軽減でき、スキューを緩和することが可能になる。   Patent Document 3 discloses a semiconductor integrated circuit that can alleviate a skew caused by a relay buffer from an input point of a clock signal to a distribution destination. The semiconductor integrated circuit receives a clock signal having a lower frequency than the clock signal supplied to the terminal circuit block from the outside, and receives the output of the second PLL circuit to supply the clock signal to the terminal circuit block. And a first PLL circuit. That is, since a low-frequency clock signal is input to the semiconductor integrated circuit from the outside, the number of relay buffer stages from the clock signal input point to the distribution destination can be reduced, and the skew can be reduced.

また、特許文献4には、クロック伝達経路がそれぞれ異なる複数のモジュール間のクロックスキューを抑制することが可能な半導体装置が示されている。この半導体装置は、各モジュール毎にPLL回路を設けることで、クロックスキューを抑制し、高速化を図るというものである。
特開2004−072680号公報 特開2004−015032号公報 特開平11−224137号公報 特開平10−161769号公報
Patent Document 4 discloses a semiconductor device capable of suppressing clock skew between a plurality of modules having different clock transmission paths. In this semiconductor device, a PLL circuit is provided for each module to suppress clock skew and increase the speed.
JP 2004-072680 A JP 2004-015032 A JP 11-224137 A JP-A-10-161769

ところで、前記のような半導体装置のクロック信号の技術について、本発明者が検討した結果、以下のようなことが明らかとなった。   By the way, as a result of examination by the present inventor on the clock signal technology of the semiconductor device as described above, the following has been clarified.

例えば、システムLSIおよびSOC(System On a Chip)などといった半導体装置は、機能の多様化および複雑化に伴い内部に多数の機能ブロックを含んでいる。そして、個々の機能ブロックに着目すると、各機能ブロック毎にそれぞれ動作周波数が異なる場合や、1つの機能ブロック内で複数の動作周波数を用いる場合などが多く存在する。   For example, semiconductor devices such as system LSIs and SOCs (System On a Chip) include a large number of functional blocks inside as functions become diversified and complicated. When attention is paid to individual functional blocks, there are many cases where the operating frequency is different for each functional block, or when a plurality of operating frequencies are used in one functional block.

このようなシステムLSI等を設計する際には、通常、機能ブロックを単位として設計が行われる。すなわち、機能ブロック単位で、各機能ブロックの配置(フロアプラン)や、各機能ブロック内の配線や、各機能ブロック間の接続配線などといった配置配線(レイアウト)が行われる。さらに、レイアウトの階層化設計手法を用いる場合は、通常、下位階層として機能ブロックが規定される。そして、上位階層となる半導体チップ全体のタイミング制約から下位階層となる各機能ブロック毎の詳細タイミング制約を生成した上で、この詳細タイミング制約を満たすように各機能ブロックの配置配線が行われる。   When designing such a system LSI or the like, the design is usually performed in units of functional blocks. That is, arrangement and wiring (layout) such as arrangement of each functional block (floor plan), wiring in each functional block, connection wiring between each functional block, and the like is performed for each functional block. Furthermore, when using a hierarchical layout design method, a functional block is usually defined as a lower hierarchy. Then, after generating detailed timing constraints for each functional block in the lower hierarchy from the timing constraints of the entire semiconductor chip in the upper hierarchy, placement and wiring of each functional block is performed so as to satisfy this detailed timing constraint.

しかしながら、このような機能ブロック単位の設計を用いると、機能ブロックの論理規模やフロアプランなどに依存して、同一クロックドメインで密なデータ転送パスを繋ぐフリップフロップ(以下、F/Fと略す)が、それぞれ遠距離に配置されてしまうような事態が起こり得る。この場合、一般的なレイアウトツールは、同一クロックドメイン内のF/Fに対するクロックスキューをなくすため、遠距離のクロック配線の配線遅延に合せるように、そのクロックドメイン内の他のクロック配線の配線遅延を調整してしまう。つまり、クロックレイテンシが大きくなる。そうすると、プロセスばらつきやノイズ等の影響が大きくなり、高速データ転送が困難となることが懸念される。   However, if such a functional block unit design is used, a flip-flop (hereinafter abbreviated as F / F) that connects dense data transfer paths in the same clock domain, depending on the logical scale of the functional block, floor plan, etc. However, there may be a situation in which they are arranged at a long distance. In this case, in order to eliminate the clock skew with respect to the F / F in the same clock domain, the general layout tool eliminates the clock delay of the other clock wiring in the clock domain so as to match the wiring delay of the long-distance clock wiring. Will adjust. That is, the clock latency increases. If so, there is a concern that the influence of process variations, noise, and the like will increase, making high-speed data transfer difficult.

こうした中、特許文献1〜4で示したように、回路やレイアウトの工夫によってクロック信号の精度等を向上させる各種技術が存在している。ただし、これらは本質的に機能ブロック単位の設計に基づいているため、前述したようなクロックレイテンシが大きくなるという問題を解決することはできない。   Under these circumstances, as shown in Patent Documents 1 to 4, there are various techniques for improving the accuracy of the clock signal by devising the circuit and layout. However, since these are essentially based on the functional block unit design, the problem that the clock latency is increased as described above cannot be solved.

また、システムLSI等においては、多様化する製品仕様に応じて、設計効率の向上などが強く要求されている。ところが、通常の階層化設計手法を用いる場合、1つの機能ブロック内に複数の動作周波数が存在すると、その機能ブロックにおけるタイミング制約が複雑化し、設計効率が低下する可能性が考えられる。   In addition, system LSIs and the like are strongly required to improve design efficiency in accordance with diversifying product specifications. However, when a normal hierarchical design method is used, if a plurality of operating frequencies exist in one functional block, timing constraints in the functional block may be complicated, and the design efficiency may be reduced.

そこで、本発明の目的は、特にシステムLSIなどにおいて、高速化を実現することが可能な半導体装置の設計方法および半導体装置を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide a semiconductor device design method and a semiconductor device capable of realizing high speed, particularly in a system LSI or the like.

また、本発明の他の目的は、特にシステムLSIなどにおいて、設計の効率化を図ることができ、その中でも特にタイミング設計の容易化を実現することが可能な半導体装置の設計方法を提供することにある。   Another object of the present invention is to provide a semiconductor device design method capable of improving design efficiency, particularly in a system LSI, and in particular, facilitating easy timing design. It is in.

本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。   Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows.

本発明による半導体装置の設計方法は、コンピュータを用いて実現されるものとなっている。   The semiconductor device design method according to the present invention is realized by using a computer.

そして、本発明による半導体装置の設計方法は、複数の機能ブロック単位の階層を含む半導体チップの回路記述データに対し、回路記述データを検索し、同一クロック信号に接続される順序回路とこの順序回路に接続される組み合わせ回路とを抽出するステップと、抽出した順序回路と組み合わせ回路を一つの回路ブロックとして階層化し、この階層化された回路ブロックを含む回路記述データを構築するステップと、階層化された回路ブロックを単位として半導体チップ全体の配置配線を行うステップとを有するものである。   The semiconductor device design method according to the present invention searches for circuit description data for circuit description data of a semiconductor chip including a plurality of functional block unit hierarchies, and a sequential circuit connected to the same clock signal and the sequential circuit. Extracting the combinational circuit connected to the layer, layering the extracted sequential circuit and combinational circuit as one circuit block, and constructing circuit description data including the layered circuit block; And arranging and wiring the entire semiconductor chip in units of the circuit blocks.

これによって、半導体チップを、クロックドメイン単位で纏められた回路ブロックを用いて配置配線することができるため、各クロックドメイン内のクロックレイテンシが小さくなり、半導体チップの高速化を実現することが可能になる。また、クロックドメイン単位の回路ブロックを用いることで、配置配線時のタイミング制約が簡素化されるため、タイミング設計が容易になる。   As a result, the semiconductor chip can be arranged and wired using circuit blocks grouped in units of clock domains, so that the clock latency in each clock domain is reduced and the speed of the semiconductor chip can be increased. Become. Further, by using a circuit block in units of clock domains, timing constraints at the time of placement and routing are simplified, so that timing design is facilitated.

また、本発明による半導体装置の設計方法は、前記階層化された回路ブロックを含む回路記述データを検索し、前記階層化された回路ブロック毎にゲーティッドクロックを使用している回路を抽出し、当該回路に属性を付加するステップと、この属性が付加された回路が近接配置となるように、前記階層化された回路ブロック内の配置配線を行うステップとを有するものである。   In addition, the semiconductor device design method according to the present invention retrieves circuit description data including the hierarchical circuit blocks, extracts a circuit using a gated clock for each of the hierarchical circuit blocks, The method includes a step of adding an attribute to the circuit, and a step of performing placement and routing in the hierarchized circuit block so that the circuit to which the attribute is added is closely arranged.

これによって、クロックドメイン単位で纏められた回路ブロックの中で、更にゲーティッドクロックを使用している回路を近接して配置することができるため、ゲーティッドセルの削減や、ゲーティッドクロックのタイミング設計を容易化することが可能になる。   As a result, in the circuit block grouped in clock domain units, circuits using gated clocks can be placed closer to each other, reducing gated cells and designing gated clock timing. Can be facilitated.

また、本発明による半導体装置の設計方法は、前記階層化された回路ブロックを含む回路記述データを検索し、前記階層化された回路ブロック間で、相互に異なるクロック周波数を用いてデータ転送を行なっているデータパスを抽出するステップと、抽出したデータパスに対して、異なるクロック周波数間のデータ転送を確実に行う機能を備えたブリッジ回路を付加するステップと、ブリッジ回路が付加された回路記述データを構築するステップとを有するものである。   In the semiconductor device design method according to the present invention, the circuit description data including the hierarchized circuit blocks is searched, and data transfer is performed between the hierarchized circuit blocks using mutually different clock frequencies. Extracting a data path, adding a bridge circuit having a function of reliably transferring data between different clock frequencies to the extracted data path, and circuit description data to which the bridge circuit is added And a step of constructing.

これによって、いわゆるマルチクロックのデータ転送に伴うタイミング制約を、ネットリスト等を用いた回路設計の段階で緩和することが可能になり、以降のレイアウト設計を容易に行うことが可能になる。   As a result, the timing constraints associated with so-called multi-clock data transfer can be relaxed at the stage of circuit design using a netlist or the like, and subsequent layout design can be easily performed.

また、本発明による半導体装置の設計方法は、半導体チップの回路記述データを予め設定した手順に基づいて自動でカスタマイズし、このカスタマイズされた回路記述データを用いて配置配線を行うものである。   The semiconductor device design method according to the present invention automatically customizes circuit description data of a semiconductor chip based on a preset procedure, and performs placement and routing using the customized circuit description data.

すなわち、多様な設計要求に応じて、様々な観点で回路記述データをカスタマイズすることで、配置配線を容易に行うことが可能になる。   In other words, according to various design requirements, the circuit description data can be customized from various viewpoints, whereby placement and routing can be easily performed.

ここで、前記予め設定した手順は、例えば、回路記述データより同一クロック信号で動作する順序回路およびそれに付随する組み合わせ回路を抽出し、これらの抽出した回路を回路ブロックとして階層化し、この階層化した回路ブロックを含む回路記述データを生成するというものである。   Here, the preset procedure is, for example, extracting a sequential circuit operating with the same clock signal and a combinational circuit accompanying it from circuit description data, and layering these extracted circuits as circuit blocks. The circuit description data including the circuit block is generated.

また、前記予め設定した手順は、回路記述データよりメモリブロックの前段の回路を抽出し、この抽出した回路が所望の数よりも多いメモリブロックに分配されている場合に、それぞれのメモリブロックの前段に抽出した回路を複製し、この複製した回路を含む回路記述データを生成するというものである。これによって、メモリブロックに対する入力タイミングの制約を、ネットリスト等を用いた回路設計の段階で緩和することが可能になり、以降の配置配線といったレイアウト設計を容易に行うことが可能になる。   Further, the preset procedure is such that when the circuit preceding the memory block is extracted from the circuit description data and the extracted circuit is distributed to more memory blocks than desired, the previous stage of each memory block is extracted. The extracted circuit is duplicated, and circuit description data including the duplicated circuit is generated. As a result, the input timing constraint on the memory block can be relaxed at the stage of circuit design using a netlist or the like, and layout design such as subsequent placement and routing can be easily performed.

また、前記予め設定した手順は、回路記述データよりテストモードのイネーブル信号を抽出し、抽出したイネーブル信号が所望の数よりも多く分配している場合に、イネーブル信号に対してパイプライン回路によるステージ分割を付加し、このパイプライン回路を含む回路記述データを生成するというものである。これによって、テストモードのイネーブル信号に対するタイミング制約を、ネットリスト等を用いた回路設計の段階で緩和することが可能になり、以降のレイアウト設計を容易に行うことが可能になる。   Further, the preset procedure is such that a test mode enable signal is extracted from circuit description data, and when the extracted enable signals are distributed more than a desired number, a stage by a pipeline circuit is performed with respect to the enable signal. The division is added and circuit description data including the pipeline circuit is generated. As a result, the timing constraint on the test mode enable signal can be relaxed at the stage of circuit design using a netlist or the like, and subsequent layout design can be easily performed.

本発明による半導体装置は、互いに集まって配置された回路からなる回路ブロックを複数含み、複数の回路ブロック毎に、異なるクロック信号が供給され、複数の回路ブロックのそれぞれは、同一のクロック信号で動作する回路によって構成されるものである。そして、このような構成は、特にシステムLSIにおいて有益なものとなる。   The semiconductor device according to the present invention includes a plurality of circuit blocks composed of circuits arranged together, and a different clock signal is supplied to each of the plurality of circuit blocks, and each of the plurality of circuit blocks operates with the same clock signal. It is comprised by the circuit which performs. Such a configuration is particularly useful in a system LSI.

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。   Among the inventions disclosed in the present application, effects obtained by typical ones will be briefly described as follows.

半導体チップ内を、クロックドメイン単位で纏められた回路ブロックを用いて配置配線することで、各クロックドメイン内のクロックレイテンシが小さくなり、半導体チップの高速化を実現することが可能になる。また、クロックドメイン単位の回路ブロックを用いることで、タイミング制約が簡素化され、タイミング設計の容易化を実現できる。   By arranging and wiring the inside of the semiconductor chip using circuit blocks collected in units of clock domains, the clock latency in each clock domain is reduced, and the speed of the semiconductor chip can be increased. In addition, by using a circuit block in units of clock domains, timing constraints are simplified and timing design can be facilitated.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。また、本実施の形態の説明においては、本発明の特徴を判り易くするため、主に、従来技術と本発明を対比しながら説明を行う。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted. Further, in the description of the present embodiment, in order to make the characteristics of the present invention easy to understand, the description will be made mainly by comparing the prior art with the present invention.

図1は、本発明の一実施の形態による半導体装置において、その論理レベルの構成概念の一例を従来技術と対比して説明するための図であり、(a)は、従来技術による構成概念図、(b)は、本発明による構成概念図である。   FIG. 1 is a diagram for explaining an example of a logical level configuration concept in a semiconductor device according to an embodiment of the present invention in comparison with the prior art. FIG. 1A is a configuration conceptual diagram according to the prior art. (B) is a conceptual diagram of the configuration according to the present invention.

まず、従来技術においては、機能ブロックを単位として半導体チップが構成される。したがって、半導体チップは、図1(a)に示すように、例えば2つの機能ブロックA(10a),B(10b)を有し、この2つの機能ブロックA(10a),B(10b)のそれぞれに、クロックパルス発生器A(11a)とクロックパルス発生器B(11b)からクロック信号が供給されるような構成となる。そして、各機能ブロック内においては、例えばクロックパルス発生器A(11a)が供給されるF/F(13a)からクロックパルス発生器B(11b)が供給されるF/F(13b)に向けたデータ転送などが行われる。   First, in the prior art, a semiconductor chip is configured in units of functional blocks. Therefore, as shown in FIG. 1A, the semiconductor chip has, for example, two functional blocks A (10a) and B (10b), and each of the two functional blocks A (10a) and B (10b). The clock signal is supplied from the clock pulse generator A (11a) and the clock pulse generator B (11b). In each functional block, for example, the F / F (13a) supplied with the clock pulse generator A (11a) is directed to the F / F (13b) supplied with the clock pulse generator B (11b). Data transfer is performed.

一方、本発明においては、同一クロック信号で動作する回路によって回路ブロックを形成し、この回路ブロックを単位として半導体チップが構成される。すなわち、各回路ブロックは、クロックドメイン単位となる。したがって、半導体チップは、図1(b)に示すように、クロックパルス発生器A(11a)によって動作する回路ブロック12aと、クロックパルス発生器B(11b)によって動作する回路ブロック12bとを備えた構成となる。これによって、前述した機能ブロックA(10a),B(10b)内の回路は、動作するクロック信号に基づいて分離されることになる。そして、各回路ブロック12a,12b内では、クロックパルス発生器A(11a),B(11b)を起点にそれぞれクロックツリー14a,14bが形成される。   On the other hand, in the present invention, a circuit block is formed by circuits that operate with the same clock signal, and a semiconductor chip is configured with this circuit block as a unit. That is, each circuit block is a clock domain unit. Therefore, as shown in FIG. 1B, the semiconductor chip includes a circuit block 12a operated by the clock pulse generator A (11a) and a circuit block 12b operated by the clock pulse generator B (11b). It becomes composition. As a result, the circuits in the functional blocks A (10a) and B (10b) described above are separated based on the operating clock signal. In each of the circuit blocks 12a and 12b, clock trees 14a and 14b are formed starting from the clock pulse generators A (11a) and B (11b), respectively.

このようなクロックドメイン単位の回路ブロックに基づいて配置配線が行われると、例えば図2に示すようなチップレイアウトとなる。図2は、本発明の一実施の形態による半導体装置において、そのチップレイアウトの概要を従来技術と対比して説明するための図であり、(a)は、従来技術による配置配線例、(b)は、本発明による配置配線例である。   When placement and routing is performed based on such a clock domain unit circuit block, for example, a chip layout as shown in FIG. 2 is obtained. FIG. 2 is a diagram for explaining the outline of the chip layout of the semiconductor device according to the embodiment of the present invention in comparison with the prior art. FIG. 2A is a layout wiring example according to the prior art. ) Is an example of placement and routing according to the present invention.

まず、従来技術においては、図2(a)に示すように、機能ブロック単位で配置配線が行われるため、クロックレイテンシが大きくなる事態が起こり得る。つまり、仮に半導体チップが、図2(a)のように、3つの機能ブロックA(20a),B(20b),C(20c)を含むものとする。そして、機能ブロックA(20a)が、クロックαで動作する回路21aとクロックβで動作する回路22aとクロックγで動作する回路23aを備え、機能ブロックB(20b)が、クロックαで動作する回路21bとクロックβで動作する回路22bとクロックγで動作する回路23bを備え、機能ブロックC(20c)が、クロックαで動作する回路21cとクロックβで動作する回路22cを備えているものとする。   First, in the prior art, as shown in FIG. 2A, placement and routing are performed in units of functional blocks, so that a situation where the clock latency increases may occur. That is, it is assumed that the semiconductor chip includes three functional blocks A (20a), B (20b), and C (20c) as shown in FIG. The functional block A (20a) includes a circuit 21a operating with the clock α, a circuit 22a operating with the clock β, and a circuit 23a operating with the clock γ, and the functional block B (20b) operates with the clock α. 21b and a circuit 22b that operates with the clock β and a circuit 23b that operates with the clock γ, and the functional block C (20c) includes a circuit 21c that operates with the clock α and a circuit 22c that operates with the clock β. .

そうすると、例えばクロックαで動作する回路21a〜21cは、3つの機能ブロックA(20a),B(20b),C(20c)にまたがって存在するため、クロックαの配線経路に、図2(a)に示す円の半径分の配線遅延およびクロックバッファ24による遅延が生じ、クロックレイテンシが大きくなってしまう。   Then, for example, since the circuits 21a to 21c that operate with the clock α exist across the three functional blocks A (20a), B (20b), and C (20c), the circuit of FIG. The wiring delay corresponding to the radius of the circle shown in FIG. 5) and the delay due to the clock buffer 24 occur, and the clock latency increases.

一方、本発明においては、図2(b)に示すように、クロックドメイン単位の回路ブロックで配置配線が行われる。そうすると、前述した機能ブロックA(20a)〜C(20c)に含まれるクロックαで動作する回路21a〜21cとクロックβで動作する回路22a〜22cとクロックγで動作する回路23a,23bが、それぞれ纏まって配置され、3つのクロックドメイン単位の回路ブロック25a,25b,25cを形成することになる。これによって、例えばクロックαのクロックレイテンシは、回路ブロック25aの距離内に収まることになり、図2(b)に示す円の半径の大きさから判るようにクロックレイテンシの低減が可能になる。   On the other hand, in the present invention, as shown in FIG. 2B, the placement and routing is performed in a circuit block in units of clock domains. Then, the circuits 21a to 21c that operate with the clock α, the circuits 22a to 22c that operate with the clock β, and the circuits 23a and 23b that operate with the clock γ included in the functional blocks A (20a) to C (20c) described above, respectively. The circuit blocks 25a, 25b, and 25c in units of three clock domains are arranged together. As a result, for example, the clock latency of the clock α falls within the distance of the circuit block 25a, and the clock latency can be reduced as can be seen from the size of the radius of the circle shown in FIG.

また、特に階層化設計手法を用いるような場合、通常は図2(a)に示すような機能ブロック単位の階層化が行われるため、動作するクロックの数と共に機能ブロックに対するタイミング制約が複雑化する。そこで、図2(b)ようにクロックドメイン単位でブロック化(階層化)を行うことで、各回路ブロックに対するタイミング制約を簡素化することができる。さらに、各回路ブロック間のデータ転送は、比較的密な転送でないことが多いため、この部分のタイミング制約はさほど問題にならないと考えられる。これらによって、タイミング設計が容易化され、設計効率の向上および設計期間の短縮が可能となる。   In particular, when a hierarchical design method is used, the functional blocks are usually hierarchized as shown in FIG. 2A, so that the timing constraints on the functional blocks become complicated with the number of operating clocks. . Therefore, by performing blocking (hierarchization) in units of clock domains as shown in FIG. 2B, it is possible to simplify the timing constraints for each circuit block. Furthermore, since the data transfer between the circuit blocks is often not a relatively dense transfer, it is considered that the timing constraint in this part is not a problem. As a result, the timing design is facilitated, the design efficiency can be improved, and the design period can be shortened.

ところで、このようなクロックドメイン単位の配置配線は、例えば図15に示すような設計装置を用い、ネットリスト等に対して以下に説明するような編集および再構築等(カスタマイズ)を行うことで形成される。図15は、本発明の一実施の形態による半導体装置の設計方法において、それに使用する設計装置の構成例であり、(a)は、コンピュータを含む全体の構成例、(b)はコンピュータ内部の構成例である。   By the way, such a layout and wiring in units of clock domains is formed by performing editing, restructuring, etc. (customization) as described below on a net list or the like using, for example, a design apparatus as shown in FIG. Is done. FIG. 15 shows a configuration example of a design apparatus used in the semiconductor device design method according to the embodiment of the present invention. (A) is an example of the entire configuration including a computer, and (b) is an internal configuration of the computer. It is a structural example.

なお、この説明に際しては、システムLSIの設計を例に、図3〜図6を参照しながら説明を行う。図3は、本発明の一実施の形態による半導体装置の設計方法において、その手順の一例を説明するための図であり、(a)は、カスタマイズ前のシステムLSIにおける論理レベルの構成概念図、(b)は、そのレイアウトレベルの構成概念図である。図4は、図3に対してフラット化処理を行った後の論理レベルの構成概念図である。図5は、図4に対して同一クロック信号の回路に対する抽出処理を行った後の論理レベルの構成概念図である。図6は、図5に対して階層化処理およびフロアプランを行い、カスタマイズが完了した状態を示すものであり、(a)は、カスタマイズ後のシステムLSIにおける論理レベルの構成概念図、(b)は、そのレイアウトレベルの構成概念図である。   In this description, the system LSI design is taken as an example, with reference to FIGS. FIG. 3 is a diagram for explaining an example of the procedure in the method for designing a semiconductor device according to one embodiment of the present invention. FIG. 3A is a conceptual diagram of a logic level configuration in a system LSI before customization. (B) is a conceptual diagram of the layout level. FIG. 4 is a conceptual diagram of a logical level configuration after the flattening process is performed on FIG. FIG. 5 is a conceptual diagram of a logic level configuration after performing extraction processing on the circuit of the same clock signal with respect to FIG. FIG. 6 shows a state where customization is completed after performing the hierarchization process and the floor plan for FIG. 5, (a) is a conceptual diagram of the logic level configuration in the system LSI after customization, (b) FIG. 4 is a structural conceptual diagram of the layout level.

図15(a)に示す設計装置は、例えば、CPU(Central Processing Unit)150a、RAM(Random Access Memory)150bおよびHDD(Hard Disk Drive)150c等を含むコンピュータ150と、コンピュータに命令を入力するキーボード152と、コンピュータ150による処理結果を表示するディスプレイ153などを含み、これらが互いに通信ケーブル151で接続されている。   15A includes, for example, a computer 150 including a CPU (Central Processing Unit) 150a, a RAM (Random Access Memory) 150b, an HDD (Hard Disk Drive) 150c, and the like, and a keyboard for inputting instructions to the computer. 152 and a display 153 for displaying a processing result by the computer 150, and these are connected to each other by a communication cable 151.

コンピュータ150は、例えば、図15(b)に示すように、回路記述データ(1)の格納部154と、回路記述データ(1)に対してカスタマイズを行うカスタマイズ処理部155と、カスタマイズ後の回路記述データ(2)が格納される格納部156と、回路記述データ(2)を用いて配置配線を行う配置配線処理部157などから構成される。この内、格納部154,156は、主にHDD150cによって実現され、カスタマイズ処理部155および配置配線処理部157は、プログラムに基づくCPU150aやRAM150bなどの処理によって実現される。   For example, as shown in FIG. 15B, the computer 150 includes a storage unit 154 for circuit description data (1), a customization processing unit 155 for customizing the circuit description data (1), and a circuit after customization. The storage unit 156 stores the description data (2), and the placement and routing processing unit 157 that performs the placement and routing using the circuit description data (2). Among these, the storage units 154 and 156 are mainly realized by the HDD 150c, and the customization processing unit 155 and the placement and routing processing unit 157 are realized by processing such as the CPU 150a and the RAM 150b based on a program.

カスタマイズ処理部155は、回路記述データ(1)に対して回路の展開を行う回路展開処理部155aと、キーボード152等からの抽出条件を受け、展開した回路の中からこの抽出条件に該当する回路を抽出し、この抽出した回路に属性を付加する回路抽出/属性付加部155bと、この付加した属性に基づいて階層化を行い、この階層化に伴う回路ブロックを含んだ回路記述データ(2)を生成する回路ブロック生成部155cなどを含んでいる。   The customization processing unit 155 receives an extraction condition from the circuit expansion processing unit 155a that expands the circuit with respect to the circuit description data (1) and the keyboard 152, and the circuit corresponding to the extraction condition from the expanded circuit. And a circuit extraction / attribute addition unit 155b for adding an attribute to the extracted circuit, and layering based on the added attribute, and circuit description data (2) including a circuit block accompanying the layering Includes a circuit block generation unit 155c for generating.

そして、このような設計装置を用いて、例えば下記(1)〜(5)に示すような設計手順によって、クロックドメイン単位の配置配線を実現する。   Then, using such a design apparatus, for example, placement and routing in units of clock domains is realized by a design procedure as shown in (1) to (5) below.

(1)格納部154に記憶され、複数の機能ブロックによって階層化された半導体チップのネットリストに対し、回路展開処理部155aが、この機能ブロックの階層を展開し、半導体チップ全体のフラットなネットリストを生成する。ここで、ネットリストとは、いわば回路図のテキスト記述であり、回路素子(セル)やそのセル間の接続状況などが記された回路記述データである。   (1) With respect to a semiconductor chip net list stored in the storage unit 154 and hierarchized by a plurality of functional blocks, the circuit development processing unit 155a expands the functional block hierarchy and generates a flat net for the entire semiconductor chip. Generate a list. Here, the net list is a so-called text description of a circuit diagram, and is circuit description data in which circuit elements (cells) and connection states between the cells are described.

すなわち、図3(a)のように半導体チップが複数の機能ブロック30a〜30cを含むと、その半導体チップを記述したネットリストも、機能ブロック30a〜30c単位で階層化された構造となる。そこで、この階層を展開し、図4のようにブロック(階層)がないフラットな論理構成のネットリストを生成する。   That is, as shown in FIG. 3A, when a semiconductor chip includes a plurality of functional blocks 30a to 30c, a net list describing the semiconductor chip also has a hierarchical structure in units of functional blocks 30a to 30c. Therefore, this hierarchy is expanded to generate a net list having a flat logical configuration without blocks (hierarchies) as shown in FIG.

なお、図3(a)に示す半導体チップは、機能ブロック30a〜30cのそれぞれに対して、複数のクロックパルス発生器34a〜34cから複数のクロック信号が供給されている。そして、図3(a),(b)に示すように、機能ブロック30a内には、複数のクロック信号のそれぞれに対応した回路31a,32a,33aが含まれ、同様に、機能ブロック30b内には、回路31b,32b,33bが含まれ、機能ブロック30c内には、回路31c,32cが含まれている。   In the semiconductor chip shown in FIG. 3A, a plurality of clock signals are supplied from a plurality of clock pulse generators 34a to 34c to each of the functional blocks 30a to 30c. As shown in FIGS. 3A and 3B, the functional block 30a includes circuits 31a, 32a, and 33a corresponding to a plurality of clock signals. Similarly, the functional block 30b includes the circuits 31a, 32a, and 33a. Includes circuits 31b, 32b, and 33b, and the functional block 30c includes circuits 31c and 32c.

(2)回路抽出/属性付加部155bに対して、抽出条件として同一クロックドメインを指定すると、回路抽出/属性付加部155bが、半導体チップ全体のフラットなネットリストを検索し、クロックドメイン単位にF/Fを抽出する。この際に、クロックのドメインの起点は、キーボード152等による指定・指示によって与えるか、またはF/Fのクロックをトレースした収束点とする。そして、クロックのドメインの起点からトレースしていき、F/Fを抽出し、抽出したF/Fに対して属性を付加する。   (2) When the same clock domain is designated as the extraction condition for the circuit extraction / attribute addition unit 155b, the circuit extraction / attribute addition unit 155b searches the flat netlist of the entire semiconductor chip and performs F for each clock domain. / F is extracted. At this time, the starting point of the clock domain is given by designation / instruction using the keyboard 152 or the like, or is a convergence point obtained by tracing the F / F clock. Then, tracing is performed from the starting point of the clock domain, F / F is extracted, and an attribute is added to the extracted F / F.

すなわち、図4に示すような論理構成に対して、同一クロック信号に接続されるF/Fを抽出し、図5に示す論理構成ように、クロック信号とF/Fの接続関係を整理する。図4においては、例えば、3つの回路32a〜32c内のF/Fをクロックパルス発生器34aで動作する回路として抽出および属性付加し、図5に示すように、クロックパルス発生器34aの下に3つの回路32a〜32c内のF/Fが整理された論理構成にする。   In other words, F / Fs connected to the same clock signal are extracted from the logical configuration as shown in FIG. 4, and the connection relationship between the clock signal and the F / F is arranged as in the logical configuration shown in FIG. In FIG. 4, for example, the F / Fs in the three circuits 32a to 32c are extracted and attributed as circuits operating on the clock pulse generator 34a, and as shown in FIG. 5, below the clock pulse generator 34a. The F / Fs in the three circuits 32a to 32c are arranged in a logical configuration.

(3)回路抽出/属性付加部155bが、半導体チップ全体のフラットなネットリストを検索し、前記抽出したF/F間の組み合わせ論理を抽出する。そして、この抽出した組み合わせ論理に対して属性を付加する。すなわち、図5において、例えば回路32a〜32cにおける各F/F間に接続された組み合わせ回路(図5では記載省略)を、クロックパルス発生器34aで動作する回路として抽出し、このクロックパルス発生器34aでの動作を意味する属性を付加する。つまり、クロックドメインが異なれば属性も異なる。   (3) The circuit extraction / attribute addition unit 155b searches the flat netlist of the entire semiconductor chip and extracts the combination logic between the extracted F / Fs. Then, an attribute is added to the extracted combination logic. That is, in FIG. 5, for example, a combinational circuit (not shown in FIG. 5) connected between the F / Fs in the circuits 32a to 32c is extracted as a circuit that operates in the clock pulse generator 34a. An attribute indicating the operation at 34a is added. In other words, the attributes are different for different clock domains.

(4)回路ブロック生成部155cが、付加された属性毎にネットリストの階層化を行い、回路ブロックを構築する。そして、この階層化されたネットリストを格納部156に記憶する。すなわち、図6(a)に示すように、クロックパルス発生器34a,34b,34c毎に分類された3つの回路32a〜32c,31a〜31c,33a〜33bをそれぞれ階層化し、3つの回路ブロック60a,60b,60cを構築する。つまり、クロックドメイン単位の回路ブロックを構築する。なお、このブロック間に組み合わせ論理が存在するような場合は、この組み合わせ論理をソース側(F/Fの出力側)の回路ブロックに含ませる。   (4) The circuit block generation unit 155c stratifies the netlist for each added attribute to construct a circuit block. Then, the hierarchical netlist is stored in the storage unit 156. That is, as shown in FIG. 6A, the three circuits 32a to 32c, 31a to 31c, and 33a to 33b classified for each of the clock pulse generators 34a, 34b, and 34c are hierarchized, and three circuit blocks 60a. , 60b, 60c. That is, a circuit block for each clock domain is constructed. When combinational logic exists between the blocks, the combinational logic is included in the circuit block on the source side (F / F output side).

(5)配置配線処理部157が、クロックドメイン単位で階層化されたネットリストに基づいて、配置配線(フロアプランおよびレイアウト)を行う。これによって、図6(b)に示すように、半導体チップ内に、クロックドメイン単位の回路ブロック60a〜60cが形成され、各回路ブロック60a〜60c内では同一クロック信号で動作する回路が近接配置された状態となる。   (5) The placement and routing processing unit 157 performs placement and routing (floor plan and layout) based on the net list hierarchized in units of clock domains. As a result, as shown in FIG. 6B, circuit blocks 60a to 60c in units of clock domains are formed in the semiconductor chip, and circuits that operate with the same clock signal are arranged close to each other in each of the circuit blocks 60a to 60c. It becomes a state.

なお、ここでは、ネットリストを元にして同一クロックドメインのF/F等を抽出したが、ネットリストに限らず、レジスタ転送レベルの回路記述となるRTL記述やもしくはネットリストに類する論理合成後の中間レベルの記述といったような回路記述データから抽出することも可能である。   In this example, the F / F of the same clock domain is extracted based on the net list. However, not only the net list but also the RTL description that is a circuit description at the register transfer level or after logic synthesis similar to the net list. It is also possible to extract from circuit description data such as an intermediate level description.

また、図4で述べた機能ブロック単位の階層を展開する処理は、必ずしも最初に行う必要性はなく、また場合によっては行わなくてもよい場合もある。つまり、例えば、各回路毎に、機能ブロックの属性と、クロックドメインの属性とを備えさせ、この状態でクロックドメインが同一属性の回路を抽出し、階層化すればよい。   Further, the process of developing the functional block unit hierarchy described in FIG. 4 is not necessarily performed first, and may not be performed in some cases. That is, for example, each circuit may be provided with a function block attribute and a clock domain attribute, and in this state, circuits having the same clock domain attribute may be extracted and layered.

以上のようにして形成された半導体チップにおいては、図2等で述べたようにクロックレイテンシの低減などが可能になるが、このクロックレイテンシの低減により更に図7に示すような効果を得ることができる。図7は、本発明の一実施の形態による半導体装置において、その効果の一例を従来技術と対比して説明するための図であり、(a)は、従来技術による動作、(b)は、本発明による動作を示すものである。ここでは、図7(a),(b)に示すように、2つのF/F(71a,71b)に対してクロックパルス発生器70からクロックツリーを介して同一クロックを供給し、この2つのF/F(71a,71b)間でデータ転送を行う場合を想定する。   In the semiconductor chip formed as described above, the clock latency can be reduced as described with reference to FIG. 2 and the like, but the effect shown in FIG. 7 can be further obtained by the reduction of the clock latency. it can. FIG. 7 is a diagram for explaining an example of the effect of the semiconductor device according to the embodiment of the present invention in comparison with the prior art. FIG. 7A is an operation according to the prior art, and FIG. The operation according to the present invention is shown. Here, as shown in FIGS. 7A and 7B, the same clock is supplied from the clock pulse generator 70 to the two F / Fs (71a and 71b) via the clock tree. Assume that data is transferred between F / Fs (71a, 71b).

まず、従来技術においては、図7(a)に示すように、複数の分岐配線およびクロックバッファからなるクロックツリー72のレイテンシが大きいため、プロセスばらつき等による2つのF/F(71a,71b)間のクロックスキューを考慮し、比較的大きいセットアップマージン74が必要となる。そうすると、クロックサイクル時間は、2つのF/F(71a,71b)間のデータ転送時間にこのセットアップマージン74を加えた分を最低でも確保する必要がある。   First, in the prior art, as shown in FIG. 7A, since the latency of the clock tree 72 composed of a plurality of branch wirings and clock buffers is large, the two F / Fs (71a, 71b) between the two due to process variations or the like In view of the clock skew, a relatively large setup margin 74 is required. In this case, it is necessary to secure at least the clock cycle time by adding the setup margin 74 to the data transfer time between the two F / Fs (71a, 71b).

一方、本発明においては、図7(b)に示すように、クロックツリー73のレイテンシが小さいため、プロセスばらつき等の影響が少なくなり、比較的小さいセットアップマージン75を確保すればよい。したがって、図7(b)に示すように、従来技術と比べてF/F(71a,71b)間のデータ転送時間にマージンを持たせることが可能になる。つまり、タイミング設計を容易化することが可能になる。また、従来技術と同じデータ転送時間に基づくならば、セットアップマージンを減らした分だけクロックサイクル時間を縮めることができる。これによって、高速化を図ることが可能になる。   On the other hand, in the present invention, as shown in FIG. 7B, since the latency of the clock tree 73 is small, the influence of process variation or the like is reduced, and a relatively small setup margin 75 may be ensured. Therefore, as shown in FIG. 7B, it is possible to provide a margin for the data transfer time between the F / Fs (71a, 71b) as compared with the prior art. That is, the timing design can be facilitated. Also, based on the same data transfer time as in the prior art, the clock cycle time can be shortened by the amount that the setup margin is reduced. This makes it possible to increase the speed.

ところで、上記においては、ネットリスト等からクロックドメイン単位にF/F等を抽出し、これに属性を付加してブロック化していくというカスタマイズ方法を述べた。このように、ネットリスト等に対してカスタマイズを行う設計手法を用いることで、各種設計の効率化を図ることが可能になる。これらの一例を、図8〜図14を用いて説明する。   By the way, in the above, the customization method of extracting F / F etc. for every clock domain from a net list etc., adding an attribute to this, and making it a block was described. As described above, it is possible to improve the efficiency of various designs by using a design method for customizing a netlist or the like. An example of these will be described with reference to FIGS.

図8は、本発明の一実施の形態による半導体装置の設計方法において、ゲーティッドクロックが含まれる場合の処理の一例を説明するための図であり、(a)は、ゲーティッドクロックの抽出を行わないの場合の説明図、(b)は、ゲーティッドクロックの抽出を行う場合の説明図である。   FIG. 8 is a diagram for explaining an example of processing when a gated clock is included in the method for designing a semiconductor device according to one embodiment of the present invention. FIG. FIG. 7B is an explanatory diagram when the gated clock is extracted. FIG.

ここでは、例えば、図8(a)に示すように、クロックパルス発生器80より同一クロックが供給される4つの機能ブロックA(81a),B(81b),C(81c),D(81d)の中から、2つの機能ブロックC(81c),D(81d)の回路82c,82dに対してゲーティッドクロックを適用する場合を想定する。まず、機能ブロック単位の設計に基づいてゲーティッドクロックの抽出を行わない場合は、機能ブロックC(81c),D(81d)間にレイアウト上の距離が生じるため、図8(a)のように、各回路82c,82dに対してそれぞれゲーティッドセル83,84が挿入される。   Here, for example, as shown in FIG. 8A, four functional blocks A (81a), B (81b), C (81c), and D (81d) supplied with the same clock from the clock pulse generator 80 are used. Suppose that a gated clock is applied to the circuits 82c and 82d of the two functional blocks C (81c) and D (81d). First, when the gated clock is not extracted based on the design of the functional block unit, a layout distance is generated between the functional blocks C (81c) and D (81d), as shown in FIG. Gated cells 83 and 84 are inserted into the circuits 82c and 82d, respectively.

一方、クロックドメイン単位のブロック化(階層化)に加え、更にゲーティッドクロックを使用している回路の抽出および属性付加を行った場合は、ネットリスト上で、この属性に基づいて階層化した回路ブロック等を更に構築することが可能になる。そうすると、図8(b)に示すように、クロックドメイン単位の回路ブロック86の中で、更にゲーティッドクロックを用いない回路82a,82bの回路ブロック87aとゲーティッドクロックを用いる回路82c,82dの回路ブロック87bとを、それぞれ分類して配置することができる。   On the other hand, in addition to blocking (hierarchization) in units of clock domains, if a circuit that uses a gated clock is further extracted and an attribute is added, a circuit that is hierarchized based on this attribute on the netlist It becomes possible to further construct blocks and the like. Then, as shown in FIG. 8B, among the circuit blocks 86 in units of clock domains, the circuit blocks 87a of the circuits 82a and 82b that do not use the gated clock and the circuits 82c and 82d that use the gated clock. The blocks 87b can be classified and arranged.

すなわち、前述した図8(a)の機能ブロックC(81c),D(81d)の回路82c,82dを近接して配置することが可能になる。これによって、例えば1つのゲーティッドセル85を用いて、前述した回路82c,82dをドライブすることなどが可能になり、ゲーティッドセルの削減やゲーティッドクロックのタイミング設計の容易化を実現できる。なお、ここでは、ゲーティッドクロックを使用している回路をネットリスト上で階層化することで近接配置を可能にしたが、配置配線ツール(図15(b)の配置配線処理部157)に対して、属性に基づく配置変更等が行える機能を設ければ階層化を行わずとも同様なことが実現できる。   That is, the circuits 82c and 82d of the functional blocks C (81c) and D (81d) in FIG. Thus, for example, the above-described circuits 82c and 82d can be driven using one gated cell 85, and gated cell reduction and gated clock timing design can be facilitated. In this example, the circuit using the gated clock is hierarchized by hierarchizing on the netlist, but the placement and routing tool (placement and routing processing unit 157 in FIG. 15B) is arranged. Thus, if a function capable of changing the arrangement based on the attribute is provided, the same can be realized without hierarchization.

図9は、本発明の一実施の形態による半導体装置の設計方法において、クロック比ドメイン間の抽出処理を行う場合の一例を説明するための図であり、(a)は、抽出処理後のクロック比ドメイン間の構成概略図、(b)は、(a)の動作説明図である。また、図10は、本発明の前提として検討した従来技術による半導体装置の設計方法において、クロック比ドメイン間の抽出処理を行わない場合の一例を説明するための図であり、(a)は、クロック比ドメイン間の構成概略図、(b)は、(a)の動作説明図である。   FIG. 9 is a diagram for explaining an example in which extraction processing between clock ratio domains is performed in the method for designing a semiconductor device according to one embodiment of the present invention. FIG. FIG. 4B is a schematic diagram of the configuration between ratio domains, and FIG. FIG. 10 is a diagram for explaining an example in which extraction processing between clock ratio domains is not performed in the conventional semiconductor device design method studied as a premise of the present invention. A schematic diagram of the configuration between clock ratio domains, (b) is an operation explanatory diagram of (a).

まず、クロック比ドメイン間の抽出処理を行わない場合、図10(a)に示すように、クロックAで動作する回路ブロックA(100a)とクロックBで動作する回路ブロックB(100b)が直接接続される。ここで、クロックBは、クロックAの1/2の周波数とする。そうすると、回路ブロックA(100a)から回路ブロックB(100b)へのデータ転送は、図10(b)に示すように理想的には「id1」となるが、実際上は、クロックレイテンシのばらつき等によりクロックスキュー「Δcw」が発生する。これによって、ホールドの規定「min_hold1」とセットアップの規定「max_setup1」が生じ、実際上のデータ転送時間の設計可能幅は「Δdw1」となる。   First, when extraction processing between clock ratio domains is not performed, a circuit block A (100a) operating with clock A and a circuit block B (100b) operating with clock B are directly connected as shown in FIG. Is done. Here, the clock B has a frequency half that of the clock A. Then, the data transfer from the circuit block A (100a) to the circuit block B (100b) is ideally “id1” as shown in FIG. 10B, but in practice, variation in clock latency, etc. As a result, a clock skew “Δcw” occurs. As a result, the hold specification “min_hold1” and the setup specification “max_setup1” are generated, and the actual designable width of the data transfer time is “Δdw1”.

また、回路ブロックB(100b)から回路ブロックA(100a)へのデータ転送は、図10(b)に示すように、理想的には「id2」となるが、実際上は、クロックスキュー「Δcw」によって、ホールドの規定「min_hold2」とセットアップの規定「max_setup2」が生じる。しかしながら、この場合は、ホールドの規定「min_hold2」とセットアップの規定「max_setup2」を両方満たすデータ転送時間が存在せず設計が不可能となる。   Further, the data transfer from the circuit block B (100b) to the circuit block A (100a) is ideally “id2” as shown in FIG. 10B, but in practice, the clock skew “Δcw” ”Causes a hold definition“ min_hold2 ”and a setup definition“ max_setup2 ”. However, in this case, there is no data transfer time that satisfies both the hold specification “min_hold2” and the setup specification “max_setup2”, and the design becomes impossible.

一方、クロック比ドメイン間の抽出処理を行う場合、図9(a)に示すように、ネットリスト上でクロックAにより動作する回路ブロックA(90a)とクロックBにより動作する回路ブロックB(90b)との間のデータパスを抽出し、この部分にブリッジ回路91が挿入されたネットリストを生成する。ここで、クロックBは、クロックAの1/2の周波数とする。そして、ブリッジ回路91は、例えば、回路ブロックA(90a)に接続されクロックAで動作するF/F(92a)と、回路ブロックB(90b)に接続されクロックB’で動作するF/F(92b)と、クロックAを基に1/2周期のクロックB’を生成する分周回路とを備え、この2つのF/F(92a,92b)間でデータ転送を行うような構成となっている。なお、このブリッジ回路91は、シンクロナイザとも呼ばれる。   On the other hand, when performing extraction processing between clock ratio domains, as shown in FIG. 9A, a circuit block A (90a) that operates on the netlist based on the clock A and a circuit block B (90b) that operates on the clock B. And a net list in which the bridge circuit 91 is inserted is generated. Here, the clock B has a frequency half that of the clock A. The bridge circuit 91 includes, for example, an F / F (92a) connected to the circuit block A (90a) and operating with the clock A, and an F / F (92a) connected to the circuit block B (90b) and operating with the clock B ′ ( 92b) and a frequency dividing circuit that generates a clock B ′ having a ½ cycle based on the clock A, and configured to transfer data between the two F / Fs (92a, 92b). Yes. The bridge circuit 91 is also called a synchronizer.

このような構成により、回路ブロックA(90a)から回路ブロックB(90b)へのデータ転送は、F/F(92a)とF/F(92b)を介して行われることになる。この際に、F/F(92a)からF/F(92b)へのデータ転送では、クロックスキューの影響が殆ど生じない。したがって、回路ブロックA(90a)から回路ブロックB(90b)へのデータ転送時間の制約は、実質的にF/F(92b)と回路ブロックB(90b)の間のクロックスキュー「Δcw」によって生じる。すなわち、実質的な制約は、図9(b)に示すようなホールドの規定「min_hold4」とセットアップの規定「max_setup4」となり、これによって、F/F(92b)から回路ブロックB(90b)へのデータ転送時間の設計可能幅は「Δdw3」のようになる。   With such a configuration, data transfer from the circuit block A (90a) to the circuit block B (90b) is performed via the F / F (92a) and the F / F (92b). At this time, in the data transfer from the F / F (92a) to the F / F (92b), the influence of the clock skew hardly occurs. Therefore, the data transfer time restriction from the circuit block A (90a) to the circuit block B (90b) is substantially caused by the clock skew “Δcw” between the F / F (92b) and the circuit block B (90b). . In other words, the substantial restrictions are the hold definition “min_hold4” and the setup definition “max_setup4” as shown in FIG. 9B, and thereby, the F / F (92b) to the circuit block B (90b). The designable width of the data transfer time is “Δdw3”.

また、回路ブロックB(90b)から回路ブロックA(90a)へのデータ転送は、F/F(92b)とF/F(92a)を介して行われることになる。この際に、F/F(92b)からF/F(92a)へのデータ転送では、クロックスキューの影響が殆ど生じず、また、F/F(92a)から回路ブロックA(90a)への転送も、同一クロック信号の転送であるため特に問題は生じない。したがって、回路ブロックB(90b)から回路ブロックA(90a)へのデータ転送時間の制約は、実質的に回路ブロックB(90b)とF/F(92b)との間のクロックスキュー「Δcw」によって生じる。すなわち、実質的な制約は、図9(b)に示すようなホールドの規定「min_hold5」とセットアップの規定「max_setup5」となり、これによって、回路ブロックB(90b)からF/F(92b)へのデータ転送時間の設計可能幅は「Δdw4」のようになる。したがって、いずれの場合においても、データ転送時間の設計可能幅が存在する。   The data transfer from the circuit block B (90b) to the circuit block A (90a) is performed via the F / F (92b) and the F / F (92a). At this time, in the data transfer from the F / F (92b) to the F / F (92a), there is almost no influence of the clock skew, and the transfer from the F / F (92a) to the circuit block A (90a). However, since the same clock signal is transferred, no particular problem occurs. Therefore, the restriction on the data transfer time from the circuit block B (90b) to the circuit block A (90a) is substantially caused by the clock skew “Δcw” between the circuit block B (90b) and the F / F (92b). Arise. That is, the substantial restrictions are the hold definition “min_hold5” and the set-up definition “max_setup5” as shown in FIG. 9B, and thereby the circuit block B (90b) to the F / F (92b). The designable width of the data transfer time is “Δdw4”. Therefore, in any case, there is a designable width of the data transfer time.

そこで、ネットリスト等から、回路ブロック間で相互に異なるクロック周波数を用いてデータ転送を行っているデータパスを抽出し、これに属性を付加し、属性に基づいてブリッジ回路91を挿入し、ブリッジ回路91を含んだネットリストを生成する。なお、この挿入するブリッジ回路91自体のネットリストは、属性に対応する形で予めHDD150c等に格納しておく。これによって、異なるクロック周波数で動作する回路ブロック間において、そのデータ転送のタイミングマージンを増加させることが可能になるため、その後の配置配置等によるタイミング設計を容易化することが可能になる。   Therefore, from the net list or the like, a data path that performs data transfer using different clock frequencies between circuit blocks is extracted, an attribute is added to the data path, and a bridge circuit 91 is inserted based on the attribute. A net list including the circuit 91 is generated. The net list of the bridge circuit 91 itself to be inserted is stored in advance in the HDD 150c or the like in a form corresponding to the attribute. As a result, the timing margin of the data transfer can be increased between circuit blocks operating at different clock frequencies, so that it is possible to facilitate timing design by subsequent arrangement and the like.

図11は、本発明の一実施の形態による半導体装置の設計方法において、クロック選択を備えた回路が含まれる場合の処理の一例を説明するための図であり、(a)は、クロック選択を備えた回路を抽出しなかった場合の説明図、(b)は、クロック選択を備えた回路を抽出した場合の説明図である。   FIG. 11 is a diagram for explaining an example of processing in the case where a circuit having clock selection is included in the method for designing a semiconductor device according to the embodiment of the present invention. An explanatory diagram when the provided circuit is not extracted, and (b) is an explanatory diagram when the circuit provided with clock selection is extracted.

まず、図11(a)に示すように、クロック選択を備えた回路110は、2つのクロックドメイン単位の回路ブロック111a,111bに含まれることになるが、この際にクロック選択を備えた回路110を抽出しなかった場合、この回路110が、一方の回路ブロックの適当な位置に配置され、その結果他方の回路ブロックからは遠距離の配置となってしまう可能性が考えられる。   First, as shown in FIG. 11A, the circuit 110 having clock selection is included in the circuit blocks 111a and 111b in two clock domain units. At this time, the circuit 110 having clock selection is provided. If the circuit 110 is not extracted, there is a possibility that the circuit 110 is arranged at an appropriate position in one circuit block, and as a result, the circuit 110 is arranged at a long distance from the other circuit block.

そこで、図11(b)に示すように、このクロック選択を備えた回路110を主となる一方のクロックドメインの回路ブロック112aに含ませ、この回路ブロック112aに対するタイミング制約を満たす。この際に、この回路110に対して抽出および属性付加を行い差別化しておくことで、この回路110から他方のクロックドメインの回路ブロック112bに対するクロックパスの長さおよびそのタイミング制約を考慮し、他方の回路ブロック112bになるべく近い位置にこの回路110を配置することなどが可能となる。これによって、タイミング設計を効率化することができる。   Therefore, as shown in FIG. 11B, the circuit 110 having this clock selection is included in the circuit block 112a of one main clock domain, and the timing constraint on the circuit block 112a is satisfied. At this time, by extracting and adding attributes to the circuit 110 and differentiating, the length of the clock path from the circuit 110 to the circuit block 112b of the other clock domain and the timing constraint thereof are taken into consideration. This circuit 110 can be arranged as close as possible to the circuit block 112b. As a result, the timing design can be made more efficient.

図12は、本発明の一実施の形態による半導体装置の設計方法において、テストモードのイネーブル信号が含まれる場合の処理の一例を説明するための図であり、(a),(b)は、テストモードのイネーブル信号を抽出しなかった場合の説明図、(c)は、テストモードのイネーブル信号を抽出した場合の説明図である。図13は、図12のテストモードについてその概要を説明するための図である。   FIG. 12 is a diagram for explaining an example of processing in the case where a test mode enable signal is included in the method for designing a semiconductor device according to one embodiment of the present invention. FIG. 6C is an explanatory diagram when the test mode enable signal is not extracted, and FIG. 10C is an explanatory diagram when the test mode enable signal is extracted. FIG. 13 is a diagram for explaining the outline of the test mode of FIG.

まず、テストモードとは、いわゆるスキャンチェーン方式でF/F間のデータ転送をテストするためのモードであり、図13に示すように、F/Fのデータ入力やクロック入力に対してセレクタ回路などを付加し、入力データや入力クロックを切り換えられるようにすることで実現される。テスト動作の概要は、スキャンイン段階において、低速クロックによるシフト動作で各F/Fのデータをセットし、その後、モード切換え信号によるキャプチャ段階において、2つの高速クロックパルスを発生してF/F間のデータ転送を行い、続いてモード切換え信号によるスキャンアウト段階において、データ転送後のF/Fのデータを読み出すというものである。   First, the test mode is a mode for testing data transfer between F / Fs by a so-called scan chain method. As shown in FIG. 13, a selector circuit or the like is used for F / F data input or clock input. Added to enable switching of input data and input clock. The outline of the test operation is that, in the scan-in stage, data of each F / F is set by the shift operation by the low-speed clock, and then, in the capture stage by the mode switching signal, two high-speed clock pulses are generated and the F / F is generated. In the scan-out stage by the mode switching signal, the F / F data after the data transfer is read out.

そして、このキャプチャ段階では、F/Fにおけるユーザデータのデータパスをテストする必要があるため、2つの高速クロックパルス間の時間でテストモードのイネーブル信号(テストイネーブル)を用いて、スキャン用のデータパスとユーザデータのデータパスを切り換える必要がある。これによって、テストモードのイネーブル信号には、タイミング精度が要求される。   In this capture stage, since it is necessary to test the data path of the user data in the F / F, the scan data is scanned using the test mode enable signal (test enable) in the time between two high-speed clock pulses. It is necessary to switch between the path and the user data path. Thus, timing accuracy is required for the test mode enable signal.

このような中、テストモードのイネーブル信号を抽出しなかった場合、図12(a),(b)に示すように、テストモードのイネーブル信号のタイミングスキューによって、イネーブル信号を2つの高速クロックパルス間で切り換えることが困難な状況が発生する。すなわち、テストモードのイネーブル信号は、半導体チップ内の全F/Fに付加されるため、レイテンシが非常に大きくなると共にばらつきが発生する。   In such a case, when the test mode enable signal is not extracted, as shown in FIGS. 12A and 12B, the enable signal is transferred between two high-speed clock pulses due to the timing skew of the test mode enable signal. This makes it difficult to switch. That is, since the test mode enable signal is added to all the F / Fs in the semiconductor chip, the latency becomes very large and variations occur.

図12(a)は、イネーブル信号が外部入力であるため、そのばらつき幅が非常に大きい。図12(b)は、F/Fの入力クロックを基準としてイネーブル信号を生成しているが、この生成したイネーブル信号は、実際にテストするF/Fに達するまでに複数分配される場合がある。そうすると、タイミング精度を満たせない事態が起こり得る。   In FIG. 12A, since the enable signal is an external input, the variation width is very large. In FIG. 12B, the enable signal is generated with reference to the input clock of the F / F, but the generated enable signal may be distributed in plural before reaching the F / F to be actually tested. . As a result, a situation in which the timing accuracy cannot be satisfied may occur.

そこで、ネットリストよりテストモードのイネーブル信号を抽出し、この抽出したイネーブル信号が所望の数よりも多く分配している場合に、図12(c)に示すようなパイプライン回路120によるステージ分割を付加し、このパイプライン回路120を含めたネットリストを生成する。これによって、ネットリストの段階でテストモードのイネーブル信号のタイミング精度を向上させることができ、以降の配置配線によるタイミング調整が容易となる。   Therefore, when the test mode enable signal is extracted from the net list and the extracted enable signals are distributed more than the desired number, the stage division by the pipeline circuit 120 as shown in FIG. In addition, a net list including the pipeline circuit 120 is generated. As a result, the timing accuracy of the enable signal in the test mode can be improved at the netlist stage, and the timing adjustment by the subsequent placement and routing becomes easy.

図14は、本発明の一実施の形態による半導体装置の設計方法において、メモリブロックが含まれる場合の処理の一例を説明するための図であり、(a)は、メモリブロック前段のF/Fを抽出しなかった場合の説明図、(b),(c)は、メモリブロック前段のF/Fを抽出した場合の説明図である。   FIG. 14 is a diagram for explaining an example of processing when a memory block is included in the method for designing a semiconductor device according to one embodiment of the present invention. FIG. FIG. 6B is an explanatory diagram when the F / F in the previous stage of the memory block is extracted.

まず、メモリブロック前段のF/Fを抽出しなかった場合、図14(a)に示すように、F/F(140)の出力信号が複数のメモリブロック(RAM)に分配されるような場合があり、RAMの入力タイミングのマージンが少なくなることがある。そこで、ネットリストより、RAMの前段のF/F(140)を抽出し、この抽出したF/F(140)が所望の数よりも多いRAMに分配されている場合に、図14(b)に示すように、それぞれのRAMの前段にF/Fを複製し、この複製したF/F(140a,140b,140c)を含むネットリストを生成する。   First, when the F / F at the previous stage of the memory block is not extracted, the output signal of the F / F (140) is distributed to a plurality of memory blocks (RAM) as shown in FIG. There are cases where the margin of the input timing of the RAM is reduced. Accordingly, when the F / F (140) in the previous stage of the RAM is extracted from the net list, and the extracted F / F (140) is distributed to more RAMs than desired, FIG. As shown in FIG. 4, the F / F is duplicated in the previous stage of each RAM, and a netlist including the duplicated F / F (140a, 140b, 140c) is generated.

または、ネットリストより、RAMの前段のF/F(140)を抽出し、この抽出したF/F(140)が所望の数よりも多いRAMに分配されている場合に、更にこの前段のF/F(140)と前々段のF/F間の組み合わせ回路141を抽出し、図14(c)に示すように、それぞれのRAMの前段にこの抽出した組み合わせ回路141とF/Fをセットとして複製してもよい。これらによって、ネットリストの段階で、メモリブロックへの入力タイミングのマージンを向上させることができ、以降の配置配線によるタイミング調整が容易化される。   Alternatively, if the F / F (140) in the previous stage of the RAM is extracted from the net list and the extracted F / F (140) is distributed to more RAMs than desired, the F in the previous stage is further extracted. The combinational circuit 141 between the F / F (140) and the preceding F / F is extracted, and as shown in FIG. 14C, the extracted combinational circuit 141 and the F / F are set in the previous stage of each RAM. May be duplicated as As a result, the margin of the input timing to the memory block can be improved at the stage of the net list, and the timing adjustment by the subsequent placement and routing is facilitated.

なお、ネットリスト等から所望の条件に該当する部分を抽出して、それに属性を付加していく設計手法を用いると、以上で述べたようなことに限らず、多様な設計要求に柔軟に対応していくことが可能になる。例えば、同一電源グループという観点で近傍に配置することが望ましいような場合、配置配線の前に、ネットリスト等から同一電源の回路を抽出し、それらに属性を付加し、この属性に基づいてブロック化を行っておくとよい。これによって設計効率を向上させることができる。   If you use a design method that extracts a part that meets a desired condition from a netlist, etc., and adds attributes to it, you can flexibly respond to various design requirements, not limited to those described above It becomes possible to do. For example, if it is desirable to place them in the vicinity from the viewpoint of the same power supply group, before placement and routing, the circuits of the same power supply are extracted from the netlist etc., and attributes are added to them, and blocks based on this attribute are blocked. It is good to make it. This can improve design efficiency.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

本発明の半導体装置の設計方法および半導体装置は、多数の機能ブロックを有するシステムLSIやその設計ツールなどに適用して特に有益なものであり、さらに、これに限らず、異なる複数のクロック信号を含むロジック製品やその設計ツールなどを含めて広く適用可能である。   The method for designing a semiconductor device and the semiconductor device of the present invention are particularly useful when applied to a system LSI having a large number of functional blocks, a design tool thereof, and the like. It is widely applicable including logic products and design tools.

本発明の一実施の形態による半導体装置において、その論理レベルの構成概念の一例を従来技術と対比して説明するための図であり、(a)は、従来技術による構成概念図、(b)は、本発明による構成概念図である。FIG. 2 is a diagram for explaining an example of a configuration concept of a logic level in a semiconductor device according to an embodiment of the present invention in comparison with the prior art, (a) is a configuration conceptual diagram according to the prior art, and (b). These are the conceptual diagrams of a structure by this invention. 本発明の一実施の形態による半導体装置において、そのチップレイアウトの概要を従来技術と対比して説明するための図であり、(a)は、従来技術による配置配線例、(b)は、本発明による配置配線例である。1A and 1B are diagrams for explaining an outline of a chip layout of a semiconductor device according to an embodiment of the present invention in comparison with the prior art, in which FIG. It is an example of arrangement wiring according to the invention. 本発明の一実施の形態による半導体装置の設計方法において、その手順の一例を説明するための図であり、(a)は、カスタマイズ前のシステムLSIにおける論理レベルの構成概念図、(b)は、そのレイアウトレベルの構成概念図である。2A and 2B are diagrams for explaining an example of a procedure in a method for designing a semiconductor device according to an embodiment of the present invention, in which FIG. 1A is a conceptual diagram of a logic level configuration in a system LSI before customization, and FIG. FIG. 2 is a conceptual diagram of the layout level. 図3に対してフラット化処理を行った後の論理レベルの構成概念図である。FIG. 4 is a conceptual diagram of a logical level configuration after flattening processing is performed on FIG. 3. 図4に対して同一クロック信号の回路に対する抽出処理を行った後の論理レベルの構成概念図である。FIG. 5 is a configuration conceptual diagram of a logic level after performing extraction processing on a circuit of the same clock signal with respect to FIG. 4. 図5に対して階層化処理およびフロアプランを行い、カスタマイズが完了した状態を示すものであり、(a)は、カスタマイズ後のシステムLSIにおける論理レベルの構成概念図、(b)は、そのレイアウトレベルの構成概念図である。FIG. 5 shows a state in which customization is completed by performing a hierarchization process and a floor plan on FIG. 5, (a) is a conceptual diagram of a logical level configuration in the system LSI after customization, and (b) is its layout It is a structure conceptual diagram of a level. 本発明の一実施の形態による半導体装置において、その効果の一例を従来技術と対比して説明するための図であり、(a)は、従来技術による動作、(b)は、本発明による動作を示すものである。4A and 4B are diagrams for explaining an example of the effect of a semiconductor device according to an embodiment of the present invention in comparison with the prior art, where FIG. 5A is an operation according to the prior art, and FIG. 5B is an operation according to the present invention. Is shown. 本発明の一実施の形態による半導体装置の設計方法において、ゲーティッドクロックが含まれる場合の処理の一例を説明するための図であり、(a)は、ゲーティッドクロックの抽出を行わないの場合の説明図、(b)は、ゲーティッドクロックの抽出を行う場合の説明図である。FIG. 7 is a diagram for explaining an example of processing when a gated clock is included in the method for designing a semiconductor device according to one embodiment of the present invention, and FIG. FIG. 7B is an explanatory diagram when a gated clock is extracted. 本発明の一実施の形態による半導体装置の設計方法において、クロック比ドメイン間の抽出処理を行う場合の一例を説明するための図であり、(a)は、抽出処理後のクロック比ドメイン間の構成概略図、(b)は、(a)の動作説明図である。It is a figure for demonstrating an example in the case of performing the extraction process between clock ratio domains in the design method of the semiconductor device by one embodiment of this invention, (a) is between clock ratio domains after an extraction process A schematic diagram of the configuration, (b) is a diagram for explaining the operation of (a). 本発明の前提として検討した従来技術による半導体装置の設計方法において、クロック比ドメイン間の抽出処理を行わない場合の一例を説明するための図であり、(a)は、クロック比ドメイン間の構成概略図、(b)は、(a)の動作説明図である。FIG. 7 is a diagram for explaining an example in which extraction processing between clock ratio domains is not performed in the semiconductor device design method according to the related art studied as a premise of the present invention, and FIG. Schematic diagram, (b) is a diagram for explaining the operation of (a). 本発明の一実施の形態による半導体装置の設計方法において、クロック選択を備えた回路が含まれる場合の処理の一例を説明するための図であり、(a)は、クロック選択を備えた回路を抽出しなかった場合の説明図、(b)は、クロック選択を備えた回路を抽出した場合の説明図である。FIG. 7 is a diagram for explaining an example of processing when a circuit with clock selection is included in the method for designing a semiconductor device according to one embodiment of the present invention, and (a) shows a circuit with clock selection. An explanatory diagram in the case of not extracting, (b) is an explanatory diagram in the case of extracting a circuit having a clock selection. 本発明の一実施の形態による半導体装置の設計方法において、テストモードのイネーブル信号が含まれる場合の処理の一例を説明するための図であり、(a),(b)は、テストモードのイネーブル信号を抽出しなかった場合の説明図、(c)は、テストモードのイネーブル信号を抽出した場合の説明図である。FIGS. 8A and 8B are diagrams for explaining an example of a process when a test mode enable signal is included in the method for designing a semiconductor device according to the embodiment of the present invention. FIGS. FIG. 6C is an explanatory diagram when no signal is extracted, and FIG. 10C is an explanatory diagram when a test mode enable signal is extracted. 図12のテストモードについてその概要を説明するための図である。It is a figure for demonstrating the outline | summary about the test mode of FIG. 本発明の一実施の形態による半導体装置の設計方法において、メモリブロックが含まれる場合の処理の一例を説明するための図であり、(a)は、メモリブロック前段のF/Fを抽出しなかった場合の説明図、(b),(c)は、メモリブロック前段のF/Fを抽出した場合の説明図である。FIG. 6 is a diagram for explaining an example of processing when a memory block is included in the method for designing a semiconductor device according to one embodiment of the present invention, and FIG. (B), (c) is an explanatory diagram when the F / F of the previous stage of the memory block is extracted. 本発明の一実施の形態による半導体装置の設計方法において、それに使用する設計装置の構成例であり、(a)は、コンピュータを含む全体の構成例、(b)はコンピュータ内部の構成例である。1 is a configuration example of a design apparatus used for a semiconductor device design method according to an embodiment of the present invention; (a) is an overall configuration example including a computer; and (b) is an internal configuration example of a computer. .

符号の説明Explanation of symbols

10a,10b,20a〜20c,30a〜30c,81a〜81d 機能ブロック
11a,11b,34a〜34c,70,80 クロックパルス発生器
12a,12b,25a〜25c,60a〜60c,86,87a,87b,90a,90b,100a,100b,111a,111b,112a,112b 回路ブロック
13a,13b,71a,71b,92a,92b,140,140a〜140c フリップフロップ(F/F)
14a,14b,72,73 クロックツリー
21a〜21c,22a〜22c,23a,23b,31a〜31c,32a〜32c,33a,33b,82a〜82d,110 回路
24 クロックバッファ
74,75 セットアップマージン
83,84,85 ゲーティッドセル
91 ブリッジ回路
120 パイプライン回路
141,141a〜141c 組み合わせ回路
150 コンピュータ
150a CPU
150b RAM
150c HDD
151 通信ケーブル
152 キーボード
153 ディスプレイ
154,156 格納部
155 カスタマイズ処理部
155a 回路展開処理部
155b 回路抽出/属性付加部
155c 回路ブロック生成部
157 配置配線処理部
10a, 10b, 20a-20c, 30a-30c, 81a-81d functional blocks 11a, 11b, 34a-34c, 70, 80 clock pulse generators 12a, 12b, 25a-25c, 60a-60c, 86, 87a, 87b, 90a, 90b, 100a, 100b, 111a, 111b, 112a, 112b Circuit blocks 13a, 13b, 71a, 71b, 92a, 92b, 140, 140a to 140c Flip-flops (F / F)
14a, 14b, 72, 73 Clock trees 21a-21c, 22a-22c, 23a, 23b, 31a-31c, 32a-32c, 33a, 33b, 82a-82d, 110 circuit 24 clock buffer 74, 75 setup margin 83, 84 85 Gated cell 91 Bridge circuit 120 Pipeline circuit 141, 141a-141c Combination circuit 150 Computer 150a CPU
150b RAM
150c HDD
151 Communication Cable 152 Keyboard 153 Display 154,156 Storage Unit 155 Customization Processing Unit 155a Circuit Development Processing Unit 155b Circuit Extraction / Attribute Addition Unit 155c Circuit Block Generation Unit 157 Placement and Routing Processing Unit

Claims (12)

コンピュータに、
複数の機能ブロック単位の階層を含む半導体チップの回路記述データに対し、同一クロック信号に接続される順序回路と前記順序回路に接続される組み合わせ回路とを抽出するステップと、
前記抽出した順序回路と前記抽出した組み合わせ回路を一つの回路ブロックとして階層化し、前記階層化された回路ブロックを含む回路記述データを構築するステップと、
前記階層化された回路ブロックを単位として前記半導体チップ内の概略配置及び、配置配線を行うステップとを実行させることを特徴とする半導体装置の設計方法。
On the computer,
Extracting a sequential circuit connected to the same clock signal and a combinational circuit connected to the sequential circuit for circuit description data of a semiconductor chip including a plurality of functional block unit hierarchies;
Hierarchizing the extracted sequential circuit and the extracted combinational circuit as one circuit block, and constructing circuit description data including the hierarchized circuit block;
A method for designing a semiconductor device, comprising: performing a schematic arrangement in the semiconductor chip and a step of arranging and wiring in units of the hierarchical circuit blocks.
コンピュータに、
複数の機能ブロック単位の階層を含む半導体チップの回路記述データに対し、前記機能ブロック単位の階層を展開し、前記展開した階層を含まない回路記述データを生成するステップと、
前記展開した階層を含まない回路記述データを検索し、同一クロック信号に接続される順序回路と前記順序回路に接続される組み合わせ回路とを抽出するステップと、
前記抽出した順序回路と前記抽出した組み合わせ回路を一つの回路ブロックとして階層化し、前記階層化された回路ブロックを含む回路記述データを構築するステップと、
前記階層化された回路ブロックを単位として前記半導体チップ内の概略配置及び、配置配線を行うステップとを実行させることを特徴とする半導体装置の設計方法。
On the computer,
Expanding the functional block unit hierarchy for circuit description data of a semiconductor chip including a plurality of functional block unit hierarchies, and generating circuit description data not including the expanded hierarchy;
Retrieving circuit description data not including the expanded hierarchy, and extracting a sequential circuit connected to the same clock signal and a combinational circuit connected to the sequential circuit;
Hierarchizing the extracted sequential circuit and the extracted combinational circuit as one circuit block, and constructing circuit description data including the hierarchized circuit block;
A method for designing a semiconductor device, comprising: performing a schematic arrangement in the semiconductor chip and a step of arranging and wiring in units of the hierarchical circuit blocks.
請求項1記載の半導体装置の設計方法において、
コンピュータに、さらに、
前記階層化された回路ブロックを含む回路記述データを検索し、前記階層化された回路ブロック毎にゲーティッドクロックを使用している回路を抽出し、前記抽出した回路に属性を付加するステップと、
前記属性が付加された回路が近接配置となるように、前記階層化された回路ブロック内の配置配線を行わせるステップとを実行させることを特徴とする半導体装置の設計方法。
The method of designing a semiconductor device according to claim 1,
To the computer,
Searching circuit description data including the hierarchical circuit blocks, extracting a circuit using a gated clock for each of the hierarchical circuit blocks, and adding an attribute to the extracted circuit;
And a step of performing placement and routing in the hierarchized circuit block so that the circuits to which the attribute is added are arranged close to each other.
請求項1または2記載の半導体装置の設計方法において、
コンピュータに、さらに、
前記階層化された回路ブロックを含む回路記述データを検索し、前記階層化された回路ブロック間で、相互に異なるクロック周波数を用いてデータ転送を行なっているデータパスを抽出するステップと、
前記抽出したデータパスに対して、異なるクロック周波数間のデータ転送を確実に行う機能を備えたブリッジ回路を付加するステップと、
前記ブリッジ回路が付加された回路記述データを構築するステップとを実行させることを特徴とする半導体装置の設計方法。
The method of designing a semiconductor device according to claim 1 or 2,
To the computer,
Retrieving circuit description data including the hierarchized circuit blocks, and extracting data paths performing data transfer between the hierarchized circuit blocks using mutually different clock frequencies;
Adding a bridge circuit having a function of reliably transferring data between different clock frequencies to the extracted data path;
And a step of constructing circuit description data to which the bridge circuit is added.
請求項1〜4のいずれか1項に記載の半導体装置の設計方法において、
前記回路記述データは、ネットリストであることを特徴とする半導体装置の設計方法。
In the design method of the semiconductor device of any one of Claims 1-4,
The circuit description data is a net list. A semiconductor device design method, wherein:
コンピュータに、予め設定した手順に基づいて半導体チップの回路記述データのカスタマイズを実行させ、前記カスタマイズした回路記述データを用いて配置配線を行うことを特徴とする半導体装置の設計方法。   A design method for a semiconductor device, comprising: causing a computer to customize circuit description data of a semiconductor chip based on a preset procedure, and performing placement and routing using the customized circuit description data. 請求項6記載の半導体装置の設計方法において、
前記回路記述データは、ネットリストであることを特徴とする半導体装置の設計方法。
The method for designing a semiconductor device according to claim 6,
The circuit description data is a net list. A semiconductor device design method, wherein:
請求項6または7記載の半導体装置の設計方法において、
前記予め設定した手順は、前記回路記述データより同一クロック信号で動作する順序回路および前記順序回路に接続された組み合わせ回路を抽出し、前記抽出した回路を回路ブロックとして階層化し、前記階層化した回路ブロックを含む回路記述データを生成することであることを特徴とする半導体装置の設計方法。
The method of designing a semiconductor device according to claim 6 or 7,
The preset procedure is to extract a sequential circuit that operates with the same clock signal from the circuit description data and a combinational circuit connected to the sequential circuit, hierarchize the extracted circuit as a circuit block, and A method for designing a semiconductor device, comprising generating circuit description data including a block.
請求項6または7記載の半導体装置の設計方法において、
前記予め設定した手順は、前記回路記述データよりメモリブロックの前段の回路を抽出し、前記抽出した回路が所望の数よりも多いメモリブロックに分配されている場合に、それぞれの前記メモリブロックの前段に前記抽出した回路を複製し、前記複製した回路を含む回路記述データを生成することであることを特徴とする半導体装置の設計方法。
The method of designing a semiconductor device according to claim 6 or 7,
The preset procedure is such that when a circuit preceding the memory block is extracted from the circuit description data, and the extracted circuit is distributed to more memory blocks than desired, the previous stage of each memory block is extracted. A method for designing a semiconductor device, wherein the extracted circuit is duplicated and circuit description data including the duplicated circuit is generated.
請求項6または7記載の半導体装置の設計方法において、
前記予め設定した手順は、前記回路記述データよりテストモードのイネーブル信号を抽出し、前記抽出したイネーブル信号が所望の数よりも多く分配している場合に、前記イネーブル信号に対してパイプライン回路によるステージ分割を付加し、前記パイプライン回路を含む回路記述データを生成することであることを特徴とする半導体装置の設計方法。
The method of designing a semiconductor device according to claim 6 or 7,
The preset procedure is to extract a test mode enable signal from the circuit description data, and when the extracted enable signals are distributed more than a desired number, a pipeline circuit is used for the enable signal. A design method of a semiconductor device, characterized by adding stage division and generating circuit description data including the pipeline circuit.
互いに集まって配置された回路からなる回路ブロックを複数含む半導体装置であって、
前記複数の回路ブロック毎に、異なるクロック信号が供給され、
前記複数の回路ブロックのそれぞれは、同一のクロック信号で動作する回路によって構成されることを特徴とする半導体装置。
A semiconductor device including a plurality of circuit blocks composed of circuits arranged together,
A different clock signal is supplied for each of the plurality of circuit blocks,
Each of the plurality of circuit blocks includes a circuit that operates with the same clock signal.
請求項11記載の半導体装置において、
前記半導体装置は、システムLSIであることを特徴とする半導体装置。
The semiconductor device according to claim 11.
The semiconductor device is a system LSI.
JP2004229711A 2004-08-05 2004-08-05 Semiconductor device and method for designing the same Pending JP2006049638A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004229711A JP2006049638A (en) 2004-08-05 2004-08-05 Semiconductor device and method for designing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004229711A JP2006049638A (en) 2004-08-05 2004-08-05 Semiconductor device and method for designing the same

Publications (1)

Publication Number Publication Date
JP2006049638A true JP2006049638A (en) 2006-02-16

Family

ID=36027838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004229711A Pending JP2006049638A (en) 2004-08-05 2004-08-05 Semiconductor device and method for designing the same

Country Status (1)

Country Link
JP (1) JP2006049638A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102700A (en) * 2008-09-26 2010-05-06 Semiconductor Energy Lab Co Ltd System for designing functional circuit and method for designing functional circuit
US8539293B2 (en) 2010-05-19 2013-09-17 Samsung Electronics Co., Ltd. Integrated circuit for compression mode scan test

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102700A (en) * 2008-09-26 2010-05-06 Semiconductor Energy Lab Co Ltd System for designing functional circuit and method for designing functional circuit
US8539293B2 (en) 2010-05-19 2013-09-17 Samsung Electronics Co., Ltd. Integrated circuit for compression mode scan test

Similar Documents

Publication Publication Date Title
US7761828B2 (en) Partitioning electronic circuit designs into simulation-ready blocks
US5644498A (en) Timing shell generation through netlist reduction
KR100423594B1 (en) Concurrent logical and physical construction of voltage islands for mixed supply voltage designs
US8516422B1 (en) Method and mechanism for implementing electronic designs having power information specifications background
US8196076B2 (en) Optimal flow in designing a circuit operable in multiple timing modes
Moreira et al. Impact of C-elements in asynchronous circuits
KR20170025447A (en) Method for design integrated circuit for reducing clock power
US10678979B2 (en) Method and apparatus for implementing a system-level design tool for design planning and architecture exploration
Hung et al. Challenges in large FPGA-based logic emulation systems
US6425115B1 (en) Area efficient delay circuits
Wilton et al. Design considerations for soft embedded programmable logic cores
JP2020154803A (en) Circuit design method and program
JP2001357090A (en) Method and device for synthesizing logic
JP2006343151A (en) Scanning test circuit and method for arranging the same
JP2010257164A (en) Design method of semiconductor integrated circuit device, and program
Aken'Ova et al. A" soft++" eFPGA physical design approach with case studies in 180nm and 90nm
JP4131119B2 (en) Semiconductor integrated circuit design method and semiconductor integrated circuit design program
US7260804B1 (en) Method for circuit block routing based on switching activity
JP2006049638A (en) Semiconductor device and method for designing the same
JP2007072995A (en) Layout device, automatic arrangement and wiring method and semiconductor integrated circuit manufacturing method
JP4216087B2 (en) Logic circuit optimization method, logic circuit optimization device, and logic circuit synthesis device
Robertson et al. Timing verification of dynamically reconfigurable logic for the Xilinx Virtex FPGA series
Hsu et al. Clock gating optimization with delay-matching
Gopalakrishnan Energy Reduction for Asynchronous Circuits in SoC Applications
Tavares et al. On the development of an island-style FPGA