JPH09116413A - 論理回路及びその設計方法 - Google Patents

論理回路及びその設計方法

Info

Publication number
JPH09116413A
JPH09116413A JP7272892A JP27289295A JPH09116413A JP H09116413 A JPH09116413 A JP H09116413A JP 7272892 A JP7272892 A JP 7272892A JP 27289295 A JP27289295 A JP 27289295A JP H09116413 A JPH09116413 A JP H09116413A
Authority
JP
Japan
Prior art keywords
signal
circuit
output
output signal
logic circuit
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.)
Pending
Application number
JP7272892A
Other languages
English (en)
Inventor
Katsuhisa Kondo
勝久 近藤
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
Original Assignee
Toshiba 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 filed Critical Toshiba Corp
Priority to JP7272892A priority Critical patent/JPH09116413A/ja
Priority to EP02027610A priority patent/EP1291764A1/en
Priority to DE69626596T priority patent/DE69626596T2/de
Priority to US08/733,074 priority patent/US6101621A/en
Priority to EP96116589A priority patent/EP0769738B1/en
Priority to KR1019960046952A priority patent/KR100370819B1/ko
Publication of JPH09116413A publication Critical patent/JPH09116413A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Logic Circuits (AREA)

Abstract

(57)【要約】 【課題】 半導体集積回路などに実装された論理回路を
高速に動作させることである。 【解決手段】 メインの組合せ回路103,104をそ
のクリティカルパス長よりも短いサイクルタイムで動作
させる。このサイクルタイムに収まらないパスが活性化
された時に備えて、訂正用信号を生成する組合せ回路1
05とその周辺の回路を付加した。組合せ回路105と
104は、同じものである。組合せ回路105のクリテ
ィカルパスは収まるように、サイクルタイムを決める。
比較回路113を用いて、信号114と信号102を比
較し、一致しなければ、信号102を訂正するようにセ
レクタ112をコントロールする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、論理回路及びその
設計方法に関し、特に、動作クロックのサイクルタイム
を短縮して、論理回路の処理速度の向上を図ることので
きる論理回路及びその設計方法に関する。
【0002】
【従来の技術】論理回路は大きく分けて、入力信号の変
化が伝播して出力信号値に影響を与える組合せ回路と、
クロック信号等のコントロール信号により、値を保持又
は保持した値を書換える機能を有する記憶回路とに区分
することができる。組合せ回路には、論理演算の機能を
有する基本論理素子(例えば、AND回路やNOT回路
等)が含まれ、また、記憶回路には、フリップフロップ
やラッチ等が含まれる。
【0003】図8は、簡単なパイプライン構造を有する
一般的な論理回路を示している。この論理回路は、組合
せ回路803と、この組合せ回路803の信号の入力側
及び出力側には信号を保持するためのフリップフロップ
804,805とが備えられている。このフリップフロ
ップ804,805はクロック信号CKの立上がりで、
それぞれ入力データとしての入力信号801と、組合せ
回路803からの出力信号807を入力(サンプル)し
て、その値を信号806,802として出力する。
【0004】クロック信号CKは所定のサイクルタイム
で周期的に値が変化する信号である。通常の論理回路
は、このクロックに同期して動作する。図9は、例えば
図8に示したような論理回路に入力されるクロック信号
波形を示す。入力クロックの立ち上がりエッジで動作す
るフリップフロップを用いる場合の論理回路のサイクル
タイムは、図9に示されたようになる。
【0005】組合せ回路への入力信号の変化が出力信号
に伝わる時間を信号伝播時間と呼ぶ。この信号伝播時間
は、回路の状態や入力信号の変化のしかたにより、大き
く異なる。その中で、最大の信号伝播時間を生じる経路
をその回路のクリティカルパスと呼ぶ。回路の正常動作
を保証するためには、論理回路のサイクルタイムは、内
部回路のクリティカルパスの信号伝播時間よりも長く設
定する必要がある。また、このクリティカルパスは設計
の形態によりラッチ等の記憶回路内の信号伝播時間を含
む時もある。
【0006】そのため、従来の論理回路の設計において
はサイクルタイムを短縮すべく、その回路のクリティカ
ルパスの信号伝播時間を短縮するような設計努力が払わ
れてきた。
【0007】
【発明が解決しようとする課題】しかしながら、単に論
理回路のクリティカルパスの信号伝播時間を短縮するこ
とによる動作クロックのサイクルタイムを短縮する手法
のみでは限界があり、より高速な論理回路を実現するた
めの新しい技術が必要になっている。
【0008】本発明は上記事情に鑑みて成されたもので
あり、その目的は、論理回路の動作クロックのサイクル
タイムを短縮して、論理回路の処理速度の向上を図るこ
とのできる論理回路およびその設計方法を提供すること
にある。
【0009】
【課題を解決するための手段】上記の目的を達成するた
めに本発明の発明者は、単に論理回路のクリティカルパ
スの信号伝播時間を短縮することによる動作クロックの
サイクルタイムを短縮する手法のみでは限界があり、何
か新しい技術が必要であると考えた。
【0010】そこで、論理回路の処理動作を解析したと
ころ、一般的な論理回路においてはクリティカルパスが
常に使用(活性化)されることは希であり、使用される
大半のパスはクリティカルパスより大変短いものである
ことが統計的な解析から把握することができた。従っ
て、本発明者は、クリティカルパスより短い所定のクロ
ックサイクルを設定し、このサイクルに収まらないパス
が活性化された場合に何等かの手当てを行うようにすれ
ば、単に論理回路のクリティカルパスの信号伝播時間を
短縮することによる動作クロックのサイクルタイムを短
縮する手法を用いずに論理回路の処理速度は飛躍的に向
上させることができ、前述した問題点を解消できると考
えた。
【0011】そこで、本発明者は慎重な研究を重ねた結
果、以下のような発明を完成することができた。
【0012】第1の発明の特徴は、組合せ回路と、クロ
ックにより信号を保持又は書換えを行う記憶回路とを含
んだ論理回路であって、前記組合せ回路に入力される信
号又は前記組合せ回路内で生成され使用される信号を入
力するように接続され、前記入力される所定の信号に対
して前記組合せ回路の出力信号と同論理の出力信号を生
成する信号生成手段と、前記組合せ回路の出力信号が正
しいか否かの判定を行う出力信号判定手段と、この出力
信号判定手段の判定の結果、前記組合せ回路の出力が正
しいと判定された場合には前記組合せ回路の出力信号を
そのまま出力し、それ以外の場合には前記信号生成手段
の出力信号を用いて訂正して出力する訂正手段と、を備
えることである。
【0013】上記第1の発明の構成によれば、メインと
なる組合せ回路を、その回路のクリティカルパスの信号
伝播時間よりも短いサイクルタイムで動作させることが
可能になる。そのサイクル内に収まらないパスが活性化
された場合に備えて、それらの信号を訂正するために、
それらの信号と同等な機能を有する信号を生成する手段
が付加されている。そして、サイクル内に収まらないパ
スが活性化されたか否かを判定し、サイクル内に収まら
ないパスが活性化された場合は、前記手段により正しい
信号を出力するようにしてある。
【0014】ここで、前記組合せ回路は、出力信号の一
部又は全部を、その信号を生成する回路のクリティカル
パスの信号伝播時間より前にサンプルするのが好まし
い。
【0015】また、前記組合せ回路は、信号伝播時間の
短いパスが活性化される頻度が、前記信号生成手段にお
ける信号伝播時間の短いパスが活性化される頻度よりも
大きくなるように構成されることが好ましい。
【0016】上記の構成のように組合せ回路における信
号伝播時間の短いパスが活性化される頻度を信号生成手
段における信号伝播時間の短いパスが活性化される頻度
よりも大きくすればペナルティ(組合せ回路の出力が誤
っている場合に行われる処理)を実行する確率が減少す
るため、さらに論理回路の処理の高速性が向上すること
ができるのである。
【0017】また、前記信号生成手段は、前記組合せ回
路に入力される信号を入力するように接続され、前記入
力される所定の信号に対して前記組合せ回路の出力信号
と同論理の出力信号の一部のみを生成することが好まし
い。
【0018】また、前記信号生成手段は、前記組合せ回
路に入力される所定の入力信号に対して前記組合せ回路
の出力信号と同論理の出力信号を生成し、前記組合せ回
路のクリティカルパスの信号伝播時間より短いクリティ
カルパスの信号伝播時間となるように構成されることが
好ましい。
【0019】上記の構成のように、信号生成手段のクリ
ティカルパスの信号伝播時間を組合せ回路のクリティカ
ルパスの信号伝播時間より短い信号伝播時間となるよう
にすることで、ペナルティを実行する必要が生じた場合
であってもそのペナルティのために必要な時間を短縮す
ることができるのである。
【0020】また、前記出力信号判定手段は、前記組合
せ回路の出力信号と、前記信号生成手段にて生成された
信号とを入力して比較する比較回路を備えることで、前
記組合せ回路の出力信号が正しいか否かの判定を行うこ
とが好ましい。
【0021】上記の構成のように、比較回路にて組合せ
回路の出力信号と、信号生成手段にて生成された信号と
を比較するようにすれば容易に、かつハードウエア量の
増加を伴わずに判定を行うことができるのである。
【0022】また、前記出力信号判定手段は、クリティ
カルパスの信号伝播時間より前にサンプルされた前記信
号が適切な信号値を生成するために必要な時間以降にサ
ンプルされたか否かを判断することで前記組合せ回路の
出力信号が正しいか否かの判定を行うことが好ましい。
【0023】上記の構成のように、適切な信号値を生成
するために必要な時間以降にサンプルされたか否かを判
断するようにしてあるので、所定のサイクルに収まらな
いパスが活性化されたか否かの判断で組合せ回路の出力
信号が正しいか否かの判定を行うことができる。従っ
て、信号生成手段の出力を待つこと無く判定を行うこと
ができるのでより高速に処理を行うことができるのであ
る。
【0024】また、前記出力信号判定手段は、入力され
た信号により活性化されるパスの遅延を予測する予測回
路を備えることで前記組合せ回路の出力信号が正しいか
否かの判定を行うことが好ましい。
【0025】上記の構成のように、予測回路を備えるこ
とで、信号生成手段の出力を待つこと無く判定を行うこ
とができるのでより高速に処理を行うことができるので
ある。
【0026】また、前記訂正手段は、前記比較回路の比
較の結果、前記組合せ回路の出力信号と、前記信号生成
手段にて生成された信号とが等しい場合には前記組合せ
回路の出力信号を選択し、これら信号が異なる場合には
前記信号生成手段の出力信号を選択するセレクタを備え
ることが好ましい。
【0027】上記の構成のように、セレクタを備えるこ
とで、比較回路の結果により組合せ回路の出力若しく信
号生成回路の出力のいずれを出力するように構成すれば
よいので、より簡易な構成にて選択を行うことができる
のである。
【0028】また、前記訂正手段は、この出力信号判定
手段の判定の結果、前記組合せ回路の出力が正しい場合
には前記組合せ回路の出力信号を選択して出力し、前記
出力信号判定手段により必要な時間より前にサンプルさ
れたと判断された場合には前記信号生成手段の出力信号
を選択して出力することが好ましい。
【0029】上記構成のように、出力信号判定手段によ
り必要な時間より前にサンプルされたと判断された場合
には信号生成手段の出力信号を選択して出力するように
することで、より簡易な構成で正確な選択を行うことが
できるのである。
【0030】また、前記信号生成手段、前記信号判定手
段、又は、信号訂正手段に、1段又は複数段の信号保持
手段を設けるが好ましい。言い換えれば、前記信号生成
手段の入力部、出力部、又は、前記信号生成手段の内部
に、1段又は複数段の信号保持手段を設けることが好ま
しい。
【0031】上記信号保持手段として、ラッチを前記信
号生成手段の入力部と出力部に設け、出力部に設けたラ
ッチを前記クロックで動作させ、入力部に設けたラッチ
を前記クロックの逆相のクロックで動作させると、入力
信号をクロックで取り込んでから信号生成手段の出力信
号を生成する経路にサイクルタイムよりも長い時間を割
り当てることができる。例えば、クロックのデューティ
が50%であった場合、上記経路に割り当てられた時間
はサイクルタイムの1.5倍になる。
【0032】各回路の信号遅延時間によっては、前記信
号保持手段として、フリップフロップを用いることが好
ましい場合がある。前記信号生成手段の入力部にフリッ
プフロップを設けることにより、入力信号をクロックで
取り込んでから信号生成手段を経て出力信号判定手段そ
して訂正手段に至る経路にサイクルタイムの2倍の時間
を割り当てることができる。つまり、出力信号判定手段
及び訂正手段が高速に動作する時は、ラッチを使った上
記のケースに比べ、長い時間を信号生成手段の出力信号
を生成する経路に割り当てることができる。
【0033】設ける信号生成手段の段数を大きくすれ
ば、信号生成手段を通る経路に割り当てられる時間は多
くなるが、それに伴いペナルティの実行も増加すること
になる。そのため、最高の処理速度を達成するように信
号保持手段の段数を決定することが好ましい。
【0034】また、整数除算器において上記目的を達成
するため、第2の発明の特徴は、少なくとも被除数を保
持する第1の保持手段と、この第1の保持手段に保持さ
れた被除数及び除数を入力して、これらの入力データの
減算を行う第1の減算器と、この第1の減算結果及び前
記被除数を入力して第1の選択信号によりこれら入力デ
ータを選択して出力する第1の選択手段と、前記第1の
選択手段の出力及び前記除数を入力してこれらの入力デ
ータの減算を行う第2の減算器と、この第2の減算器及
び前記第1の選択手段の出力を入力して第2の選択信号
によりこれら入力データを選択して出力する第2の選択
手段と、少なくとも前記第2の選択手段の出力及び前記
被除数を入力して第3の選択信号によりこれら入力デー
タを選択して前記第1の保持手段に出力する第3の選択
手段と、を備えて回復型除算を行う論理回路において、
前記第1の選択手段の出力を保持する第2の保持手段
と、この第2の保持手段に保持された第1の選択手段の
出力及び前記除数を入力してこれら入力データの減算を
行う第3の減算器と、この第3の減算器の出力及び前記
第2の保持手段の出力を入力して第4選択手段の選択信
号によりこれら入力データを選択して出力する第4の選
択手段と、前記第1のクロックにより動作し、前記第4
の出力データを保持する第3の保持手段と、この第3の
保持手段に保持されたデータ及び前記第2の選択手段に
て出力されたデータを入力し、第5の選択信号により前
記第3の選択手段に出力する第5の選択手段と、前記第
3の保持手段に保持されたデータ及び前記第1の保持手
段に保持されたデータを入力してこれらデータの比較を
行い、この比較により前記第5の選択信号を出力する比
較手段とを備えることである。
【0035】上記第2の発明の構成によれば、上述の説
明からも分かるように、単に論理回路のクリティカルパ
スの信号伝播時間を短縮することによる動作クロックの
サイクルタイムを短縮する手法を用いずに論理回路の除
算の処理速度は飛躍的に向上させることができるのであ
る。
【0036】ここで、前記第2の減算器は、リップル加
算器を含んだ減算器であり、前記第3の減算器は、キャ
リーセーブ加算器を含んだ減算器であることが好まし
い。
【0037】ここで、リップル加算器とは、1ビットの
加算器を所定のビット数だけカスケード状にキャリーを
リレーするように接続して所定のビット数の加算を行う
ものである。従って、一般的には最終ビットのキャリー
出力がクリティカルパスとなり、その他の出力(加算結
果(SUM) や桁上り(Carry) )は比較的信号伝播時間が短
いという特性がある。その一方、キャリーセーブ加算器
とは、1ビットの加算器を所定のビット数だけカスケー
ド状に接続され、キャリー有り/無しの場合の両方の計
算を行い、下位のビットの計算の結果でキャリーの有無
が判明した場合に前述の両方の計算を行ったいずれか一
方の計算結果を選択して出力するものである。このキャ
リーセーブ加算器は一般的には最終ビットのキャリー出
力がクリティカルパスとなり、このクリティカルパスの
信号伝播時間がリップル加算器と比較して短いが、その
他の出力は前述のリップル加算器に比較して信号伝播時
間が長いものが多くなるという特性がある。従って、上
記構成によれば、リップル加算器の如く一般的にクリテ
ィカルパスの信号伝播時間が長く、その他の出力は比較
的信号伝播時間が短い特性を有するものを前記の第2の
減算器に備えることで、この第2の減算器を動作するク
ロックのサイクルタイムを短くしてもペナルティの処理
を行う確率を減少させることができ、また、キャリーセ
ーブ加算器の如く一般的にクリティカルパスが短く、そ
の他の出力は前記第2の減算器に比較して信号伝播時間
が長いものを備えることで、ペナルティとなった場合で
もそのサイクルタイムを減少させることができるのであ
る。
【0038】また、第3の発明の特徴は、所定のクロッ
クにより信号を入力して、所定の信号を出力する組合せ
回路と、入力された信号を保持又は保持した信号の書換
えを行う記憶回路とを含んだ論理回路の設計方法におい
て、前記組合せ回路のクリティカルパスより短い所定の
クロックサイクルを設定し、このサイクルに収まらない
パスが活性化された場合に、出力信号を訂正する回路を
付加するように論理回路の設計を行うことである。
【0039】また、第4の発明の特徴は、所定のクロッ
クにより信号を入力して、所定の信号を出力する組合せ
回路と、入力された信号を保持又は保持した信号の書換
えを行う記憶回路とを備えた論理回路の設計方法におい
て、前記組合せ回路におけるクリティカルパスを特定す
るステップと、前記組合せ回路を動作させるクロックで
あって、前記クリティカルパスの信号伝播時間より小さ
いサイクルタイムであるクロックを決定するクロック決
定ステップと、前記組合せ回路に入力するように接続さ
れ、前記入力される所定の信号に対して前記組合せ回路
の出力信号と同論理の出力信号を生成する信号生成手段
を決定する信号生成手段決定ステップと、前記組合せ回
路の出力信号が正しいか否かの判定を行う出力信号判定
手段の判定方法を決定する出力信号判定手段決定ステッ
プと、この出力信号判定手段決定ステップにより決定さ
れた出力信号判定手段により、前記組合せ回路の出力が
正しい場合には前記組合せ回路の出力信号を選択して出
力し、それ以外の場合には前記信号生成手段の出力信号
を選択して出力する選択手段を付加する選択手段付加ス
テップと、により前記組み合わせ回路におけるクリティ
カルパスの信号伝播時間より小さいサイクルタイムで前
記組合せ回路を動作させるようにして論理回路の設計を
行うことである。
【0040】上記第3及び第4の発明の構成によれば、
単に論理回路のクリティカルパスの信号伝播時間を短縮
することによる動作クロックのサイクルタイムを短縮す
る手法を用いずに論理回路の処理速度は飛躍的に向上さ
せることができるのである。
【0041】
【発明の実施の形態】以下、本発明に係る論理回路及び
その設計方法の実施形態を図面を参照しながら詳細に説
明する。
【0042】第1の実施形態 従来例として用いた図8の論理回路に対して、本発明に
係る実施形態を図1に示す。この論理回路は、クロック
信号CKにより信号が入力され、所定の信号を出力する
組合せ回路A(103)、B1(104)と、入力され
た信号を保持又は保持した信号の書換えを行う記憶回路
107とを含んだ論理回路であって、組合せ回路A(1
03)の出力信号を前記クロック信号CKの逆相の信号
CKBで入力し、保持するラッチ109と、このラッチ
109の出力信号を入力するように接続され、前記入力
される所定の信号に対して組合せ回路B1(104)の
正常動作時における出力信号と同等な出力信号を生成す
る組合せ回路B2(105)と、クロック信号CKで動
作し、組合せ回路B2(105)の出力を保持するラッ
チ110と、組合せ回路B1(104)の出力信号が正
しいか否かの判定を行う比較回路113と、比較回路1
13の比較の結果、組合せ回路B1(104)の出力が
正しいと判定された場合には組合せ回路B1(104)
の出力信号を選択して出力し、それ以外の場合には組合
せ回路B2(105)の出力信号を選択して出力するセ
レクタ112とを備えてある。なお、ラッチ109への
入力信号としては、組合せ回路A(103)からの信号
の他に信号116の一部又は全部の信号を用いることも
できる。
【0043】また、106,107はクロック信号CK
の立ち上がりで動作するフリップフロップである。上記
109,110、及び108はラッチである。これらの
ラッチは、入力クロックが‘1’の時入力信号を出力信
号に伝播させる。そして、入力クロックが‘1’から
‘0’に変化する時に、そのときの出力信号を保持す
る。ラッチ108と110は、入力クロックとしてCK
を用いている。一方、ラッチ109は、CKBを用いて
いる。本実施形態に使用するクロック信号CKおよびC
KBの信号波形を図2に示す。
【0044】図1では、図8の組合せ回路803と同等
なものを、前半部の組合せ回路A(103)と後半部の
組合せ回路B1(104)に分けて記した。また、ラッ
チ109、ラッチ110、及び組合せ回路B2(10
5)は、訂正用の信号を生成するために付加した信号生
成手段である。組合せ回路B2(105)の機能は、組
合せ回路B1(104)と同じであり、同等の信号を出
力する。ここで、前半部の組合せ回路A(103)は、
組合せ回路B1(104)、B2(105)に対して共
通に設けられており、これにより論理回路の面積増加を
抑制することができる。組合せ回路B1(104)の出
力信号はフリップフロップ107に、サイクルタイムご
とにサンプルされる。一方、組合せ回路B2(105)
の出力信号はラッチ110に、それらの信号の最長信号
伝播時間以後にサンプルされる。図2に示されるよう
に、サイクルタイムは、組合せ回路A(103)→B1
(104)のクリティカルパスの信号伝達時間よりも短
く設定されている。
【0045】113は、出力信号判定手段としての比較
回路である。この比較回路113は、組合せ回路B1
(104)の出力信号115が必要な伝播時間以後にサ
ンプルされたか否かを判断する。この回路は、組合せ回
路B1(104)の出力結果である信号102と組合せ
回路B2(105)の出力結果である信号114を比較
し、一致しない場合は、セレクタ112が信号114を
選択するようにコントロール信号117を出力する。つ
まり、セレクタ112は、フリップフロップ107に保
持された信号を訂正するための訂正手段である。
【0046】組合せ回路A(103)→109→B2
(105)をそのクリティカルパスの信号伝播時間より
も長い時間で動作させれば、組合せ回路A(103)→
B1(104)においてサイクルタイムよりも長い信号
伝播時間を生じる経路が活性化された場合でも、信号1
14を用いて訂正できる。その結果この論理回路を、組
合せ回路A(103)→B1(104)のクリティカル
パスの信号伝播時間よりも短いサイクルで動作させるこ
とができる。
【0047】図1の実施形態において、組合せ回路B2
(105)の出力はクロック信号CKで動作するラッチ
110でサンプルされるので、組合せ回路A(103)
→109→B2(105)の経路には1.5 サイクルの時
間が割り当てられている。したがって、そのクリティカ
ルパスの信号伝播時間がこの1.5 サイクル以内であれ
ば、この論理回路は正しく動作する。
【0048】ラッチ109自身の信号伝播時間は大変短
いので、組合せ回路B2(105)が組合せ回路B1
(104)と完全に同じであれば、組合せ回路A(10
3)→B1(104)のクリティカルパスと組合せ回路
A(103)→109→B2(105)のクリティカル
パスは、ほぼ同じ信号伝播時間を持つ。つまり、この回
路は、組合せ回路A(103)→B1(104)をその
クリティカルパスの信号伝播時間のほぼ2/3のサイク
ルタイムで動作させることができる。
【0049】図1の実施形態の動作について説明する。
図3は、この実施形態の動作タイミングを示す。各信号
の番号は、図1に示した信号の番号に対応する。
【0050】まず最初に、出力信号102を訂正しない
時の動作を説明する。サイクル1で入力信号116に応
じた信号が生成され、次のサイクル2で出力信号102
として出力する。訂正用信号114は、入力信号116
から1.5 サイクルかけて生成され、サイクル2の後半で
出力信号102と比較される。訂正用信号114の値が
出力信号102の値と等しければ、出力信号102を訂
正する必要はない。この場合、信号115がセレクタ1
12で選択され、フリップフロップ107に取り込まれ
る。そしてこの値が次のサイクル3の出力信号102の
値になる。
【0051】次に出力信号102を訂正する時の動作を
説明する。この動作例ではサイクル3においては、サイ
クルタイムに収まらないクリティカルパスが活性化され
ているものとする。そしてサイクル4で、この回路の出
力信号102と訂正用信号114を比較している。この
比較により当然不一致となるのでサイクル5で、出力信
号を訂正用信号に置き換える。訂正に1サイクル費やし
ているので、入力信号116は、更新されずにのまま
である。このことを可能にするため、ラッチ108に信
号116と同じ値を保持しセレクタ111で選択し、再
度フリップフロップ106に書き込んでいる。また、サ
イクル5の出力信号102は、正しい値なので比較回路
113は動作しない。
【0052】第2の実施形態 図4(a)に、本発明に係る第2の実施形態を示す。第
1の実施形態である図1との違いは、訂正用信号を生成
するパスのパイプの組み方である。図1では、2つのラ
ッチ109,110を用いているが、図4で示す実施形
態では、フリップフロップ408を用いている。従って
この回路では、403→404を1サイクルで動作させ
る一方、403→408→405→413→412のパ
スを2サイクルで行うことになる。上記の第1の実施形
態では、組合せ回路A(103)−>109−>B2
(105)に1.5 サイクル、113−>112に0.5 サ
イクル割り当てられているので、各組合せ回路、比較回
路、及びセレクタの信号伝播時間によっては、この構成
が有利となる。
【0053】図4(a)の実施形態の動作タイミングを
図5に示す。図3と同様にサイクル3でクリティカルパ
ス活性化、サイクル4で比較/訂正という例を示してい
る。基本的な動作は、図3と同じである。
【0054】さらに、第2の実施の形態の変形例を図4
(b)に示す。この図からも分かる通り、フリップフロ
ップ406の出力信号416は組合せ回路A1(403
a)に入力され、この組合せ回路A1(403a)の出
力信号が、フリップフロップ408aを経て組合せ回路
B2(405)に入力されるようにしてある点で、図4
(a)と異なる。従って、訂正用信号414を生成する
経路が異なっている。
【0055】このように構成することにより、回路規模
は増加するが、各組合せ回路の設計の自由度が増すの
で、その目的に応じてより高度な最適化を図ることがで
きる。つまり、組合せ回路404、403はパス全体が
短くなるように設計し、組合せ回路403a、405は
クリティカルパスを短くするように設計すれば、より短
いサイクルで、かつ訂正のためのペナルティが少なく動
作させることが可能となる。
【0056】なお、フリップフロップ408aは前記フ
リップフロップ408と同様に図1の2つのラッチ10
9、110を組み合わせたものと同等の機能を有する。
【0057】第3の実施形態 本発明に係る論理回路の第3の実施形態として、より具
体的な実施形態を図6に示す。図6は、本発明に係る論
理回路の設計方法により設計した32ビット符号なし整
数除算器である。この設計方法は、組合せ回路のクリテ
ィカルパスより短い所定のクロックサイクルを設定し、
このサイクルに収まらないパスが活性化された場合に、
出力信号を訂正する回路を付加するようにして論理回路
の設計を行ようにしてある。この方法を用いて設計され
た論理回路は2ビット/サイクルで高速に回復型除算を
行うことができる。
【0058】32ビットの被除数を信号602から、3
2のビット除数を信号601から入力する。604は、
64ビットのフリップフロップであり、演算が終了する
と上位32ビットに剰余を下位32ビットに商を保持す
る。620,621,622は、32ビットの加算器で
ある。実際には、一つのオペランドは、反転して入力
し、最下位ビットにキャリーインを入力することにより
減算器として用いる。
【0059】606は、そのための32ビット幅の反転
回路である。617,618,619は、セレクタであ
り、それぞれ直前の加算器のキャリー出力でコントロー
ルされる。キャリー信号が‘1’の時は、加算器からの
出力を選択し、‘0’の時は加算前の信号を選択する。
このキャリーがそのまま除算の1ビットの商になる。
【0060】前述したように、この除算器は、加算器6
20,621を用いて1サイクルに2ビットの商を求め
る。この2つの加算器はシリアルに動作する。本実施形
態においては、この後段の加算器621の出力信号61
3と信号615を訂正可能にした。そのために、それら
の訂正用の信号を生成するため加算器619とラッチ6
37、631をつけ加えた。
【0061】628は、33ビット幅の比較回路であ
る。信号613と信号615が必要な時間以後にサンプ
ルされたか否かを判断する。信号626は、信号608
を訂正した信号値をもつ。比較回路628で、サンプル
後の信号627と信号値を訂正するために用いる信号6
35を比較する。一致しなければ、セレクタ634で、
訂正済みの信号626を選択する。
【0062】図7を用いて図6で示した実施形態の各信
号の詳細な接続を説明する。図では、上位ビットは左
に、下位ビットは右になるように信号を記した。最下位
ビットを第0ビットと呼び、順に上位に向かって、第1
ビット、第2ビット、第3ビット、…と呼ぶ。
【0063】図に示すように、信号616は、そのサイ
クルに算出した部分剰余をもつ信号615とフリップフ
ロップ604の下位30ビットの信号610と二つの加
算器からのキャリー信号612,613を図で示した位
置に連結したものである。
【0064】信号626は、訂正用に生成した部分剰余
625とフリップフロップ604の第31ビットから第
1ビットの信号632と加算器622のキャリー出力を
ラッチした信号633を図で示した位置に連結したもの
である。
【0065】信号608は、フリップフロップ604か
らの出力信号である。演算終了後には、上位32ビット
に剰余、下位32ビットに商を保持し外部に出力する。
演算中は、第62ビットから第31ビットを信号609
として加算器620に、第30ビットを加算器621に
出力する。第29ビットから第0ビットは、左シフトを
するために、信号616に出力される。
【0066】信号614は、前段の加算器620とセレ
クタを用いて算出した部分剰余信号630と上記の信号
608から分離した信号611を図のように連結したも
のである。
【0067】図7では記していないが、信号627は、
信号608の上位32ビットと最下位の1ビットを連結
した33ビット幅の信号である。また信号635は、信
号625と信号633を連結した信号である。この時、
信号633と信号608の最下位ビットが同じ位置にく
るようにそれぞれ連結する。
【0068】この除算器は、二つの加算器620,62
1をシリアルに用いて、2ビット/サイクルで商を求め
ていく。各サイクル毎の演算結果は、信号616にの
る。この回路では、この信号616をクリティカルパス
により生じる信号伝播時間よりも短いサイクルでフリッ
プフロップ604でサンプルする。サイクルタイムより
も長い信号伝播時間を生じるパスが活性化された場合に
備えて、加算器622とその周辺回路を用いて訂正用の
信号を生成する。ちなみに上記の二つの加算器はシリア
ルに動作するので前段の加算器620のキャリー出力6
12は、サイクルタイム以内に生成可能とし、そのため
の訂正用の信号は生成していない。
【0069】この実施形態でも、図2に示したクロック
信号、CKとCKBを用いる。ラッチ636,631
は、クロック信号CKを用いているので、訂正用信号6
23,624のCKの立ち下がりにサンプルする。した
がって、これら訂正用信号623,624を生成するク
リティカルパスの信号伝播時間が、1.5 サイクルより
も、短ければ、この回路は正常に動作する。信号616
を生成するクリティカルパスと訂正用信号623,62
4を生成するクリティカルパスは、ほぼ同じ長さになる
ので、この回路は、信号616を生成する回路をそのク
リティカルパス長の2/3のサイクルタイムで動作させ
ることが可能になる。
【0070】本発明は、本明細書で示した実施形態以外
にも様々なバリエーションが可能である。まず、訂正用
の信号を生成する回路は、メインの回路の一部と完全に
同一である必要はない。
【0071】たとえば、図1で示した第1の実施形態に
おいて、組合せ回路B1(104)の一部の出力信号だ
けがサイクルタイムよりも長いパスを持つ回路の場合、
組合せ回路B2(105)はそれらの信号のみ生成すれ
ば良い。また、組合せ回路B2(105)として、でき
るだけクリティカルパスを短くなるように設計したもの
を用い、一方、組合せ回路B1(104)として、全体
のパスが短くなるよう設計したものを用いるとより一層
の効果がある。
【0072】また、信号が必要な信号伝播時間以後にサ
ンプルされたか否かを判断する手段として、比較回路以
外の回路を用いることも可能である。例えば、非同期回
路等は、その回路の動作が終了したことを示す信号を生
成している。判断手段として、そのような信号も利用で
きる。
【0073】さらに、本明細書で示した実施形態では、
訂正用の信号を生成しその信号を用いて訂正を行う経路
にフリップフロップを一つ、またはラッチを二つ入れて
いる。言い換えるとこの経路を2サイクルかけて動作さ
せている。このフリップフロップまたは、ラッチの数を
増やすことにより、より短いサイクルタイムで論理回路
を動作させることが可能である。
【0074】以上述べてきたように、上述の実施形態に
よれば回路をそのクリティカルパス長よりも短いサイク
ルで動作させることができる。しかし、このサイクルに
収まらないパスが活性化された場合、出力信号を訂正す
るための時間が必要になる。訂正によるペナルティー
は、実装の仕方により異なる。本明細書で示した実施形
態の場合1サイクルのペナルティーが必要になる。
【0075】容易に推測できるように、本発明の効果の
大きさは、回路のパスの長さの分布により変わる。一般
的にいって、クリティカルパスが活性化されるケースは
少なく、大半のパスはクリティカルパスの信号伝播時間
より大変短い時間に動作可能である。図6に示す本発明
の実施形態は、当社の0.5μmCMOS技術を用いて
設計した。動的なタイミング解析ツールを用いて調べた
ところ、クリティカルパスの信号伝播時間の75%のサ
イクルタイムで動作させたとき、各サイクルで訂正が必
要な確率は、たった2.5%であった。
【0076】
【発明の効果】以上のように、本発明に係る論理回路及
びその設計方法によれば、論理回路の動作クロックのサ
イクルタイムを短縮して、論理回路の処理速度の向上を
図ることができる。従って、論理回路を高速に動作さ
せ、高性能な回路の設計を実現することができる。
【図面の簡単な説明】
【図1】本発明の実施形態を示すブロック図である。
【図2】図1に記された回路に入力されるクロックの波
形図である。
【図3】本発明に係る第1の実施形態の論理回路の動作
を説明するための図である。
【図4】本発明の第2の実施形態を示すブロック図であ
る。
【図5】本発明に係る第2の実施形態の論理回路の動作
を説明するための図である。
【図6】本発明を適用した整数除算器を示すブロック図
である。
【図7】図6に示した実施形態中の信号の連結、分離の
仕方を示したものである。
【図8】従来の論理回路を表すブロック図である。
【図9】図1に記載された回路に入力されるクロックの
波形図である。
【符号の説明】
101 外部からの入力信号 102 外部への出力信号 103,104,105 組合せ回路 106,107 フリップフロップ 108,109,110 ラッチ 111,112 セレクタ 113 比較回路 114,115,116,117 信号 401 外部からの入力信号 402 外部への出力信号 403,404,405 組合せ回路 406,407,408 フリップフロップ 409 ラッチ 411,412 セレクタ 413 比較回路 414,415,416,417 信号 601 入力信号(除数) 602 入力信号(被除数) 603 セレクタ 604 64ビット フリップフロップ 605 32ビット フリップフロップ 606 インバータ(32ビット幅) 607 信号(32ビット幅) 608 信号(64ビット幅) 609 信号(32ビット幅) 610 信号(30ビット幅) 611 信号(1ビット幅) 612,613 加算器のキャリー出力信号(1ビット
幅) 614,615 信号(32ビット幅) 616 信号(64ビット幅) 617 セレクタ(31ビット幅) 618,419 セレクタ(32ビット幅) 620,421,422 加算器(32ビット幅) 623 加算器のキャリー出力信号(1ビット幅) 624 信号(32ビット幅) 625 信号(32ビット幅) 626 信号(64ビット幅) 627 信号(33ビット幅) 628 比較回路(33ビット幅) 629 信号(回路128の比較結果を示す。1ビット
幅) 630 信号(31ビット幅) 631 ラッチ(32ビット幅) 632 信号(31ビット幅) 633 信号(1ビット幅) 634 セレクタ(64ビット幅) 635 信号(33ビット幅) 636 ラッチ(1ビット幅) 637 ラッチ(32ビット幅) 801,802 信号 803 組合せ回路 804,805 フリップフロップ 806 組合せ回路の入力信号 807 組合せ回路の出力信号

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 組合せ回路と、クロックにより信号の保
    持又は書換えを行う記憶回路とを含んだ論理回路であっ
    て、 前記組合せ回路に入力される信号又は前記組合せ回路内
    で生成され使用される信号を入力するように接続され、
    前記入力される所定の信号に対して前記組合せ回路の出
    力信号と同論理の出力信号を生成する信号生成手段と、 前記組合せ回路の出力信号が正しいか否かの判定を行う
    出力信号判定手段と、 この出力信号判定手段の判定の結果、前記組合せ回路の
    出力が正しいと判定された場合には前記組合せ回路の出
    力信号をそのまま出力し、それ以外の場合には前記信号
    生成手段の出力信号を用いて訂正し出力する訂正手段
    と、 を備えることを特徴とする論理回路。
  2. 【請求項2】 前記組合せ回路は、 出力信号の一部又は全部を、その信号を生成する回路の
    クリティカルパスの信号伝播時間より前にサンプルする
    ことを特徴とする請求項1記載の論理回路。
  3. 【請求項3】 前記組合せ回路は、 信号伝播時間の短いパスが活性化される頻度が、前記信
    号生成手段における信号伝播時間の短いパスが活性化さ
    れる頻度よりも大きくなるように構成されることを特徴
    とする請求項1記載の論理回路。
  4. 【請求項4】 前記信号生成手段は、 前記組合せ回路に入力される信号を入力するように接続
    され、前記入力される所定の信号に対して前記組合せ回
    路の出力信号と同論理の出力信号の一部のみを生成する
    ことを特徴とする請求項1記載の論理回路。
  5. 【請求項5】 前記信号生成手段は、 前記組合せ回路に入力される所定の入力信号に対して前
    記組合せ回路の出力信号と同論理の出力信号を生成し、
    前記組合せ回路のクリティカルパスの信号伝播時間より
    短いクリティカルパスの信号伝播時間となるように構成
    されることを特徴とする請求項1記載の論理回路。
  6. 【請求項6】 前記出力信号判定手段は、 前記組合せ回路の出力信号と、前記信号生成手段にて生
    成された信号とを入力して比較する比較回路を備えるこ
    とで、前記組合せ回路の出力信号が正しいか否かの判定
    を行うことを特徴とする請求項1記載の論理回路。
  7. 【請求項7】 前記出力信号判定手段は、 クリティカルパスの信号伝播時間より前にサンプルされ
    た前記信号が適切な信号値を生成するために必要な時間
    以降にサンプルされたか否かを判断することで前記組合
    せ回路の出力信号が正しいか否かの判定を行うことを特
    徴とする請求項2記載の論理回路。
  8. 【請求項8】 前記出力信号判定手段は、 入力された信号により活性化されるパスの遅延を予測す
    る予測回路を備えることで前記組合せ回路の出力信号が
    正しいか否かの判定を行うことを特徴とする請求項2記
    載の論理回路。
  9. 【請求項9】 前記訂正手段は、 前記比較回路の比較の結果、前記組合せ回路の出力信号
    と前記信号生成手段にて生成された信号とが等しい場合
    には前記組合せ回路の出力信号を選択し、これら信号が
    異なる場合には前記信号生成手段の出力信号を選択する
    セレクタを備えることを特徴とする請求項6記載の論理
    回路。
  10. 【請求項10】 前記訂正手段は、 この出力信号判定手段の判定の結果、前記組合せ回路の
    出力が正しい場合には前記組合せ回路の出力信号を選択
    して出力し、前記出力信号判定手段により必要な時間よ
    り前にサンプルされたと判断された場合には前記信号生
    成手段の出力信号を選択して出力することを特徴とする
    請求項7記載の論理回路。
  11. 【請求項11】 前記信号生成手段、前記信号判定手
    段、又は、信号訂正手段に、1段又は複数段の信号保持
    手段を設けることを特徴とする請求項1記載の論理回
    路。
  12. 【請求項12】 前記信号生成手段に設ける信号保持手
    段として、ラッチを用いることを特徴とする請求項11
    記載の論理回路。
  13. 【請求項13】 前記信号生成手段に設ける信号保持手
    段として、フリップフロップを用いることを特徴とする
    請求項11記載の論理回路。
  14. 【請求項14】 少なくとも被除数を保持する第1の保
    持手段と、 この第1の保持手段に保持された被除数及び除数を入力
    して、これらの入力データの減算を行う第1の減算器
    と、 この第1の減算器の減算結果及び前記被除数を入力して
    第1の選択信号によりこれら入力データを選択して出力
    する第1の選択手段と、 この第1の選択手段の出力及び前記除数を入力してこれ
    らの入力データの減算を行う第2の減算器と、 この第2の減算器及び前記第1の選択手段の出力を入力
    して第2の選択信号によりこれら入力データを選択して
    出力する第2の選択手段と、 少なくとも前記第2の選択手段の出力及び前記被除数を
    入力して第3の選択信号によりこれら入力データを選択
    して前記第1の保持手段に出力する第3の選択手段と、 を備えて回復型除算を行う論理回路において、 前記第1の選択手段の出力を保持する第2の保持手段
    と、 この第2の保持手段に保持された第1の選択手段の出力
    及び前記除数を入力してこれら入力データの減算を行う
    第3の減算器と、 この第3の減算器の出力及び前記第2の保持手段の出力
    を入力して第4の選択信号によりこれら入力データを選
    択して出力する第4の選択手段と、 前記第4の選択手段の出力データを保持する第3の保持
    手段と、 この第3の保持手段に保持されたデータ及び前記第2の
    選択手段にて出力されたデータを入力し、第5の選択信
    号により前記第3の選択手段に出力する第5の選択手段
    と、 前記第3の保持手段に保持されたデータ及び前記第1の
    保持手段に保持されたデータを入力してこれらデータの
    比較を行い、この比較により前記第5の選択信号を出力
    する比較手段と、 を備えることを特徴とする論理回路。
  15. 【請求項15】 前記第2の減算器は、リップル加算器
    を含んだ減算器であり、 前記第3の減算器は、キャリーセーブ加算器を含んだ減
    算器であることを特徴とする請求項14記載の論理回
    路。
  16. 【請求項16】 所定のクロックにより信号を入力し
    て、所定の信号を出力する組合せ回路と、入力された信
    号を保持又は保持した信号の書換えを行う記憶回路とを
    含んだ論理回路の設計方法において、 前記組合せ回路のクリティカルパスより短い所定のクロ
    ックサイクルを設定し、 このサイクルに収まらないパ
    スが活性化された場合に、出力信号を訂正する回路を付
    加するように論理回路の設計を行うことを特徴とする論
    理回路の設計方法。
  17. 【請求項17】 所定のクロックにより信号を入力し
    て、所定の信号を出力する組合せ回路と、入力された信
    号を保持又は保持した信号の書換えを行う記憶回路とを
    備えた論理回路の設計方法において、 前記組合せ回路におけるクリティカルパスを特定するス
    テップと、 前記組合せ回路を動作させるクロックであって、前記ク
    リティカルパスの信号伝播時間より小さいサイクルタイ
    ムであるクロックを決定するクロック決定ステップと、 前記組合せ回路に入力するように接続され、前記入力さ
    れる所定の信号に対して前記組合せ回路の出力信号と同
    論理の出力信号を生成する信号生成手段決定ステップ
    と、 前記組合せ回路の出力信号が正しいか否かの判定を行う
    出力信号判定手段の判定方法を決定する出力信号判定手
    段決定ステップと、 この出力信号判定手段決定ステップにより決定された出
    力信号判定手段により、前記組合せ回路の出力が正しい
    場合には前記組合せ回路の出力信号を選択して出力し、
    それ以外の場合には前記信号生成手段の出力信号を選択
    して出力する選択手段を付加する選択手段付加ステップ
    と、 により前記組合せ回路におけるクリティカルパスの信号
    伝播時間より小さいサイクルタイムで前記組合せ回路を
    動作させるように論理回路の設計を行うことを特徴とす
    る論理回路の設計方法。
JP7272892A 1995-10-20 1995-10-20 論理回路及びその設計方法 Pending JPH09116413A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP7272892A JPH09116413A (ja) 1995-10-20 1995-10-20 論理回路及びその設計方法
EP02027610A EP1291764A1 (en) 1995-10-20 1996-10-16 Logic circuit and method for designing the same
DE69626596T DE69626596T2 (de) 1995-10-20 1996-10-16 Logische Schaltung, die nach dem Carry select Prinzip arbeitet
US08/733,074 US6101621A (en) 1995-10-20 1996-10-16 Logic circuit and method for designing the same
EP96116589A EP0769738B1 (en) 1995-10-20 1996-10-16 Logic circuit with carry selection technique
KR1019960046952A KR100370819B1 (ko) 1995-10-20 1996-10-19 논리회로 및 그 설계방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7272892A JPH09116413A (ja) 1995-10-20 1995-10-20 論理回路及びその設計方法

Publications (1)

Publication Number Publication Date
JPH09116413A true JPH09116413A (ja) 1997-05-02

Family

ID=17520219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7272892A Pending JPH09116413A (ja) 1995-10-20 1995-10-20 論理回路及びその設計方法

Country Status (1)

Country Link
JP (1) JPH09116413A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008245164A (ja) * 2007-03-28 2008-10-09 Fujitsu Ltd 順序回路及びその高速化方法
US8539324B2 (en) 2011-10-21 2013-09-17 Fujitsu Limited Processing unit
CN111597770A (zh) * 2020-05-19 2020-08-28 中国科学院微电子研究所 快速查找数据最高有效比特位的电路装置及查找方法
CN115061534A (zh) * 2022-05-09 2022-09-16 厉雷刚 无时钟异步电路、数据同步输出的方法、设备及介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008245164A (ja) * 2007-03-28 2008-10-09 Fujitsu Ltd 順序回路及びその高速化方法
US8539324B2 (en) 2011-10-21 2013-09-17 Fujitsu Limited Processing unit
CN111597770A (zh) * 2020-05-19 2020-08-28 中国科学院微电子研究所 快速查找数据最高有效比特位的电路装置及查找方法
CN115061534A (zh) * 2022-05-09 2022-09-16 厉雷刚 无时钟异步电路、数据同步输出的方法、设备及介质

Similar Documents

Publication Publication Date Title
US10089426B2 (en) Logic circuit generation device and method
US20070168902A1 (en) Method for high-level synthesis of semiconductor integrated circuit
US9146707B2 (en) Generating a fast 3x multiplicand term for radix-8 booth multiplication
US6101621A (en) Logic circuit and method for designing the same
JP3813127B2 (ja) 3つのゲートのクリティカル・パスを有するワイド加算器
US20190102197A1 (en) System and method for merging divide and multiply-subtract operations
JP2004054756A (ja) 消費電力見積り装置及び方法
US20010016936A1 (en) High- level synthesis method and storage medium storing the same
JP3714570B2 (ja) 並列処理用割り算回路
US9552328B2 (en) Reconfigurable integrated circuit device
Thomas et al. Using dataflow based context for accurate value prediction
Yalcin et al. An approximate timing analysis method for datapath circuits
US6915504B2 (en) Method for designing arithmetic device allocation
JPH09116413A (ja) 論理回路及びその設計方法
JPH04270415A (ja) 高性能加算器
US6906558B2 (en) Data latch circuit and method for improving operating speed in a data latch circuit
US8707225B1 (en) Synthesis of area-efficient subtractor and divider functional blocks
JP4567753B2 (ja) パリティ生成回路、計数回路および計数方法
US6367066B1 (en) System for synthesizing a circuit by re-writing signed variables into unsigned variables and sharing resources for identical operations having different timing
JP2001209670A (ja) 高位合成方法、および、高位合成方法の実施に使用される記録媒体
JP2005078402A (ja) 電子回路の動作合成方法
JP2002222228A (ja) 高位合成システム及び高位合成方法
JPH117458A (ja) 論理合成方法
JP3573874B2 (ja) 演算回路
Hara et al. Behavioral Synthesis of Double-Precision Floating-Point Adders with Function-Level Transformations: A Case Study