JPH09204236A - 高速コンピュータにおけるタイミング信号発生方法及びその装置 - Google Patents
高速コンピュータにおけるタイミング信号発生方法及びその装置Info
- Publication number
- JPH09204236A JPH09204236A JP8323213A JP32321396A JPH09204236A JP H09204236 A JPH09204236 A JP H09204236A JP 8323213 A JP8323213 A JP 8323213A JP 32321396 A JP32321396 A JP 32321396A JP H09204236 A JPH09204236 A JP H09204236A
- Authority
- JP
- Japan
- Prior art keywords
- pulse
- signal
- logic
- bit
- self
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Logic Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
- Pulse Circuits (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
ロックと独立してできる限り高速に選択したアルゴリズ
ムを実行することである。 【解決手段】 自己刻時式アルゴリズム実行のための方
法は、基準クロック28に同期して関数論理24の組へ
入力データを転送するステップと、機能論理の組につい
てのアルゴリズム実行時間に依存しているが基準クロッ
ク28とは独立している速度で関数論理24の組を駆動
するため最大速度パルスシーケンスを生成するステップ
と、最大速度パルスシーケンスに応じて関数論理24の
組から出力データを生成するステップと、基準クロック
28に同期して関数論理24から出力データを転送する
ステップとを含む。
Description
におけるタイミング信号発生方法及びその装置に関する
ものである。さらに詳しくは、本発明は、マスタ時刻基
準に厳密には同期していない自己刻時式アルゴリズム実
行のための方法並びにその装置に関する。
の必要なスイッチング動作を同期させるためのマスタ時
刻基準が必要とされる。ある種のコンピュータ・システ
ムでは、均一な1つのクロック信号が数個のクロック増
幅器で再バッファリングされてシステム内で使用される
メモリ装置全部のタイミング同期の唯一の供給源として
動作する。別のシステムでは、数個の更に異なる位相の
クロック信号を用いて別々のメモリ装置の組を駆動して
いる場合があるが、全て従来的にはシステム内のマスタ
時刻基準に同期されている。
るメモリ装置が相対的に異なる速度でデータストリーム
または命令シーケンスによって状態を切り換えるかまた
は変更する。このような複数のクロック回路は、メモリ
装置間の関数論理がもっとも速い速度で周回できるよう
に設計されることが多い。パイプライン化システムで
は、たとえば、関数論理はメモリ装置間で分担され、目
標とする最小実行時間のシステム設計上の制約が関数論
理またはメモリ装置要素の個数の共同制約的増加なしに
維持されている。
速で幾つかのパイプライン機能ユニットの内部順位を維
持しつつ機能ユニットの入出力境界がシステム内の残り
のパイプライン機能ユニットと互換性のある低い速度で
維持されるように超ハーモニッククロックが使用されて
いる。従来技術の方法は「マイクロパイプライン化」と
して周知でありパイプライン化機能ユニットの内部メモ
リ装置がパイプラインの入力ポートおよび出力ポートに
見られる低速のストリーム速度と同期してパイプライン
のマイクロ演算をインタリーブ化する厳密に同期した超
ハーモニッククロック信号を有するような装置を含む。
残念ながら、マイクロパイプライン化の欠点としては、
それぞれのメモリ装置から実際に受信したトリガ信号に
最低限の歪みを保証するため低歪み木構造として数個の
クロック増幅器を必要とし、また一元的なタイミング間
隔を要求することが含まれる。つまり、一元的タイミン
グ間隔の内部で充分に動作できる程短い伝播遅延を有し
ていないマイクロパイプライン内部の論理要素の組は、
対応させるのが難しい。更に、RLD内部の伝播遅延が
機能単位ごとに変化し、半包括的マイクロパイプライン
クロックを有することを困難にしているため、マイクロ
パイプライン化の概念は再設定可能な論理装置(RL
D)たとえばフィールド・プログラマブル・ゲートアレ
イ(FPGA)等を用いて実装するのが特に困難であ
る。
理設計の実施に使用される場合、実際のRLD相互接続
を生成するために使用する「ツール」の大半はレジスタ
転送言語(RTL)パラダイムを使用している。このよ
うなパラダイムはRLD内部の関数論理およびメモリ装
置を駆動する独立したマスタ刻時基準クロックの存在に
強く依存している。このようなパラダイムはさらに、R
LD内部の論理設計の物理的実装が論理設計の全体的タ
イミング性能およびシリコン資源要求に依存することを
無視している。実際に、RLDツール製造メーカではR
LDの物理特性に左右されないことを論理設計パラダイ
ムの「利点」として主張している。
時刻基準に同期したくロックシステムに付随する前述の
困難を回避するため、コンピュータの機能タスクを一組
の非同期刻時によるサブタスクに分割する試みを行なっ
ている。残念ながら、既存の非同期論理設計も多くの制
約を有している。これはたとえば、演算タスクを完了す
る際に「完了信号」を生成する必要があること、可変ま
たは未知の完了時刻を有すること、外部クロック要素を
必要とすること、データ依存の完了時刻を有すること、
外部回路と非同期的にインタフェースすること、外部回
路とのデータ交換をコヒーレントでない位相にするこ
と、外部クロック回路へ加えられた遅延がさらにシステ
ム全体を複雑化すること、同期外部回路の内部に埋め込
むことが難しいこと、システム全体の性能を外部クロッ
ク回路ネットワークに結合することがある。
ン周波数を実現する上で固有の負担を、一元的なタイミ
ング間隔を用いるシステム内部でできるかぎり短いステ
ージ環遅延の制約を有する同時的な負担から分離するよ
うな自己刻時式アルゴリムの実行のための装置ならびに
方法である。
第1の速度で入力データを受信するように結合され、前
記第1の速度とは独立した第2の速度で出力データを生
成し、前記第1の速度で前記出力データを送信するよう
に結合される関数論理の組と、前記第2の速度に対応す
る自己刻時式パルスシーケンスを生成し、前記関数論理
を制御するように結合されたパルスシーケンサとを含む
ことを特徴とするものである。
行時間を有することと、前記第2の速度は前記予測実行
時間に基づく最大速度であることを特徴とする。
組のハードウェア資源の組の内部に配置されて前記ハー
ドウェア資源の動作パラメータ変動に対して同期的に応
答することを特徴とする。
生成する遅延ユニットを含むことを特徴とする。
理装置を含み、それぞれの論理装置は予測可能な伝播遅
延を有することを特徴とする。
ャリー論理要素を含むことを特徴とする。
な論理装置内にキャリー伝播論理を含むことを特徴とす
る。
ック信号を生成するシーケンスゲート論理を含み、前記
シーケンスゲート論理は遅延ユニット出力信号を受信す
るように結合されまた関数論理へ前記一組のクロック信
号を供給して前記第2の速度を提供するように結合され
ることを特徴とする。
ント信号を生成するパルスカウンタを含み前記パルスカ
ウンタは前記遅延ユニット出力信号を受信するように結
合されることを特徴とする。
を生成して前記遅延ユニットの動作を開始するための開
始論理を含むことを特徴とする。
は 被乗数を受信するように結合されたマルチプレクサ
と、乗数と前記被乗数内部のビットのサブセットを受信
するように結合されて一組の部分積を生成する部分積ジ
ェネレータと、前記一組の部分積を受信するように結合
されて部分積の和を生成する部分積加算器と、前記部分
積の和を受信するように結合されて部分積の和を積算し
て積を生成する積積算器とを含み、前記乗数は前記遅延
ユニットにより生成された前記自己刻時式発振に応じて
制御されることを特徴とする。
サであって、前記パルスシーケンサは自己刻時式発振を
生成するように結合された一組のキャリー論理素子を含
むことを特徴とする。
リズム実行システムを制御するための装置であって、前
記自己刻時式アルゴリズム実行システムは入力データを
受信して一組の制御信号に応じて出力データを生成する
関数論理を含み、前記装置は、開始信号を受信するよう
に結合されてこれに応じて開始パルスを生成する開始論
理と、前記開始パルスを受信するように結合されてこれ
に応じて遅延ユニット出力信号とフィードバック信号と
を生成する遅延ユニットと、前記遅延ユニット出力信号
を受信するように結合されてこれに応じてパルスカウン
ト信号を選択し選択的に停止信号を生成するパルスカウ
ンタと、前記パルスカウント信号を受信するように結合
されてこれに応じて前記一組の制御信号を生成するシー
ケンスゲート論理とを含み、前記開始論理は前記フィー
ドバック信号を受信し応答的に前記停止信号が生成され
ない場合には前記開始パルスを再生成するように結合さ
れることを特徴とする。
パルスジェネレータを含む装置において自己刻時式アル
ゴリズム実行のための方法であって、前記方法は、第1
の速度で入力データを受信するステップと、前記第1の
速度と無関係な第2の速度で自己刻時式パルスシーケン
スを生成するステップと、前記パルスシーケンスに応答
して前記第2の速度で前記入力データを処理するステッ
プと、前記第1の速度で出力データを出力するステップ
とを含むことを特徴とする。
記ステップは前記一組の関数論理に関連する実行時間に
従う最大速度で実行されることを特徴とする。
クロックと同期して実行され、前記生成ステップは前記
基準クロックとは独立した自己刻時式速度で実行され、
前記出力ステップは前記基準クロックと同期して実行さ
れることを特徴とする。
自己刻時式発振を生成するステップと、停止信号を受信
するまで前記自己刻時式発振を維持するステップとを含
むことを特徴とする。
ト信号を生成するステップと、前記自己刻時式発振の周
期に対応する速度で前記入力データの処理を制御する一
組の制御信号を生成するステップとを含むことを特徴と
する。
内部のビットのサブセットを乗算することで一組の部分
積を生成するサブステップと、前記一組の部分積を加算
することにより部分積の和を生成するサブステップと、
前記部分積の和を直前の部分積の和に積算するサブステ
ップと、乗算積が生成されるまで前記処理ステップ内の
それぞれのサブステップを反復するサブステップとを含
むことを特徴とする。
リズム実行のための装置であって、第1の速度で入力デ
ータを受信する手段と、前記第1の速度と無関係な第2
の速度で自己刻時式パルスシーケンスを生成する手段
と、前記第2の速度で前記入力データを処理して前記自
己刻時式パルスシーケンスに応じて出力データを生成す
る手段と、前記第1の速度で前記出力データを出力する
手段とを含むことを特徴とする。
る手段を含むことを特徴とする。
づいて説明する。本発明は、高速コンピュータにおける
タイミング信号発生であり、特に、自己刻時式アルゴリ
ズム実行のための方法並びに装置である。
と、基準クロック入力と、パルスシーケンサとを含む。
関数論理セットは基準クロック入力に受信した基準クロ
ックと同期して入力データを受信し、関数論理セットの
物理的特性にしたがってパルスシーケンサによって決ま
る最大速度で入力データについてのアルゴリズム計算を
実行し、出力データを生成し、基準クロックと同期して
出力データを送信する。パルスシーケンサにより設定さ
れる最大速度は基準クロックに依存しない。
と同期して入力データを関数論理セットに転送する段階
と、機能的論理セットのアルゴリズム実行時間に依存す
るが基準クロックには依存しない速度で関数論理セット
を駆動するための最大速度パルスシーケンスを生成する
段階と、最大速度パルスシーケンスに応答して機能論理
セットから出力データを生成する段階と、基準クロック
に同期して関数論理からの出力データを送信する段階と
を含む。
めの装置ならびに方法である。選択したアルゴリズムを
実行するように設計した関数論理セットと遅延ユニット
を対にすることで、本発明では第1に他の関数論理セッ
トを駆動する全ての基準クロックと独立してできる限り
高速に選択したアルゴリズムを実行する。つまり、周知
のタイミング装置およびその方法とは対称的に、アルゴ
リズムを実施する全ての機能論理セットのタイミング特
性は基準クロックの速度に制限されたり依存する必要が
ない。第2に、一組の自己刻時式パルスの生成に応じて
アルゴリズムを実施する関数論理セットに基づいた自己
刻時速度でデータ演算する。第3に、他の関数論理セッ
トで受信すべき特定の既知の時刻にデータを出力する。
その結果、本発明の装置ならびに方法はひとつの関数論
理セットを他の関数論理セットまたは基準クロックの動
作速度と無関係な速度で動作させることができるため、
ハードウェア設計を簡略化しつつ最大限可能なアルゴリ
ズム実行速度を維持することが可能で、従来技術に対し
て特に有利である。
て関数論理セットを観察することによりこれらの利点を
実現する。本発明はレジスタ転送論理(RTL)パラダ
イムに依存しない。本発明はむしろ、アルゴリズムを実
行する関数論理セットに独自のタイミング回路を合わ
せ、関数論理セットが最大限可能な速度で演算できるよ
うにする。つまり、本発明はアルゴリズムの実行だけで
はなくタイミング速度のインクリメンタルな調停者とし
てシリコン資源をみなすことでシリコン資源内部の論理
設計を実施するための新規なパラダイムを定義する。従
来技術では、第1に従来技術のシステムにおける論理実
装の時間的インパクトがメモリ装置だけに見られる副作
用に依存すること、第2に、関数論理セットが従来技術
においてデータを通過するための通路として機械的に見
られていたが、実際には関数論理セットは関数論理セッ
トの全体の実行時間を減少するためのチャンスとみなす
ことができること、第3に、RTLパラダイムは関数論
理とメモリ装置の間の有用または一体的相互接続の効果
の分析に反対すること、第4に、従来技術における関数
論理の強調はアルゴリズム実装のあらゆる水準で個別の
タイミング回路の生成のための局部的フィードバックを
含む設計に強く反対すること等から新規のパラダイムに
注意を払っていない。
ズ(ザイリンクス社、カリフォルニア州サンノゼ)フィ
ールドプログラマブルゲートアレイ(FPGA)などの
再設定可能な論理装置(RLD)において実施するのが
好ましい。RLDは一組の設定可能な論理ブロック(C
LB)から構成される。それぞれのCLBは望ましくは
少くともひとつの関数ジェネレータと1つまたはそれ以
上のキャリー論理素子を含む。当業者には周知のよう
に、FPGAの内部構造は設定データセットまたは設定
ビット列を用いて動的に再設定することができる。何ら
かの任意のCLB内部で、特定の論理関数が設定ビット
列にしたがって関数ジェネレータ経由で生成される。そ
れぞれの関数ジェネレータは特定の安定した信号伝播遅
延を有する。たとえば、ザイリンクスXC4000シリ
ーズCLBでは、第1と第2の関数ジェネレータ
(「F」および「G」型)のそれぞれが約4.5ナノ秒
の伝播遅延を有し、第3の関数ジェネレータ(「H」
型)は約2.5ナノ秒の伝播遅延を有する。キャリー論
理素子は典型的に非常に小さく安定した伝播遅延を有す
るように設計されたキャリー伝播遅延を含むことが当業
者には理解されよう。ザイリンクスXC4000シリー
ズFPGA内部のキャリー伝播論理は1.5ナノ秒の伝
播遅延を有する。
ことにより多段階のフィードバックを作成し各種内部伝
播遅延を発生する。このフィードバックはRLD内部の
1つまたはそれ以上の関数論理セットを駆動するための
個別のタイミング回路を作成するために使用する。好ま
しくは、本発明は「純粋な」遅延にもっぱら依存するか
わりに「内部」遅延を使用する。内部遅延は伝播が最小
パルス幅を必要とするような遅延と定義され、一方純粋
遅延は伝播遅延が基本的にパルス幅とは無関係な遅延で
ある。有利にも、内部遅延は安定し、充分に制御される
遅延である。本発明はRLD内部で実施する必要がな
く、他の従来周知の論理装置から構成できることは当業
者には理解されよう。
施してPビットの積を得る(ここでX、Y、Pは整数)
ような関数論理セットを開示するが、関数論理セットは
広範囲の別のアルゴリズムを実行するように設計できる
ことも当業者には理解されよう。このような別のアルゴ
リズムには、何らかの種類の算術、論理、グラフィッ
ク、ワードプロセシング、信号処理、またはネットワー
ク演算を実行するための段階を含むことができる。たと
えば、本発明はRLDの内部ランダム・アクセス・メモ
リ(RAM)の効率的な使用のためのタイミング信号、
複数ポートレジスタファイルまたはRLD内部のデータ
パス配線(たとえばFPGA内部のクロスバ交換器)を
提供するために使用できる。
2ビット積を得る典型的な16ビット×16ビット乗算
での詳細を示す。しかし、本発明は16ビット以上また
は以下の乗算を実施できることが当業者には理解されよ
う。また、本明細書の残りの部分では、以下に説明する
信号およびビットは好ましくは2つの状態、論理値
「1」と論理値「0」だけを有する。本発明の要素は状
態遷移の立ち上がり端にだけ(即ち論理値「0」から論
理値「1」への遷移)応答するように説明するが、RL
Dは立ち上がり端だけまたは立ち上がりおよび立ち下が
り端両方の状態遷移に応答するように設定できることが
当業者には理解されよう。
めの装置20の好適実施例のブロック図である。装置2
0は入力バッファ22、関数論理24、出力バッファ2
6、同期状態マシン30、パルスシーケンサ34を含
む。入力バッファ22は、外部回路(図示していない)
が線29の入力イネーブル信号を状態「1」に保持する
度に外部回路から線19経由で受信したXビットの被乗
数またはYビット乗数どちらかを読み込み、他方線29
で基準クロック信号を受信する従来周知の装置である。
基準クロックは、好ましくは位相同期可変周波数クロッ
クおよびメッセージングと題する米国特許出願第08/
501,970号に記載されているクロック発生機構を
用いて実装する。何らかの従来周知のクロック生成手段
が代わりに基準クロックを提供できることは当業者には
理解されよう。
ト被乗数を線21経由で、またYビット乗数を線23経
由で出力する。関数論理24は被乗数と乗数を受信し、
乗算アルゴリズムにしたがってパルスシーケンサ34に
依存するが基準クロックには依存しないタイミング速度
でこれらを乗算する。関数論理24が乗算アルゴリズム
を実行するのに必要な時間はアルゴリズム実行時間であ
る。関数論理24内部の伝播遅延がアルゴリズム実行時
間を決定し、関数論理を構成する一組の論理装置に基づ
いて従来は計算されている。関数論理24は線25を介
して出力バッファ26へPビット積を出力する。関数論
理24の詳細は図7を参照して後述する。出力バッファ
26は従来周知の形式で、外部回路が出力イネーブル信
号を論理値「1」に保持する度にPビット積を読み込み
外部回路へ線27経由で出力し、同時に線28経由で基
準クロックを受信する。
類で線28の基準クロックが2回トリガし外部クロック
が同時に線29の入力イネーブル信号を論理値「1」状
態に保持した後、線32の状態信号90(図12参照)
を論理値「1」に遷移させる。
類で線28の基準クロックが2回トリガし外部クロック
が同時に線29の入力イネーブル信号を論理値「1」状
態に保持した後、線32の開始信号90(図12参照)
を論理値「1」に遷移させる。同期状態マシン30は2
回基準クロックがトグルするのを待って開始信号90を
論理値「1」に設定し、入力バッファ22が外部回路か
らXビット被乗数とYビット乗数を両方とも順次受信で
きるようにする。
0からの線32の開始信号90をモニタし、開始信号9
0が論理値「1」に遷移した時に線33から関数論理2
4へ一組の信号を生成して送出する。パルスシーケンサ
34の動作の詳細と出力する信号の組については図2を
参照して後述する。装置20が物理装置で実施されるか
または任意の物理装置の制約にしたがって設計される
と、関数論理24の伝播遅延とパルスシーケンサ34の
タイミング速度が分かるようになる。つまり、出力デー
タは入力データが入力バッファ22に刻時された時点か
ら周知の時間内に出力バッファ26に存在することにな
る。この周知の時間は装置温度と装置のエージングの関
数として物理装置の通常の性能変動により僅かに変動す
る。しかし、後述するようにパルスシーケンサ34は関
数論理24の内蔵部分とするのが好ましいことから、パ
ルスシーケンサ34と関数論理24の両方が同じ温度と
時間的変化を受けることになる。その結果、パルスシー
ケンサ34と関数論理24は高度に一致し、パルスシー
ケンサ34は関数論理24をオーバクロックしたりアン
ダークロックすることがない。
ンサ34の好適実施例のブロック図が示してある。パル
スシーケンサ34は開始論理36と、遅延ユニット38
と、パルスカウンタ40と、シーケンスゲート論理42
とを含む。パルスシーケンサ34のパルス速度、パルス
持続時間、パルス周期(もしあれば)も駆動する関数論
理24について最適化するのが望ましい。パルスシーケ
ンサ34は関数論理24に類似の論理装置を使用して前
述したように温度とエージングの影響に同様に応答する
ように実装するのも好ましい。以下では関数論理24の
組全体を駆動するパルスシーケンサ34をひとつだけ説
明するが、複数のパルスシーケンサ34を使用して、関
数論理24動作中に異なる速度で異なる時刻に関数論理
24の特定のサブセットを駆動するように設計すること
もできる。このような別の実施例において、多数のパル
スシーケンサ34がそれぞれ開始パルス104を受信す
るのが好ましい。
移すると、開始論理36は線43にリセット(1)パル
ス105(図12参照)と線35の開始パルスを生成す
る。リセット(1)パルス105はパルスカウンタ40
を初期化する。開始論理36の詳細については図3を参
照して後述する。遅延ユニット38は開始パルスを受信
し、第1の既知の遅延後に線39(図12参照)にフィ
ードバック信号132を生成する。遅延ユニット38の
詳細は図4を参照して後述する。開始論理36は線37
経由でフィードバック信号132を受信して線35に次
の開始パルスを生成し、これにより自己刻時発振を発生
させる。自己刻時発振の周期は開始論理36、遅延ユニ
ット38、線37に付随する伝播遅延で定義される。好
ましくは、開始論理36と遅延ユニット38はRLD内
部に物理的に配置して線37に付随する伝播遅延が最小
になるようにする。ザイリンクスXC4000シリーズ
FPGAを用いる典型的実施例では、従来の配置方針を
用いてCLB配置を定義した場合線37に付随する遅延
は1.7ないし2.2ナノ秒の範囲である。パルスカウ
ンタ40から線41で停止信号を受信すると、開始論理
36は線35の開始パルス生成を停止し、自己刻時発振
を停止する。
ト出力信号133を受信し、これに応じて線44のパル
スカウントと線41の停止信号を生成する。パルスカウ
ントは線43経由で初期パルスカウント(1が望まし
い)にリセットされ、遅延ユニット出力信号133がト
グルする度にインクリメントする。パルスカウントが最
大パルスカウント数に達すると、パルスカウンタ40は
線41に停止信号を生成する。線44は最大パルスカウ
ントを伝送するのに充分な多数の2進ビット線から構成
される。たとえば、16ビット×16ビット乗算では、
パルスカウントは後述するような理由から8状態を必要
とする。つまり、線44は少くとも3本の2進ビット線
から構成する必要があり、本明細書ではMUX(0)9
2(最下位ビット(LSB))、MUX(1)94、お
よびMUX(2)96(最上位ビット(MSB))(図
12参照)とする。パルスカウンタ40の詳細は図5を
参照して後述する。
スカウントを受信し、また遅延ユニット出力信号133
を線39で受信する。これに応じて、シーケンスゲート
論理42はリセット(2)信号97(図12参照)を線
45に生成し、部分積加算器クロック信号(PPS−C
LK)98(図12参照)、積アキュムレータクロック
(1)信号(PA−CLK(1)99(図12参照)を
線47に、線48にはPA−CLK(2)100、線4
9にはPA−CLK(3)101を生成する。それぞれ
のCLK98、99、100、101はパルスカウント
と遅延ユニット出力信号133から導出した方形波信号
が好ましい。図1に図示したように、パルスカウント信
号44、リセット(2)信号97、PPS−CLK4
6、PA−CLK47、48、49は互いに関数論理2
4への線33の信号出力の組として機能する。しかし自
己刻時パラダイムによれば、線33の信号出力の組のい
ずれも線28の基準クロックと意図的に同期しない。シ
ーケンスゲート論理42の詳細は図6を参照して後述す
る。
の好適実施例のブロック図が示してある。開始論理36
は図3に図示したように動作的に結合した一組の論理装
置を含む。ザイリンクスXC4000シリーズFPGA
を用いて実現した典型的な実施例では、開始論理36は
従来のザイリンクスライブラリ素子FDS、AND2B
1、AND2B0およびOR2B1を含む。
38の好適実施例のブロック図が示してある。遅延ユニ
ット38はRLD内部に実施するのが好ましくnを整数
とする一組のn個のCLB138、144、150、1
54の内部のキャリー論理素子から構成される。好まし
くは、それぞれのキャリー論理素子は高速キャリー伝播
回路を含む。遅延ユニット38はさらにn個のCLBの
組の内部に関数ジェネレータのサブセットを含み、遅延
ユニット38と遅延ユニット38外部の論理即ち開始論
理36、パルスカウンタ40、シーケンスゲート論理4
2の間の信号配線を簡略化する。図示した実施例におい
て、遅延ユニット38はキャリーイン信号の検証および
発生にそれぞれ対応する「EXAMINE CI」およ
び「FORCE CI」命令を用いてザイリンクスXC
4000シリーズFPGA内に実装される。
0、154に使用する論理は、遅延ユニット38に周知
の遅延(ザイリンクスXC4000キャリー論理素子で
1.5ナノ秒、またザイリンクスXC4000F型関数
ジェネレータで4.5ナノ秒)を付加する。遅延ユニッ
ト38の動作周波数は直列接続のキャリー論理素子の個
数を増加または減少することにより変化させるのが好ま
しい。好適実施例において、最大速度自己刻時式パルス
シーケンサ34が所望される。遅延ユニット38を含む
CLB138、144、150、154の個数は関数論
理24のもっとも遅い部分に依存することになる。結果
として、関数論理24のもっとも遅い部分は実行に
「t」秒かかり、「t」/2(即ち周期の半分)に等し
い合計遅延を有する「n個」のCLBは遅延ユニット3
8を含むのが好ましい。また、RLDのリアルタイムで
再プログラムする機能のため、遅延ユニット38の遅延
は関数論理24の処理演算の途中で動的に変化すること
がある。これにより、第1の関数論理24の組の演算は
第1の自己刻時速度で実行され、第2の関数論理24の
組のその他の演算は第2の自己刻時速度で実行され、以
下同様に続けることができる。
ータ(1)140は線35に開始パルスを受信し、パル
スをキャリー論理素子(1)139に渡す。キャリー論
理素子(1)139はキャリーアウト線142から第2
のCLB144へ信号を渡す。第2のCLB144内部
では、キャリー論理素子(2)145がパルスを受信し
て関数ジェネレータ(2)146へ渡し、さらにキャリ
ーアウト線148から第3のCLB150へパルスを転
送する。パルスを関数ジェネレータ(2)146へ渡す
ことでその時点で遅延ユニット38からパルスを「タッ
プする」ことができ、線39の遅延ユニット出力信号1
33とすることができる。本明細書では、「タップ」は
遅延ユニット38外部への信号の配送を容易にする遅延
ユニット38内部の結合として定義する。実装する関数
論理24の組によっては「タップ」は他にも遅延ユニッ
ト38内部の別のロケーションで発生したり、またはい
くつかの位置に発生することがある。線39がタップす
る遅延ユニット38内部の正確な位置は、線33にパル
スシーケンサによって生成される信号が、図1を参照し
て説明したような装置20の動作を開始する外部回路
(図示していない)に対して位相的に整列するように選
択するのが好ましい。
理素子(3)151がパルスを受信しこれを次のCLB
内部のキャリー論理素子へ渡す動作を行ない、パルスが
「n番目」のCLB154内部のキャリー論理素子
(n)へ渡されるまで同じことが繰り返される。第3の
CLB150と「n番目」のCLB154の間のCLB
は同じ構造が望ましく、第3のCLB150と同じイン
タフェースを有するのが望ましい。第3のCLB150
内部で、第3のCLB150が遅延ユニット38外部の
宛先へパルスを配送するためにタップしていないので遅
延ユニット38の動作に関数ジェネレータ(3)152
は必要とされない。つまり、関数ジェネレータ(3)1
52は有利にも関数論理24の動作の一部を実装するた
めに使用される。
子(n)155がパルスを受信し、パルスを反転させて
反転パルスをフィードバック信号フィードバック信号1
32として線37に出力する関数ジェネレータ(n)1
56に渡す。このパルス反転を経由して、論理値「1」
と論理値「0」の間で自己刻時式発振回路が遷移する。
パルスは関数ジェネレータ(1)140が代わりに反転
させられることが当業者には理解されよう。
続したキャリー論理素子の個数を増減する(即ち「n」
の値を変化させる)ことで変化し得る。別の実施例にお
いて「n」はゼロでも良く、開始パルス、フィードバッ
ク信号132、遅延ユニット出力信号133が同じ信号
になる。さらに別の実施例において、遅延ユニット38
の動作周波数は1つまたはそれ以上の関数ジェネレータ
を介してさらなる信号を配送することにより変化でき
る。さらに別の実施例において、遅延ユニット38の動
作周波数はRLD内部にあって充分に限定された遅延特
性を有する信号配送資源を用いることで変更または調整
することができる。再設定不可能な装置において、個別
の素子が既知の最大信号伝播遅延を有するような論理を
用いて遅延ユニット38を実施し得ることは当業者には
理解されよう。
カウンタ40の好適実施例のブロック図が図示してあ
る。パルスカウンタ40は図5に図示したように動作的
に結合された一組の論理装置160、162、164
(望ましくはライブラリ要素であるROM16X1、F
DR、AND3B3を用いてザイリンクスXC4000
シリーズFPGAで作成される)を含む。論理装置16
0は論理装置162で相互に結合してパルスカウントを
実装する。論理装置162の現在の状態符号Q3、Q
2、Q1、Q0はパルスカウントを発生させ、それぞれ
が停止信号134に対応するように使用する。パルスカ
ウンタ40は線43でリセット(1)パルス105を受
信するまでインクリメントする。論理装置160に記憶
する符号は以下の現在状態/次状態の表から生成する。
の好適実施例のブロック図が図示してある。シーケンス
ゲート論理42は図6に図示したように動作的に接続し
た一組の論理装置(望ましくは望ましくはライブラリ要
素D3_8E、AND2B1、FD、FD_1、NOR
2、OR8、OR7を用いてザイリンクスXC4000
シリーズFPGAで作成される)シーケンスゲート論理
42は図6に図示したようなグリッチ保安回路170を
用いて8つの状態を復号する。復号は時間的に線44の
パルスカウントの順序である。最後のパルスカウント状
態(即ち(0,0,0))は正確に一度に復号される。
CLK46、47、48、48は一組のグリッチ保安回
路170の出力の「論理和」を取ることで生成する。シ
ーケンスゲート論理42の別の実施例で論理状態でコー
ダのド・モルガン化を用いて結線ORを結線ANDゲー
トで置き換えることがFPGA設計の当業者には理解さ
れよう。好適なシーケンスゲート論理42は負のエッジ
でトリガされるフリップフロップと正のエッジでトリガ
されるフリップフロップを同数含み、同じ刻時がなされ
るフリップフロップどうしを連結するようなCLBパッ
ケージごとに非常に高効率のデュアルフリップフロップ
方針を実行する。
の好適実施例のブロック図が図示してある。関数論理2
4はマルチプレクサ(MUX)50、部分積ジェネレー
タ(PPG)52、部分積加算器(PPS)54、積ア
キュムレータ(PA)56から構成される。マルチプレ
クサ50はXビット被乗数を線21に受信し、詳細は図
8を参照して後述するように、Sビット被乗数サブセッ
トを線44のパルスカウントに応じて出力する。部分積
ジェネレータ52は線23のYビット乗数とSビット被
乗数サブセットを乗算して、後述の図9を参照して詳細
に説明するように一組の部分積を部分積加算器54に出
力する。部分積加算器54は部分積の組を組み合わせて
図10を参照して詳細に後述するように線46の部分積
加算器クロック信号(PPS−CLK)98に応答して
積アキュムレータ56へ部分積の和を出力する。積アキ
ュムレータ56は開始論理36からの線45のリセット
(2)パルス107(図12参照)を受信し、これに応
じて内部フリップフロップ(FF)をゼロにリセットす
る。リセット(2)パルス107の受信までは線25に
直前のPビット積が残っている。積アキュムレータ56
は部分積の和を積の積算ビットのサブセットへ加算する
ことで積の積算を生成し、図11を参照して詳細に後述
するように線47、48、49のPA−CLK(1,
2,3)99、100、101(図12参照)に応答し
て線25にPビット積を出力する。完全なXビット×Y
ビットの乗算は各Sビット被乗数サブセットがYビット
乗数で乗算され積アキュムレータ56に積算された後で
関数論理24で実行される。
ルチプレクサ50の好適実施例のブロック図が図示して
ある。MUX50は第1のMUX58と第2のMUX6
0を含む。それぞれのMUX58、60は線21経由で
入力バッファ22へ接続され、それぞれがXビット被乗
数の半分を受信するようにしてある。第1のMUX58
は偶数の被乗数ビット(即ち16ビット被乗数では2の
0乗、2の2乗、2の4乗、...2の14乗まで)を
受信し、一方第2のMUX60は奇数の被乗数ビット
(即ち16ビット被乗数では2の1乗、2の3
乗、...2の15乗まで)を受信する。それぞれのM
UX58、60は線44でパルスカウントを受信する。
Xビット×Yビット乗算の途中で、パルスカウントは初
期パルスカウントから最大パルスカウントを含むカウン
トまでインクリメントされる。16ビット被乗数の場
合、初期パルスカウントは線44で(0,0,1)に対
応するのが望ましく、ここで「1」はLSB、また最大
パルスカウントは(0,0,0)に対応するのが望まし
い。パルスカウントは望ましくは(0,0,1)から
(0,1,0)、(0,1,1)、(1,0,0)、
(1,0,1)、(1,1,0)、(1,1,1)さら
に(0,0,0)へ遷移する。
の被乗数サブセットを部分積ジェネレータ52へ出力す
る。つまり2ビット被乗数のサブセット(2のi乗と2
のi+1乗)が部分積ジェネレータ52へ送信される。
ここでビット2のi乗は第1のMUX58から選択さ
れ、2のi+1乗は第2のMUX60から選択される。
しく「i」はパルスカウントが(0,0,1)から
(0,0,0)の範囲として0から14までの範囲であ
るのが望ましい。
ジェネレータ52の好適実施例のブロック図が図示して
ある。部分積ジェネレータ52は部分積乗算器(PP
M)51の第1の組とPPM53の第2の組から構成さ
れ、これらの入力は第1と第2のMUX58、60およ
び線23のYビット乗数からSビット被乗数のサブセッ
トを受信するように接続される。第1と第2の組のPP
M51、53は部分積加算器54に接続される。16ビ
ット×16ビット乗算では、PPM51、53のそれぞ
れの組は並列に動作する2ビット×2ビットPPMを含
み、合計32ビットがそれぞれの乗算演算後に部分積加
算器54へ送信される。線23の16ビット乗算器から
のそれぞれの2ビット乗算器対は8個のPPMのひとつ
に結線されそれぞれの部分積乗算演算の間一定に保持さ
れる。それぞれのパルスカウントで、ひとつの2ビット
被乗数サブセット(即ち2のi乗と2のi+1乗)が8
個のPPMのそれぞれに結線されてパルスカウントが1
に設定された時には第1の2ビット被乗数の対(2の0
乗と2の1乗)から始まりパルスカウントが0に設定さ
れた時に最後の2ビット被乗数の対(2の14乗と2の
15乗)で終わる。図9で明らかにするために示してあ
るように、第1と第2のPPMの組51、53からの2
つの16ビット部分積のコラム位置は、従来技術で周知
のように、部分積加算器54でビット加算するので垂直
方向に整列する。ビット2の0乗は最下位ビット(LS
B)でありビット2の17乗は最上位ビット(MSB)
である。16ビット×16ビット部分積生成について説
明したが、同じ説明がXビット×Yビット部分積生成の
一般化した場合にも同様に適用されることは当業者に理
解されよう。
器54の好適実施例のブロック図が示してある。部分積
加算器54はPPS加算器64、PPSインクリメント
加算器66、一組のPPSフリップフロップ68を含
む。部分積加算器54は部分積ジェネレータ52で生成
された2つの部分積を受信するように結合される。部分
積加算器54は2つの部分積を加算して部分積の和を生
成する。16ビット×16ビットの乗算の場合には、第
1の組のPPM51からの2つのLSB(2の0乗〜と
2の1乗)が直接PPSフリップフロップ68で受信さ
れ、PPS加算器64は第1と第2の組のPPM51、
53の両方からの14ビット(2の2乗〜2の15乗)
を加算する。PPSインクリメント加算器66は第2の
組のPPM53から2つのMSB(2の16乗〜2の1
7乗)、また14ビットPPS加算器64からの桁上げ
(キャリーアウト)を受信し、18ビット部分積の和
(2の0乗〜2の17乗)が生成され出力される。加算
から得られた部分積の和は線46の部分積加算器クロッ
ク信号(PPS−CLK)98のトグルに応答してPP
Sフリップフロップ68に記憶される。
キュムレータ56の好適実施例のブロック図が示してあ
る。積アキュムレータ56は、部分積加算器54から部
分積の和を受信して積算を実行するように結合されたP
A加算器70と、PAインクリメント加算器71と、最
終的にPビット積を格納するための一組のPAフリップ
フロップの組72,74,76,78,80,82,8
4,86,88を含む。16ビット×16ビット乗算の
場合では、PA加算器70は16ビット加算器であり、
PAインクリメント加算器71は2ビットインクリメン
ト加算器であり、PAフリップフロップの組72,7
4,76,78,80,82,84,86,88は、3
2ビットの積(pの0乗からpの31乗、ここでpの0
乗がLSB、pの31乗がMSB)を記憶するための第
1のフリップフロップの組72、第2のフリップフロッ
プの組74、第3のフリップフロップの組76、第4の
フリップフロップの組78、第5のフリップフロップの
組80、第6のフリップフロップの組82、第7のフリ
ップフロップの組84、第8のフリップフロップの組8
6、第9のフリップフロップの組88を含む。部分積加
算器54から受信した第1の部分積の和からの2つのL
SB(2の0乗〜2の1乗)は線47のPA−CLK
(1)信号99の昇端に応じて第2のフリップフロップ
の組74に格納され、32ビット積の2つのLSB(p
の0乗〜pの1乗)になる。16ビット積積算のサブセ
ット(PA加算器70とPAインクリメント加算器71
の出力からのビット2の1乗から2の17乗)は線48
の積アキュムレータクロック(2)信号100の昇端に
応答して第1のフリップフロップ72に格納される。P
A加算器70は部分積加算器54から受信したそれぞれ
の部分積の和の2の0乗から2の15乗までのビットを
加算して積の積算を発生する(PA加算器70とPAイ
ンクリメント加算器71の出力からのビット2の0乗か
ら2の17乗)。それぞれの積の積算の2の2乗から2
の17乗ビットまでは第1のフリップフロップの組72
へフィードバックされる積の積算サブセットとなり,2
の0乗と2の1乗ビットの積の積算は線49のPA−C
LK(3)101の昇端に応答して第3から第9のフリ
ップフロップの組76,78,80,82,84,8
6,88のそれぞれの積の積算後に順次シフトされる。
ひとつのPA−CLK(1)信号99がトグルした後、
pの0乗とpの1乗ビットが第2のフリップフロップの
組74に記憶され,8つのPA−CLK(2)100が
トグルした後pの16乗からpの31乗までのビットが
第1のフリップフロップの組72に記憶され、7つのP
A−CLK(3)101がトグルした後、pの2乗とp
の3乗のビットが第9のフリップフロップの組88に記
憶され、pの4乗とpの5乗のビットが第8のフリップ
フロップの組86に記憶され、pの6乗とpの7乗のビ
ットが第7のフリップフロップの組84に記憶され、p
の8乗とpの9乗のビットが第6のフリップフロップの
組82に記憶され、pの10乗とpの11乗のビットが
第5のフリップフロップの組80に記憶され、pの12
乗とpの13乗のビットが第4のフリップフロップの組
78に記憶され、pの14乗とpの15乗のビットが第
3のフリップフロップの組76に記憶される。32ビッ
ト積(pの0乗からpの31乗のビット)が線25から
出力バッファ26へ送出される。
の好適タイミング図89が示してある。図12に示して
あるタイミング波形は理想的なものであるから、論理作
用は何らかの状態遷移の瞬間に発生するものと考える。
タイミング図89は開始信号90と、Q開始信号12
8、開始パルス信号130、フィードバック信号13
2、遅延ユニット出力信号133、停止信号134、リ
セット(1)信号91、MUX(0)信号92、MUX
(1)信号94、MUX(2)信号96、PPS−CL
K信号98、リセット(2)信号97、PA−CLK
(1)信号99、PA−CLK(2)信号100、PA
−CLK(3)信号101、積信号102、第1の開始
信号104、次の開始信号106、第1のPPS−CL
K信号108、第1のPA−CLK(1)信号109、
第1のPA−CLK(2)信号110、第1のPA−C
LK(3)信号112、積計算時間114を含む。第1
の開始信号104は図2に図示したように線32でパル
スシーケンサ34が受信する。第1の開始信号104に
応答して、開始論理36は、リセット(1)パルス10
5を線43から送出しMUX(0)信号92、MUX
(1)信号94、MUX(2)信号96をそれぞれ線4
4からマルチプレクサ50へ送信することにより、MU
X(0)信号92(LSB)、MUX(1)信号94、
MUX(2)信号96(MSB)をそれぞれ初期化す
る。これに応答して、マルチプレクサ50は前述のよう
に16ビット×16ビット乗算で第1の2ビット被乗数
の対(2の0乗と2の1乗)を選択する。シーケンスゲ
ート論理42は第1の18ビット部分積の和がPPSフ
リップフロップ68入力に現われるまで部分積加算器5
4への第1のPPS−CLK信号108送出を遅延させ
る。第1の18ビット部分積の和がPPSフリップフロ
ップ68に記憶されてから、MUX(0)信号92、M
UX(1)信号94、MUX(2)信号96が次の18
ビット部分積の和の準備として次の状態(即ち(0,
1,0))にインクリメントされる。シーケンスゲート
論理42も第1の18ビット部分積の和が第2のフリッ
プフロップの組74入力に現われるまで第1のPA−C
LK(1)信号109送出を遅延させる。PA−CLK
(1)信号109が線47に送出される直前に、開始論
理36がリセット(2)パルス107を線45に生成し
て直前のPビットの積信号102をクリアする。PA−
CLK(1)信号99は16ビット×16ビット乗算演
算が完了するごとに1回づつトグルする。線48の第1
のPA−CLK(2)信号110は第1のフリップフロ
ップの組72に出現した後でのみ生成され、この後PA
−CLK(2)100は第1のフリップフロップの組7
2に次の16ビット積算のサブセットが現われるごとに
トグルする。PA−CLK(2)100は16ビット×
16ビット乗算演算が完了する度に8回トグルする。線
49の第1のPA−CLK(3)信号112は第2の1
8ビット積の積算が第3のフリップフロップの組76の
入力に出現した後でのみ生成され、この後次の18ビッ
ト積の積算が第1のフリップフロップの組72の入力に
出現する度にPA−CLK(3)信号101がトグルす
る。PA−CLK(3)信号101は完全な16ビット
×16ビット乗算演算の度ごとに7回トグルする。本発
明を実施する物理装置に存在する既知の伝播遅延によ
り、積信号102は積計算時間114内で計算されるこ
とが分かる。その結果、次の開始信号106がパルスシ
ーケンサ34に送出できるようにする第1の開始信号1
04のあとのもっとも速い時間は積信号102が安定し
た後である.16ビット×16ビット乗算を説明した
が、Xビット×Yビット乗算を同様の方法で実行できる
ことは当業者には理解されよう。
する16ビット×16ビット乗算のための好適な部分積
加算のマトリクスが図示してある。16ビット×16ビ
ット乗算では、部分積加算器54は8回の加算を行ない
積アキュムレータ56は7回の積算を行ない、最後に前
述したような32ビット積が線25から出力バッファ2
6へ出力される。マトリクスの上部では、32ビット積
のそれぞれのビットについて1カラムが図示してあり、
LSBは2の0乗、またMSBは2の31乗である。
「I、II、III、IV、V、VI、VII、VIII」と標識してあ
るマトリクスの部分を参照すると、部分積ジェネレータ
52内部の8個の部分積乗算器62の配列が図示してあ
る。「I」の部分では16ビット被乗数の2の0乗およ
び2の1乗ビットが16ビット乗数と乗算される。「I
I」の部分では16ビット被乗数の2の2乗および2の
3乗ビットが16ビット乗数と乗算される。このように
「VIII」の部分で16ビット被乗数の2の14乗および
2の15乗ビットが16ビット乗数と乗算されるまで続
く。積アキュムレータ56はマトリクス内に示された方
法で8つの部分全てを加算し,32ビットの積を得る。
実行される8ビット×8ビット乗算での好適な部分積加
算のマトリクスが図示してある.8ビット×8ビット乗
算では、部分積加算器54は4回の加算を行ない積アキ
ュムレータ56が3回の積算を行ない、前述のように線
25から出力バッファ26へ16ビット積が出力される
ように設計できる。マトリクス上部では、16ビット積
のそれぞれのビットについてひとつのカラムが図示して
あり、LSBは2の0乗、MSBは2の15乗である。
「I、II、III、IV」と標識してあるマトリクスの部分
を参照すると、部分積ジェネレータ52内部のここでは
4個の部分積乗算器62の配列が図示してある。「I」
の部分では8ビット被乗数の2の0乗ビットと2の1乗
ビットが8ビット乗数と乗算される。「II」の部分では
8ビット被乗数の2の2乗と2の3乗ビットが8ビット
乗数と乗算される。このように部分「IV」で8ビット被
乗数の2の6乗と2の7乗ビットが8ビット乗数と乗算
されるまで続く。積アキュムレータ56はマトリクス内
に示したような方法で4つの部分を加算し,16ビット
積を得る。
ルゴリズム実行のための好適な方法のフローチャートが
示してある。好適な方法はステップ200から始まり、
線29の入力イネーブル信号が論理値「1」に設定され
る時に基準クロックからのトグルにより、前述したよう
な方法で入力バッファ22が線21と線23の入力デー
タを基準クロックのトグルと同期して関数論理24へ転
送する。次に、ステップ202では、線32の開始信号
90の論理値「0」から論理値「1」へのトグルに応答
して、パルスシーケンサ34が線33に最大速度パルス
シーケンスを発生し、関数論理24についてのアルゴリ
ズム実行時間に依存するが線の基準クロック28とは無
関係な速度で関数論理24を駆動する。ステップ202
は図16で詳細に説明する。ステップ204では、関数
論理24が線33の最大速度パルスシーケンスに応答し
て線25に出力データを生成する。ステップ204は図
12で詳細に説明する。ステップ206では、関数論理
24から線25を介して出力バッファ26へ、線28の
基準クロックからのトグルに同期しまたこれに応答して
転送され、同時に前述のように線31の出力イネーブル
が論理値「1」に設定される。ステップ206の後、好
適な方法は終了する。
ンス(図10のステップ202)を生成するための好適
な方法のフローチャートが示してある。好適な方法はス
テップ250から始まり、開始論理36が線32の開始
信号90の開始と線41の停止信号を監視する。ステッ
プ252で、開始信号90が論理値「1」に遷移し停止
信号が論理値「0」のままだと、本方法はステップ25
4へ進み、それ以外の場合にはステップ250へ戻る。
ステップ254では、開始論理36がパルスカウンタ4
0を前述のように初期化する。ステップ255では開始
論理36が前述のように遅延ユニット38へ開始パルス
を送信する。次にステップ256では、前述のように遅
延ユニット出力信号133に応答して、パルスカウンタ
40がパルスカウント信号(即ち16ビット×16ビッ
ト乗算の場合にはMUX(0)信号92、MUX(1)
信号94、MUX(2)信号96)をインクリメントす
る。遅延ユニット出力信号133がタップされる遅延ユ
ニット38内部の位置は、パルスシーケンサ34のタイ
ミングパルスが装置20に結合した外部回路と位相整列
するように変化できる。ステップ258では、パルスカ
ウント信号に応じて、前述の方法でシーケンスゲート論
理42がPPS−CLK信号98とPA−CLK(1)
信号99、PA−CLK(2)信号100、PA−CL
K(3)信号101を生成する。ステップ260では、
パルスカウント信号が最大のパルスカウント信号と等し
い場合、本方法はステップ262に進み、それ以外では
ステップ256に戻る。ステップ262では、パルスカ
ウンタ40が線41の停止信号を論理値「1」に設定し
て遅延ユニット38への開始パルス送信を停止する。ス
テップ262で好適な方法は終了する。
ンス(図17のステップ204)に応じて出力データを
生成するための好適な方法のフローチャートが示してあ
る。
前述のようにマルチプレクサ50がXビット被乗数を入
力し、部分積ジェネレータ52がYビット乗数を入力
し、開始論理36が部分積和と積の積算をゼロに初期化
する。ステップ302では、前述のように、マルチプレ
クサ50は次のSビット被乗数サブセットを選択する。
ステップ304では部分積ジェネレータ52が現在のS
ビット被乗数サブセット(即ち、現在のサブセットとは
ステップ302で選択された次のサブセット)をYビッ
ト乗数で乗算して前述のように部分積加算器54へ送信
する部分積を生成する。ステップ306では、部分積加
算器54が部分積の和を生成して前述した方法で積アキ
ュムレータ56へ送信する。ステップ308では、積ア
キュムレータ56が部分積の和を前述のように積の積算
に加算する。ステップ310では、次のSビット被乗数
サブセットをさらにYビット乗数と乗算しなければなら
ない場合、本方法はステップ302に戻り、それ以外の
場合にはステップ312へ進む。ステップ312では、
積アキュムレータ56がPビット積を出力バッファ26
へ出力する。ステップ312の後好適な方法は終了す
る。
するのが望ましい。従来技術において、特定のアルゴリ
ズムの高速実装を提供するように設計された回路は多数
の回路層から構成されていた。それぞれの回路層は一組
の信号を受信し、特定の組の演算を実行し、一組の結果
を基準クロックと同期して出力する。信号はひとつの回
路層から別の回路層へ転送される。このような従来技術
の回路設計では多数の回路層が必要とされることが多
く、多量のハードウェア資源の使用が望まれなくとも必
要となる。従来技術に対し、本発明は最小数のハードウ
ェア資源を最大の自己刻時速度で最大限に再利用し、結
果を生成するアルゴリズムを実現するものである。つま
り、開始信号の受信から停止信号の生成に続けて結果を
発生するまで同じハードウェア資源の組み合わせを繰り
返し使用する。本発明は従来技術の高速回路で必要とさ
れるよりも明らかに少ないハードウェア資源を用い、何
らかの有意な結果生成速度のペナルティに苦しめられる
ことなくアルゴリズムを実装するための方法を提供す
る。これは本発明の1つまたはそれ以上の版をRLDに
実装する際に特に有利である。
してその他多くの利点を得られることが当業者に理解さ
れよう。本発明は現在の非同期論理回路設計の観点で特
に有利である。たとえば、本発明は演算タスクの完了時
に「完了信号」の生成を必要としないこと、既知の予測
可能な完了時間を有すること、外部刻時要素を必要とせ
ず、かわりにそれ自身の内蔵パルスシーケンサによるタ
イミング素子を有すること、データに依存しない完了時
間を有すること、外部回路と同期的にインタフェースで
きること、外部回路とのデータ交換でコヒーレントな位
相が実現できること、タイミング素子に遅延を付加する
場合追加の局部的な回路の複雑さしか追加されないこ
と、また外部回路のシステム全体にではなく局部的な一
組の回路だけに性能が影響することなどである。
説明したが、各種の変更を提供できることが当業者には
理解されよう。このような変化は本発明の別の実施例を
提供できる。たとえば、遅延ユニット38はRLD設定
に続けて連続的にパルスをリサイクルするように設計す
ることができ、これによって開始論理36を排除するこ
とができよう。このような実施例では、RSフリップフ
ロップによってマルチプレクサから遅延ユニット出力信
号をパルスカウンタ40へ、また開始信号に応じてシー
ケンスゲート論理42へ渡すようにできる。関数論理が
自己刻時式乗算回路の場合に制限されないことが当業者
には理解されよう。関数論理は自己刻時式除算回路、自
己刻時式コンボルバ回路、自己刻時式信号プロセッサ等
を含みこれらに制限されない関数を提供できる。好適実
施例に対する変化および変更は本発明により提供される
ものであって、後述の請求項によってのみ制限される。
択したアルゴリズムを実行するように設計した関数論理
セットと遅延ユニットを対にすることで、まず、第1に
他の関数論理セットを駆動する全ての基準クロックと独
立してできる限り高速に選択したアルゴリズムを実行す
る。つまり、周知のタイミング装置およびその方法とは
対称的に、アルゴリズムを実施する全ての機能論理セッ
トのタイミング特性は基準クロックの速度に制限された
り依存する必要がない。第2に、一組の自己刻時式パル
スの生成に応じてアルゴリズムを実施する関数論理セッ
トに基づいた自己刻時速度でデータ演算する。第3に、
他の関数論理セットで受信すべき特定の既知の時刻にデ
ータを出力する。その結果、本発明の装置ならびに方法
はひとつの関数論理セットを他の関数論理セットまたは
基準クロックの動作速度と無関係な速度で動作させるこ
とができるため、ハードウェア設計を簡略化しつつ最大
限可能なアルゴリズム実行速度を維持することが可能
で、従来技術に対して特に有利である。
リズム実行のための装置の好適実施例のブロック図であ
る。
ック図である。
のブロック図である。
施例のブロック図である。
実施例のブロック図である。
の好適実施例のブロック図である。
ある。
ブロック図である。
例のブロック図である。
ブロック図である。
例のブロック図である。
る。
の好適部分積加算を示すマトリクスである。
分積加算を示すマトリクスである。
方法のフローチャートである。
法のフローチャートである。
するための好適な方法のフローチャートである。
Claims (4)
- 【請求項1】 第1の速度で入力データを受信するよう
に結合され、前記第1の速度とは独立した第2の速度で
出力データを生成し、前記第1の速度で前記出力データ
を送信するように結合される関数論理の組と、前記第2
の速度に対応する自己刻時式パルスシーケンスを生成
し、前記関数論理を制御するように結合されたパルスシ
ーケンサとを含むことを特徴とする高速コンピュータに
おけるタイミング信号発生装置。 - 【請求項2】 自己刻時式アルゴリズム実行システムを
制御するための装置であって、前記自己刻時式アルゴリ
ズム実行システムは入力データを受信して一組の制御信
号に応じて出力データを生成する関数論理を含み、前記
装置は、開始信号を受信するように結合されてこれに応
じて開始パルスを生成する開始論理と、 前記開始パル
スを受信するように結合されてこれに応じて遅延ユニッ
ト出力信号とフィードバック信号とを生成する遅延ユニ
ットと、前記遅延ユニット出力信号を受信するように結
合されてこれに応じてパルスカウント信号を選択し選択
的に停止信号を生成するパルスカウンタと、前記パルス
カウント信号を受信するように結合されてこれに応じて
前記一組の制御信号を生成するシーケンスゲート論理と
を含み、前記開始論理は前記フィードバック信号を受信
し応答的に前記停止信号が生成されない場合には前記開
始パルスを再生成するように結合されることを特徴とす
る高速コンピュータにおけるタイミング信号発生装置。 - 【請求項3】 一組の関数論理とパルスジェネレータを
含む装置において自己刻時式アルゴリズム実行のための
方法であって、前記方法は、第1の速度で入力データを
受信するステップと、前記第1の速度と無関係な第2の
速度で自己刻時式パルスシーケンスを生成するステップ
と、前記パルスシーケンスに応答して前記第2の速度で
前記入力データを処理するステップと、前記第1の速度
で出力データを出力するステップとを含むことを特徴と
する高速コンピュータにおけるタイミング信号発生方
法。 - 【請求項4】 自己刻時式アルゴリズム実行のための装
置であって、第1の速度で入力データを受信する手段
と、前記第1の速度と無関係な第2の速度で自己刻時式
パルスシーケンスを生成する手段と、前記第2の速度で
前記入力データを処理して前記自己刻時式パルスシーケ
ンスに応じて出力データを生成する手段と、前記第1の
速度で前記出力データを出力する手段とを含むことを特
徴とする高速コンピュータにおけるタイミング信号発生
装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/590,499 | 1996-01-24 | ||
| US08/590,499 US5854918A (en) | 1996-01-24 | 1996-01-24 | Apparatus and method for self-timed algorithmic execution |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH09204236A true JPH09204236A (ja) | 1997-08-05 |
| JP3784476B2 JP3784476B2 (ja) | 2006-06-14 |
Family
ID=24362511
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP32321396A Expired - Fee Related JP3784476B2 (ja) | 1996-01-24 | 1996-12-03 | タイミング信号発生方法及びその装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5854918A (ja) |
| JP (1) | JP3784476B2 (ja) |
| CN (1) | CN1103951C (ja) |
| DE (1) | DE19702326B4 (ja) |
Families Citing this family (59)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
| DE19651075A1 (de) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
| DE19654593A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit |
| DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
| DE19654846A1 (de) | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
| ATE243390T1 (de) | 1996-12-27 | 2003-07-15 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen umladen von datenflussprozessoren (dfps) sowie bausteinen mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen (fpgas, dpgas, o.dgl.) |
| DE19704728A1 (de) * | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
| US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
| DE19704742A1 (de) | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
| US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
| DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
| US6317842B1 (en) * | 1999-02-16 | 2001-11-13 | Qlogic Corporation | Method and circuit for receiving dual edge clocked data |
| CN1378665A (zh) | 1999-06-10 | 2002-11-06 | Pact信息技术有限公司 | 编程概念 |
| US6675306B1 (en) | 2000-03-10 | 2004-01-06 | Ricoh Company Ltd. | Method and apparatus for phase-lock in a field programmable gate array (FPGA) |
| JP2004506261A (ja) | 2000-06-13 | 2004-02-26 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | パイプラインctプロトコルおよびct通信 |
| JP2004517386A (ja) | 2000-10-06 | 2004-06-10 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | 方法および装置 |
| US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
| US6990555B2 (en) | 2001-01-09 | 2006-01-24 | Pact Xpp Technologies Ag | Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.) |
| US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
| US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
| US7210129B2 (en) | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
| US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
| US7581076B2 (en) | 2001-03-05 | 2009-08-25 | Pact Xpp Technologies Ag | Methods and devices for treating and/or processing data |
| EP2224330B1 (de) | 2001-06-20 | 2012-05-09 | Krass, Maren | Verfahren und gerät zum partitionieren von grossen rechnerprogrammen |
| US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
| US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
| US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
| US7577822B2 (en) | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
| AU2003208266A1 (en) | 2002-01-19 | 2003-07-30 | Pact Xpp Technologies Ag | Reconfigurable processor |
| US8127061B2 (en) | 2002-02-18 | 2012-02-28 | Martin Vorbach | Bus systems and reconfiguration methods |
| US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
| US7111228B1 (en) | 2002-05-07 | 2006-09-19 | Marvell International Ltd. | System and method for performing parity checks in disk storage system |
| AU2003286131A1 (en) | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
| US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
| US7394284B2 (en) | 2002-09-06 | 2008-07-01 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
| US7007114B1 (en) | 2003-01-31 | 2006-02-28 | Qlogic Corporation | System and method for padding data blocks and/or removing padding from data blocks in storage controllers |
| US7287102B1 (en) | 2003-01-31 | 2007-10-23 | Marvell International Ltd. | System and method for concatenating data |
| US7492545B1 (en) | 2003-03-10 | 2009-02-17 | Marvell International Ltd. | Method and system for automatic time base adjustment for disk drive servo controllers |
| US7039771B1 (en) | 2003-03-10 | 2006-05-02 | Marvell International Ltd. | Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers |
| US7064915B1 (en) | 2003-03-10 | 2006-06-20 | Marvell International Ltd. | Method and system for collecting servo field data from programmable devices in embedded disk controllers |
| US7870346B2 (en) | 2003-03-10 | 2011-01-11 | Marvell International Ltd. | Servo controller interface module for embedded disk controllers |
| US7080188B2 (en) | 2003-03-10 | 2006-07-18 | Marvell International Ltd. | Method and system for embedded disk controllers |
| JP4700611B2 (ja) | 2003-08-28 | 2011-06-15 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理装置およびデータ処理方法 |
| US7526691B1 (en) | 2003-10-15 | 2009-04-28 | Marvell International Ltd. | System and method for using TAP controllers |
| US7139150B2 (en) | 2004-02-10 | 2006-11-21 | Marvell International Ltd. | Method and system for head position control in embedded disk drive controllers |
| US7120084B2 (en) | 2004-06-14 | 2006-10-10 | Marvell International Ltd. | Integrated memory controller |
| US8166217B2 (en) | 2004-06-28 | 2012-04-24 | Marvell International Ltd. | System and method for reading and writing data using storage controllers |
| US8032674B2 (en) | 2004-07-19 | 2011-10-04 | Marvell International Ltd. | System and method for controlling buffer memory overflow and underflow conditions in storage controllers |
| US9201599B2 (en) | 2004-07-19 | 2015-12-01 | Marvell International Ltd. | System and method for transmitting data in storage controllers |
| US7757009B2 (en) | 2004-07-19 | 2010-07-13 | Marvell International Ltd. | Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device |
| US7386661B2 (en) | 2004-10-13 | 2008-06-10 | Marvell International Ltd. | Power save module for storage controllers |
| US7240267B2 (en) | 2004-11-08 | 2007-07-03 | Marvell International Ltd. | System and method for conducting BIST operations |
| US7802026B2 (en) | 2004-11-15 | 2010-09-21 | Marvell International Ltd. | Method and system for processing frames in storage controllers |
| US7609468B2 (en) | 2005-04-06 | 2009-10-27 | Marvell International Ltd. | Method and system for read gate timing control for storage controllers |
| US8250503B2 (en) | 2006-01-18 | 2012-08-21 | Martin Vorbach | Hardware definition method including determining whether to implement a function as hardware or software |
| US8473911B1 (en) | 2010-07-23 | 2013-06-25 | Xilinx, Inc. | Documentation generation from a computer readable symbolic representation |
| US9520180B1 (en) | 2014-03-11 | 2016-12-13 | Hypres, Inc. | System and method for cryogenic hybrid technology computing and memory |
| US9768762B2 (en) * | 2014-09-25 | 2017-09-19 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit and method of testing |
| US10579492B2 (en) * | 2017-12-29 | 2020-03-03 | Intel Corporation | Device, system and method for identifying a source of latency in pipeline circuitry |
Family Cites Families (30)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3222536A (en) * | 1961-02-02 | 1965-12-07 | Burroughs Corp | Time-controlled logical circuit |
| US3358128A (en) * | 1964-08-31 | 1967-12-12 | Burroughs Corp | Delay line arithmetic circuit |
| US3553446A (en) * | 1966-08-04 | 1971-01-05 | Honeywell Inc | Carry determination logic |
| US4322643A (en) * | 1980-04-28 | 1982-03-30 | Rca Corporation | Digital phase comparator with improved sensitivity for small phase differences |
| JPS6055438A (ja) * | 1983-09-05 | 1985-03-30 | Matsushita Electric Ind Co Ltd | 2入力加算器 |
| NL8401308A (nl) * | 1984-04-24 | 1985-11-18 | Philips Nv | Voloptelschakeling. |
| US4707800A (en) * | 1985-03-04 | 1987-11-17 | Raytheon Company | Adder/substractor for variable length numbers |
| US4737926A (en) * | 1986-01-21 | 1988-04-12 | Intel Corporation | Optimally partitioned regenerative carry lookahead adder |
| US4841468A (en) * | 1987-03-20 | 1989-06-20 | Bipolar Integrated Technology, Inc. | High-speed digital multiplier architecture |
| US4876660A (en) * | 1987-03-20 | 1989-10-24 | Bipolar Integrated Technology, Inc. | Fixed-point multiplier-accumulator architecture |
| US5047975A (en) * | 1987-11-16 | 1991-09-10 | Intel Corporation | Dual mode adder circuitry with overflow detection and substitution enabled for a particular mode |
| US4982352A (en) * | 1988-06-17 | 1991-01-01 | Bipolar Integrated Technology, Inc. | Methods and apparatus for determining the absolute value of the difference between binary operands |
| US4972362A (en) * | 1988-06-17 | 1990-11-20 | Bipolar Integrated Technology, Inc. | Method and apparatus for implementing binary multiplication using booth type multiplication |
| US5153848A (en) * | 1988-06-17 | 1992-10-06 | Bipolar Integrated Technology, Inc. | Floating point processor with internal free-running clock |
| US5173617A (en) * | 1988-06-27 | 1992-12-22 | Motorola, Inc. | Digital phase lock clock generator without local oscillator |
| JP2968289B2 (ja) * | 1989-11-08 | 1999-10-25 | 株式会社リコー | 中央演算処理装置 |
| US5018093A (en) * | 1990-01-02 | 1991-05-21 | Ibm Corporation | High performance self-checking adder having small circuit area |
| US5038117A (en) * | 1990-01-23 | 1991-08-06 | Hewlett-Packard Company | Multiple-modulator fractional-N divider |
| US5175453A (en) * | 1990-08-15 | 1992-12-29 | Lsi Logic Corporation | Configurable pulse generator, especially for implementing signal delays in semiconductor devices |
| US5109394A (en) * | 1990-12-24 | 1992-04-28 | Ncr Corporation | All digital phase locked loop |
| US5483478A (en) * | 1992-10-16 | 1996-01-09 | Xilinx, Inc. | Method and structure for reducing carry delay for a programmable carry chain |
| US5566079A (en) * | 1992-11-12 | 1996-10-15 | Vlsi Technology, Inc. | Parameterized generic multiplier complier |
| US5511181A (en) * | 1993-04-26 | 1996-04-23 | Apple Computer, Inc. | Polycyclic timing system and apparatus for pipelined computer operation |
| US5450607A (en) * | 1993-05-17 | 1995-09-12 | Mips Technologies Inc. | Unified floating point and integer datapath for a RISC processor |
| US5553276A (en) * | 1993-06-30 | 1996-09-03 | International Business Machines Corporation | Self-time processor with dynamic clock generator having plurality of tracking elements for outputting sequencing signals to functional units |
| JPH0738423A (ja) * | 1993-07-23 | 1995-02-07 | Mitsubishi Electric Corp | 分周回路 |
| US5710910A (en) * | 1994-09-30 | 1998-01-20 | University Of Washington | Asynchronous self-tuning clock domains and method for transferring data among domains |
| US5576982A (en) * | 1994-10-17 | 1996-11-19 | Unisys Corporation | Fast significant bit calculator and its application to integer multiplication and division |
| US5502403A (en) * | 1994-12-20 | 1996-03-26 | Cypress Semiconductor Corp. | High speed configuration independent programmable macrocell |
| US5566123A (en) * | 1995-02-10 | 1996-10-15 | Xilinx, Inc. | Synchronous dual port ram |
-
1996
- 1996-01-24 US US08/590,499 patent/US5854918A/en not_active Expired - Lifetime
- 1996-12-03 JP JP32321396A patent/JP3784476B2/ja not_active Expired - Fee Related
-
1997
- 1997-01-23 DE DE19702326A patent/DE19702326B4/de not_active Expired - Fee Related
- 1997-01-23 CN CN97102100.7A patent/CN1103951C/zh not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP3784476B2 (ja) | 2006-06-14 |
| CN1162153A (zh) | 1997-10-15 |
| DE19702326B4 (de) | 2005-02-24 |
| US5854918A (en) | 1998-12-29 |
| DE19702326A1 (de) | 1997-07-31 |
| CN1103951C (zh) | 2003-03-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH09204236A (ja) | 高速コンピュータにおけるタイミング信号発生方法及びその装置 | |
| EP1166210B1 (en) | Elastic interface apparatus and method therefor | |
| WO1999014876A8 (en) | Constant phase crossbar switch | |
| US5511181A (en) | Polycyclic timing system and apparatus for pipelined computer operation | |
| US5751619A (en) | Recurrent adrithmetical computation using carry-save arithmetic | |
| CN107545292B (zh) | 用于动态功率控制的方法和电路 | |
| CN103279323A (zh) | 一种加法器 | |
| US20040225702A1 (en) | Montgomery modular multiplier and method thereof | |
| CN115268839B (zh) | 一种以2为基的蒙哥马利模乘方法及装置 | |
| O’Rourke | Efficient NTRU implementations | |
| US6912558B2 (en) | Multiplication module, multiplicative inverse arithmetic circuit, multiplicative inverse arithmetic control method, apparatus employing multiplicative inverse arithmetic circuit, and cryptographic apparatus and error correction decoder therefor | |
| Akhila et al. | Streamlined Synchronous Binary Counter with Minimized Clock Period | |
| Lu et al. | A programmable VLSI architecture for computing multiplication and polynomial evaluation modulo a positive integer | |
| US20070047589A1 (en) | Multi-rate SERDES receiver | |
| JP3241043B2 (ja) | 積和演算装置 | |
| KR100946256B1 (ko) | 다정도 캐리 세이브 가산기를 이용한 듀얼필드상의확장성있는 몽고매리 곱셈기 | |
| JP2004334212A (ja) | モンゴメリ掛け算器及び掛け算方法 | |
| Tuan et al. | Three-stage pipeline implementation for SHA2 using data forwarding | |
| RU2402803C2 (ru) | Способ и устройство суммирования двоично-десятичных чисел | |
| Mancillas-López et al. | Efficient implementations of some tweakable enciphering schemes in reconfigurable hardware | |
| JP2002117011A (ja) | 集積回路およびその制御方法 | |
| RU2799035C1 (ru) | Конвейерный сумматор по модулю | |
| JP2011221878A (ja) | 多倍長演算装置、暗号化装置、復号装置、演算方法、プログラムおよび記録媒体 | |
| Adamidis et al. | RNS multiplication/sum-of-squares units | |
| US5889691A (en) | Apparatus and method for a multiplier unit with high component utilization |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050301 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050428 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050428 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050609 |
|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050609 |
|
| 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: 20060307 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060315 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100324 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110324 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120324 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130324 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140324 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |