JP4200465B2 - 半導体集積回路の設計方法及び設計システム - Google Patents
半導体集積回路の設計方法及び設計システム Download PDFInfo
- Publication number
- JP4200465B2 JP4200465B2 JP2006240361A JP2006240361A JP4200465B2 JP 4200465 B2 JP4200465 B2 JP 4200465B2 JP 2006240361 A JP2006240361 A JP 2006240361A JP 2006240361 A JP2006240361 A JP 2006240361A JP 4200465 B2 JP4200465 B2 JP 4200465B2
- Authority
- JP
- Japan
- Prior art keywords
- selector
- timing exception
- target
- data
- data processing
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/04—Clock gating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
図2は、本発明の実施の形態に係るLSI設計システム1の構成を示すブロック図である。LSI設計システム1は、半導体集積回路の設計を行うためのコンピュータシステムであり、記憶装置2、CPU3、論理合成ツール4、入力装置5、及び表示装置6を備えている。記憶装置2としては、RAM(Random Access Memory)やハードディスクが例示される。CPU3は、各装置にアクセス可能である。論理合成ツール4は、CPU3によって実行されるソフトウェア・プロダクトであり、CPU3は、論理合成ツール4を実行することによって後述の論理合成処理を行う。入力装置5としては、キーボードやマウスが例示される。設計者は、表示装置6に表示される情報を参照しながら、入力装置5を用いることによって各種コマンドやデータを入力することができる。
図2に示されたLSI設計システム1は、論理合成処理を行う。論理合成処理の入力は、RTLデータ21であり、その出力はネットリスト40である。つまり、論理合成処理においては、RTL記述が解析され、そのRTL記述が示す論理設計に応じた回路が構築され、その回路構成が最適化され、結果としてRTL記述に応じたネットリスト40が作成される。また、本実施の形態によれば、論理合成処理の最中に、クロックゲーティングを実現するためのゲーティングセルGC(図1参照)の挿入も自動的に行われる。
RTL解析部11は、記憶装置2からRTLデータ21を読み出し、RTLデータ21が示すRTL記述の解析を行う。より詳細には、RTL解析部11は、RTL記述を、そのRTL記述と論理的に等価な論理回路モデルに変換する。この変換方法に関しては、例えば、“BooleDozer:Logic synthesis for ASICs, A. J. Sulliavanら著”を参考されたい。変換により生成された論理回路モデルは、一般的な論理ゲート(ANDゲート,ORゲート,インバータ等)、イネーブル論理、フリップフロップ、ポート、ネットなどによって構成される。内部データベース31は、その論理回路モデルを示すデータであり、回路の論理的な接続を示している。生成された内部データベース31は、記憶装置2に格納される。
次に、CG対象マーキング部12は、記憶装置2から内部データベース31及びタイミング例外指定データ22を読み込む。CG対象マーキング部12は、内部データベース31が示す論理回路モデルを参照し、フリップフロップに関するイネーブル信号enを生成するイネーブル論理(ライトイネーブル論理)の解析を行う。ここで、CG対象マーキング部12は、タイミング例外指定データ22が示すタイミング例外を参照し、イネーブル論理のうちタイミング例外と関連しない部分を抽出する。そして、CG対象マーキング部12は、抽出された部分を、次処理(ステップS3)の対象としてマーキングする。
次に、クロックゲーティング部13は、記憶装置2からマーキング済内部データベース32を読み込む。クロックゲーティング部13は、クロックゲーティングのためのゲーティングセルGC(図1参照)を、マーキング済内部データベース32が示す論理回路モデルに挿入する。そのゲーティングセルGCは、ライトイネーブル論理とフリップフロップとの間に設けられる。ここで、本実施の形態によれば、ゲーティングセルGCは、タイミング例外パスから隔離されて設けられる。
次に、論理最適化部14は、記憶装置2からCG済内部データベース33及び制約データ23を読み込む。論理最適化部14は、CG済内部データベース33が示す論理回路モデルを、制約データ23が示す各種制約(タイミング制約、タイミング例外制約、面積制約、デザインルール制約など)の下で最適化する。結果として、RTL記述に応じた回路接続を示すネットリスト40が生成される。このネットリスト40が示す回路構成は、タイミング例外信号を除いてクロックゲーティングされていることが保障されている。
次に、具体的な例を1つ挙げて、本実施の形態に係る論理合成処理の流れを説明する。図5は、Verilogで記述されたRTLデータ21の一例を示している。また、図6は、SDCフォーマットで記述されたタイミング例外指定データ22の一例を示している。図6において、外部ポート“mul”がタイミング例外として指定されており、その外部ポート“mul”からのパスが、3サイクルのマルチサイクルパスとして設定されている。以下、外部ポート“mul”から供給される信号は、タイミング例外信号mulと参照される。
RTL解析部11は、図5で示されたRTLデータ21を読み込み、図7で示されるような内部データベース23を生成する。生成された内部データベース23は、RTL記述と論理的に等価な論理回路モデルを示している。
図9は、CG対象マーキング部12が提供する処理のアルゴリズム(擬似コード)を概念的に示している。
まず、内部データベース31が示す論理回路モデル中に存在する全てのフリップフロップが取得される。取得されたフリップフロップは、“ff”という変数に格納される。そして、各フリップフロップffに関してループ処理が実行される(ステップA1)。ループ処理において、各フリップフロップffの入力ピンに接続された「ファンインセル」が全て取得される。取得されたファンインセルは、“cell”という変数に格納される(ステップA2)。そして、各ファンインセルcellを引数として、“trace”というサブルーチンが呼び出される(ステップA3)。そのサブルーチンtraceにおいては、ファンインセルcellを処理対象として「トレース処理」が実行される。
まず、処理対象であるファンインセルcellがセレクタであるかどうかの判定が行われる(ステップA4)。ファンインセルcellがセレクタではない場合、サブルーチンtraceは終了し、処理はサブルーチンtraceを呼び出した元処理に戻る(ステップA10)。ファンインセルcellがセレクタの場合、その処理対象のセレクタに入力されるセレクト信号の解析が行われる。具体的には、セレクト信号をフリップフロップや外部ポートに達するまでトレースすることによって、そのセレクト信号のソース(供給元)が取得される(ステップA5)。取得されたセレクト信号の全てのソースは、リスト“end_points_list”に格納される。
クロックゲーティング部13は、マーキング済内部データベース32を参照し、ゲーティングセルGCを自動的に挿入する。その結果、図11に示されるようなCG済内部データベース33が生成される。
論理最適化部14は、CG済内部データベース33が示す論理回路モデルを、制約データ23が示す各種制約(タイミング制約、タイミング例外制約、面積制約、デザインルール制約など)の下で最適化する。結果として、RTL記述に応じた回路接続を示すネットリスト40が生成される。図12は、生成されるネットリスト40の一例を概念的に示している。図12において、各論理素子には、インスタンス名(U0、U1、U2、U3、U4、U5、U6)が付与されている。
以上に説明されたように、本発明によれば、論理合成において、ゲーティングセルGCは、タイミング例外パスにつながらないように設けられる。よって、ゲーティングセルGCにタイミング例外制約を与える必要はない。タイミング例外制約は、レジスタやフリップフロップにだけ与えればよい。このように、ゲーティングセルGCにタイミング例外制約を与えるという煩雑な作業が省略される。その結果、設計効率が向上し、半導体集積回路の設計に要する時間が短縮される。
2 記憶装置
3 CPU
4 論理合成ツール
5 入力装置
6 表示装置
10 データ処理装置
11 RTL解析部
12 CG対象マーキング部
13 クロックゲーティング部
14 論理最適化部
21 RTLデータ
22 タイミング例外指定データ
23 制約データ
31 内部データベース
32 マーキング済内部データベース
33 CG済内部データベース
40 ネットリスト
GC ゲーティングセル
Claims (6)
- コンピュータを用いた半導体集積回路の設計方法であって、
前記コンピュータは、データ処理装置と記憶装置とを備え、
前記記憶装置には、前記半導体集積回路のRTL記述を示すRTLデータと、タイミング例外を指定するタイミング例外指定データとが格納され、
前記設計方法は、
(A)前記データ処理装置が、前記記憶装置から前記RTLデータを読み込むステップと、
(B)前記データ処理装置が、クロックゲーティングを行うゲーティングセルを設けながら、前記RTL記述の論理合成を行うステップと
を有し、
前記ゲーティングセルは、前記クロックゲーティングの対象を活性化させるイネーブル信号をクロック信号に同期してラッチするラッチ回路を備え、
前記(B)ステップにおいて、前記データ処理装置は、前記記憶装置から前記タイミング例外指定データを読み出し、前記ゲーティングセルをタイミング例外パスから隔離して設ける
半導体集積回路の設計方法。 - 請求項1に記載の半導体集積回路の設計方法であって、
前記(B)ステップは、
(B1)前記データ処理装置が、前記RTL記述を解析し、前記RTL記述と論理的に等価な論理回路モデルを生成するステップと、
(B2)前記データ処理装置が、前記記憶装置から前記タイミング例外指定データを読み込むステップと、
(B3)前記データ処理装置が、前記論理回路モデルに含まれるセレクタに入力されるセレクト信号を解析し、前記セレクト信号が前記タイミング例外に関連しない場合、前記セレクタを対象セレクタとして設定するステップと、
(B4)前記データ処理装置が、前記イネーブル信号が前記対象セレクタに入力される前記セレクト信号だけから生成されるように、前記ゲーティングセルを前記論理回路モデル内に設けるステップと
を有する
半導体集積回路の設計方法。 - 請求項2に記載の半導体集積回路の設計方法であって、
前記クロックゲーティングの対象は、前記論理回路モデルに含まれるフリップフロップであり、
前記(B3)ステップは、前記データ処理装置が、前記フリップフロップのファンインセルを処理対象としてトレース処理を実行するステップを有し、
前記トレース処理は、
(a)前記処理対象がセレクタではない場合、前記データ処理装置が、前記トレース処理を終了させるステップと、
(b)前記処理対象がセレクタである場合、前記データ処理装置が、前記処理対象のセレクタに入力されるセレクト信号をトレースすることによって前記セレクト信号の供給元を取得するステップと、
(c)前記供給元が前記タイミング例外として指定されている場合、前記データ処理装置が、前記トレース処理を終了させるステップと、
(d)前記供給元が前記タイミング例外として指定されていない場合、前記データ処理装置が、前記処理対象のセレクタを前記対象セレクタとして設定するステップと
を含む
半導体集積回路の設計方法。 - 請求項3に記載の半導体集積回路の設計方法であって、
前記トレース処理は、更に、(e)前記データ処理装置が、前記処理対象のセレクタの入力端子のうち前記セレクト信号以外の信号が入力される入力端子に接続されたファンインセルに対して、前記トレース処理を再帰的に実行するステップを含む
半導体集積回路の設計方法。 - 請求項1乃至4のいずれかに記載の半導体集積回路の設計方法を前記コンピュータに実行させるための設計プログラム。
- 半導体集積回路のRTL記述を示すRTLデータと、タイミング例外を指定するタイミング例外指定データとが格納される記憶装置と、
前記記憶装置から前記RTLデータを読み出し、クロックゲーティングを行うゲーティングセルを設けながら、前記RTL記述の論理合成を行うデータ処理装置と
を備え、
前記ゲーティングセルは、前記クロックゲーティングの対象を活性化させるイネーブル信号をクロック信号に同期してラッチするラッチ回路を備え、
前記データ処理装置は、
前記記憶装置から前記RTLデータを読み出し、前記RTL記述を解析することによって前記RTL記述と論理的に等価な論理回路モデルを生成する解析手段と、
前記記憶装置から前記タイミング例外指定データを読み出し、また、前記論理回路モデルに含まれるセレクタに入力されるセレクト信号を解析し、前記セレクト信号が前記タイミング例外に関連しない場合、前記セレクタを対象セレクタとして設定するマーキング手段と、
前記イネーブル信号が前記対象セレクタに入力される前記セレクト信号だけから生成されるように、前記ゲーティングセルを前記論理回路モデル内に設けるクロックゲーティング手段と
を備える
半導体集積回路の設計システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006240361A JP4200465B2 (ja) | 2006-09-05 | 2006-09-05 | 半導体集積回路の設計方法及び設計システム |
US11/846,948 US7774730B2 (en) | 2006-09-05 | 2007-08-29 | Method of and system for designing semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006240361A JP4200465B2 (ja) | 2006-09-05 | 2006-09-05 | 半導体集積回路の設計方法及び設計システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008065457A JP2008065457A (ja) | 2008-03-21 |
JP4200465B2 true JP4200465B2 (ja) | 2008-12-24 |
Family
ID=39153537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006240361A Expired - Fee Related JP4200465B2 (ja) | 2006-09-05 | 2006-09-05 | 半導体集積回路の設計方法及び設計システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7774730B2 (ja) |
JP (1) | JP4200465B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8560988B2 (en) | 2010-08-13 | 2013-10-15 | Atrenta, Inc. | Apparatus and method thereof for hybrid timing exception verification of an integrated circuit design |
JP5520790B2 (ja) * | 2010-11-19 | 2014-06-11 | 株式会社日立製作所 | 設計支援装置および設計支援プログラム |
JP5621792B2 (ja) * | 2012-01-16 | 2014-11-12 | カシオ計算機株式会社 | 半導体回路設計支援装置及び方法、並びに半導体回路設計支援プログラム |
US8656326B1 (en) | 2013-02-13 | 2014-02-18 | Atrenta, Inc. | Sequential clock gating using net activity and XOR technique on semiconductor designs including already gated pipeline design |
US10394983B2 (en) | 2017-06-14 | 2019-08-27 | Excellicon Corporation | Method to automatically generate and promote timing constraints in a Synopsys Design Constraint format |
JP2023120042A (ja) * | 2022-02-17 | 2023-08-29 | ソニーセミコンダクタソリューションズ株式会社 | 回路変換方法、ラッチ回路、およびc素子回路 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5980092A (en) * | 1996-11-19 | 1999-11-09 | Unisys Corporation | Method and apparatus for optimizing a gated clock structure using a standard optimization tool |
JPH11149496A (ja) | 1997-11-19 | 1999-06-02 | Toshiba Corp | ゲーテッドクロック設計支援装置、ゲーテッドクロック設計支援方法、及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体 |
US6836877B1 (en) * | 1998-02-20 | 2004-12-28 | Lsi Logic Corporation | Automatic synthesis script generation for synopsys design compiler |
US6457167B1 (en) * | 1998-03-31 | 2002-09-24 | Kabushiki Kaisha Toshiba | Gated clock design supporting method, gated clock design supporting apparatus, and computer readable memory storing gated clock design supporting program |
JP3660241B2 (ja) | 2000-12-22 | 2005-06-15 | 株式会社東芝 | ゲーテッドクロック設計支援装置、ゲーテッドクロック設計支援方法及び記録媒体 |
JP4083544B2 (ja) | 2002-11-18 | 2008-04-30 | 富士通株式会社 | マルチサイクルパス解析方法 |
US7062736B2 (en) * | 2003-06-24 | 2006-06-13 | Lsi Logic Corporation | Timing constraint generator |
US7530047B2 (en) * | 2003-09-19 | 2009-05-05 | Cadence Design Systems, Inc. | Optimized mapping of an integrated circuit design to multiple cell libraries during a single synthesis pass |
US7526745B2 (en) * | 2004-12-08 | 2009-04-28 | Telefonaktiebolaget L M Ericsson (Publ) | Method for specification and integration of reusable IP constraints |
US8332793B2 (en) * | 2006-05-18 | 2012-12-11 | Otrsotech, Llc | Methods and systems for placement and routing |
EP1916534B1 (en) * | 2006-10-23 | 2009-12-16 | Onespin Solutions GmbH | Verification and generation of timing exceptions |
US8196076B2 (en) * | 2007-11-19 | 2012-06-05 | Texas Instruments Incorporated | Optimal flow in designing a circuit operable in multiple timing modes |
US8117578B2 (en) * | 2007-12-28 | 2012-02-14 | Nec Corporation | Static hazard detection device, static hazard detection method, and recording medium |
-
2006
- 2006-09-05 JP JP2006240361A patent/JP4200465B2/ja not_active Expired - Fee Related
-
2007
- 2007-08-29 US US11/846,948 patent/US7774730B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7774730B2 (en) | 2010-08-10 |
JP2008065457A (ja) | 2008-03-21 |
US20080059938A1 (en) | 2008-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7162706B2 (en) | Method for analyzing and validating clock integration properties in circuit systems | |
Benini et al. | Symbolic synthesis of clock-gating logic for power optimization of synchronous controllers | |
US7376919B1 (en) | Methods and apparatuses for automated circuit optimization and verification | |
US7849428B2 (en) | Formally deriving a minimal clock-gating scheme | |
US20140165022A1 (en) | Relative timing architecture | |
US6877139B2 (en) | Automated approach to constraint generation in IC design | |
US9953120B2 (en) | Relative timing characterization | |
JP2009520287A (ja) | マルチサイクル・クロック・ゲーティングのための方法および装置 | |
JP4200465B2 (ja) | 半導体集積回路の設計方法及び設計システム | |
US20080201671A1 (en) | Method for generating timing exceptions | |
US8037443B1 (en) | System, method, and computer program product for optimizing an altered hardware design utilizing power reports | |
Ataei et al. | An open-source eda flow for asynchronous logic | |
US20080059923A1 (en) | Lsi power consumption calculation method and calculation program | |
Iizuka et al. | A tool set for the design of asynchronous circuits with bundled-data implementation | |
US9449127B1 (en) | System for verifying timing constraints of IC design | |
US20040088662A1 (en) | Timing path detailer | |
US10162917B1 (en) | Method and system for implementing selective transformation for low power verification | |
US7624363B2 (en) | Method and apparatus for performing equivalence checking on circuit designs having differing clocking and latching schemes | |
Quinton et al. | Practical asynchronous interconnect network design | |
JP2007304699A (ja) | 回路連言標準形生成方法及び回路連言標準形生成装置並びにハザードチェック方法及びハザードチェック装置 | |
Vij | Algorithms and methodology to design asynchronous circuits using synchronous CAD tools and flows | |
Huang | On speeding up extended finite state machines using catalyst circuitry | |
JPH1091651A (ja) | 論理合成方法および論理合成装置 | |
Gibiluka | Analysis of voltage scaling effects in the design of resilient circuits | |
SURENDRA KUMAR | SEQUENTIAL ANALYSIS DRIVEN RESET OPTIMIZATION USING POWER PRO TOOL |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080728 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080731 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080822 |
|
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: 20080911 |
|
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: 20080924 |
|
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: 20111017 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |