JP5797928B2 - 論理回路の設計方法及び論理設計プログラム - Google Patents

論理回路の設計方法及び論理設計プログラム Download PDF

Info

Publication number
JP5797928B2
JP5797928B2 JP2011097822A JP2011097822A JP5797928B2 JP 5797928 B2 JP5797928 B2 JP 5797928B2 JP 2011097822 A JP2011097822 A JP 2011097822A JP 2011097822 A JP2011097822 A JP 2011097822A JP 5797928 B2 JP5797928 B2 JP 5797928B2
Authority
JP
Japan
Prior art keywords
logic
sequential circuit
circuit
sequential
input terminal
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.)
Expired - Fee Related
Application number
JP2011097822A
Other languages
English (en)
Other versions
JP2012230513A (ja
Inventor
洋治 清水
洋治 清水
泰弘 宿口
泰弘 宿口
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2011097822A priority Critical patent/JP5797928B2/ja
Priority to US13/455,733 priority patent/US8566763B2/en
Publication of JP2012230513A publication Critical patent/JP2012230513A/ja
Application granted granted Critical
Publication of JP5797928B2 publication Critical patent/JP5797928B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators 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/037Bistable circuits
    • H03K3/0372Bistable circuits of the master-slave type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、クロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路のネットリストを生成する論理回路の設計方法、その設計方法を実現するために用いる論理設計プログラム、更にはその設計方法が適用されて構成された半導体集積回路に関し、例えばマイクロコンピュータやデータプロセッサなどのデータ処理用半導体集積回路の論理合成ツールに適用して有効な技術に関する。
クロック同期で論理動作を行う論理回路には組み合わせ回路の前後に順序回路を配置したデータパスを用意し、所定のクロック周期で順序回路に入出力動作をさせることによって、データパスにクロック同期でデータを順次伝達させながら論理動作を行っていく。したがって、一つの順序回路からデータが出力されてこれを組み合わせ回路が入力して論理動作を完了するまでの論理動作時間は所要のクロック周期よりも短いことが必要になる。換言すれば、一つの順序回路からデータが出力されてこれを組み合わせ回路が入力して論理動作を完了するまでにデータが伝達されるゲート段数が最も大きい場合に必要なクロック周期によってその論理回路の論理動作速度が決まる。したがって、順序回路についてもそのゲート段数は少ないほど好ましい。特許文献1,2はそのような観点に立ってクロック同期型の順序回路それ自体のゲート段数を減らすことを可能にするものである。
特開平7−249968号公報 特開平8−181574号公報
本発明者は、クロック同期でデータ伝達を行ないながら論理動作を行なう論理回路のゲート段数を削減することについて、コンピュータ装置を用いた論理合成における組み合わせ回路と順序回路との間のデータ伝達の観点より検討した。この観点は特許文献1,2による観点とは全く相違される。本発明者による検討によれば、従来の論理合成では部品として扱われるクロック同期型順序回路の入力を正論理入力に統一することが暗黙的に行なわれていたと考えられる。例えばマスタ・スレーブ型の典型的なクロック同期順序回路は、正論理の入力端子とその非反転出力端子を有する部品と、正論理の入力端子とその反転出力端子を有する部品との2種類とされる。このとき、データパスに配置される組み合わせ回路の論理は必ずしも正論理又は負論理の一方に統一されるとは限らない。したがって、順序回路前段の組み合わせ回路が負論理回路の場合には例えば其の出力を反転するインバータを順序回路の正論理入力端子の前段に追加することが行なわれる。或いは、前段の順序回路の反転出力端子を受ける正論理の組み合わせ回路の出力を反転するインバータを次段の順序回路の正論理入力端子の前に追加することが行なわれる。このようにしてインバータが追加されたパスはクリティカルパスになることが多くなり、ゲート段数を削減して論理回路の高速化を図る上で大きな課題になることが明らかになった。
本発明の目的は、クロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路に配置された冗長なインバータを削減してゲート段数を低減することができる論理回路の設計方法を提供することにある。
更に、その方法に関連して、当該方法を容易に実現できるコンピュータ実行可能なプログラムを提供することにある。同じく、その方法に関連して、当該方法が適用された半導体集積回路を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、ハードウェア記述とセルライブラリの部品とを用いた論理合成を行ってクロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路のネットリストを生成するコンピュータ装置は、正論理入力端子と正論理非反転出力端子を有する第1順序回路、及び正論理入力端子と正論理反転出力端子を有する第2順序回路に加えて、負論理入力端子と負論理非反転出力端子を有する第3順序回路、及び負論理入力端子と負論理反転出力端子を有する第4順序回路を用いて、直列パスにおける順序回路間のクリティカルパスのゲート段数減らす最適化処理を行う。
これによれば、最適化処理では必要に応じて第1順序回路に代えて第3順序回路を利用し、また、第2順序回路に代えて第4順序回路を利用する。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、クロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路に配置された冗長なインバータを削減してゲート段数を低減することができる。
図1は本実施の形態に係る論理回路の設計方法を適用する前の直列パスと適用して得られる直列パスとを対比して例示した説明図である。 図2は第1順序回路FF1の一例を示す論理回路図である。 図3は第1順序回路FF1の動作説明図である。 図4は第2順序回路FF2の一例を示す論理回路図である。 図5は第3順序回路FF3の一例を示す論理回路図である。 図6は第4順序回路FF4の一例を示す論理回路図である。 図7は正論理順序回路の別の例を示す論理回路図である。 図8は負論理順序回路の別の例を示す論理回路図である。 図9は論理合成における最適化処理の具体例を示す説明図である。 図10は論理合成における最適化処理の別の例を示す説明図である。 図11は論理合成における最適化処理の更に別の例を示す説明図である。 図12は上記最適化処理を採用した論理回路の設計方法を実現するシステム構成を例示する説明図である。 図13は負論理順序回路FF3,FF4を部品に追加して論理合成を行なうときの直列パスに対する最適化処理の処理フローを例示するフローチャートである。 図14は正論理の入力端子Dpと正論理の非反転出力端子Qpを有する第1順序回路FF11を例示する論理回路図である。 図15は正論理の入力端子Dpと正論理の反転出力端子Qp/を有する第2順序回路FF12を例示する論理回路図である。 図16は負論理の入力端子Dn/と負論理の非反転出力端子Qn/を有する第3順序回路FF13を例示する論理回路図である。 図17は負論理の入力端子Dn/と負論理の反転出力端子Qnを有する第4順序回路FF14を例示する論理回路図である。 図18は論理合成における最適化処理の具体例を示す説明図である。 図19は論理合成における最適化処理の別の例を示す説明図である。 図20は論理合成における最適化処理の更に別を示す説明図である。 図21は上記論理合成ツール30をコンピュータ装置3で実行することにとって得られたネットリスト31などを用いて製造された半導体集積回路のブロック構成を例示するブロック図である。 図22は順序回路の別の具体例としてリセット機能付きの第2順序回路FF22を例示する論理回路図である。 図23は順序回路の別の具体例としてリセット機能付きの第3順序回路FF32を例示する論理回路図である。
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕<正論理入力端子を有する順序回路と負論理入力端子を有する順序回路を併用>
本発明の代表的な実施の形態に係る論理回路の設計方法は、コンピュータ装置(3)がハードウェア記述(1)とセルライブラリ(2)の部品とを用いた論理合成を行ってクロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路のネットリスト(31)を生成する方法である。この方法において、前記コンピュータ装置は、正論理入力端子(Dp)と正論理非反転出力端子(Qp)を有する第1順序回路(FF1,FF11)、及び正論理入力端子(Dp)と正論理反転出力端(Qp/)を有する第2順序回路(FF2,FF12)に加えて、負論理入力端子(Dn/)と負論理非反転出力端子(Qn/)を有する第3順序回路(FF3,FF13)、及び負論理入力端子(Dn/)と負論理反転出力端子(Dn)を有する第4順序回路(FF4,FF14)を用いて、前記直列パスにおける順序回路間のクリティカルパスのゲート段数を減らす最適化処理を行う。
これによれば、最適化処理では必要に応じて第1順序回路(図19のFF11_b))に代えて第3順序回路(図19のFF13_b)を利用することにより、例えば当該第1順序回路の出力段に配置された回路からインバータを1段削除することができる。また、第2順序回路(図9のFF2_c)に代えて第4順序回路(図9のFF4_c)を利用することにより例えば当該第2順序回路の出力段に配置された回路からインバータを1段削除することができる。したがって、クロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路に配置された冗長なインバータを削減してゲート段数を低減することができる。
〔2〕<正論理への極性整合用インバータの削除、第1順序回路→第4順序回路>
項1の論理回路の設計方法において、前記コンピュータ装置は前記最適化処理において、第1順序回路の正論理入力端子に接続する組み合わせ回路の最終段に正論理への極性整合用のインバータを配置可能なとき、これに代えて、当該極性整合用のインバータを削除し且つ第1順序回路を第4順序回路とする(図10、図11)。
これにより、正論理への極性整合用のインバータの削除によってクリティカルパスのゲート段数削減に資することができる。
〔3〕<第4順序回路のゲート段数は第1順序回路のゲート段数よりも少ない>
項1の論理回路の設計方法において、前記第2順序回路及び第4順序回路(図10のFF4_b)のゲート段数は第1順序回路(図10のFF1_b)及び第3順序回路のゲート段数よりも1段少ない。
これにより、順序回路についてもゲート段数の少ないものを採用可能であるから当該経路のクリティカルパスのゲート段数制約を緩和することができる。
〔4〕<正論理への極性整合用のインバータの削除、第2順序回路→第3順序回路>
項1の論理回路の設計方法において、前記コンピュータ装置は前記最適化処理において、第2順序回路の正論理入力端子に接続する組み合わせ回路の最終段に正論理への極性整合用のインバータを配置可能なとき、これに代えて、当該極性整合用のインバータを削除し且つ第2順序回路を第3順序回路とする(図20)。
これにより、正論理への極性整合用のインバータの削除によってクリティカルパスのゲート段数削減に資することができる。
〔5〕<第3順序回路のゲート段数は第2順序回路のゲート段数よりも少ない>
項4の論理回路の設計方法において、前記第1順序回路及び第3順序回路(図20のFF13_b)のゲート段数は第2順序回路(図20のFF12_b)及び第4順序回路のゲート段数よりも1段少ない。
これにより、順序回路についてもゲート段数の少ないものを採用可能であるから当該経路のクリティカルパスのゲート段数制約を緩和することができる。
〔6〕<第1乃至第4順序回路をそれぞれ別部品として持つ>
項1の論理回路の設計方法において、前記セルライブラリは前記第1順序回路、第2順序回路、第3順序回路及び第4順序回路を別々の部品として持つ。
これにより、冗長なインバータを削減するための論理回路の設計を行なうのに必要な順序回路の部品を容易に得ることができる
〔7〕<正論理入力端子を有する順序回路と負論理入力端子を有する順序回路を併用>
本発明の別の実施の形態に係る論理設計プログラム(30)は、ハードウェア記述とセルライブラリの部品とを用いた論理合成を行ってクロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路のネットリストを生成するコンピュータ装置で実行可能なプログラムである。このプログラムは、前記コンピュータ装置に、正論理入力端子と正論理非反転出力端子を有する第1順序回路、及び正論理入力端子と正論理反転出力端子を有する第2順序回路に加えて、負論理入力端子と負論理非反転出力端子を有する第3順序回路、及び負論理入力端子と負論理反転出力端子を有する第4順序回路用いて、データパスにおける順序回路間のクリティカルパスのゲート段数を減らす最適化処理を実行させる。
この論理設計プログラムによれば、クロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路に配置された冗長なインバータを削減してゲート段数を低減する方法を容易に実現することができるようになる。
〔8〕<正論理への極性整合用のインバータの削除、第1順序回路→第4順序回路>
項7の論理設計プログラムにおいて、前記最適化処理は、第1順序回路の正論理入力端子に接続する組み合わせ回路の最終段に正論理への極性整合用のインバータを配置可能なとき、これに代えて、当該極性整合用のインバータを削除し且つ第1順序回路を第4順序回路とする処理を含む。
これにより、正論理への極性整合用のインバータの削除によってクリティカルパスのゲート段数削減に資することができるようになる。
〔9〕<第4順序回路のゲート段数は第1順序回路のゲート段数よりも少ない>
項8の論理設計プログラムにおいて、前記第2順序回路及び第4順序回路のゲート段数は第1順序回路及び第3順序回路のゲート段数よりも1段少ない。
これにより、順序回路についてもゲート段数の少ないものを採用可能であるから当該経路のクリティカルパスのゲート段数制約を緩和することができるようになる。
〔10〕<正論理への極性整合用のインバータの削除、第2順序回路→第3順序回路>
項7の論理設計プログラムにおいて、前記最適化処理は、第2順序回路の正論理入力端子に接続する組み合わせ回路の最終段に正論理への極性整合用のインバータを配置可能なとき、これに代えて、当該極性整合用のインバータを削除し且つ第2順序回路を第3順序回路とする処理を含む。
これにより、正論理への極性整合用のインバータの削除によってクリティカルパスのゲート段数削減に資することができるようになる。
〔11〕<第3順序回路のゲート段数は第2順序回路のゲート段数よりも少ない>
項10の論理設計プログラムにおいて、前記第1順序回路及び第3順序回路のゲート段数は第2順序回路及び第4順序回路のゲート段数よりも1段少ない。
これにより、順序回路についてもゲート段数の少ないものを採用可能であるから当該経路のクリティカルパスのゲート段数制約を緩和することができるようになる。
〔12〕<第1乃至第4順序回路をそれぞれ別部品として持つ>
項7の論理設計プログラムにおいて、前記最適化処理は、前記第1順序回路、第2順序回路、第3順序回路及び第4順序回路をそれぞれ別々の部品としてセルライブラリから読み込んで利用する。
これにより、冗長なインバータを削減するための論理回路の設計を行なうのに必要な順序回路の部品を容易に得ることができる。
〔13〕<正論理入力端子を有する順序回路と負論理入力端子を有する順序回路が混在するLSI>
本発明の更に別の実施の形態に係る半導体集積回路(40)は、クロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路を備えてデータ処理を行なうものである。この半導体集積回路は、前記論理回路の直列パスに、正論理入力端子と正論理非反転出力端子を有する第1順序回路、及び正論理入力端子と正論理反転出力端子を有する第2順序回路に加えて、負論理入力端子と負論理非反転出力端子を有する第3順序回路、及び負論理入力端子と負論理反転出力端子を有する第4順序回路を有する。
これによれば、必要に応じて第1順序回路に代えて第3順序回路が利用されることにより例えば当該第1順序回路の出力段に配置された回路からインバータが1段削除されている。また、第2順序回路に代えて第4順序回路が利用されることにより例えば当該第2順序回路の出力段に配置された回路からインバータが1段削除されている。したがって、クロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路に配置された冗長なインバータを削減してゲート段数を低減することが実現されている。
〔14〕<負論理組み合わせ回路の出力に結合する第3順序回路>
項13の半導体集積回路において、前記直列パスは、負論理組み合わせ回路の出力を前記第3順序回路の負論理入力端子に受ける信号経路を含む。
これにより、負論理組み合わせ回路の出力を前記第1順序回路の正論理入力端子に受けるとした場合に必要な正論理への論理整合用のインバータが不要になっている。
〔15〕<負論理組み合わせ回路の出力に結合する第4順序回路>
項13の半導体集積回路において、前記直列パスは、負論理組み合わせ回路の出力を前記第4順序回路の負論理入力端子に受ける信号経路を含む。
これにより、負論理組み合わせ回路の出力を前記第2順序回路の正論理入力端子に受けるとした場合に必要な正論理への論理整合用のインバータが不要になっている。
〔16〕<正論理組み合わせ回路の出力に結合する第3順序回路>
項13の半導体集積回路において、前記直列パスは、正論理組み合わせ回路の出力を前記第3順序回路の負論理入力端子に受ける信号経路を含む。
これにより、正論理組み合わせ回路が負論理信号を受けて動作されるような場合にその出力に対して必要な正論理への論理整合用のインバータが不要になっている。
〔17〕<正論理組み合わせ回路の出力に結合する第4順序回路>
項13の半導体集積回路において、前記直列パスは、正論理組み合わせ回路の出力を前記第4順序回路の負論理入力端子に受ける信号経路を含む。
これにより、正論理組み合わせ回路が負論理信号を受けて動作されるような場合にその出力に対して必要な正論理への論理整合用のインバータが不要になっている。
2.実施の形態の詳細
実施の形態について更に詳述する。
《実施の形態1》
本実施の形態に係る論理回路の設計方法は、論理合成プログラムを実行するEWS(Engineering Workstation)などのコンピュータ装置がハードウェア記述とセルライブラリの部品とを用いた論理合成を行ってクロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路のネットリストを生成する方法である。この方法では、順序回路と組み合わせ回路の直列パスを、代表的に示された図1の直列パスDPS2のように、正論理入力端子と正論理非反転出力端子を有する第1順序回路FF1、正論理入力端子と正論理反転出力端子を有する第2順序回路FF2に加えて、負論理入力端子と負論理非反転出力端子を有する第3順序回路FF3、及び負論理入力端子と負論理反転出力端子を有する第4順序回路FF4用いて構成可能にするものであり、直列パスにどの順序回路を用いるかについては、最適化処理によって前記直列パスにおける順序回路間のクリティカルパスのゲート段数減らすようにするものである。例えば、図1に代表的に示された直列パスDPS1において組み合わせ回路CMBLが負論回路であるとき、その負論理出力を受ける順序回路に第1順序回路FF1又は第2順序回路FF2を用いる場合には、それら順序回路の入出力端子は正論理入力端子であることから、当該順序回路の前段には論理整合用のインバータINVを配置することが必要になる。このようなとき、図1の直列パスに例示されるように、負論理組み合わせ回路の負論理出力を受ける順序回路に、第3順序回路FF3又は第4順序回路FF4を用いれば、それら順序回路の入出力端子は負論理端子であることが定義されているので、上記論理整合用にインバータNVを不用にすることができる。
ここで、図2乃至図6に基づいて正論理順序回路としての第1順序回路FF1及び第2順序回路FF2と、負論理順序回路としての第3順序回路FF3及び第4順序回路との具体例を説明する。何れにおいても、順序回路の一つの例として、マスタ・スレーブの構成を持つディレイタイプの順序回路(フリップフロップ)を挙げて説明する。
図2には第1順序回路FF1の一例が示される。第1順序回路FF1は、正論理の入力端子Dpと正論理の非反転出力端子Qpを有し、その間にはCMOSトランスファゲートTGで区切られたマスタ段MSTとスレーブ段SLVが配置される。マスタ段MSTは入力ゲートを構成するクロックドインバータCINV1にマスタラッチMLTCHが直列接続されて構成される。マスタラッチMLTCHはインバータINV2とクロックドインバータCINV2が逆並列接続されて構成される。スレーブ段SLVは、インバータINV3とクロックドインバータCINV3が逆並列接続されたスレーブラッチSLTCHに3段のインバータINV4,INV5,INV6が直列接続されて構成される。インバータINV4は波形整形用であり、インバータINV6は外部出力用であり、インバータINV5は非反転出力のための反転用インバータである。
尚、出力用のインバータINV6によってスレーブラッチSLTCHの出力に対する波形整形機能も達成できる場合にはインバータINV4、INV5を省略することができるが、図2乃至図6の構成説明では出力用のインバータINV6とは別に波形整形用のインバータINV4を1段必要とする場合を一例とする。
第1順序回路において、クロックドインバータCINV1,CINV3はクロック信号CLKの反転クロック信号CLK_Nと非反転クロック信号CLK_Pの2層のクロック信号によって制御され、クロック信号CLKのハイレベルによって高インピーダンス状態、クロック信号CLKのローレベルによって出力可能な状態に制御される。クロックドインバータCINV2はクロック信号CLKの反転クロック信号CLK_Nと非反転クロック信号CLK_Pの2層のクロック信号によって制御され、クロック信号CLKのローレベルによって高インピーダンス状態、クロック信号CLKのハイレベルによって出力可能な状態に制御される。CMOSトランスファゲートCTGはクロック信号CLKの反転クロック信号CLK_Nと非反転クロック信号CLK_Pの2層のクロック信号によって制御され、クロック信号CLKのローレベルによってオフ状態、クロック信号CLKのハイレベルによってオン状態に制御される。したがって、第1順序回路FF1は図3に例示されるようにクロック信号CLKの立ち上がりで正論理の入力端子Dpの値を取り込んでと正論理の非反転出力端子Qpの値が変化されることになる。
図4には第2順序回路FF2の一例が示される。第2順序回路FF2は正論理の入力端子Dpと正論理の反転出力端子Qp/を有し、スレーブ段SLVの波形整形用インバータINV4の次段には反転インバータINV5が設けられておらず、その他の構成は図2と同様であり、同一回路には同一符号を付してその詳細な説明を省略する。この第2順序回路FF2はクロック信号CLKの立ち上がりで正論理の入力端子Dpの値を取り込んで、正論理非反転出力端子Qpの値がその反転論理値に変化されることになる。第2順序回路FF2は第1順序回路FF1に比べては反転動作が1回少ないからその分だけ出力の確定が速くなる。
図5には第3順序回路FF3の一例が示される。第3順序回路FF3は負論理の入力端子Dn/と負論理の非反転出力端子Qn/を有し、その他の構成は図3と同様であり同一回路には同一符号を付してその詳細な説明を省略する。要するに、第1順序回路FF1の正論理入力端子Dpには正論理の論理信号、例えば論理値1がハイレベル、又は論理値0がローレベルの信号が供給されるものとすることに対して、第3順序回路FF3の負論理入力端子Dn/には負論理の論理信号、例えば論理値1がローレベル、論理値0がハイレベルの信号が供給されるものとする、点が相違される。正論理出力端子と非反転出力端子との関係も同様であり、第1順序回路FF1の正論理出力端子Qpには正論理の論理信号、例えば論理値1がハイレベル、又は論理値0がローレベルの信号が出力されるものとすることに対して、第3順序回路FF3の負論理非反転出力端子Qn/には負論理の論理信号、例えば論理値1がローレベル、論理値0がハイレベルの信号が出力されるものとする、点が相違される。この第3順序回路FF3はクロック信号CLKの立ち上がりで負論理の入力端子Dn/の値を取り込んで、負論理非反転出力端子Qp/の値がその非反転論理値に変化されることになる。
図6には第4順序回路FF4の一例が示される。第4順序回路FF4は負論理の入力端子Dn/と負論理の反転出力端子Qnを有し、その他の構成は図4と同様であり同一回路には同一符号を付してその詳細な説明を省略する。要するに、第2順序回路FF1の正論理入力端子Dpには正論理の論理信号、例えば論理値1がハイレベル、又は論理値0がローレベルの信号が供給されるものとすることに対して、第4順序回路FF3の負論理入力端子Dn/には負論理の論理信号、例えば論理値1がローレベル、論理値0がハイレベルの信号が供給されるものとする、点が相違される。正論理出力端子と非反転出力端子との関係も同様であり、第2順序回路FF2の正論理出力端子Qpには正論理の論理信号、例えば論理値1がハイレベル、又は論理値0がローレベルの信号が出力されるものとすることに対して、第4順序回路FF4の負論理反転出力端子Qnには負論理の論理信号、例えば論理値1がローレベル、論理値0がハイレベルの信号が出力されるものとする、点が相違される。この第4順序回路FF4はクロック信号CLKの立ち上がりで負論理の入力端子Dn/の値を取り込んで、負論理反転出力端子Qpの値がその反転論理値に変化されることになる。第4順序回路FF4は第3順序回路FF3に比べては反転動作が1回少ないからその分だけ出力の確定が速くなる。
図7には正論理順序回路の別の例が示される。図7に示される順序回路FF1・2は前記第1順序回路FF1と第2順序回路FF2を集約した構成を備えるものであり、正論理入力端子Dp,正論理非反転出力端子Qp及び正論理反転出力端子Qp/を備え、図2及び図4の構成に対して、マスタ段MST、トランスファゲートTG、スレーブラッチSLTCH及び波形整形用インバータINV4が共通化され、出力用インバータINV6_Aが非反転出力用に専用化され、出力用インバータINV6_Bが反転出力用に専用化されて構成される。この順序回路FF1・2は正論理入力端子Dpからの入力を正論理非反転出力端子Qpと正論理反転出力端子Qp/の双方に分配するときに用いられる。尚、本明細書において第1順序回路FF1というときは正論理入力端子Dpと正論理非反転出力端子Qpとを用いた順序回路FF1・2を意味するものとし、第2順序回路FF2というときは正論理入力端子Dpと正論理反転出力端子Qp/とを用いた順序回路FF1・2を意味するものとする。
図8には負論理順序回路の別の例が示される。図8に示される順序回路FF3・4は前記第3順序回路FF3と第4順序回路FF4を集約した構成を備えるものであり、負論理入力端子Dn/,負論理非反転出力端子Qn/及び負論理反転出力端子Qnを備え、図5及び図6の構成に対して、マスタ段MST、トランスファゲートTG、スレーブラッチSLTCH及び波形整形用インバータINV4が共通化され、出力用インバータINV6_Aが非反転出力用に専用化され、出力用インバータINV6_Bが反転出力用に専用化されて構成される。この順序回路FF3・4は負論理入力端子Dnからの入力を負論理非反転出力端子Qn/と負論理反転出力端子Qnの双方に分配するときに用いられる。尚、本明細書において第3順序回路FF3というときは負論理入力端子Dnと負論理非反転出力端子Qn/とを用いた順序回路FF3・4を意味するものとし、第4順序回路FF4というときは負論理入力端子Dnと負論理反転出力端子Qnとを用いた順序回路FF3・4を意味するものとする。
図9には論理合成における最適化処理の具体例が示される。ここでは正論理組み合わせ回路CMBLp_a、負論理組み合わせ回路CMBLn_b、及び正論理組み合わせ回路CNBLp_cによる直列系を考えるものとし、それらの組み合わせ回路に正論理順序回路FF1,FF2だけを挿入して構成する直列経路DPS2に対して、それらの組み合わせ回路に正論理順序回路FF1,FF2だけでなく負論理順序回路FF4(FF3)を挿入して構成した直列パスDPS3を採用した例が示される。
直列パスDPS2では、正論理組み合わせ回路CMBLp_aの前段に正論理順序回路FF1_aが配置され、その後段に正論理順序回路FF1_bが配置され、負論理組み合わせ回路CMBLn_bの後段にインバータINV_bと正論理順序回路FF1_cが配置され、正論理組み合わせ回路CNBLp_cの後段にインバータINV_cと正論理順序回路FF1_dが配置される。インバータINV_bは負論理組み合わせ回路CMBLn_bの負論理出力を正論理順序回路FF2_cに供給するための論理整合用インバータとして機能する。インバータINV_cは反転信号を受けて論理動作を行なう正論理組み合わせ回路CMBLp_cの負論理出力を正論理順序回路FF2_dに供給するための論理整合用インバータとして機能する。
直列パスDPS3では、正論理順序回路FF1_b、FF2_cを負論理順序回路FF4_b、FF4_cに変更し、インバータINV_b、INV_cを廃止し、正論理組み合わせ回路CMBLp_aの次段に論理整合用のインバータINV_aを追加して、当該直列パスのゲート段数に対する最適化が行なわれる。即ち、正論理順序回路FF1_bを負論理順序回路FF4_bに変えることによってゲート段数が1段減る。正論理組み合わせ回路CMBLp_aの出力を当該負論理順序回路FF4_bの負論理入力端子に受けるために論理整合用のインバータINV_aを追加してゲート段数が1段増える。正論理順序回路FF1_cを負論理順序回路FF4_cに変えることによってゲート段数が1段減る。負論理順序回路FF4_cは負論理組み合わせ回路CMBLn_bの負論理出力を負論理入力端子Dn/で直接受け取ることができるからインバータINV_bを廃止してゲート段数が1段減る。正論理組み合わせ回路CMBLp_cは負論理順序回路FF4_cから出力される負論理信号の反転信号を入力するからインバータINV_cを廃止してゲート段数が1段減る。直列パスDPS3に入力されて当該パスから出力される信号の論理値は直列パスDPS2に入力されて当該パスから出力される信号の論理値と一致する。従って、直列パスDPS2が直列パスDPS3に置き換えられるような最適化の例に拠れば、そのゲート段数を全体として2段減らすことができ、直列パスDPS2に含まれるゲート段数16段と17段のクリティカルパスが直列パスDPS3ではゲート段数15段と16段に改善される。
図10には論理合成における最適化処理の別の例が示される。ここでは負論理組み合わせ回路CMBLn_aによる直列パスを考えるものとし、この組み合わせ回路に正論理順序回路FF1だけを挿入して構成する直列パスDPS4に対して、それらの組み合わせ回路に正論理順序回路FF1だけでなく負論理順序回路FF4を挿入して構成した直列パスDPS5を採用した例が示される。直列パスDPS4では、負論理組み合わせ回路CMBLn_aの前段に正論理順序回路FF1_aが配置され、その後段にインバータINV_aと正論理順序回路FF1_bが配置される。インバータINV_aは負論理組み合わせ回路CMBLn_aの負論理出力を正論理順序回路FF1_bに供給するための論理整合用インバータとして機能する。
直列パスDPS5では、正論理順序回路FF1_bを負論理順序回路FF4_bに変更し、インバータINV_aを廃止して、当該直列パスのゲート段数に対する最適化が行なわれる。即ち、正論理順序回路FF1_bを負論理順序回路FF4_bに変えることによってゲート段数が1段減る。負論理順序回路FF4_bは負論理組み合わせ回路CMBLn_aの負論理出力を負論理入力端子Dn/で直接受け取ることができるからインバータINV_aを廃止してゲート段数が1段減る。直列パスDPS4に入力されて当該パスから出力される信号の論理値は直列パスDPS5に入力されて当該パスから出力される信号の論理値と一致する。従って、直列パスDPS4が直列パスDPS5に置き換えられるような最適化の例に拠れば、そのゲート段数を全体として2段減らすことができる。そのうちの1段は論理整合用のインバータINV_aの削減によるものである。
図11には論理合成における最適化処理の更に別の例が示される。ここでは正論理組み合わせ回路CMBLp_aによる直列パスを考えるものとし、この組み合わせ回路に正論理順序回路FF1、FF2だけを挿入して構成する直列パスDPS6に対して、それらの組み合わせ回路に正論理順序回路FF1、FF2だけでなく、負論理順序回路FF4を挿入して構成した直列パスDPS7を採用した例が示される。直列パスDPS6では、正論理組み合わせ回路CMBLp_aの前段に正論理順序回路FF2_aが配置され、その後段にインバータINV_aと正論理順序回路FF1_bが配置される。インバータINV_aは正論理組み合わせ回路CMBLp_aから出力される正論理出力の反転信号を正論理順序回路FF1_bに供給するための論理整合用インバータとして機能する。
直列パスDPS7では、正論理順序回路FF1_bが負論理順序回路FF4_bに変更され、インバータINV_aが廃止されて、当該直列パスのゲート段数に対する最適化が行なわれる。即ち、正論理順序回路FF1_bを負論理順序回路FF4_bに変えることによってゲート段数が1段減る。負論理順序回路FF4_bは正論理組み合わせ回路CMBLp_aの反転出力信号を負論理信号として負論理入力端子Dn/で直接受け取ることができるから、インバータINV_aを廃止してゲート段数が1段減る。直列パスDPS6に入力されて当該パスから出力される信号の論理値は直列パスDPS7に入力されて当該パスから出力される信号の論理値と一致する。従って、直列パスDPS6が直列パスDPS7に置き換えられるような最適化の例に拠れば、そのゲート段数を全体として2段減らすことができる。そのうちの1段は論理整合用のインバータINV_aの削減によるものである。
図12には上記最適化処理を採用した論理回路の設計方法を実現するシステム構成が例示される。
1は半導体集積回路、或いはそれを構成するための回路モジュール等の論理設計対象とされる回路の構成が特定のハードウェア記述言語で記述されたハードウェア記述である。特定の言語として、HDL(Hardware description language)、RTL(Register Transfer Level、又はRegister Transfer Language)或いはC言語などが用いられる。ハードウェア記述はLSI(半導体集積回路)の製造会社、設計会社又は販売会社などのベンダーが提供する所謂IP(Intellectual Property)モジュールとして提供される。或いは自社開発して揃えることも可能である。
2はセルライブラリであり、ANDゲート、ORゲート、NANDゲート、NORゲート、クロックドインバータ、インバータなどに代表される基本ロジック回路などを構成するための機能データやパターンデータとされる多種の部品が格納された部品データベースである。このセルライブラリには組み合わせ回路はもとより順序回路の部品も含まれている。順序回路の部品は上述のように正論理順序回路だけでない、負論理順序回路の部品も保有している。ディレイタイプのクロック同期型順序回路であれば図2乃至図8で説明した第1順序回路FF1,第2順序回路FF2,第3順序回路FF3及び第4順序回路FF4を別々に含む。
3はコンピュータ装置である。コンピュータ装置3は、デザインコンパイラーとも称されるような論理合成ツール30を実行することにより、組み合わせ回路との直列パスを含む論理回路のネットリスト31を生成する。更にコンピュータ装置3は、ICコンパイラーとも称される物理配置配線ツール32を実行することにより、前記ネットリスト31に基づいて半導体集積回路や、半導体集積回路に搭載される回路モジュールについて配置配線を行なってマスクパターンデータ若しくはエレクトロンビーム描画などのためパターン描画データなどを生成する。上記論理合成の処理では、前記第1順序回路FF1、第2順序回路FF2に加えて、第3順序回路FF3及び第4順序回路FF4用いて、クロック同期型の順序回路と組み合わせ回路との直列パスにおける順序回路間のクリティカルパスのゲート段数を減らす最適化処理を行う。
IPモジュールとしてハードウェアモジュールが提供される場合には、提供者はその記述に基づいて製造される回路機能を保証するために一切の改変を禁止する禁止条項の遵守をIPの提供条件とするのが普通である。従ってそのような条件でIPモジュールを利用することを想定すると、当該IPモジュールによって実現される回路の機能上の信頼性を高くするには、一般的に、論理合成ツールを提供するベンダーが提供するセルライブラリを用いることが得策となる。従って、異なる半導体集積回路会社が同じベンダーのIPモジュールを用いて同じベンダーが提供するセルライブラリを用いて論理合成した結果は同一になると考えられる。セルライブラリに登録する部品は自社で開発することも可能であり、そのような部品が登録されたセルライブラリを用いて論理合成したときは、IPモジュールが同じでも結果は同一になるとは限らない。なぜならば、デザインコンパイラーなどの論理合成ツールはハードウェア記述で特定される機能を実現することができる構成を多様に生み出すことができ、論理合成ツールに与えられる動作速度やチップサイズなどのコンパイル条件(パラメータ)を満足するように最適化されたネットリストを生成する最適化機能をもともと備えている。したがって、使用できる部品の種類が多ければ、その最大限の範囲で最適化が行なわれるため、論理合成の結果も相違することが予想されるからである。負論理順序回路FF3,FF4を用いた上記最適化の処理もそれに依存して行うことができる。これについて図13を参照しながら更に詳述する。
図13には負論理順序回路FF3,FF4を部品に追加して論理合成を行なうときの直列パスに対する最適化処理の処理フローが例示される。
従来、負論理順序回路FF3,FF4はセルライブラリの部品として提供されていないので、セルライブラリに負論理順序回路FF3,FF4を追加し、或いは負論理順序回路FF3,FF4を有するセルライブラリを予め開発しておく(S1)。ディレイタイプのクロック同期型順序回路であってもその種類は図2乃至図8で説明したノーマル機能の範囲に限定されるものではなく、リセット機能付き、セット機能付き、スキャン回路機能付きなど多種に及び、夫々の機能について負論理順序回路を用意しておく。この場合にそれぞれ別々に全て用意することまで意味するものではなく、正論理順序回路と負論理順序回路の間で共通化できるパターンや一部の機能記述などのデータについては共用できるデータ形式にすればよい。尚、図22にはリセット機能付きの第2順序回路FF22が例示され、図23にはリセット機能付きの第3順序回路FF32が例示される。
論理合成の条件として、動作速度(又は動作遅延時間)、チップ面積(又はチップ占有面積)、消費電力、及びリーク電力などの指示が記述されたパラメータファイルをコンピュータ装置3に与える(S2)。
コンピュータ装置3にはパラメータファイルと共にRTLなどによるハードウェア記述が与えられ、セルライブラリを参照しながらハードウェア記述に従って、論理合成を行なって(S4)、ネットリストを生成する(S5)。ステップS4の論理合成では、与えられたパラメータの優先順位に従ってタイミングやチップサイズなどの最適化が行なわれる。組み合わせ回路とクロック同期型の順序回路とによる直列バスの生成では、速度などの優先順位に応じて、図9、図10及び図11などで説明したように負論理順序回路を用いて論理整合用インバータを削減したりする最適化処理が行なわれる。この処理はコンピュータ装置3が実行するデザインコンパイラーのような論理合成ツールとしての論理設計プログラムのより制御に従って実行される。その制御内容は上述した通りであり、繰り返し説明は省略する。
この実施の形態によれば以下の作用効果を得る。
(1)最適化処理では図9に例示されるように必要に応じて第2順序回路FF2_cに代えて第4順序回路FF4_cを利用することにより例えば当該第2順序回路の出力段に配置された回路からインバータINV_bを1段削除することができる。したがって、クロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路に配置された冗長なインバータを削減してゲート段数を低減することができる。
(2)前記コンピュータ装置3は前記最適化処理において、図10、図11に例示されるように、第1順序回路FF1_bの正論理入力端子に接続する組み合わせ回路の最終段に正論理への極性整合用のインバータINV_aを配置可能なとき、これに代えて、当該極性整合用のインバータを削除し且つ第1順序回路を第4順序回路FF4_bとすることにより、正論理への極性整合用のインバータの削除によってクリティカルパスのゲート段数削減に資することができる。
(3)図4乃至図8に例示されるように前記第2順序回路FF2及び第4順序回路FF4のゲート段数は第1順序回路FF1及び第3順序回路FF3のゲート段数よりも1段少なくされることにより、図10、図11の場合には、FF1からFF4への変更に際して順序回路それ自体についてもゲート段数の少ないものを採用可能であるから当該経路のクリティカルパスのゲート段数制約を緩和することができる。
《実施の形態2》
実施の形態1で説明した順序回路FF1、FF2,FF3,FF4では出力用のインバータINV6とは別に波形整形用のインバータINV4を1段必要とする場合を一例としたが、実施の形態2では、出力用のインバータINV6によってスレーブラッチSLTCHの出力に対する波形整形機能も達成できるものとし、それに伴って、図2乃至図6のインバータINV4、INV5を省略した順序回路FF11、FF12,FF13,FF14を用いる場合について説明する。
図14には正論理の入力端子Dpと正論理の非反転出力端子Qpを有する第1順序回路FF11が例示される。これは図2に対してインバータINV4,INV5を削除して構成したが点が相違され、その他は同じであり、同一回路には同じ符号を付してその詳細な説明を省略する。図2に比べてゲート段数は2段少なくなっている。
図15には正論理の入力端子Dpと正論理の反転出力端子Qp/を有する第2順序回路FF12が例示される。これは図4に対してインバータINV4を反転出力用の反転インバータINV5に変更して構成したが点が相違され、その他は同じであり、同一回路には同じ符号を付してその詳細な説明を省略する。ゲート段数は図4と同じである。
図16には負論理の入力端子Dn/と負論理の非反転出力端子Qn/を有する第3順序回路FF13が例示される。これは図5に対してインバータINV4,INV5を削除して構成したが点が相違され、その他は同じであり、同一回路には同じ符号を付してその詳細な説明を省略する。図5に比べてゲート段数は2段少なくなっている。
図17には負論理の入力端子Dn/と負論理の反転出力端子Qnを有する第4順序回路FF14が例示される。これは図6に対してインバータINV4を反転出力用の反転インバータINV5に変更して構成したが点が相違され、その他は同じであり、同一回路には同じ符号を付してその詳細な説明を省略する。ゲート段数は図6と同じである。
図18には論理合成における最適化処理の具体例が示される。ここでは正論理組み合わせ回路CMBLp_a、負論理組み合わせ回路CMBLn_b、及び正論理組み合わせ回路CNBLp_cによる直列系を考えるものとし、それらの組み合わせ回路に正論理順序回路FF11,FF12だけを挿入して構成する直列経路DPS12に対して、それらの組み合わせ回路に正論理順序回路FF11,FF12だけでなく負論理順序回路FF13を挿入して構成した直列パスDPS13を採用した例が示される。
直列パスDPS12では、正論理組み合わせ回路CMBLp_aの前段に正論理順序回路FF11_aが配置されその後段に正論理順序回路FF11_bが配置され、負論理組み合わせ回路CMBLn_bの後段にインバータINV_bと正論理順序回路FF11_cが配置され、正論理組み合わせ回路CNBLp_cの後段にインバータINV_cと正論理順序回路FF11_dが配置される。インバータINV_bは負論理組み合わせ回路CMBLn_bの負論理出力を正論理順序回路FF2_cに供給するための論理整合用インバータとして機能し、インバータINV_cは反転信号を受けて論理動作を行なう正論理組み合わせ回路CMBLp_cの負論理出力を正論理順序回路FF2_dに供給するための論理整合用インバータとして機能する。
直列パスDPS13では、正論理順序回路FF11_b、FF12_cを負論理順序回路FF13_b、FF13_cに変更し、インバータINV_b、INV_cを廃止し、正論理組み合わせ回路CMBLp_aの次段に論理整合用のインバータINV_aを追加して、当該直列パスのゲート段数に対する最適化が行なわれる。即ち、正論理順序回路FF11_bを負論理順序回路FF13_bに変えることによってゲート段数が1段減る。正論理組み合わせ回路CMBLp_aの出力を当該負論理順序回路FF13_bの負論理入力端子に受けるために論理整合用のインバータINV_aを追加してゲート段数が1段増える。正論理順序回路FF11_cを負論理順序回路FF13_cに変えることによってゲート段数が1段減る。負論理順序回路FF13_cは負論理組み合わせ回路CMBLn_bの負論理出力を負論理入力端子Dn/で直接受け取ることができるからインバータINV_bを廃止してゲート段数が1段減る。正論理組み合わせ回路CMBLp_cは負論理順序回路FF13_cから出力される負論理信号の反転信号を入力するからインバータINV_cを廃止してゲート段数が1段減る。直列パスDPS13に入力されて当該パスから出力される信号の論理値は直列パスDPS12に入力されて当該パスから出力される信号の論理値と一致する。従って、直列パスDPS12が直列パスDPS13に置き換えられるような最適化の例に拠れば、そのゲート段数を全体として2段減らすことができ、直列パスDPS12に含まれるゲート段数16段と17段のクリティカルパスが直列パスDPS13ではゲート段数15段と16段に改善される。
図19には論理合成における最適化処理の別の例が示される。ここでは負論理組み合わせ回路CMBLn_aによる直列パスを考えるものとし、この組み合わせ回路に正論理順序回路FF11だけを挿入して構成する直列パスDPS14に対して、それらの組み合わせ回路に正論理順序回路FF11だけでなく負論理順序回路FF13を挿入して構成した直列パスDPS15を採用した例が示される。直列パスDPS14では、負論理組み合わせ回路CMBLn_aの前段に正論理順序回路FF11_aが配置され、その後段にインバータINV_aと正論理順序回路FF11_bが配置される。インバータINV_aは負論理組み合わせ回路CMBLn_aの負論理出力を正論理順序回路FF1_bに供給するための論理整合用インバータとして機能する。
直列パスDPS15では、正論理順序回路FF11_bを負論理順序回路FF13_bに変更し、インバータINV_aを廃止して、当該直列パスのゲート段数に対する最適化が行なわれる。即ち、正論理順序回路FF11_bを負論理順序回路FF13_bに変えることによってゲート段数が1段減る。負論理順序回路FF13_bは負論理組み合わせ回路CMBLn_aの負論理出力を負論理入力端子Dn/で直接受け取ることができるからインバータINV_aを廃止してゲート段数が1段減る。直列パスDPS14に入力されて当該パスから出力される信号の論理値は直列パスDPS15に入力されて当該パスから出力される信号の論理値と一致する。従って、直列パスDPS14が直列パスDPS15に置き換えられるような最適化の例に拠れば、そのゲート段数を全体として2段減らすことができる。そのうちの1段は論理整合用のインバータINV_aの削減によるものである。
図20には論理合成における最適化処理の更に別の例が示される。ここでは正論理組み合わせ回路CMBLp_aによる直列パスを考えるものとし、この組み合わせ回路に正論理順序回路FF12だけを挿入して構成する直列パスDPS16に対して、それらの組み合わせ回路に正論理順序回路FF12だけでなく負論理順序回路FF13を挿入して構成した直列パスDPS17を採用した例が示される。直列パスDPS16では、正論理組み合わせ回路CMBLp_aの前段に正論理順序回路FF12_aが配置されその後段にインバータINV_aと正論理順序回路FF12_bが配置される。インバータINV_aは正論理組み合わせ回路CMBLp_aから出力される正論理出力の反転信号を正論理順序回路FF12_bに供給するための論理整合用インバータとして機能する。
直列パスDPS17では、正論理順序回路FF12_bが負論理順序回路FF13_bに変更され、インバータINV_aが廃止されて、当該直列パスのゲート段数に対する最適化が行なわれる。即ち、正論理順序回路FF12_bを負論理順序回路FF13_bに変えることによってゲート段数が1段減る。負論理順序回路FF13_bは正論理組み合わせ回路CMBLp_aの反転出力信号を負論理信号として負論理入力端子Dn/で直接受け取ることができるからインバータINV_aを廃止してゲート段数が1段減る。直列パスDPS16に入力されて当該パスから出力される信号の論理値は直列パスDPS17に入力されて当該パスから出力される信号の論理値と一致する。従って、直列パスDPS16が直列パスDPS17に置き換えられるような最適化の例に拠れば、そのゲート段数を全体として2段減らすことができる。そのうちの1段は論理整合用のインバータINV_aの削減によるものである。
上記最適化処理を採用した論理回路の設計方法は図12のシステムを利用して実現すればよい。負論理順序回路FF13,FF14を部品に追加して論理合成を行なうときの直列パスに対する最適化処理も図13の処理フローに従って行なえばよい。
この実施の形態によれば以下の作用効果を得る。
(1)図19のように最適化処理では必要に応じて第1順序回路FF11_bに代えて第3順序回路FF13_bを利用することにより、例えば当該第1順序回路FF11_bの出力段に配置された回路からインバータINV_aを1段削除することができる。したがって、クロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路に配置された冗長なインバータを削減してゲート段数を低減することができる。
(2)図18(図20)に示されるように前記最適化処理において、図18の第2順序回路FF12_c(図20のFF12_b)の正論理入力端子に接続する組み合わせ回路の最終段に正論理への極性整合用のインバータINV_b(図20のINV_a)を配置可能なとき、これに代えて、当該極性整合用のインバータを削除し且つ第2順序回路を第3順序回路FF13_c(図20のFF13_b)とすることにより、正論理への極性整合用のインバータの削除によってクリティカルパスのゲート段数削減に資することができる。
(3)図14乃至図17に例示されるように前記第1順序回路FF11及び第3順序回路FF13のゲート段数は第2順序回路FF12及び第4順序回路FF14のゲート段数よりも1段少ないから、図18及び図20の場合には、FF12からFF13への変更に際して順序回路それ自体についてもゲート段数の少ないものを採用可能であるから当該経路のクリティカルパスのゲート段数制約を緩和することができる。
《実施の形態3》
図21には上記論理合成ツール30をコンピュータ装置3で実行することにとって得られたネットリスト31などを用いて製造された半導体集積回路のブロック構成が例示される。同図に示される半導体集積回路40は、特に制限されないが、単結晶シリコンのような1個の半導体基板にCMOS集積回路製造技術に形成される。
半導体集積回路(LSI)40はマイクロコンピュータ、マイクロプロセッサ、プロセッサ若しくはシステムオンチップのシステムLSI(SOC)のようなデータ処理用デバイスとされる。ここでは、CPU(中央処理装置)やキャッシュメモリなどを有するプロセッサコア(PRCSCOR)50を中心に、アクセラレータとしての2次元グラフィック処理モジュール(2DMDL)51、3次元グラフィック処理モジュール(3DMDL)52、画像圧縮伸張モジュール(MPGMDL)53、及びオーディー処理モジュール(AUDMDL)54、さらにはワークメモリやデータメモリとして用いられるRAM55などが内部バス56に接続されて構成される。夫々の回路モジュール50乃至55は、特に制限されないが、CPUによるプログラム制御或いは専用ロジックによる論理動作を行なって所定のデータ処理を行なう。特に図示はしないが回路モジュール50乃至55はクロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路を備えてデータ処理を行なうものである。この半導体集積回路40は、前記論理回路の直列パスに、正論理入力端子と正論理非反転出力端子を有する第1順序回路FF1,FF11、及び正論理入力端子と正論理反転出力端を有する第2順序回路FF2,FF12に加えて、負論理入力端子と負論理非反転出力端子を有する第3順序回路FF3,FF13、及び負論理入力端子と負論理反転出力端子を有する第4順序回路FF4,FF14を有する。
例えば、前記直列パスは、例えば図18(図19)に例示されるように負論理組み合わせ回路CMBLn_b(図19のCMBLn_a)の出力を前記第3順序回路FF13_c(図19のFF13_b)の負論理入力端子に受ける信号経路を含む。これにより、負論理組み合わせ回路の出力を前記第1順序回路の正論理入力端子に受けるとした場合に必要な正論理への論理整合用のインバータが不要になっている。
また、図9(図10)に例示されるように、前記直列パスは、負論理組み合わせ回路CMBLn_b(図10のCMBLn_a)の出力を前記第4順序回路FF4_c(FF4_b)の負論理入力端子に受ける信号経路を含む。これにより、負論理組み合わせ回路の出力を前記第2順序回路の正論理入力端子に受けるとした場合に必要な正論理への論理整合用のインバータが不要になっている。
更に別の例として、図20に例示されるように、前記直列パスは、正論理組み合わせ回路CMBLp_aの出力を前記第3順序回路FF13_bの負論理入力端子に受ける信号経路を含む。これにより、正論理組み合わせ回路が負論理信号を受けて動作されるような場合のその出力に対して必要な正論理への論理整合用のインバータが不要になっている。
また、図11に例示されるように、前記直列パスは、正論理組み合わせ回路CMBLp_aの出力を前記第4順序回路FF4_bの負論理入力端子に受ける信号経路を含む。これにより、正論理組み合わせ回路が負論理信号を受けて動作されるような場合のその出力に対して必要な正論理への論理整合用のインバータが不要になっている。
したがって、クロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路に配置された冗長なインバータを削減してゲート段数を低減することが実現されている。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、順序回路の種類、機能、ゲート段数などについては上記実施の形態に限定されず適宜変更可能であることは言うまでもない。
本発明による論理回路の設計方法を用いて製造された半導体集積回路であるか否かについては、それに含まれる順序回路が正論理順序回路であるのか負論理順序回路であるのかを直列経路の回路接続によって特定すればよい。それが難しい場合には、順序回路の部品が異なるときに同じハードウェア記述と論理合成ツールを用いた時に現れるゲート段数の相違から、その方法に使用を推定することが可能である。前述のように一般にIPモジュールの改変が禁止されていれば、同じIPモジュールを使って設計された回路の構成に相違がある場合には使用した部品が相違することになるからである。
DPS1、DPS2 直列パス
FF1、FF11 第1順序回路
FF2、FF12 第2順序回路
FF3、FF13 第3順序回路
FF4、FF14 第4順序回路
CMBL 組み合わせ回路
CMBLp 正論理組み合わせ回路
CMBLn 負論理組み合わせ回路
Dp 正論理の入力端子
Qp 非反転出力端子
TM CMOSトランスファゲート
MST マスタ段
SLV スレーブ段
Qp/ 正論理の反転出力端子
Dn/ 負論理の入力端子
Qn/ 負論理の非反転出力端子
Qn 負論理の反転出力端子
FF1・2 第1順序回路及び第2順序回路の集約型順序回路
FF3・4 第3順序回路及び第4順序回路の集約型順序回路
1 ハードウェア記述
2 セルライブラリ
3 コンピュータ装置
30 論理合成ツール
31 ネットリスト
40 半導体集積回路(LSI)
50 プロセッサコア(PRCSCOR)
51 2次元グラフィック処理モジュール(2DMDL)
52 3次元グラフィック処理モジュール(3DMDL)
53 画像圧縮伸張モジュール(MPGMDL)
54 オーディー処理モジュール(AUDMDL)
55 RAM
56 内部バス

Claims (12)

  1. コンピュータ装置がハードウェア記述とセルライブラリの部品とを用いた論理合成を行ってクロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路のネットリストを生成する論理回路の設計方法であって、
    前記コンピュータ装置は、正論理入力端子と正論理非反転出力端子を有する第1順序回路、及び正論理入力端子と正論理反転出力端を有する第2順序回路に加えて、前記第1順序回路と当該入力端子及び出力端子の論理以外が同一の論理で負論理入力端子と負論理非反転出力端子を有する第3順序回路、及び前記第2順序回路と当該入力端子及び出力端子の論理以外が同一の論理で負論理入力端子と負論理反転出力端子を有する第4順序回路を用いて、前記直列パスにおけるクリティカルパスのゲート段数を減らす最適化処理を行い、
    前記第1順序回路は、インバータが直列に接続された第1インバータ列を含み、
    前記第2順序回路は、前記第1インバータ列とは異なる段数のインバータが直列に接続された第2インバータ列を含む、論理回路の設計方法。
  2. 前記コンピュータ装置は前記最適化処理において、第1順序回路の正論理入力端子に接続する組み合わせ回路の最終段に正論理への極性整合用のインバータを配置可能なとき、これに代えて、当該極性整合用のインバータを削除し且つ第1順序回路を第4順序回路とする、請求項1記載の論理回路の設計方法。
  3. 前記第2順序回路及び第4順序回路のゲート段数は第1順序回路及び第3順序回路のゲート段数よりも1段少ない、請求項2記載の論理回路の設計方法。
  4. 前記コンピュータ装置は前記最適化処理において、第2順序回路の正論理入力端子に接続する組み合わせ回路の最終段に正論理への極性整合用のインバータを配置可能なとき、これに代えて、当該極性整合用のインバータを削除し且つ第2順序回路を第3順序回路とする、請求項1記載の論理回路の設計方法。
  5. 前記第1順序回路及び第3順序回路のゲート段数は第2順序回路及び第4順序回路のゲート段数よりも1段少ない、請求項4記載の論理回路の設計方法。
  6. 前記セルライブラリは前記第1順序回路、第2順序回路、第3順序回路及び第4順序回路を別々の部品として持つ、請求項1記載の論理回路の設計方法。
  7. ハードウェア記述とセルライブラリの部品とを用いた論理合成を行ってクロック同期型の順序回路と組み合わせ回路との直列パスを含む論理回路のネットリストを生成するコンピュータ装置で実行可能な論理設計プログラムであって、
    前記コンピュータ装置に、正論理入力端子と正論理非反転出力端子を有する第1順序回路、及び正論理入力端子と正論理反転出力端子を有する第2順序回路に加えて、前記第1順序回路と当該入力端子及び出力端子の論理以外が同一の論理で負論理入力端子と負論理非反転出力端子を有する第3順序回路、及び前記第2順序回路と当該入力端子及び出力端子の論理以外が同一の論理で負論理入力端子と負論理反転出力端子を有する第4順序回路を用いて、前記直列パスにおけるクリティカルパスのゲート段数減らす最適化処理を実行させ
    前記第1順序回路は、インバータが直列に接続された第1インバータ列を含み、
    前記第2順序回路は、前記第1インバータ列とは異なる段数のインバータが直列に接続された第2インバータ列を含む、論理設計プログラム。
  8. 前記最適化処理は、第1順序回路の正論理入力端子に接続する組み合わせ回路の最終段に正論理への極性整合用のインバータを配置可能なとき、これに代えて、当該極性整合用のインバータを削除し且つ第1順序回路を第4順序回路とする処理を含む、請求項7記載の論理設計プログラム。
  9. 前記第2順序回路及び第4順序回路のゲート段数は第1順序回路及び第3順序回路のゲート段数よりも1段少ない、請求項8記載の論理設計プログラム。
  10. 前記最適化処理は、第2順序回路の正論理入力端子に接続する組み合わせ回路の最終段に正論理への極性整合用のインバータを配置可能なとき、これに代えて、当該極性整合用のインバータを削除し且つ第2順序回路を第3順序回路とする処理を含む、請求項7記載の論理設計プログラム。
  11. 前記第1順序回路及び第3順序回路のゲート段数は第2順序回路及び第4順序回路のゲート段数よりも1段少ない、請求項10記載の論理設計プログラム。
  12. 前記最適化処理は、前記第1順序回路、第2順序回路、第3順序回路及び第4順序回路をそれぞれ別々の部品としてセルライブラリから読み込んで利用する、請求項7記載の論理設計プログラム。
JP2011097822A 2011-04-26 2011-04-26 論理回路の設計方法及び論理設計プログラム Expired - Fee Related JP5797928B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011097822A JP5797928B2 (ja) 2011-04-26 2011-04-26 論理回路の設計方法及び論理設計プログラム
US13/455,733 US8566763B2 (en) 2011-04-26 2012-04-25 Logic circuit design method, logic design program, and semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011097822A JP5797928B2 (ja) 2011-04-26 2011-04-26 論理回路の設計方法及び論理設計プログラム

Publications (2)

Publication Number Publication Date
JP2012230513A JP2012230513A (ja) 2012-11-22
JP5797928B2 true JP5797928B2 (ja) 2015-10-21

Family

ID=47067417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011097822A Expired - Fee Related JP5797928B2 (ja) 2011-04-26 2011-04-26 論理回路の設計方法及び論理設計プログラム

Country Status (2)

Country Link
US (1) US8566763B2 (ja)
JP (1) JP5797928B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6445242B2 (ja) * 2014-03-13 2018-12-26 Necプラットフォームズ株式会社 設計支援装置および設計支援方法
CN107844665A (zh) * 2017-11-24 2018-03-27 青岛鸿瑞电力工程咨询有限公司 一种工厂逻辑图设计方法及逻辑图
CN113191113B (zh) * 2021-06-03 2023-03-14 湖南国科微电子股份有限公司 基于寄存器传输电平级的功耗优化方法、系统及相关组件

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2930087B2 (ja) * 1992-12-24 1999-08-03 日本電気株式会社 論理設計支援システム
JPH07249968A (ja) 1994-03-11 1995-09-26 Nec Eng Ltd フリップフロップ回路及びそれを用いたシフトレジスタ回路
JPH08181574A (ja) 1994-12-26 1996-07-12 Oki Electric Ind Co Ltd フリップフロップ回路
JP2002083001A (ja) * 2000-09-06 2002-03-22 Hitachi Ltd 論理回路の設計方法及びそれに使用するセルライブラリ
US8108821B2 (en) * 2010-01-12 2012-01-31 International Business Machines Corporation Reduction of logic and delay through latch polarity inversion
US8332800B2 (en) * 2010-12-15 2012-12-11 Apple Inc. Method for identifying redundant signal paths for self-gating signals

Also Published As

Publication number Publication date
JP2012230513A (ja) 2012-11-22
US20120274354A1 (en) 2012-11-01
US8566763B2 (en) 2013-10-22

Similar Documents

Publication Publication Date Title
US7665059B2 (en) System and method for designing multiple clock domain circuits
Davis et al. An introduction to asynchronous circuit design
US6477691B1 (en) Methods and arrangements for automatic synthesis of systems-on-chip
US8015521B2 (en) Method and system for performing sequential equivalence checking on integrated circuit (IC) designs
US7519927B1 (en) Wiring methods to reduce metal variation effects on launch-capture clock pairs in order to minimize cycle-time overlap violations
US8238190B2 (en) Clock-gated model transformation for asynchronous testing of logic targeted for free-running, data-gated logic
US7870528B2 (en) Method and system for unfolding/replicating logic paths to facilitate modeling of metastable value propagation
Stevens et al. Characterization of asynchronous templates for integration into clocked CAD flows
EP1381980A1 (en) Circuit group design methodologies
JP2001357090A (ja) 論理合成方法及び論理合成装置
JP5797928B2 (ja) 論理回路の設計方法及び論理設計プログラム
US6552572B1 (en) Clock gating cell for use in a cell library
WO2000026826A1 (en) Circuit synthesis and verification using relative timing
Quinton et al. Practical asynchronous interconnect network design
JP2004303022A (ja) プリプロセッサ、集積回路の設計システム及び集積回路の設計方法
JP2007233842A (ja) リセット動作検証回路の生成方法
US8984456B2 (en) Macro timing analysis device, macro boundary path timing analysis method and macro boundary path timing analysis program
US7360193B1 (en) Method for circuit block placement and circuit block arrangement based on switching activity
US20230259684A1 (en) Novel approach to child block pinning
JPH1092939A (ja) 半導体集積回路の自動配置配線方法
JP5849973B2 (ja) データ処理装置、データ処理システム、データ処理方法、及びデータ処理プログラム
JP5531479B2 (ja) 回路設計方法、及び回路設計プログラム
JP2010140147A (ja) 半導体集積回路の設計手法
Nischitha et al. Lint, CDC and RDC analysis for PCIe subsystem using VC_Spyglass
JP2011134072A (ja) 半導体集積回路の設計方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150402

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150526

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150820

R150 Certificate of patent or registration of utility model

Ref document number: 5797928

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees