(57)【特許請求の範囲】
【請求項１】
計算機上に論理回路と等価な論理回路モデルとして回路接続データを構築し、前記回路接続データを基にレイアウトデータを持つ標準セルを該標準セル間の配線の総和が最小になるように自動配置・配線することにより、前記論理回路の機能を実現する論理回路レイアウトデータを作成する論理回路レイアウトデータ作成装置において、論理合成等により得た前記標準セルの回路接続データを格納する回路接続データ格納部と、前記回路接続データに基づき自動配置・配線を行う自動配置・配線部と、前記自動配置・配線部による自動配置・配線結果から得られた配線情報に基づき自動配置・配線の対象となる同期回路ブロック中の最も後段のフリップフロップから順に選択し、選択されたフリップフロップのクロック入力端子にクロック信号を供給するクロックドライバとクロック信号線との遅延情報ｔｃ１、前記フリップフロップの前段のフリップフロップの端子間遅延情報ｔｐｄ、前記前段のフリップフロップのクロック入力端子にクロック信号を供給するクロックドライバとクロック信号線との遅延情報ｔｃ０、および前記両フリップフロップ間の組合せ回路の遅延情報ｔ１を抽出する遅延情報抽出部と、前記遅延情報抽出部において前記後段から順に遅延情報を抽出する度に、前記遅延情報抽出部で抽出した各遅延情報を用いて所定の条件を基にホールド・タイミング違反が発生するかしないかを判断するタイミング違反判断部と、前記タイミング違反判断部において前記条件を満たさない場合、前記前段のフリップフロップのクロック入力端子に供給するクロック信号の遅延量を増加させる遅延調節部とを備えたことを特徴とする論理回路レイアウトデータ作成装置。
【請求項２】
前記遅延調節部は、遅延素子としてディレイバッファを前記フリップフロップのクロック信号線に挿入することを特徴とする請求項１記載の論理回路レイアウトデータ作成装置。
【請求項３】
前記遅延調節部は、遅延が必要な個所のクロック信号線を長くし、あるいは太くすることで、配線容量を増加させると共に、前記各クロック信号線にそれぞれバッファを挿入した構成にすることを特徴とする請求項１記載の論理回路レイアウトデータ作成装置。
【請求項４】
前記所定の条件は、前記前段のフリップフロップの端子間遅延情報ｔｐｄおよび前記組合せ回路の遅延情報ｔ１の和と、前記後段のフリップフロップのホールドタイムｔｈとの差が、前記前段および後段のフリップフロップへそれぞれ供給されるクロック信号間の入力タイミング差以上とする条件であることを特徴とする請求項１から請求項３のうちのいずれか１項記載の論理回路レイアウトデータ作成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、標準セルを配置・配線することによりディジタル論理回路のレイアウトデータを作成する論理回路レイアウトデータ作成装置に関し、特に同期回路（順序回路）についてのレイアウトデータを作成する論理回路レイアウトデータ作成装置に関するものである。
【０００２】
【従来の技術】
論理回路レイアウトデータ作成装置では、標準セルを配置・配線することにより論理回路のレイアウトデータを作成する。従来の論理回路レイアウトデータ作成装置を用いてフリップフロップにより構成される高速動作可能な同期回路を得る方法としては、フリップフロップ間の組み合わせ回路の最大遅延量をより小さくし、これによりクロック周期を小さくする手法が採用され、これにより同期回路の高速動作を実現することが可能である。この場合、前記フリップフロップ間の組み合わせ回路における遅延時間のバラツキは、前記同期回路の動作速度の上限を決定することになるため、特開平３−８４９５１号公報などに開示されているように前記組み合わせ回路における遅延時間のバラツキを制限値以下に抑制する手段が用いられる。
【０００３】
また、このような手段は前記フリップフロップ間の組み合わせ回路における遅延時間のバラツキを抑制するだけでなく、前記各フリップフロップへ供給されるクロック信号間の遅延時間のバラツキを抑制し、前記バラツキを所望の値以下にすることもできる。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような従来の論理回路レイアウトデータ作成装置として特開平３−８４９５１号公報などに開示されている手法は、予め用意した遅延用マイクロセルにより単に遅延量のバラツキを最小にするものであり、前記同期回路のクロック信号線あるいは前記組み合わせ回路のいずれに用いられたとしても前記同期回路の特性である各フリップフロップへ供給されるクロック信号のタイミングと１つのフリップフロップから次のフリップフロップへ伝えられる信号の入力タイミングとの関係から決定される各フリップフロップにおけるホールドタイミングエラーの発生については考慮しておらず、このため前記組み合わせ回路の最小遅延量が後段のフリップフロップのホールド時間より小さいとホールドタイミングエラーが発生してしまうことになり、前記組み合わせ回路の最小遅延量を大きくするための遅延用マイクロセルの挿入による速度低下やレイアウトの増大を招く人手修正が必要となる場合が生ずるなどの課題があった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、同期回路の各フリップフロップへクロック信号を供給するクロックドライバの遅延を所定の条件の下で制御することにより、前記組み合わせ回路に対する遅延用マイクロセルの挿入やフリップフロップ間の組み合わせ回路の構成変更をすることなく、最小限のレイアウトパターンの変更で前記同期回路のホールドタイミングエラーを回避でき、また前記同期回路のホールドタイミングエラーを回避するための人手による前記レイアウトパターンの変更などの修正作業を不要にする論理回路レイアウトデータ作成装置を得ることを目的とする。
【０００６】
【課題を解決するための手段】
請求項１記載の発明に係る論理回路レイアウトデータ作成装置は、同期回路ブロック中の最も後段のフリップフロップから順に、フリップフロップのクロック入力端子にクロック信号を供給するクロックドライバとクロック信号線との遅延情報、前記フリップフロップの前段のフリップフロップの端子間遅延情報、前記前段のフリップフロップのクロック入力端子にクロック信号を供給するクロックドライバとクロック信号線との遅延情報、および前記両フリップフロップ間の組合せ回路の遅延情報を抽出する遅延情報抽出部と、前記遅延情報抽出部において前記後段から順に遅延情報を抽出する度に、抽出した前記各遅延情報を用いて所定の条件を基にホールド・タイミング違反が発生するかしないかを判断するタイミング違反判断部と、前記タイミング違反判断部において前記条件を満足しない場合、前記前段のフリップフロップのクロック入力端子に供給するクロック信号の遅延量を増加させる遅延調節部とを備えたものである。
【０００７】
請求項２記載の発明に係る論理回路レイアウトデータ作成装置は、同期回路ブロック中の最も後段のフリップフロップから、フリップフロップの端子間遅延情報と前記各フリップフロップのクロック入力端子にクロック信号を供給するクロックドライバとクロック信号線との遅延情報、および前記両フリップフロップ間の組合せ回路の遅延情報を用いてホールド・タイミング違反が発生しない所定の条件が満足されていない場合、前記前段のフリップフロップのクロック入力端子に遅延素子としてディレイバッファを挿入する遅延調節部を備えたものである。
【０００８】
請求項３記載の発明に係る論理回路レイアウトデータ作成装置は、同期回路ブロック中の最も後段のフリップフロップから、そのフリップフロップの前段のフリップフロップの端子間遅延情報と前記両フリップフロップのクロック入力端子にクロック信号を供給するクロックドライバとクロック信号線との遅延情報、および前記両フリップフロップ間の組合せ回路の遅延情報による判定で、ホールド・タイミング違反が発生しない所定の条件が満足されていない場合、遅延が必要な個所のクロック信号線を長くし、あるいは太くすることで、配線容量を増加させると共に、前記各クロック信号線にそれぞれバッファを挿入する遅延調節部を備えたものである。
【０００９】
請求項４記載の発明に係る論理回路レイアウトデータ作成装置は、同期回路ブロック中の前段のフリップフロップの端子間遅延情報および前記前段のフリップフロップと後段のフリップフロップ間の組合せ回路の遅延情報の和と、前記後段のフリップフロップのホールドタイムとの差が、前記前段および後段のフリップフロップへそれぞれ供給されるクロック信号間の入力タイミング差以上とする条件を満足していない場合に、前記前段のフリップフロップのクロック信号線におけるクロック信号の遅延量を増加させる遅延調節部を備えたものである。
【００１０】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１は、この実施の形態の論理回路レイアウトデータ作成装置の構成を示すブロック図である。図において、１は論理合成等により得た標準セルの回路接続データを格納する回路接続データ格納部、２は前記回路接続データに基づき自動配置・配線を行う自動配置・配線部である。
【００１１】
３は前記自動配置・配線部２で行った自動配置・配線による配線情報に基づき自動配置・配線の対象となる同期回路ブロック中の最も後段（出力段）のフリップフロップシンボルから順に選択を行い、選択されたフリップフロップシンボルの端子間遅延情報とそのフリップフロップシンボルのクロック入力端子にクロック信号を供給するクロックドライバ素子シンボルとクロック信号線の遅延情報ｔｃ１、その前段のフリップフロップシンボルの端子間遅延情報ｔｐｄとそのフリップフロップシンボルのクロック入力端子にクロック信号を供給するクロックドライバ素子シンボルとクロック信号線との遅延情報ｔｃ０，および２つのフリップフロップシンボル間の組合せ回路の遅延情報ｔ１を抽出する遅延情報抽出部である。
【００１２】
４は前記遅延情報抽出部３で抽出した各遅延情報に基づき、ホールド・タイミング違反が発生するか否かを判断するタイミング違反判断部、５は前記タイミング違反判断部４において所定の条件を満たさない場合、前記遅延情報ｔｃ０の遅延値を増加させるため遅延素子としてディレイバッファを挿入する遅延調節部である。
【００１３】
図３は、この論理回路レイアウトデータ作成装置による処理が実行された後の自動配置・配線対象となった論理回路モデルを示す論理回路図である。図４は論理回路レイアウトデータ作成装置の動作を説明するための前記図３の論理回路モデルの各部の波形によるタイミングチャート、図８は論理回路レイアウトデータ作成装置による処理前の論理回路モデルを示す論理回路図である。
【００１４】
図３において、ｌｌは前段のフリップフロップシンボル（フリップフロップ）、１２は後段のフリップフロップシンボル（フリップフロップ）、１３は前段のフリップフロップシンボルにクロック信号を供給するクロックドライバ素子シンボル（ディレイバッファ）、１４は前記クロックドライバ素子シンボル１３から前段のフリップフロップシンボル１１へクロック信号を供給するためのクロック信号線、１５は後段のフリップフロップシンボル１２にクロック信号を供給するクロックドライバ素子シンボル（クロックドライバ）、１６は前記クロックドライバ素子シンボル１５から後段のフリップフロップシンボル１２へクロック信号を供給するためのクロック信号線、１７は前段のフリップフロップシンボル１１にデータを入力するためのデータ信号線、１８はクロックドライバ素子シンボル１５にクロック信号を供給するクロック信号線、１９は後段のフリップフロップシンボル１２の出力信号線、２０は２つのフリップフロップシンボル１１，１２間の組合せ回路、２１は前段のフリップフロップシンボルの出力信号線、２２は後段のフリップフロップシンボル１２へデータを供給するデータ信号線である。
【００１５】
尚、図８に示す論理回路モデルの各シンボルにおいても同一部分については同一符号を付してある。
【００１６】
次に、この実施の形態の動作について図１，図２，図３，図４および図８を参照しながら説明する。図２はこの実施の形態の論理回路レイアウトデータ作成装置の動作を示すフローチャートである。このフローチャートによれば、先ず、自動配置・配線部２は回路接続データ格納部１に格納してある回路接続データに基づき自動配置・配線を行い（ステップＳＴ１）、次に、遅延情報抽出部３が自動配置・配線部２による自動配置・配線結果から得らた配線情報に基づき、図８に示した自動配置・配線の対象となる論理回路モデルの同期回路中の最も後段（出力段）のフリップフロップシンボル１２から順に選択を行う。そして選択されたフリップフロップシンボル１２の端子間遅延情報とそのフリップフロップシンボルのクロック入力端子にクロック信号を供給するクロックドライバ素子シンボル１５とクロック信号線１６の遅延情報ｔｃｌ、その前段のフリップフロップシンボル１１の端子間遅延情報ｔｐｄとそのフリップフロップシンボル１１のクロック入力端子にクロック信号を供給するクロックドライバ素子シンボル１５とクロック信号線１４の遅延情報ｔｃ０、および２つのフリップフロップシンボル１１，１２間の組合せ回路２０の遅延情報を抽出する（ステップＳＴ３）。
【００１７】
次に、タイミング違反判断部４は式（１）の条件（ホールド・タイミング違反が発生しない条件であり、ｔｃｏ＋ｔｐｄ＋ｔ１−ｔｃ１≧ｔｈ）を満たすか否かを前記抽出した各遅延情報を基に判断し、条件を満たさない場合、遅延調節部５はｔｃ０の遅延値を増加させるための遅延素子として、図３に示すクロックドライバ素子シンボル１３をフリップフロップシンボル１１のクロック信号線１４へ挿入する（ステップＳＴ５）。
【００１８】
ｔｐｄ＋ｔ１−ｔｈ≧ｔｃ１−ｔｃ０      ・・・（１）
【００１９】
但し、式（１）においてｔｐｄは前段のフリップフロップシンボル１１がクロック信号Ｔ０の立ち上がりで読み込んだデータを出力するまでの遅延値、ｔ１は２つのフリップフロップシンボル１１，１２間の組合せ回路２０の最小遅延値、ｔｈは後段のフリップフロップシンボル１２がクロック信号Ｔ１の立ち上がりで読み込むデータが保持されていなければならないホールドタイム値、ｔｃ０は前段のフリップフロップシンボル１１にクロック信号Ｔ０を供給するクロックドライバ素子シンボル１３とクロックドライバ素子シンボル１５との遅延値の和、ｔｃ１は後段のフリップフロップシンボル１２にクロック信号Ｔ１を供給するクロックドライバ素子シンボル１５の遅延値である。
【００２０】
このようにして後段のフリップフロップシンボルから順にその前段のフリップフロップシンボルを選択し、同期回路ブロック中の最も前段（入力段）まで選択し、全てのフリップフロップシンボルに対して前記ステップＳＴ２からステップＳＴ５までの処理を実行し、各フリップフロップシンボルのクロック信号線へ適切な（ホールドタイミングエラーが発生しない）クロックドライバによる遅延値を設定する。
【００２１】
この結果、この実施の形態では後段側のフリップフロップから順に前段のフリップフロップのクロック信号線へ前記式（１）の条件を基にクロックドライバ素子を挿入し調整することで、複数のフリップフロップにより構成される同期回路を高速動作させる際に発生することのあるホールドタイミングエラーを防止でき、同期回路を含む信頼性の高い論理回路モデルのレイアウトデータを、修正作業を繰り返すことなく迅速に作成することができる。
【００２２】
また、各フリップフロップのクロック信号線へのクロックドライバ素子の挿入は、前記式（１）の条件を満足するように自動的に行われるので、オペレータによるホールドタイミングエラー発生回避のための修正作業が不要となる。
【００２３】
また、ホールドタイミングエラー発生回避のために行われる修正は、各フリップフロップのクロック信号線へのクロックドライバ素子の挿入により行われるので、フリップフロップ間の組み合わせ回路の信号遅延量に対し行う場合に比べ、レイアウトデータの増加の度合いを小さくできる。
【００２４】
実施の形態２．
なお、前記実施の形態１では遅延調節部が遅延素子としてクロックドライバ素子シンボル１３を挿入したが、クロック供給用配線を別の配線レイアにして遅延が必要な個所には配線を長くしたり、または太くするなどして配線容量を増加させても前記実施の形態１と同様の効果が得られる。
【００２５】
図５は、この実施の形態の論理回路レイアウトデータ作成装置の構成を示すブロック図であり、図１と同一または相当部分については同一符号を付し説明を省略する。図において、６は回路接続データ格納部１に格納されている回路接続データに基づき自動配置・配線を行う自動配置・配線部であり、この実施の形態では各フリップフロップのクロック信号線ヘクロックドライバ素子シンボルをそれぞれ挿入する自動配置・配線処理も行う。７は前記タイミング違反判断部４において所定の条件を満たさない場合、前記ｔｃ０の遅延値を増加させるため、当該フリップフロップへクロック信号を供給するクロック信号線を別の配線レイアにして遅延が必要な個所には配線を長く、あるいは太くするなどして配線容量を増加させ等価的な遅延素子としてのディレイバッファを挿入する遅延調節部である。
【００２６】
図７は、この論理回路レイアウトデータ作成装置による処理が実行された論理回路モデルを示す論理回路図であり、前記実施の形態１と同様に図８に示す論理回路モデルを処理対象とする。図７において図８と同一または相当部分については同一符号を付し説明を省略する。図において１３ａは前段のフリップフロップシンボル１１へクロック信号Ｔ０を供給するクロックドライバ素子シンボル（バッファ）、１３ｂは後段のフリップフロップシンボル１２へクロック信号Ｔ１を供給するクロックドライバ素子シンボル（バッファ）、２４はフリップフロップシンボル１１へクロック信号Ｔ０を供給するためのクロック信号線１４の長さあるいは太さを調整した結果の配線容量、２５はフリップフロップシンボル１２へクロック信号Ｔ１を供給するためのクロック信号線１６の長さあるいは太さを調整した結果の配線容量を示している。
【００２７】
次に、この実施の形態の動作を図５，図６，図７および図８を参照しながら説明する。図６はこの実施の形態の論理回路レイアウトデータ作成装置の動作を示すフローチャートであり、図２と同一の処理ステップについては同一符号を付し説明を省略する。このフローチャートによれば、自動配置・配線部６はステップＳＴ６で回路接続データ格納部１に格納されている回路接続データに基づき自動配置・配線を実行する。この際、図７に示すように各フリップフロップ１１，１２のクロック信号線１４，１６へそれぞれクロックドライバ素子シンボル１３ａ，１３ｂを挿入する。これはそれぞれのクロック信号線に付与された配線容量によるクロック信号の遅延効果が他のクロック信号線のクロック信号へ影響しないようにするためである。また、ステップＳＴ７では、遅延調節部７が各フリップフロップに対して適切な（ホールドタイミングエラーが発生しない）遅延値ｔｃ０を設定するためのクロック信号線の長さあるいは太さを決定する。
【００２８】
このホールドエラーが発生しないための条件は、前記実施の形態１で説明したときと同様に、ステップＳＴ４において使用する式（１）である。また、決定されたクロック信号線の長さあるいは太さにより配線容量が変化したときの図７の論理回路モデル各部の動作波形は、図４に示すタイミングチャートと同様である。
【００２９】
この結果、この実施の形態では後段側のフリップフロップから順に前段のフリップフロップへ、クロック信号線の長さあるいは太さを前記式（１）の条件を基に調整することで、複数のフリップフロップにより構成される同期回路を高速動作させる際に発生することのあるホールドタイミングエラーを防止でき、修正作業を繰り返すことなく同期回路を含む信頼性の高い論理回路モデルのレイアウトデータを迅速に作成することができる。
【００３０】
また、各フリップフロップへのクロック信号線の長さあるいは太さの調整は、前記式（１）の条件を満足するように自動的に行われるので、オペレータによるホールドタイミングエラー発生回避のための修正作業が不要となる。
【００３１】
また、ホールドタイミングエラー発生回避のために行われる修正は、各フリップフロップへのクロック信号線の長さあるいは太さに対し行われるので、フリップフロップ間の組み合わせ回路の信号遅延量に対して行う場合に比べ、レイアウトデータの増加の度合いを小さくできる。
【００３２】
【発明の効果】
以上のように、請求項１の発明によれば、自動配置・配線部の自動配置・配線結果から得られた配線情報に基づき自動配置・配線の対象となる同期回路ブロック中の最も後段のフリップフロップから順に選択し、後段および前段のフリップフロップのクロックドライバとクロック信号線との遅延情報および前記前段のフリップフロップの端子間遅延情報および前記両者のフリップフロップ間の組合わせ回路の遅延情報を抽出する遅延情報抽出部と、該遅延情報抽出部で抽出した前記各遅延情報を用いて所定の条件を基にホールド・タイミング違反が発生するかしないかを判断するタイミング違反判断部と、前記所定の条件が満たされないときには前記前段のフリップフロップのクロック信号の遅延量を増加させ前記所定の条件を満足させる遅延調節部とを備えるように構成したので、同期回路のホールドタイミングエラーを回避でき、また前記同期回路のホールドタイミングエラーを回避するための人手によるレイアウトパターンの変更などの修正作業を不要にできる効果がある。
【００３３】
請求項２の発明によれば、前記クロック信号の遅延量を増加させるために遅延素子としてディレイバッファを前段のフリップフロップのクロック信号線に挿入する遅延調節部を備えるように構成したので、同期回路のホールドタイミングエラーを回避でき、また前記同期回路のホールドタイミングエラーを回避するための人手によるレイアウトパターンの変更などの修正作業を不要にできる効果がある。
【００３４】
請求項３の発明によれば、前記クロック信号の遅延量を増加させるために遅延が必要な個所のクロック信号線を長くし、あるいは太くすることで配線容量を増加させると共に、前段と後段のフリップフロップの各クロック信号線にそれぞれバッファを挿入する遅延調節部を備えるように構成したので、最小限のレイアウトパターンの変更で同期回路のホールドタイミングエラーを回避でき、また前記同期回路のホールドタイミングエラーを回避するための人手によるレイアウトパターンの変更などの修正作業を不要にできる効果がある。
【００３５】
請求項４の発明によれば、前段のフリップフロップの端子間遅延情報ｔｐｄおよび組合せ回路の遅延情報ｔ１の和と、後段のフリップフロップのホールドタイムｔｈとの差が、前記前段および後段のフリップフロップへそれぞれ供給されるクロック信号間の入力タイミング差以上とする条件、すなわち後段のフリップフロップへ供給されるクロック信号が前記後段のフリップフロップへ入力される信号に対しホールド時間を確保するタイミングで入力されることを示す条件を満足するかしないかによりホールドタイミングエラーの発生を判断し、ホールドタイミングエラーが発生する場合には前記条件を満足するように前段のフリップフロップへ入力するクロック信号の遅延量を増やすように構成したので、人手によるレイアウトパターンの変更などの修正作業を不要にして同期回路のホールドタイミングエラーを回避できる効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１の論理回路レイアウトデータ作成装置の構成を示すブロック図である。
【図２】この発明の実施の形態１の論理回路レイアウトデータ作成装置の動作を示すフローチャートである。
【図３】この発明の実施の形態１の論理回路レイアウトデータ作成装置による処理が実行された後の自動配置・配線対象となった論理回路モデルを示す論理回路図である。
【図４】この発明の実施の形態１の論理回路レイアウトデータ作成装置の動作を説明するための図３に示す論理回路モデルの各部動作波形によるタイミングチャートである。
【図５】この発明の実施の形態２の論理回路レイアウトデータ作成装置の構成を示すブロック図である。
【図６】この発明の実施の形態２の論理回路レイアウトデータ作成装置の動作を示すフローチャートである。
【図７】この発明の実施の形態２の論理回路レイアウトデータ作成装置による処理が実行された後の自動配置・配線対象となった論理回路モデルを示す論理回路図である。
【図８】この発明の論理回路レイアウトデータ作成装置による処理前の論理回路モデルを示す論理回路図である。
【符号の説明】
１  回路接続データ格納部、２，６  自動配置・配線部、３  遅延情報抽出部、４  タイミング違反判断部、５，７  遅延調節部、１１，１２  フリップフロップシンボル（フリップフロップ）、１３  クロックドライバ素子シンボル（ディレイバッファ）、１３ａ，１３ｂ  クロックドライバ素子シンボル（バッファ）、１５  クロックドライバ素子シンボル（クロックドライバ）、１４，１６  クロック信号線、Ｔ０，Ｔ１  クロック信号、ｔｃ１，ｔ１，ｔｃ０  遅延情報、ｔｐｄ  端子間遅延情報。
【図１】
0003625905.tif 000002
【図２】
0003625905.tif 000003
【図３】
0003625905.tif 000004
【図４】
0003625905.tif 000005
【図５】
0003625905.tif 000006
【図６】
0003625905.tif 000007
【図７】
0003625905.tif 000008
【図８】
0003625905.tif 000009