(57)【要約】【課題】論理合成の際にＦＦに関する誤接続を確実に防止できる論理合成装置等を提供する。【解決手段】論理合成装置１０は、ＩＣの設計仕様に関するデータ１１１が格納された設計仕様格納部１１と、ＩＣを構成する回路素子に関するデータ１２１が格納されたライブラリ部１２と、設計仕様格納部１１に格納された設計仕様に関するデータ１１１とライブラリ部１２に格納された回路素子に関するデータ１２１とに基づき、ネットリスト１３１を設計する論理合成部１３と、を備えている。そして、ライブラリ部１２には、同一のＱ出力端子２３が論理接続用のＱ出力端子２３１とクロックライン用のＱ＿Ｃ出力端子２３２とに分岐した構造を有するＦＦ２０に関するデータが格納されている。論理合成部１３は、ネットリスト１３１を設計する際に、ライブラリ部１２に格納されたＦＦ２０に関するデータを用いる。【選択図】図１
2012243263.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の設計仕様に関するデータが格納された設計仕様格納部と、
半導体集積回路を構成する回路素子に関するデータが格納されたライブラリ部と、
前記設計仕様格納部に格納された設計仕様に関するデータと前記ライブラリ部に格納された回路素子に関するデータとに基づき、ネットリストを設計する論理合成部と、
を備えた論理合成装置において、
前記ライブラリ部には、同一の出力端子が論理接続用の出力端子とクロックライン用の出力端子とに分岐した構造を有するフリップフロップに関するデータが格納され、
前記論理合成部は、前記ネットリストを設計する際に、前記フリップフロップに関するデータを用いる、
ことを特徴とする論理合成装置。
【請求項２】
前記フリップフロップに代えて出力端子及び反転出力端子を有するフリップフロップとし、かつ、当該出力端子及び反転出力端子の一方を論理接続用とし他方をクロックライン用とした、
ことを特徴とする請求項１記載の論理合成装置。
【請求項３】
半導体集積回路の設計仕様に関するデータが格納された設計仕様格納部から、前記設計仕様に関するデータを入力する設計仕様入力ステップと、
半導体集積回路を構成する回路素子に関するデータが格納されたライブラリ部から、前記回路素子に関するデータを入力する回路素子入力ステップと、
前記設計仕様入力ステップで入力した前記設計仕様に関するデータと前記回路素子入力ステップで入力した前記回路素子に関するデータとに基づき、ネットリストを設計する論理合成ステップと、を含む論理合成方法において、
前記回路素子入力ステップでは、同一の出力端子が論理接続用の出力端子とクロックライン用の出力端子とに分岐した構造を有するフリップフロップに関するデータが予め格納された前記ライブラリ部から、当該フリップフロップに関するデータを入力し、
前記論理合成ステップでは、前記ネットリストを設計する際に、前記フリップフロップに関するデータを用いる、
ことを特徴とする論理合成方法。
【請求項４】
前記フリップフロップに代えて出力端子及び反転出力端子を有するフリップフロップとし、かつ、当該出力端子及び反転出力端子の一方を論理接続用とし他方をクロックライン用とした、
ことを特徴とする請求項３記載の論理合成方法。
【請求項５】
半導体集積回路の設計仕様に関するデータが格納された設計仕様格納部から、前記設計仕様に関するデータを入力する設計仕様入力ステップと、
半導体集積回路を構成する回路素子に関するデータが格納されたライブラリ部から、前記回路素子に関するデータを入力する回路素子入力ステップと、
前記設計仕様入力ステップで入力した前記設計仕様に関するデータと前記回路素子入力ステップで入力した前記回路素子に関するデータとに基づき、ネットリストを設計する論理合成ステップと、をコンピュータに実行させるための論理合成プログラムにおいて、
前記回路素子入力ステップでは、同一の出力端子が論理接続用の出力端子とクロックライン用の出力端子とに分岐した構造を有するフリップフロップに関するデータが予め格納された前記ライブラリ部から、当該フリップフロップに関するデータを入力し、
前記論理合成ステップでは、前記ネットリストを設計する際に、前記フリップフロップに関するデータを用いる、
ことを特徴とする論理合成プログラム。
【請求項６】
前記フリップフロップに代えて出力端子及び反転出力端子を有するフリップフロップとし、かつ、当該出力端子及び反転出力端子の一方を論理接続用とし他方をクロックライン用とした、
ことを特徴とする請求項５記載の論理合成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計に用いられる論理合成装置、論理合成方法及び論理合成プログラムに関する。以下、半導体集積回路を「ＩＣ（Integrated Circuit）」、フリップフロップを「ＦＦ（Flip Flop）」と略称する。
【背景技術】
【０００２】
図７は関連技術を説明するための回路図であり、図７［１］はＦＦを含む回路であり、図７［２］は図７［１］においてクロックライン側にクロックドライバが挿入された例であり、図７［３］は図７［１］においてロジック側にクロックドライバが挿入された例である。
【０００３】
図７［１］に示す回路は、三つのＦＦ５１，５２，５３とロジック素子５４とを含む。ＦＦ５１，５２，５３はＤ−ＦＦであり、ＦＦ５１はＤ入力端子５１１、Ｃ入力端子５１２及びＱ出力端子５１３を有し、ＦＦ５２はＤ入力端子５２１、Ｃ入力端子５２２及びＱ出力端子５２３を有し、ＦＦ５３はＤ入力端子５３１、Ｃ入力端子５３２及びＱ出力端子５３３を有する。Ｄ入力端子５１１，５２１，５３１は論理信号入力用であり、Ｃ入力端子５１２，５２２，５３２はクロック信号入力用である。Ｑ出力端子５１３は、ロジック素子５４を介してＤ入力端子５１１に接続されるとともに、Ｃ入力端子５２２，５３２に直接接続されている。接続点５６１でＱ出力端子５１３とロジック素子５４とが接続され、接続点５６１よりも後側（ＦＦ５２，５３に近い側）の接続点５６２でＱ出力端子５１３とＣ入力端子５２２，５３２とが接続されている。
【０００４】
ここで、論理合成ツールを用いてＩＣを設計する際、図７［１］の回路にクロックドライバを挿入する工程において、図７［２］と図７［３］との二通りの結果が得られる。その理由は、図７［２］と図７［３］とが論理的には同一となるからである。つまり、図７［２］ではクロックドライバ５５が接続点５６１と接続点５６２との間に挿入され、図７［３］ではクロックドライバ５５が接続点５６１，５６２よりも前側（ＦＦ５１に近い側）に挿入されている。図７［２］は、期待通りの論理合成結果であり、クロックライン側にクロックドライバ５５が挿入された例である。一方、図７［３］は、期待に反した論理合成結果であり、ロジック側にクロックドライバ５５が挿入された例である。
【０００５】
また、特許文献１〜４には、下記の関連技術が開示されている。
【０００６】
特許文献１には、次の関連技術が開示されている。論理合成時に、ホールドタイム違反に関する制約は与えずに、セットアップタイム違反に関する制約のみを与える。そして、ネットリストのタイミング解析を行ない、二つのＦＦ回路間のパスにおいてホールドタイム違反を検出した場合、どちらか一方のＦＦ回路を修正用ＦＦ回路ユニットに置き換える。修正用ＦＦ回路ユニットは、データ入力端子前とデータ出力端子後とにそれぞれ遅延回路を備えており、予めユニット化されると共にセル面積が最小化されてライブラリに登録しておく。
【０００７】
特許文献２には、次の関連技術が開示されている。論理回路合成装置は、予め所定の特性を有するネットについて、特性に対応してネットの構成が満たすべき条件をセルのライブラリに記憶しておく。ネットリストから、所定の特性を有するネットを選択する。選択したネットにおいて、ライブラリ中に記憶されている条件に従って論理合成を行う。
【０００８】
特許文献３には、次の関連技術が開示されている。命令セットに基づいて動作合成を行うことによりＲＴＬ（Register Transfer Level）データが生成されたのち、ＲＴＬデータとライブラリとに基づいて論理合成を行うことによりネットリストが生成される。ネットリストに基づいて回路レイアウトが生成されたのち、回路レイアウトと各種テーブルとを対比して各種データが導出される。各種データとＲＴＬデータとに基づいて新ネットリストが生成されたのち、新ネットリストに基づく論理回路シミュレータ上の動作が仕様を満たすか否かが検証される。その結果、仕様が満たされなかった場合には、検証結果に基づいてレイアウト設計がやり直される。
【０００９】
特許文献４には、次の関連技術が開示されている。セルライブラリには、既存の種々のセルとともに、新たにフィードバックループ付ＦＦのセルが登録されている。このフィードバックループ付ＦＦは、フィードバックループ部分がＦＦのセットアップタイム及びホールドタイムを考慮して最適なレイアウト構成で形成されている。論理合成部は、セルライブラリ内に登録されたセルを用いて、論理機能記述を実現するネットリストを生成してテスト設計部に出力する。この際、ＦＦの入出力にフィードバックループが形成されている部分は、フィードバックループ付ＦＦを用いてネットリストを作成する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００１−０４４２８７号公報
【特許文献２】特開２００８−１４００６１号公報
【特許文献３】特開２０１０−２４４２８５号公報
【特許文献４】特開平０８−３２０８９３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ＦＦはディジタルロジック回路において、論理回路やクロック生成用カウンタ等に広く用いられている。したがって、同一ＦＦの出力が論理回路並びにクロックラインの両方に接続される場合が多々発生する（図７［１］）。関連技術の論理合成ツールにおいてＦＦの出力端子は、１端子に１端子名が与えられていた（図８）。この出力端子がロジック部とクロックラインとに接続される場合、論理合成ツールによってはクロックドライバの挿入位置を自動で最適化することが難しいものがある（図７［２］［３］）。そのため、論理合成後にクロックドライバの位置を確認して、不適切な場合は手動で修正する必要があった。
【００１２】
なお、論理合成後のクロックドライバの位置を最適化せずに次工程に進んだ場合、タイミング収束ができない場合やスキャンパスの自動挿入ができない場合が発生する。このような不具合を避けるため、ＡＳＩＣ（Application Specific IC）等では論理回路の段階でクロックドライバを論理回路に挿入してクロックラインを明確にする手法がよく採られている。これは、デバイス構造やレイアウトに精通したＡＳＩＣ技術者であれば、特に大きな問題はない。しかし、近年ＦＰＧＡ（Field Programmable Gate Array）が普及してきており、デバイス構造やレイアウトについての専門知識を持たないＦＰＧＡ論理設計技術者にとっては、このような作業（論理回路のクロック系に前もってクロックドライバを入れてクロックラインを明確にする作業や、合成後の回路を確認してクロックドライバの位置を手修正する作業など）は容易ではなく、論理合成ＣＡＤツールによる完全自動化が強く望まれていた。
【００１３】
次に、発明が解決しようとする課題について、言葉を換えてもう一度説明する。
【００１４】
市販されている数社の論理合成ツールを試した結果では、メーカの違いやツールのバージョンによっても結果が異なる場合がある。また設計者が論理合成ツールに深く精通しているかどうかでも結果が異なる（論理合成に使用する合成条件を指示するスクリプトファイルの書き方によっても左右される）場合がある。結局、関連技術のＦＦ論理合成ライブラリを用いて論理合成を行った場合においては、次のような課題がある。
【００１５】
課題１．論理合成ツールのメーカの違いやバージョンの違いにより、論理合成結果が異なるため、確実な期待通りの合成結果が得られない。期待通りの結果を得られなかった場合は、マニュアル修正等の後戻り作業が発生する。
【００１６】
課題２．課題１を回避するために、予め論理回路に工夫を加える手法もある。しかし、専門的な内容に精通しているＡＳＩＣ技術者であれば容易な作業であるものの、デバイスの構造やレイアウト並びに論理合成ツールの詳細に精通していないＦＰＧＡ技術者の場合は、予め対応することは難しい。
【００１７】
上記課題１，２を解決するために、デバイスの構造や論理合成ツールの詳細に精通していない一般のＦＰＧＡ技術者でも、何も意識することなく期待通りの論理合成が行われるように配慮した、ＦＦ論理合成ライブラリを提供することが求められている。
【００１８】
そこで、本発明の目的は、論理合成の際にＦＦに関する誤接続を確実に防止できる論理合成装置等を提供することにある。
【課題を解決するための手段】
【００１９】
本発明に係る論理合成装置は、
ＩＣの設計仕様に関するデータが格納された設計仕様格納部と、
ＩＣを構成する回路素子に関するデータが格納されたライブラリ部と、
前記設計仕様格納部に格納された設計仕様に関するデータと前記ライブラリ部に格納された回路素子に関するデータとに基づき、ネットリストを設計する論理合成部と、
を備えた論理合成装置において、
前記ライブラリ部には、同一の出力端子が論理接続用の出力端子とクロックライン用の出力端子とに分岐した構造を有するＦＦに関するデータが格納され、
前記論理合成部は、前記ネットリストを設計する際に、前記ＦＦに関するデータを用いる、
ことを特徴とする。
【００２０】
本発明に係る論理合成方法は、
ＩＣの設計仕様に関するデータが格納された設計仕様格納部から、前記設計仕様に関するデータを入力する設計仕様入力ステップと、
ＩＣを構成する回路素子に関するデータが格納されたライブラリ部から、前記回路素子に関するデータを入力する回路素子入力ステップと、
前記設計仕様入力ステップで入力した前記設計仕様に関するデータと前記回路素子入力ステップで入力した前記回路素子に関するデータとに基づき、ネットリストを設計する論理合成ステップと、を含む論理合成方法において、
前記回路素子入力ステップでは、同一の出力端子が論理接続用の出力端子とクロックライン用の出力端子とに分岐した構造を有するＦＦに関するデータが予め格納された前記ライブラリ部から、当該ＦＦに関するデータを入力し、
前記論理合成ステップでは、前記ネットリストを設計する際に、前記ＦＦに関するデータを用いる、
ことを特徴とする。
【００２１】
本発明に係る論理合成プログラムは、
ＩＣの設計仕様に関するデータが格納された設計仕様格納部から、前記設計仕様に関するデータを入力する設計仕様入力ステップと、
ＩＣを構成する回路素子に関するデータが格納されたライブラリ部から、前記回路素子に関するデータを入力する回路素子入力ステップと、
前記設計仕様入力ステップで入力した前記設計仕様に関するデータと前記回路素子入力ステップで入力した前記回路素子に関するデータとに基づき、ネットリストを設計する論理合成ステップと、をコンピュータに実行させるための論理合成プログラムにおいて、
前記回路素子入力ステップでは、同一の出力端子が論理接続用の出力端子とクロックライン用の出力端子とに分岐した構造を有するＦＦに関するデータが予め格納された前記ライブラリ部から、当該ＦＦに関するデータを入力し、
前記論理合成ステップでは、前記ネットリストを設計する際に、前記ＦＦに関するデータを用いる、
ことを特徴とする。
【発明の効果】
【００２２】
本発明によれば、ＦＦの二つの出力端子に対して、一方を論理接続用とし、もう一方をクロックライン用とすることにより、論理合成の際にクロックラインが論理接続部に誤接続されることを防止できるとともに、設計の次工程での後戻りを防ぐことができる。
【図面の簡単な説明】
【００２３】
【図１】図１は本発明に係る論理合成装置の一実施形態を示し、図１［１］は論理合成装置全体を示す概略ブロック図であり、図１［２］はライブラリ部に格納されたＦＦの一例を示す回路図である。
【図２】図２は図１の論理合成装置の動作の一例を説明するための回路図であり、図２［１］は動作前を示し、図２［２］は動作後を示す。
【図３】図３は図１の論理合成装置の効果の一例を示し、図３［１］は図１の論理合成装置による論理合成結果を示す回路図であり、図３［２］は図３［１］の回路の特性を示す図表である。
【図４】図４は関連技術による比較例を示し、図４［１］は関連技術による論理合成結果を示す回路図であり、図４［２］は図４［１］の回路の特性を示す図表である。
【図５】図１［１］におけるライブラリ部に格納されたＦＦの他の例を示す回路図である。
【図６】図６［１］は本実施形態の論理合成方法及び論理合成プログラムを説明するためのフローチャートであり、図６［２］は本実施形態の論理合成プログラムが用いられるコンピュータの一例を示すブロック図である。
【図７】図７は関連技術を説明するための回路図であり、図７［１］はＦＦを含む回路であり、図７［２］は図７［１］においてクロックライン側にクロックドライバが挿入された例であり、図７［３］は図７［１］においてロジック側にクロックドライバが挿入された例である。
【図８】関連技術におけるＦＦの出力端子を示す回路図である。
【発明を実施するための形態】
【００２４】
以下、添付図面を参照しながら、本発明を実施するための形態（以下「実施形態」という。）について説明する。なお、本明細書及び図面において、実質的に同一の構成要素については同一の符号を用いる。
【００２５】
図１は本発明に係る論理合成装置の一実施形態を示し、図１［１］は論理合成装置全体を示す概略ブロック図であり、図１［２］はライブラリ部に格納されたＦＦの一例を示す回路図である。以下、この図面に基づき説明する。
【００２６】
本実施形態の論理合成装置１０は、ＩＣの設計仕様に関するデータ１１１が格納された設計仕様格納部１１と、ＩＣを構成する回路素子に関するデータ１２１が格納されたライブラリ部１２と、設計仕様格納部１１に格納された設計仕様に関するデータ１１１とライブラリ部１２に格納された回路素子に関するデータ１２１とに基づき、ネットリスト１３１を設計する論理合成部１３と、を備えている。そして、ライブラリ部１２には、同一のＱ出力端子２３が論理接続用のＱ出力端子２３１とクロックライン用のＱ＿Ｃ出力端子２３２とに分岐した構造を有するＦＦ２０に関するデータが格納されている。論理合成部１３は、ネットリスト１３１を設計する際に、ライブラリ部１２に格納されたＦＦ２０に関するデータを用いる。
【００２７】
ＦＦ２０は、Ｄ−ＦＦであり、前述のＱ出力端子２３の他に、Ｄ入力端子２１及びＣ入力端子２２を有する。設計仕様格納部１１は、ハードウェア記述言語で記述されたＩＣの設計仕様に関するデータ１１１をキーボード等から入力し、そのデータ１１１を一時的に格納する例えばハードディスクや半導体メモリを有する。ライブラリ部１２は、ＩＣを構成する回路素子に関するデータ１２１を予め格納しておく、例えばハードディスクや半導体メモリを有する。論理合成部１３は、例えばコンピュータ及び論理合成プログラムによって実現されている。
【００２８】
換言すると、本実施形態は、論理合成用ライブラリとして用いられるＦＦライブラリにおいて、同一出力端子に２つの端子名を付加し、一方を論理接続用に、もう一方をクロックライン専用にしたものである。これは、論理接続用は論理接続に用い、クロックライン用はクロックラインに用いる、というルールで設計が進められることを意味する。つまり、ライブラリ側の端子名の変更に合わせて、論理合成ツール側のレイアウトルールも変更される。
【００２９】
図１［２］において、Ｑ出力端子２３に設けられた二つの出力端子を、一方（Ｑ出力端子２３１）を論理接続用とし、もう一方（Ｑ＿Ｃ出力端子２３２）をクロックライン専用端子とすることにより、クロックラインが論理接続部に誤接続されることを防止する。これにより、本実施形態によれば、誤接続を確実に防止できるので、設計の次工程での後戻りを防ぐことができる。
【００３０】
図２は図１の論理合成装置の動作の一例を説明するための回路図であり、図２［１］は動作前を示し、図２［２］は動作後を示す。以下、図１及び図２に基づき説明する。
【００３１】
図２［１］の回路は、前述の図７［１］の回路と同じである。図２において、図７［１］及び図１［２］と同じ構成要素には同じ符号を付す。図１［２］を参照すると、一例としてのＦＦ２０が示されている。ＦＦ２０のＱ出力端子２３には、二つの端子名（本例では“Ｑ”と“Ｑ＿Ｃ”）が付与されている。図２を参照すると、図１［２］に示すＦＦ論理合成ライブラリを用いて論理合成を行った前後が示されている。つまり、図２［１］は論理合成前のロジックを示し、図２［２］は各デバイスのスピードやファンアウト（Fanout）制限等を考慮した論理合成後の回路の一例である。ＦＦ２０のＱ出力端子２３には、論理回路接続用の“Ｑ出力端子２３１”、クロックライン接続用に“Ｑ＿Ｃ出力端子２３２”が用意されたことで、クロックドライバ５５は“Ｑ＿Ｃ出力端子２３２”側に接続される。
【００３２】
なお、“論理回路”については、ＶＨＤＬ（VHSIC Hardware Description Language）やＶｅｒｉｌｏｇ−ＨＤＬなどのハードウェア記述言語で記述することが現在では一般的であるが、本明細書では趣旨を明確にするために論理回路記号を使用している。
【００３３】
以上、詳細に本実施形態の構成を述べたが、ＦＦ２０の内部回路や動作は、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。
【００３４】
図３は図１の論理合成装置の効果の一例を示し、図３［１］は図１の論理合成装置による論理合成結果を示す回路図であり、図３［２］は図３［１］の回路の特性を示す図表である。図４は関連技術による比較例を示し、図４［１］は関連技術による論理合成結果を示す回路図であり、図４［２］は図４［１］の回路の特性を示す図表である。以下、これらの図面に基づき説明する。
【００３５】
図３［１］では、ＦＦ２０の二つの出力端子（図２［２］に示すＱ出力端子２３１及びＱ＿Ｃ出力端子２３２）を、一つのＱ出力端子２３として簡略化して示している。図３［１］の回路は、本実施形態の論理合成結果であるため、期待通りに接続点５６１の後にクロックドライバ５５が挿入されている。一方、図４［１］の回路は、関連技術の論理合成結果であるため、期待に反して接続点５６１の前にクロックドライバ５５が挿入されている。以下、デバイスの遅延を考慮して本実施形態の効果を説明する。
【００３６】
クロックドライバ５５は非常に大きな駆動能力を有するため、クロックドライバ５５自身の遅延が非常に大きい。各遅延値の一例を図３［２］及び図４［２］に載せている。図３［２］に示すように、本実施形態の動作周波数は９０９ＭＨｚである。近年の高速ＦＰＧＡでは８００ＭＨｚ程度の設計は問題なく可能である。しかし、図４［２］に示すように、クロックラインが正常に合成されないと、動作スピードは一気に３００ＭＨｚ程度まで落ちてしまうことがわかる。なお、クロックラインのジッタ等をマージンとして扱っている。
【００３７】
以上説明したように、本実施形態においては以下に記載するような効果を奏する。
【００３８】
（１）クロックドライバが論理回路側に入ることがないので、論理回路側の遅延量を小さくでき、遅延量を所望の制限値以下に抑えることができる。
【００３９】
（２）確実にクロックドライバを所望の位置に挿入することができるので、論理合成後に手動でクロックドライバの位置を修正する必要がなく、設計を効率よく進めることができる。
【００４０】
（３）クロックドライバの挿入を論理回路設計時に行う必要がなくなるので、シリコンのデバイス構造やＬＳＩのレイアウト設計に精通していない論理設計技術者でも容易にＬＳＩ設計ができる。特にＦＰＧＡが普及した現在では、ＦＰＧＡのデバイス構造やレイアウト設計に精通していないＦＰＧＡ設計者が大半であり、このようなＦＰＧＡ設計者には特に有効である。
【００４１】
（４）確実にクロックドライバを所望の位置に挿入することができることから、ＡＳＩＣの場合において、スキャンパス挿入ルールに違反することがなくなるので、スキャンパス挿入作業を効率よく実行できる。
【００４２】
（５）ＦＦのレイアウトには修正が全く必要ないので、ＦＦのレイアウトライブラリ修正のような多大なコストが発生する作業は必要なく、コストミニマムで対応が可能になる。
【００４３】
以上をまとめると、本実施形態によれば、論理合成用ライブラリとして用いられるＦＦ論理合成ライブラリにおいて、同一出力端子に二つの端子名を付加し、一方を論理接続用に、もう一方をクロックライン専用とする。これにより、ＦＦの出力端子がロジック部とクロックラインとに接続される場合、論理合成ツールにおいて確実にクロックドライバをクロックラインに挿入することが可能になる。したがって、クロックラインが論理接続部に接続され、マニュアル修正や次工程まで不具合に気がつかず、次工程で後戻りが発生する、という関連技術に特有な事態を未然に防止できる。
【００４４】
図５は、図１［１］におけるライブラリ部に格納されたＦＦの他の例を示す回路図である。以下、図１及び図５に基づき説明する。
【００４５】
本例では、ＦＦ２０に代えて、Ｑ出力端子３３及びＱＢ反転出力端子３４を有するＦＦ３０を、ライブラリ部１２に格納している。そして、Ｑ出力端子３３を論理接続用とし、ＱＢ反転出力端子３４をクロックライン用としている。これとは逆に、Ｑ出力端子３３をクロックライン用とし、ＱＢ反転出力端子３４を論理接続用としてもよい。ＦＦ３０は、Ｄ−ＦＦであり、前述のＱ出力端子３３及びＱＢ反転出力端子３４の他に、Ｄ入力端子３１及びＣ入力端子３２を有する。
【００４６】
本例によれば、前述の例と同様の作用及び効果を奏することに加え、ＦＦのレイアウトライブラリにはもちろん修正が必要なく、しかもＦＦ論理合成ライブラリにも修正を加える必要がないので、ライブラリ修正費用を削減できるという効果が得られる。
【００４７】
また、図１［２］に示すＦＦ２０及び図５に示すＦＦ３０はどちらもＤ−ＦＦであるが、これに代えてＲＳ−ＦＦ、ＲＳＴ−ＦＦ、ＪＫ−ＦＦ等どのような種類のＦＦを用いてもよい。
【００４８】
図６［１］は本実施形態の論理合成方法及び論理合成プログラムを説明するためのフローチャートであり、図６［２］は本実施形態の論理合成プログラムが用いられるコンピュータの一例を示すブロック図である。以下、図１及び図６に基づき説明する。
【００４９】
本実施形態の論理合成方法は、本実施形態の論理合成装置１０における論理合成部１３の動作を方法の発明として捉えたものである。すなわち、本実施形態の論理合成方法は次のステップを含む。ＩＣの設計仕様に関するデータ１１１が格納された設計仕様格納部１１から、設計仕様に関するデータ１１１を入力する設計仕様入力ステップ（ステップ１０１）。ＩＣを構成する回路素子に関するデータ１２１が格納されたライブラリ部１２から、回路素子に関するデータ１２１を入力する回路素子入力ステップ（ステップ１０２）。ステップ１０１で入力した設計仕様に関するデータ１１１とステップ１０２で入力した回路素子に関するデータ１２１とに基づき、ネットリスト１３１を設計する論理合成ステップ（ステップ１０３）。そして、ステップ１０２では、同一のＱ出力端子２３が論理接続用のＱ出力端子２３１とクロックライン用のＱ＿Ｃ出力端子２３２とに分岐した構造を有するＦＦ２０に関するデータが予め格納されたライブラリ部１２から、ＦＦ２０に関するデータを入力する。ステップ１０３では、ネットリスト１３１を設計する際に、ＦＦ２０に関するデータを用いる。ステップ１０１，１０２はどちらが先でもよい。
【００５０】
本実施形態の論理合成プログラムは、本実施形態の論理合成装置１０における論理合成部１３の動作をコンピュータ２００に実行させるためのものである。言い換えると、本実施形態の論理合成プログラムは、前述のステップ１０１〜１０３をコンピュータ２００に実行させるためのものである。コンピュータ２００は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、入出力インタフェース３０４等を含む一般的なものである。コンピュータ２００には、外部記憶装置の一例としてＨＤＤ３００が接続されている。ここで、設計仕様格納部１１及びライブラリ部１２はＨＤＤ（Hard Disk Drive）３００内に実現されているものとし、本実施形態の論理合成プログラムもＨＤＤ３００内に格納されているものとする。
【００５１】
このとき、ＣＰＵ２０１は、次のように動作する。まず、ＨＤＤ３００からデータ１１１，１２１及び本実施形態の論理合成プログラムを読み出して、これらをＲＡＭ２０２に格納する。続いて、ＲＡＭ２０２から論理合成プログラムを一行ずつ読み出し、解釈し、実行する。すなわちステップ１０１〜１０３を実行する。最後に、設計したネットリスト１３１をＨＤＤ３００に書き込む。なお、コンピュータ２００には、通常、キーボード、ディスプレイ、プリンタなどの入出力装置が接続されている。本プログラムは、非一時的な記録媒体（non-transitory storage medium）、例えば光ディスク、半導体メモリなどに記録されてもよい。
【００５２】
本実施形態の論理合成方法及び論理合成プログラムによれば、本実施形態の論理合成装置１０と同様の作用及び効果を奏する。
【００５３】
以上、上記実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細については、当業者が理解し得るさまざまな変更を加えることができる。
【００５４】
上記の実施形態の一部又は全部は以下の付記のようにも記載され得るが、本発明は以下の構成に限定されるものではない。
【００５５】
［付記１］ＩＣの設計仕様に関するデータが格納された設計仕様格納部と、
ＩＣを構成する回路素子に関するデータが格納されたライブラリ部と、
前記設計仕様格納部に格納された設計仕様に関するデータと前記ライブラリ部に格納された回路素子に関するデータとに基づき、ネットリストを設計する論理合成部と、
を備えた論理合成装置において、
前記ライブラリ部には、同一の出力端子が論理接続用の出力端子とクロックライン用の出力端子とに分岐した構造を有するＦＦに関するデータが格納され、
前記論理合成部は、前記ネットリストを設計する際に、前記ＦＦに関するデータを用いる、
ことを特徴とする論理合成装置。
【００５６】
［付記２］前記ＦＦに代えて出力端子及び反転出力端子を有するＦＦとし、かつ、当該出力端子及び反転出力端子の一方を論理接続用とし他方をクロックライン用とした、
ことを特徴とする付記１記載の論理合成装置。
【００５７】
［付記３］ＩＣの設計仕様に関するデータが格納された設計仕様格納部から、前記設計仕様に関するデータを入力する設計仕様入力ステップと、
ＩＣを構成する回路素子に関するデータが格納されたライブラリ部から、前記回路素子に関するデータを入力する回路素子入力ステップと、
前記設計仕様入力ステップで入力した前記設計仕様に関するデータと前記回路素子入力ステップで入力した前記回路素子に関するデータとに基づき、ネットリストを設計する論理合成ステップと、を含む論理合成方法において、
前記回路素子入力ステップでは、同一の出力端子が論理接続用の出力端子とクロックライン用の出力端子とに分岐した構造を有するＦＦに関するデータが予め格納された前記ライブラリ部から、当該ＦＦに関するデータを入力し、
前記論理合成ステップでは、前記ネットリストを設計する際に、前記ＦＦに関するデータを用いる、
ことを特徴とする論理合成方法。
【００５８】
［付記４］前記ＦＦに代えて出力端子及び反転出力端子を有するＦＦとし、かつ、当該出力端子及び反転出力端子の一方を論理接続用とし他方をクロックライン用とした、
ことを特徴とする付記３記載の論理合成方法。
【００５９】
［付記５］ＩＣの設計仕様に関するデータが格納された設計仕様格納部から、前記設計仕様に関するデータを入力する設計仕様入力ステップと、
ＩＣを構成する回路素子に関するデータが格納されたライブラリ部から、前記回路素子に関するデータを入力する回路素子入力ステップと、
前記設計仕様入力ステップで入力した前記設計仕様に関するデータと前記回路素子入力ステップで入力した前記回路素子に関するデータとに基づき、ネットリストを設計する論理合成ステップと、をコンピュータに実行させるための論理合成プログラムにおいて、
前記回路素子入力ステップでは、同一の出力端子が論理接続用の出力端子とクロックライン用の出力端子とに分岐した構造を有するＦＦに関するデータが予め格納された前記ライブラリ部から、当該ＦＦに関するデータを入力し、
前記論理合成ステップでは、前記ネットリストを設計する際に、前記ＦＦに関するデータを用いる、
ことを特徴とする論理合成プログラム。
【００６０】
［付記６］前記ＦＦに代えて出力端子及び反転出力端子を有するＦＦとし、かつ、当該出力端子及び反転出力端子の一方を論理接続用とし他方をクロックライン用とした、
ことを特徴とする付記５記載の論理合成プログラム。
【００６１】
［付記７］論理合成用ライブラリとして用いられるＦＦライブラリにおいて、
ＦＦの同一出力端子に二つの端子名を付加し、一方の端子名を論理接続用とし、もう一方の端子名をクロックライン専用とした、
ことを特徴とするＦＦライブラリ。
【産業上の利用可能性】
【００６２】
本発明は、ＩＣの設計に用いられる論理合成装置等に利用可能である。
【符号の説明】
【００６３】
１０  論理合成装置
１１設計仕様格納部
１１１  設計仕様に関するデータ
１２  ライブラリ部
１２１  回路素子に関するデータ
１３  論理合成部
１３１  ネットリスト
２０  ＦＦ
２１  Ｄ入力端子
２２  Ｃ入力端子
２３  Ｑ出力端子
２３１  Ｑ出力端子
２３２  Ｑ＿Ｃ出力端子
３０  ＦＦ
３１  Ｄ入力端子
３２  Ｃ入力端子
３３  Ｑ出力端子
３４  ＱＢ反転出力端子
【図１】
2012243263.tif 000003
【図２】
2012243263.tif 000004
【図３】
2012243263.tif 000005
【図４】
2012243263.tif 000006
【図５】
2012243263.tif 000007
【図６】
2012243263.tif 000008
【図７】
2012243263.tif 000009
【図８】
2012243263.tif 000010