JP2002366254A - ゲーティッドクロック生成回路及び回路修正方法 - Google Patents

ゲーティッドクロック生成回路及び回路修正方法

Info

Publication number
JP2002366254A
JP2002366254A JP2001176723A JP2001176723A JP2002366254A JP 2002366254 A JP2002366254 A JP 2002366254A JP 2001176723 A JP2001176723 A JP 2001176723A JP 2001176723 A JP2001176723 A JP 2001176723A JP 2002366254 A JP2002366254 A JP 2002366254A
Authority
JP
Japan
Prior art keywords
signal
clock
gate
flip
output
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.)
Granted
Application number
JP2001176723A
Other languages
English (en)
Other versions
JP3698657B2 (ja
Inventor
Atsutake Asai
淳毅 朝井
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2001176723A priority Critical patent/JP3698657B2/ja
Priority to CNB021243077A priority patent/CN1308792C/zh
Priority to DE60232481T priority patent/DE60232481D1/de
Priority to US10/166,627 priority patent/US7082579B2/en
Priority to EP02254086A priority patent/EP1267249B1/en
Publication of JP2002366254A publication Critical patent/JP2002366254A/ja
Application granted granted Critical
Publication of JP3698657B2 publication Critical patent/JP3698657B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

(57)【要約】 【課題】 グリッジが発生しないゲーティッドクロック
生成回路を提供する。 【解決手段】 データ信号Data1を遅延させてクロ
ック信号CLK1の立ち上がりエッジに同期して反転す
るゲート信号Gate1を生成する手段であるフリップ
フロップFF1と、ゲート信号Gate1に対してクロ
ック信号CLK1の半周期分だけ位相が進んだゲート信
号Gate2を生成する手段であるインバータINV1
及びフリップフロップFF2と、ゲート信号Gate1
及びゲート信号Gate2に基づいてクロック信号CL
K1の出力をON/OFF制御する手段であるANDゲ
ートAN1及びAN2と、を備えることを特徴とするゲ
ーティッドクロック生成回路。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、クロック信号をO
N/OFF制御して出力するゲーティッドクロック生成
回路に関するものである。
【0002】
【従来の技術】クロック同期の半導体集積回路(以下、
「クロック同期回路」という)において、クロック信号
が供給されるフリップフロップ間のクロック信号の遅延
時間差(以下、「スキュー」という)が大きい場合、不
動または誤動作などの不具合が発生する。このため、ク
ロック同期回路は一般に同期設計されている。
【0003】同期設計とは、外部から入力されたクロッ
ク信号を回路内で分周、ON/OFF制御、又は反転を
行わずに、直接フリップフロップのクロック入力端子に
入力し、尚かつ、クロック信号のスキューを最小にする
ように回路素子の配置や回路素子間の配線(以下、配置
配線という)を行う設計のことである。
【0004】しかし、クロック同期回路では全てのフリ
ップフロップに常にクロック信号が入力され、フリップ
フロップの消費電力が増大する。したがって、クロック
同期回路全体の消費電力も増大する。
【0005】クロック同期回路の消費電力を削減する効
果的な方法として、ゲーティッドクロック生成回路を設
け、任意の条件において動作する必要のないフリップフ
ロップのクロック入力端子にはゲーティッドクロック生
成回路が出力するゲーティッドクロック信号を供給する
方法が提案されている。
【0006】そして、従来のゲーティッドクロック生成
回路としては、例えば図14又は図16のような構成の
回路が挙げられる。
【0007】まず、図14のゲーティッドクロック生成
回路について説明する。クロック信号CLK1が入力さ
れる入力端子1は、バッファ・ゲートBUF1を介して
バッファ・ゲートBUF2の入力端子およびバッファ・
ゲートBUF3の入力端子に接続される。
【0008】バッファ・ゲートBUF2の出力端子は、
フリップフロップFF1のクロック入力端子に接続され
る。また、バッファ・ゲートBUF3の出力端子は、A
NDゲートAN1の第2入力端子に接続される。
【0009】データ信号Data1が入力される入力端
子2が、フリップフロップFF1のデータ入力端子に接
続される。また、フリップフロップFF1の出力端子が
ANDゲートAN1の第1入力端子に接続される。そし
て、ANDゲートAN1の出力端子がゲーティッドクロ
ック信号GCLK1を出力する出力端子3に接続され
る。
【0010】このような構成のゲーティッドクロック生
成回路の動作について図14の回路構成図及び図15の
タイミングチャートを参照して説明する。入力端子1に
入力されたクロック信号CLK1は、バッファ・ゲート
BUF1及びBUF2を介してフリップフロップFF1
のクロック入力端子に到達する。また、入力端子2に入
力されたデータ信号Data1は、フリップフロップF
F1のデータ入力端子に到達する。そうすると、フリッ
プフロップFF1の出力端子からANDゲートAN1の
第1入力端子に送出されるゲート信号Gate1は、図
15(a)に示すようなデータ信号Data1の反転タ
イミングがクロック信号CLK1の立ち上がりエッジま
で遅延した波形の信号となる。
【0011】一方、入力端子1に入力されたクロック信
号CLK1は、ANDゲートAN1の第2入力端子にも
到達する。ANDゲートAN1は、ゲート信号Gate
1とクロック信号CLK1との論理積であるゲーティッ
ドクロック信号GCLK1を出力端子3に送出する。
【0012】したがって、クロック信号が必要な期間を
データ信号によって入力することにより、その必要な期
間のみクロック信号がゲーティッドクロック信号GCL
K1として出力されることになる。
【0013】次に、図16のゲーティッドクロック生成
回路について説明する。クロック信号CLK2が入力さ
れる入力端子4は、インバータINV2の入力端子およ
びバッファ・ゲートBUF5の入力端子に接続される。
【0014】インバータINV2の出力端子は、バッフ
ァ・ゲートBUF4を介してフリップフロップFF3の
クロック入力端子に接続される。また、バッファ・ゲー
トBUF5の出力端子は、ANDゲートAN3の第2入
力端子に接続される。
【0015】そして、データ信号Data2が入力され
る入力端子5が、フリップフロップFF3のデータ入力
端子に接続される。また、フリップフロップFF3の出
力端子がANDゲートAN3の第1入力端子に接続され
る。また、ANDゲートAN3の出力端子がゲーティッ
ドクロック信号GCLK2を出力する出力端子6に接続
される。
【0016】このような構成のゲーティッドクロック生
成回路の動作について図16の回路構成図及び図17の
タイミングチャートを参照して説明する。入力端子4に
入力されたクロック信号CLK2は、インバータINV
2で反転されたのち、バッファ・ゲートBUF4を介し
てフリップフロップFF3のクロック入力端子に到達す
る。また、入力端子5に入力されたデータ信号Data
2は、フリップフロップFF3のデータ入力端子に到達
する。そうすると、フリップフロップFF3の出力端子
からANDゲートAN3の第1入力端子に送出されるゲ
ート信号Gate3は、図17(a)に示すようにデー
タ信号Data2の反転タイミングがクロック信号CL
K2の立ち下がりエッジまで遅延した波形の信号とな
る。
【0017】一方、入力端子4に入力されたクロック信
号CLK2は、バッファ・ゲートBUF5を介してAN
DゲートAN3の第2入力端子にも到達する。ANDゲ
ートAN3は、ゲート信号Gate3とクロック信号C
LK2との論理積であるゲーティッドクロック信号GC
LK2を出力端子6に送出する。
【0018】したがって、クロック信号が必要な期間を
データ信号によって入力することにより、その必要な期
間のみクロック信号がゲーティッドクロック信号GCL
K2として出力されることになる。
【0019】
【発明が解決しようとする課題】しかしながら、配置配
線によって信号遅延時間が異なるため、ゲーティッドク
ロック信号を出力するANDゲートの第1入力端子に到
達するゲート信号のエッジとゲーティッドクロック信号
を出力するANDゲートの第2入力端子に到達するクロ
ック信号のエッジとが図15(a)や図17(a)に示
したように一致するとは限らない。
【0020】例えば、図14のゲーティッドクロック生
成回路において、クロック信号CLK1がゲート信号G
ate1より早くANDゲートAN1に到達したとする
と、図15(b)に示すようにゲート信号Gate1の
反転タイミング近傍でクロック信号CLK1およびゲー
ト信号Gate1がともにHighである期間t1がで
きてしまう。そのため、期間t1においてゲーティッド
クロック信号GCLK1にグリッジが発生することにな
る。逆に、ゲート信号Gate1がクロック信号CLK
1より早くANDゲートAN1に到達すると、図15
(c)に示すようにゲート信号Gate1の反転タイミ
ング近傍でクロック信号CLK1およびゲート信号Ga
te1がともにHighである期間がないので、ゲーテ
ィッドクロック信号GCLK1にグリッジが発生するこ
とはない。
【0021】また、図16のゲーティッドクロック生成
回路において、ゲート信号Gate3がクロック信号C
LK2より早くANDゲートAN3に到達したとする
と、図17(c)に示すようにゲート信号Gate3の
反転タイミング近傍でクロック信号CLK2およびゲー
ト信号Gate3がともにHighである期間t2がで
きてしまう。そのため、期間t2においてゲーティッド
クロック信号GCLK2にグリッジが発生することにな
る。逆に、クロック信号CLK2がゲート信号Gate
3より早くANDゲートAN3に到達すると、図17
(b)に示すようにゲート信号Gate3の反転タイミ
ング近傍でクロック信号CLK2およびゲート信号Ga
te3がともにHighである期間がないので、ゲーテ
ィッドクロック信号GCLK2にグリッジが発生するこ
とはない。
【0022】ゲーティッドクロック信号にグリッジが発
生すると、ゲーティッドクロック信号を入力する回路が
誤動作するおそれがある。そのため、クロック同期回路
では配置配線を行った後、クロック信号とゲート信号に
ついてゲーティッドクロック信号を出力するANDゲー
トまでの遅延時間を確認していた。そして、ゲーティッ
ドクロック信号にグリッジが発生する場合には、クロッ
ク信号及びゲート信号の遅延時間を調整するために冗長
な回路を挿入するなどして配置配線をやり直したり、再
設計を行ったりしていた。
【0023】本発明は、上記の問題点に鑑み、グリッジ
が発生しないゲーティッドクロック生成回路を提供する
ことを目的とする。
【0024】
【課題を解決するための手段】上記目的を達成するため
に、本発明に係るゲーティッドクロック生成回路におい
ては、データ信号及び継続して変化するクロック信号を
入力し、前記クロック信号の立ち上がりエッジ又は立ち
下がりエッジのいずれか一方に前記データ信号の反転タ
イミングが同期するように前記クロック信号に応じて前
記データ信号を遅延させることによって第1のゲート信
号を生成する手段と、前記クロック信号と前記データ信
号又は前記第1のゲート信号とを入力し、前記クロック
信号に応じて前記データ信号又は前記第1のゲート信号
を遅延させることによって前記第1のゲート信号に対し
て前記クロック信号の半周期分だけ位相がずれた第2の
ゲート信号を生成する手段と、前記第1のゲート信号及
び前記第2のゲート信号に基づいて前記クロック信号の
出力をON/OFF制御する手段と、を備えるようにす
る。
【0025】また、従来のゲーティッドクロック生成回
路を備えたクロック同期回路を設計したのち従来のゲー
ティッドクロック生成回路を上記構成のゲーティッドク
ロック生成回路に修正する方法としては、継続して変化
するクロック信号の立ち上がりエッジにデータ信号の反
転タイミングが同期するように前記クロック信号に応じ
て前記データ信号を遅延させることによって生成される
第1のゲート信号に基づいて前記クロック信号の出力を
ON/OFF制御するゲーティッドクロック生成回路を
備えたクロック同期回路の回路図情報又はネットリスト
に対して前記クロック信号を反転させるインバータを追
加するステップと、前記第1のゲート信号を生成してい
るフリップフロップを前記回路図情報又はネットリスト
から検索するステップと、前記第1のゲート信号を生成
しているフリップフロップのデータ入力とデータ入力を
同一にし且つ前記インバータが出力する信号をクロック
入力とするフリップフロップを前記回路図情報又はネッ
トリストに追加するステップと、追加したフリップフロ
ップが出力する信号と修正前のゲーティッドクロック生
成回路が出力していた信号との論理積を出力するAND
ゲートを前記回路図情報又はネットリストに追加するス
テップと、追加したANDゲートが出力する信号を修正
後のゲーティッドクロック生成回路の出力信号とするス
テップと、を有する方法がある。
【0026】また、上記方法をコンピュータに実行させ
るプログラムとしては、継続して変化するクロック信号
の立ち上がりエッジにデータ信号の反転タイミングが同
期するように前記クロック信号に応じて前記データ信号
を遅延させることによって生成される第1のゲート信号
に基づいて前記クロック信号の出力をON/OFF制御
するゲーティッドクロック生成回路を備えたクロック同
期回路の回路図情報又はネットリストを入力するステッ
プと、前記回路図情報又はネットリストに対して前記ク
ロック信号を反転させるインバータを追加するステップ
と、前記第1のゲート信号を生成しているフリップフロ
ップを前記回路図情報又はネットリストから検索するス
テップと、前記第1のゲート信号を生成しているフリッ
プフロップのデータ入力とデータ入力を同一にし且つ前
記インバータが出力する信号をクロック入力とするフリ
ップフロップを前記回路図情報又はネットリストに追加
するステップと、追加したフリップフロップが出力する
信号と修正前のゲーティッドクロック生成回路が出力し
ていた信号との論理積を出力するANDゲートを前記回
路図情報又はネットリストに追加するステップと、追加
したANDゲートが出力する信号を修正後のゲーティッ
ドクロック生成回路の出力信号とするステップと、をコ
ンピュータに実行させるためのプログラムがある。
【0027】また、従来のゲーティッドクロック生成回
路を備えたクロック同期回路を設計したのち従来のゲー
ティッドクロック生成回路を上記構成のゲーティッドク
ロック生成回路に修正する方法としては、継続して変化
するクロック信号の立ち下がりエッジにデータ信号の反
転タイミングが同期するように前記クロック信号に応じ
て前記データ信号を遅延させることによって生成される
第1のゲート信号に基づいて前記クロック信号の出力を
ON/OFF制御するゲーティッドクロック生成回路を
備えたクロック同期回路の回路図情報又はネットリスト
から前記第1のゲート信号を生成しているフリップフロ
ップを検索するステップと、前記第1のゲート信号を生
成しているフリップフロップが出力する信号をデータ入
力とし且つ前記クロック信号をクロック入力とするフリ
ップフロップを前記回路図情報又はネットリストに追加
するステップと、追加したフリップフロップの出力信号
と修正前のゲーティッドクロック生成回路の出力信号と
の論理積を出力するANDゲートを前記回路図情報又は
ネットリストに追加するステップと、追加したANDゲ
ートの出力信号を修正後のゲーティッドクロック生成回
路の出力信号とするステップと、を有する方法がある。
【0028】また、上記方法をコンピュータに実行させ
るプログラムとしては、継続して変化するクロック信号
の立ち下がりエッジにデータ信号の反転タイミングが同
期するように前記クロック信号に応じて前記データ信号
を遅延させることによって生成される第1のゲート信号
に基づいて前記クロック信号の出力をON/OFF制御
するゲーティッドクロック生成回路を備えたクロック同
期回路の回路図情報又はネットリストを入力するステッ
プと、前記回路図情報又はネットリストから前記第1の
ゲート信号を生成しているフリップフロップを検索する
ステップと、前記第1のゲート信号を生成しているフリ
ップフロップが出力する信号をデータ入力とし且つ前記
クロック信号をクロック入力とするフリップフロップを
前記回路図情報又はネットリストに追加するステップ
と、追加したフリップフロップの出力信号と修正前のゲ
ーティッドクロック生成回路の出力信号との論理積を出
力するANDゲートを前記回路図情報又はネットリスト
に追加するステップと、追加したANDゲートの出力信
号を修正後のゲーティッドクロック生成回路の出力信号
とするステップと、をコンピュータに実行させるための
プログラムがある。
【0029】また、従来のゲーティッドクロック生成回
路を備えたクロック同期回路を表現するハードウェア記
述言語による記述において、従来のゲーティッドクロッ
ク生成回路を表現するハードウェア記述言語による記述
を上記構成のゲーティッドクロック生成回路を表現する
ハードウェア記述言語による記述に修正する方法として
は、継続して変化するクロック信号の立ち上がりエッジ
にデータ信号の反転タイミングが同期するように前記ク
ロック信号に応じて前記データ信号を遅延させることに
よって生成される第1のゲート信号に基づいて前記クロ
ック信号の出力をON/OFF制御するゲーティッドク
ロック生成回路を備えたクロック同期回路を表現する論
理合成前のハードウェア記述言語による記述に対して前
記クロック信号を反転させるインバータを表現するハー
ドウェア記述言語による記述を追加するステップと、前
記第1のゲート信号を生成しているフリップフロップを
表現する記述を前記クロック同期回路を表現する論理合
成前のハードウェア記述言語による記述から検索するス
テップと、前記第1のゲート信号を生成しているフリッ
プフロップのデータ入力とデータ入力を同一にし且つ前
記インバータが出力する信号をクロック入力とするフリ
ップフロップを表現するハードウェア記述言語による記
述を前記クロック同期回路を表現する論理合成前のハー
ドウェア記述言語による記述に追加するステップと、追
加したフリップフロップが出力する信号と修正前のゲー
ティッドクロック生成回路が出力していた信号との論理
積を出力するANDゲートを表現するハードウェア記述
言語による記述を前記クロック同期回路を表現する論理
合成前のハードウェア記述言語による記述に追加するス
テップと、追加したANDゲートが出力する信号を修正
後のゲーティッドクロック生成回路の出力信号とするよ
うに前記クロック同期回路を表現する論理合成前のハー
ドウェア記述言語による記述を書き換えるステップと、
を有する方法がある。
【0030】また、上記方法をコンピュータに実行させ
るプログラムとしては、継続して変化するクロック信号
の立ち上がりエッジにデータ信号の反転タイミングが同
期するように前記クロック信号に応じて前記データ信号
を遅延させることによって生成される第1のゲート信号
に基づいて前記クロック信号の出力をON/OFF制御
するゲーティッドクロック生成回路を備えたクロック同
期回路を表現する論理合成前のハードウェア記述言語に
よる記述を入力するステップと、前記クロック同期回路
を表現する論理合成前のハードウェア記述言語による記
述に対して前記クロック信号を反転させるインバータを
表現するハードウェア記述言語による記述を追加するス
テップと、前記第1のゲート信号を生成しているフリッ
プフロップを表現する記述を前記クロック同期回路を表
現する論理合成前のハードウェア記述言語による記述か
ら検索するステップと、前記第1のゲート信号を生成し
ているフリップフロップのデータ入力とデータ入力を同
一にし且つ前記インバータが出力する信号をクロック入
力とするフリップフロップを表現するハードウェア記述
言語による記述を前記クロック同期回路を表現する論理
合成前のハードウェア記述言語による記述に追加するス
テップと、追加したフリップフロップが出力する信号と
修正前のゲーティッドクロック生成回路が出力していた
信号との論理積を出力するANDゲートを表現するハー
ドウェア記述言語による記述を前記クロック同期回路を
表現する論理合成前のハードウェア記述言語による記述
に追加するステップと、追加したANDゲートが出力す
る信号を修正後のゲーティッドクロック生成回路の出力
信号とするように前記クロック同期回路を表現する論理
合成前のハードウェア記述言語による記述を書き換える
ステップと、をコンピュータに実行させるためのプログ
ラムがある。
【0031】また、従来のゲーティッドクロック生成回
路を備えたクロック同期回路を表現するハードウェア記
述言語による記述において、従来のゲーティッドクロッ
ク生成回路を表現するハードウェア記述言語による記述
を上記構成のゲーティッドクロック生成回路を表現する
ハードウェア記述言語による記述に修正する方法として
は、継続して変化するクロック信号の立ち下がりエッジ
にデータ信号の反転タイミングが同期するように前記ク
ロック信号に応じて前記データ信号を遅延させることに
よって生成される第1のゲート信号に基づいて前記クロ
ック信号の出力をON/OFF制御するゲーティッドク
ロック生成回路を備えたクロック同期回路を表現する論
理合成前のハードウェア記述言語による記述から前記第
1のゲート信号を生成しているフリップフロップを表現
する記述を検索するステップと、前記第1のゲート信号
を生成しているフリップフロップが出力する信号をデー
タ入力とし且つ前記クロック信号をクロック入力とする
フリップフロップを表現するハードウェア記述言語によ
る記述を前記クロック同期回路を表現する論理合成前の
ハードウェア記述言語による記述に追加するステップ
と、追加したフリップフロップが出力する信号と修正前
のゲーティッドクロック生成回路が出力していた信号と
の論理積を出力するANDゲートを表現するハードウェ
ア記述言語による記述を前記クロック同期回路を表現す
る論理合成前のハードウェア記述言語による記述に追加
するステップと、追加したANDゲートが出力する信号
を修正後のゲーティッドクロック生成回路の出力信号と
するように前記クロック同期回路を表現する論理合成前
のハードウェア記述言語による記述を書き換えるステッ
プと、を有する方法がある。
【0032】また、上記方法をコンピュータに実行させ
るプログラムとしては、継続して変化するクロック信号
の立ち下がりエッジにデータ信号の反転タイミングが同
期するように前記クロック信号に応じて前記データ信号
を遅延させることによって生成される第1のゲート信号
に基づいて前記クロック信号の出力をON/OFF制御
するゲーティッドクロック生成回路を備えたクロック同
期回路を表現する論理合成前のハードウェア記述言語に
よる記述から前記第1のゲート信号を生成しているフリ
ップフロップを表現する記述を検索するステップと、前
記第1のゲート信号を生成しているフリップフロップが
出力する信号をデータ入力とし且つ前記クロック信号を
クロック入力とするフリップフロップを表現するハード
ウェア記述言語による記述を前記クロック同期回路を表
現する論理合成前のハードウェア記述言語による記述に
追加するステップと、追加したフリップフロップが出力
する信号と修正前のゲーティッドクロック生成回路が出
力していた信号との論理積を出力するANDゲートを表
現するハードウェア記述言語による記述を前記クロック
同期回路を表現する論理合成前のハードウェア記述言語
による記述に追加するステップと、追加したANDゲー
トが出力する信号を修正後のゲーティッドクロック生成
回路の出力信号とするように前記クロック同期回路を表
現する論理合成前のハードウェア記述言語による記述を
書き換えるステップと、をコンピュータに実行させるた
めのプログラムがある。
【0033】
【発明の実施の形態】本発明の一実施形態について図面
を参照して説明する。本発明に係る第一実施形態のゲー
ティッドクロック生成回路の構成を図1に示す。尚、図
14と同一の部分には同一の符号を付す。
【0034】クロック信号CLK1が入力される入力端
子1は、バッファ・ゲートBUF1を介して、バッファ
・ゲートBUF2の入力端子、バッファ・ゲートBUF
3の入力端子、およびインバータINV1の入力端子に
それぞれ接続される。
【0035】バッファ・ゲートBUF2の出力端子は、
フリップフロップFF1のクロック入力端子に接続され
る。また、バッファ・ゲートBUF3の出力端子は、A
NDゲートAN1の第2入力端子に接続される。また、
インバータINV1の出力端子は、フリップフロップF
F2のクロック入力端子に接続される。
【0036】データ信号Data1が入力される入力端
子2が、フリップフロップFF1のデータ入力端子およ
びフリップフロップFF2のデータ入力端子に接続され
る。また、フリップフロップFF1の出力端子がAND
ゲートAN1の第1入力端子に接続される。また、AN
DゲートAN1の出力端子がANDゲートAN2の第1
入力端子に接続される。また、フリップフロップFF2
の出力端子がANDゲートAN2の第2入力端子に接続
される。そして、ANDゲートAN2の出力端子がゲー
ティッドクロック信号GCLK1を出力する出力端子3
に接続される。
【0037】このような構成のゲーティッドクロック生
成回路の動作について図1の回路構成図及び図3のタイ
ミングチャート図を参照して説明する。尚、図1のゲー
ティッドクロック生成回路に入力するクロック信号CL
K1およびデータ信号Data1の波形は、図15
(a)と同一の信号波形とする。
【0038】入力端子1に入力されたクロック信号CL
K1は、バッファ・ゲートBUF1及びBUF2を介し
てフリップフロップFF1のクロック入力端子に到達す
る。また、入力端子2に入力されたデータ信号Data
1は、フリップフロップFF1のデータ入力端子に到達
する。そうすると、フリップフロップFF1の出力端子
からANDゲートAN1の第1入力端子に送出されるゲ
ート信号Gate1は、図3に示すようなデータ信号D
ata1の反転タイミングがクロック信号CLK1の立
ち上がりエッジまで遅延した波形の信号となる。
【0039】一方、入力端子1に入力されたクロック信
号CLK1は、バッファ・ゲートBUF3を介してAN
DゲートAN1の第2入力端子にも到達する。ANDゲ
ートAN1は、ゲート信号Gate1とクロック信号C
LK1との論理積である信号をANDゲートAN2の第
1入力端子に送出する。
【0040】そして、入力端子1に入力されたクロック
信号CLK1は、バッファ・ゲートBUF1及びインバ
ータINV1を介してフリップフロップFF2のクロッ
ク入力端子に到達する。また、入力端子2に入力された
データ信号Data1は、フリップフロップFF2のデ
ータ入力端子に到達する。そうすると、フリップフロッ
プFF2の出力端子からANDゲートAN2の第2入力
端子に送出されるゲート信号Gate2は、図3に示す
ようなデータ信号Data1の反転タイミングがクロッ
ク信号CLK1の立ち下がりエッジまで遅延した波形の
信号となる。
【0041】フリップフロップFF1のデータ入力端子
に入力されるデータ信号Data1は、図1のゲーティ
ッドクロック生成回路を備えたクロック同期回路のいず
れかの部分で生成されている。クロック同期回路では回
路全体が同期設計されているため、データ信号Data
1はクロック信号CLK1の立ち上がりで変化する信号
から生成された信号である。このため、フリップフロッ
プFF2が出力するゲート信号Gate2は、フリップ
フロップFF1が出力するゲート信号Gate1よりク
ロック信号CLK1の半周期だけ進んだ信号となる。
【0042】上述したように、ANDゲートAN2の第
1入力端子にはゲート信号Gate1とクロック信号C
LK1との論理積である信号が入力され、ANDゲート
AN2の第2入力端子にはゲート信号Gate2が入力
されるので、ANDゲートAN2はゲート信号Gate
1とゲート信号Gate2とクロック信号CLK1との
論理積であるゲーティッドクロック信号GCLK1を出
力端子3に送出する。尚、ゲート信号Gate1および
ゲーティッドクロック信号GCLK1の波形は図15
(a)と同一である。
【0043】したがって、クロック信号が必要な期間を
データ信号によって入力することにより、その必要な期
間のみクロック信号がゲーティッドクロック信号GCL
K1として出力されることになる。
【0044】さらに、図1のゲーティッドクロック生成
回路ではグリッジが発生しないことを説明する。図3中
に示した期間T1、期間T2、期間T3の間のANDゲ
ートAN1の入力信号並びにANDゲートAN2の入力
信号及び出力信号の遷移の様子を図4に示す。また、図
3中に示した期間T4、期間T5、期間T6の間のAN
DゲートAN1の入力信号並びにANDゲートAN2の
入力信号及び出力信号の遷移の様子を図5に示す。尚、
図4及び図5において、各丸印の中には左から順にクロ
ック信号CLK1の論理状態、ゲート信号Gate1の
論理状態、ゲート信号Gate2の論理状態を示し、
「/」記号の右側にANDゲートAN2の出力状態、す
なわちゲーティッドクロック信号GCLK1の論理状態
を示すものとする。
【0045】まず、図4について説明する。期間T1で
は、「100/0」の状態である。期間T1から期間T
2へ遷移するとき、クロック信号CLK1とゲート信号
Gate2の2つの信号が反転し、「001/0」の状
態に遷移しようとする。このとき、ゲーティッドクロッ
ク生成回路の配置配線により、2通りの遷移が考えられ
る。すなわち、クロック信号CLK1がゲート信号Ga
te2より先に反転する場合は「100/0」→「00
0/0」→「001/0」と遷移し、ゲート信号Gat
e2がクロック信号CLK1より先に反転する場合は
「100/0」→「101/0」→「001/0」と遷
移する。
【0046】これら2通りの遷移のどちらを経由しても
ゲーティッドクロック信号GCLK1の論理状態は0の
ままであるので、期間T1から期間T2へ遷移するとき
にゲーティッドクロック信号GCLK1にはグリッジが
発生しないことが分かる。
【0047】また、期間T2では「001/0」の状態
である。期間T2から期間T3へ遷移するとき、クロッ
ク信号CLK1とゲート信号Gate1の2つの信号が
反転し、「111/1」の状態に遷移しようとする。こ
のとき、ゲーティッドクロック生成回路の配置配線によ
り、2通りの遷移が考えられる。すなわち、クロック信
号CLK1がゲート信号Gate1より先に反転する場
合は「001/0」→「101/0」→「111/1」
と遷移し、ゲート信号Gate1がクロック信号CLK
1より先に反転する場合は「001/0」→「011/
0」→「111/1」と遷移する。
【0048】これら2通りの遷移のどちらを経由しても
区間T3になるまでゲーティッドクロック信号GCLK
1の論理状態は0から1へ一度のみ変化するので、期間
T2から期間T3へ遷移するときにゲーティッドクロッ
ク信号GCLK1にはグリッジが発生しないことが分か
る。
【0049】次に、図5について説明する。期間T4で
は、「111/1」の状態である。期間T4から期間T
5へ遷移するとき、クロック信号CLK1とゲート信号
Gate2の2つの信号が反転し、「010/0」の状
態に遷移しようとする。このとき、ゲーティッドクロッ
ク生成回路の配置配線により、2通りの遷移が考えられ
る。すなわち、クロック信号CLK1がゲート信号Ga
te2より先に反転する場合は「111/1」→「01
1/0」→「010/0」と遷移し、ゲート信号Gat
e2がクロック信号CLK1より先に反転する場合は
「111/1」→「110/0」→「010/0」と遷
移する。
【0050】これら2通りの遷移のどちらを経由しても
ゲーティッドクロック信号GCLK1の論理状態は一旦
1から0に変化するとその後は0のままであるので、期
間T4から期間T5へ遷移するときにゲーティッドクロ
ック信号GCLK1にはグリッジが発生しないことが分
かる。
【0051】また、期間T5では、「010/0」の状
態である。期間T5から期間T6へ遷移するとき、クロ
ック信号CLK1とゲート信号Gate1の2つの信号
が反転し、「100/0」の状態に遷移しようとする。
このとき、ゲーティッドクロック生成回路の配置配線に
より、2通りの遷移が考えられる。すなわち、クロック
信号CLK1がゲート信号Gate1より先に反転する
場合は「010/0」→「110/0」→「100/
0」と遷移し、ゲート信号Gate1がクロック信号C
LK1より先に反転する場合は「010/0」→「00
0/0」→「100/0」と遷移する。
【0052】これら2通りの遷移のどちらを経由しても
ゲーティッドクロック信号GCLK1の論理状態は0の
ままであるので、期間T5から期間T6へ遷移するとき
にゲーティッドクロック信号GCLK1にはグリッジが
発生しないことが分かる。
【0053】このように図1のゲーティッドクロック生
成回路ではグリッジが発生しないので、図1のゲーティ
ッドクロック生成回路が出力するゲーティッドクロック
信号を入力する回路の誤作動を防ぐことができる。
【0054】次に、本発明に係る第二実施形態のゲーテ
ィッドクロック生成回路の構成を図2に示す。尚、図1
6と同一の部分には同一の符号を付す。
【0055】クロック信号CLK2が入力される入力端
子4は、インバータINV2の入力端子およびバッファ
・ゲートBUF5の入力端子に接続される。
【0056】インバータINV2の出力端子は、バッフ
ァ・ゲートBUF4の入力端子およびインバータINV
3の入力端子に接続される。また、バッファ・ゲートB
UF5の出力端子は、ANDゲートAN3の第2入力端
子に接続される。
【0057】バッファ・ゲートBUF4の出力端子は、
フリップフロップFF3のクロック入力端子に接続され
る。また、インバータINV3の出力端子は、フリップ
フロップFF4のクロック入力端子に接続される。
【0058】そして、データ信号Data2が入力され
る入力端子5が、フリップフロップFF3のデータ入力
端子に接続される。また、フリップフロップFF3の出
力端子がANDゲートAN3の第1入力端子およびフリ
ップフロップFF4のデータ入力端子に接続される。ま
た、ANDゲートAN3の出力端子がANDゲートAN
4の第1入力端子に接続される。また、フリップフロッ
プFF4の出力端子がANDゲートAN4の第2入力端
子に接続される。そして、ANDゲートAN4の出力端
子がゲーティッドクロック信号GCLK2を出力する出
力端子6に接続される。
【0059】このような構成のゲーティッドクロック生
成回路の動作について図2の回路構成図及び図6のタイ
ミングチャートを参照して説明する。入力端子4に入力
されたクロック信号CLK2は、インバータINV2で
反転されたのち、バッファ・ゲートBUF4を介してフ
リップフロップFF3のクロック入力端子に到達する。
また、入力端子5に入力されたデータ信号Data2
は、フリップフロップFF3のデータ入力端子に到達す
る。そうすると、フリップフロップFF3の出力端子か
らANDゲートAN3の第1入力端子に送出されるゲー
ト信号Gate3は、図6に示すようにデータ信号Da
ta2の反転タイミングがクロック信号CLK2の立ち
下がりエッジまで遅延した波形の信号となる。
【0060】一方、入力端子4に入力されたクロック信
号CLK2は、バッファ・ゲートBUF5を介してAN
DゲートAN3の第2入力端子にも到達する。ANDゲ
ートAN3は、ゲート信号Gate3とクロック信号C
LK2との論理積である信号をANDゲートAN4の第
1入力端子に送出する。
【0061】そして、入力端子4に入力されたクロック
信号CLK2は、インバータINV2及びINV3を介
してフリップフロップFF4のクロック入力端子に到達
する。また、フリップフロップFF3の出力端子から出
力されるゲート信号Gate3がフリップフロップFF
4のデータ入力端子に到達する。そうすると、フリップ
フロップFF4の出力端子からANDゲートAN4の第
2入力端子に送出されるゲート信号Gate4は、ゲー
ト信号Gate3の反転タイミングがクロック信号CL
K2の立ち上がりエッジまで遅延した波形の信号とな
る。
【0062】フリップフロップFF4が出力するゲート
信号Gate4は、フリップフロップFF3が出力する
ゲート信号Gate3を遅延した信号であるので、フリ
ップフロップFF4が出力するゲート信号Gate4
は、フリップフロップFF3が出力するゲート信号Ga
te3よりクロック信号CLK1の半周期だけ遅れた信
号となる。
【0063】上述したように、ANDゲートAN4の第
1入力端子にはゲート信号Gate3とクロック信号C
LK2との論理積である信号が入力され、ANDゲート
AN4の第2入力端子にはゲート信号Gate4が入力
されるので、ANDゲートAN4はゲート信号Gate
3とゲート信号Gate4とクロック信号CLK2との
論理積であるゲーティッドクロック信号GCLK2を出
力端子6に送出する。尚、ゲート信号Gate3および
ゲーティッドクロック信号GCLK2の波形は図17
(a)と同一である。
【0064】したがって、クロック信号が必要な期間を
データ信号によって入力することにより、その必要な期
間のみクロック信号がゲーティッドクロック信号GCL
K2として出力されることになる。
【0065】さらに、図2のゲーティッドクロック生成
回路ではグリッジが発生しないことを説明する。図6中
に示した期間T7、期間T8、期間T9の間のANDゲ
ートAN3の入力信号並びにANDゲートAN4の入力
信号及び出力信号の遷移の様子を図7に示す。また、図
6中に示した期間T10、期間T11、期間T12の間
のANDゲートAN3の入力信号並びにANDゲートA
N4の入力信号及び出力信号の遷移の様子を図8に示
す。尚、図7及び図8において、各丸印の中には左から
順にクロック信号CLK2の論理状態、ゲート信号Ga
te3の論理状態、ゲート信号Gate4の論理状態を
示し、「/」記号の右側にANDゲートAN4の出力状
態、すなわちゲーティッドクロック信号GCLK2の論
理状態を示すものとする。
【0066】まず、図7について説明する。期間T7で
は、「100/0」の状態である。期間T7から期間T
8へ遷移するとき、クロック信号CLK2とゲート信号
Gate3の2つの信号が反転し、「010/0」の状
態に遷移しようとする。このとき、ゲーティッドクロッ
ク生成回路の配置配線により、2通りの遷移が考えられ
る。すなわち、クロック信号CLK2がゲート信号Ga
te3より先に反転する場合は「100/0」→「00
0/0」→「010/0」と遷移し、ゲート信号Gat
e3がクロック信号CLK2より先に反転する場合は
「100/0」→「110/0」→「010/0」と遷
移する。
【0067】これら2通りの遷移のどちらを経由しても
ゲーティッドクロック信号GCLK2の論理状態は0の
ままであるので、期間T7から期間T8へ遷移するとき
にゲーティッドクロック信号GCLK2にはグリッジが
発生しないことが分かる。
【0068】また、期間T8では、「010/0」の状
態である。期間T8から期間T9へ遷移するとき、クロ
ック信号CLK2とゲート信号Gate4の2つの信号
が反転し、「111/1」の状態に遷移しようとする。
このとき、ゲーティッドクロック生成回路の配置配線に
より、2通りの遷移が考えられる。すなわち、クロック
信号CLK2がゲート信号Gate4より先に反転する
場合は「010/0」→「110/0」→「111/
1」と遷移し、ゲート信号Gate4がクロック信号C
LK2より先に反転する場合は「010/0」→「01
1/0」→「111/1」と遷移する。
【0069】これら2通りの遷移のどちらを経由しても
区間T9になるまでゲーティッドクロック信号GCLK
2の論理状態は0から1へ一度のみ変化するので、期間
T8から期間T9へ遷移するときにゲーティッドクロッ
ク信号GCLK2にはグリッジが発生しないことが分か
る。
【0070】次に、図8について説明する。期間T10
では、「111/1」の状態である。期間T10から期
間T11へ遷移するとき、クロック信号CLK2とゲー
ト信号Gate3の2つの信号が反転し、「001/
0」の状態に遷移しようとする。このとき、ゲーティッ
ドクロック生成回路の配置配線により、2通りの遷移が
考えられる。すなわち、クロック信号CLK2がゲート
信号Gate3より先に反転する場合は「111/1」
→「011/0」→「001/0」と遷移し、ゲート信
号Gate3がクロック信号CLK2より先に反転する
場合は「111/1」→「101/0」→「001/
0」と遷移する。
【0071】これら2通りの遷移のどちらを経由しても
ゲーティッドクロック信号GCLK2の論理状態は一旦
1から0に変化するとその後は0のままであるので、期
間T10から期間T11へ遷移するときにゲーティッド
クロック信号GCLK2にはグリッジが発生しないこと
が分かる。
【0072】また、期間T11では、「001/0」の
状態である。期間T11から期間T12へ遷移すると
き、クロック信号CLK2とゲート信号Gate4の2
つの信号が反転し、「100/0」の状態に遷移しよう
とする。このとき、ゲーティッドクロック生成回路の配
置配線により、2通りの遷移が考えられる。すなわち、
クロック信号CLK2がゲート信号Gate4より先に
反転する場合は「001/0」→「101/0」→「1
00/0」と遷移し、ゲート信号Gate4がクロック
信号CLK2より先に反転する場合は「001/0」→
「000/0」→「100/0」と遷移する。
【0073】これら2通りの遷移のどちらを経由しても
ゲーティッドクロック信号GCLK2の論理状態は0の
ままであるので、期間T11から期間T12へ遷移する
ときにゲーティッドクロック信号GCLK2にはグリッ
ジが発生しないことが分かる。
【0074】このように図2のゲーティッドクロック生
成回路ではグリッジが発生しないので、図2のゲーティ
ッドクロック生成回路が出力するゲーティッドクロック
信号を入力する回路の誤作動を防ぐことができる。
【0075】上述したようにクロック同期回路は一般に
同期設計される。同期設計では、外部から入力されるク
ロック信号を反転させた信号である反転クロック信号を
用いるためには、その反転クロック信号も別の1つのク
ロック信号とみなして配置配線する必要がある。このよ
うにスキューを抑えなければならないクロック信号の数
が増えると、配置配線が困難になる上、クロック信号を
入出力するバッファ・ゲートの数が増大して、クロック
同期回路を搭載するチップの面積が大きくなり、コスト
が増加することになる。
【0076】したがって、図18(c)のようにフリッ
プフロップFF28〜FF31に入力されるクロック信
号が2種類とみなされる回路ではなく、図18(a)の
ようにフリップフロップFF20〜FF23に入力され
るクロック信号を1種類とする回路や図18(b)のよ
うにフリップフロップFF24〜FF27に入力される
クロック信号を1種類とする回路になるように設計する
ことが望ましい。
【0077】尚、図18(a)のクロック同期回路で
は、フリップフロップFF20〜FF23すべてにクロ
ック信号CLKがインバータを介さずに入力されるた
め、フリップフロップFF20〜FF23に入力される
クロック信号が1種類となる。また、図18(b)のク
ロック同期回路では、フリップフロップFF24〜FF
27すべてにクロック信号CLKがインバータを介して
入力されるため、フリップフロップFF24〜FF27
に入力されるクロック信号が1種類となる。また、図1
8(c)のクロック同期回路では、フリップフロップF
F28及びFF29にクロック信号CLKがインバータ
を介さずに入力され、フリップフロップFF30及びF
F31にクロック信号CLKがインバータINV21を
介して入力されるため、フリップフロップFF28〜F
F31に入力されるクロック信号が2種類とみなされ
る。
【0078】ところが、上述した本発明に係るゲーティ
ッドクロック回路をクロック同期回路に用いた場合、例
えば図1のゲーティッドクロック回路を用いた場合、図
9に示すような回路構成になる。尚、図9において図1
と同一の部分には同一の符号を付す。
【0079】図9のクロック同期回路ではフリップフロ
ップFF2に供給されるクロック信号を別のクロック信
号とみなして設計を行う必要があった。このため、本発
明に係るゲーティッドクロック回路を備えたクロック同
期回路は、同期設計を行ううえで設計者にとって設計し
にくい回路構成となっていた。
【0080】そこで、まず従来のゲーティッドクロック
生成回路を用いてクロック同期回路を設計し、その後従
来のゲーティッドクロック生成回路部分を修正し、本発
明に係るゲーティッドクロック生成回路に変更するとよ
い。以下に、その方法について具体的に説明する。
【0081】クロック同期回路に設けられる従来のゲー
ティッドクロック生成回路部分を修正して本発明に係る
ゲーティッドクロック生成回路に変更する回路修正装置
を図10に示す。図10の回路修正装置は、回路図情報
若しくはネットリスト又はハードウェア記述言語(以
下、「HDL」という)による記述等の入力データを入
力するための入力装置11と、修正結果を出力する出力
装置12と、入力データ及び修正結果を格納するハード
ディスク13と、修正するために必要なデータを保持す
るメモリ14と、修正を行うためのプログラムが記録さ
れた記録媒体15と、記録媒体15に記録されたプログ
ラムに従って修正を実行するCPU(Central Processo
r Unit)16と、を備えている。尚、CPU16は、バ
ス17を介して入力装置11、出力装置12、ハードデ
ィスク13、メモリ14、および記録媒体15に接続さ
れる。
【0082】CPU16は記録媒体15に記録されたプ
ログラムを読み込み、そのプログラムに従って後述する
処理を実行する。メモリ14は、入力データに追加する
回路部分の回路図情報及びネットリスト並びに入力デー
タに追加する回路部分を表現するHDLによる記述のデ
ータを予め格納している。
【0083】ネットリストが入力された場合に図10の
回路修正装置が実行する処理手順について図10の構成
図及び図11のフローチャート図を参照して説明する。
【0084】まず入力装置11は、従来のゲーティッド
クロック生成回路が設けられたクロック同期回路のネッ
トリスト、例えば図19に示す回路のネットリストを入
力する(ステップS10)。尚、図19において、図9
と同一の部分には同一の符号を付す。また入力装置11
は、クロック信号が供給される端子の情報、すなわちク
ロック信号が供給される端子が入力端子1であることを
入力する(ステップS20)。
【0085】入力装置11が入力したデータは、CPU
16によってメモリ14に転送される。そしてCPU1
6は、メモリ14に転送されたデータに基づき、ネット
リストの中からクロック信号が供給される端子に接続さ
れている回路部分を検索して列挙する(ステップS3
0)。その際、バッファ・ゲート及びインバータは配線
とみなし、その先に接続されている回路部分を検索す
る。従って、フリップフロップFF1、FF10〜FF
12、およびANDゲートAN1が列挙される。
【0086】次にCPU16は、ステップS30におい
て列挙された回路部分の中で、クロック信号がクロック
入力端子に入力されるフリップフロップ以外の回路部
分、すなわちANDゲートAN1だけを抽出する(ステ
ップS40)。ステップS40では、ANDゲートAN
1がクロック信号に基づいてゲーティッドクロック信号
を生成している回路部分であることが判別されている。
【0087】そしてCPU16は、ステップS40にお
いて抽出された回路部分の入力信号を生成しているフリ
ップフロップ、すなわちフリップフロップFF1を抽出
する(ステップS50)。
【0088】次にCPU16は、ステップS40におい
て抽出された回路部分の入力信号の反転タイミングがク
ロック信号の立ち上がりエッジと同期するか否かを判定
する(ステップS60)。その際、ステップS40にお
いて抽出された回路部分の入力信号の反転タイミングが
クロック信号の立ち上がりエッジと同期するか否かの情
報を入力装置11が入力するようにしてもよく、クロッ
ク信号が供給される入力端子とフリップフロップとの間
に設けられているインバータを検索し、検索されたイン
バータの数に基づいてステップS40において抽出され
た回路部分の入力信号の反転タイミングがクロック信号
の立ち上がりエッジと同期するか否かを判定してもよ
い。
【0089】ステップS40において抽出された回路部
分の入力信号の反転タイミングがクロック信号の立ち上
がりエッジと同期していれば(ステップS60のYe
s)、CPU16は、メモリ14が予め格納していたデ
ータからフリップフロップを取り出し、ステップS50
で抽出されたフリップフロップと同じデータ入力を持つ
フリップフロップとして新たにネットリストに追加した
のち(ステップS70)、ステップS90に移行する。
【0090】一方、ステップS40において抽出された
回路部分の入力信号の反転タイミングがクロック信号の
立ち上がりエッジと同期しておらず、クロック信号の立
ち下がりエッジと同期していれば(ステップS60のN
o)、CPU16は、メモリ14が予め格納していたデ
ータからフリップフロップを取り出し、ステップS50
で抽出されたフリップフロップの出力をデータ入力とす
るフリップフロップとして新たにネットリストに追加し
たのち(ステップS80)、ステップS90に移行す
る。
【0091】尚、ステップS10で図19の回路のネッ
トリストを入力しているので、ANDゲートの入力信号
の反転タイミングがクロック信号の立ち上がりエッジと
同期する。したがって、CPU16はステップS80の
処理は行わずステップS70の処理を行う。すなわち、
ステップS50において抽出されたフリップフロップF
F1と同じデータ入力を持つフリップフロップを新たに
ネットリストに追加する。
【0092】ステップS90では、CPU16は、メモ
リ14が予め格納していたデータからインバータを取り
出し、クロック信号を入力するインバータとしてネット
リストに追加する。そしてCPU16は、その追加した
インバータの出力を、ステップS70またはステップS
80において追加したフリップフロップのクロック入力
に接続するようにネットリストを書き換える(ステップ
S100)。
【0093】次にCPU16は、メモリ14が予め格納
していたデータからANDゲートを取り出してネットリ
ストに追加し(ステップS110)、ステップS40で
抽出した回路部分の出力と、ステップS70又はステッ
プS80で追加したフリップフロップの出力とを、その
追加したANDゲートの入力に接続するようにネットリ
ストを書き換える(ステップS120)。
【0094】そしてCPU16は、ステップS110で
追加したANDゲートの出力を、ステップS40で抽出
した回路部分の出力に接続されていた出力端子に接続す
るようにネットリストを書き換えて(ステップS13
0)、フローを終了する。さらにCPU16は、フロー
処理を行って修正されたネットリストを修正結果として
ハードディスク13に格納する。
【0095】図10の回路修正装置がこのような処理を
行うことによって、図19に示すクロック同期回路のネ
ットリストが修正され、図9に示すクロック同期回路の
ネットリストに変更される。
【0096】しかしながら、図10の回路修正装置が上
述したようにネットリストを入力して修正する場合、修
正した回路が動作しなくなるおそれがある。例えば、修
正した回路が図9に示すクロック同期回路の場合、追加
したフリップフロップFF2のデータ入力端子に入力さ
れるデータ信号は、図19に示す修正前のクロック同期
回路におけるフリップフロップFF1のデータ入力端子
に入力されるデータ信号Data1であり、修正前のデ
ータパスはクロック信号CLK1の立ち上がりエッジか
ら次の立ち上がりエッジまでの1周期以内に、フリップ
フロップFF1のデータ入力端子に到達すればよいが、
追加したフリップフロップFF2のデータ入力端子には
クロック信号CLK1の立ち上がりエッジから次の立ち
下がりエッジまでに到達する必要がある。つまり、従来
許容されていた遅延時間の半分でフリップフロップFF
2に到達する必要がある。このように、遅延時間への制
約が厳しくなるため、修正したクロック同期回路が正常
に動作する保証がなくなる。
【0097】そこで、回路図情報やネットリストなどす
でに回路図になったものを修正するのではなく、論理合
成前のHDLによる記述を用いて修正を行うようにする
とよい。論理合成前のHDLによる記述を用いて修正を
行うことによって、論理合成の際に遅延時間に対する制
約を満たすかどうかを判断することができ、正常に動作
する回路であるかを確認することができる。また、論理
合成時に遅延時間を含めた最適化を行うことも可能とな
る。
【0098】論理合成前のHDLによる記述が入力され
た場合に図10の回路修正装置が実行する処理手順につ
いて図13のフローチャート図を参照して説明する。
【0099】まず入力装置11が、例えば図19のクロ
ック同期回路と論理的に等価となる図20のHDLによ
る記述を入力する(ステップS210)。図20に示す
記述は、VHDL(VHSIC Hardware Description Langu
age)による記述であり、図19のクロック同期回路の
一部20と論理的に等価となる記述以外は省略してい
る。尚、以下の説明においては説明を簡単にするため、
図20において省略した記述については処理の対象にし
ないこととする。
【0100】また入力装置11は、HDLによる記述中
の「clk1」がクロック信号を表現する記述であることを
入力する(ステップS220)。
【0101】入力装置11が入力したデータは、CPU
16によってメモリ14に転送される。そしてCPU1
6は、メモリ14に転送されたデータに基づき、HDL
による記述の中から「clk1」を入力として使用している
プロセス文あるいは同時処理文を検索して列挙する(ス
テップS230)。したがって、図20に示すHDLに
よる記述の中から、プロセス文A1および同時処理文B
1が検索され列挙される。
【0102】次にCPU16は、ステップS230にお
いて列挙されたプロセス文あるいは同時処理文の中で、
信号のエッジを表現する記述「event」に「clk1」を入
力しているもの以外のプロセス文あるいは同時処理文を
抽出する(ステップS240)。したがって、同時処理
文B1のみが抽出される。尚、同時処理文B1は「clk
1」および「gate1」を入力してゲーティッドクロック信
号となる「gclk1」を出力する記述である。
【0103】そしてCPU16は、ステップS240に
おいて抽出されたプロセス文あるいは同時処理文の入力
となる信号を出力するプロセス文あるいは同時処理文を
抽出する(ステップS250)。したがって、同時処理
文B1の入力信号である「gate1」を出力するプロセス
文A1が抽出される。
【0104】次にCPU16は、ステップS240にお
いて抽出されたプロセス文あるいは同期処理文の入力信
号のエッジが「clk1」の立ち上がりエッジと同期するか
否かを判定する(ステップS260)。ステップS24
0において抽出されたプロセス文の入力信号のエッジ
は、「event」記述部分が「clk1'event and clk1='1'」
であれば立ち上がりエッジに同期、「clk1'event and c
lk1='0'」であれば立ち下がりエッジに同期していると
判別できる。
【0105】ステップS240において抽出されたプロ
セス文あるいは同期処理文の入力信号のエッジが「clk
1」の立ち上がりエッジと同期していれば(ステップS
260のYes)、CPU16は、ステップS250で
抽出されたプロセス文あるいは同時処理文がフリップフ
ロップのみを表現する記述であるかを判定する。フリッ
プフロップ以外の回路を表現する記述が含まれている場
合は、フリップフロップのみを表現する記述とフリップ
フロップ以外の回路を表現する記述とに分離する。
【0106】そしてCPU16は、メモリ14が予め格
納していたデータからフリップフロップを表現する記述
を取り出し、ステップS250で抽出されたプロセス文
あるいは同時処理文に表現されているフリップフロップ
と同じデータ入力を持つフリップフロップを表現する記
述として新たにHDLによる記述に追加したのち(ステ
ップS270)、ステップS290に移行する。
【0107】一方、ステップS240において抽出され
たプロセス文あるいは同期処理文の入力信号のエッジが
「clk1」の立ち上がりエッジと同期しておらず「clk1」
の立ち下がりエッジと同期していれば(ステップS26
0のNo)、CPU16は、ステップS250で抽出さ
れたプロセス文あるいは同時処理文がフリップフロップ
のみを表現する記述であるかを判定する。フリップフロ
ップ以外の回路を表現する記述が含まれている場合は、
フリップフロップのみを表現する記述とフリップフロッ
プ以外の回路を表現する記述とに分離する。
【0108】そしてCPU16は、メモリ14が予め格
納していたデータからフリップフロップを表現する記述
を取り出し、ステップS250で抽出されたプロセス文
あるいは同時処理文に表現されているフリップフロップ
の出力をデータ入力とするフリップフロップを表現する
記述として新たにHDLによる記述に追加したのち(ス
テップS280)、ステップS290に移行する。
【0109】尚、ステップS210で図20のHDLに
よる記述を入力しているので、ステップS240で抽出
された同時処理文B1の入力信号のエッジはクロック信
号の立ち上がりエッジと同期する。したがって、CPU
16はステップS280の処理は行わずステップS27
0の処理を行う。具体的には、以下のような処理を行
う。
【0110】プロセス文A1の記述のうちフリップフロ
ップ以外を表現する部分を分離して、図12のプロセス
文A2として追加する。さらに、フリップフロップのデ
ータ入力端子に入力されるデータ信号を示す新たな信号
名「data_input_to_ff1」を新たに導入する。それに伴
い、プロセス文A1を図12のプロセス文A3に変更す
る。つまり、プロセス文A1をプロセス文A2とプロセ
ス文A3とに分離する。このような分離を行っても、論
理的には分離前と等価である。
【0111】そして、信号「data_input_to_ff1」をデ
ータ入力端子に入力するフリップフロップを表現するプ
ロセス文を新たにHDLによる記述に追加する。以上が
ステップ270における具体的な処理である。
【0112】ステップS290では、CPU16は、メ
モリ14が予め格納していたデータからインバータを表
現する記述を取り出し、クロック信号を入力するインバ
ータを表現する記述としてHDLによる記述に追加す
る。すなわち、CPU16は新たな信号名「inv_clk1」
を導入し、図12に示す同時処理文B2を新たにHDL
による記述に追加する。
【0113】そしてCPU16は、その追加した記述に
表現されているインバータの出力がステップS270ま
たはステップS280において追加した記述に表現され
ているフリップフロップのクロック入力に接続されるよ
うにHDLによる記述を書き換える(ステップS30
0)。すなわち、信号「inv_clk1」をステップS270
またはステップS280で追加したプロセス文中の「ev
ent」に導入する。そうすると、図12に示すプロセス
文A4となる。
【0114】次にCPU16は、メモリ14が予め格納
していたデータからANDゲートを表現する記述を取り
出してHDLによる記述に追加する(ステップS31
0)。
【0115】また、ステップS240で抽出したプロセ
ス文あるいは同時処理文の出力と、ステップS270又
はステップS280で追加した記述に表現されているフ
リップフロップの出力とを、その追加した記述に表現さ
れているANDゲートの入力に接続するために、新たな
信号名「gate1_tmp」を導入してHDLによる記述を書
き換える(ステップS320)。そうすると、プロセス
文B1は図12に示す同時処理文B3に変更される。
【0116】そしてCPU16は、ステップS310で
追加した記述に表現されているANDゲートの出力信号
を、ステップS230で抽出したプロセス文あるいは同
時処理文の出力信号と同一にするようにHDLによる記
述を書き換え(ステップS330)、フローを終了す
る。そうすると、ステップS310で追加した記述は図
12に示す同期処理文B4となる。
【0117】さらにCPU16は、フロー処理を行って
修正されたHDLによる記述を修正結果としてハードデ
ィスク13に格納する。図10の回路修正装置がこのよ
うな処理を行うことによって、図20に示すHDLによ
る記述が修正され、図12に示すHDLによる記述に変
更される。図12に示すHDLによる記述は、図9のク
ロック同期回路を表現している。尚、図12に示すHD
Lによる記述は、図9のクロック同期回路の一部21と
論理的に等価となる記述以外は省略している。
【0118】この後、修正されたHDLによる記述を論
理合成する際に、設計者が遅延時間に対する制約を適切
に与えて論理合成すれば、追加された回路部分を含めた
クロック同期回路全体が動作可能であるかを設計者が判
断できる。また、クロック同期回路が動作可能で有る場
合、遅延時間のみならず、ファンアウト数や信号遷移時
間等のその他の制約も含めて調整できる。これにより、
回路図情報やネットリストを用いた場合よりも意図通り
に動作する可能性の高いクロック同期回路を論理合成す
ることができ、設計したクロック同期回路の信頼性が高
くなる。
【0119】
【発明の効果】本発明によると、ゲーティッド生成回路
は、継続して変化するクロック信号の立ち上がり又は立
ち下がりエッジのいずれか一方に反転タイミングが同期
する第1のゲート信号と、前記第1のゲート信号に対し
て前記クロック信号の半周期分だけ位相がずれた第2の
ゲート信号と、に基づいて前記クロック信号の出力をO
N/OFF制御するので、配置配線で定まる遅延時間に
よって前記クロック信号の立ち上がり又は立ち下がりエ
ッジに対して前記第1のゲート信号や前記第2のゲート
信号の反転タイミングがずれた場合でも、グリッジが発
生することがない。これにより、冗長な回路を挿入する
などして配置配線をやり直したり再設計をして遅延時間
を調整する必要がなくなる。
【0120】また、本発明によると、回路図情報又はネ
ットリストの修正方法は、継続して変化するクロック信
号の立ち上がりエッジにデータ信号の反転タイミングが
同期するように前記クロック信号に応じて前記データ信
号を遅延させることによって生成される第1のゲート信
号に基づいて前記クロック信号の出力をON/OFF制
御するゲーティッドクロック生成回路を備えたクロック
同期回路の回路図情報又はネットリストに対して前記ク
ロック信号を反転させるインバータを追加するステップ
と、前記第1のゲート信号を生成しているフリップフロ
ップを前記回路図情報又はネットリストから検索するス
テップと、前記第1のゲート信号を生成しているフリッ
プフロップのデータ入力とデータ入力を同一にし且つ前
記インバータが出力する信号をクロック入力とするフリ
ップフロップを前記回路図情報又はネットリストに追加
するステップと、追加したフリップフロップが出力する
信号と修正前のゲーティッドクロック生成回路が出力し
ていた信号との論理積を出力するANDゲートを前記回
路図情報又はネットリストに追加するステップと、追加
したANDゲートが出力する信号を修正後のゲーティッ
ドクロック生成回路の出力信号とするステップと、を有
するので、前記第1のゲート信号に基づいてクロック信
号の出力をON/OFF制御するゲーティッドクロック
生成回路を備えたクロック同期回路の回路図情報又はネ
ットリストを、前記第1のゲート信号及び前記第1のゲ
ート信号に対して前記クロック信号の半周期分だけ位相
が進んだ第2のゲート信号に基づいてクロック信号の出
力をON/OFF制御するゲーティッドクロック生成回
路を備えたクロック同期回路の回路図情報又はネットリ
ストに修正することができる。これにより、設計者は従
来と同様に前記第1のゲート信号に基づいてクロック信
号の出力をON/OFF制御するゲーティッドクロック
生成回路を備えたクロック同期回路を設計すればよく、
クロック信号の種類を増やして設計を行う必要がなくな
る。
【0121】また、本発明によると、回路図情報又はネ
ットリストの修正方法は、継続して変化するクロック信
号の立ち下がりエッジにデータ信号の反転タイミングが
同期するように前記クロック信号に応じて前記データ信
号を遅延させることによって生成される第1のゲート信
号に基づいて前記クロック信号の出力をON/OFF制
御するゲーティッドクロック生成回路を備えたクロック
同期回路の回路図情報又はネットリストから前記第1の
ゲート信号を生成しているフリップフロップを検索する
ステップと、前記第1のゲート信号を生成しているフリ
ップフロップが出力する信号をデータ入力とし且つ前記
クロック信号をクロック入力とするフリップフロップを
前記回路図情報又はネットリストに追加するステップ
と、追加したフリップフロップの出力信号と修正前のゲ
ーティッドクロック生成回路の出力信号との論理積を出
力するANDゲートを前記回路図情報又はネットリスト
に追加するステップと、追加したANDゲートの出力信
号を修正後のゲーティッドクロック生成回路の出力信号
とするステップと、を有するので、前記第1のゲート信
号に基づいてクロック信号の出力をON/OFF制御す
るゲーティッドクロック生成回路を備えたクロック同期
回路の回路図情報又はネットリストを、前記第1のゲー
ト信号及び前記第1のゲート信号に対して前記クロック
信号の半周期分だけ位相が遅れた第2のゲート信号に基
づいてクロック信号の出力をON/OFF制御するゲー
ティッドクロック生成回路を備えたクロック同期回路の
回路図情報又はネットリストに修正することができる。
これにより、設計者は従来と同様に前記第1のゲート信
号に基づいてクロック信号の出力をON/OFF制御す
るゲーティッドクロック生成回路を備えたクロック同期
回路を設計すればよく、クロック信号の種類を増やして
設計を行う必要がなくなる。
【0122】また、本発明によると、ハードウェア記述
による記述の修正方法は、継続して変化するクロック信
号の立ち上がりエッジにデータ信号の反転タイミングが
同期するように前記クロック信号に応じて前記データ信
号を遅延させることによって生成される第1のゲート信
号に基づいて前記クロック信号の出力をON/OFF制
御するゲーティッドクロック生成回路を備えたクロック
同期回路を表現する論理合成前のHDLによる記述に対
して前記クロック信号を反転させるインバータを表現す
るHDLによる記述を追加するステップと、前記第1の
ゲート信号を生成しているフリップフロップを表現する
記述を前記クロック同期回路を表現する論理合成前のH
DLによる記述から検索するステップと、前記第1のゲ
ート信号を生成しているフリップフロップのデータ入力
とデータ入力を同一にし且つ前記インバータが出力する
信号をクロック入力とするフリップフロップを表現する
HDLによる記述を前記クロック同期回路を表現する論
理合成前のHDLによる記述に追加するステップと、追
加したフリップフロップが出力する信号と修正前のゲー
ティッドクロック生成回路が出力していた信号との論理
積を出力するANDゲートを表現するHDLによる記述
を前記クロック同期回路を表現する論理合成前のHDL
による記述に追加するステップと、追加したANDゲー
トが出力する信号を修正後のゲーティッドクロック生成
回路の出力信号とするように前記クロック同期回路を表
現する論理合成前のHDLによる記述を書き換えるステ
ップと、を有するので、前記第1のゲート信号に基づい
てクロック信号の出力をON/OFF制御するゲーティ
ッドクロック生成回路を備えたクロック同期回路を表現
する論理合成前のHDLによる記述を、前記第1のゲー
ト信号及び前記第1のゲート信号に対して前記クロック
信号の半周期分だけ位相が進んだ第2のゲート信号に基
づいてクロック信号の出力をON/OFF制御するゲー
ティッドクロック生成回路を備えたクロック同期回路を
表現する論理合成前のHDLによる記述に修正すること
ができる。これにより、設計者は従来と同様に前記第1
のゲート信号に基づいてクロック信号の出力をON/O
FF制御するゲーティッドクロック生成回路を備えたク
ロック同期回路を設計すればよく、クロック信号の種類
を増やして設計を行う必要がなくなる。また、論理合成
前のHDLによる記述を用いて修正を行っているので、
論理合成の際に遅延時間に対する制約を満たすかどうか
を判断することができ、正常に動作する回路であるかを
確認することができる。また、論理合成時に遅延時間を
含めた最適化を行うことも可能となる。これにより、ク
ロック同期回路の信頼性が向上する。
【0123】また、本発明によると、ハードウェア記述
による記述の修正方法は、継続して変化するクロック信
号の立ち下がりエッジにデータ信号の反転タイミングが
同期するように前記クロック信号に応じて前記データ信
号を遅延させることによって生成される第1のゲート信
号に基づいて前記クロック信号の出力をON/OFF制
御するゲーティッドクロック生成回路を備えたクロック
同期回路を表現する論理合成前のHDLによる記述から
前記第1のゲート信号を生成しているフリップフロップ
を表現する記述を検索するステップと、前記第1のゲー
ト信号を生成しているフリップフロップが出力する信号
をデータ入力とし且つ前記クロック信号をクロック入力
とするフリップフロップを表現するHDLによる記述を
前記クロック同期回路を表現する論理合成前のHDLに
よる記述に追加するステップと、追加したフリップフロ
ップが出力する信号と修正前のゲーティッドクロック生
成回路が出力していた信号との論理積を出力するAND
ゲートを表現するHDLによる記述を前記クロック同期
回路を表現する論理合成前のHDLによる記述に追加す
るステップと、追加したANDゲートが出力する信号を
修正後のゲーティッドクロック生成回路の出力信号とす
るように前記クロック同期回路を表現する論理合成前の
HDLによる記述を書き換えるステップと、を有するの
で、前記第1のゲート信号に基づいてクロック信号の出
力をON/OFF制御するゲーティッドクロック生成回
路を備えたクロック同期回路を表現する論理合成前のH
DLによる記述を、前記第1のゲート信号及び前記第1
のゲート信号に対して前記クロック信号の半周期分だけ
位相が遅れた第2のゲート信号に基づいてクロック信号
の出力をON/OFF制御するゲーティッドクロック生
成回路を備えたクロック同期回路を表現する論理合成前
のHDLによる記述に修正することができる。これによ
り、設計者は従来と同様に前記第1のゲート信号に基づ
いてクロック信号の出力をON/OFF制御するゲーテ
ィッドクロック生成回路を備えたクロック同期回路を設
計すればよく、クロック信号の種類を増やして設計を行
う必要がなくなる。また、論理合成前のHDLによる記
述を用いて修正を行っているので、論理合成の際に遅延
時間に対する制約を満たすかどうかを判断することがで
き、正常に動作する回路であるかを確認することができ
る。また、論理合成時に遅延時間を含めた最適化を行う
ことも可能となる。これにより、クロック同期回路の信
頼性が向上する。
【図面の簡単な説明】
【図1】 本発明に係る第一実施形態のゲーティッ
ドクロック生成回路の構成を示す図である。
【図2】 本発明に係る第二実施形態のゲーティッ
ドクロック生成回路の構成を示す図である。
【図3】 図1のゲーティッドクロック生成回路の
動作を示すタイミングチャート図である。
【図4】 図3の期間T1〜T3での状態遷移を示
す図である。
【図5】 図3の期間T4〜T6での状態遷移を示
す図である。
【図6】 図2のゲーティッドクロック生成回路の
動作を示すタイミングチャート図である。
【図7】 図6の期間T7〜T9での状態遷移を示
す図である。
【図8】 図6の期間T10〜T12での状態遷移
を示す図である。
【図9】 図1のゲーティッドクロック生成回路を
備えるクロック同期回路の構成を示す図である。
【図10】 回路修正装置の構成を示す図である。
【図11】 ネットリストの修正処理を示すフロー
チャート図である。
【図12】 図9のクロック同期回路を表現するH
DLによる記述を示す図である。
【図13】 HDLによる記述の修正処理を示すフ
ローチャート図である。
【図14】 従来のゲーティッドクロック生成回路
の構成を示す図である。
【図15】 図14のゲーティッドクロック生成回
路の動作を示すタイミングチャート図である。
【図16】 従来のゲーティッドクロック生成回路
の他の構成を示す図である。
【図17】 図16のゲーティッドクロック生成回
路の動作を示すタイミングチャート図である。
【図18】 クロック同期回路の構成を示す図であ
る。
【図19】 図14のゲーティッドクロック生成回
路を備えるクロック同期回路の構成を示す図である。
【図20】 図19のクロック同期回路を表現する
HDLによる記述を示す図である。
【符号の説明】
1、2、4、5 入力端子 3、6 出力端子 11 入力装置 12 出力装置 13 ハードディスク 14 メモリ 15 記録媒体 16 CPU A1〜A4 プロセス文 B1〜B4 同時処理文 AN1〜AN4 ANDゲート BUF1〜BUF5 バッファ・ゲート FF1〜FF4 フリップフロップ INV1〜INV3 インバータ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】データ信号及び継続して変化するクロック
    信号を入力し、前記クロック信号の立ち上がりエッジ又
    は立ち下がりエッジのいずれか一方に前記データ信号の
    反転タイミングが同期するように前記クロック信号に応
    じて前記データ信号を遅延させることによって第1のゲ
    ート信号を生成する手段と、 前記クロック信号と前記データ信号又は前記第1のゲー
    ト信号とを入力し、前記クロック信号に応じて前記デー
    タ信号又は前記第1のゲート信号を遅延させることによ
    って前記第1のゲート信号に対して前記クロック信号の
    半周期分だけ位相がずれた第2のゲート信号を生成する
    手段と、 前記第1のゲート信号及び前記第2のゲート信号に基づ
    いて前記クロック信号の出力をON/OFF制御する手
    段と、 を備えることを特徴とするゲーティッドクロック生成回
    路。
  2. 【請求項2】継続して変化するクロック信号の立ち上が
    りエッジにデータ信号の反転タイミングが同期するよう
    に前記クロック信号に応じて前記データ信号を遅延させ
    ることによって生成される第1のゲート信号に基づいて
    前記クロック信号の出力をON/OFF制御するゲーテ
    ィッドクロック生成回路を備えたクロック同期回路の回
    路図情報又はネットリストに対して前記クロック信号を
    反転させるインバータを追加するステップと、 前記第1のゲート信号を生成しているフリップフロップ
    を前記回路図情報又はネットリストから検索するステッ
    プと、 前記第1のゲート信号を生成しているフリップフロップ
    のデータ入力とデータ入力を同一にし且つ前記インバー
    タが出力する信号をクロック入力とするフリップフロッ
    プを前記回路図情報又はネットリストに追加するステッ
    プと、 追加したフリップフロップが出力する信号と修正前のゲ
    ーティッドクロック生成回路が出力していた信号との論
    理積を出力するANDゲートを前記回路図情報又はネッ
    トリストに追加するステップと、 追加したANDゲートが出力する信号を修正後のゲーテ
    ィッドクロック生成回路の出力信号とするステップと、 を有することを特徴とする回路図情報又はネットリスト
    の修正方法。
  3. 【請求項3】継続して変化するクロック信号の立ち下が
    りエッジにデータ信号の反転タイミングが同期するよう
    に前記クロック信号に応じて前記データ信号を遅延させ
    ることによって生成される第1のゲート信号に基づいて
    前記クロック信号の出力をON/OFF制御するゲーテ
    ィッドクロック生成回路を備えたクロック同期回路の回
    路図情報又はネットリストから前記第1のゲート信号を
    生成しているフリップフロップを検索するステップと、 前記第1のゲート信号を生成しているフリップフロップ
    が出力する信号をデータ入力とし且つ前記クロック信号
    をクロック入力とするフリップフロップを前記回路図情
    報又はネットリストに追加するステップと、 追加したフリップフロップの出力信号と修正前のゲーテ
    ィッドクロック生成回路の出力信号との論理積を出力す
    るANDゲートを前記回路図情報又はネットリストに追
    加するステップと、 追加したANDゲートの出力信号を修正後のゲーティッ
    ドクロック生成回路の出力信号とするステップと、 を有することを特徴とする回路図情報又はネットリスト
    の修正方法。
  4. 【請求項4】継続して変化するクロック信号の立ち上が
    りエッジにデータ信号の反転タイミングが同期するよう
    に前記クロック信号に応じて前記データ信号を遅延させ
    ることによって生成される第1のゲート信号に基づいて
    前記クロック信号の出力をON/OFF制御するゲーテ
    ィッドクロック生成回路を備えたクロック同期回路を表
    現する論理合成前のハードウェア記述言語による記述に
    対して前記クロック信号を反転させるインバータを表現
    するハードウェア記述言語による記述を前記クロック同
    期回路を表現する論理合成前のハードウェア記述言語に
    よる記述に追加するステップと、 前記第1のゲート信号を生成しているフリップフロップ
    を表現する記述を前記クロック同期回路を表現する論理
    合成前のハードウェア記述言語による記述から検索する
    ステップと、 前記第1のゲート信号を生成しているフリップフロップ
    のデータ入力とデータ入力を同一にし且つ前記インバー
    タが出力する信号をクロック入力とするフリップフロッ
    プを表現するハードウェア記述言語による記述を追加す
    るステップと、 追加したフリップフロップが出力する信号と修正前のゲ
    ーティッドクロック生成回路が出力していた信号との論
    理積を出力するANDゲートを表現するハードウェア記
    述言語による記述を前記クロック同期回路を表現する論
    理合成前のハードウェア記述言語による記述に追加する
    ステップと、 追加したANDゲートが出力する信号を修正後のゲーテ
    ィッドクロック生成回路の出力信号とするように前記ク
    ロック同期回路を表現する論理合成前のハードウェア記
    述言語による記述を書き換えるステップと、 を有することを特徴とするハードウェア記述言語による
    記述の修正方法。
  5. 【請求項5】継続して変化するクロック信号の立ち下が
    りエッジにデータ信号の反転タイミングが同期するよう
    に前記クロック信号に応じて前記データ信号を遅延させ
    ることによって生成される第1のゲート信号に基づいて
    前記クロック信号の出力をON/OFF制御するゲーテ
    ィッドクロック生成回路を備えたクロック同期回路を表
    現する論理合成前のハードウェア記述言語による記述か
    ら前記第1のゲート信号を生成しているフリップフロッ
    プを表現する記述を検索するステップと、 前記第1のゲート信号を生成しているフリップフロップ
    が出力する信号をデータ入力とし且つ前記クロック信号
    をクロック入力とするフリップフロップを表現するハー
    ドウェア記述言語による記述を前記クロック同期回路を
    表現する論理合成前のハードウェア記述言語による記述
    に追加するステップと、 追加したフリップフロップが出力する信号と修正前のゲ
    ーティッドクロック生成回路が出力していた信号との論
    理積を出力するANDゲートを表現するハードウェア記
    述言語による記述を前記クロック同期回路を表現する論
    理合成前のハードウェア記述言語による記述に追加する
    ステップと、 追加したANDゲートが出力する信号を修正後のゲーテ
    ィッドクロック生成回路の出力信号とするように前記ク
    ロック同期回路を表現する論理合成前のハードウェア記
    述言語による記述を書き換えるステップと、 を有することを特徴とするハードウェア記述言語による
    記述の修正方法。
JP2001176723A 2001-06-12 2001-06-12 ゲーティッドクロック生成回路及び回路修正方法 Expired - Fee Related JP3698657B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2001176723A JP3698657B2 (ja) 2001-06-12 2001-06-12 ゲーティッドクロック生成回路及び回路修正方法
CNB021243077A CN1308792C (zh) 2001-06-12 2002-06-12 选通时钟产生电路
DE60232481T DE60232481D1 (de) 2001-06-12 2002-06-12 Schaltung zur Generierung eines Taktsignals und Anpassungsverfahren für die Schaltung
US10/166,627 US7082579B2 (en) 2001-06-12 2002-06-12 Gated clock generating circuit and method of modifying the circuit
EP02254086A EP1267249B1 (en) 2001-06-12 2002-06-12 Gated clock generating circuit and method of modifying the circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001176723A JP3698657B2 (ja) 2001-06-12 2001-06-12 ゲーティッドクロック生成回路及び回路修正方法

Publications (2)

Publication Number Publication Date
JP2002366254A true JP2002366254A (ja) 2002-12-20
JP3698657B2 JP3698657B2 (ja) 2005-09-21

Family

ID=19017671

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001176723A Expired - Fee Related JP3698657B2 (ja) 2001-06-12 2001-06-12 ゲーティッドクロック生成回路及び回路修正方法

Country Status (5)

Country Link
US (1) US7082579B2 (ja)
EP (1) EP1267249B1 (ja)
JP (1) JP3698657B2 (ja)
CN (1) CN1308792C (ja)
DE (1) DE60232481D1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100885916B1 (ko) 2007-02-28 2009-02-26 삼성전자주식회사 클럭 게이티드 회로
US7917882B2 (en) * 2007-10-26 2011-03-29 Mips Technologies, Inc. Automated digital circuit design tool that reduces or eliminates adverse timing constraints due to an inherent clock signal skew, and applications thereof
TWI743327B (zh) * 2017-04-02 2021-10-21 南韓商三星電子股份有限公司 使用受控反相時脈之低電力整合時脈閘控單元

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3920830B2 (ja) * 2003-09-19 2007-05-30 三洋電機株式会社 インターフェース回路、データ処理回路、データ処理システム、集積回路
JP4351941B2 (ja) * 2004-03-26 2009-10-28 株式会社アドバンテスト 試験装置及び試験方法
DE102004031669B3 (de) * 2004-06-30 2006-02-09 Infineon Technologies Ag Taktsteuerzelle
JP4738216B2 (ja) * 2006-03-13 2011-08-03 株式会社東芝 半導体集積回路装置、及びその回路挿入手法
JP5460251B2 (ja) * 2009-11-13 2014-04-02 株式会社日立製作所 情報処理装置
US8984467B2 (en) * 2011-08-17 2015-03-17 Synopsys, Inc. Method and apparatus for automatic relative placement generation for clock trees

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1563848A (en) * 1977-02-09 1980-04-02 Hewlett Packard Ltd Cmi-encoder
US4368514A (en) * 1980-04-25 1983-01-11 Timeplex, Inc. Multi-processor system
JPS6216615A (ja) * 1985-07-15 1987-01-24 Ricoh Co Ltd ノイズ除去回路
EP0309849A1 (de) * 1987-09-28 1989-04-05 Siemens Aktiengesellschaft Anordnung zur Entzerrung der Impulsbreiten eines Digitalsignals
JPH02290322A (ja) 1989-01-04 1990-11-30 Nec Corp クロック信号切替回路
JPH0474206A (ja) 1990-07-16 1992-03-09 Nec Gumma Ltd クロック切換回路
US5315181A (en) * 1993-07-07 1994-05-24 Maxtor Corporation Circuit for synchronous, glitch-free clock switching
TW379293B (en) * 1994-04-01 2000-01-11 Ibm Apparatus and method for generating a clock in a microprocessor
JPH08330915A (ja) 1995-05-29 1996-12-13 Oki Electric Ind Co Ltd クロック信号切替回路
US5537062A (en) * 1995-06-07 1996-07-16 Ast Research, Inc. Glitch-free clock enable circuit
US5980092A (en) * 1996-11-19 1999-11-09 Unisys Corporation Method and apparatus for optimizing a gated clock structure using a standard optimization tool
US5808486A (en) * 1997-04-28 1998-09-15 Ag Communication Systems Corporation Glitch free clock enable circuit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100885916B1 (ko) 2007-02-28 2009-02-26 삼성전자주식회사 클럭 게이티드 회로
US7917882B2 (en) * 2007-10-26 2011-03-29 Mips Technologies, Inc. Automated digital circuit design tool that reduces or eliminates adverse timing constraints due to an inherent clock signal skew, and applications thereof
TWI743327B (zh) * 2017-04-02 2021-10-21 南韓商三星電子股份有限公司 使用受控反相時脈之低電力整合時脈閘控單元

Also Published As

Publication number Publication date
US7082579B2 (en) 2006-07-25
EP1267249B1 (en) 2009-06-03
EP1267249A2 (en) 2002-12-18
CN1308792C (zh) 2007-04-04
CN1391152A (zh) 2003-01-15
JP3698657B2 (ja) 2005-09-21
EP1267249A3 (en) 2005-07-13
US20020188911A1 (en) 2002-12-12
DE60232481D1 (de) 2009-07-16

Similar Documents

Publication Publication Date Title
US9069920B2 (en) Automated circuit design
KR100605588B1 (ko) 반도체 기억 소자에서의 지연 고정 루프 및 그의 클럭록킹 방법
JP4130006B2 (ja) 半導体装置
JP2677256B2 (ja) 遅延最適化方法
JP2005513626A (ja) 混在する領域クロック用のクロックツリーシンセシス
US7444606B2 (en) Method for designing semiconductor integrated circuit, semiconductor integrated circuit and program for designing same
US6647539B1 (en) Method of designing semiconductor integrated circuit device
JP3698657B2 (ja) ゲーティッドクロック生成回路及び回路修正方法
US20090271747A1 (en) Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit
US20100253409A1 (en) Clock generation system and clock dividing module
JP2008065457A (ja) 半導体集積回路の設計方法及び設計システム
JP2009080634A (ja) リセットクロック制御回路
US20030145244A1 (en) Glitchless clock selection circuit
US6412099B1 (en) Apparatus and method for converting logical connection information of circuit
JP3651659B2 (ja) イネーブル付きラッチ回路
JP2002073712A (ja) 回路生成装置、回路生成方法及びcad設計装置
JP2004127012A (ja) 同期式回路およびその設計方法
US9488691B2 (en) Integrated circuit control based on a first sample value and a delayed second sample value
JP2011134072A (ja) 半導体集積回路の設計方法及びプログラム
JP2011035826A (ja) 半導体装置およびデータ転送方法
JP2002215707A (ja) 同期回路設計方法及び同期回路設計プログラムを記録した記録媒体
JP2000305965A (ja) クロックツリーシンセシス方法及び装置
JPH0659768A (ja) フリップフロップ使用のlsi装置
Wadsworth et al. Advanced ASIC Sign-Off Features of IEEE 1076.4-2000 And Standards updates to Verilog and SDF
JP2005321856A (ja) 半導体集積回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050608

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: 20050705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050705

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: 20080715

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090715

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100715

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110715

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110715

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120715

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120715

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130715

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees