図面 (/)

技術 回路設計方法、及び回路設計プログラム

出願人 日本電気株式会社
発明者 山田洋平
出願日 2009年7月17日 (11年7ヶ月経過) 出願番号 2009-168537
公開日 2011年2月3日 (10年0ヶ月経過) 公開番号 2011-022879
状態 特許登録済
技術分野 CAD 電源 ICの設計・製造(配線設計等) 計算機・クロック
主要キーワード ホールド条件 N端子 配置制約 設計変更後 ハードウェア設計言語 クロックパルス発生器 削減手法 挿入場所
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2011年2月3日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (11)

課題

論理合成済みの回路に対して容易かつ高精度にクロックゲーティングセルを挿入することができる回路設計方法、及び回路設計プログラムを提供することである。

解決手段

本発明にかかる回路設計方法は、設計者の意図する論理に基づいて、クロックゲーティング条件を含まないRTL記述ファイルを作成する第1のステップ(ステップS1)と、論理合成ツールを用いて、RTL記述ファイルに基づき第1のネットリストを生成する第2のステップ(ステップS2)と、第1のネットリストにクロックゲーティングセルを挿入して第2のネットリストを生成する第3のステップ(ステップS3)と、自動レイアウトツールを用いて、第2のネットリストに含まれるセルの配置を決定する第4のステップ(ステップS4)と、を有する。

概要

背景

近年のLSI設計においては、消費電力の削減が大きな課題となっており、その削減手法の1つとしてクロックゲーティングが一般的に用いられている。クロックゲーティングとは、LSI中のフリップフロップ回路ラッチ回路ドミノ回路などに供給するクロックを一時的、部分的に停止させる手法で、例えば図6に示す回路で実現される。

図6に示す回路は、クロック供給源110、クロックバッファ120、クロックゲーティングセル130〜132、フリップフロップFF)140〜145を有する。この回路では、クロック供給源110からクロックバッファ120、クロックゲーティングセル130〜132を経由して、各フリップフロップ140〜145にクロックが供給される。

クロックゲーティングセル130〜132は入力としてCLK、CEN(Clock ENable)、出力としてGCLKの各端子を備える。そして、イネーブル信号としてCEN端子に"1"が入力された時には、CLK端子に入力されたクロックがそのままGCLK端子に伝播する。一方、イネーブル信号としてCEN端子に"0"が入力された時には、CLK端子の入力にかかわらずGCLK端子の出力は0となる。GCLK端子からの出力はフリップフロップ140〜145のクロック入力端子に接続されているため、クロックゲーティングセルのCEN端子へイネーブル信号を入力することで、フリップフロップ140〜145へのクロック供給を制御することができる。

ここで、クロック供給が停止された際、フリップフロップ140〜145の出力は停止以前のデータを保持し続ける。すなわち、クロックゲーティングセル130〜132の挿入は、論理的にはCENをホールド条件とした1サイクル前の自己の値のホールドと同じ動作となる。また、CEN端子に常時"1"を入力すれば常時クロック伝播を続けることができ、クロックゲーティングを行わないフリップフロップと同じクロック分配回路を使用することができる。この様に、クロックゲーティングを用いることで、クロックゲーティングの出力バッファ及びそれに接続される配線、フリップフロップの入力ゲート等で消費される電力の削減、またフリップフロップの出力値固定化されることによるフリップフロップ間のデータ伝播で消費される電力の削減が期待できる。

次に、クロックゲーティングセルを挿入する設計フローについて説明する。図7に設計フローの例を示す。まず、設計者は回路の通常動作記述したRTL(Register Transfer Level)を作成する(ステップS101)。この場合の記述例を図8に示す。次に、クロックゲーティング条件の記述を、ステップS101で作成したRTL記述に挿入する(ステップS102)。図9はこの場合の記述例を示しており、この記述の"enable"がクロックゲーティング条件を示す。

次に、作成されたRTL記述を論理合成ツールに入力し、ネットリストを作成する(ステップS103)。論理合成ツールはRTL記述中のゲーティング条件及びホールド条件を自動で判定し、クロックゲーティング可能な箇所に対して自動的にクロックゲーティングセルを生成する。またこの際、ゲーティング条件が同じフリップフロップは一組のグループとして扱われ、1つのクロックゲーティングセルに対して複数のフリップフロップが接続される。

図10は、論理合成(ステップ103)後のネットリスト接続を示す図である。図10に示すように、クロック供給源110はフリップフロップ140に対して直接クロックを供給している。また、クロック供給源110はフリップフロップ141、142に対してクロックゲーティングセル131を介してクロックを供給している。また、クロック供給源110はフリップフロップ143〜145に対してクロックゲーティングセル132を介してクロックを供給している。

次に、レイアウトツールによる自動配置を行う(ステップS104)。レイアウトツールは配置制約遅延制約、その他の条件に基づいてネットリスト中のセルの配置を行う。
次に、CTS(Clock Tree Synthesis)処理を行う(ステップS105)。CTS処理では、クロック分配対象セル密度に合わせてクロックバッファが生成さる。また、離れた箇所にあるフリップフロップで共通して使用されるクロックゲーティングは、複製する等の処理が行なわれる。この結果、図6に示すような接続が生成される。
次に、CTSで生成、移動されたセルの再配置及びスキューを考慮した遅延最適化等を行い(ステップS106)、配線処理が行なわれる(ステップS107)。

また、特許文献1には低消費電力化と回路の簡素化を実現するための論理設計を行なう回路設計装置に関する技術が開示されている。特許文献1にかかる回路設計装置は、設計対象のRTL記述を解釈して構造解析を行ない、構造解析の結果に基づいてクロックゲーティングを予測してEN(イネーブル)生成論理のRTL記述を検出し、且つ、同一のEN生成論理を検出する。そして、検出されたEN生成論理からクロックゲーティング回路の挿入位置と論理階層組み替えを決定して、論理合成における論理階層組み替えの指示と設計変更処理を行なう。更に、設計変更後のRTL記述と論理階層組み替えの指示とによって論理合成を行ない、具体的な回路構成レイアウトしている。

また、特許文献2には高速化を実現することが可能な半導体装置設計方法に関する技術が開示されている。特許文献2にかかる半導体装置の設計方法では、機能ブロック単位階層化された半導体チップのネットリストに対し、機能ブロック単位の階層を展開し、同一クロック信号が供給される回路を抽出及び階層化することで、クロックドメイン単位回路ブロックを含むネットリストを構築し、回路ブロックの単位で半導体チップ内の配線配置を行なっている。これにより、クロックパルス発生器からのクロックレイテンシが小さくなり、半導体装置の高速化が可能となる。

概要

論理合成済みの回路に対して容易かつ高精度にクロックゲーティングセルを挿入することができる回路設計方法、及び回路設計プログラムを提供することである。本発明にかかる回路設計方法は、設計者の意する論理に基づいて、クロックゲーティング条件を含まないRTL記述ファイルを作成する第1のステップ(ステップS1)と、論理合成ツールを用いて、RTL記述ファイルに基づき第1のネットリストを生成する第2のステップ(ステップS2)と、第1のネットリストにクロックゲーティングセルを挿入して第2のネットリストを生成する第3のステップ(ステップS3)と、自動レイアウトツールを用いて、第2のネットリストに含まれるセルの配置を決定する第4のステップ(ステップS4)と、を有する。

目的

本発明の目的は、論理合成済みの回路に対して容易かつ高精度にクロックゲーティングセルを挿入することができる回路設計方法、及び回路設計プログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

設計者の意図する論理に基づいて、クロックゲーティング条件を含まないRTL記述ファイルを作成する第1のステップと、論理合成ツールを用いて、前記RTL記述ファイルに基づき第1のネットリストを生成する第2のステップと、前記第1のネットリストにクロックゲーティングセルを挿入して第2のネットリストを生成する第3のステップと、自動レイアウトツールを用いて、前記第2のネットリストに含まれるセルの配置を決定する第4のステップと、を有する回路設計方法

請求項2

前記第3のステップは、前記第1のネットリストから特定の条件を満たす回路ブロックを抽出し、当該回路ブロックにクロックを供給するクロック供給源と当該回路ブロックとの間にクロックゲーティングセルを挿入して前記第2のネットリストを生成するステップである、請求項1に記載の回路設計方法。

請求項3

前記第3のステップで抽出される前記特定の条件を満たす回路ブロックは、テスト回路ブロックである、請求項2に記載の回路設計方法。

請求項4

前記第3のステップで抽出される前記特定の条件を満たす回路ブロックは、同一のクロックで動作する回路ブロックである、請求項2に記載の回路設計方法。

請求項5

前記第3のステップで抽出される前記特定の条件を満たす回路ブロックは、同一の機能を有する回路ブロックである、請求項2に記載の回路設計方法。

請求項6

前記第4のステップで配置された前記セルのうちフリップフロップの配置に基づき、前記クロックゲーティングセルを複製する第5のステップを更に有する、請求項1乃至5のいずれか一項に記載の回路設計方法。

請求項7

前記第5のステップで再配置された前記クロックゲーティングセルの配置に基づきクロックバッファを生成するステップを更に有する、請求項6に記載の回路設計方法。

請求項8

クロックスキューに基づき前記フリップフロップ及び前記クロックゲーティングセルの配置を最適化する第6のステップを更に有する、請求項1乃至7のいずれか一項に記載の回路設計方法。

請求項9

回路にクロックゲーティングセルを挿入するコンピュータに実行させるためのプログラムであって、設計者の意図する論理に基づいて作成された、クロックゲーティング条件を含まないRTL記述ファイルを読み込む第1のステップと、論理合成ツールを用いて、前記RTL記述ファイルに基づき第1のネットリストを生成する第2のステップと、前記第1のネットリストにクロックゲーティングセルを挿入して第2のネットリストを生成する第3のステップと、自動レイアウトツールを用いて、前記第2のネットリストに含まれるセルの配置を決定する第4のステップと、をコンピュータに実行させるための回路設計プログラム

請求項10

前記第3のステップは、前記第1のネットリストから特定の条件を満たす回路ブロックを抽出し、当該回路ブロックにクロックを供給するクロック供給源と当該回路ブロックとの間にクロックゲーティングセルを挿入して前記第2のネットリストを生成するステップである、請求項9に記載の回路設計プログラム。

技術分野

0001

本発明は回路設計方法、及び回路設計プログラムに関し、特に回路クロックゲーティングセルを挿入する回路設計方法、及び回路設計プログラムに関する。

背景技術

0002

近年のLSI設計においては、消費電力の削減が大きな課題となっており、その削減手法の1つとしてクロックゲーティングが一般的に用いられている。クロックゲーティングとは、LSI中のフリップフロップ回路ラッチ回路ドミノ回路などに供給するクロックを一時的、部分的に停止させる手法で、例えば図6に示す回路で実現される。

0003

図6に示す回路は、クロック供給源110、クロックバッファ120、クロックゲーティングセル130〜132、フリップフロップFF)140〜145を有する。この回路では、クロック供給源110からクロックバッファ120、クロックゲーティングセル130〜132を経由して、各フリップフロップ140〜145にクロックが供給される。

0004

クロックゲーティングセル130〜132は入力としてCLK、CEN(Clock ENable)、出力としてGCLKの各端子を備える。そして、イネーブル信号としてCEN端子に"1"が入力された時には、CLK端子に入力されたクロックがそのままGCLK端子に伝播する。一方、イネーブル信号としてCEN端子に"0"が入力された時には、CLK端子の入力にかかわらずGCLK端子の出力は0となる。GCLK端子からの出力はフリップフロップ140〜145のクロック入力端子に接続されているため、クロックゲーティングセルのCEN端子へイネーブル信号を入力することで、フリップフロップ140〜145へのクロック供給を制御することができる。

0005

ここで、クロック供給が停止された際、フリップフロップ140〜145の出力は停止以前のデータを保持し続ける。すなわち、クロックゲーティングセル130〜132の挿入は、論理的にはCENをホールド条件とした1サイクル前の自己の値のホールドと同じ動作となる。また、CEN端子に常時"1"を入力すれば常時クロック伝播を続けることができ、クロックゲーティングを行わないフリップフロップと同じクロック分配回路を使用することができる。この様に、クロックゲーティングを用いることで、クロックゲーティングの出力バッファ及びそれに接続される配線、フリップフロップの入力ゲート等で消費される電力の削減、またフリップフロップの出力値固定化されることによるフリップフロップ間のデータ伝播で消費される電力の削減が期待できる。

0006

次に、クロックゲーティングセルを挿入する設計フローについて説明する。図7に設計フローの例を示す。まず、設計者は回路の通常動作記述したRTL(Register Transfer Level)を作成する(ステップS101)。この場合の記述例を図8に示す。次に、クロックゲーティング条件の記述を、ステップS101で作成したRTL記述に挿入する(ステップS102)。図9はこの場合の記述例を示しており、この記述の"enable"がクロックゲーティング条件を示す。

0007

次に、作成されたRTL記述を論理合成ツールに入力し、ネットリストを作成する(ステップS103)。論理合成ツールはRTL記述中のゲーティング条件及びホールド条件を自動で判定し、クロックゲーティング可能な箇所に対して自動的にクロックゲーティングセルを生成する。またこの際、ゲーティング条件が同じフリップフロップは一組のグループとして扱われ、1つのクロックゲーティングセルに対して複数のフリップフロップが接続される。

0008

図10は、論理合成(ステップ103)後のネットリスト接続を示す図である。図10に示すように、クロック供給源110はフリップフロップ140に対して直接クロックを供給している。また、クロック供給源110はフリップフロップ141、142に対してクロックゲーティングセル131を介してクロックを供給している。また、クロック供給源110はフリップフロップ143〜145に対してクロックゲーティングセル132を介してクロックを供給している。

0009

次に、レイアウトツールによる自動配置を行う(ステップS104)。レイアウトツールは配置制約遅延制約、その他の条件に基づいてネットリスト中のセルの配置を行う。
次に、CTS(Clock Tree Synthesis)処理を行う(ステップS105)。CTS処理では、クロック分配対象セル密度に合わせてクロックバッファが生成さる。また、離れた箇所にあるフリップフロップで共通して使用されるクロックゲーティングは、複製する等の処理が行なわれる。この結果、図6に示すような接続が生成される。
次に、CTSで生成、移動されたセルの再配置及びスキューを考慮した遅延最適化等を行い(ステップS106)、配線処理が行なわれる(ステップS107)。

0010

また、特許文献1には低消費電力化と回路の簡素化を実現するための論理設計を行なう回路設計装置に関する技術が開示されている。特許文献1にかかる回路設計装置は、設計対象のRTL記述を解釈して構造解析を行ない、構造解析の結果に基づいてクロックゲーティングを予測してEN(イネーブル)生成論理のRTL記述を検出し、且つ、同一のEN生成論理を検出する。そして、検出されたEN生成論理からクロックゲーティング回路の挿入位置と論理階層組み替えを決定して、論理合成における論理階層組み替えの指示と設計変更処理を行なう。更に、設計変更後のRTL記述と論理階層組み替えの指示とによって論理合成を行ない、具体的な回路構成レイアウトしている。

0011

また、特許文献2には高速化を実現することが可能な半導体装置設計方法に関する技術が開示されている。特許文献2にかかる半導体装置の設計方法では、機能ブロック単位階層化された半導体チップのネットリストに対し、機能ブロック単位の階層を展開し、同一クロック信号が供給される回路を抽出及び階層化することで、クロックドメイン単位回路ブロックを含むネットリストを構築し、回路ブロックの単位で半導体チップ内の配線配置を行なっている。これにより、クロックパルス発生器からのクロックレイテンシが小さくなり、半導体装置の高速化が可能となる。

先行技術

0012

特開2007−164590号公報
特開2006−49638号公報

発明が解決しようとする課題

0013

背景技術で説明した設計手法では、論理合成済みの回路に対して新たにクロックゲーティングセルを挿入する場合、人手でRTL記述にクロックゲーティング条件を追加する必要がある。つまり、図9に示すようなクロックゲーティング条件を示す記述である"enable"をRTL記述に追加する必要がある。また、背景技術で説明した設計手法では、論理合成ツールを用いてゲーティングセルを生成するためゲーティング条件等の制御性が悪く、設計者の意図した条件でゲーティングセルを生成するのが困難であるという問題がある。

0014

よって本発明の目的は、論理合成済みの回路に対して容易かつ高精度にクロックゲーティングセルを挿入することができる回路設計方法、及び回路設計プログラムを提供することである。

課題を解決するための手段

0015

本発明にかかる回路設計方法は、設計者の意図する論理に基づいて、クロックゲーティング条件を含まないRTL記述ファイルを作成する第1のステップと、論理合成ツールを用いて、前記RTL記述ファイルに基づき第1のネットリストを生成する第2のステップと、前記第1のネットリストにクロックゲーティングセルを挿入して第2のネットリストを生成する第3のステップと、自動レイアウトツールを用いて、前記第2のネットリストに含まれるセルの配置を決定する第4のステップと、を有する。

0016

本発明にかかる、回路にクロックゲーティングセルを挿入するためのプログラムは、設計者の意図する論理に基づいて作成された、クロックゲーティング条件を含まないRTL記述ファイルを読み込む第1のステップと、論理合成ツールを用いて、前記RTL記述ファイルに基づき第1のネットリストを生成する第2のステップと、前記第1のネットリストにクロックゲーティングセルを挿入して第2のネットリストを生成する第3のステップと、自動レイアウトツールを用いて、前記第2のネットリストに含まれるセルの配置を決定する第4のステップと、をコンピュータに実行させるための回路設計プログラムである。

発明の効果

0017

本発明により論理合成済みの回路に対して容易かつ高精度にクロックゲーティングセルを挿入することができる回路設計方法、及び回路設計プログラムを提供することができる。

図面の簡単な説明

0018

実施の形態1にかかる回路設計方法を説明するためのフローチャートである。
実施の形態2にかかる回路設計方法を説明するためのフローチャートである。
論理合成(第2のステップ)により生成された第1のネットリストの接続状態を示す図である。
クロックゲーティングセル挿入(第3のステップ)により生成された第2のネットリストの接続状態を示す図である。
実施の形態2にかかる回路設計フローにより生成される回路図である。
背景技術にかかるクロックゲーティングセル挿入フローにより生成される回路図である。
背景技術にかかる回路設計方法を説明するためのフローチャートである。
クロックゲーティング条件が未挿入のRTL記述の一例である。
クロックゲーティング条件が挿入されたRTL記述の一例である。
背景技術にかかる回路設計フローの論理合成(ステップS103)後のネットリストの接続状態を示す図である。

実施例

0019

実施の形態1.
以下、図面を参照して本発明の実施の形態1について説明する。図1は本実施の形態にかかる回路設計方法を説明するためのフローチャートである。
本実施の形態にかかる回路設計方法は、設計者の意図する論理に基づいて、クロックゲーティング条件を含まないRTL記述ファイルを作成する第1のステップ(図1のステップS1)と、論理合成ツールを用いて、第1のステップで生成されたRTL記述ファイルに基づき第1のネットリストを生成する第2のステップ(ステップS2)と、第1のネットリストにクロックゲーティングセルを挿入して第2のネットリストを生成する第3のステップ(ステップS3)と、自動レイアウトツールを用いて、第2のネットリストに含まれるセルの配置を決定する第4のステップ(ステップS4)と、を少なくとも有する。以下、各ステップについて詳細に説明する。

0020

第1のステップ(ステップS1)では、設計者の意図する論理に基づいて、回路の通常動作を記述したRTL記述ファイルを作成する。本実施の形態にかかる回路設計方法では、RTL記述ファイルには回路の通常動作のみを記述し、クロックゲーティング条件は記述に含めない。RTL記述ファイルは、例えばハードウェア設計言語HDL(Hardware Description Language)を用いて、モジュール毎の機能の記述をすることで作成する。

0021

また、RTL記述ファイルを作成後、RTL記述の品質チェック機能検証等を実施してもよい。RTL記述ファイルの品質チェックでは、RTL記述の内容が文法上、記述規則違反していないかチェックする。また、RTL記述の検証では、例えばシュミレータを用いて予め定められた仕様通りの機能がHDLで表現されているかを検証する。

0022

第2のステップ(ステップS2)では、論理合成ツールを用いて、第1のステップで作成したRTL記述ファイルに基づき第1のネットリストを生成する。この際も、論理合成ツールによるクロックゲーティングセルの生成は行なわれない。第1のネットリストにはセル(回路素子)やそのセル間の接続状況が記載されている。第2のステップで生成される第1のネットリストの接続状態を図3に示す。図3に示すように、各フリップフロップ40〜44にはクロック供給源10からクロックが供給されている。

0023

第3のステップ(ステップS3)では、第2のステップで生成した第1のネットリストにクロックゲーティングセルを挿入して第2のネットリストを生成する。クロックゲーティングセルの挿入は、例えば特定の条件を満たす回路ブロック毎に、単一または複数のクロックゲーティングセルを挿入する。第3のステップで生成される第2のネットリストの接続状態を図4に示す。図4に示すように、各フリップフロップ40〜44とクロック供給源10との間にはクロックゲーティングセル30が設けられている。そして、各フリップフロップ40〜44へのクロックの供給は、クロックゲーティングセルのCEN入力に供給されるイネーブル信号により制御される。ここで、各フリップフロップ40〜44は特定の条件を満たす回路ブロック50である。特定の条件を満たす回路ブロック50としては、例えばテスト回路ブロック、同一のクロックで動作する回路ブロック、同一の機能を有する回路ブロックである。

0024

なお、第3のステップにおいて、第1のネットリストにクロックゲーティングセルを挿入する場所は、例えば第1のネットリストを検索して特定の条件を満たす回路ブロックを自動で抽出することで決定することができる。また、第1のネットリストにクロックゲーティングセルを挿入する場所は、例えば第1のネットリストを参照して、設計者が入力手段を用いて指定することもできる。このようにして、第3のステップでは特定の条件を満たす回路ブロックとクロック供給源との間にクロックゲーティングセルを挿入する。

0025

第4のステップ(ステップS4)では、自動レイアウトツールを用いて、第3のステップで生成された第2のネットリストに含まれるセル(クロックゲーティングセル、フリップフロップなど)の配置を決定する。自動レイアウトツールは、配置制約、遅延制約、その他の条件に基づいて第2のネットリスト中にあるセルの配置を行なう。

0026

以上で説明した本実施の形態にかかる回路設計方法では、RTL記述ファイルにクロックゲーティング条件を含めるのではなく、RTL記述ファイルを論理合成することで生成された第1のネットリストにクロックゲーティングセルを挿入している。これにより、論理合成済みの回路に対して新たにクロックゲーティングセルを挿入する際に、人手でRTL記述にクロックゲーティング条件を追加する必要がなくなる。つまり、図9に示すようなクロックゲーティング条件を示す記述である"enable"をRTL記述に追加する必要がなくなるため、クロックゲーティング条件の記述漏れを抑制することができる。
また、本実施の形態にかかる回路設計方法では、論理合成ツールを用いてゲーティングセルを生成していないためゲーティング条件の制御性がよく、設計者の意図した条件でゲーティングセルを生成することができる。

0027

よって、本実施の形態にかかる発明により論理合成済みの回路に対して容易かつ高精度にクロックゲーティングセルを挿入することができる回路設計方法を提供することができる。

0028

一方、回路を構成する全ての回路ブロックに対して単一のゲーティング条件によるクロックゲーティングセルを挿入した場合、回路に対して一括してクロックの供給を停止することができる。

0029

通常のクロックゲーティングセルの挿入フローでは、クロックゲーティング条件を含むRTL記述ファイルに基づき、論理合成ツールが自動でクロックゲーティング条件の抽出及びフリップフロップのグループ化を行うために、クロックゲーティングセルが生成されない場合や期待通りの条件でのクロックゲーティングが行われない可能性があった。また、クロックゲーティング条件の異なる複数のクロックゲーティングセルが生成されるため、これらに接続されるフリップフロップがそれぞれグループ化され、近傍に配置されることにより、レイアウト時の配置が制約されていた。

0030

しかし、回路を構成する全ての回路ブロックに対して単一のゲーティング条件によるクロックゲーティングセルを挿入する場合、本実施の形態にかかる回路設計方法ではクロック供給源の根本にクロックゲーティングセルを挿入することができるので、100%のクロックゲーティング率保証することができる。また、この場合はクロックゲーティング条件の異なる複数のクロックゲーティングセルが生成されないため、各フリップフロップのレイアウト時の配置が制約されることを抑制できる。

0031

本実施の形態にかかる回路設計方法は、このように一括してクロックの供給を止めるような回路の設計により適している。このような回路としては、例えばLSI中に組み込まれたテスト回路(LSIの通常動作時に使用されず値が保持されないものとする)がある。この理由は、LSI中に組み込まれたテスト回路は、通常動作時には使用されないため、回路ブロック単位で完全に停止することが期待されているからである。また、LSIが動作する時間のうち大部分では回路ブロック全体が停止しているため、さらに細かい単位でクロックゲーティングセルを設ける必要性が低いからである。また、LSIの通常の回路では、複数に分配されたクロックゲーティングセルへの信号分配が課題となるが、テスト回路であれば動作の開始、停止の切り替えタイミングを調整でき、信号伝播にも十分な時間を確保することができるからである。

0032

また、本実施の形態にかかる回路設計プログラムは、上記第1乃至第4のステップをコンピュータに実行させるためのプログラムである。
すなわち、本実施の形態にかかる、回路にクロックゲーティングセルを挿入するためのプログラムは、設計者の意図する論理に基づいて作成された、クロックゲーティング条件を含まないRTL記述ファイルを読み込む第1のステップと、論理合成ツールを用いて、RTL記述ファイルに基づき第1のネットリストを生成する第2のステップと、第1のネットリストにクロックゲーティングセルを挿入して第2のネットリストを生成する第3のステップと、自動レイアウトツールを用いて、第2のネットリストに含まれるセルの配置を決定する第4のステップと、をコンピュータに実行させるための回路設計プログラムである。

0033

本実施の形態にかかる回路設計プログラムにおいても、回路設計方法と同様の効果、つまり、論理合成済みの回路に対して容易かつ高精度にクロックゲーティングセルを挿入することができるという効果を得ることができる。

0034

実施の形態2.
次に、本発明の実施の形態2について説明する。図2は本実施の形態にかかる回路設計方法を説明するためのフローチャートである。図2に示すフローチャートでは、実施の形態1で説明した図1に示すフローチャートに、ステップS3'、ステップS5、ステップS6、ステップS7が追加されている。以下、本実施の形態にかかる回路設計方法について説明する。

0035

第1のステップ(ステップS1)では、設計者の意図する論理に基づいて、クロックゲーティング条件を含まないRTL記述ファイルを作成する(図2のステップS1)。また、第2のステップ(ステップS2)では、論理合成ツールを用いて、第1のステップで生成されたRTL記述ファイルに基づき第1のネットリストを生成する。なお、第1及び第2のステップについては、実施の形態1の内容と重複するので説明を省略する。

0036

第3'のステップ(ステップS3')では、第1のネットリストから特定の条件を満たす回路ブロックを抽出する。ここで、特定の条件を満たす回路ブロックとは、例えばテスト回路ブロック、同一のクロックで動作する回路ブロック、同一の機能を有する回路ブロックである。

0037

テスト回路ブロックは、例えば第1のネットリストからテスト回路ブロックを構成するフリップフロップを検索することで抽出することができる。

0038

また、同一のクロックで動作する回路ブロックは、例えば第1のネットリストを構成する各フリップフロップのうち、共通のクロック供給源に接続されているフリップフロップを検索することで抽出することができる。なお、複数のフリップフロップが階層化されている場合は、階層レベルで同一のクロックで動作する回路ブロックを抽出してもよい。

0039

また、同一の機能を有する回路ブロックは、例えば第1のネットリストを構成する各フリップフロップのうち、同一の機能を有するフリップフロップを検索することで抽出することができる。

0040

なお、本実施の形態にかかる回路設計方法では、回路ブロックを抽出するための特定の条件は任意に設定することができる。また、回路ブロックを抽出するための特定の条件は複数の条件の組み合わせであってもよい。

0041

第3のステップ(ステップS3)では、第3'のステップで抽出した回路ブロックにクロックを供給するクロック供給源と当該回路ブロックとの間にクロックゲーティングセルを挿入して第2のネットリストを生成する。クロックゲーティングセルを挿入する場合は、例えばステップ3'で抽出された各回路ブロックを構成するフリップフロップの収束点を第1のネットリストから抽出し、この収束点にクロックゲーティングセルを挿入する。

0042

なお、前述のクロックゲーティングセルの抽出処理(ステップ3')および挿入処理(ステップ3)は自動的に行なったが、これらの処理の一部または全ては設計者により手動で行なってもよい。
クロックゲーティングセルの抽出処理および挿入処理の一部を手動で行なう場合は、例えばステップ3'で第1のネットリストから特定の条件を満たす回路ブロックを自動で抽出する。そしてステップ3で、この抽出結果に基づいて設計者が手動でクロックゲーティングセルの挿入場所を決定する。
一方、クロックゲーティングセルの抽出処理および挿入処理の全てを手動で行なう場合は、例えばステップ3'で第1のネットリストから特定の条件を満たす回路ブロックを手動で抽出する。そしてステップ3で、この抽出結果に基づいて設計者が手動でクロックゲーティングセルの挿入場所を決定する。

0043

第4のステップ(ステップS4)では、自動レイアウトツールを用いて、第3のステップで生成された第2のネットリストに含まれるセル(クロックゲーティングセル、フリップフロップなど)の配置を決定する。自動レイアウトツールは、配置制約、遅延制約、その他の条件に基づいて第2のネットリスト中にあるセルの配置を行なう。

0044

第5のステップ(ステップS5)では、CTS処理を行なう。このステップでは、クロックゲーティングセルはフリップフロップの配置にあわせて適宜複製され、また複製されたクロックゲーティングセルの密度にあわせてクロックバッファが生成される。

0045

第6のステップ(ステップS6)では、第5のステップのCTS処理で生成、移動されたセルを再配置し、また、クロック端子から各フリップフロップまでの配線遅延のずれ、つまりスキューがある規定値以内に収まるように最適化処理をする。
第7のステップ(ステップS7)では、フリップフロップ及びクロックゲーティングセルの配線をする。

0046

なお、本実施の形態にかかる回路設計方法では、CTS処理(第5のステップ)以降のフローは通常のクロックゲーティング挿入フローと同様であり、また、使用されるクロックゲーティングセルも通常のものと同様であるため、CTS処理以降のフローの使用の有無によりレイアウト時に特別な領域を設けるなどの必要がない。

0047

本実施の形態にかかる回路設計方法により生成された回路図を図5に示す。図5に示す回路では、フリップフロップ40〜44が回路ブロック50を構成しており、各フリップフロップ40〜44にはクロック供給源10からクロックバッファ20、クロックゲーティングセル30、31を介してクロックが供給されている。クロックゲーティングセル30はクロックバッファ20とフリップフロップ40〜42との間に設けられている。フリップフロップ40〜42へのクロックの供給は、クロックゲーティングセル30のCEN入力に供給されるイネーブル信号により制御される。クロックゲーティングセル31はクロックバッファ20とフリップフロップ43、44との間に設けられている。フリップフロップ43、44へのクロックの供給は、クロックゲーティングセル31のCEN入力に供給されるイネーブル信号により制御される。

0048

図5に示す回路図と、図4に示す実施の形態1にかかる回路設計方法により生成された回路図とを比較すると、図5に示す回路図では回路ブロック50を構成するフリップフロップ40〜44に対してクロックゲーティングセルが2つ設けられており、また、クロック供給源10とクロックゲーティングセル30、31との間にはクロックバッファ20が設けられている。つまり、本実施の形態にかかる回路設計方法では、ステップ4の自動配置後にステップ5のCTS処理を実施することで、フリップフロップ40〜44の配置にあわせてクロックゲーティングセル30、31を配置でき、また、クロックゲーティングセル30、31の密度にあわせてクロックバッファ20を設けることができる。

0049

本実施の形態にかかる回路設計方法では、回路ブロック内のクロックゲーティング条件を統一することで、CTS処理(第5のステップ)によるクロックゲーティングセル複製時に、回路ブロック内のフリップフロップを任意に組み合わせてゲーティングセルに接続させることができる。これにより、各フリップフロップの配置の自由度が増し遅延の最適化、設計時間の短縮化を図ることができる。また、本実施の形態にかかる回路設計方法においても、実施の形態1の効果と同様の効果を得ることができる。

0050

以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。

0051

10クロック供給源
20クロックバッファ
30、31クロックゲーティングセル
40、41、42、43、44フリップフロップ
50 回路ブロック

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 深▲せん▼奔等電脳有限公司の「 ビッグデータサーバ電源装置」が 公開されました。( 2021/01/07)

    【課題】本発明はビッグデータサーバ電源装置を開示した。【解決手段】電源箱を含み、前記電源箱の中には上方に開口した貯水チャンバが設置され、前記貯水チャンバの中には雨水収集装置が設置され、前記雨水収集装置... 詳細

  • 株式会社ソシオネクストの「 半導体集積回路装置」が 公開されました。( 2021/01/07)

    【課題・解決手段】VNW(Vertical Nanowire:縦型ナノワイヤ) FETを備えた半導体集積回路装置は、タップセルを備える。タップセルは、第1方向に延びる電源配線(VDD)と、第1導電型... 詳細

  • 株式会社ミスミの「 設計支援システム、設計支援方法、及びプログラム」が 公開されました。( 2021/01/07)

    【課題・解決手段】設計支援システムSの表示部1bは、3Dモデルのエラー部分を強調表示するとともに、解消用条件認識部2fに認識された指定条件、及び、解消用部分の少なくとも一方を表示する。... 詳細

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ