図面 (/)

技術 論理回路設計システム、論理回路、論理回路設計方法およびそのプログラム

出願人 日本電気株式会社
発明者 乾重人萩原靖彦
出願日 2004年3月25日 (16年11ヶ月経過) 出願番号 2004-089750
公開日 2005年10月6日 (15年4ヶ月経過) 公開番号 2005-277909
状態 特許登録済
技術分野 ICの設計・製造(配線設計等) 論理回路II CAD 半導体集積回路 パルス発生器
主要キーワード ラッチ化 遅延領域 不確定領域 論理演算用 多段パイプ Nチャネル 位置選定 分配遅延
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2005年10月6日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (7)

課題

高速パイプラインを構成するラッチ回路を提供することにある。

解決手段

基本論理回路に付加してスルー遅延が高速なラッチ回路にするラッチ化回路を用意しておき、スキュージッタなどのクロックエッジのずれを最大限吸収できるラッチ回路位置を求め、求めたポイントに位置する基本論理回路にこのラッチ化回路を付加してラッチ回路を構成する手段とを提供することにより、スキュー・ジッタに最大限影響されないラッチ回路を設計できる。

概要

背景

従来の論理回路設計方法では、順序回路を構成する場合、目的とするサイクルタイム回路を分割し、間にフリップフロップ(以下、FFと称する)を挿入する。すなわち、FFを挿入することによりパイプラインを構成していた。

FFを駆動するためにはクロック信号が用いられる。そのクロック信号を分配するためには、空間的な分配遅延不均衡であるスキューが存在する。また、時間的な揺らぎであるジッタなどのばらつきの要素も一般的に存在する。

これらスキューおよびジッタなどのばらつきのオーバーヘッドは、実効的なサイクルタイムを減少させる。特に、高速なLSIに対してはシステム性能の低下という問題を招いている。

上述したスキューおよびジッタに起因して実効的なサイクルタイムが減少する問題に対して、高速なLSIのパイプライン設計に対応するラッチ回路設計技術が提案されている。

すなわち、ラッチ回路設計を行うための基本概念については、例えば、特許文献1や非特許文献1等に詳細に述べられている。

しかしながら、これらの文献で述べられているのはラッチ回路設計を行うための基本概念のみであり、特に実際のラッチ回路の回路構成設計手法については提供されていなかった。

例えば、特許文献1の場合、2段以上のパイプラインとして動作するラッチ回路において、クロック信号供給手段が、入力及び出力フリップフロップ回路及びラッチ回路に共通のクロック信号を供給する。

さらに、回路挿入位置選定手段が、ラッチ回路のスルー期間の中央でラッチ回路の入力が確定するように、入力及び出力フリップフロップ回路又はラッチ回路の挿入位置を定めるというものである。

つまり、回路挿入位置選定手段により挿入位置を定めるので、トランジスタ性能のばらつきによるスキューにより多段パイプラインラッチ回路の受ける影響を極小化する。同様の理由で、LSI動作時に生じるジッタ及びduty比などの変動に対しても多段パイプラインラッチ回路の受ける影響を極小化する。その結果、LSI製品の動作が安定したものとなるとしている。

一方、他の特許文献2によれば、ラッチ化フリップフロップ選定手段により、ラッチに変換しないフリップフロップを選定する。また、ラッチ変換手段により、ラッチ化フリップフロップ選定手段で選定されなかったフリップフロップを、入力側の遅延余裕出力側に貸し出すことが可能なスルー状態を有するラッチ回路に変換するラッチ変換手段とを含んでいる。

そのため、フリップフロップの出力遅延セットアップ時間およびクロックスキューの低減が可能となる。しかも利用者から指定されなかった全フリップフロップ、例えば、入力に遅延余裕のないフリップフロップをラッチ回路に変換することも可能になるとしている。

特開2001−156598号公報(段落「0009」、「0010」「0011」)、図1。)。

2004−056238号公報(段落「0013〜0017」、図1。)
Harris, D., et. al., “Skew−Tolerant Domino LogicCircuits,” Digest Papers of the ISSCC1997

概要

高速なパイプラインを構成するラッチ回路を提供することにある。基本論理回路に付加してスルー遅延が高速なラッチ回路にするラッチ化回路を用意しておき、スキュー・ジッタなどのクロックエッジのずれを最大限吸収できるラッチ回路位置を求め、求めたポイントに位置する基本論理回路にこのラッチ化回路を付加してラッチ回路を構成する手段とを提供することにより、スキュー・ジッタに最大限影響されないラッチ回路を設計できる。

目的

本発明の目的の一つは、上述した従来の欠点に鑑みなされたものであり、スルー遅延が高速であるラッチ回路の提供にある。また、目的の二つ目は、ラッチ回路を含む論理回路の設計手法を提供することにある。目的の三つ目は、ラッチ回路を含む論理回路の設計システムも提供することにある。

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

論理演算用基本論理回路と、前記基本論理回路の入出力間に付加されて前記基本論理回路とともにラッチ回路を構成するラッチ化回路とを備えることを特徴とする論理回路

請求項2

フリップフロップ群および基本論理回路群を有する順序回路内に、前記基本論理回路群のうちの予め定める基本論理回路をラッチ回路として機能させるラッチ化回路を有することを特徴とする論理回路。

請求項3

前記ラッチ化回路を含んで構成した前記ラッチ回路が、前記順序回路内における伝送信号遅延時間を短縮する遅延時間短縮機能を備える請求項1記載の論理回路。

請求項4

前記ラッチ回路は、前記予め定める基本論理回路を構成要素に含む請求項1または2記載の論理回路。

請求項5

入力したクロック信号から互いに極性の異なる第1の制御クロック信号および第2の制御クロック信号を生成する手段と、第1の入力端からの入力信号を前記第1の制御クロック信号で選択的に第1の出力端に伝達する第1の信号伝達手段と、第2の入力端からの入力信号を前記第1の制御クロック信号で選択的に第2の出力端に伝達する第2の信号伝達手段と、第3の入力端からの入力信号を極性反転して出力する極性反転手段と、前記極性反転手段の出力を前記第2の制御クロック信号で選択的に前記第1の出力端に与える第3の信号伝達手段と、前記極性反転手段の出力を前記第2の制御クロック信号で選択的に前記第2の出力端に与える第4の信号伝達手段とを有するラッチ化回路を備えることを特徴とする論理回路。

請求項6

前記ラッチ化回路が論理演算用の基本論理回路を有し、前記ラッチ化回路の前記第3の出力端を前記基本論理回路の第1の信号入力端に接続し、前記ラッチ化回路の前記第2の出力端を前記基本論理回路の第2の信号入力端に接続し、前記基本論理回路の出力端を前記第3の入力端に接続して構成したラッチ回路を備えることを特徴とする論理回路。

請求項7

記憶媒体プログラムに基づき中央処理装置(CPU)の制御下で動作するラッチ化回路付加手段が、設計対象回路ネットリストからフリップフロップおよびラッチ回路を削除し、削除後のネットリストからラッチ化すべき基本論理回路を抽出してラッチ化回路を付加することを特徴とする論理回路設計方法

請求項8

前記基本論理回路の抽出は、前記ラッチ化回路付加手段が遅延検証を行ってラッチ化回路を付加すべき遅延位置にある基本論理回路を検索した結果に基づき実行する請求項7記載の論理回路設計方法。

請求項9

前記ラッチ化回路を付加する処理の外部入力データとして、少なくとも前記設計対象回路のネットリストと各種の基本論理回路に対応するラッチ化回路のライブラリとをそれぞれ用いる請求項7記載の論理回路設計方法。

請求項10

データ入力装置と、記憶媒体のプログラムに基づき中央処理装置(CPU)の制御下で動作するとともに設計対象回路の第1のネットリストからフリップフロップおよびラッチ回路を削除し削除後の第2のネットリストからラッチ化すべき基本論理回路を抽出してラッチ化回路を付加するラッチ化回路付加手段を有するデータ処理装置と、前記データ処理装置で引用する処理データおよび処理結果のデータを記憶する記憶装置と、データの表示装置と、データの印字装置とを備え、前記データ処理装置は、前記データ入力装置からの指示に応答して,前記第1のネットリストと各種の基本論理回路に対応するラッチ化回路ライブラリとを入力データとするとともに、入力された前記第1のネットリストから順序回路のフリップフロップおよびラッチ回路を削除し、削除した順序回路が負論理であれば信号反転手段を挿入し、正論理であればそのままの論理を挿入して第2のネットリストを出力する処理ステップと、前記第2のネットリストの内部を検索し、ラッチ化回路を付加すべき基本論理回路を検索し、ラッチ化の対象となる基本論理回路をラッチ付加リストとして出力する処理ステップと、前記ラッチ付加リストに従い前記ラッチ化回路ライブラリを参照して、前記第2のネットリスト内部の基本論理回路に対して対応するラッチ化回路を付加した第3のネットリストを出力する処理ステップとを、順次実行し,実行結果を前記表示装置および前記印字装置に出力することを特徴とする論理回路設計方法。

請求項11

前記データ処理装置は、前記ラッチ化回路を付加すべき遅延位置にある基本論理回路を求める際に、前記ラッチ回路がスルー状態となるクロック信号の立ち上がりエッジおよび立ち下がりエッジにおいてクロック信号とデータ信号とが干渉を起こす不確定領域をそれぞれ求め、求めた前記不確定領域を、クロック信号の第1の論理レベル期間から差し引いた残りの領域をラッチ回路配置の範囲とし,その中間点をラッチ回路配置の最適点として抽出する請求項8記載の論理回路設計方法。

請求項12

前記ラッチ化回路を付加すべき遅延位置にある基本論理回路を求める際に、前記データ処理装置が、前記ラッチ回路配置の範囲から、予め外部から指定する領域範囲をラッチ化回路を付加した後のスルー遅延領域として除き、残りの領域を立ち上がりエッジ側の遅延マージンおよび立ち下がりエッジ側の遅延マージンとして求める請求項8記載の論理回路設計方法。

請求項13

前記ラッチ化回路を付加すべき遅延位置にある基本論理回路を求める際に、前記データ処理装置は、前記立ち上がりエッジ側の遅延マージンおよび前記立ち下がりエッジ側の遅延マージンとなる前記残りの領域が最大となるポイントを探索し、その地点に存在する基本論理回路を抽出する請求項8記載の論理回路設計方法。

請求項14

前記予め外部から指定する領域範囲の値として、前記ラッチ化回路を付加した後の遅延特性における最大スルー遅延値を、前記ラッチ化回路ライブラリ内に予め記述しておく請求項12記載の論理回路設計方法。

請求項15

データ入力装置と、記憶媒体のプログラムに基づき中央処理装置(CPU)の制御下で動作するとともに設計対象回路のネットリストからフリップフロップおよびラッチ回路を削除し削除後のネットリストからラッチ化すべき論理回路を抽出してラッチ化回路を付加するラッチ化回路付加手段を有するデータ処理装置と、前記データ処理装置で引用する処理データおよび処理結果のデータを記憶する記憶装置と、データの表示装置と、データの印字装置とを備えることを特徴とする論理回路設計システム

請求項16

前記ラッチ化回路付加手段は、ラッチ化回路付加処理の外部入力データとして、少なくとも前記設計対象回路のネットリストと各種の論理回路に対応するラッチ化回路のライブラリとをそれぞれ備える請求項15記載の論理回路設計システム。

請求項17

前記ラッチ化回路のライブラリは、前記ラッチ化回路を付加した後の遅延特性における最大スルー遅延値を格納する請求項16記載の論理回路設計システム。

請求項18

前記ラッチ化回路付加手段は、各種の論理回路に対応するラッチ化回路のライブラリを備え、前記設計対象回路内のフリップフロップおよびラッチ回路を前記第1のネットリストから削除するとともに削除した回路に対応する出力を所定の論理値に置き換えて第2のネットリストとして出力するフリップフロップ/ラッチ回路削除手段と、前記第2のネットリスト内部を検索しラッチ化の対象となる基本論理回路を検出してラッチ回路付加リストとして出力する回路分割手段と、前記ラッチ回路付加リストに従い前記ラッチ化回路ライブラリを参照して対応するラッチ化回路を前記ラッチ化の対象となる基本論理回路に付加し、付加した結果を第3のネットリストとして出力するラッチ回路挿入手段とを含み、前記記憶装置は、第1、第2および第3のネットリストと、前記ラッチ回路付加リストと、前記ライブラリとを含む請求項15記載の論理回路設計システム。

請求項19

データ入力装置と、記憶媒体のプログラムに基づき中央処理装置(CPU)の制御下で動作するとともに設計対象回路の第1のネットリストからフリップフロップおよびラッチ回路を削除し削除後の第2のネットリストからラッチ化すべき基本論理回路を抽出してラッチ化回路を付加するラッチ化回路付加手段を有するデータ処理装置と、前記データ処理装置で引用する処理データおよび処理結果のデータを記憶する記憶装置と、データの表示装置と、データの印字装置とを備え、前記データ入力装置からの指示に応答して,前記第1のネットリストと各種の基本論理回路に対応するラッチ化回路ライブラリとを入力データとするとともに、入力された前記第1のネットリストから順序回路のフリップフロップおよびラッチ回路を削除し、削除した順序回路が負論理であれば信号反転手段を挿入し、正論理であればそのままの論理を挿入して第2のネットリストを出力する処理ステップと、前記第2のネットリストの内部を検索し、ラッチ化回路を付加すべき基本論理回路を検索し、ラッチ化の対象となる基本論理回路をラッチ回路付加リストとして出力する処理ステップと、前記ラッチ回路付加リストに従い前記ラッチ化回路ライブラリを参照して、前記第2のネットリスト内部の基本論理回路に対して対応するラッチ化回路を付加した第3のネットリストを出力する処理ステップとを順次実行し,実行結果を前記表示装置および前記印字装置に出力する処理を、前記中央処理装置が前記データ処理装置に順次実行させるためのプログラム。

技術分野

0001

本発明は論理回路設計システム論理回路論理回路設計方法およびそのプログラムに係わり、特にスキュージッタを改善するために所定の基本論理回路ラッチ化する論理回路設計システム、論理回路、論理回路設計方法およびそのプログラムに関する。

背景技術

0002

従来の論理回路設計方法では、順序回路を構成する場合、目的とするサイクルタイム回路を分割し、間にフリップフロップ(以下、FFと称する)を挿入する。すなわち、FFを挿入することによりパイプラインを構成していた。

0003

FFを駆動するためにはクロック信号が用いられる。そのクロック信号を分配するためには、空間的な分配遅延不均衡であるスキューが存在する。また、時間的な揺らぎであるジッタなどのばらつきの要素も一般的に存在する。

0004

これらスキューおよびジッタなどのばらつきのオーバーヘッドは、実効的なサイクルタイムを減少させる。特に、高速なLSIに対してはシステム性能の低下という問題を招いている。

0005

上述したスキューおよびジッタに起因して実効的なサイクルタイムが減少する問題に対して、高速なLSIのパイプライン設計に対応するラッチ回路設計技術が提案されている。

0006

すなわち、ラッチ回路設計を行うための基本概念については、例えば、特許文献1や非特許文献1等に詳細に述べられている。

0007

しかしながら、これらの文献で述べられているのはラッチ回路設計を行うための基本概念のみであり、特に実際のラッチ回路の回路構成設計手法については提供されていなかった。

0008

例えば、特許文献1の場合、2段以上のパイプラインとして動作するラッチ回路において、クロック信号供給手段が、入力及び出力フリップフロップ回路及びラッチ回路に共通のクロック信号を供給する。

0009

さらに、回路挿入位置選定手段が、ラッチ回路のスルー期間の中央でラッチ回路の入力が確定するように、入力及び出力フリップフロップ回路又はラッチ回路の挿入位置を定めるというものである。

0010

つまり、回路挿入位置選定手段により挿入位置を定めるので、トランジスタ性能のばらつきによるスキューにより多段パイプラインラッチ回路の受ける影響を極小化する。同様の理由で、LSI動作時に生じるジッタ及びduty比などの変動に対しても多段パイプラインラッチ回路の受ける影響を極小化する。その結果、LSI製品の動作が安定したものとなるとしている。

0011

一方、他の特許文献2によれば、ラッチ化フリップフロップ選定手段により、ラッチに変換しないフリップフロップを選定する。また、ラッチ変換手段により、ラッチ化フリップフロップ選定手段で選定されなかったフリップフロップを、入力側の遅延余裕出力側に貸し出すことが可能なスルー状態を有するラッチ回路に変換するラッチ変換手段とを含んでいる。

0012

そのため、フリップフロップの出力遅延セットアップ時間およびクロックスキューの低減が可能となる。しかも利用者から指定されなかった全フリップフロップ、例えば、入力に遅延余裕のないフリップフロップをラッチ回路に変換することも可能になるとしている。

0013

特開2001−156598号公報(段落「0009」、「0010」「0011」)、図1。)。

0014

2004−056238号公報(段落「0013〜0017」、図1。)
Harris, D., et. al., “Skew−Tolerant Domino LogicCircuits,” Digest Papers of the ISSCC1997

発明が解決しようとする課題

0015

上述した従来のラッチ回路設計手法では、特許文献1のように、回路挿入位置選定手段が、ラッチ回路のスルー期間の中央でラッチ回路の入力が確定するように、入力及び出力フリップフロップ回路又はラッチ回路の挿入位置を定める。特許文献2では入力に遅延余裕のないフリップフロップをラッチ回路に変換することも可能となるものである。

0016

しかし、これらに開示されたラッチ回路設計手法にかかる技術では、ラッチ回路設計に好適であるラッチ回路の回路構成、論理回路をラッチ化するための設計手法が提供されていなかった。

0017

本発明の目的の一つは、上述した従来の欠点に鑑みなされたものであり、スルー遅延が高速であるラッチ回路の提供にある。また、目的の二つ目は、ラッチ回路を含む論理回路の設計手法を提供することにある。目的の三つ目は、ラッチ回路を含む論理回路の設計システムも提供することにある。

課題を解決するための手段

0018

本発明の論理回路は、論理演算用の基本論理回路と、前記基本論理回路の入出力間に付加されて前記基本論理回路とともにラッチ回路を構成するラッチ化回路とを備えることを特徴とする。

0019

本発明の論理回路の他の特徴は、フリップフロップ群および基本論理回路群を有する順序回路内に、前記基本論理回路群のうちの予め定める基本論理回路をラッチ回路として機能させるラッチ化回路を有することにある。

0020

また、前記ラッチ化回路を含んで構成した前記ラッチ回路が、前記順序回路内における伝送信号の遅延時間を短縮する遅延時間短縮機能を備えることができる。

0021

さらに、前記ラッチ回路は、前記予め定める基本論理回路を構成要素に含むこともできる。

0022

本発明の論理回路のまた他の特徴は、入力したクロック信号から互いに極性の異なる第1の制御クロック信号および第2の制御クロック信号を生成する手段と、第1の入力端からの入力信号を前記第1の制御クロック信号で選択的に第1の出力端に伝達する第1の信号伝達手段と、第2の入力端からの入力信号を前記第1の制御クロック信号で選択的に第2の出力端に伝達する第2の信号伝達手段と、第3の入力端からの入力信号を極性反転して出力するインバータと、前記インバータの出力を前記第2の制御クロック信号で選択的に前記第1の出力端に与える第3の信号伝達手段と、前記インバータの出力を前記第2の制御クロック信号で選択的に前記第2の出力端に与える第4の信号伝達手段とを有するラッチ化回路を備えることにある。

0023

また、前記ラッチ化回路が論理演算用の基本論理回路を有し、前記ラッチ化回路の前記第3の出力端を前記基本論理回路の第1の信号入力端に接続し、前記ラッチ化回路の前記第2の出力端を前記基本論理回路の第2の信号入力端に接続し、前記基本論理回路の出力端を前記第3の入力端に接続して構成したラッチ回路を備えることができる。

0024

本発明の論理回路設計方法は、記憶媒体のプログラムに基づき中央処理装置(CPU)の制御下で動作するラッチ化回路付加手段が、設計対象回路ネットリストからフリップフロップおよびラッチ回路を削除し、削除後のネットリストからラッチ化すべき基本論理回路を抽出してラッチ化回路を付加することを特徴とする。

0025

また、前記基本論理回路の抽出は、前記ラッチ化回路付加手段が遅延検証を行ってラッチ化回路を付加すべき遅延位置にある基本論理回路を検索した結果に基づき実行することができる。

0026

さらに、前記ラッチ化回路を付加する処理の外部入力データとして、少なくとも前記設計対象回路のネットリストと各種の基本論理回路に対応するラッチ化回路のライブラリとをそれぞれ用いることもできる。

0027

本発明の論理回路設計方法の他の特徴は、データ入力装置と、記憶媒体のプログラムに基づき中央処理装置(CPU)の制御下で動作するとともに設計対象回路の第1のネットリストからフリップフロップおよびラッチ回路を削除し削除後の第2のネットリストからラッチ化すべき基本論理回路を抽出してラッチ化回路を付加するラッチ化回路付加手段を有するデータ処理装置と、前記データ処理装置で引用する処理データおよび処理結果のデータを記憶する記憶装置と、データの表示装置と、データの印字装置とを備え、
前記データ処理装置は、前記データ入力装置からの指示に応答して,前記第1のネットリストと各種の基本論理回路に対応するラッチ化回路ライブラリとを入力データとするとともに、入力された前記第1のネットリストから順序回路のフリップフロップおよびラッチ回路を削除し、削除した順序回路が負論理であれば信号反転手段を挿入し、正論理であればそのままの論理を挿入して第2のネットリストを出力する処理ステップと、前記第2のネットリストの内部を検索し、ラッチ化回路を付加すべき基本論理回路を検索し、ラッチ化の対象となる基本論理回路をラッチ回路付加リストとして出力する処理ステップと、前記ラッチ回路付加リストに従い前記ラッチ化回路ライブラリを参照して、前記第2のネットリスト内部の基本論理回路に対して対応するラッチ化回路を付加した第3のネットリストを出力する処理ステップとを、順次実行し,実行結果を前記表示装置および前記印字装置に出力することにある。

0028

また、前記データ処理装置は、前記ラッチ化回路を付加すべき遅延位置にある基本論理回路を求める際に、前記ラッチ回路がスルー状態となるクロック信号の立ち上がりエッジおよび立ち下がりエッジにおいてクロック信号とデータ信号とが干渉を起こす不確定領域をそれぞれ求め、求めた前記不確定領域を、クロック信号の第1の論理レベル期間から差し引いた残りの領域をラッチ回路配置の範囲とし,その中間点をラッチ回路配置の最適点として抽出することができる。

0029

また、前記ラッチ化回路を付加すべき遅延位置にある基本論理回路を求める際に、前記データ処理装置が、前記ラッチ回路配置の範囲から、予め外部から指定する領域範囲をラッチ化回路を付加した後のスルー遅延領域として除き、残りの領域を立ち上がりエッジ側の遅延マージンおよび立ち下がりエッジ側の遅延マージンとして求めることもできる。

0030

さらに、前記ラッチ化回路を付加すべき遅延位置にある基本論理回路を求める際に、前記データ処理装置は、前記立ち上がりエッジ側の遅延マージンおよび前記立ち下がりエッジ側の遅延マージンとなる前記残りの領域が最大となるポイントを探索し、その地点に存在する基本論理回路を抽出することでもよい。

0031

さらにまた、前記予め外部から指定する領域範囲の値として、前記ラッチ化回路を付加した後の遅延特性における最大スルー遅延値を、前記ラッチ化回路ライブラリ内に予め記述しておくこともできる。

0032

本発明の論理回路設計システムは、データ入力装置と、記憶媒体のプログラムに基づき中央処理装置(CPU)の制御下で動作するとともに設計対象回路のネットリストからフリップフロップおよびラッチ回路を削除し削除後のネットリストからラッチ化すべき論理回路を抽出してラッチ化回路を付加するラッチ化回路付加手段を有するデータ処理装置と、前記データ処理装置で引用する処理データおよび処理結果のデータを記憶する記憶装置と、データの表示装置と、データの印字装置とを備えることを特徴とする。

0033

また、前記ラッチ化回路付加手段は、ラッチ化回路付加処理の外部入力データとして、少なくとも前記設計対象回路のネットリストと各種の論理回路に対応するラッチ化回路のライブラリとをそれぞれ備えることができる。

0034

さらに、前記ラッチ化回路のライブラリは、前記ラッチ化回路を付加した後の遅延特性における最大スルー遅延値を格納することでもよい。

0035

さらにまた、前記ラッチ化回路付加手段は、各種の論理回路に対応するラッチ化回路のライブラリを備え、前記設計対象回路内のフリップフロップおよびラッチ回路を前記第1のネットリストから削除するとともに削除した回路に対応する出力を所定の論理値に置き換えて第2のネットリストとして出力するフリップフロップ/ラッチ回路削除手段と、前記第2のネットリスト内部を検索しラッチ化の対象となる基本論理回路を検出してラッチ回路付加リストとして出力する回路分割手段と、前記ラッチ回路付加リストに従い前記ラッチ化回路ライブラリを参照して対応するラッチ化回路を前記ラッチ化の対象となる基本論理回路に付加し、付加した結果を第3のネットリストとして出力するラッチ回路挿入手段とを含み、前記記憶装置は、第1、第2および第3のネットリストと、前記ラッチ回路付加リストと、前記ライブラリとを含むこともできる。

発明の効果

0036

以上説明したように、本発明によれば、スルー遅延が高速なラッチ回路と、スキュー・ジッタなどのクロックエッジのずれを最大限吸収できるラッチ回路の配置位置を検出する手段とを実現する。したって、クロックエッジのずれに影響されない高速な論理回路設計手段を提供することができる。

発明を実施するための最良の形態

0037

まず本発明の概要を説明すると、本発明のラッチ回路を含む論理回路設計手法では、第1にFF、ラッチ回路等の回路を含まない回路記述(以下、ネットリストと称する)を準備する。

0038

第2に、上述したネットリストから、遅延検証によりラッチ回路のスキュー耐性が最大となるポイント(最適点)を抽出する。

0039

第3に、上述のポイントに存在する基本論理回路(以下、論理ゲートと称する)に対してラッチ化回路を付加することにより、スキュー耐性の最大化とラッチ回路のスルー遅延の高速化という効果が得られる、という発明である。

0040

次に本発明の実施の形態を図面を参照して詳細に説明する。

0041

本発明の第1の実施例として、本発明のラッチ化回路と、このラッチ化回路を論理ゲートに付加して構成するラッチ回路を説明する。

0042

図1はラッチ化回路を論理ゲートに付加して構成するラッチ回路の回路図である。図1を参照すると、ラッチ化回路101とラッチ化対象の論理ゲートである、例えばNANDゲート102とにより構成するラッチ回路100を示してある。

0043

ラッチ化回路101は、クロック信号CLKを受けクロック信号CLKの負の論理値Aを生成するクロック用インバータ110を有する。また、ラッチ化回路101は、クロック信号の正の論理値Bを生成するクロック用インバータ111を有する。

0044

ラッチ化回路101は、NANDゲート102の第1の入力信号D0を、クロック信号CLKに応答してNANDゲート102の第1の入力端にクロック制御で選択的に与える第1の信号伝達手段(以下,トランスミッションゲートと称する)112を有する。第1のトランスミッションゲート112は、クロック信号CLKの正の論理値BをPチャネル型トランジスタゲートに与え、負の論理値AをNチャネル型トランジスタのゲートに与える。

0045

ラッチ化回路101は、NANDゲート102の第2の入力信号D1を、クロック信号CLKに応答してNANDゲート102の第2の入力端に選択的に与える第2のトランスミッションゲート113を有する。第2のトランスミッションゲート113は、クロック信号CLKの正の論理値BをPチャネル型トランジスタのゲートに与え、負の論理値AをNチャネル型トランジスタのゲートに与える。

0046

ラッチ化回路101は、NANDゲート102の出力を受けるフィードバック用インバータ114を有する。ラッチ化回路101は、そのインバータ114の出力を、クロック信号CLKに応答して選択的に第1の入力端に与える第3のトランスミッションゲート115を有する。

0047

第3のトランスミッションゲート115は、クロック信号CLKの負の論理値AをPチャネル型トランジスタのゲートに与え、正の論理値BをNチャネル型トランジスタのゲートに与える。

0048

ラッチ化回路101は、インバータ114の出力を、クロック信号CLKに応答して選択的に第2の入力端に与える第4のトランスミッションゲート116を有する。第4のトランスミッションゲート116は、クロック信号CLKの負の論理値AをPチャネル型トランジスタのゲートに与え、正の論理値BをNチャネル型トランジスタのゲートに与えるように構成されている。

0049

上述したラッチ化回路101をNANDゲート102に付加して構成したラッチ回路100の動作を説明する。まず,クロック信号が論理レベルのHigh期間の場合、クロックインバータ110の出力は負の論理値Aであり、クロックインバータ111の出力は正の論理値Bである。

0050

この状態で、クロックインバータ110の出力AおよびBによりトランスミッションゲート112および113は共に導通しているので、データD0およびデータD1が共にHighであると、NANDゲート102の出力QTはLowとなる。

0051

クロック信号が論理レベルのLow期間の場合、クロックインバータ110の出力Aおよびクロックインバータ110の出力Bによりトランスミッションゲート112および113は共に非導通になる。

0052

一方、クロックインバータ110の出力Aおよびクロックインバータ110の出力Bによりトランスミッションゲート115および116は共に導通している。

0053

従って、出力QTのLowレベルはフィードバック用インバータ114で反転されてHighレベルになり、トランスミッションゲート115および116を介してNANDゲート102の入力に帰還し、その状態を保持する。データD0およびD1の論理レベルがそれぞれ上記のHighレベル以外の組み合わせでは出力QTはHighレベルを保持する。つまり、論理ゲートの論理に応じたラッチ動作をする。

0054

上述した論理回路によれば、基本論理回路に付加してスルー遅延が高速なラッチ回路にするラッチ化回路を用意してある。したがって、後述するラッチ回路位置を求めたポイントに位置する基本論理回路にこのラッチ化回路を付加してラッチ回路を構成することにより、スキュー・ジッタに最大限影響されないラッチ回路を得る。

0055

図2は本発明の論理回路設計方法を説明するためのフローチャートであり、図3は本実施例の回路を従来の技術を用いて構成した場合の一例を示す構成図である。

0056

図2および図3を参照すると、従来は図3に示すように、(論理回路301)+(ラッチ回路302)という構成をとり前述したパイプラインを構成していた。

0057

このようなパイプライン構成の場合、ラッチ回路が入力データをそのまま出力するスルーモードの時の回路遅延は、(論理ゲート301の遅延)+(ラッチ回路302のスルーモードの遅延)となる。

0058

すなわち、二つの遅延値の和であり、遅延が大きい。

0059

これに対して図1に示した本発明の第1の実施例では、論理ゲートそのものをラッチ化する。そのため、その遅延はNANDゲート102自身の遅延にラッチ化回路101の遅延を加えたものとなる。

0060

ラッチ化回路101の遅延は、NANDゲート102の入出力に対してわずかな負荷容量の増加としてしか働かない。したがって、図1に示した本発明の第1の実施例におけるラッチ回路の遅延は、図3に示した従来例の論理回路の遅延と比較して著しく小さいことは明白である。

0061

図2において、本発明の論理回路設計方法では、予め用意した二つの入力データを備える。一つはネットリスト210あり、他の一つは各種の論理ゲートに対応するラッチ化回路ライブラリ215である。

0062

ネットリストからFF、ラッチ回路を削除する処理手順S10は、ネットリスト210から入力したネットリストから順序回路のFFやラッチ回路などを削除する。削除したFFやラッチ回路の出力が負の論理値であればインバータを挿入する。削除したFFやラッチ回路の出力が正の論理値であれば、そのまま手を加えずネットリスト211を出力する。

0063

次に、遅延により回路を分割する処理手順S11は、ネットリスト211の内部を検索し、ラッチ化回路を付加すべき論理ゲートを検出する。検索した結果に基づき、検出した論理ゲートに関わるネットリスト212とラッチ化回路を付加する論理ゲートのリスト213を出力する。ここでネットリスト212と211とは同じものである。

0064

最後に、ラッチ回路を付加する処理手順S12は、ラッチ化回路を付加する論理ゲートのラッチ付加リスト213に従い、かつラッチ化回路ライブラリ215を参照して、ネットリスト212内部の論理ゲートに適当なラッチ化回路を付加する。その後、ラッチ化回路を付加したネットリスト214を出力する。

0065

遅延により回路を分割する処理手順S11では、ラッチ化回路を付加すべき論理ゲートを検出する際、遅延検証を行い、ラッチ化回路を付加すべき最適な遅延位置にある論理ゲートを検索する。

0066

ここで、上述したラッチ化すべき論理ゲートが位置する最適な遅延位置について説明する。図4はFFを用いた場合の設計とラッチ回路を用いた場合の設計の比較を説明するためのタイミングチャートである。

0067

図4を参照すると、通常、クロック信号には信号の分配に伴うエッジのずれであるスキューあるいはジッタが存在する。FFはエッジトリガ動作を行うため、クロック信号のエッジがずれる場合、そのずれを計算に入れて回路の遅延設計を行う必要がある。

0068

特に、高速なLSIの設計を行う場合には、スキューやジッタなどのエッジのずれの影響が大きく、性能を劣化させる一因となっていた。

0069

FF0から送出された信号は1サイクル以内にFF1へ到達する必要がある。しかし、実際には1サイクルの遅延時間からクロック信号のエッジのずれ、すなわちスキューやジッタ分を差し引いた遅延時間内でFF1へ到達しなければならないという制約がある。

0070

この制約が性能に対するペナルティとなっている。これに対してラッチ回路を用いた設計の場合には、ロースルーラッチであるラッチ回路1は、クロック信号が論理レベルのLowである期間内のどこに配置しても良い。

0071

また、ハイスルーラッチであるラッチ回路2は、クロック信号が論理レベルのHighである期間内のどこに配置しても良い。

0072

更に、ラッチ回路1およびラッチ回路2のペアは、機能的にはFFとして動作し、互いに相手がスルーの場合にはホールドモードとなる。そのため、いわゆる信号のつきぬけが起こる確率はFFを用いた場合の設計と同程度である。

0073

図5は、0.5サイクル以内にラッチ回路を配置できる最適な位置を求める一例を説明するためのタイミングチャートである。

0074

図5を参照しながら、ラッチ回路を付加すべき位置を、ハイスルーラッチ回路の場合を例に説明する。ハイスルーラッチは、クロック信号がHighの期間中のどこにでも配置することができる。しかし、クロックエッジと近接すると、クロック信号と入力データ信号遷移が同時期に起こることがあり、そのことに起因する遅延変動が見られる。

0075

従って、一般的には、クロックエッジに対して一定のマージンを持たせ、その領域にはラッチ回路、FFは配置しない。

0076

通常、このマージン値はsetup時間と呼ばれる。しかし、ここでは一般的な意味合いを持たせるために、ラッチ回路のクロック信号とデータ信号とが干渉を起こす領域を不確定領域と定義する。

0077

ラッチ回路が配置可能な領域は、High期間からこの不確定領域を差し引いた領域である。前述したスキュー・ジッタは、クロック信号のRISEエッジとFALLエッジの双方に影響を与える。

0078

そのため、ラッチ回路は双方のエッジからできるだけ離した位置、すなわちHigh期間から不確定領域を差し引いた領域のちょうど中間点が最適点となる。

0079

図中のτ(margin)で示される領域は、クロックエッジのずれ、すなわちスキュー・ジッタを吸収する働きをする領域である。もし、ずれがτ(margin)以下であれば回路遅延に対して影響を与えない。

0080

第2の処理手順S11では遅延検証を行い、その検証結果から、前述したτ(margin)が最大となるポイントを探索し、その地点に存在する論理ゲートを報告する。

0081

その際、図5のように、ラッチ化回路を付加した後のスルー遅延Tpdが必要となるが、ラッチ化回路ライブラリ213内に最悪の遅延値を記述しておくことで対応できる。また、このスルー遅延は、本発明の第1の実施例で述べた回路構成を採用することにより、回路遅延に対して最小のインパクトを与えるだけにとどまることは明らかである。

0082

上述したように、基本論理回路に付加してスルー遅延が高速なラッチ回路にするラッチ化回路を用意しておく。次に、スキュー・ジッタなどのクロックエッジのずれを最大限吸収できるラッチ回路位置を求める。求めたポイントに位置する基本論理回路にこのラッチ化回路を付加してラッチ回路を構成することにより、スキュー・ジッタに最大限影響されないラッチ回路を設計できる。

0083

図6は本発明の第3の実施例であり、前述したラッチ化回路付加方法が適用される論理回路設計システムの構成図である。図6を参照すると、本発明の論理回路設計システムは、キーボードマウス等を含むデータの入力手段611を有する。この論理回路設計システムは、データ処理装置612も有する。

0084

データ処理装置612は、記憶媒体616のプログラムに基づき中央処理装置(CPU)617の制御下で動作するとともに、ラッチ化回路付加手段626を有する。

0085

このラッチ化回路付加手段626は、設計対象回路の接続情報を記述したネットリスト621からフリップフロップおよびラッチ回路を削除する。

0086

ラッチ化回路付加手段626は、フリップフロップおよびラッチ回路を削除後のネットリスト622からラッチ化すべき論理ゲートを抽出する。また、ラッチ化回路付加手段626は、論理ゲートを抽出してラッチ化回路を付加する。

0087

ラッチ化回路付加手段626は、各種の論理ゲートに対応するラッチ化回路のライブラリ624を備え、設計対象回路内のFFおよびラッチ回路を第1のネットリスト621から削除する。

0088

ラッチ化回路付加手段626は、FF/ラッチ回路削除手段618を含む。FF/ラッチ回路削除手段618は、削除したFFおよびラッチ回路に対応する出力を所定の論理値、例えば正の論理値であれば前段出力値のままとする。負の論理値であれば前段の出力値をインバータを挿入し反転させる。このように置き換えた結果の接続情報を第2のネットリスト622として出力する。

0089

また、ラッチ化回路付加手段626は、回路分割手段619を含む。この回路分割手段619は、第2のネットリスト622内部を検索し、ラッチ化の対象となる論理ゲートを検出してラッチ回路付加リスト623として出力する。

0090

さらに、ラッチ化回路付加手段626は、ラッチ回路付加リスト623に従って、ラッチ化回路ライブラリ624を参照しながら、対応するラッチ化回路をラッチ化の対象となる論理ゲートに付加する。

0091

ラッチ化回路付加手段626は、ラッチ回路挿入手段620を含む。ラッチ回路挿入手段620は、付加した結果を第3のネットリスト623として出力する。

0092

この論理回路設計システムは、さらに、データ処理装置で引用する処理データおよび処理結果のデータを記憶する記憶装置615と、データの表示装置614と、データの印字装置613とを備える。記憶装置615は、第1、第2および第3のネットリスト621、622、625と、ラッチ回路付加リスト623と、ライブラリ624とを含む。

0093

上述したラッチ化回路付加手段は、ラッチ化回路付加処理のための外部入力データとして、設計対象となる回路網のネットリスト621とラッチ化回路のライブラリ624とを少なくとも備える。

0094

ここでのネットリスト621は、設計対象となる回路網の接続情報である。また、ここでのライブラリ624は、設計対象となる回路網で使用する各種の論理ゲートに対応するラッチ化回路が記述されている。

0095

さらに、このライブラリ624は、ラッチ化回路を付加した後の遅延特性における最大スルー遅延値も記述されている。この最大スルー遅延値は、ラッチ化回路を付加する論理ゲートの特性における遅延値のうちの最大値を外部から予め書き込んでおくものである。この最大値を最大スルー遅延値として利用する。

0096

上述した論理設計システムによりれば、基本論理回路に付加してスルー遅延が高速なラッチ回路にするラッチ化回路を用意しておく。また、スキュー・ジッタなどのクロックエッジのずれを最大限吸収できるラッチ回路位置を求める。求めたポイントに位置する基本論理回路にこのラッチ化回路を付加してラッチ回路を構成する手段とを提供することにより、スキュー・ジッタに最大限影響されないラッチ回路を設計できる。

0097

本発明の活用例として、パイプライン構成の論理回路を高速動作させるLSIに適用できる。

図面の簡単な説明

0098

ラッチ化回路を論理ゲートに付加して構成されるラッチ回路の回路図である。
本発明の論理回路設計方法を説明するためのフローチャートである。
本実施例の回路を従来の技術を用いて構成した場合の一例を示す構成図である。
FFを用いた場合の設計とラッチ回路を用いた場合の設計の比較を説明するためのタイミングチャートである。
0.5サイクル以内にラッチ回路を配置できる最適な位置を求める一例を説明するためのタイミングチャートである。
ラッチ化回路付加方法が適用される論理回路設計システムの構成図である。

符号の説明

0099

101ラッチ化回路
102NANDゲート
110,111クロック用インバータ
114フィードバック用インバータ
112,113,115,116トランスミッションゲート
210,211,212,214ネットリスト
213ラッチ付加リスト
215 ラッチ化回路ライブラリ
611入力手段
612データ処理装置
613印字装置
614表示装置
615記憶装置
616記憶媒体
617 CPU
618FF/ラッチ回路削除手段
619回路分割手段
620 ラッチ回路挿入手段
621,622,625 ネットリスト
623 ラッチ回路付加リスト
624 ライブラリ
S10 ネットリストからFF、ラッチ回路を削除する処理手順
S11遅延により回路を分割する処理手順
S12 ラッチ回路を付加する処理手順

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ