JP2006310469A - 半導体集積回路装置のレイアウト方法、そのレイアウトシステムおよびそのレイアウトプログラム - Google Patents

半導体集積回路装置のレイアウト方法、そのレイアウトシステムおよびそのレイアウトプログラム Download PDF

Info

Publication number
JP2006310469A
JP2006310469A JP2005129848A JP2005129848A JP2006310469A JP 2006310469 A JP2006310469 A JP 2006310469A JP 2005129848 A JP2005129848 A JP 2005129848A JP 2005129848 A JP2005129848 A JP 2005129848A JP 2006310469 A JP2006310469 A JP 2006310469A
Authority
JP
Japan
Prior art keywords
flip
flop
setup
margin
preset value
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.)
Withdrawn
Application number
JP2005129848A
Other languages
English (en)
Inventor
Shinsuke Takase
伸介 高瀬
Nobuyuki Tsukada
信之 塚田
Kazuyuki Uchida
和幸 内田
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.)
Toshiba Corp
Toshiba Electronic Device Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Microelectronics 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 Toshiba Corp, Toshiba Microelectronics Corp filed Critical Toshiba Corp
Priority to JP2005129848A priority Critical patent/JP2006310469A/ja
Publication of JP2006310469A publication Critical patent/JP2006310469A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 適正なセットアップマージンを有し且つホールドタイム違反の無い半導体集積回路装置のレイアウト方法、そのレイアウトシステムおよびそのレイアウトプログラムを提供する。
【解決手段】 所定の位置に配置され、論理素子を介して互いに接続された第1および第2フリップフロップ間の信号伝播遅延時間を求める第1のステップ(S03)と、前記信号伝播遅延時間が前記第2フリップフロップのセットアップ時間を満たすか否かを判定し(S04)、当該セットアップ時間を満たす場合に、セットアップマージンを求める第2のステップ(S05)と、前記セットアップマージンが予め設定された値以上か否かを判定し(S06)、前記予め設定された値以上の場合に、前記第1フリップフロップを前記所定の位置から前記セットアップマージンが前記予め設定された値になる位置に移動させる第3のステップ(S07)と、を具備する。
【選択図】 図1

Description

本発明は、半導体集積回路装置のレイアウト方法、そのレイアウトシステムおよびそのレイアウトプログラムに係り、特にタイミング調整が容易な半導体集積回路装置のレイアウト方法、そのレイアウトシステムおよびそのレイアウトプログラムに関する。
半導体集積回路装置に搭載される論理モジュールは、その信号パスにフリップフロップ等の順序回路が存在する場合、所望の動作を実現するためには供給されるデータがクロックのどのくらい前からセットアップされるべきかを示すセットアップタイムと、供給されるデータがクロックのどれくらい後まで保持されるべきかを示すホールドタイムとに対して、その両方が満たされる必要がある。
セットアップタイムはデータの確定が早ければ早いほど制約を満たすことができるが、論理素子を配置した後では、データのタイミングを早めることは困難である。
一方、ホールドタイムはデータの終了が遅いほど制約を満たすことができるが、論理素子を配置した後でも、配線経路の途中に遅延素子を挿入することにより,そのタイミングを遅らせることは容易である。
従来、半導体集積回路装置のレイアウト工程において、タイミング解析によりフリップフロップのセットアップタイムの制約を優先的に満たすように論理素子が詰めて配置されていた。
そして、論理素子の配置が全て決定した後に、ホールドタイムの制約を満たさない信号パスに対して、事後的に遅延素子を空きスペースに配置していた。
そのため、例えばセットアップタイムの制約を過剰に満たす信号パスの存在が原因でホールドタイム違反が生じた場合に、その信号パスにホールドタイム違反を解消するのに必要な数の遅延素子を挿入しなければならないので、既に配置が決定し混雑した論理素子の隙間に遅延素子を配置することができなくなる問題がある。
これに対して、半導体集積回路装置のレイアウト工程において、複数のタイミング制約を満足するホールドタイムエラーを修正することができる方法が知られている(例えば、特許文献1参照。)。
この特許文献1に開示されたホールドタイム違反を修正する方法では、複数のタイミング制約を満足するホールドエラー値、具体的には各タイミング制約でのホールドエラー値の最大値を、ホールドエラーパス毎に有するホールドエラーリストと、各セットアップエラーパスにおける複数のタイミング制約を満足するセットアップマージン、具体的には各タイミング制約でのセットアップマージンの最小値を、集積回路のパス上に割り当てたセットアップマージンマップとを生成する。
そして,セットアップマージンマップを参照して,ホールドエラーリストのホールドエラー値を減らす又はなくす遅延素子であって,当該セットアップマージン以下の遅延量及び位置の範囲内の遅延素子を挿入している。
セットアップマージンマップを参照することにより,新たなセットアップエラーを発生させることなく、ホールドエラーを修正する遅延素子の挿入が可能になる。
然しながら、特許文献1に開示されたホールドタイム違反を修正する方法では、上述した既に配置が決定し混雑した論理素子の隙間に多数の遅延素子を配置する場合には対応できなくなるという問題がある。
特開2003−162556号公報(7頁、図6)
本発明は、適正なセットアップマージンを有し且つホールドタイム違反の無い半導体集積回路装置のレイアウト方法、そのレイアウトシステムおよびそのレイアウトプログラムを提供する。
本発明の一態様の半導体集積回路装置のレイアウト方法では、所定の位置に配置され、論理素子を介して互いに接続された第1および第2フリップフロップ間の信号伝播遅延時間を求める第1のステップと、前記信号伝播遅延時間が前記第2フリップフロップのセットアップ時間を満たすか否かを判定し、当該セットアップ時間を満たす場合に、セットアップマージンを求める第2のステップと、前記セットアップマージンが予め設定された値以上か否かを判定し、前記予め設定された値以上の場合に、前記第1フリップフロップを前記所定の位置から前記セットアップマージンが前記予め設定された値になる位置に移動させる第3のステップと、を具備することを特徴としている。
また、本発明の一態様の半導体集積回路装置のレイアウトシステムでは、所定の位置に配置された基点フリップフロップに論理素子を介して接続された終点フリップフロップを探索するバックトレース部と、前記基点および終点フリップフロップ間の信号伝播遅延時間を求め、前記基点フリップフロップのセットアップマージンを算出するタイミング解析部と、前記セットアップマージンが予め設定された値以上か否かを判定し、前記セットアップマージンが前記予め設定された値以上の場合に、前記セットアップマージンが前記予め設定された値になる前記終点フリップフロップの位置を定めるデータ解析部と、前記終点フリップフロップを前記所定の位置から前記定められた位置に移動させるデータ処理部と、を具備することを特徴としている。
更に、本発明の一態様の半導体集積回路装置のレイアウトプログラムでは、所定の位置に配置された基点フリップフロップに論理素子を介して接続された終点フリップフロップを探索する第1の機能と、前記基点および終点フリップフロップ間の信号伝播遅延時間を求め、前記基点フリップフロップのセットアップマージンを算出する第2の機能と、前記セットアップマージンが予め設定された値以上か否かを判定し、前記セットアップマージンが前記予め設定された値以上の場合に、前記セットアップマージンが前記予め設定された値になる前記終点フリップフロップの位置を定める第3の機能と、前記終点フリップフロップを前記所定の位置から前記定められた位置に移動させる第4の機能と、を具備することを特徴としている。
本発明によれば、適正なセットアップマージンを有し且つホールドタイム違反の無い半導体集積回路装置が得られる。
以下、本発明の実施例について図面を参照しながら説明する。
本発明の実施例1に係る半導体集積回路装置のレイアウト方法を、図1乃至図7を用いて説明する。
図1は半導体集積回路装置のレイアウト方法を示すフローチャート、図2はその原理を模式的に示す図、図3は半導体集積回路装置の要部の論理モジュールを示す回路図、図4はその修正前のレイアウトを示す図、図5はその動作を示すタイミングチャート、図6は半導体集積回路装置の要部の論理モジュールの修正後のレイアウトを示す図、図7はその動作を示すタイミングチャートである。
始に、図3乃至図5を用いて半導体集積回路装置の要部の論理モジュールの修正前のレイアウトについて説明する。
図3に示すように、半導体集積回路装置の要部の論理モジュール10の等価回路は、例えば前段の論理モジュールから入力信号をラッチする第1フリップフロップ11と、ラッチした入力信号に所定の論理演算を施す論理素子12、13、例えばインバータと、論理演算結果をラッチして、例えば後段の論理モジュールに出力する第2フリップフロップ14とを有している。
第1フリップフロップ11の入力端21に前段の論理モジュール(図示せず)からデータ信号DATAが供給され、出力端22は配線17を介して論理素子12に接続され、論理素子12は配線18を介して論理素子13に接続され、論理素子13は配線19を介して第2フリップフロップ14の入力端23に接続され、第2フリップフロップ14の出力端24は後段の論理モジュール(図示せず)に接続されている。
また、第1フリップフロップ11のクロック入力端25および第2フリップフロップ14のクロック入力端26にクロック信号CLKが供給されている。
周知のように、第1フリップフロップ11はデータ信号DATAが入力端21に入力されると、クロック信号CLKに同期してデータ信号DATAをラッチし、ラッチしたデータ信号DATAを出力端22に出力する。
出力されたデータ信号DATAは論理素子12、13により所定の論理演算が施され、論理演算結果が第2フリップフロップ14の入力端23に供給される。
第2フリップフロップ14は、クロック信号CLKに同期してデータ信号DATAをラッチし、ラッチしたデータ信号DATAを出力端24から後段の論理モジュールに出力する。
データ信号DATAが第1フリップフロップ11の入力端21から第2フリップフロップ14の入力端23に達するまでの時間が信号伝播遅延時間である。
図4に示すように、論理モジュール10は半導体チップ上に設けられ、第1フリップフロップ11は離間して対向した電源ラインVDD1と接地ラインGND1の間の素子配置領域15の所定の位置に配置されている。
論理素子12、13と第2フリップフロップ14は、離間して対向した接地ラインGND1と電源ラインVDD2の間の素子配置領域16の所定の位置に配置されている。
第1フリップフロップ11は配線17を介して論理素子12に接続され、論理素子12は配線18を介して論理素子13に接続され、論理素子13は配線19を介して第2フリップフロップ14に接続されている。
ここでは、修正前のレイアウトであるため、論理モジュール10の外側の素子配置領域には別の論理モジュールのフリップフロップおよび論理素子等はまだ配置されていない。
図5に示すように、論理モジュール10の修正前のレイアウトでは、第2フリップフロップ14のセットアップタイムTsに対して十分なセットアップマージンaを有しているが、ホールドタイムThに対してはホールドタイム違反bが生じている。
次に、ホールドタイム違反bに対して遅延素子を用いることなく、適正なセットアップマージンを有し且つホールドタイム違反の生じない半導体集積回路装置のレイアウト方法について詳しく説明する。
図1に示すように、始めに半導体集積回路装置の素子の配置情報と、配線経路情報と、タイミング制約情報等からフロアプランにより、図4に示した論理モジュール10の第1フリップフロップ11、論理素子12、13、第2フリップフロップ14が所定の位置に配置される(ステップS01)。
次に、第1フリップフロップ11、論理素子12、13、第2フリップフロップ14に対して仮想の配線17、18、19が施される(ステップS02)。
次に、第1フリップフロップ11の入力端21から第2フリップフロップ14の入力端23までの信号伝播遅延時間がシミュレーションにより算出され(ステップS03)、セットアップタイム違反の有無がチェックされる(ステップS04)。
セットアップタイム違反がある場合(ステップS04のYes)は、ステップS01に戻り、素子の配置や配線長などが詰められて、フロアプランが修正される。
一方、セットアップ時間違反が無い場合(ステップS04のNo)は、第2フリップフロップ14のセットアップマージンを算出する(ステップS05)。
ここで、セットアップマージンはクロック信号CLKの周期から、論理素子12、13による素子遅延時間と配線17、18、19による配線遅延時間と第2フリップフロップ14のセットアップタイムを差し引くことにより算出している。
次に、算出されたセットアップマージンの有無がチェックされる(ステップS06)。即ち、セットアップマージンが予め設定された値(理想的には0)以上のときにセットアップマージンが有りと判断され、予め設定された値以下のときにセットアップマージンが無いと判断される。
ここで、ステップS04でセットアップタイム違反がチェックされているので、セットアップマージンが0以下になる場合は無い。
セットアップマージンがある場合(ステップS06のYes)は、第1フリップフロップ11を所定の位置からセットアップマージンが予め設定された値になる位置に移動する(ステップS07)。
即ち、図2に示すように、第2フリップフロップ14が配置される位置を中心にしてステップS03で算出した信号伝播遅延時間を半径r1とする円c1を描くと、第1フリップフロップ11は円c1の円周上に位置している。
次に、半径r1にステップS05で算出したセットアップマージンに相当する距離Δr1を加算した半径r2の円c2を描くと、第1フリップフロップ11を移動させるべき位置は円c2の円周上に存在している。
従って、図6に示すように、第1フリップフロップ11を円c2の円周に相当する適当な位置、例えば離間して対向した電源ラインVDD2と接地ラインGND2の間の素子配置領域27に移動し、配線28を介して論理素子12に接続する。
これにより、遅延素子を配線経路の途中に挿入することなく、移動された第1フリップフロップ29を有する論理モジュール30が得られる。
次に、ステップS03に戻り、第1フリップフロップ11を移動したことにより、第1フリップフロップ11と論理素子12を接続する配線が配線17から配線28へと長くなり、配線遅延時間が増加して信号伝播遅延時間が長くなるので、セットアップタイム違反およびセットアップマージンが再度チェックされる。
一方、セットアップマージンがない場合(ステップS06のNo)は、ホールドタイム違反の有無がチェックされる(ステップS08)。
ホールドタイム違反がない場合(ステップS08のNo)に、第1フリップフロップ11の移動が適正であることを示しているので、論理モジュール30の第1フリップフロップ11の配置を決定しレイアウトを終了する。
一方、ホールド時間違反がある場合(ステップS08のYes)に、セットアップマージンがないように第1フリップフロップ11を移動してもホールドタイム違反を解消できる条件がないことを示している。
その場合には、配線経路の途中に遅延素子を挿入し(ステップS09)して、新たな配線を施す必要がある(ステップS10)。
次に、ステップS08に戻ってホールドタイム違反の有無を再度チェックし、ホールドタイム違反が解消されたことを確認してレイアウトが終了する。
これにより、図7に示すように、予め設定されたセットアップマージンcが得られ且つホールドタイムd違反が解消される。
従って、遅延素子を配線経路の途中に挿入することなく、適正なセットアップマージンを有し且つホールドタイム違反のない半導体集積回路装置の論理モジュールのレイアウトを行なうことが可能である。
以上説明したように、本実施例によれば、第1フリップフロップ11を最初のフロアプランで定めた所定の位置からセットアップマージンが予め定めた値になる位置に移動するようにしたので、配線経路の途中に遅延素子を挿入してホールドタイム違反を解消する作業が最小限に抑制され、半導体集積回路装置のレイアウト設計時間を短縮することができる。
その結果、適正なセットアップマージンを有し且つホールドタイム違反のない論理モジュールを有する半導体集積回路装置が得られる。
ここでは、論理モジュールが入力側に1個のフリップフロップを有する場合について説明したが、入力側に複数のフリップフロップを有していても構わない。
本実施例のレイアウト方法は入力側に複数のフリップフロップがある場合にも、独立してそれぞれのフリップフロップに適用することができるからである。
本発明の実施例2に係る半導体集積回路装置のレイアウト方法を、図8乃至図11を用いて説明する。
図8は半導体集積回路装置の要部の論理モジュールを示す回路図、図9はその修正前のレイアウトを示す図、図10はそのレイアウト方法の原理を模式的に示す図、図11はその修正後のレイアウトを示す図である。
本実施例において、上記実施例1と同一の構成部分には同一符号を付してその説明は省略し、異なる部分についてのみ説明する。
本実施例が実施例1と異なる点は、集積回路装置の要部の論理モジュールが出力側に2個のフリップフロップを有することにある。
即ち、図8に示すように、本実施例の半導体集積回路装置の要部の論理モジュール40の等価回路は、論理素子12の出力信号に所定の論理演算を施す論理素子41、例えばインバータと、論理演算結果をラッチして後段の論理モジュールに出力する第3フリップフロップ42とを有している。
論理素子41は配線18の途中から分岐した配線43を介して論理素子12に接続され、且つ配線44により第3フリップフロップ42の入力端45に接続されている。
第3フリップフロップ42の出力端46は後段の論理モジュール(図示せず)に接続されている。
また、第3フリップフロップ42のクロック入力端47にクロック信号CLKが供給されている。
データ信号DATAが第1フリップフロップ11の入力端21から第2フリップフロップ14の入力端23に達するまでの時間が第1信号伝播遅延時間であり、第3フリップフロップ42の入力端45に達するまでの時間が第2信号伝播遅延時間である。
図9に示すように、論理素子41と第3フリップフロップ42は、離間して対向した電源ラインVDD2と接地ラインGND2の間の素子配置領域27の所定の位置に配置されている。
論理素子41は配線18の途中から分岐した配線43で論理素子12に接続され、且つ配線44を介して第3フリップフロップ42に接続されている。
ここでは、修正前のレイアウトであるため、論理モジュール40の外側の素子配置領域には別の論理モジュールのフリップフロップおよび論理素子等はまだ配置されていない。
図1に示すフローチャートに従い、第1フリップフロップ11の入力端21から第2フリップフロップ14の入力端23までの第1信号伝播遅延時間、および第3フリップフロップ42の入力端45までの第2信号伝播遅延時間がシミュレーションにより算出され(ステップS03)、セットアップタイム違反の有無がチェックされる(ステップS04)。
セットアップ時間違反が無い場合(ステップS04のNo)は、第2フリップフロップ14の第1セットアップマージン、および第3フリップフロップ42の第2セットアップマージンを算出する(ステップS05)。
次に、算出された第1および第2セットアップマージンの有無がチェックされる(ステップS06)。
第1および第2セットアップマージンがともにある場合(ステップS06のYes)は、第1フリップフロップ11を所定の位置から第1および第2セットアップマージンが予め設定された値になる位置に移動させる(ステップS07)。
即ち、図10に示すように、第1フリップフロップ11は第2フリップフロップ14が配置される位置を中心にして第1信号伝播遅延時間を半径r1とする円c1と、第3フリップフロップ42が配置される位置を中心にして第2信号伝播遅延時間を半径r3とする円c3との交点P1または交点P2に位置していることになるので、ここでは交点P1に位置しているとする。
次に、半径r3に第2セットアップマージンに相当する距離Δr2を加算した半径r4の円c4を描くと、第1フリップフロップ11を移動させるべき位置は円c2と円c4の交点P3または交点P4のいずれかになるので、ここでは交点P3に移動させる。
従って、図11に示すように、第1フリップフロップ11を交点P3に相当する適当な位置、例えば離間して対向した電源ラインVDD2と接地ラインGND2の間の素子配置領域27に移動し、配線52を介して論理素子12に接続する。
これにより、遅延素子を配線経路の途中に挿入することなく、移動された第1フリップフロップ51を有する論理モジュール53が得られる。
従って、遅延素子を配線経路の途中に挿入することなく、適正なセットアップマージンを有し且つホールドタイム違反のない半導体集積回路装置をレイアウトすることが可能である。
なお、論理モジュール40の修正前のレイアウトおよび修正後のレイアウトの動作を示すタイミングチャートは実施例1と同様であり、その説明は省略する。
以上説明したように、本実施例によれば、出力側に2個のフリップフロップを備え、適正なセットアップマージンを有し且つホールドタイム違反のない論理モジュールを具備した半導体集積回路装置が得られる。
本発明の実施例3に係る半導体集積回路装置のレイアウト方法を、図12および図13を用いて説明する。
図12は半導体集積回路装置の要部の論理モジュールを示す回路図、図13はそのレイアウト方法の原理を模式的に示す図である。
本実施例において、上記実施例1と同一の構成部分には同一符号を付してその説明は省略し、異なる部分についてのみ説明する。
本実施例が実施例1と異なる点は、集積回路装置の要部の論理モジュールが出力側にm−1(m≧4)個のフリップフロップを有することにある。
即ち、図12に示すように、本実施例の半導体集積回路装置の要部の論理モジュール60は、論理素子12の出力信号に所定の論理演算を施す(m−1)個の論理素子、例えばインバータと、論理演算結果をラッチして後段の論理モジュールに出力する(m−1)個のフリップフロップとを有し、論理素子13が第2フリップフロップ14に接続され、論理素子41が第3フリップフロップ42に接続され、論理素子61が第mフリップフロップ62に接続されている。
論理素子61は配線18の途中から分岐した配線63を介して論理素子12に接続され、且つ配線64により第mフリップフロップ62の入力端65に接続されている。
第mフリップフロップ62は、出力端66が後段の論理モジュール(図示せず)に接続され、クロック入力端67にクロック信号CLKが供給されている。
データ信号DATAが第1フリップフロップ11の入力端21から第mフリップフロップ62の入力端65に達するまでの時間が第(m−1)信号伝播遅延時間である。
図1に示すフローチャートに従い、第1信号伝播遅延時間から第(m−1)信号伝播遅延時間がシミュレーションにより算出され(ステップS03)、セットアップタイム違反の有無がチェックされる(ステップS04)。
セットアップ時間違反が無い場合(ステップS04のNo)は、第1セットアップマージンから第(m−1)セットアップマージンを算出する(ステップS05)。
次に、算出された第1乃至第(m−1)セットアップマージンの有無がチェックされる(ステップS06)。
次に、第1乃至第(m−1)セットアップマージンがともにある場合(ステップS06のYes)は、第2乃至第mフリップフロップからセットアップマージンが小さい順に2個のフリップフロップを選択し、第1フリップフロップ11を所定の位置から選択された2個のフリップフロップのセットアップマージンが予め設定された値になる位置に移動させる(ステップS07)。
即ち、図13に示すように、例えばm=4の場合は、第1フリップフロップ11は第2フリップフロップ14が配置される位置を中心にして第1信号伝播遅延時間を半径r1とする円c1と、第3フリップフロップ42が配置される位置を中心にして第2信号伝播遅延時間を半径r3とする円c3と、第4フリップフロップ62が配置される位置を中心にして第3信号伝播遅延時間を半径r5とする円c5との交点P5に位置していることになる。
次に、第1乃至第3セットアップマージンの大小関係は、Δr1>Δr3>Δr2の場合に、セットアップマージンが小さい順に第3フリップフロップ42および第4フリップフロップ62が選択される。
次に、半径r5に第3セットアップマージンに相当する距離Δr3を加算した半径r6の円c6を描くと、第1フリップフロップ11を移動させるべき位置は円c4と円c6の交点P6または交点P7のいずれかになる。
交点P7は円c2の外側にあるので、第1フリップフロップ11を交点P7に移動した場合は第2フリップフロップ14にセットアップタイム違反が生じる。
従って、第1フリップフロップ11を移動させるべき位置として交点P6が選択され、交点P6に移動された第1フリップフロップ71が配置される。
これにより、第2および第3セットアップマージンが予め定めた値を有し、且つホールドタイム違反のない論理モジュール60を得ることが可能である。
以上説明したように、本実施例によれば、出力側に(m−1)個のフリップフロップを備え、適正なセットアップマージンを有し且つホールドタイム違反のない論理モジュールを具備した半導体集積回路装置が得られる。
ここで、第2、第3、…、第mフリップフロップは、順番に並んでいる必要はなく、任意の場所に配置されていても構わない。
本発明の実施4に係る半導体集積回路装置のレイアウトシステムについて、図14乃至図17を用いて説明する。図14はレイアウトシステムの構成を示すブロック図、図15はその動作を示すフローチャート、図16はバックトレースを模式的に示す図、図17はバックトレース結果を示す図である。
本実施例の半導体集積回路装置のレイアウトシステムは、第1乃至第3の実施例で示した半導体集積回路装置のレイアウトを実現するためものである。
図14に示すように、本実施例の半導体集積回路装置のレイアウトシステム80は、半導体集積回路装置の論理設計データを格納した論理設計データ記憶部81と、基点となる出力側のフリップフロップ(以下、基点フリップフロップという)および終点となる入力側のフリップフロップ(以下、終点フリップフロップという)間のタイミングを解析してセットアップマージンを求め、終点フリップフロップの移動量を算出するプログラムなどを格納したプログラム格納部82と、基点および終点フリップフロップの識別名、配置情報、セットアップマージンなどの情報を格納する配置配線情報記憶部83と、終点フリップフロップの移動情報などを格納する移動情報記憶部84と、一連のレイアウト処理を実行するための手段を備えた処理制御部85とで構成されている。
更に、入出力制御部86を介して処理結果を出力する出力装置87と、処理制御部85への指示等を入力する入力装置88とで構成されている。
論理設計データ記憶部81、プログラム格納部82、配置配線情報記憶部83、移動情報記憶部84は、一部はコンピュータ内部の主記憶装置で構成しても良いし、このコンピュータに接続された半導体メモリー、磁気ディスク、磁気テープ、光ディスクなどの記憶装置で構成しても構わない。
また、処理制御部85は、コンピュータシステムの中央演算処理装置の一部を構成しており、集中処理方式または分散処理方式のコンピュータシステムで実行される。
論理設計データ記憶部81から論理素子を半導体チップ上のどこに配置するかを示す論理素子配置情報と、この論理素子がチップ上のどの領域を通って接続されるかを示す配線経路情報と、論理素子間の同期を取るためのタイミング制約情報からなる修正前のレイアウトデータが処理制御部85に入力される。
処理制御部85は、論理モジュールの所定の位置に配置された出力側フリップフロップおよび入力側フリップフロップをそれぞれ基点および終点として、基点フリップフロップの入力端に論理素子を介して接続された終点フリップフロップを探索するバックトレース部91を有している。
更に、探索された終点フリップフロップと基点フリップフロップ間の信号伝播遅延時間を求め、基点フリップフロップのセットアップマージンを算出するタイミング解析部92と、セットアップマージンが予め設定された値以上か否かを判定し、セットアップマージンが予め設定された値以上の場合に、セットアップマージンが予め設定された値になる終点フリップフロップの位置を探索するデータ解析部93と、終点フリップフロップを予め定められた位置からセットアップマージンが予め設定された値になる位置に移動させるデータ処理部94と有している。
これらのバックトレース部91、タイミング解析部92、データ解析部93、データ処理部94は、ソフトウェアとしてプログラム格納部82に予め格納されており、その手順に従ってコンピュータシステムの中央演算処理装置にて実行されるが、専用のハードウェーアで実行されるものでも構わない。
図15に示すように、処理制御部85は修正前のレイアウトデータを受け取ると、始めに論理モジュール内の基点フリップフロップに対して、バックトレースの有無をチェックし(ステップS21)、バックトレースがされていない場合に(ステップS21のYes)、基点フリップフロップの入力端から配線をバックトレースして終点フリップフロップを探索する(ステップS22)。
終点フリップフロップが見つかれば(ステップS23のYes)、終点フリップフロップと基点フリップフロップ間の信号伝播遅延時間を算出し(ステップS24)、セットアップマージンを算出する(ステップS25)。
次に、セットアップマージンが予め定めた値以上の場合に(ステップS26のYes)、基点および終点のフリップフロッフの識別名、それぞれの位置情報、セットアップマージンデータを配置配線情報記憶部83に記憶する。
一方、セットアップマージンが予め定めた値以下の場合に(ステップS26のNo)、基点および終点のフリップフロッフの識別名、それぞれの位置情報、セットアップマージンデータは配置配線情報記憶部83の別の領域に記憶される。
次に、論理モジュール内の全ての基点フリップフロップに対してバックトレースが終了すると(ステップS26のYes)、終点フリップフロップの識別名で配置配線情報記憶部83に記憶されている基点および終点のフリップフロッフの識別名、それぞれの位置情報、セットアップマージンデータをソートする(ステップS27)。
ソート結果は、例えば図16に示すようなフォーマットで終点フリップフロップ識別名および配置情報、基点フリップフロップ識別名および配置情報、セットアップマージンの順に出力される。
ソート結果より、図17(a)に示すように、AAA/BBB/A終点フリップフロップが2個のCCC/DDD/XおよびCCC/DDD/Y基点フリップフロップに共通接続されていることが分かる。
更に、図17(b)に示すように、2個のAAA/BBB/DおよびAAA/BBB/E終点フリップフロップがEEE/FFF/B基点フリップフロップに共通接続されていることが分かる。
また、図17(c)に示すように、BBB/CCC/F終点フリップフロップがGGG/HHH/C基点フリップフロップに対して接続されていることが分かる。
次に、各終点フリップフロップに対して、セットアップマージンが予め設定された値になる移動量が算出され(ステップS28)、各終点フリップフロップが再配置される(ステップS28)。
以上説明したように、本実施例によれば、適正なセットアップマージンを有し且つホールドタイム違反のない論理モジュールを有する半導体集積回路装置のレイアウトを容易に短時間で実行することができる。
本発明の実施例1に係る半導体集積回路装置のレイアウト方法を示すフローチャート。 本発明の実施例1に係るレイアウト方法の原理を模式的に示す図。 本発明の実施例1に係る半導体集積回路装置の要部の論理モジュールを示す回路図。 本発明の実施例1に係る論理モジュールの修正前のレイアウトを示す図。 本発明の実施例1に係る論理モジュールの修正前のレイアウトの動作を示すタイミングチャート。 本発明の実施例1に係る論理モジュールの修正後のレイアウトを示す図。 本発明の実施例1に係る論理モジュールの修正後のレイアウトの動作を示すタイミングチャート。 本発明の実施例2に係る半導体集積回路装置の要部の論理モジュールを示す回路図。 本発明の実施例2に係る論理モジュールの修正前のレイアウトを示す図。 本発明の実施例2に係るレイアウト方法の原理を模式的に示す図。 本発明の実施例2に係る論理モジュールの修正後のレイアウトを示す図。 本発明の実施例3に係る半導体集積回路装置の要部の論理モジュールを示す回路図。 本発明の実施例3に係るレイアウト方法の原理を模式的に示す図。 本発明の実施例4に係る半導体集積回路装置のレイアウトシステムを示すブロック図。 本発明の実施例4に係るバックトレース方法を示すフローチャート。 本発明の実施例4に係るバックトレースのソート結果を示す図。 本発明の実施例4に係るバックトレースされたフリップフロップを示す図。
符号の説明
10、30、40、53、60 論理モジュール
11 第1フリップフロップ
12、13、41、61 論理素子
14 第2フリップフロップ
15、16、27 素子配置領域
17、18、19、28、43、44、52、63、64 配線
21、23、45、65 データ入力端
22、24、46、66 データ出力端
25、26、47、67 クロック入力端
42 第3フリップフロップ
29、51、71 移動された第1フリップフロップ
62 第mフリップフロップ
80 レイアウトシステム
81 論理設計データ記憶部
82 プログラム格納部
83 配置配線情報記憶部
84 移動情報記憶部
85 処理制御部
86 入出力制御部
87 出力装置
88 入力装置

Claims (5)

  1. 所定の位置に配置され、論理素子を介して互いに接続された第1および第2フリップフロップ間の信号伝播遅延時間を求める第1のステップと、
    前記信号伝播遅延時間が前記第2フリップフロップのセットアップ時間を満たすか否かを判定し、当該セットアップ時間を満たす場合に、セットアップマージンを求める第2のステップと、
    前記セットアップマージンが予め設定された値以上か否かを判定し、前記予め設定された値以上の場合に、前記第1フリップフロップを前記所定の位置から前記セットアップマージンが前記予め設定された値になる位置に移動させる第3のステップと、
    を具備することを特徴とする半導体集積回路装置のレイアウト方法。
  2. 所定の位置に配置され、論理素子を介して互いに接続された第1および第2フリップフロップ間の第1信号伝播遅延時間と、論理素子を介して互いに接続された前記第1および第3フリップフロップ間の第2信号伝播遅延時間とを求める第1のステップと、
    前記第1信号伝播遅延時間が前記第2フリップフロップのセットアップ時間を満たすか否かを判定し、当該セットアップ時間を満たす場合に、第1セットアップマージンを求め、前記第2信号伝播遅延時間が前記第3フリップフロップのセットアップ時間を満たすか否かを判定し、当該セットアップ時間を満たす場合に、第2セットアップマージンを求める第2のステップと、
    前記第1および第2セットアップマージンが予め設定された値以上か否かを判定し、前記第1および第2セットアップマージンが前記予め設定された値以上の場合に、前記第1フリップフロップを前記所定の位置から前記第1および第2セットアップマージンがともに前記予め設定された値になる位置に移動させる第3のステップと、
    を具備することを特徴とする半導体集積回路装置のレイアウト方法。
  3. 所定の位置に配置され、論理素子を介して互いに接続された第1および第2フリップフロップ間の第1信号伝播遅延時間と、論理素子を介して互いに接続された前記第1および第3フリップフロップ間の第2信号伝播遅延時間と、論理素子を介して互いに接続された前記第1および第m(m≧4)番目のフリップフロップ間の第(m−1)信号伝播遅延時間までとを求める第1のステップと、
    前記第1信号伝播遅延時間が前記第2フリップフロップのセットアップ時間を満たすか否かを判定し、当該セットアップ時間を満たす場合に、第1セットアップマージンを求め、前記第2信号伝播遅延時間が前記第3フリップフロップのセットアップ時間を満たすか否かを判定し、当該セットアップ時間を満たす場合に、第2セットアップマージンを求め、前記第(m−1)信号伝播遅延時間が前記第mフリップフロップのセットアップ時間を満たすか否かを判定し、当該セットアップ時間を満たす場合に、第(m−1)セットアップマージンを求める第2のステップと、
    前記第2乃至第mフリップフロップから、最小のセットアップマージンを有するフリップフロップとその次に小さいセットアップマージンを有するフリップフロップを選択する第3のステップと、
    前記第1フリップフロップを前記所定の位置から前記選択されたフリップフロップが有するセットアップマージンが前記予め設定された値になる位置に移動させる第4のステップと、
    を具備することを特徴とする半導体集積回路装置のレイアウト方法。
  4. 所定の位置に配置された基点フリップフロップに論理素子を介して接続された終点フリップフロップを探索するバックトレース部と、
    前記基点および終点フリップフロップ間の信号伝播遅延時間を求め、前記基点フリップフロップのセットアップマージンを算出するタイミング解析部と、
    前記セットアップマージンが予め設定された値以上か否かを判定し、前記セットアップマージンが前記予め設定された値以上の場合に、前記セットアップマージンが前記予め設定された値になる前記終点フリップフロップの位置を定めるデータ解析部と、
    前記終点フリップフロップを前記所定の位置から前記定められた位置に移動させるデータ処理部と、
    を具備することを特徴とする半導体集積回路装置のレイアウトシステム。
  5. 所定の位置に配置された基点フリップフロップに論理素子を介して接続された終点フリップフロップを探索する第1の機能と、
    前記基点および終点フリップフロップ間の信号伝播遅延時間を求め、前記基点フリップフロップのセットアップマージンを算出する第2の機能と、
    前記セットアップマージンが予め設定された値以上か否かを判定し、前記セットアップマージンが前記予め設定された値以上の場合に、前記セットアップマージンが前記予め設定された値になる前記終点フリップフロップの位置を定める第3の機能と、
    前記終点フリップフロップを前記所定の位置から前記定められた位置に移動させる第4の機能と、
    を具備することを特徴とする半導体集積回路装置のレイアウトプログラム。
JP2005129848A 2005-04-27 2005-04-27 半導体集積回路装置のレイアウト方法、そのレイアウトシステムおよびそのレイアウトプログラム Withdrawn JP2006310469A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005129848A JP2006310469A (ja) 2005-04-27 2005-04-27 半導体集積回路装置のレイアウト方法、そのレイアウトシステムおよびそのレイアウトプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005129848A JP2006310469A (ja) 2005-04-27 2005-04-27 半導体集積回路装置のレイアウト方法、そのレイアウトシステムおよびそのレイアウトプログラム

Publications (1)

Publication Number Publication Date
JP2006310469A true JP2006310469A (ja) 2006-11-09

Family

ID=37477038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005129848A Withdrawn JP2006310469A (ja) 2005-04-27 2005-04-27 半導体集積回路装置のレイアウト方法、そのレイアウトシステムおよびそのレイアウトプログラム

Country Status (1)

Country Link
JP (1) JP2006310469A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217642A (ja) * 2007-03-07 2008-09-18 Fujitsu Ltd 半導体集積回路のレイアウト設計方法およびレイアウト設計用プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217642A (ja) * 2007-03-07 2008-09-18 Fujitsu Ltd 半導体集積回路のレイアウト設計方法およびレイアウト設計用プログラム

Similar Documents

Publication Publication Date Title
US7243315B2 (en) Methods for producing structured application-specific integrated circuits that are equivalent to field-programmable gate arrays
US8860458B2 (en) Integrated circuits with logic regions having input and output bypass paths for accessing registers
US7644382B2 (en) Command-language-based functional engineering change order (ECO) implementation
US7886245B2 (en) Structure for optimizing the signal time behavior of an electronic circuit design
US8701064B2 (en) Timing error removing method and design support apparatus
US8719746B1 (en) Reduction of metal fill insertion time in integrated circuit design process
US7930668B1 (en) Placement and routing using inhibited overlap of expanded areas
US6539509B1 (en) Clock skew insensitive scan chain reordering
US8930870B2 (en) Optimized buffer placement based on timing and capacitance assertions
EP3239865A1 (en) Method for analyzing ir drop and electromigration of ic
JP5148434B2 (ja) ホールドタイムエラーの収束方法、収束装置、及び収束プログラム
US8316334B2 (en) Segment and bipartite graph based apparatus and method to address hold violations in static timing
JP2008305132A (ja) 半導体集積回路の設計方法及び設計支援装置
JP2007142094A (ja) フリップフロップ機能素子、半導体集積回路、半導体集積回路設計方法及び半導体集積回路設計装置
US7886256B1 (en) Timing analysis of a mapped logic design using physical delays
JP2006310469A (ja) 半導体集積回路装置のレイアウト方法、そのレイアウトシステムおよびそのレイアウトプログラム
JPWO2006025412A1 (ja) 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置
CN104981806A (zh) 自动时钟树综合例外生成
US7149993B1 (en) Method, system, and apparatus for incremental design in programmable logic devices using floorplanning
JP5696407B2 (ja) 半導体集積回路の自動配置配線方法、レイアウト装置、自動配置配線プログラム、及び半導体集積回路
WO2000075815A1 (en) An arrangement and a method relating to design of circuits
JP2008226069A (ja) 論理回路、半導体設計支援装置および半導体設計支援方法
JP2000150659A (ja) 半導体集積回路装置のレイアウト設計方法
JP5245861B2 (ja) 半導体集積回路の設計装置、その設計方法、プログラム及び記録媒体
JP6589533B2 (ja) 半導体装置のレイアウト設計方法およびレイアウト設計装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080701