JP2000082090A - 遅延機能付フリップフロップ回路、遅延機能付ラッチ回路、順序回路の設計方法、半導体集積回路におけるクロック信号配線の自動設計装置、及び、半導体集積回路におけるクロック信号配線の自動設計方法 - Google Patents
遅延機能付フリップフロップ回路、遅延機能付ラッチ回路、順序回路の設計方法、半導体集積回路におけるクロック信号配線の自動設計装置、及び、半導体集積回路におけるクロック信号配線の自動設計方法Info
- Publication number
- JP2000082090A JP2000082090A JP10252953A JP25295398A JP2000082090A JP 2000082090 A JP2000082090 A JP 2000082090A JP 10252953 A JP10252953 A JP 10252953A JP 25295398 A JP25295398 A JP 25295398A JP 2000082090 A JP2000082090 A JP 2000082090A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- flip
- clock signal
- time
- worst
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/027—Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
- H03K3/037—Bistable circuits
- H03K3/0375—Bistable circuits provided with means for increasing reliability; for protection; for ensuring a predetermined initial state when the supply voltage has been applied; for storing the actual state when the supply voltage fails
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/13—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
- H03K5/135—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
Landscapes
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】
【課題】 順序回路を短い周期のクロック信号で動作さ
せる。 【解決手段】 フリップフロップ回路10と遅延回路2
0とを用いて、遅延機能付フリップフロップ回路を構成
する。遅延回路20には外部からの外部クロック信号E
CLKが入力され、これより一定の遅延時間ΔT2だけ
遅れた内部クロック信号ICLKをフリップフロップ回
路10へ出力する。これにより、外部クロック信号EC
LKが立ち上がってから、一定の遅延時間ΔT2をおい
て内部クロック信号ICLKが立ち上がるようにするこ
とができるため、フリップフロップ回路10におけるデ
ータ入力信号DISの取り込みを、遅延時間ΔT2分だ
け遅くすることができる。このため、遅延機能付フリッ
プフロップ回路へのデータ入力信号DISの到着が遅延
時間ΔT2分だけ遅く到着しても、フリップフロップ回
路10は、正しくデータ入力信号DISを取り込むこと
ができる。
せる。 【解決手段】 フリップフロップ回路10と遅延回路2
0とを用いて、遅延機能付フリップフロップ回路を構成
する。遅延回路20には外部からの外部クロック信号E
CLKが入力され、これより一定の遅延時間ΔT2だけ
遅れた内部クロック信号ICLKをフリップフロップ回
路10へ出力する。これにより、外部クロック信号EC
LKが立ち上がってから、一定の遅延時間ΔT2をおい
て内部クロック信号ICLKが立ち上がるようにするこ
とができるため、フリップフロップ回路10におけるデ
ータ入力信号DISの取り込みを、遅延時間ΔT2分だ
け遅くすることができる。このため、遅延機能付フリッ
プフロップ回路へのデータ入力信号DISの到着が遅延
時間ΔT2分だけ遅く到着しても、フリップフロップ回
路10は、正しくデータ入力信号DISを取り込むこと
ができる。
Description
【0001】
【発明の属する技術分野】本発明は、フリップフロップ
回路および順序回路の設計手法に関するものである。ま
た、本発明はクロック信号の配線をデータパスの遅延を
考慮して自動的に設計するための半導体集積回路におけ
るクロック信号配線の自動設計装置及びその方法に関す
る。
回路および順序回路の設計手法に関するものである。ま
た、本発明はクロック信号の配線をデータパスの遅延を
考慮して自動的に設計するための半導体集積回路におけ
るクロック信号配線の自動設計装置及びその方法に関す
る。
【0002】
【従来の技術】図15は、一般的な順序回路を示す図で
ある。この図15からわかるように、順序回路は、組合
せ論理回路LCとフリップフロップ回路FFとから構成
されている。通常、このような順序回路の動作速度は、
組合せ論理回路LCの伝搬遅延時間Tpdによって決定
される。つまり、組合せ論理回路LCを信号が伝搬する
のに必要な時間である伝搬遅延時間Tpdによって決定
される。この伝搬遅延時間Tpdと、フリップフロップ
回路FFのセットアップ時間Tsuと、クロック周期T
ckとが、Tpd+Tsu<Tckの関係を満たすこと
が、順序回路が正しく動作するための条件となる。
ある。この図15からわかるように、順序回路は、組合
せ論理回路LCとフリップフロップ回路FFとから構成
されている。通常、このような順序回路の動作速度は、
組合せ論理回路LCの伝搬遅延時間Tpdによって決定
される。つまり、組合せ論理回路LCを信号が伝搬する
のに必要な時間である伝搬遅延時間Tpdによって決定
される。この伝搬遅延時間Tpdと、フリップフロップ
回路FFのセットアップ時間Tsuと、クロック周期T
ckとが、Tpd+Tsu<Tckの関係を満たすこと
が、順序回路が正しく動作するための条件となる。
【0003】現状では、フリップフロップ回路FFのセ
ットアップ時間Tsuはきわめてゼロに近く、クロック
周期Tckの1〜5%程度である。このようなフリップ
フロップ回路FFのみを用いて設計を行っているので、
順序回路の動作速度は伝搬遅延時間Tpdで決定され
る。すなわち、順序回路の動作速度は、各フリップフロ
ップ回路FF間に位置する組合せ論理回路LCの最大の
伝搬遅延時間Tpdで決定される。つまり、クリティカ
ルパスが順序回路の動作速度を決定している。
ットアップ時間Tsuはきわめてゼロに近く、クロック
周期Tckの1〜5%程度である。このようなフリップ
フロップ回路FFのみを用いて設計を行っているので、
順序回路の動作速度は伝搬遅延時間Tpdで決定され
る。すなわち、順序回路の動作速度は、各フリップフロ
ップ回路FF間に位置する組合せ論理回路LCの最大の
伝搬遅延時間Tpdで決定される。つまり、クリティカ
ルパスが順序回路の動作速度を決定している。
【0004】また、図16は一般的な順序回路とそのタ
イミングチャートを示す図である。この図16からわか
るように、順序回路を含む半導体集積回路においてフリ
ップフロップ回路FFがデータ出力信号を出力するタイ
ミング、もしくは、フリップフロップ回路FFが入力さ
れたデータ入力信号を取り込むタイミングは、供給され
ているクロック信号の立ち上がり(もしくは、立ち下が
り)エッジのタイミングに同期する。図16において
は、フリップフロップ回路FF(1)からフリップフロ
ップ回路FF(2)へのパスと、フリップフロップ回路
FF(2)からフリップフロップ回路(3)へのパスと
の、2つのパスがある。すなわち、組合せ論理回路LC
(2)のパスと、組合せ論理回路LC(3)のパスと
の、2つのパスがある。これらのパスにおいて、組合せ
論理回路LC(2)の伝搬遅延時間Tpdの値が大き
く、組合せ論理回路LC(3)の伝搬遅延時間Tpdの
値が小さい場合もある。このような場合、クロック信号
の最大動作周波数は、組合せ論理回路LC(2)の伝搬
遅延時間Tpdの値によってのみ決定される。このよう
な場合、クロック信号に対する余裕を示すスラック値S
lackは、組合せ論理回路LC(2)よりも組合せ論
理回路LC(3)の方が、大きくなる。このため、クロ
ック信号の最大動作周波数は、スラック値Slackの
小さい組合せ論理回路LC(2)に合わせて、決定され
る。なお、スラック値Slackは、Slack=Tc
k−Tsu−Tpdで表すことができる。
イミングチャートを示す図である。この図16からわか
るように、順序回路を含む半導体集積回路においてフリ
ップフロップ回路FFがデータ出力信号を出力するタイ
ミング、もしくは、フリップフロップ回路FFが入力さ
れたデータ入力信号を取り込むタイミングは、供給され
ているクロック信号の立ち上がり(もしくは、立ち下が
り)エッジのタイミングに同期する。図16において
は、フリップフロップ回路FF(1)からフリップフロ
ップ回路FF(2)へのパスと、フリップフロップ回路
FF(2)からフリップフロップ回路(3)へのパスと
の、2つのパスがある。すなわち、組合せ論理回路LC
(2)のパスと、組合せ論理回路LC(3)のパスと
の、2つのパスがある。これらのパスにおいて、組合せ
論理回路LC(2)の伝搬遅延時間Tpdの値が大き
く、組合せ論理回路LC(3)の伝搬遅延時間Tpdの
値が小さい場合もある。このような場合、クロック信号
の最大動作周波数は、組合せ論理回路LC(2)の伝搬
遅延時間Tpdの値によってのみ決定される。このよう
な場合、クロック信号に対する余裕を示すスラック値S
lackは、組合せ論理回路LC(2)よりも組合せ論
理回路LC(3)の方が、大きくなる。このため、クロ
ック信号の最大動作周波数は、スラック値Slackの
小さい組合せ論理回路LC(2)に合わせて、決定され
る。なお、スラック値Slackは、Slack=Tc
k−Tsu−Tpdで表すことができる。
【0005】
【発明が解決しようとする課題】ここで、このような順
序回路を設計する段階では、RTL(レジスタ・トラン
スファー・レベル)記述を用いてコンピュータ等を使用
して設計をしている。この順序回路の設計段階におい
て、順序回路の動作速度を向上させようとする場合、ク
リティカルパスに相当する組合せ論理回路LCに、別個
のフリップフロップ回路FFを新たに挿入する必要があ
った。すなわち、最大の伝搬遅延時間Tpdを有する組
合せ論理回路LCを分割するために、この組合せ論理回
路LCにフリップフロップ回路FFを人手で挿入する必
要があった。このようにフリップフロップ回路FFを挿
入した場合、RTL記述を人手で修正するよりなかっ
た。
序回路を設計する段階では、RTL(レジスタ・トラン
スファー・レベル)記述を用いてコンピュータ等を使用
して設計をしている。この順序回路の設計段階におい
て、順序回路の動作速度を向上させようとする場合、ク
リティカルパスに相当する組合せ論理回路LCに、別個
のフリップフロップ回路FFを新たに挿入する必要があ
った。すなわち、最大の伝搬遅延時間Tpdを有する組
合せ論理回路LCを分割するために、この組合せ論理回
路LCにフリップフロップ回路FFを人手で挿入する必
要があった。このようにフリップフロップ回路FFを挿
入した場合、RTL記述を人手で修正するよりなかっ
た。
【0006】そこで、本発明は上記課題に鑑みてなされ
たものであり、フリップフロップ回路に遅延回路を内蔵
することにより、外部クロック信号が立ち上がってから
一定の時間が経過してから内部クロック信号が立ち上が
るようにした遅延機能付フリップフロップ回路を提供す
ることを目的とする。また、このような遅延機能付フリ
ップフロップ回路を用いることにより、順序回路の設計
段階におけるRTL記述の修正を可及的に少なくするこ
とを目的とする。
たものであり、フリップフロップ回路に遅延回路を内蔵
することにより、外部クロック信号が立ち上がってから
一定の時間が経過してから内部クロック信号が立ち上が
るようにした遅延機能付フリップフロップ回路を提供す
ることを目的とする。また、このような遅延機能付フリ
ップフロップ回路を用いることにより、順序回路の設計
段階におけるRTL記述の修正を可及的に少なくするこ
とを目的とする。
【0007】また、設計段階におけるクロック信号の配
線の設計は、自動配線と手動配線とがあった。これらの
うち、自動配線では、すべてのフリップフロップ回路F
Fに対して同時にクロック信号が入力されるように配線
するしかなかった。すなわち、すべてのフリップフロッ
プ回路FFに同一のタイミングでクロック信号を入力す
るしかなかった。一方、手動配線を行えば、データパス
の遅延を考慮したクロック信号の配線も可能ではあっ
た。すなわち、複数あるフリップフロップ回路FFの中
でタイミングをずらしてクロック信号を供給することが
可能ではあった。しかし、手動配線を行うと配線の設計
に多大な労力と時間が必要となり、設計効率があまりよ
くないという問題があった。
線の設計は、自動配線と手動配線とがあった。これらの
うち、自動配線では、すべてのフリップフロップ回路F
Fに対して同時にクロック信号が入力されるように配線
するしかなかった。すなわち、すべてのフリップフロッ
プ回路FFに同一のタイミングでクロック信号を入力す
るしかなかった。一方、手動配線を行えば、データパス
の遅延を考慮したクロック信号の配線も可能ではあっ
た。すなわち、複数あるフリップフロップ回路FFの中
でタイミングをずらしてクロック信号を供給することが
可能ではあった。しかし、手動配線を行うと配線の設計
に多大な労力と時間が必要となり、設計効率があまりよ
くないという問題があった。
【0008】そこで、本発明は上記課題に鑑みてなされ
たものであり、データパスの遅延を考慮したクロック信
号の配線を自動で行える半導体集積回路におけるクロッ
ク信号配線の自動設計装置及びその方法を提供すること
を目的とする。
たものであり、データパスの遅延を考慮したクロック信
号の配線を自動で行える半導体集積回路におけるクロッ
ク信号配線の自動設計装置及びその方法を提供すること
を目的とする。
【0009】
【課題を解決するための手段】上記課題を解決するた
め、本発明に係る遅延機能付フリップフロップ回路は、
データ入力信号と内部クロック信号とが入力され、前記
内部クロック信号に同期して前記データ出力信号の値を
保持してデータ出力信号として出力するデータ保持出力
回路と、外部クロック信号が入力され、この入力された
外部クロック信号に対して一定の遅延時間を有する内部
クロック信号を出力する、遅延回路と、を備えたことを
特徴とする。
め、本発明に係る遅延機能付フリップフロップ回路は、
データ入力信号と内部クロック信号とが入力され、前記
内部クロック信号に同期して前記データ出力信号の値を
保持してデータ出力信号として出力するデータ保持出力
回路と、外部クロック信号が入力され、この入力された
外部クロック信号に対して一定の遅延時間を有する内部
クロック信号を出力する、遅延回路と、を備えたことを
特徴とする。
【0010】さらに、前記データ保持出力回路は、前記
内部クロック信号の立ち上がり時に前記データ入力信号
を取り込んでこれを保持し、前記データ出力信号として
出力するフリップフロップ回路で構成されている、こと
を特徴とする。
内部クロック信号の立ち上がり時に前記データ入力信号
を取り込んでこれを保持し、前記データ出力信号として
出力するフリップフロップ回路で構成されている、こと
を特徴とする。
【0011】また、前記データ保持出力回路は、前記内
部クロック信号がハイレベルの間に前記データ入力信号
を取り込んで、前記データ出力信号として出力し、前記
内部クロック信号がローレベルの間はハイレベルの間に
取り込んだ前記データ入力信号を保持して、前記データ
出力信号として出力する、ラッチ回路と、前記遅延回路
から出力された内部クロック信号が入力され、この内部
クロック信号の立ち上がりに同期して、短いパルス信号
を前記ラッチ回路へ出力する、パルス信号発生回路と、
を備えて構成されていることを特徴とする。
部クロック信号がハイレベルの間に前記データ入力信号
を取り込んで、前記データ出力信号として出力し、前記
内部クロック信号がローレベルの間はハイレベルの間に
取り込んだ前記データ入力信号を保持して、前記データ
出力信号として出力する、ラッチ回路と、前記遅延回路
から出力された内部クロック信号が入力され、この内部
クロック信号の立ち上がりに同期して、短いパルス信号
を前記ラッチ回路へ出力する、パルス信号発生回路と、
を備えて構成されていることを特徴とする。
【0012】さらに、本発明に係る半導体集積回路装置
は、前述の遅延機能付フリップフロップ回路を備えてい
ることを特徴とする。
は、前述の遅延機能付フリップフロップ回路を備えてい
ることを特徴とする。
【0013】また、半導体集積回路装置は、前記遅延機
能付フリップフロップ回路は複数設けられているととも
に、前記複数の遅延機能付フリップフロップ回路のうち
の少なくとも1つは、他の遅延機能付フリップフロップ
回路と異なる遅延時間を有する、ことを特徴とする。
能付フリップフロップ回路は複数設けられているととも
に、前記複数の遅延機能付フリップフロップ回路のうち
の少なくとも1つは、他の遅延機能付フリップフロップ
回路と異なる遅延時間を有する、ことを特徴とする。
【0014】さらに、半導体集積回路装置は、前述の遅
延機能付フリップフロップ回路をライブラリとして登録
した上で、論理合成を行うことにより設計された、こと
を特徴とする。
延機能付フリップフロップ回路をライブラリとして登録
した上で、論理合成を行うことにより設計された、こと
を特徴とする。
【0015】一方、本発明に係る遅延機能付ラッチ回路
は、内部クロック信号がハイレベルの間にデータ入力信
号を取り込んで、データ出力信号として出力し、前記内
部クロック信号がローレベルの間はハイレベルの間に取
り込んだ前記データ入力信号を保持して、前記データ出
力信号として出力する、ラッチ回路と、外部クロック信
号が入力され、この入力された外部クロック信号に対し
て一定の遅延時間を有する前記内部クロック信号を出力
する、遅延回路と、を備えたことを特徴とする。
は、内部クロック信号がハイレベルの間にデータ入力信
号を取り込んで、データ出力信号として出力し、前記内
部クロック信号がローレベルの間はハイレベルの間に取
り込んだ前記データ入力信号を保持して、前記データ出
力信号として出力する、ラッチ回路と、外部クロック信
号が入力され、この入力された外部クロック信号に対し
て一定の遅延時間を有する前記内部クロック信号を出力
する、遅延回路と、を備えたことを特徴とする。
【0016】また、本発明に係る順序回路の設計方法
は、複数の組合せ論理回路と、これら組合せ論理回路の
間を接続する複数のフリップフロップ回路とを有する順
序回路の設計方法であって、通常のフリップフロップ回
路のライブラリを用いて論理合成を行う工程と、前記論
理合成に基づいてタイミング解析を行い、所望の速度の
クロック信号で動作させた場合に、前記組合せ論理回路
の出力信号が前記クロック信号に対して遅れる未達時間
を求める工程と、論理合成時に用いるライブラリを、前
記未達時間に相応する遅延時間を有する遅延回路を内蔵
したフリップフロップ回路を加えたライブラリに置き換
えて、再び論理合成を行う工程と、を備えたことを特徴
とする。
は、複数の組合せ論理回路と、これら組合せ論理回路の
間を接続する複数のフリップフロップ回路とを有する順
序回路の設計方法であって、通常のフリップフロップ回
路のライブラリを用いて論理合成を行う工程と、前記論
理合成に基づいてタイミング解析を行い、所望の速度の
クロック信号で動作させた場合に、前記組合せ論理回路
の出力信号が前記クロック信号に対して遅れる未達時間
を求める工程と、論理合成時に用いるライブラリを、前
記未達時間に相応する遅延時間を有する遅延回路を内蔵
したフリップフロップ回路を加えたライブラリに置き換
えて、再び論理合成を行う工程と、を備えたことを特徴
とする。
【0017】さらに、複数の異なる遅延時間を有する遅
延回路を内蔵したフリップフロップ回路のライブラリが
用意されており、前記未達時間の生じた組合せ論理回路
の後段のフリップフロップ回路を、遅延回路を内蔵した
フリップフロップ回路に置き換える際には、その未達時
間よりも長い遅延時間を有し、かつ、最も小さい遅延時
間を有する、フリップフロップ回路を用いる、ことを特
徴とする。
延回路を内蔵したフリップフロップ回路のライブラリが
用意されており、前記未達時間の生じた組合せ論理回路
の後段のフリップフロップ回路を、遅延回路を内蔵した
フリップフロップ回路に置き換える際には、その未達時
間よりも長い遅延時間を有し、かつ、最も小さい遅延時
間を有する、フリップフロップ回路を用いる、ことを特
徴とする。
【0018】また、本発明に係るクロック信号配線の自
動設計装置は、複数の組合せ論理回路と、これら組合せ
論理回路の間に設けられた複数のフリップフロップ回路
とを、有する、半導体集積回路におけるクロック信号配
線の自動設計装置であって、クロック信号を所定のサイ
クルタイムに設定し、すべてのフリップフロップ回路に
対して、そのフリップフロップ回路が始点又は終点とな
るパスを解析して、フリップフロップ回路毎に最悪スラ
ック値を求めるための、パス解析手段と、すべてのフリ
ップフロップ回路の中で、最悪スラック値を有するパス
をワーストパスとして求め、前記ワーストパスを構成す
るワースト組合せ論理回路からの出力信号のタイミング
が、前記ワーストパスにおけるクロック信号のタイミン
グに間に合うかどうかを判断するための、第1の条件判
断手段と、前記第1の条件判断手段において、前記ワー
スト組合せ論理回路からの出力信号のタイミングが、前
記ワーストパスのクロック信号のタイミングに間に合う
場合には、前記クロック信号の前記サイクルタイムをさ
らに短く設定するための、サイクルタイム再設定手段
と、前記第1の条件判断手段において、前記ワースト組
合せ論理回路からの出力信号のタイミングが、前記ワー
ストパスのクロック信号のタイミングに間に合わない場
合には、前記ワースト組合せ論理回路の前段のフリップ
フロップ回路と後段のフリップフロップ回路のうちの少
なくとも一方のフリップフロップ回路におけるクロック
信号の供給タイミングを調整して、前記ワースト組合せ
論理回路からの出力信号が間に合うようにするための、
クロック信号の到達時刻設定手段と、を備えたことを特
徴とする。
動設計装置は、複数の組合せ論理回路と、これら組合せ
論理回路の間に設けられた複数のフリップフロップ回路
とを、有する、半導体集積回路におけるクロック信号配
線の自動設計装置であって、クロック信号を所定のサイ
クルタイムに設定し、すべてのフリップフロップ回路に
対して、そのフリップフロップ回路が始点又は終点とな
るパスを解析して、フリップフロップ回路毎に最悪スラ
ック値を求めるための、パス解析手段と、すべてのフリ
ップフロップ回路の中で、最悪スラック値を有するパス
をワーストパスとして求め、前記ワーストパスを構成す
るワースト組合せ論理回路からの出力信号のタイミング
が、前記ワーストパスにおけるクロック信号のタイミン
グに間に合うかどうかを判断するための、第1の条件判
断手段と、前記第1の条件判断手段において、前記ワー
スト組合せ論理回路からの出力信号のタイミングが、前
記ワーストパスのクロック信号のタイミングに間に合う
場合には、前記クロック信号の前記サイクルタイムをさ
らに短く設定するための、サイクルタイム再設定手段
と、前記第1の条件判断手段において、前記ワースト組
合せ論理回路からの出力信号のタイミングが、前記ワー
ストパスのクロック信号のタイミングに間に合わない場
合には、前記ワースト組合せ論理回路の前段のフリップ
フロップ回路と後段のフリップフロップ回路のうちの少
なくとも一方のフリップフロップ回路におけるクロック
信号の供給タイミングを調整して、前記ワースト組合せ
論理回路からの出力信号が間に合うようにするための、
クロック信号の到達時刻設定手段と、を備えたことを特
徴とする。
【0019】さらに、前記クロック信号の到達時刻設定
手段では、フリップフロップ回路に付与された、クロッ
ク信号の到達時刻を早くすることも遅くすることもでき
る非固定と、クロック信号の到達時刻を早くすることが
できない前固定と、クロック信号の到達時刻を遅くする
ことができない後固定との、3つの属性に基づいて、前
記クロック信号の前記供給タイミングの調整をする、こ
とを特徴とする。
手段では、フリップフロップ回路に付与された、クロッ
ク信号の到達時刻を早くすることも遅くすることもでき
る非固定と、クロック信号の到達時刻を早くすることが
できない前固定と、クロック信号の到達時刻を遅くする
ことができない後固定との、3つの属性に基づいて、前
記クロック信号の前記供給タイミングの調整をする、こ
とを特徴とする。
【0020】また、前記クロック信号の到達時刻設定の
後に、前記ワースト組合せ論理回路からの出力信号が間
に合うように前記クロック信号の供給タイミングを調整
することができたか否かを判断するための、第2の条件
判断手段をさらに備え、前記供給タイミングの調整がで
きなかった場合には、前記サイクルタイム再設定手段
で、前記クロック信号の前記サイクルタイムをさらに長
く設定する、ことを特徴とする。
後に、前記ワースト組合せ論理回路からの出力信号が間
に合うように前記クロック信号の供給タイミングを調整
することができたか否かを判断するための、第2の条件
判断手段をさらに備え、前記供給タイミングの調整がで
きなかった場合には、前記サイクルタイム再設定手段
で、前記クロック信号の前記サイクルタイムをさらに長
く設定する、ことを特徴とする。
【0021】また、前記第2の条件判断手段で前記クロ
ック信号の前記供給タイミングの調整ができた場合に
は、前記ワースト組合せ論理回路の前後段の前記フリッ
プフロップ回路に前記非固定と前記前固定と前記後固定
とのうちの必要な属性の変更を行い、再度、前記パス解
析手段を実行することを特徴とする。
ック信号の前記供給タイミングの調整ができた場合に
は、前記ワースト組合せ論理回路の前後段の前記フリッ
プフロップ回路に前記非固定と前記前固定と前記後固定
とのうちの必要な属性の変更を行い、再度、前記パス解
析手段を実行することを特徴とする。
【0022】さらに、前記サイクルタイム再設定の後
に、現在設定されているサイクルタイムと、以前設定さ
れていたサイクルタイムとを比較して、その差が、一定
値以内であれば、最良のサイクルタイムが求まったと判
断するための、終了判定手段を、さらに備えることを特
徴とする。
に、現在設定されているサイクルタイムと、以前設定さ
れていたサイクルタイムとを比較して、その差が、一定
値以内であれば、最良のサイクルタイムが求まったと判
断するための、終了判定手段を、さらに備えることを特
徴とする。
【0023】また、本発明に係るクロック信号配線の自
動設計方法によれば、複数の組合せ論理回路と、これら
組合せ論理回路の間に設けられた複数のフリップフロッ
プ回路とを、有する、半導体集積回路におけるクロック
信号配線の自動設計方法であって、クロック信号を所定
のサイクルタイムに設定し、すべてのフリップフロップ
回路に対して、そのフリップフロップ回路が始点又は終
点となるパスを解析して、フリップフロップ回路毎に最
悪スラック値を求める、パス解析工程と、すべてのフリ
ップフロップ回路の中で、最悪スラック値を有するパス
をワーストパスとして求め、前記ワーストパスを構成す
るワースト組合せ論理回路からの出力信号のタイミング
が、前記ワーストパスにおけるクロック信号のタイミン
グに間に合うかどうかを判断する、第1の条件判断工程
と、前記第1の条件判断で、前記ワースト組合せ論理回
路からの出力信号のタイミングが、前記ワーストパスの
クロック信号のタイミングに間に合う場合には、前記ク
ロック信号の前記サイクルタイムをさらに短く設定す
る、サイクルタイム再設定工程と、前記第1の条件判断
で、前記ワースト組合せ論理回路からの出力信号のタイ
ミングが、前記ワーストパスのクロック信号のタイミン
グに間に合わない場合には、前記ワースト組合せ論理回
路の前段のフリップフロップ回路と後段のフリップフロ
ップ回路のうちの少なくとも一方のフリップフロップ回
路におけるクロック信号の供給タイミングを調整して、
前記ワースト組合せ論理回路からの出力信号が間に合う
ようにする、クロック信号の到達時刻設定工程と、を備
えたことを特徴とする。
動設計方法によれば、複数の組合せ論理回路と、これら
組合せ論理回路の間に設けられた複数のフリップフロッ
プ回路とを、有する、半導体集積回路におけるクロック
信号配線の自動設計方法であって、クロック信号を所定
のサイクルタイムに設定し、すべてのフリップフロップ
回路に対して、そのフリップフロップ回路が始点又は終
点となるパスを解析して、フリップフロップ回路毎に最
悪スラック値を求める、パス解析工程と、すべてのフリ
ップフロップ回路の中で、最悪スラック値を有するパス
をワーストパスとして求め、前記ワーストパスを構成す
るワースト組合せ論理回路からの出力信号のタイミング
が、前記ワーストパスにおけるクロック信号のタイミン
グに間に合うかどうかを判断する、第1の条件判断工程
と、前記第1の条件判断で、前記ワースト組合せ論理回
路からの出力信号のタイミングが、前記ワーストパスの
クロック信号のタイミングに間に合う場合には、前記ク
ロック信号の前記サイクルタイムをさらに短く設定す
る、サイクルタイム再設定工程と、前記第1の条件判断
で、前記ワースト組合せ論理回路からの出力信号のタイ
ミングが、前記ワーストパスのクロック信号のタイミン
グに間に合わない場合には、前記ワースト組合せ論理回
路の前段のフリップフロップ回路と後段のフリップフロ
ップ回路のうちの少なくとも一方のフリップフロップ回
路におけるクロック信号の供給タイミングを調整して、
前記ワースト組合せ論理回路からの出力信号が間に合う
ようにする、クロック信号の到達時刻設定工程と、を備
えたことを特徴とする。
【0024】さらに、前記クロック信号の到達時刻設定
工程では、フリップフロップ回路に付与された、クロッ
ク信号の到達時刻を早くすることも遅くすることもでき
る非固定と、クロック信号の到達時刻を早くすることが
できない前固定と、クロック信号の到達時刻を遅くする
ことができない後固定との、3つの属性に基づいて、前
記クロック信号の前記供給タイミングの調整をする、こ
とを特徴とする。
工程では、フリップフロップ回路に付与された、クロッ
ク信号の到達時刻を早くすることも遅くすることもでき
る非固定と、クロック信号の到達時刻を早くすることが
できない前固定と、クロック信号の到達時刻を遅くする
ことができない後固定との、3つの属性に基づいて、前
記クロック信号の前記供給タイミングの調整をする、こ
とを特徴とする。
【0025】また、前記クロック信号の到達時刻設定工
程の後に、前記ワースト組合せ論理回路からの出力信号
が間に合うように前記クロック信号の供給タイミングを
調整することができたか否かを判断する第2の条件判断
工程をさらに備え、前記供給タイミングの調整ができな
かった場合には、前記サイクルタイム再設定工程で、前
記クロック信号の前記サイクルタイムをさらに長く設定
する、ことを特徴とする。
程の後に、前記ワースト組合せ論理回路からの出力信号
が間に合うように前記クロック信号の供給タイミングを
調整することができたか否かを判断する第2の条件判断
工程をさらに備え、前記供給タイミングの調整ができな
かった場合には、前記サイクルタイム再設定工程で、前
記クロック信号の前記サイクルタイムをさらに長く設定
する、ことを特徴とする。
【0026】しかも、前記第2の条件判断工程で前記ク
ロック信号の前記供給タイミングの調整ができた場合に
は、前記ワースト組合せ論理回路の前後段の前記フリッ
プフロップ回路に前記非固定と前記前固定と前記後固定
とのうちの必要な属性の変更を行い、再度、前記パス解
析工程を行うことを特徴とする。
ロック信号の前記供給タイミングの調整ができた場合に
は、前記ワースト組合せ論理回路の前後段の前記フリッ
プフロップ回路に前記非固定と前記前固定と前記後固定
とのうちの必要な属性の変更を行い、再度、前記パス解
析工程を行うことを特徴とする。
【0027】また、前記サイクルタイム再設定工程の後
に、現在設定されているサイクルタイムと、以前設定さ
れていたサイクルタイムとを比較して、その差が、一定
値以内であれば、最良のサイクルタイムが求まったと判
断する、終了判定工程を、さらに備えることを特徴とす
る。
に、現在設定されているサイクルタイムと、以前設定さ
れていたサイクルタイムとを比較して、その差が、一定
値以内であれば、最良のサイクルタイムが求まったと判
断する、終了判定工程を、さらに備えることを特徴とす
る。
【0028】
【発明の実施の形態】〔第1実施形態〕本発明の第1実
施形態は、特定のフリップフロップ回路のみに供給され
るクロック信号のタイミングを、他のフリップフロップ
回路に供給されるクロック信号のタイミングよりも遅ら
せることにより、特定のフリップフロップ回路のみのク
ロック周期を見かけ上、長くすることができるようにし
たものである。そしてこれにより、高い周波数のクロッ
ク信号で順序回路を動作させることができるようにした
ものである。より詳しくを、以下に説明する。
施形態は、特定のフリップフロップ回路のみに供給され
るクロック信号のタイミングを、他のフリップフロップ
回路に供給されるクロック信号のタイミングよりも遅ら
せることにより、特定のフリップフロップ回路のみのク
ロック周期を見かけ上、長くすることができるようにし
たものである。そしてこれにより、高い周波数のクロッ
ク信号で順序回路を動作させることができるようにした
ものである。より詳しくを、以下に説明する。
【0029】図1は本実施形態に係る遅延機能付フリッ
プフロップ回路の構成を示すブロック図である。この図
1からわかるように、本実施形態に係る遅延機能付フリ
ップフロップ回路は、フリップフロップ回路10と遅延
回路20とを備えて構成されている。
プフロップ回路の構成を示すブロック図である。この図
1からわかるように、本実施形態に係る遅延機能付フリ
ップフロップ回路は、フリップフロップ回路10と遅延
回路20とを備えて構成されている。
【0030】フリップフロップ回路10の入力端子Dに
は、外部からのデータ入力信号DISが入力されてい
る。フリップフロップ回路10のクロック端子には、遅
延回路20からの内部クロック信号ICLKが入力され
ている。フリップフロップ回路10の出力端子Qから
は、内部クロック信号ICLKと同期して、外部へデー
タ出力信号DOSが出力される。
は、外部からのデータ入力信号DISが入力されてい
る。フリップフロップ回路10のクロック端子には、遅
延回路20からの内部クロック信号ICLKが入力され
ている。フリップフロップ回路10の出力端子Qから
は、内部クロック信号ICLKと同期して、外部へデー
タ出力信号DOSが出力される。
【0031】遅延回路20には、外部からの外部クロッ
ク信号ECLKが入力され、前述した内部クロック信号
ICLKが出力される。この内部クロック信号ICLK
は、外部クロック信号ECLKよりも、一定の時間だけ
遅延した信号である。
ク信号ECLKが入力され、前述した内部クロック信号
ICLKが出力される。この内部クロック信号ICLK
は、外部クロック信号ECLKよりも、一定の時間だけ
遅延した信号である。
【0032】次に図2に基づいて、第1実施形態に係る
遅延機能付フリップフロップ回路の動作を説明する。こ
の図2は、第1実施形態に係る遅延機能付フリップフロ
ップ回路の動作を説明するためのタイミングチャートを
示す図である。
遅延機能付フリップフロップ回路の動作を説明する。こ
の図2は、第1実施形態に係る遅延機能付フリップフロ
ップ回路の動作を説明するためのタイミングチャートを
示す図である。
【0033】この図2からわかるように、時刻t1で外
部クロック信号ECLKがローからハイに切り替わった
とする。但し、内部クロック信号ICLKは遅延回路2
0の働きにより、時刻t1の時点ではローのままであ
る。次に、時刻t2で入力データ信号DISがローから
ハイに切り替わったとする。すなわち、この遅延機能付
フリップフロップ回路の前段に設けられた組合せ論理回
路の伝搬遅延時間Tpdが大きいため、外部クロック信
号ECLKの立ち上がり時刻t1よりも、ΔT1だけお
くれて、データ入力信号DISが立ち上がったとする。
部クロック信号ECLKがローからハイに切り替わった
とする。但し、内部クロック信号ICLKは遅延回路2
0の働きにより、時刻t1の時点ではローのままであ
る。次に、時刻t2で入力データ信号DISがローから
ハイに切り替わったとする。すなわち、この遅延機能付
フリップフロップ回路の前段に設けられた組合せ論理回
路の伝搬遅延時間Tpdが大きいため、外部クロック信
号ECLKの立ち上がり時刻t1よりも、ΔT1だけお
くれて、データ入力信号DISが立ち上がったとする。
【0034】続いて、時刻t3で内部クロック信号IC
LKがローからハイに切り替わる。すなわち、遅延回路
20の働きにより、外部クロック信号ECLKよりもΔ
T2だけ遅れて内部クロック信号ICLKが立ち上が
る。この内部クロック信号ICLKと同期してフリップ
フロップ回路10は、データ入力信号DISを取り込ん
で、データ出力信号DOSとして出力する。このため、
時刻t3において、データ出力信号DOSは、ローから
ハイに切り替わる。つまり、前段の組合せ論理回路の伝
搬遅延時間Tpdが大きいためにΔT1だけ到達が遅れ
たデータ入力信号DISを、フリップフロップ回路10
が取り込んで、データ出力信号DOSとして、出力する
ことができる。
LKがローからハイに切り替わる。すなわち、遅延回路
20の働きにより、外部クロック信号ECLKよりもΔ
T2だけ遅れて内部クロック信号ICLKが立ち上が
る。この内部クロック信号ICLKと同期してフリップ
フロップ回路10は、データ入力信号DISを取り込ん
で、データ出力信号DOSとして出力する。このため、
時刻t3において、データ出力信号DOSは、ローから
ハイに切り替わる。つまり、前段の組合せ論理回路の伝
搬遅延時間Tpdが大きいためにΔT1だけ到達が遅れ
たデータ入力信号DISを、フリップフロップ回路10
が取り込んで、データ出力信号DOSとして、出力する
ことができる。
【0035】図3は、本実施形態に係る遅延機能付フリ
ップフロップ回路の具体的な回路構成の一例を示す図で
ある。
ップフロップ回路の具体的な回路構成の一例を示す図で
ある。
【0036】この図3からわかるように、遅延回路20
は直列的に接続された複数のインバータ20aを備えて
構成されている。本実施形態においては、この遅延回路
20には、偶数個のインバータ20aが設けられてい
る。遅延回路20の出力はインバータ30aに接続され
ており、このインバータ30aから反転内部クロック信
号/ICLKが出力されている。また、このインバータ
30aの出力はインバータ30bに接続されており、こ
のインバータ30bから内部クロック信号ICLKが出
力されている。
は直列的に接続された複数のインバータ20aを備えて
構成されている。本実施形態においては、この遅延回路
20には、偶数個のインバータ20aが設けられてい
る。遅延回路20の出力はインバータ30aに接続され
ており、このインバータ30aから反転内部クロック信
号/ICLKが出力されている。また、このインバータ
30aの出力はインバータ30bに接続されており、こ
のインバータ30bから内部クロック信号ICLKが出
力されている。
【0037】フリップフロップ回路10は、直列的に接
続された、クロックドインバータ10aとインバータ1
0bとトランスファーゲート10cとインバータ10d
とインバータ10eとを備えて構成されている。さら
に、このフリップフロップ回路10は、インバータ10
bと並列的に接続されたクロックドインバータ10f
と、インバータ10dと並列的に接続されたクロックド
インバータ10gとを、備えて構成されている。そし
て、クロックドインバータ10aにデータ入力信号DI
Sが入力され、インバータ10eからデータ出力信号D
OSが出力される。
続された、クロックドインバータ10aとインバータ1
0bとトランスファーゲート10cとインバータ10d
とインバータ10eとを備えて構成されている。さら
に、このフリップフロップ回路10は、インバータ10
bと並列的に接続されたクロックドインバータ10f
と、インバータ10dと並列的に接続されたクロックド
インバータ10gとを、備えて構成されている。そし
て、クロックドインバータ10aにデータ入力信号DI
Sが入力され、インバータ10eからデータ出力信号D
OSが出力される。
【0038】以上のように、本実施形態に係る遅延機能
付フリップフロップ回路によれば、外部クロック信号E
CLKが立ち上がってから、一定の遅延時間ΔT2をお
いて内部クロック信号ICLKが立ち上がるため、フリ
ップフロップ回路10におけるデータ入力信号DISの
取り込みを、遅延時間ΔT2分だけ遅くすることができ
る。すなわち、セットアップタイムTsuを見かけ上負
の値を持つようにすることができる。このため、遅延機
能付フリップフロップ回路へのデータ入力信号DISの
到着が遅延時間ΔT2分だけ遅く到着しても、フリップ
フロップ回路10は、正しくデータ入力信号DISを取
り込むことができる。したがって、この遅延機能付フリ
ップフロップ回路を、短い周期の外部クロック信号EC
LKで動作させることができる。
付フリップフロップ回路によれば、外部クロック信号E
CLKが立ち上がってから、一定の遅延時間ΔT2をお
いて内部クロック信号ICLKが立ち上がるため、フリ
ップフロップ回路10におけるデータ入力信号DISの
取り込みを、遅延時間ΔT2分だけ遅くすることができ
る。すなわち、セットアップタイムTsuを見かけ上負
の値を持つようにすることができる。このため、遅延機
能付フリップフロップ回路へのデータ入力信号DISの
到着が遅延時間ΔT2分だけ遅く到着しても、フリップ
フロップ回路10は、正しくデータ入力信号DISを取
り込むことができる。したがって、この遅延機能付フリ
ップフロップ回路を、短い周期の外部クロック信号EC
LKで動作させることができる。
【0039】なお、第1実施形態においてはフリップフ
ロップ回路10に本発明を適用した場合を例として説明
した。しかし、図4からわかるように、フリップフロッ
プ回路10と同様にクロック信号を必要とするラッチ回
路11についても本発明を適用することができる。すな
わち、フリップフロップ回路10やラッチ回路11のよ
うな、クロック信号に同期してデータ入力信号DISを
保持してデータ出力信号DOSとして出力する、データ
保持出力回路であれば、本発明を適用することができ
る。
ロップ回路10に本発明を適用した場合を例として説明
した。しかし、図4からわかるように、フリップフロッ
プ回路10と同様にクロック信号を必要とするラッチ回
路11についても本発明を適用することができる。すな
わち、フリップフロップ回路10やラッチ回路11のよ
うな、クロック信号に同期してデータ入力信号DISを
保持してデータ出力信号DOSとして出力する、データ
保持出力回路であれば、本発明を適用することができ
る。
【0040】〔第2実施形態〕本発明の第2実施形態
は、第1実施形態におけるフリップフロップ回路の代わ
りにラッチ回路とパルス信号発生回路を設けることによ
り、半導体集積回路に占める面積の削減を図ったもので
ある。
は、第1実施形態におけるフリップフロップ回路の代わ
りにラッチ回路とパルス信号発生回路を設けることによ
り、半導体集積回路に占める面積の削減を図ったもので
ある。
【0041】図5は、第2実施形態に係る遅延機能付フ
リップフロップ回路の構成を示すブロック図である。
リップフロップ回路の構成を示すブロック図である。
【0042】この図5からわかるように、第2実施形態
に係る遅延機能付フリップフロップ回路は、ラッチ回路
40とパルス発生回路42と遅延回路20とを備えて構
成されている。本実施形態では、ラッチ回路40とパル
ス発生回路42とで、フリップフロップ動作を実現して
いる。
に係る遅延機能付フリップフロップ回路は、ラッチ回路
40とパルス発生回路42と遅延回路20とを備えて構
成されている。本実施形態では、ラッチ回路40とパル
ス発生回路42とで、フリップフロップ動作を実現して
いる。
【0043】遅延回路20は上述した第1実施形態と同
様に、入力された外部クロック信号ECLKを一定の遅
延時間をおいて内部クロック信号ICLKとして出力す
る。この内部クロック信号ICLKは、パルス信号発生
回路42に入力される。
様に、入力された外部クロック信号ECLKを一定の遅
延時間をおいて内部クロック信号ICLKとして出力す
る。この内部クロック信号ICLKは、パルス信号発生
回路42に入力される。
【0044】パルス信号発生回路42では、内部クロッ
ク信号ICLKの立ち上がりに同期して、短いパルス幅
のパルス信号PSを生成する。すなわち、ハイレベルの
時間が短いパルス信号PSを生成する。このパルス信号
PSは、ラッチ回路40へ入力される。
ク信号ICLKの立ち上がりに同期して、短いパルス幅
のパルス信号PSを生成する。すなわち、ハイレベルの
時間が短いパルス信号PSを生成する。このパルス信号
PSは、ラッチ回路40へ入力される。
【0045】ラッチ回路40には、このパルス信号PS
の他に、データ入力信号DISが入力されており、デー
タ出力信号DOSを出力する。このラッチ回路40は、
パルス信号PSがハイの間はデータ入力信号DISの値
を取り込みデータ出力信号DOSとして出力し、パルス
信号PSがローの間は、このパルス信号PSの立ち下が
り時のデータ入力信号DISの値を保持してデータ出力
信号DOSとして出力する回路である。
の他に、データ入力信号DISが入力されており、デー
タ出力信号DOSを出力する。このラッチ回路40は、
パルス信号PSがハイの間はデータ入力信号DISの値
を取り込みデータ出力信号DOSとして出力し、パルス
信号PSがローの間は、このパルス信号PSの立ち下が
り時のデータ入力信号DISの値を保持してデータ出力
信号DOSとして出力する回路である。
【0046】次に図6に基づいて、第2実施形態に係る
遅延機能付フリップフロップ回路の動作を説明する。こ
の図6は、第2実施形態に係る遅延機能付フリップフロ
ップ回路の動作を説明するためのタイミングチャートを
示す図である。
遅延機能付フリップフロップ回路の動作を説明する。こ
の図6は、第2実施形態に係る遅延機能付フリップフロ
ップ回路の動作を説明するためのタイミングチャートを
示す図である。
【0047】この図6からわかるように、時刻t1で外
部クロック信号ECLKがローからハイに切り替わった
とする。但し、内部クロック信号ICLKは遅延回路2
0の働きにより、時刻t1の時点ではローのままであ
る。このため、パルス信号PSも、この時刻t1の時点
ではローのままである。次に、時刻t2で入力データ信
号DISがローからハイに切り替わったとする。すなわ
ち、この遅延機能付フリップフロップ回路の前段に設け
られた組合せ論理回路の伝搬遅延時間Tpdが大きいた
め、外部クロック信号ECLKの立ち上がり時刻t1よ
りも、ΔT1だけおくれて、データ入力信号DISが立
ち上がったとする。
部クロック信号ECLKがローからハイに切り替わった
とする。但し、内部クロック信号ICLKは遅延回路2
0の働きにより、時刻t1の時点ではローのままであ
る。このため、パルス信号PSも、この時刻t1の時点
ではローのままである。次に、時刻t2で入力データ信
号DISがローからハイに切り替わったとする。すなわ
ち、この遅延機能付フリップフロップ回路の前段に設け
られた組合せ論理回路の伝搬遅延時間Tpdが大きいた
め、外部クロック信号ECLKの立ち上がり時刻t1よ
りも、ΔT1だけおくれて、データ入力信号DISが立
ち上がったとする。
【0048】続いて、時刻t3で内部クロック信号IC
LKがローからハイに切り替わる。すなわち、遅延回路
20の働きにより、外部クロック信号ECLKよりもΔ
T2だけ遅れて内部クロック信号ICLKが立ち上が
る。この内部クロック信号ICLKと同期してパルス信
号PSは、ローからハイに切り替わる。このパルス信号
PSがハイになるので、ラッチ回路40は、データ入力
信号DISを取り込んで、データ出力信号DOSとして
出力する。このため、時刻t3において、データ出力信
号DOSは、ローからハイに切り替わる。つまり、前段
の組合せ論理回路の伝搬遅延時間Tpdが大きいために
ΔT1だけ到達が遅れたデータ入力信号DISを、ラッ
チ回路40が取り込んで、データ出力信号DOSとし
て、出力することができる。続いて、時刻t4でパルス
信号PSがハイからローに切り替わる。すなわち、時刻
t3から時刻t4の間の短い時間だけ、パルス信号PS
が出力されたことになる。
LKがローからハイに切り替わる。すなわち、遅延回路
20の働きにより、外部クロック信号ECLKよりもΔ
T2だけ遅れて内部クロック信号ICLKが立ち上が
る。この内部クロック信号ICLKと同期してパルス信
号PSは、ローからハイに切り替わる。このパルス信号
PSがハイになるので、ラッチ回路40は、データ入力
信号DISを取り込んで、データ出力信号DOSとして
出力する。このため、時刻t3において、データ出力信
号DOSは、ローからハイに切り替わる。つまり、前段
の組合せ論理回路の伝搬遅延時間Tpdが大きいために
ΔT1だけ到達が遅れたデータ入力信号DISを、ラッ
チ回路40が取り込んで、データ出力信号DOSとし
て、出力することができる。続いて、時刻t4でパルス
信号PSがハイからローに切り替わる。すなわち、時刻
t3から時刻t4の間の短い時間だけ、パルス信号PS
が出力されたことになる。
【0049】図7は、本実施形態に係る遅延機能付フリ
ップフロップ回路の具体的な回路構成の一例を示す図で
ある。
ップフロップ回路の具体的な回路構成の一例を示す図で
ある。
【0050】この図7からわかるように、遅延回路20
は、上述した第1実施形態と同様に、偶数個のインバー
タ20aを直列的に接続して、構成されている。この遅
延回路20の出力である内部クロック信号ICLKは、
パルス信号発生回路42のインバータ42aとNAND
回路42bとに入力される。インバータ42aは、奇数
個設けられており、直列的に接続されている。このイン
バータ42aの最終出力出力も、NAND回路42bに
接続されている。すなわち、内部クロック信号ICLK
と、インバータ42aの最終出力とが、NAND回路4
2bに入力される。NAND回路42bからは、反転パ
ルス信号/PSが出力される。この反転パルス信号/P
Sはインバータ42cに入力され、このインバータ42
cからパルス信号PSが出力される。これらパルス信号
PSと反転パルス信号/PSとは、ラッチ回路40へ入
力される。
は、上述した第1実施形態と同様に、偶数個のインバー
タ20aを直列的に接続して、構成されている。この遅
延回路20の出力である内部クロック信号ICLKは、
パルス信号発生回路42のインバータ42aとNAND
回路42bとに入力される。インバータ42aは、奇数
個設けられており、直列的に接続されている。このイン
バータ42aの最終出力出力も、NAND回路42bに
接続されている。すなわち、内部クロック信号ICLK
と、インバータ42aの最終出力とが、NAND回路4
2bに入力される。NAND回路42bからは、反転パ
ルス信号/PSが出力される。この反転パルス信号/P
Sはインバータ42cに入力され、このインバータ42
cからパルス信号PSが出力される。これらパルス信号
PSと反転パルス信号/PSとは、ラッチ回路40へ入
力される。
【0051】ラッチ回路40は、直列的に接続されたク
ロックドインバータ40aとインバータ40bとを備え
て構成されている。さらに、ラッチ回路40は、インバ
ータ40bと並列的に接続されたクロックドインバータ
40cを備えて構成されている。クロックドインバータ
40aには、データ入力信号DISが入力され、インバ
ータ40bからデータ出力信号DOSが出力される。
ロックドインバータ40aとインバータ40bとを備え
て構成されている。さらに、ラッチ回路40は、インバ
ータ40bと並列的に接続されたクロックドインバータ
40cを備えて構成されている。クロックドインバータ
40aには、データ入力信号DISが入力され、インバ
ータ40bからデータ出力信号DOSが出力される。
【0052】以上のように本実施形態に係る遅延機能付
フリップフロップ回路によれば、パルス信号発生回路4
2とラッチ回路40とで、フリップフロップ動作をさせ
ることとしたので、半導体集積回路の占有面積を小さく
することができる。すなわち、上述した第1実施形態の
ように、遅延回路20と通常のフリップフロップ回路1
0を組合せて、負のセットアップ時間の有する遅延機能
付フリップフロップ回路を構成した場合、同然のことな
がら通常のフリップフロップ回路10よりも面積及び消
費電力が大きくなる。これに対して、本実施形態では、
この欠点を補うために、遅延回路20とパルス信号発生
回路42とラッチ回路40とにより、負のセットアップ
時間を有する遅延機能付フリップフロップ回路を構成す
ることとしたので、面積を上述した第1実施形態のおよ
そ2/3程度にすることができる。すなわち、通常のフ
リップフロップ回路10はマスターラッチ回路とスレー
ブラッチ回路で構成されるので、ラッチ回路40はフリ
ップフロップ回路10の半分程度の面積で実現すること
ができる。そして、この削減した部分に遅延回路20お
よびパルス信号発生回路42を置くことで、より小さな
面積で遅延機能付フリップフロップ回路を実現すること
ができる。
フリップフロップ回路によれば、パルス信号発生回路4
2とラッチ回路40とで、フリップフロップ動作をさせ
ることとしたので、半導体集積回路の占有面積を小さく
することができる。すなわち、上述した第1実施形態の
ように、遅延回路20と通常のフリップフロップ回路1
0を組合せて、負のセットアップ時間の有する遅延機能
付フリップフロップ回路を構成した場合、同然のことな
がら通常のフリップフロップ回路10よりも面積及び消
費電力が大きくなる。これに対して、本実施形態では、
この欠点を補うために、遅延回路20とパルス信号発生
回路42とラッチ回路40とにより、負のセットアップ
時間を有する遅延機能付フリップフロップ回路を構成す
ることとしたので、面積を上述した第1実施形態のおよ
そ2/3程度にすることができる。すなわち、通常のフ
リップフロップ回路10はマスターラッチ回路とスレー
ブラッチ回路で構成されるので、ラッチ回路40はフリ
ップフロップ回路10の半分程度の面積で実現すること
ができる。そして、この削減した部分に遅延回路20お
よびパルス信号発生回路42を置くことで、より小さな
面積で遅延機能付フリップフロップ回路を実現すること
ができる。
【0053】〔第3実施形態〕第3実施形態は、上述し
た第1及び第2実施形態に係る遅延機能付フリップフロ
ップを用いた設計手法に関するものであり、セットアッ
プタイムが大きく異なる複数の遅延機能付フリップフロ
ップ回路をライブラリとして用意して、設計を行うとい
うものである。
た第1及び第2実施形態に係る遅延機能付フリップフロ
ップを用いた設計手法に関するものであり、セットアッ
プタイムが大きく異なる複数の遅延機能付フリップフロ
ップ回路をライブラリとして用意して、設計を行うとい
うものである。
【0054】ひとつの順序回路には、複数の組合せ論理
回路が含まれている。このため、順序回路を構成する組
合せ論理回路の遅延時間には、大きいものもあれば、小
さいものもある。順序回路の設計段階においては、一般
に、これらのうち最も遅延時間の大きいものがクリティ
カルパスと呼ばれ、順序回路の動作周期を決定する。す
なわち、クリティカルパスにより最高のクロック信号周
波数が決定される。動作周期が目標値に達しない場合、
クリティカルパス部分の組合せ論理回路の変更を強いら
れる。具体的には、クリティカルパス部分の組合せ論理
回路にフリップフロップ回路を挿入して、この組合せ論
理回路を分割する必要が生じる。このような変更をした
場合、通常はRTL記述を変更するなどして対応する。
回路が含まれている。このため、順序回路を構成する組
合せ論理回路の遅延時間には、大きいものもあれば、小
さいものもある。順序回路の設計段階においては、一般
に、これらのうち最も遅延時間の大きいものがクリティ
カルパスと呼ばれ、順序回路の動作周期を決定する。す
なわち、クリティカルパスにより最高のクロック信号周
波数が決定される。動作周期が目標値に達しない場合、
クリティカルパス部分の組合せ論理回路の変更を強いら
れる。具体的には、クリティカルパス部分の組合せ論理
回路にフリップフロップ回路を挿入して、この組合せ論
理回路を分割する必要が生じる。このような変更をした
場合、通常はRTL記述を変更するなどして対応する。
【0055】しかしながら、上述した第1及び第2実施
形態に係る遅延機能付フリップフロップ回路を用いれ
ば、クリティカルパスの組合せ論理回路の変更なしに動
作周期を速めることができる。すなわち、クリティカル
パスの組合せ論理回路の遅延時間のうち、短くしたい未
達時間Td分だけの遅延回路20を有する遅延機能付フ
リップフロップ回路を、その組合せ論理回路の後段に用
いればよい。つまり、にクリティカルパスの信号が入力
されるフリップフロップを変更すればよい。
形態に係る遅延機能付フリップフロップ回路を用いれ
ば、クリティカルパスの組合せ論理回路の変更なしに動
作周期を速めることができる。すなわち、クリティカル
パスの組合せ論理回路の遅延時間のうち、短くしたい未
達時間Td分だけの遅延回路20を有する遅延機能付フ
リップフロップ回路を、その組合せ論理回路の後段に用
いればよい。つまり、にクリティカルパスの信号が入力
されるフリップフロップを変更すればよい。
【0056】例えば、図15における組合せ論理回路L
C(2)の伝搬遅延時間Tpdが大きいため、クロック
信号よりもTdだけ遅れて、組合せ論理回路LC(2)
の出力信号がフリップフロップ回路FF(2)に到達し
たとする。すなわち、未達時間がTdであったとする。
この場合、この組合せ論理回路LC(2)の後段のフリ
ップフロップ回路FF(2)を未達時間Td分だけの遅
延を有する遅延機能付フリップフロップ回路に置き換え
ることにより、フリップフロップ回路FF(2)は、正
しい組合せ論理回路の出力信号を取り込むことができ
る。
C(2)の伝搬遅延時間Tpdが大きいため、クロック
信号よりもTdだけ遅れて、組合せ論理回路LC(2)
の出力信号がフリップフロップ回路FF(2)に到達し
たとする。すなわち、未達時間がTdであったとする。
この場合、この組合せ論理回路LC(2)の後段のフリ
ップフロップ回路FF(2)を未達時間Td分だけの遅
延を有する遅延機能付フリップフロップ回路に置き換え
ることにより、フリップフロップ回路FF(2)は、正
しい組合せ論理回路の出力信号を取り込むことができ
る。
【0057】また、実際にはクリティカルパスよりは遅
延時間が小さいものの、動作周期の目標値を満たさない
組合せ論理回路のパスが他に存在することがある。それ
らの組合せ論理回路のパスに対応するため、クリティカ
ルパスの未達時間Tdよりも遅延時間の小さい遅延機能
付フリップフロップ回路を用意しておくことが望まし
い。すなわち、様々な遅延時間を有する遅延機能付フリ
ップフロップ回路を複数用意しておくことが望ましい。
このように遅延時間の異なる遅延機能付フリップフロッ
プ回路をライブラリ登録し、再び論理合成を行う。
延時間が小さいものの、動作周期の目標値を満たさない
組合せ論理回路のパスが他に存在することがある。それ
らの組合せ論理回路のパスに対応するため、クリティカ
ルパスの未達時間Tdよりも遅延時間の小さい遅延機能
付フリップフロップ回路を用意しておくことが望まし
い。すなわち、様々な遅延時間を有する遅延機能付フリ
ップフロップ回路を複数用意しておくことが望ましい。
このように遅延時間の異なる遅延機能付フリップフロッ
プ回路をライブラリ登録し、再び論理合成を行う。
【0058】この設計の流れをフローチャートして示す
と、図8に示すようになる。すなわち、まず、設計され
た順序回路についてRTL記述を行う(S1)。続い
て、このRTL記述に基づいて、論理合成装置にて、論
理合成を行う(S2)。次に、この論理合成結果に基づ
いて、ゲートレベル記述を行う(S3)。そして、この
ゲートレベル記述に基づいて、クリティカルパスを検出
するクリティカルパス解析を行う(S4)。次に、この
クリティカルパスにおけるクロック信号の動作周期に対
する未達時間Tdを求める(S5)。また、この際に
は、このクリティカルパス以外にもクロック信号の動作
周期よりも遅れる組合せ論理回路が存在する場合もあ
る。そのような場合には、それらの未達時間も同時に求
める。
と、図8に示すようになる。すなわち、まず、設計され
た順序回路についてRTL記述を行う(S1)。続い
て、このRTL記述に基づいて、論理合成装置にて、論
理合成を行う(S2)。次に、この論理合成結果に基づ
いて、ゲートレベル記述を行う(S3)。そして、この
ゲートレベル記述に基づいて、クリティカルパスを検出
するクリティカルパス解析を行う(S4)。次に、この
クリティカルパスにおけるクロック信号の動作周期に対
する未達時間Tdを求める(S5)。また、この際に
は、このクリティカルパス以外にもクロック信号の動作
周期よりも遅れる組合せ論理回路が存在する場合もあ
る。そのような場合には、それらの未達時間も同時に求
める。
【0059】次に、−Td〜0のセットアップ時間Ts
uを持つ遅延機能付フリップフロップ回路のライブラリ
を用いて、もう一度、論理合成を行う(S6)。すなわ
ち、クリティカルパスにおける組合せ論理回路の後段の
フリップフロップ回路を、クリティカルパスにおける未
達時間Td分だけの遅延時間を有する遅延機能付フリッ
プフロップ回路で、置き換える。さらに、それ以外のパ
スにおける組合せ論理回路の中で未達時間を有するパス
の後段のフリップフロップ回路を、その未達時間分だけ
の遅延時間を有する遅延機能付フリップフロップ回路
で、置き換える。これにより、所望のクロック信号の動
作周期を満たすゲートレベル記述を得る(S7)。
uを持つ遅延機能付フリップフロップ回路のライブラリ
を用いて、もう一度、論理合成を行う(S6)。すなわ
ち、クリティカルパスにおける組合せ論理回路の後段の
フリップフロップ回路を、クリティカルパスにおける未
達時間Td分だけの遅延時間を有する遅延機能付フリッ
プフロップ回路で、置き換える。さらに、それ以外のパ
スにおける組合せ論理回路の中で未達時間を有するパス
の後段のフリップフロップ回路を、その未達時間分だけ
の遅延時間を有する遅延機能付フリップフロップ回路
で、置き換える。これにより、所望のクロック信号の動
作周期を満たすゲートレベル記述を得る(S7)。
【0060】なお、動作周期の目標値を満たさないパス
が数多く存在する場合、置き換える遅延機能付フリップ
フロップ回路の最大の遅延時間を、クリティカルパスの
未達時間Tdよりも大きくすることも考えられる。
が数多く存在する場合、置き換える遅延機能付フリップ
フロップ回路の最大の遅延時間を、クリティカルパスの
未達時間Tdよりも大きくすることも考えられる。
【0061】また、遅延機能付フリップフロップ回路は
負のセットアップタイムTsuを有するかわりに大きな
正のホールドタイムを持つため、ホールド違反が起きや
すい。図9は、このホールド違反が生ずる過程を説明す
るための図である。この図9からわかるように、この例
では、組合せ論理回路LC(4)の伝搬遅延時間Tpd
が大きいため、フリップフロップ回路FF(6)に遅延
時間ΔT2を有する遅延機能付フリップフロップ回路を
用いている。したがって、組合せ論理回路LC(4)の
出力信号自体は、AND回路50を介しても、フリップ
フロップ回路FF(6)の取り込みに間に合うことにな
る。ところが、組合せ論理回路LC(5)の伝搬遅延時
間Tpdがあまり大きくない場合、フリップフロップ回
路FF(6)がAND回路50の出力信号を取り込む前
に、組合せ論理回路LC(5)の出力信号が次のタイミ
ングのクロック信号の立ち上がりに同期して、変化して
しまうことも考えられる。これがホールド違反である。
そこで、このようなホールド違反が起こらないようにす
るため、面積が小さく、遅延時間の大きい遅延時間生成
回路52を組合せ論理回路LC(5)とAND回路50
の間に、挿入する必要がある。このためには、遅延時間
生成回路52をライブラリに登録しておく必要もある。
負のセットアップタイムTsuを有するかわりに大きな
正のホールドタイムを持つため、ホールド違反が起きや
すい。図9は、このホールド違反が生ずる過程を説明す
るための図である。この図9からわかるように、この例
では、組合せ論理回路LC(4)の伝搬遅延時間Tpd
が大きいため、フリップフロップ回路FF(6)に遅延
時間ΔT2を有する遅延機能付フリップフロップ回路を
用いている。したがって、組合せ論理回路LC(4)の
出力信号自体は、AND回路50を介しても、フリップ
フロップ回路FF(6)の取り込みに間に合うことにな
る。ところが、組合せ論理回路LC(5)の伝搬遅延時
間Tpdがあまり大きくない場合、フリップフロップ回
路FF(6)がAND回路50の出力信号を取り込む前
に、組合せ論理回路LC(5)の出力信号が次のタイミ
ングのクロック信号の立ち上がりに同期して、変化して
しまうことも考えられる。これがホールド違反である。
そこで、このようなホールド違反が起こらないようにす
るため、面積が小さく、遅延時間の大きい遅延時間生成
回路52を組合せ論理回路LC(5)とAND回路50
の間に、挿入する必要がある。このためには、遅延時間
生成回路52をライブラリに登録しておく必要もある。
【0062】以上のように、本実施形態に係る順序回路
の設計手法によれば、組合せ論理回路において未達時間
が生じたとしても、RTL記述を変更することなく対処
することができる。すなわち、未達時間が生じるフリッ
プフロップ回路を遅延機能付フリップフロップ回路に置
き換えるだけで、正しい動作を確保することができる。
このため、RTL記述を変更する必要はなくなり、効率
的な設計業務を行うことができる。
の設計手法によれば、組合せ論理回路において未達時間
が生じたとしても、RTL記述を変更することなく対処
することができる。すなわち、未達時間が生じるフリッ
プフロップ回路を遅延機能付フリップフロップ回路に置
き換えるだけで、正しい動作を確保することができる。
このため、RTL記述を変更する必要はなくなり、効率
的な設計業務を行うことができる。
【0063】なお、現状でもライブラリに登録されてい
るフリップフロップ回路のセットアップ時間Tsuはそ
れぞれ異なるが、それは他の特性(例えば駆動力など)
を変化させた結果として付随的に(いわば副作用とし
て)発生したものである。これに対して本発明では、フ
リップフロップ回路のセットアップ時間Tsu以外の特
性は保ちつつ、セットアップ時間Tsuのみを積極的に
変化させることとしており、本質的に異なる。
るフリップフロップ回路のセットアップ時間Tsuはそ
れぞれ異なるが、それは他の特性(例えば駆動力など)
を変化させた結果として付随的に(いわば副作用とし
て)発生したものである。これに対して本発明では、フ
リップフロップ回路のセットアップ時間Tsu以外の特
性は保ちつつ、セットアップ時間Tsuのみを積極的に
変化させることとしており、本質的に異なる。
【0064】その結果、セットアップ時間Tsuが負の
値を持つフリップフロップ回路を部分的に用いることに
より、クロック周期Tckよりも大きな伝搬遅延時間T
pdであっても、Tpd+Tsu<Tckの関係式を満
たすことができるようになる。クリティカルパスを形成
するフリップフロップ回路に負のセットアップ時間Ts
uを持つ遅延機能付フリップフロップ回路を用いること
により、順序回路全体の動作速度を向上できるのであ
る。これはフリップフロップ回路の挿入位置を変えるこ
となく行うことができ、RTL記述の変更も不要であ
る。また、フリップフロップ回路内部でクロック信号を
遅らせるので、クロック分配機構に修正を加える必要も
なく、正確に遅延を入れることができる。
値を持つフリップフロップ回路を部分的に用いることに
より、クロック周期Tckよりも大きな伝搬遅延時間T
pdであっても、Tpd+Tsu<Tckの関係式を満
たすことができるようになる。クリティカルパスを形成
するフリップフロップ回路に負のセットアップ時間Ts
uを持つ遅延機能付フリップフロップ回路を用いること
により、順序回路全体の動作速度を向上できるのであ
る。これはフリップフロップ回路の挿入位置を変えるこ
となく行うことができ、RTL記述の変更も不要であ
る。また、フリップフロップ回路内部でクロック信号を
遅らせるので、クロック分配機構に修正を加える必要も
なく、正確に遅延を入れることができる。
【0065】〔第4実施形態〕本発明の第4実施形態
は、順序回路を構成する半導体集積回路内のすべてのフ
リップフロップ回路に供給されるクロック信号のタイミ
ングを、それぞれの組合せ論理回路のパスの遅延を考慮
して制御することにより、最大動作周波数を向上さよう
とするものである。そして、このようなクロック信号の
供給タイミングを自動的に決定して、クロック信号の配
線を行うアルゴリズムを提供しようとするものである。
より詳しくを以下に説明する。
は、順序回路を構成する半導体集積回路内のすべてのフ
リップフロップ回路に供給されるクロック信号のタイミ
ングを、それぞれの組合せ論理回路のパスの遅延を考慮
して制御することにより、最大動作周波数を向上さよう
とするものである。そして、このようなクロック信号の
供給タイミングを自動的に決定して、クロック信号の配
線を行うアルゴリズムを提供しようとするものである。
より詳しくを以下に説明する。
【0066】図10は本実施形態に係るクロック自動配
線アルゴリズムを説明するためのフローチャートを示す
図である。以下、この図10に基づいて、このアルゴリ
ズムを説明する。
線アルゴリズムを説明するためのフローチャートを示す
図である。以下、この図10に基づいて、このアルゴリ
ズムを説明する。
【0067】<前提>まず、フローチャートの説明に入
る前に、前提となる事項を説明する。
る前に、前提となる事項を説明する。
【0068】(1)現在のサイクルタイムをClock
TimeAとする。すなわち、現在のクロック信号の
動作周波数を用いた場合の、1クロックサイクルの時間
を、Clock TimeAとする。
TimeAとする。すなわち、現在のクロック信号の
動作周波数を用いた場合の、1クロックサイクルの時間
を、Clock TimeAとする。
【0069】(2)以前のサイクルタイムをClock
TimeBとする。すなわち、以前のクロック信号の
動作周波数を用いた場合の、1クロックサイクルの時間
を、Clock TimeBとする。
TimeBとする。すなわち、以前のクロック信号の
動作周波数を用いた場合の、1クロックサイクルの時間
を、Clock TimeBとする。
【0070】(3)新しいサイクルタイムをClock
TimeNとする。すなわち、新しいクロック信号の
動作周波数を用いた場合の、1クロックサイクルの時間
を、Clock TimeNとする。
TimeNとする。すなわち、新しいクロック信号の
動作周波数を用いた場合の、1クロックサイクルの時間
を、Clock TimeNとする。
【0071】(4)収束判定の最小遷移値をDelta
Convgとする。すなわち、現在のサイクルタイム
Clock TimeAと、以前のサイクルタイムCl
ock TimeBとの差の絶対値が、Delta C
onvg以下であれば、最良のサイクルタイムが一応求
められたと判断する。
Convgとする。すなわち、現在のサイクルタイム
Clock TimeAと、以前のサイクルタイムCl
ock TimeBとの差の絶対値が、Delta C
onvg以下であれば、最良のサイクルタイムが一応求
められたと判断する。
【0072】(5)クロック到達時刻をClock A
rrive Timeとする。すなわち、クロック信号
がフリップフロップ回路に到達した時刻を、Clock
Arrive Timeとする。
rrive Timeとする。すなわち、クロック信号
がフリップフロップ回路に到達した時刻を、Clock
Arrive Timeとする。
【0073】(6)始終点の種類として、フリップフロ
ップ回路と、他の半導体チップからこの順序回路へ信号
を入力するための入力ポートと、他の半導体チップへこ
の順序回路から信号を出力するための出力ポートと、他
の半導体チップと信号の入出力をするための入出力ポー
トとを、考慮する。また、始終点には、前固定、後固
定、非固定の3種類の属性を使用し区別する。すなわ
ち、フリップフロップ回路等のクロック到達時刻Clo
ck Arrive Timeをそれ以上前に早くする
ことができない場合に、前固定という属性を付与する。
フリップフロップ回路等のクロック到達時刻Clock
Arrive Timeをそれ以上後に遅らせること
ができない場合に、後固定という属性を付与する。フリ
ップフロップ回路等のクロック到達時刻Clock A
rrive Timeを、早めたり、遅らせたりするこ
とができる場合に、非固定という属性を付与する。これ
らのうち、前固定と後固定は、1つのフリップフロップ
回路等に重複して付与されることもある。入力ポートの
クロック到達時刻Clock Arrive Time
は、他の半導体チップからの入力であるので、早めるこ
とができない。したがって、入力ポートには、前固定の
属性が付与される。また、出力ポートのクロック到達時
刻Clock Arrive Timeは、他の半導体
チップへの出力であるので、遅くすることができない。
したがって、出力ポートには、後固定の属性が付与され
る。入出力ポートのクロック到達時刻Clock Ar
riveTimeは、他の半導体チップとの入出力であ
るので、早くしたり、遅くしたり、することができな
い。したがって、入出力ポートには、前固定及び後固定
の属性が付与される。フリップフロップ回路のクロック
到達時刻Clock Arrive Timeは、当初
は早くしたり、遅くしたりすることが可能であるが、こ
の処理の過程において、他のフリップフロップ回路への
クロック到達時刻Clock Arrive Time
の制約によって、早めることができなかったり、遅くす
ることができなかったりするようになる。したがって、
フリップフロップ回路には、前固定、後固定、非固定の
属性が付与される。これら前固定、後固定、非固定の属
性の意味を表にまとめると表1のようになる。
ップ回路と、他の半導体チップからこの順序回路へ信号
を入力するための入力ポートと、他の半導体チップへこ
の順序回路から信号を出力するための出力ポートと、他
の半導体チップと信号の入出力をするための入出力ポー
トとを、考慮する。また、始終点には、前固定、後固
定、非固定の3種類の属性を使用し区別する。すなわ
ち、フリップフロップ回路等のクロック到達時刻Clo
ck Arrive Timeをそれ以上前に早くする
ことができない場合に、前固定という属性を付与する。
フリップフロップ回路等のクロック到達時刻Clock
Arrive Timeをそれ以上後に遅らせること
ができない場合に、後固定という属性を付与する。フリ
ップフロップ回路等のクロック到達時刻Clock A
rrive Timeを、早めたり、遅らせたりするこ
とができる場合に、非固定という属性を付与する。これ
らのうち、前固定と後固定は、1つのフリップフロップ
回路等に重複して付与されることもある。入力ポートの
クロック到達時刻Clock Arrive Time
は、他の半導体チップからの入力であるので、早めるこ
とができない。したがって、入力ポートには、前固定の
属性が付与される。また、出力ポートのクロック到達時
刻Clock Arrive Timeは、他の半導体
チップへの出力であるので、遅くすることができない。
したがって、出力ポートには、後固定の属性が付与され
る。入出力ポートのクロック到達時刻Clock Ar
riveTimeは、他の半導体チップとの入出力であ
るので、早くしたり、遅くしたり、することができな
い。したがって、入出力ポートには、前固定及び後固定
の属性が付与される。フリップフロップ回路のクロック
到達時刻Clock Arrive Timeは、当初
は早くしたり、遅くしたりすることが可能であるが、こ
の処理の過程において、他のフリップフロップ回路への
クロック到達時刻Clock Arrive Time
の制約によって、早めることができなかったり、遅くす
ることができなかったりするようになる。したがって、
フリップフロップ回路には、前固定、後固定、非固定の
属性が付与される。これら前固定、後固定、非固定の属
性の意味を表にまとめると表1のようになる。
【0074】
【表1】 (7)フリップフロップ回路のリスト表を用意する。こ
のリスト表を表2に示す。
のリスト表を表2に示す。
【0075】
【表2】 このフリップフロップ回路のリスト表の項目は、(a)
ターゲットのフリップフロップ回路名、(b)ターゲッ
トのフリップフロップ回路の属性、(c)ターゲットの
フリップフロップ回路へのクロック信号の到達時刻、
(d)ターゲットのフリップフロップ回路を終点とした
場合の最悪のスラックとなるパスの始点名、(e)その
パスのスラック値Slack、(f)ターゲットのフリ
ップフロップ回路を始点とした場合の最悪のスラックと
なるパスの終点名、(g)そのパスのスラック値Sla
ck、である。ここで、ターゲットのフリップフロップ
回路とは、あるパスにおいて着目しているフリップフロ
ップ回路のことを指している。この表2では、3つのフ
リップフロップ回路があることを想定している。
ターゲットのフリップフロップ回路名、(b)ターゲッ
トのフリップフロップ回路の属性、(c)ターゲットの
フリップフロップ回路へのクロック信号の到達時刻、
(d)ターゲットのフリップフロップ回路を終点とした
場合の最悪のスラックとなるパスの始点名、(e)その
パスのスラック値Slack、(f)ターゲットのフリ
ップフロップ回路を始点とした場合の最悪のスラックと
なるパスの終点名、(g)そのパスのスラック値Sla
ck、である。ここで、ターゲットのフリップフロップ
回路とは、あるパスにおいて着目しているフリップフロ
ップ回路のことを指している。この表2では、3つのフ
リップフロップ回路があることを想定している。
【0076】(8)表2に示すフリップフロップ回路の
リスト表のパスの中で、スラック値Slackが最も悪
いパスをワーストパスと呼ぶこととする。すなわち、最
も小さいスラック値Slackを有するパスをワースト
パスと呼ぶことにする。また、ワーストパスを構成する
組合せ論理回路を、ワースト組合せ論理回路と呼ぶこと
とする。
リスト表のパスの中で、スラック値Slackが最も悪
いパスをワーストパスと呼ぶこととする。すなわち、最
も小さいスラック値Slackを有するパスをワースト
パスと呼ぶことにする。また、ワーストパスを構成する
組合せ論理回路を、ワースト組合せ論理回路と呼ぶこと
とする。
【0077】<初期設定(S11)>現在のサイクルタ
イムClock TimeAの初期値と、最小遷移値D
elta Convgの初期値とを、設定する。現在の
サイクルタイムClockTimeAの初期値には実現
可能なサイクルタイムを設定する。順序回路を構成して
いるネットからすべてのフリップフロップ回路を抽出
し、表2に示したフリップフロップ回路のリスト表の項
目のうち(a)ターゲットのフリップフロップ回路名を
記入する。当初は、フリップフロップ回路のリスト表の
項目のうち、(b)ターゲットのフリップフロップ回路
の属性は、すべて非固定に設定する。フリップフロップ
回路のリスト表の項目のうち、(c)ターゲットのフリ
ップフロップ回路へのクロック信号の到達時刻は、すべ
て“0”に設定する。すると、表2が完成する。
イムClock TimeAの初期値と、最小遷移値D
elta Convgの初期値とを、設定する。現在の
サイクルタイムClockTimeAの初期値には実現
可能なサイクルタイムを設定する。順序回路を構成して
いるネットからすべてのフリップフロップ回路を抽出
し、表2に示したフリップフロップ回路のリスト表の項
目のうち(a)ターゲットのフリップフロップ回路名を
記入する。当初は、フリップフロップ回路のリスト表の
項目のうち、(b)ターゲットのフリップフロップ回路
の属性は、すべて非固定に設定する。フリップフロップ
回路のリスト表の項目のうち、(c)ターゲットのフリ
ップフロップ回路へのクロック信号の到達時刻は、すべ
て“0”に設定する。すると、表2が完成する。
【0078】<パス解析(S12)>すべてのフリップ
フロップ回路に対して、そのフリップフロップ回路が始
点又は終点となるパスを解析して、クロック到達時刻C
lock Arrive Timeを考慮した最悪のス
ラック値Slackをフリップフロップ回路毎にリスト
化する。このパス解析によって、表3に示すように、フ
リップフロップ回路のリスト表における、(d)ターゲ
ットのフリップフロップ回路を終点とした場合の最悪の
スラック値Slackとなるパスの始点名と、(e)そ
のパスのスラック値Slackと、(f)ターゲットの
フリップフロップ回路を始点とした場合の最悪のスラッ
ク値Slackとなるパスの終点名と、(g)そのパス
のスラック値Slackとが、埋められる。つまり、項
目(d)(e)(f)(g)が埋められる。
フロップ回路に対して、そのフリップフロップ回路が始
点又は終点となるパスを解析して、クロック到達時刻C
lock Arrive Timeを考慮した最悪のス
ラック値Slackをフリップフロップ回路毎にリスト
化する。このパス解析によって、表3に示すように、フ
リップフロップ回路のリスト表における、(d)ターゲ
ットのフリップフロップ回路を終点とした場合の最悪の
スラック値Slackとなるパスの始点名と、(e)そ
のパスのスラック値Slackと、(f)ターゲットの
フリップフロップ回路を始点とした場合の最悪のスラッ
ク値Slackとなるパスの終点名と、(g)そのパス
のスラック値Slackとが、埋められる。つまり、項
目(d)(e)(f)(g)が埋められる。
【0079】
【表3】 <条件判断1(S13)>ワーストパスのスラック値S
lackがプラス(Positive)ならOKであ
り、マイナス(Negative)ならNGであると判
断する。すなわち、ワーストパスのスラック値Slac
kがプラスであれば、すべてのパスでスラック値Sla
ckはプラスであり、その現在のClock Time
Aでこの順序回路は正常に動作する。表3においては、
ワーストパスは、フリップフロップ回路REG1を終点
とし、フリップフロップ回路REG3を始点とした場合
であり、そのスラック値Slackは、−2.4であ
る。
lackがプラス(Positive)ならOKであ
り、マイナス(Negative)ならNGであると判
断する。すなわち、ワーストパスのスラック値Slac
kがプラスであれば、すべてのパスでスラック値Sla
ckはプラスであり、その現在のClock Time
Aでこの順序回路は正常に動作する。表3においては、
ワーストパスは、フリップフロップ回路REG1を終点
とし、フリップフロップ回路REG3を始点とした場合
であり、そのスラック値Slackは、−2.4であ
る。
【0080】<サイクルタイムの変更(S14)>条件
判断1においてスラック値Slackがプラスである場
合には、サイクルタイムの変更がなされる。この条件判
断1からこの処理ブロックにきた場合は、Clock
TimeN=(Clock TimeA)/2に、変更
する。すなわち、現在のサイクルタイムClock T
imeAの1/2を、新しいサイクルタイムClock
TimeNにする。
判断1においてスラック値Slackがプラスである場
合には、サイクルタイムの変更がなされる。この条件判
断1からこの処理ブロックにきた場合は、Clock
TimeN=(Clock TimeA)/2に、変更
する。すなわち、現在のサイクルタイムClock T
imeAの1/2を、新しいサイクルタイムClock
TimeNにする。
【0081】一方、後述する条件判断2からこの処理ブ
ロックにきた場合は、ClockTimeN=(Clo
ck TimeA+Clock TimeB)/2に変
更する。すなわち、この順序回路が正常に動作した以前
のサイクルタイムClock TimeBと、この順序
回路を正常に動作させることのできなかった現在のサイ
クルタイムClock TimeAとの、中間に位置す
るサイクルタイムを、新しいサイクルタイムClock
TimeNにする。
ロックにきた場合は、ClockTimeN=(Clo
ck TimeA+Clock TimeB)/2に変
更する。すなわち、この順序回路が正常に動作した以前
のサイクルタイムClock TimeBと、この順序
回路を正常に動作させることのできなかった現在のサイ
クルタイムClock TimeAとの、中間に位置す
るサイクルタイムを、新しいサイクルタイムClock
TimeNにする。
【0082】条件判断1からこの処理ブロックにきた場
合でも、条件判断2からこの処理ブロックにきた場合で
も、Clock TimeB=Clock TimeA
(但し、この処理は条件判断2からきた場合には実行し
ない)、Clock TimeA=Clock Tim
eNを順に実行し、サイクルタイムを更新する。すなわ
ち、現在のサイクルタイムClock TimeAを、
以前のサイクルタイムClock TimeBとし(但
し、この処理は条件判断2からきた場合には実行しな
い)、新しいサイクルタイムClock TimeN
を、現在のサイクルタイムClock TimeAとす
る。また、フリップフロップ回路のリスト表をリセット
する。つまり、表2に示すフリップフロップ回路のリス
ト表を用意する。
合でも、条件判断2からこの処理ブロックにきた場合で
も、Clock TimeB=Clock TimeA
(但し、この処理は条件判断2からきた場合には実行し
ない)、Clock TimeA=Clock Tim
eNを順に実行し、サイクルタイムを更新する。すなわ
ち、現在のサイクルタイムClock TimeAを、
以前のサイクルタイムClock TimeBとし(但
し、この処理は条件判断2からきた場合には実行しな
い)、新しいサイクルタイムClock TimeN
を、現在のサイクルタイムClock TimeAとす
る。また、フリップフロップ回路のリスト表をリセット
する。つまり、表2に示すフリップフロップ回路のリス
ト表を用意する。
【0083】<終了判定(S15)>この終了判定で
は、クロック信号のサイクルタイムがある程度収束した
か否かを判断する。具体的には、条件判断1(S13)
でOKとなり、かつ、以前のサイクルタイムClock
TimeBと現在のサイクルタイムClock Ti
meAの絶対誤差が最小遷移値Delta Convg
より小さい場合はOKとし、それ以外はNGとする。す
なわち、現在のサイクルタイムClock TimeA
でこの順序回路が正常に動作し、かつ、現在のサイクル
タイムClockTimeAと以前のサイクルタイムC
lock TimeBとの差が、一定の範囲内に収束し
ている場合には、もはや最良のサイクルタイムが求まっ
たと判断する。
は、クロック信号のサイクルタイムがある程度収束した
か否かを判断する。具体的には、条件判断1(S13)
でOKとなり、かつ、以前のサイクルタイムClock
TimeBと現在のサイクルタイムClock Ti
meAの絶対誤差が最小遷移値Delta Convg
より小さい場合はOKとし、それ以外はNGとする。す
なわち、現在のサイクルタイムClock TimeA
でこの順序回路が正常に動作し、かつ、現在のサイクル
タイムClockTimeAと以前のサイクルタイムC
lock TimeBとの差が、一定の範囲内に収束し
ている場合には、もはや最良のサイクルタイムが求まっ
たと判断する。
【0084】<クロック信号の配線処理(S16)>フ
リップフロップ回路のリスト表を利用して、クロック到
達時刻ClockArrive Timeがこのリスト
表の条件を満たすように、クロック信号の配線処理を行
う。具体的には、すべてのフリップフロップ回路の中か
ら、最小のクロック到達時刻Clock Arrive
Timeを有するフリップフロップ回路からクロック
信号の配線を行う。このようにクロック信号の配線を行
っていき、クロック到達時刻Clock Arrive
Timeを超えて配線されるフリップフロップ回路が
生じた場合は、すべてのフリップフロップ回路のクロッ
ク到達時刻Clock Arrive Timeに、そ
の超過分を加えた上で、初めから配線し直す。この処理
を繰り返すことにより、クロック到達時刻Clock
Arrive Timeが相対的にリスト表と一致す
る。
リップフロップ回路のリスト表を利用して、クロック到
達時刻ClockArrive Timeがこのリスト
表の条件を満たすように、クロック信号の配線処理を行
う。具体的には、すべてのフリップフロップ回路の中か
ら、最小のクロック到達時刻Clock Arrive
Timeを有するフリップフロップ回路からクロック
信号の配線を行う。このようにクロック信号の配線を行
っていき、クロック到達時刻Clock Arrive
Timeを超えて配線されるフリップフロップ回路が
生じた場合は、すべてのフリップフロップ回路のクロッ
ク到達時刻Clock Arrive Timeに、そ
の超過分を加えた上で、初めから配線し直す。この処理
を繰り返すことにより、クロック到達時刻Clock
Arrive Timeが相対的にリスト表と一致す
る。
【0085】<クロック信号の到達時刻設定(S17)
>上述した条件判断1でワーストパスのスラック値Sl
ackがマイナスである場合には、このクロック信号の
到達時刻設定の処理を行う。ここでは、フリップフロッ
プ回路のリスト表を利用して、ワースパスにおける始点
のフリップフロップ回路と終点のフリップフロップ回路
とのクロック信号のタイミングを変更する。変更方法は
始終点のフリップフロップ回路に付与された属性の種類
によって異なる。具体的には、変更方法には、次の3つ
の種類がある。なお、ワーストパスのスラック値をSl
ack Aとする。
>上述した条件判断1でワーストパスのスラック値Sl
ackがマイナスである場合には、このクロック信号の
到達時刻設定の処理を行う。ここでは、フリップフロッ
プ回路のリスト表を利用して、ワースパスにおける始点
のフリップフロップ回路と終点のフリップフロップ回路
とのクロック信号のタイミングを変更する。変更方法は
始終点のフリップフロップ回路に付与された属性の種類
によって異なる。具体的には、変更方法には、次の3つ
の種類がある。なお、ワーストパスのスラック値をSl
ack Aとする。
【0086】(1)始終点のフリップフロップ回路のタ
イミング変更が可能な場合 この場合におけるフリップフロップ回路のリスト表は表
3のようになり、その様子を図に示すと図11のように
なる。始終点のタイミングが変更可能な場合は始点のフ
リップフロップ回路のクロック到達時刻Clock A
rrive Timeを|Slack A/2|だけ早
くし、終点のフリップフロップ回路のクロック到達時刻
Clock Arrive Timeを|Slack
A/2|だけ遅くする。例えば、表3のようなフリップ
フロップ回路のリスト表の場合、ワーストパスはフリッ
プフロップ回路REG3からフリップフロップ回路RE
G1へのパスでありSlack Aは−2.4である。
また、ワーストパスの始点であるフリップフロップ回路
REG3も、終点であるフリップフロップ回路REG1
も、共に非固定である。したがって、フリップフロップ
回路REG1のクロック到達時刻Clock Arri
ve Time=(1.2−(|−2.4/2|))=
0.0とする。つまり、終点であるフリップフロップ回
路REG1のクロック到達時刻Clock Arriv
e Timeを1.2だけ遅くする。また、フリップフ
ロップ回路REG3のクロック到達時刻Clock A
rrive Time=(−0.9+(|−2.4/2
|))=0.3とする。つまり、始点であるフリップフ
ロップ回路REG3のクロック到達時刻Clock A
rrive Timeを1.2だけ早くする。これによ
りフリップフロップ回路REG3からフリップフロップ
回路REG1のワーストパスのスラック値Slackを
0にすることができる。
イミング変更が可能な場合 この場合におけるフリップフロップ回路のリスト表は表
3のようになり、その様子を図に示すと図11のように
なる。始終点のタイミングが変更可能な場合は始点のフ
リップフロップ回路のクロック到達時刻Clock A
rrive Timeを|Slack A/2|だけ早
くし、終点のフリップフロップ回路のクロック到達時刻
Clock Arrive Timeを|Slack
A/2|だけ遅くする。例えば、表3のようなフリップ
フロップ回路のリスト表の場合、ワーストパスはフリッ
プフロップ回路REG3からフリップフロップ回路RE
G1へのパスでありSlack Aは−2.4である。
また、ワーストパスの始点であるフリップフロップ回路
REG3も、終点であるフリップフロップ回路REG1
も、共に非固定である。したがって、フリップフロップ
回路REG1のクロック到達時刻Clock Arri
ve Time=(1.2−(|−2.4/2|))=
0.0とする。つまり、終点であるフリップフロップ回
路REG1のクロック到達時刻Clock Arriv
e Timeを1.2だけ遅くする。また、フリップフ
ロップ回路REG3のクロック到達時刻Clock A
rrive Time=(−0.9+(|−2.4/2
|))=0.3とする。つまり、始点であるフリップフ
ロップ回路REG3のクロック到達時刻Clock A
rrive Timeを1.2だけ早くする。これによ
りフリップフロップ回路REG3からフリップフロップ
回路REG1のワーストパスのスラック値Slackを
0にすることができる。
【0087】(2)始点のフリップフロップ回路のみが
タイミング変更可能な場合 この場合におけるフリップフロップ回路のリスト表は表
4のようになり、その様子を図に示すと図12のように
なる。始点のフリップフロップ回路のみがタイミング変
更可能な場合は、始点のフリップフロップ回路のクロッ
ク到達時刻Clock Arrive Timeを|S
lack A|だけ早くする。例えば、表4のようなフ
リップフロップ回路のリスト表の場合、ワーストパスは
フリップフロップ回路REG3からフリップフロップ回
路REG1へのパスであり、終点であるフリップフロッ
プ回路REG1の属性は後固定である。このため、フリ
ップフロップ回路REG1のクロック到達時刻Cloc
k Arrive Timeはこれ以上遅らせることは
できない。したがって、このフリップフロップ回路RE
G1は変更せずに、フリップフロップ回路REG3のク
ロック到達時刻Clock Arrive Time=
(−0.9+|−2.4|)=1.5と変更する。つま
り、始点であるフリップフロップ回路REG3のクロッ
ク到達時刻Clock Arrive Timeを1.
2だけ早くする。これによりフリップフロップ回路RE
G3からフリップフロップ回路REG1のワーストパス
のスラック値Slackを0にすることができる。
タイミング変更可能な場合 この場合におけるフリップフロップ回路のリスト表は表
4のようになり、その様子を図に示すと図12のように
なる。始点のフリップフロップ回路のみがタイミング変
更可能な場合は、始点のフリップフロップ回路のクロッ
ク到達時刻Clock Arrive Timeを|S
lack A|だけ早くする。例えば、表4のようなフ
リップフロップ回路のリスト表の場合、ワーストパスは
フリップフロップ回路REG3からフリップフロップ回
路REG1へのパスであり、終点であるフリップフロッ
プ回路REG1の属性は後固定である。このため、フリ
ップフロップ回路REG1のクロック到達時刻Cloc
k Arrive Timeはこれ以上遅らせることは
できない。したがって、このフリップフロップ回路RE
G1は変更せずに、フリップフロップ回路REG3のク
ロック到達時刻Clock Arrive Time=
(−0.9+|−2.4|)=1.5と変更する。つま
り、始点であるフリップフロップ回路REG3のクロッ
ク到達時刻Clock Arrive Timeを1.
2だけ早くする。これによりフリップフロップ回路RE
G3からフリップフロップ回路REG1のワーストパス
のスラック値Slackを0にすることができる。
【0088】
【表4】 (3)終点のフリップフロップ回路のみがタイミング変
更可能な場合 この場合におけるフリップフロップ回路のリスト表は表
5のようになり、その様子を図に示すと図13のように
なる。終点のフリップフロップ回路のみがタイミング変
更可能な場合、終点のフリップフロップ回路のクロック
到達時刻Clock Arrive Timeを|Sl
ack A|だけ遅くする。例えば、表5のようなフリ
ップフロップ回路のリスト表の場合、ワーストパスはフ
リップフロップ回路REG3からフリップフロップ回路
REG1へのパスであり、始点であるフリップフロップ
回路REG3の属性は前固定である。このため、フリッ
プフロップ回路REG3のクロック到達時刻Clock
Arrive Timeを早めることができない。し
たがって、フリップフロップ回路REG3は変更せず
に、フリップフロップ回路REG1のクロック到達時刻
をClock Arrive Time=(1.2+|
−2.4|)=3.6とする。これによりフリップフロ
ップ回路REG3からフリップフロップ回路REG1の
ワーストパスのスラック値Slackを0にすることが
できる。
更可能な場合 この場合におけるフリップフロップ回路のリスト表は表
5のようになり、その様子を図に示すと図13のように
なる。終点のフリップフロップ回路のみがタイミング変
更可能な場合、終点のフリップフロップ回路のクロック
到達時刻Clock Arrive Timeを|Sl
ack A|だけ遅くする。例えば、表5のようなフリ
ップフロップ回路のリスト表の場合、ワーストパスはフ
リップフロップ回路REG3からフリップフロップ回路
REG1へのパスであり、始点であるフリップフロップ
回路REG3の属性は前固定である。このため、フリッ
プフロップ回路REG3のクロック到達時刻Clock
Arrive Timeを早めることができない。し
たがって、フリップフロップ回路REG3は変更せず
に、フリップフロップ回路REG1のクロック到達時刻
をClock Arrive Time=(1.2+|
−2.4|)=3.6とする。これによりフリップフロ
ップ回路REG3からフリップフロップ回路REG1の
ワーストパスのスラック値Slackを0にすることが
できる。
【0089】
【表5】 (4)始終点のフリップフロップ回路がともにタイミン
グ変更不可能な場合 この場合におけるフリップフロップ回路のリスト表は表
6のようになり、その様子を図に示すと図14のように
なる。始点のフリップフロップ回路と終点のフリップフ
ロップ回路とが、ともに、タイミング変更不可能な場合
は、何もしない。すなわち、始点であるフリップフロッ
プ回路REG3が前固定であり、終点であるフリップフ
ロップ回路REG1が後固定であるので、このワースト
パスに合わせてクロック信号のタイミングを調整するこ
とは、もはやできない。換言すれば、ワーストパスのス
ラック値Slackを0にすることができない。
グ変更不可能な場合 この場合におけるフリップフロップ回路のリスト表は表
6のようになり、その様子を図に示すと図14のように
なる。始点のフリップフロップ回路と終点のフリップフ
ロップ回路とが、ともに、タイミング変更不可能な場合
は、何もしない。すなわち、始点であるフリップフロッ
プ回路REG3が前固定であり、終点であるフリップフ
ロップ回路REG1が後固定であるので、このワースト
パスに合わせてクロック信号のタイミングを調整するこ
とは、もはやできない。換言すれば、ワーストパスのス
ラック値Slackを0にすることができない。
【0090】
【表6】 <条件判断2(S18)>クロック信号の到達時刻設定
(S17)の処理において、(4)始終点のフリップフ
ロップ回路がともにタイミング変更不可能な場合はNG
となり、それ以外の場合はOKとなる。すなわち、
(4)始終点のフリップフロップ回路がともにタイミン
グ変更不可能な場合は、フリップフロップ回路へのクロ
ック信号の供給のタイミングを現在のサイクルタイムC
lock TimeAでは、調整しきれないこととなる
ので、サイクルタイムの変更(S14)の処理をするこ
ととなる。一方、(1)始終点のフリップフロップ回路
のタイミング変更が可能な場合、(2)始点のフリップ
フロップ回路のみがタイミング変更可能な場合、及び、
(3)終点のフリップフロップ回路のみがタイミング変
更可能な場合は、フリップフロップ回路へのクロック信
号の供給のタイミングを調整することができる可能性が
あるので、現在のサイクルタイムClock Time
Aでの処理を続行する(S19)。
(S17)の処理において、(4)始終点のフリップフ
ロップ回路がともにタイミング変更不可能な場合はNG
となり、それ以外の場合はOKとなる。すなわち、
(4)始終点のフリップフロップ回路がともにタイミン
グ変更不可能な場合は、フリップフロップ回路へのクロ
ック信号の供給のタイミングを現在のサイクルタイムC
lock TimeAでは、調整しきれないこととなる
ので、サイクルタイムの変更(S14)の処理をするこ
ととなる。一方、(1)始終点のフリップフロップ回路
のタイミング変更が可能な場合、(2)始点のフリップ
フロップ回路のみがタイミング変更可能な場合、及び、
(3)終点のフリップフロップ回路のみがタイミング変
更可能な場合は、フリップフロップ回路へのクロック信
号の供給のタイミングを調整することができる可能性が
あるので、現在のサイクルタイムClock Time
Aでの処理を続行する(S19)。
【0091】<始終点の属性を設定(S19)>ここで
は、前述したクロック信号の到達時刻設定(S17)の
処理結果をフリップフロップ回路のリスト表に反映させ
る。具体的には、(2)始点のフリップフロップ回路の
みがタイミング変更可能な場合の処理をしたときは、始
点のフリップフロップ回路に対して後固定の属性を設定
する。すなわち、図12からわかるように、始点である
フリップフロップ回路REG3のクロック到達時刻Cl
ock Arrive Timeを2.4だけ早めたの
で、このフリップフロップ回路REG3の属性を後固定
に設定する。なぜなら、このフリップフロップ回路RE
G3のクロック到達時刻Clock Arrive T
imeは、フリップフロップ回路REG1との関係上、
これ以上、遅らせることはできないからである。(3)
終点のフリップフロップ回路のみがタイミング変更可能
な場合の処理をしたときは、終点のフリップフロップ回
路に対して前固定の属性を設定する。すなわち、図13
からわかるように、終点であるフリップフロップ回路R
EG1のクロック到達時刻Clock Arrive
Timeを2.4だけ遅くしたので、このフリップフロ
ップ回路REG1の属性を前固定に設定する。なぜな
ら、このフリップフロップ回路REG1のクロック到達
時刻Clock Arrive Timeは、これ以
上、早めることはできないからである。
は、前述したクロック信号の到達時刻設定(S17)の
処理結果をフリップフロップ回路のリスト表に反映させ
る。具体的には、(2)始点のフリップフロップ回路の
みがタイミング変更可能な場合の処理をしたときは、始
点のフリップフロップ回路に対して後固定の属性を設定
する。すなわち、図12からわかるように、始点である
フリップフロップ回路REG3のクロック到達時刻Cl
ock Arrive Timeを2.4だけ早めたの
で、このフリップフロップ回路REG3の属性を後固定
に設定する。なぜなら、このフリップフロップ回路RE
G3のクロック到達時刻Clock Arrive T
imeは、フリップフロップ回路REG1との関係上、
これ以上、遅らせることはできないからである。(3)
終点のフリップフロップ回路のみがタイミング変更可能
な場合の処理をしたときは、終点のフリップフロップ回
路に対して前固定の属性を設定する。すなわち、図13
からわかるように、終点であるフリップフロップ回路R
EG1のクロック到達時刻Clock Arrive
Timeを2.4だけ遅くしたので、このフリップフロ
ップ回路REG1の属性を前固定に設定する。なぜな
ら、このフリップフロップ回路REG1のクロック到達
時刻Clock Arrive Timeは、これ以
上、早めることはできないからである。
【0092】なお、(1)始終点のフリップフロップ回
路のタイミング変更が可能な場合は、始点のフリップフ
ロップ回路REG3と終点のフリップフロップ回路RE
G1は、いずれも相対的にクロック信号のタイミングを
調整することが可能であるので、前固定にも、後固定に
もならない。
路のタイミング変更が可能な場合は、始点のフリップフ
ロップ回路REG3と終点のフリップフロップ回路RE
G1は、いずれも相対的にクロック信号のタイミングを
調整することが可能であるので、前固定にも、後固定に
もならない。
【0093】以上のように、本実施形態によれば、組合
せ論理回路の伝搬遅延時間Tpdを考慮したクロック信
号の配線を自動的に行うようにすることができる。この
ため、配線の設計に要する時間を大幅に削減することが
できる。つまり、データパスの遅延を考慮したクロック
信号の配線を自動で行うことができるので、設計効率を
向上させることができる。
せ論理回路の伝搬遅延時間Tpdを考慮したクロック信
号の配線を自動的に行うようにすることができる。この
ため、配線の設計に要する時間を大幅に削減することが
できる。つまり、データパスの遅延を考慮したクロック
信号の配線を自動で行うことができるので、設計効率を
向上させることができる。
【0094】
【発明の効果】以上のように、本実施形態に係る遅延機
能付フリップフロップ回路によれば、外部クロック信号
が立ち上がってから、一定の遅延時間をおいて内部クロ
ック信号が立ち上がるため、遅延機能付フリップフロッ
プ回路へのデータ入力信号の到着がその遅延時間分だけ
遅く到着しても、このフリップフロップ回路は、正しく
データ入力信号を取り込むことができる。したがって、
この遅延機能付フリップフロップ回路を用いた順序回路
は、短い周期の外部クロック信号で動作させることがで
きる。
能付フリップフロップ回路によれば、外部クロック信号
が立ち上がってから、一定の遅延時間をおいて内部クロ
ック信号が立ち上がるため、遅延機能付フリップフロッ
プ回路へのデータ入力信号の到着がその遅延時間分だけ
遅く到着しても、このフリップフロップ回路は、正しく
データ入力信号を取り込むことができる。したがって、
この遅延機能付フリップフロップ回路を用いた順序回路
は、短い周期の外部クロック信号で動作させることがで
きる。
【0095】以上のように、本発明に係る半導体集積回
路におけるクロック信号配線の自動設計手法によれば、
組合せ論理回路の伝搬遅延時間を考慮したクロック信号
配線を自動的に行うようにすることができるので、クロ
ック信号配線の設計に要する時間を削減することができ
る。
路におけるクロック信号配線の自動設計手法によれば、
組合せ論理回路の伝搬遅延時間を考慮したクロック信号
配線を自動的に行うようにすることができるので、クロ
ック信号配線の設計に要する時間を削減することができ
る。
【図1】本発明の第1実施形態に係る遅延機能付フリッ
プフロップ回路の回路構成をブロックで示す図。
プフロップ回路の回路構成をブロックで示す図。
【図2】図1に示す遅延機能付フリップフロップ回路の
動作を説明するためのフローチャートを示す図。
動作を説明するためのフローチャートを示す図。
【図3】図1に示す遅延機能付フリップフロップ回路の
具体的な回路構成を示す図。
具体的な回路構成を示す図。
【図4】本発明の第1実施形態の変形例を示す図。
【図5】本発明の第2実施形態に係る遅延機能付フリッ
プフロップ回路の回路構成をブロックで示す図。
プフロップ回路の回路構成をブロックで示す図。
【図6】図5に示す遅延機能付フリップフロップ回路の
動作を説明するためのフローチャートを示す図。
動作を説明するためのフローチャートを示す図。
【図7】図5に示す遅延機能付フリップフロップ回路の
具体的な回路構成を示す図。
具体的な回路構成を示す図。
【図8】遅延機能付フリップフロップ回路をライブラリ
として用意して順序回路の設計を行う場合のフローを説
明する図。
として用意して順序回路の設計を行う場合のフローを説
明する図。
【図9】ホールド違反が生ずる様子を説明する図。
【図10】本発明の第4実施形態に係る半導体集積回路
におけるクロック信号配線の自動設計を行うためのアル
ゴリズムを説明するためのフローチャートを示す図。
におけるクロック信号配線の自動設計を行うためのアル
ゴリズムを説明するためのフローチャートを示す図。
【図11】クロック信号の到達時刻設定処理において、
始終点のフリップフロップ回路のクロック信号供給タイ
ミングの変更が可能な場合におけるフリップフロップ回
路とそのクロック信号のタイミングチャートを示す図。
始終点のフリップフロップ回路のクロック信号供給タイ
ミングの変更が可能な場合におけるフリップフロップ回
路とそのクロック信号のタイミングチャートを示す図。
【図12】クロック信号の到達時刻設定処理において、
始点のフリップフロップ回路のみクロック信号供給タイ
ミングの変更が可能な場合におけるフリップフロップ回
路とそのクロック信号のタイミングチャートを示す図。
始点のフリップフロップ回路のみクロック信号供給タイ
ミングの変更が可能な場合におけるフリップフロップ回
路とそのクロック信号のタイミングチャートを示す図。
【図13】クロック信号の到達時刻設定処理において、
終点のフリップフロップ回路のみクロック信号供給タイ
ミングの変更が可能な場合におけるフリップフロップ回
路とそのクロック信号のタイミングチャートを示す図。
終点のフリップフロップ回路のみクロック信号供給タイ
ミングの変更が可能な場合におけるフリップフロップ回
路とそのクロック信号のタイミングチャートを示す図。
【図14】クロック信号の到達時刻設定処理において、
始終点のフリップフロップ回路のクロック信号供給タイ
ミングの変更が不可能な場合におけるフリップフロップ
回路を示す図。
始終点のフリップフロップ回路のクロック信号供給タイ
ミングの変更が不可能な場合におけるフリップフロップ
回路を示す図。
【図15】組合せ論理回路とフリップフロップ回路とか
ら構成された一般的な順序回路を示す図。
ら構成された一般的な順序回路を示す図。
【図16】組合せ論理回路とフリップフロップ回路とか
ら構成された一般的な順序回路におけるフリップフロッ
プ回路へクロック信号を供給するタイミングを示す図。
ら構成された一般的な順序回路におけるフリップフロッ
プ回路へクロック信号を供給するタイミングを示す図。
10 フリップフロップ回路 11 ラッチ回路 20 遅延回路 40 ラッチ回路 42 パルス信号発生回路 DIS データ入力信号 DOS データ出力信号 ECLK 外部クロック信号 ICLK 内部クロック信号 Clock TimeA 現在のサイクルタイム Clock TimeB 以前のサイクルタイム Clock TimeN 新しいサイクルタイム Delta Convg 収束判定の最小遷移値 Clock Arrive Time クロック到達時
刻 Slack スラック値
刻 Slack スラック値
───────────────────────────────────────────────────── フロントページの続き (72)発明者 黒 田 忠 広 神奈川県川崎市幸区堀川町580番1号 株 式会社東芝半導体システム技術センター内 (72)発明者 寺 澤 敏 弘 神奈川県川崎市川崎区駅前本町25番地1 東芝マイクロエレクトロニクス株式会社内 Fターム(参考) 5B046 AA08 BA03 BA06 JA07 KA06 (54)【発明の名称】 遅延機能付フリップフロップ回路、遅延機能付ラッチ回路、順序回路の設計方法、半導体集積回 路におけるクロック信号配線の自動設計装置、及び、半導体集積回路におけるクロック信号配線 の自動設計方法
Claims (5)
- 【請求項1】データ入力信号と内部クロック信号とが入
力され、前記内部クロック信号に同期して前記データ出
力信号の値を保持してデータ出力信号として出力するデ
ータ保持出力回路と、 外部クロック信号が入力され、この入力された外部クロ
ック信号に対して一定の遅延時間を有する内部クロック
信号を出力する、遅延回路と、 を備えたことを特徴とする遅延機能付フリップフロップ
回路。 - 【請求項2】内部クロック信号がハイレベルの間にデー
タ入力信号を取り込んで、データ出力信号として出力
し、前記内部クロック信号がローレベルの間はハイレベ
ルの間に取り込んだ前記データ入力信号を保持して、前
記データ出力信号として出力する、ラッチ回路と、 外部クロック信号が入力され、この入力された外部クロ
ック信号に対して一定の遅延時間を有する前記内部クロ
ック信号を出力する、遅延回路と、 を備えたことを特徴とする遅延機能付ラッチ回路。 - 【請求項3】複数の組合せ論理回路と、これら組合せ論
理回路の間を接続する複数のフリップフロップ回路とを
有する順序回路の設計方法であって、 通常のフリップフロップ回路のライブラリを用いて論理
合成を行う工程と、 前記論理合成に基づいてタイミング解析を行い、所望の
速度のクロック信号で動作させた場合に、前記組合せ論
理回路の出力信号が前記クロック信号に対して遅れる未
達時間を求める工程と、 論理合成時に用いるライブラリを、前記未達時間に相応
する遅延時間を有する遅延回路を内蔵したフリップフロ
ップ回路を加えたライブラリに置き換えて、再び論理合
成を行う工程と、 を備えたことを特徴とする順序回路の設計方法。 - 【請求項4】複数の組合せ論理回路と、これら組合せ論
理回路の間に設けられた複数のフリップフロップ回路と
を、有する、半導体集積回路におけるクロック信号配線
の自動設計装置であって、 クロック信号を所定のサイクルタイムに設定し、すべて
のフリップフロップ回路に対して、そのフリップフロッ
プ回路が始点又は終点となるパスを解析して、フリップ
フロップ回路毎に最悪スラック値を求めるための、パス
解析手段と、 すべてのフリップフロップ回路の中で、最悪スラック値
を有するパスをワーストパスとして求め、前記ワースト
パスを構成するワースト組合せ論理回路からの出力信号
のタイミングが、前記ワーストパスにおけるクロック信
号のタイミングに間に合うかどうかを判断するための、
第1の条件判断手段と、 前記第1の条件判断手段において、前記ワースト組合せ
論理回路からの出力信号のタイミングが、前記ワースト
パスのクロック信号のタイミングに間に合う場合には、
前記クロック信号の前記サイクルタイムをさらに短く設
定するための、サイクルタイム再設定手段と、 前記第1の条件判断手段において、前記ワースト組合せ
論理回路からの出力信号のタイミングが、前記ワースト
パスのクロック信号のタイミングに間に合わない場合に
は、前記ワースト組合せ論理回路の前段のフリップフロ
ップ回路と後段のフリップフロップ回路のうちの少なく
とも一方のフリップフロップ回路におけるクロック信号
の供給タイミングを調整して、前記ワースト組合せ論理
回路からの出力信号が間に合うようにするための、クロ
ック信号の到達時刻設定手段と、 を備えたことを特徴とする半導体集積回路におけるクロ
ック信号配線の自動設計装置。 - 【請求項5】複数の組合せ論理回路と、これら組合せ論
理回路の間に設けられた複数のフリップフロップ回路と
を、有する、半導体集積回路におけるクロック信号配線
の自動設計方法であって、 クロック信号を所定のサイクルタイムに設定し、すべて
のフリップフロップ回路に対して、そのフリップフロッ
プ回路が始点又は終点となるパスを解析して、フリップ
フロップ回路毎に最悪スラック値を求める、パス解析工
程と、 すべてのフリップフロップ回路の中で、最悪スラック値
を有するパスをワーストパスとして求め、前記ワースト
パスを構成するワースト組合せ論理回路からの出力信号
のタイミングが、前記ワーストパスにおけるクロック信
号のタイミングに間に合うかどうかを判断する、第1の
条件判断工程と、 前記第1の条件判断で、前記ワースト組合せ論理回路か
らの出力信号のタイミングが、前記ワーストパスのクロ
ック信号のタイミングに間に合う場合には、前記クロッ
ク信号の前記サイクルタイムをさらに短く設定する、サ
イクルタイム再設定工程と、 前記第1の条件判断で、前記ワースト組合せ論理回路か
らの出力信号のタイミングが、前記ワーストパスのクロ
ック信号のタイミングに間に合わない場合には、前記ワ
ースト組合せ論理回路の前段のフリップフロップ回路と
後段のフリップフロップ回路のうちの少なくとも一方の
フリップフロップ回路におけるクロック信号の供給タイ
ミングを調整して、前記ワースト組合せ論理回路からの
出力信号が間に合うようにする、クロック信号の到達時
刻設定工程と、 を備えたことを特徴とする半導体集積回路におけるクロ
ック信号配線の自動設計方法。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10252953A JP2000082090A (ja) | 1998-09-07 | 1998-09-07 | 遅延機能付フリップフロップ回路、遅延機能付ラッチ回路、順序回路の設計方法、半導体集積回路におけるクロック信号配線の自動設計装置、及び、半導体集積回路におけるクロック信号配線の自動設計方法 |
| TW088115136A TW461103B (en) | 1998-09-07 | 1999-09-02 | Circuit design method, and automatic design method and apparatus of clock signal wiring |
| KR1019990037402A KR20000022911A (ko) | 1998-09-07 | 1999-09-03 | 지연 기능이 부가된 플립플롭 회로 및 클록 신호 배선의자동 설계 장치 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10252953A JP2000082090A (ja) | 1998-09-07 | 1998-09-07 | 遅延機能付フリップフロップ回路、遅延機能付ラッチ回路、順序回路の設計方法、半導体集積回路におけるクロック信号配線の自動設計装置、及び、半導体集積回路におけるクロック信号配線の自動設計方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000082090A true JP2000082090A (ja) | 2000-03-21 |
Family
ID=17244469
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10252953A Pending JP2000082090A (ja) | 1998-09-07 | 1998-09-07 | 遅延機能付フリップフロップ回路、遅延機能付ラッチ回路、順序回路の設計方法、半導体集積回路におけるクロック信号配線の自動設計装置、及び、半導体集積回路におけるクロック信号配線の自動設計方法 |
Country Status (3)
| Country | Link |
|---|---|
| JP (1) | JP2000082090A (ja) |
| KR (1) | KR20000022911A (ja) |
| TW (1) | TW461103B (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100989899B1 (ko) | 2008-11-26 | 2010-10-26 | 한국과학기술원 | 펄스 래치를 사용하는 디지털 순차 회로의 속도 향상 방법 및 장치 |
| CN110956009A (zh) * | 2018-09-25 | 2020-04-03 | 中国科学院微电子研究所 | 一种亚阈值数字电路功耗优化方法及系统 |
| CN114928351A (zh) * | 2021-04-06 | 2022-08-19 | 台湾积体电路制造股份有限公司 | 用于触发器的时序电路布置 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100595534B1 (ko) * | 2005-01-29 | 2006-07-03 | 엘지전자 주식회사 | 지연셀을 추가한 플립-플롭을 이용한 홀드 바이올레이션교정 방법 |
-
1998
- 1998-09-07 JP JP10252953A patent/JP2000082090A/ja active Pending
-
1999
- 1999-09-02 TW TW088115136A patent/TW461103B/zh active
- 1999-09-03 KR KR1019990037402A patent/KR20000022911A/ko not_active Ceased
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100989899B1 (ko) | 2008-11-26 | 2010-10-26 | 한국과학기술원 | 펄스 래치를 사용하는 디지털 순차 회로의 속도 향상 방법 및 장치 |
| CN110956009A (zh) * | 2018-09-25 | 2020-04-03 | 中国科学院微电子研究所 | 一种亚阈值数字电路功耗优化方法及系统 |
| CN114928351A (zh) * | 2021-04-06 | 2022-08-19 | 台湾积体电路制造股份有限公司 | 用于触发器的时序电路布置 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW461103B (en) | 2001-10-21 |
| KR20000022911A (ko) | 2000-04-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7650521B2 (en) | Semiconductor integrated circuit having a first power supply region and a second power supply region in which power supply voltage changes | |
| US6556505B1 (en) | Clock phase adjustment method, and integrated circuit and design method therefor | |
| EP1047220A2 (en) | Adjustable data delay using programmable clock shift | |
| JPWO2000036512A1 (ja) | クロック位相調整方法、及び集積回路とその設計方法 | |
| JP2002289776A (ja) | 半導体装置 | |
| US7929655B2 (en) | Asynchronous multi-clock system | |
| CN117435016A (zh) | 一种复位电路的设计方法 | |
| JP2002524790A (ja) | 同期多相クロック分配システム | |
| US7673267B1 (en) | Method and apparatus for reducing jitter in an integrated circuit | |
| US12055989B2 (en) | Clock delay circuit for chip reset architecture | |
| JP2000082090A (ja) | 遅延機能付フリップフロップ回路、遅延機能付ラッチ回路、順序回路の設計方法、半導体集積回路におけるクロック信号配線の自動設計装置、及び、半導体集積回路におけるクロック信号配線の自動設計方法 | |
| US6412099B1 (en) | Apparatus and method for converting logical connection information of circuit | |
| US11545987B1 (en) | Traversing a variable delay line in a deterministic number of clock cycles | |
| US6150861A (en) | Flip-flop | |
| JP2003043114A (ja) | スキャン用フリップフロップおよびスキャンテスト回路 | |
| JP2000249747A (ja) | 半導体試験装置のタイミング信号発生回路 | |
| CN119576825B (zh) | 一种跨时钟域数据锁存系统与方法 | |
| JP2001257566A (ja) | イネーブル付きラッチ回路 | |
| JPH1115783A (ja) | 同期回路 | |
| JP4342141B2 (ja) | クロック生成回路 | |
| JPH113135A (ja) | クロック遅延量制御方法 | |
| KR101006843B1 (ko) | 출력신호를 안정적으로 생성하는 동기화 회로 | |
| JPH10303874A (ja) | 異クロック間同期エッジ検出方式 | |
| JP2001339376A (ja) | 同期回路 | |
| JP3501059B6 (ja) | 半導体集積回路 |