米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> エヌイーシーマイクロシステム株式会社

発明の名称 論理回路設計方法
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−242188(P2003−242188A)
公開日 平成15年8月29日(2003.8.29)
出願番号 特願2002−42708(P2002−42708)
出願日 平成14年2月20日(2002.2.20)
代理人 【識別番号】100082935
【弁理士】
【氏名又は名称】京本 直樹 (外2名)
【テーマコード(参考)】
5B046
5F064
【Fターム(参考)】
5B046 AA08 BA03 JA01 JA05 
5F064 BB19 BB26 EE47 EE54 EE57 HH06 HH08 HH09 HH10 HH12
発明者 涌島 雅博
要約 課題
ゲーテッドクロック設計を適用した論理回路の設計において、設計処理量増大要因となるクロック遅延補正の必要性を除去し、開発期間の低減を図る。

解決手段
回路接続情報F12と、ゲーテッドクロックラインのゲート機能ブロックの遅延情報を0とした仮配線用の遅延値0ライブラリF13を用いて設計対象論理回路の遅延計算を行い仮配線遅延情報F14を生成する仮配線遅延計算ステップS12と、F14に基づき仮配線論理シミュレーションを実行し、仮配線シミュレーション結果F15を生成する仮配線論理シミュレーションステップS13とを有する。F15を判断し、シミュレーション結果が期待値と不一致の場合は、HDLF11の修正を行うか論理合成制約F10の制約条件を変更して、再度自動ゲーテッド化論理合成ステップS11を実行する。
特許請求の範囲
【請求項1】 クロック配線に論理ゲートを有するゲート機能ブロックを配設し前記論理ゲートの制御によりオン・オフされるゲーテッドクロックを用いる前記クロック配線であるゲーテッドクロックラインと前記ゲーテッドクロックラインでないクロック配線である非ゲーテッドクロックラインとが混在するゲーテッドクロック混在回路の論理回路設計方法において、前記ゲーテッドクロックラインの前記ゲート機能ブロックの遅延情報を0又は予め定めた最小値とした仮配線用の遅延値0ライブラリを用いて仮配線遅延情報を生成し、前記仮配線遅延情報に基づき仮配線論理シミュレーションを実行することを特徴とする論理回路設計方法。
【請求項2】 前記ゲート機能ブロックの遅延情報が、前記ゲート機能ブロック内の遅延時間とこのゲート機能ブロックの出力負荷による遅延変化量とを含み、前記遅延値0ライブラリが、前記ゲート機能ブロック内の遅延時間とこのゲート機能ブロックの出力負荷による遅延変化量の各々の値を0とすることを特徴とする請求項1記載の論理回路設計方法。
【請求項3】 クロック配線に論理ゲートを有するゲート機能ブロックを配設し前記論理ゲートの制御によりオン・オフされるゲーテッドクロックを用いゲーテッドクロック化された前記クロック配線であるゲーテッドクロックラインと前記ゲーテッドクロックラインでないクロック配線である非ゲーテッドクロックラインとが混在するゲーテッドクロック混在回路の論理回路設計方法において、ハードウェア記述言語(以下、HDL)と論理合成制約とを用いて前記ゲーテッドクロック化を自動で行って論理合成を実行し、論理合成結果を回路接続情報に格納する自動ゲーテッド化論理合成ステップと、前記回路接続情報と前記ゲーテッドクロックラインの前記ゲート機能ブロックの遅延情報を0とした仮配線用の遅延値0ライブラリとを読み込み仮配線遅延計算を実行し、仮配線遅延計算結果を仮配線遅延情報に格納する仮配線遅延計算ステップと、前記回路接続情報と前記仮配線遅延情報とを用いて遅延シミュレーションを実行し、遅延シミュレーション結果を仮配線シミュレーション結果に格納する仮配線論理シミュレーションステップと、前記仮配線シミュレーション結果の内容を判断し、この仮配線シミュレーション結果が第1の期待値と不一致の場合はNGとなり、第1のフィードバックループにより前記HDLの修正を行うか、前記論理合成制約の制約条件を変更して、再度前記自動ゲーテッド化論理合成ステップを実行し、前記仮配線シミュレーション結果と前記第1の期待値が一致した場合はOKとなり後述のCTS(Clock tree Synthesis:クロックツリー合成)展開ステップに進む仮配線シミュレーション結果判定ステップと、前記回路接続情報を読み込み、CTSバッファを展開しCTS展開結果をCTS展開後回路接続情報に格納する前記CTS展開ステップと、前記CTS展開後回路接続情報を読み込み配置・配線を実行し、配置・配線結果を容量情報付回路接続情報に格納する配置・配線ステップと、前記容量情報付回路接続情報を読み込み、実配線遅延計算を実行し、実配線遅延計算結果を実配線遅延情報に格納する実配線遅延計算ステップと、前記回路接続情報と前記実配線遅延情報を用いて遅延シミュレーションを実行し、遅延シミュレーション結果を実配線シミュレーション結果に格納する実配線論理シミュレーションステップと、前記実配線シミュレーション結果の内容を判断し、この実配線シミュレーション結果が第2の期待値と不一致の場合はNGとなり、第2のフィードバックループにより前記HDLの修正を行うか、前記論理合成制約の制約条件を変更して、再度前記自動ゲーテッド化論理合成ステップを実行するか、前記CTSのクロックツリー分配条件を変更して、再度前記CTS展開ステップを実行するか、再度前記配置・配線ステップを実行し、前記実配線シミュレーションの結果と前記第2の期待値が一致した場合はOKとなり回路設計フローを終了する実配線シミュレーション結果判定ステップとを有することを特徴とする論理回路設計方法。
【請求項4】 クロック配線に論理ゲートを有するゲート機能ブロックを配設し前記論理ゲートの制御によりオン・オフされるゲーテッドクロックを用いゲーテッドクロック化された前記クロック配線であるゲーテッドクロックラインと前記ゲーテッドクロックラインでないクロック配線である非ゲーテッドクロックラインとが混在するゲーテッドクロック混在回路の消費電力を見積もる論理回路設計方法において、ハードウェア記述言語(以下、HDL)と論理合成制約とを用いて前記ゲーテッドクロック化を自動で行って論理合成を実行し、論理合成結果を回路接続情報に格納する自動ゲーテッド化論理合成ステップと、前記回路接続情報と前記ゲーテッドクロックラインの前記ゲート機能ブロックの遅延情報を0とした仮配線用の遅延値0ライブラリとを読み込み仮配線遅延計算を実行し、仮配線遅延計算結果を仮配線遅延情報に格納する仮配線遅延計算ステップと、前記回路接続情報と前記仮配線遅延情報とを用いて消費電力見積りシミュレーションを実行し、前記消費電力見積りシミュレーションの結果を消費電力情報に格納する仮配線消費電力見積りシミュレーションステップとを有し、前記消費電力情報の結果に基づき、フィードバックループにより、前記HDLの修正を行うか、前記論理合成制約の制約条件を変更して、再度前記自動ゲーテッド化論理合成を実行し、消費電力が目標に至るまで試行してループを続けることを特徴とする論理回路設計方法。
【請求項5】 クロック配線に論理ゲートを有するゲート機能ブロックを配設し前記論理ゲートの制御によりオン・オフされるゲーテッドクロックを用いゲーテッドクロック化された前記クロック配線であるゲーテッドクロックラインと前記ゲーテッドクロックラインでないクロック配線である非ゲーテッドクロックラインとが混在するゲーテッドクロック混在回路の内部ブロックのトグル回数を算出する論理回路設計方法において、ハードウェア記述言語(以下、HDL)と論理合成制約とを用いて前記ゲーテッドクロック化を自動で行って論理合成を実行し、論理合成結果を回路接続情報に格納する自動ゲーテッド化論理合成ステップと、前記回路接続情報と前記ゲーテッドクロックラインの前記ゲート機能ブロックの遅延情報を0とした仮配線用の遅延値0ライブラリとを読み込み仮配線遅延計算を実行し、仮配線遅延計算結果を仮配線遅延情報に格納する仮配線遅延計算ステップと、前記回路接続情報と前記仮配線遅延情報とを用いて前記内部ブロックのトグル回数算出のための内部ブロックトグル回数算出シミュレーションを実行し、前記内部ブロックトグル回数算出シミュレーションの結果を内部ブロックトグル回数情報に格納する仮配線内部ブロックトグル算出シミュレーションステップを有し、前記内部ブロックトグル回数情報の結果に基づき、フィードバックループにより、前記HDLF11の修正を行うか、前記論理合成制約の制約条件を変更して、再度自動ゲーテッド化論理合成ステップを実行し、トグル回数の多い箇所のチューニングを行うことにより消費電力を低減することを特徴とする論理回路設計方法。
【請求項6】 前記ゲート機能ブロックの遅延情報が、前記ゲート機能ブロック内の遅延時間とこのゲート機能ブロックの出力負荷による遅延変化量とを含み、前記遅延値0ライブラリが、前記ゲート機能ブロック内の遅延時間とこのゲート機能ブロックの出力負荷による遅延変化量の各々の値を0とすることを特徴とする請求項3又は4又は5記載の論理回路設計方法。
【請求項7】 前記ゲーテッドクロック混在回路が、クロックが入力するクロック端子と、前記クロック端子と第1の配線を経由して入力端が接続され展開前のCTSをバッファリングするバッファと、入力端にゲーティングイネーブル信号が入力しゲーテッドクロック端が第2の配線を経由して前記バッファの出力端と接続されたクロックゲーティング用のDラッチブロックと、一方の入力端が第3の配線を経由して前記Dラッチブロックの出力端に他方の入力端が前記第2の配線を経由して前記バッファの出力端と接続された論理ブロックと、入力端が組合せ回路に接続されクロック入力端が前記第2の配線を経由して前記バッファの出力端と接続された第1のフリップフロップと、入力端が前記第1のフリップフロップの出力端に接続され前記クロック入力端が第4の配線を経由して前記論理ブロックに接続された第2のフリップフロップとを有することを特徴とする請求項3又は4又は5記載の論理回路設計方法。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は論理回路設計方法に関し、特にゲーテッドクロック設計を用いた論理回路設計方法に関する。
【0002】
【従来の技術】携帯機器の増加により、昨今のLSIには低消費電力が求められるようになってきた。この低消費電力設計において最も使用される手法の一つが、ゲーテッドクロックを使用する設計方法(以下、ゲーテッドクロック設計)である。このゲーテッドクロック設計は、クロック配線上にAND論理素子やOR論理素子等の論理素子を配設し、それらの論理素子にクロック信号と制御信号とを入力することにより、各クロック配線(クロックライン)へのクロック信号供給のオン/オフを制御するものである。しかし、このゲーテッドクロック設計方法の実施により、以下の問題が生じている。
【0003】一般的な従来の論理回路の設計方法である従来の第1の論理回路設計方法では、論理合成時の各種パラメータの与え方と、合成したネットの因果関係を、仮配線遅延シミュレーションで確認し、HDL(Hardware Description Langage:ハードウェア記述言語)や論理合成時の各パラメータ値にフィードバックをしていた。それが、ゲーテッドクロック設計の適用によって出来なくなる場合が生じたのである。
【0004】最近の論理回路設計におけるゲーテッドクロック設計の適用は、論理合成の時点で自動実行するようになって来ているが、この場合、ゲーテッドクロック設計されるクロックラインとゲーテッドクロック設計されないクロックラインとが混在することが多い。このような論理回路を仮配線遅延シミュレーションする場合、CTS(Clock tree Synthesis:クロックツリー合成)ブロックが、これらゲーテッドクロック設計クロックライン及び非ゲーテッドクロック設計クロックラインの両方に同一遅延値を与えるので、両者の間にはクロックスキューが発生してしまう。このクロックスキューによりタイミングエラーが発生するため、仮配線遅延シミュレーションが正常に実行出来なくなってしまう。
【0005】これは、CTSを展開すれば、各フリップフロップまでのスキューが合せ込まれるようになっているので、CTS展開後の実配線遅延シミュレーションでは問題にならない。このため、従来の設計方法では、CTSを展開してクロックスキューの合わせ込み(補正)をし、さらにレイアウトを行って、実配線遅延シミュレーションを行っているので、設計へのフィードバック量が増大し、開発期間の増大要因となっている。
【0006】従来の第1の論理回路設計方法をフローチャートで示す図5を参照すると、この図に示す従来の第1の論理回路設計方法はゲーテッドクロックが混在する一相同期回路の設計に適用した場合のフローであり、HDLF11を読み込み、論理合成制約F10を用いてゲーテッドクロック化を自動で行って論理合成を実行し、論理合成結果を回路接続情報F12に格納する自動ゲーテッド化論理合成ステップS11と、回路接続情報F12を読み込みCTSバッファを展開しCTS展開結果をCTS展開後回路接続情報F16に格納するCTS展開ステップS14と、CTS展開後クロックスキューを調整するクロックスキュー調整ステップP14と、CTS展開後回路接続情報F16を読み込み配置・配線を実行し、配置・配線結果を容量情報付回路接続情報F17に格納する配置・配線ステップS15と、容量情報付回路接続情報F17を読み込み、実配線遅延計算を実行し、実配線遅延計算結果を実配線遅延情報F18に格納する実配線遅延計算ステップS16と、回路接続情報F16と実配線遅延情報F18を用いて遅延検証を実行し、遅延検証結果を実配線シミュレーション結果F19に格納する実配線論理シミュレーションステップS17と、実配線シミュレーション結果F19の内容を判断し、検証の結果期待値不一致が有った場合はNGとなり、フィードバックループL12により、HDLF11の修正を行うか、論理合成制約F10の制約条件を変更して、再度論理合成S11を実行するか、CTSのクロックツリー分配条件を変更して、再度CTS展開S14を実行するか、再度配置・配線S15を実行し、検証の結果期待値が一致した場合はOKとなり回路設計フローを終了する実配線シミュレーション結果判定ステップJ12とを有する。
【0007】この従来の第1の論理回路設計方法においては、自動ゲーテッド化論理合成ステップS11の後、ゲーテッドクロックが混在すると、CTS展開ステップS14を行って、クロックスキューを調整(ステップP14)後、配置・配線ステップS15を行い、さらに実配線遅延計算ステップS16を行って得られた実配線遅延情報F18を用いて実配線論理シミュレーションS17を行う。実配線シミュレーション結果F19の判定(ステップJ12)結果NGの場合、L12のループでフィードバックをHDLF11や論理合成制約F10に掛けるため、設計フロー上流での一度の試行に対するフィードバックループL12が巨大になって、収束点を見出すのに多くの時間を費やしていた。すなわち、フィードバックループL12を使用して、CTS展開から、配置・配線まで、回路規模にもよるが10〜30時間を要していた。
【0008】次に、従来の第1の論理回路設計方法における設計対象のゲーテッドクロックが混在する一相同期回路の消費電力見積りフローを図5と共通の構成要素には共通の参照文字/数字を付して同様にフローチャートで示す図6を参照すると、この図に示す消費電力見積りフローの前述の設計フローとの相違点は、実配線遅延計算ステップS16の次に、CTS展開後回路接続情報F16とステップS16で生成した実配線遅延情報F18とを用いて消費電力見積りシミュレーションを実行し、消費電力見積りシミュレーションの結果を消費電力情報F120に格納する実配線消費電力見積りシミュレーションステップP20を有することである。
【0009】消費電力情報F120は、フイードバックループL15によりHDLF11、論理合成制約F10、CTS展開ステップS14及び配置配線ステップS15にフイードバックされる。
【0010】ゲーテッドクロックが混在すると、CTS展開を行って(ステップS14)、クロックスキューを調整し(ステップP14)、そのフィードバックをフイードバックループL15を経由し実配線遅延を記述したHDLF11に対して行うため、回路のレイアウトを行う必要があり、一度の消費電力見積りに対するフィードバックループが巨大になって、収束点を見出すのに多くの時間を費やしていた。
【0011】従来の第1の論理回路設計方法における設計対象のゲーテッドクロックが混在する一相同期回路の内部ブロックトグル回数の算出フローを図5と共通の構成要素には共通の参照文字/数字を付して同様にフローチャートで示す図7を参照すると、この図に示す内部ブロックトグル回数の算出フローの前述の設計フローとの相違点は、実配線遅延計算ステップS16の次に、CTS展開後回路接続情報F16とステップS16で生成した実配線遅延情報F18とを用いて実配線での内部ブロックトグル回数算出シミュレーションを実行し、内部ブロックトグル回数算出シミュレーションの結果を内部ブロックトグル回数情報F121に格納する実配線内部ブロックトグル算出シミュレーションステップP21を有することである。
【0012】内部ブロックトグル回数情報F121は、フイードバックループL16によりHDLF11、論理合成制約F10、CTS展開ステップS14及び配置配線ステップS15にフイードバックされる。
【0013】ゲーテッドクロックが混在すると、CTS展開を行って(ステップS14)、クロックスキューを調整し(ステップP14)、そのフィードバックをフイードバックループL16を経由してHDLF11に対して行うため、回路のレイアウトを行う必要があり、内部ブロックのトグル回数算出のフローが長くなっていた。
【0014】上記問題点の解決方法として特開2000−40096号公報記載の従来の第2の論理回路設計方法は、クロックラインの遅延を抽出し、クロック配線の最適化処理を見込んだ遅延値の合せ込み(補正)を行うことによって、仮配線遅延での論理シミュレーションを実現するというものである。
【0015】従来の第2の論理回路設計方法における論理シミュレーション用の遅延情報を生成する、従来の論理シミュレーション用遅延情報生成装置をブロックで示す図8を参照すると、この遅延情報生成装置は、回路情報格納部101と、クロック仕様入力部102と、クロックディレイ解析部103と、クロックディレイ情報格納部104と、ディレイ情報生成部105と、論理シミュレーション用ディレイ情報格納部106と、テストパターン入力部107と、論理シミュレーション実行部108とを備える。
【0016】図8及び生成した遅延値の解析方法をフローチャートで示す図9を参照して従来の第2の論理回路設計方法における論理シミュレーション用遅延情報の生成方法について説明すると、まず、クロックの仕様を作成・入力し(ステップP101)、クロックネットの遅延時間を解析し(ステップP102)、次に、論理シミュレーション用のクロックディレイ情報を生成し(ステップP103)、生成したクロックディレイ情報を用いて仮配線遅延での論理シミュレーションを実行する(ステップP104)。
【0017】しかし、この従来の第2の論理回路設計方法は、クロック仕様の作成(ステップP101)及びクロックネットの遅延時間解析(ステップP102)という、回路規模の増大に伴い指数関数的に処理量が増大するクロック遅延補正という処理ステップが含まれているため、実行時間的に設計フローに与える影響が無視出来なかった。
【0018】
【発明が解決しようとする課題】上述した従来の第1の論理回路設計方法は、仮配線遅延シミュレーションする場合、ゲーテッドクロック設計クロックライン及び非ゲーテッドクロック設計クロックラインの両方にCTSブロックから与えられる同一遅延値によるクロックスキューの発生回避のため、CTS展開後にクロックスキューを補正し、さらにレイアウトを行って、実配線遅延シミュレーションを行うので、設計へのフィードバック量が増大し、開発期間の増大要因となるという欠点があった。
【0019】また、上記欠点の解決を図った従来の第2の論理回路設計方法は、クロックラインの遅延を抽出し、クロック配線の最適化処理を見込んだ遅延値の補正を行うことによって、仮配線遅延での論理シミュレーションを実現するというものであるが、クロック仕様の作成及びクロックネットの遅延時間解析という、回路規模の増大に伴い指数関数的に処理量が増大するクロック遅延補正という処理ステップが含まれているため、実行時間的に設計フローに与える影響が無視出来ないという欠点があった。
【0020】本発明の目的は、低消費電力化のためのゲーテッドクロック設計を適用した論理回路の設計において、設計処理量増大要因となるクロック遅延補正の必要性を除去することにより、開発期間の低減を図った論理回路設計方法を提供することにある。
【0021】
【課題を解決するための手段】請求項1記載の発明の論理回路設計方法は、クロック配線に論理ゲートを有するゲート機能ブロックを配設し前記論理ゲートの制御によりオン・オフされるゲーテッドクロックを用いる前記クロック配線であるゲーテッドクロックラインと前記ゲーテッドクロックラインでないクロック配線である非ゲーテッドクロックラインとが混在するゲーテッドクロック混在回路の論理回路設計方法において、前記ゲーテッドクロックラインの前記ゲート機能ブロックの遅延情報を0又は予め定めた最小値とした仮配線用の遅延値0ライブラリを用いて仮配線遅延情報を生成し、前記仮配線遅延情報に基づき仮配線論理シミュレーションを実行することを特徴とするものである。
【0022】また、請求項2記載の発明は、請求項1記載の論理回路設計方法において、前記ゲート機能ブロックの遅延情報が、前記ゲート機能ブロック内の遅延時間とこのゲート機能ブロックの出力負荷による遅延変化量とを含み、前記遅延値0ライブラリが、前記ゲート機能ブロック内の遅延時間とこのゲート機能ブロックの出力負荷による遅延変化量の各々の値を0とすることを特徴とするものである。
【0023】請求項3記載の発明の論理回路設計方法は、クロック配線に論理ゲートを有するゲート機能ブロックを配設し前記論理ゲートの制御によりオン・オフされるゲーテッドクロックを用いゲーテッドクロック化された前記クロック配線であるゲーテッドクロックラインと前記ゲーテッドクロックラインでないクロック配線である非ゲーテッドクロックラインとが混在するゲーテッドクロック混在回路の論理回路設計方法において、ハードウェア記述言語(以下、HDL)と論理合成制約とを用いて前記ゲーテッドクロック化を自動で行って論理合成を実行し、論理合成結果を回路接続情報に格納する自動ゲーテッド化論理合成ステップと、前記回路接続情報と前記ゲーテッドクロックラインの前記ゲート機能ブロックの遅延情報を0とした仮配線用の遅延値0ライブラリとを読み込み仮配線遅延計算を実行し、仮配線遅延計算結果を仮配線遅延情報に格納する仮配線遅延計算ステップと、前記回路接続情報と前記仮配線遅延情報とを用いて遅延シミュレーションを実行し、遅延シミュレーション結果を仮配線シミュレーション結果に格納する仮配線論理シミュレーションステップと、前記仮配線シミュレーション結果の内容を判断し、この仮配線シミュレーション結果が第1の期待値と不一致の場合はNGとなり、第1のフィードバックループにより前記HDLの修正を行うか、前記論理合成制約の制約条件を変更して、再度前記自動ゲーテッド化論理合成ステップを実行し、前記仮配線シミュレーション結果と前記第1の期待値が一致した場合はOKとなり後述のCTS(Clock tree Synthesis:クロックツリー合成)展開ステップに進む仮配線シミュレーション結果判定ステップと、前記回路接続情報を読み込み、CTSバッファを展開しCTS展開結果をCTS展開後回路接続情報に格納する前記CTS展開ステップと、前記CTS展開後回路接続情報を読み込み配置・配線を実行し、配置・配線結果を容量情報付回路接続情報に格納する配置・配線ステップと、前記容量情報付回路接続情報を読み込み、実配線遅延計算を実行し、実配線遅延計算結果を実配線遅延情報に格納する実配線遅延計算ステップと、前記回路接続情報と前記実配線遅延情報を用いて遅延シミュレーションを実行し、遅延シミュレーション結果を実配線シミュレーション結果に格納する実配線論理シミュレーションステップと、前記実配線シミュレーション結果の内容を判断し、この実配線シミュレーション結果が第2の期待値と不一致の場合はNGとなり、第2のフィードバックループにより前記HDLの修正を行うか、前記論理合成制約の制約条件を変更して、再度前記自動ゲーテッド化論理合成ステップを実行するか、前記CTSのクロックツリー分配条件を変更して、再度前記CTS展開ステップを実行するか、再度前記配置・配線ステップを実行し、前記実配線シミュレーションの結果と前記第2の期待値が一致した場合はOKとなり回路設計フローを終了する実配線シミュレーション結果判定ステップとを有することを特徴とするものである。
【0024】請求項4記載の発明の論理回路設計方法は、クロック配線に論理ゲートを有するゲート機能ブロックを配設し前記論理ゲートの制御によりオン・オフされるゲーテッドクロックを用いゲーテッドクロック化された前記クロック配線であるゲーテッドクロックラインと前記ゲーテッドクロックラインでないクロック配線である非ゲーテッドクロックラインとが混在するゲーテッドクロック混在回路の消費電力を見積もる論理回路設計方法において、ハードウェア記述言語(以下、HDL)と論理合成制約とを用いて前記ゲーテッドクロック化を自動で行って論理合成を実行し、論理合成結果を回路接続情報に格納する自動ゲーテッド化論理合成ステップと、前記回路接続情報と前記ゲーテッドクロックラインの前記ゲート機能ブロックの遅延情報を0とした仮配線用の遅延値0ライブラリとを読み込み仮配線遅延計算を実行し、仮配線遅延計算結果を仮配線遅延情報に格納する仮配線遅延計算ステップと、前記回路接続情報と前記仮配線遅延情報とを用いて消費電力見積りシミュレーションを実行し、前記消費電力見積りシミュレーションの結果を消費電力情報に格納する仮配線消費電力見積りシミュレーションステップとを有し、前記消費電力情報の結果に基づき、フィードバックループにより、前記HDLの修正を行うか、前記論理合成制約の制約条件を変更して、再度前記自動ゲーテッド化論理合成を実行し、消費電力が目標に至るまで試行してループを続けることを特徴とするものである。
【0025】請求項5記載の発明の論理回路設計方法は、クロック配線に論理ゲートを有するゲート機能ブロックを配設し前記論理ゲートの制御によりオン・オフされるゲーテッドクロックを用いゲーテッドクロック化された前記クロック配線であるゲーテッドクロックラインと前記ゲーテッドクロックラインでないクロック配線である非ゲーテッドクロックラインとが混在するゲーテッドクロック混在回路の内部ブロックのトグル回数を算出する論理回路設計方法において、ハードウェア記述言語(以下、HDL)と論理合成制約とを用いて前記ゲーテッドクロック化を自動で行って論理合成を実行し、論理合成結果を回路接続情報に格納する自動ゲーテッド化論理合成ステップと、前記回路接続情報と前記ゲーテッドクロックラインの前記ゲート機能ブロックの遅延情報を0とした仮配線用の遅延値0ライブラリとを読み込み仮配線遅延計算を実行し、仮配線遅延計算結果を仮配線遅延情報に格納する仮配線遅延計算ステップと、前記回路接続情報と前記仮配線遅延情報とを用いて前記内部ブロックのトグル回数算出のための内部ブロックトグル回数算出シミュレーションを実行し、前記内部ブロックトグル回数算出シミュレーションの結果を内部ブロックトグル回数情報に格納する仮配線内部ブロックトグル算出シミュレーションステップを有し、前記内部ブロックトグル回数情報の結果に基づき、フィードバックループにより、前記HDLF11の修正を行うか、前記論理合成制約の制約条件を変更して、再度自動ゲーテッド化論理合成ステップを実行し、トグル回数の多い箇所のチューニングを行うことにより消費電力を低減することを特徴とするものである。
【0026】また、請求項6記載の発明は、請求項3又は4又は6記載の論理回路設計方法において、前記ゲート機能ブロックの遅延情報が、前記ゲート機能ブロック内の遅延時間とこのゲート機能ブロックの出力負荷による遅延変化量とを含み、前記遅延値0ライブラリが、前記ゲート機能ブロック内の遅延時間とこのゲート機能ブロックの出力負荷による遅延変化量の各々の値を0とすることを特徴とするものである。
【0027】また、請求項7記載の発明は、請求項3又は4又は6記載の論理回路設計方法において、前記ゲーテッドクロック混在回路が、クロックが入力するクロック端子と、前記クロック端子と第1の配線を経由して入力端が接続され展開前のCTSをバッファリングするバッファと、入力端にゲーティングイネーブル信号が入力しゲーテッドクロック端が第2の配線を経由して前記バッファの出力端と接続されたクロックゲーティング用のDラッチブロックと、一方の入力端が第3の配線を経由して前記Dラッチブロックの出力端に他方の入力端が前記第2の配線を経由して前記バッファの出力端と接続された論理ブロックと、入力端が組合せ回路に接続されクロック入力端が前記第2の配線を経由して前記バッファの出力端と接続された第1のフリップフロップと、入力端が前記第1のフリップフロップの出力端に接続され前記クロック入力端が第4の配線を経由して前記論理ブロックに接続された第2のフリップフロップとを有することを特徴とするものである。
【0028】
【発明の実施の形態】次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0029】本実施の形態の論理回路設計方法は、クロック配線に論理ゲートを有するゲート機能ブロックを配設し前記論理ゲートの制御によりオン・オフされるゲーテッドクロックを用いるクロック配線であるゲーテッドクロックラインと上記ゲーテッドクロックラインでないクロック配線である非ゲーテッドクロックラインとが混在するゲーテッドクロック混在回路の論理回路設計方法において、上記ゲーテッドクロックラインの上記ゲート機能ブロックの遅延情報を0又は予め定めた最小値とした仮配線用の遅延値0ライブラリを用いて仮配線遅延情報を生成し、上記仮配線遅延情報に基づき仮配線論理シミュレーションを実行することにより、設計工数増大要因となるクロック遅延時間の補正を不要とすることを特徴とするものである。
【0030】次に、本発明の第1の実施の形態を図5と共通の構成要素には共通の参照文字/数字を付して同様にフローチャートで示す図1を参照すると、この図に示す本実施の形態の論理回路設計方法は、従来と同様にゲーテッドクロックが混在する一相同期回路の設計に適用した例であり、HDL(Hardware Description Langage:ハードウェア記述言語)F11を読み込み、論理合成制約F10を用いてゲーテッドクロック化を自動で行って論理合成を実行し、論理合成結果を回路接続情報F12に格納する自動ゲーテッド化論理合成ステップS11と、回路接続情報F12とゲーテッドクロックラインのゲート機能ブロックの遅延情報を0又はシミュレータの最小値(以下、説明の便宜上0)とした仮配線用の遅延値0ライブラリF13とを読み込み仮配線遅延計算を実行し、仮配線遅延計算結果を仮配線遅延情報F14に格納する仮配線遅延計算ステップS12と、回路接続情報F12と、仮配線遅延情報F14とを用いて遅延検証のための遅延シミュレーションを実行し、遅延シミュレーション結果を仮配線シミュレーション結果F15に格納する仮配線論理シミュレーションステップS13と、仮配線シミュレーション結果F15の内容を判断し、シミュレーション結果が期待値と不一致の場合はNGとなり、フィードバックループL11により、HDLF11の修正を行うか、論理合成制約F10の制約条件を変更して、再度、自動ゲーテッド化論理合成ステップS11を実行し、シミュレーション結果と期待値が一致した場合はOKとなりCTS(Clock tree Synthesis:クロックツリー合成)展開ステップS14に進む仮配線シミュレーション結果判定ステップJ11と、回路接続情報F12を読み込み、CTSバッファを展開し、CTS展開結果をCTS展開後回路接続情報F16に格納するCTS展開ステップS14と、CTS展開後回路接続情報F16を読み込み配置・配線を実行し、配置・配線結果を容量情報付回路接続情報F17に格納する配置・配線ステップS15と、容量情報付回路接続情報F17を読み込み、実配線遅延計算を実行し、実配線遅延計算結果を実配線遅延情報F18に格納する実配線遅延計算ステップS16と、回路接続情報F16と実配線遅延情報F18を用いて遅延シミュレーションを実行し、遅延シミュレーション結果を実配線シミュレーション結果F19に格納する実配線論理シミュレーションステップS17と、実配線シミュレーション結果F19の内容を判断し、シミュレーション結果が期待値と不一致の場合はNGとなり、フィードバックループL12により、HDLF11の修正を行うか、論理合成制約F10の制約条件を変更して、再度自動ゲーテッド化論理合成ステップS11を実行するか、CTSのクロックツリー分配条件を変更して、再度CTS展開ステップS14を実行するか、再度配置・配線ステップS15を実行し、実配線シミュレーション結果と期待値が一致した場合はOKとなり回路設計フローを終了する実配線シミュレーション結果判定ステップJ12とを有する。
【0031】以上の設計フローにおいて、仮配線シミュレーション結果判定ステップJ11からのフィードバックL11を実現するため、本実施の形態では、仮配線遅延計算ステップS12において、ゲーテッドクロックラインの論理ゲートを有するゲート機能ブロックの遅延情報を0とした仮配線用の遅延値0ライブラリF13を用いて、仮配線遅延情報F14を生成して、仮配線論理シミュレーションステップS13を行う。
【0032】次に、図1を参照して本実施の形態の動作について説明すると、論理合成時等に自動でクロックのゲーティングを行った論理回路においては、CTSの出力が直接フリップフロップのクロック端子に入るクロック配線である非ゲーテッドクロックラインと、クロックゲーティングされた後にフリップフロップのクロック端子に入るクロック配線であるゲーテッドクロックラインとが混在する。ここで、CTSの遅延は仮配線では一律に見積もられるため、CTSバッファの出力以降の遅延差がクロックスキューとして表れてしまう。
【0033】そこで、本実施の形態では、遅延値0ライブラリF13を用いて仮配線遅延情報F14を生成し、仮配線論理シミュレーションステップS13を実行する。
【0034】本実施の形態の論理回路設計方法を適用するゲーテッドクロック混在回路の一例をブロックで示す図2を参照すると、このゲーテッドクロック混在回路は、クロックが入力するクロック端子P1と、クロック端子P1と配線N1を経由して入力端が接続され展開前のCTSをバッファリングするバッファB1と、入力端DにゲーティングイネーブルE1が入力しゲーテッドクロック端GBが配線N2を経由してバッファB1の出力端と接続されたクロックゲーティング用のDラッチブロックB2と、一方の入力端が配線N3を経由してDラッチブロックB2の出力端Qに他方の入力端が配線N2を経由してバッファB1の出力端と接続された論理ブロックB3と、入力端Dが組合せ回路C1に接続されクロック入力端Cが配線N2を経由してバッファB1の出力端と接続されたフリップフロップFF1と、入力端DがフリップフロップFF1の出力端Qに接続されクロック入力端Cが配線N4を経由して論理ブロックB3に接続されたフリップフロップFF2とを有する。
【0035】論理回路B3は、ゲーティングイネーブルE1が正論理の場合はAND論理であり、ゲーティングイネーブルE1が負論理の場合はOR論理とする。ここでは、説明の便宜上、ゲーティングイネーブルE1が正論理であり、従ってAND論理とする。
【0036】以上の構成により、このゲーテッドクロック混在回路は、クロック端子P1から配線N1、バッファB1及び配線N2を経てクロックゲーティング用のDラッチブロックB2、配線N3、論理ブロックB3及び配線N4を経てフリップフロップFF2のクロック入力端Cに接続されるクロック信号経路S0と、クロック端子P1から配線N1、バッファB1、配線N2、論理ブロックB3、配線N4を経てフリップフロップFF2のクロック入力端Cに接続されるクロック信号経路S1と、クロック端子P1から配線N1、バッファB1、配線N2を経てフリップフロップFF1のクロック入力端Cに直接接続されるクロック信号経路S2との3種類のクロック信号経路を持つ。
【0037】このように、クロック信号経路S0,S1,S2の3種類のクロック信号経路を持つ回路、若しくはクロック信号経路S1,S2の2種類の信号経路を持つ回路において、クロックゲーティング用のDラッチブロックB2及びその出力配線N3と、論理ブロックB3及びその出力配線N4とに、ブロック内遅延時間とそのブロックの出力負荷による遅延変化量の各々を0とした仮配線遅延専用の遅延値0ライブラリF13を用いている。
【0038】この遅延値0ライブラリF13を用いてこれらDラッチブロックB2と配線N3及び論理ブロックB3と配線N4による遅延値を0と見なすことにより、クロック信号経路S0,S1,S2の各々の遅延値が等しく見積もられるため、クロックスキューが生じることが無くなる。従って、非ゲーテッドクロック設計回路の仮配線論理シミュレーションと同様に、ゲーテッドクロック混在回路における仮配線論理シミュレーションを正常に実行することが可能となる。
【0039】まず、クロック信号経路S0、S1,S2の各々遅延値DS0,DS1,DS2の見積もりは、次式で表される。
DS0=DN1+DB1+DN2+DB2+DN3+DB3+DN4、DS1=DN1+DB1+DN2+DB3+DN4、DS2=DN1+DB1+DN2。 ・・・・・・・・・・・・(1)
ここで、DN1,DN2,DN3,DN4はそれぞれ配線N1,N2,N3,N4の各々の配線遅延値、DB1,DB2,DB3はそれぞれ、バッファB1,DラッチブロックB2,論理ブロックB3の各々のブロック内遅延値を表す。
【0040】仮配線シミュレーション専用の遅延値0ライブラリF13を、DラッチブロックB2と出力配線N3及び論理ブロックB3とその出力配線N4に適用することにより、これらDラッチブロックB2と出力配線N3及び論理ブロックB3とその出力配線N4の各々の遅延値は0と見なされるため、本実施の形態のクロック信号経路S0、S1,S2の各々遅延値DS0,DS1,DS2の見積もりは、次式で表される。
DS0=DN1+DB1+DN2、DS1=DN1+DB1+DN2、DS2=DN1+DB1+DN2。 ・・・・・・・・・・・・(2)
仮配線遅延見積もりでは配線N2の遅延値を一律として見積もるため、クロック配線経路S0,S1,S2の仮配線での見積もり遅延差は無くなる。以上によりゲーテッドクロック混在回路でもクロックスキューの影響を受けずに、仮配線論理シミュレーションが正常に実行可能となる。
【0041】これに対して、従来の第1の論理回路設計方法においては、上述したように、自動ゲーテッド化論理合成ステップS11の後、ゲーテッドクロックが混在すると、CTS展開ステップS14を行って、クロックスキューを調整(ステップP14)後、配置・配線ステップS15を行い、さらに実配線遅延計算ステップS16を行って得られた実配線遅延情報F18を用いて実配線論理シミュレーションS17を行う。実配線シミュレーション結果F19の判定(ステップJ12)結果NGの場合、L12のループでフィードバックをHDLF11や論理合成制約F10に掛けるため、設計フロー上流での一度の試行に対するフィードバックループが巨大になって、収束点を見出すのに多くの時間を費やしていた。
【0042】本実施の形態の適用により、ゲーテッドクロックが混在する一相同期回路における設計でも、ゲーテッドクロックを用いない回路設計と何ら変わらない方法で、低電力設計を行うことが可能となる。
【0043】また、従来の第1の論理回路設計方法では、本実施の形態の論理回路設計方法における仮配線シミュレーション結果に基づくフィードバックループL11が使用出来ないため、実配線シミュレーション結果に基づくフィードバックループL12を使用して、CTS展開から、配置・配線まで、回路規模にもよるが10〜30時間を要していた。
【0044】本実施の形態によりそれが0時間になるため、合成条件やHDL記述をいろいろ変えて試行する場合、5〜10回程度ループさせることから、実質2日〜2週間程度の工数が短縮できる。
【0045】さらに、従来の第2の論理回路設計方法に対しても、クロッククロック仕様の作成(ステップP101)及びクロックネットの遅延時間解析(ステップP102)という回路規模の増大に伴い指数関数的に処理量が増大するクロック遅延補正処理ステップが省略できるため、これらクロック遅延補正処理ステップを含め自動化されたとしても相当のCPU時間及び工数削減が可能と予想される。
【0046】次に、本発明の第2の実施の形態を特徴付けるゲーテッドクロックが混在する一相同期回路の消費電力見積りフローを図1と共通の構成要素には共通の参照文字/数字を付して同様にフローチャートで示す図3を参照すると、この図に示す本実施の形態の前述の第1の実施の形態との相違点は、仮配線遅延計算ステップS12の次に、自動ゲーテッド化論理合成ステップS11で生成した回路接続情報F12とステップS12で生成した仮配線遅延情報F14とを用いて消費電力見積りシミュレーションを実行し、消費電力見積りシミュレーションの結果を消費電力情報F20に格納する仮配線消費電力見積りシミュレーションステップS18を有することである。
【0047】消費電力情報F20の結果に基づき、フィードバックループL13により、HDLF11の修正を行うか、論理合成制約F10の制約条件を変更して、再度自動ゲーテッド化論理合成ステップS11を実行し、消費電力が目標に至るまで試行してループを続ける。
【0048】次に、図3を参照して本実施の形態の動作について第1の実施の形態との相違点を重点的に説明すると、本実施の形態のステップS11,S12の動作は第1の実施の形態と同様である。すなわち、ステップS11の論理合成時に自動でクロックのゲーティングを行った論理回路においては、CTSの出力が直接フリップフロップのクロック端子に入るクロック配線である非ゲーテッドクロックラインと、クロックゲーティングされた後にフリップフロップのクロック端子に入るクロック配線であるゲーテッドクロックラインとが混在する。ステップS12で、遅延値0ライブラリF13を用い、仮配線遅延情報F14を生成する。この仮配線遅延情報F14を回路接続情報F12と共に用いて仮配線消費電力見積りシミュレーションステップS18を実行する。
【0049】これにより、ゲーテッドクロックが混在する一相同期回路においても、ゲーテッドクロックを用いない回路と何ら変わらない方法で、仮配線遅延での消費電力見積りシミュレーションが実行可能となる。
【0050】一方、上述した従来の第1の論理回路設計方法における消費電力見積りは、ゲーテッドクロックが混在すると、CTS展開を行って(ステップS14)、クロックスキューを調整し(ステップP15)、そのフィードバックをフイードバックループL15を経由して実配線遅延を記述したHDLF11に対して行うため、回路のレイアウトを行う必要があり、一度の消費電力見積りに対するフィードバックループが巨大になって、収束点を見出すのに多くの時間を費やしていた。
【0051】また、本実施の形態の論理回路設計方法における仮配線の消費電力情報F20からのフィードバックループL13が使用出来ないため、実配線の消費電力情報F20からのフィードバックループL15を使用して、CTS展開から、配置・配線まで、回路規模にもよるが10〜30時間を要していた。
【0052】本実施の形態によりそれが0時間になるため、合成条件やHDL記述の種々の変更・試行によりその消費電力を見積もる場合、5〜10回程度ループさせることから、実質2日〜2週間程度の工数が短縮できる。
【0053】また、従来の第2の論理回路設計方法に対しても、ステップP101,ステップP102から成るクロック遅延補正処理ステップが省略できるため、これらクロック遅延補正処理ステップを含め自動化されたとしても相当のCPU時間及び工数削減が可能と予想される。
【0054】次に、本発明の第3の実施の形態を特徴付けるゲーテッドクロックが混在する一相同期回路の内部ブロックトグル回数算出フローを図1と共通の構成要素には共通の参照文字/数字を付して同様にフローチャートで示す図4を参照すると、この図に示す本実施の形態の前述の第1の実施の形態との相違点は、仮配線遅延計算ステップS12の次に、自動ゲーテッド化論理合成ステップS11で生成した回路接続情報F12とステップS12で生成した仮配線遅延情報F14とを用いて内部ブロックトグル回数算出シミュレーションを実行し、内部ブロックトグル回数算出シミュレーションの結果を内部ブロックトグル回数情報F21に格納する仮配線内部ブロックトグル算出シミュレーションステップS19を有することである。
【0055】内部ブロックトグル回数情報F20の結果に基づき、フィードバックループL14により、HDLF11の修正を行うか、論理合成制約F10の制約条件を変更して、再度自動ゲーテッド化論理合成ステップS11を実行し、トグル回数の多い箇所のチューニングを行い、消費電力を低減する。
【0056】次に、図4を参照して本実施の形態の動作について第1の実施の形態との相違点を重点的に説明すると、本実施の形態のステップS11,S12の動作は第1の実施の形態と同様である。すなわち、ステップS11の論理合成時に自動でクロックのゲーティングを行った論理回路においては、CTSの出力が直接フリップフロップのクロック端子に入るクロック配線である非ゲーテッドクロックラインと、クロックゲーティングされた後にフリップフロップのクロック端子に入るクロック配線であるゲーテッドクロックラインとが混在する。ステップS12で、遅延値0ライブラリF13を用い、仮配線遅延情報F14を生成する。この仮配線遅延情報F14を回路接続情報F12と共に用いて仮配線内部ブロックトグル算出シミュレーションステップS19を実行する。
【0057】これにより、ゲーテッドクロックが混在する一相同期回路においても、ゲーテッドクロックを用いない回路と何ら変わらない方法で、仮配線遅延での内部ブロックトグル回数算出が実行可能となる。内部ブロックのトグル回数が求まると、トグル回数の多い部分の論理段数を減らすなど、再論理合成時に低消費電力化が行えるため、ゲーテッド化に加え、さらなる消費電力の低減が可能になる。
【0058】一方、上述した従来の第1の論理回路設計方法における内部ブロックトグル回数の算出は、ゲーテッドクロックが混在すると、CTS展開を行って(ステップS14)、クロックスキューを調整し(ステップP15)、そのフィードバックをフイードバックループL16を経由してHDLF11に対して行うため、回路のレイアウトを行う必要があり、内部ブロックのトグル回数算出のフローが長くなっていた。
【0059】また、本実施の形態の論理回路設計方法における仮配線内部ブロックトグル算出シミュレーションに基づく内部ブロックトグル回数情報F21からのフィードバックループL14が使用出来ないため、実配線内部ブロックトグル算出シミュレーションに基づく内部ブロックトグル回数情報F121からのフィードバックループL16を使用して、CTS展開から、配置・配線まで、回路規模にもよるが10〜30時間を要していた。
【0060】本実施の形態によりそれが0時間になるため、第1及び第2の実施の形態と同様に、合成条件やHDL記述を変更・試行してその内部回路のトグル回数を最小限化する場合、5〜10回程度ループさせることから、実質2日〜2週間程度の工数が短縮できる。
【0061】また、従来の第2の論理回路設計方法に対しても、ステップP101,ステップP102から成るクロック遅延補正処理ステップが省略できるため、これらクロック遅延補正処理ステップを含め自動化されたとしても相当のCPU時間及び工数削減が可能と予想される。
【0062】
【発明の効果】以上説明したように、本発明の論理回路設計方法は、ゲーテッドクロックラインの前記ゲート機能ブロックの遅延情報を0又は予め定めた最小値とした仮配線用の遅延値0ライブラリを用いて設計対象論理回路の遅延計算を行い仮配線遅延情報を生成する仮配線遅延計算ステップと、上記仮配線遅延情報に基づき仮配線論理シミュレーションを実行する仮配線論理シミュレーションステップとを有するので、ゲーテッドクロック混在回路でもクロックスキューの影響を受けずに、仮配線論理シミュレーションが正常に実行可能となるため、ゲーテッドクロックを用いない回路設計と何ら変わらない方法で、低電力設計を行うことが可能となるという効果がある。
【0063】また、CTS展開から配置・配線までの時間を実質的に0時間に削減できるため、設計工数を大幅に削減できるという効果がある。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013