JPH0614321B2 - プログラム化されたコンパイラを用いたデジタル信号プロセサの実現化方法 - Google Patents
プログラム化されたコンパイラを用いたデジタル信号プロセサの実現化方法Info
- Publication number
- JPH0614321B2 JPH0614321B2 JP2512005A JP51200590A JPH0614321B2 JP H0614321 B2 JPH0614321 B2 JP H0614321B2 JP 2512005 A JP2512005 A JP 2512005A JP 51200590 A JP51200590 A JP 51200590A JP H0614321 B2 JPH0614321 B2 JP H0614321B2
- Authority
- JP
- Japan
- Prior art keywords
- attributes
- attribute
- growth
- bits
- icon
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S715/00—Data processing: presentation processing of document, operator interface processing, and screen saver display processing
- Y10S715/961—Operator interface with visual structure or function dictated by intended use
- Y10S715/965—Operator interface with visual structure or function dictated by intended use for process control and configuration
- Y10S715/97—Instrumentation and component modelling, e.g. interactive control panel
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Devices For Executing Special Programs (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
- Stored Programmes (AREA)
Description
【発明の詳細な説明】 1.発明の背景 この発明はプログラム化されたデータプロセサ,以後コ
ンパイラと呼ぶ,の助けを借りて、大規模集積回路を設
計および構成することに関し、それによって演算子は始
めに機能を特定し、大規模集積回路のレイアウトのため
の詳細な命令を達成し、集積回路は所望の技術的実現対
象において、演算子によって特定された機能を実行す
る。より特定的には、この発明はこのようなコンパイラ
のプログラミングおよび動作のための改良された技術に
関する。
ンパイラと呼ぶ,の助けを借りて、大規模集積回路を設
計および構成することに関し、それによって演算子は始
めに機能を特定し、大規模集積回路のレイアウトのため
の詳細な命令を達成し、集積回路は所望の技術的実現対
象において、演算子によって特定された機能を実行す
る。より特定的には、この発明はこのようなコンパイラ
のプログラミングおよび動作のための改良された技術に
関する。
大規模集積回路の設計,検査およびテストは大変複雑な
のでこのようなプログラム化されたデータプロセサの使
用は通常の回路または機能のために必要不可欠のもので
ある。これはデジタル信号処理機能が本質的に複雑であ
ることや、主要のデータ処理機能がプロセサのライブラ
リの範囲内のより単純な機能に分解される必要があるこ
とやまた、ネットワークの効率的なレイアウトを達成す
るためにはかなりの計算が必要とされるということに原
因がある。コンピュータ設計処理の結果は、特定の技術
的観点から、複雑な集積回路を規定する詳細な仕様であ
ることが理解されるであろう。このような仕様は集積回
路の物理的具体化の構成のためのテンプレートとみなさ
れてもよい。
のでこのようなプログラム化されたデータプロセサの使
用は通常の回路または機能のために必要不可欠のもので
ある。これはデジタル信号処理機能が本質的に複雑であ
ることや、主要のデータ処理機能がプロセサのライブラ
リの範囲内のより単純な機能に分解される必要があるこ
とやまた、ネットワークの効率的なレイアウトを達成す
るためにはかなりの計算が必要とされるということに原
因がある。コンピュータ設計処理の結果は、特定の技術
的観点から、複雑な集積回路を規定する詳細な仕様であ
ることが理解されるであろう。このような仕様は集積回
路の物理的具体化の構成のためのテンプレートとみなさ
れてもよい。
上に述べたような種類のコンパイラは商業的に入手可能
であり文献に記載されている。たとえば、ラバエ(Raba
ey)その他による、『ディジタル信号処理システムのコ
ンピューター支援合成』(“Cathedral−2:Computer
Aided Synthesis of Digital Signal Processing Syste
ms”、IEEE CICC 1987会報),157-160頁(1987),ハ
ートレイ(Hartley)その他による『ディジタル−直列
シリコンコンパイラ』(“A Digit-Serial Silicon Com
piler” 第25回ACM/IEEE DA会議会報),646-649頁,
カリフォルニア,1988 6月;第24回設計自動化会議会
報,マイアミ,フロリダ,1987年6月;シリコンコンパ
イラのためののロジックおよび構造上合成に関する国際
ワークショップ会報,グルノーブル,1988年5月;コン
ピュータ支援設計に関する国際会議会報,サンタクラ
ラ,カリフォルニア,1988年11月;および集積回路およ
びシステムについてのコンピュータ支援設計に関するIE
EE会報,CAD-5 11月4日号,1986年10月などを参照。
であり文献に記載されている。たとえば、ラバエ(Raba
ey)その他による、『ディジタル信号処理システムのコ
ンピューター支援合成』(“Cathedral−2:Computer
Aided Synthesis of Digital Signal Processing Syste
ms”、IEEE CICC 1987会報),157-160頁(1987),ハ
ートレイ(Hartley)その他による『ディジタル−直列
シリコンコンパイラ』(“A Digit-Serial Silicon Com
piler” 第25回ACM/IEEE DA会議会報),646-649頁,
カリフォルニア,1988 6月;第24回設計自動化会議会
報,マイアミ,フロリダ,1987年6月;シリコンコンパ
イラのためののロジックおよび構造上合成に関する国際
ワークショップ会報,グルノーブル,1988年5月;コン
ピュータ支援設計に関する国際会議会報,サンタクラ
ラ,カリフォルニア,1988年11月;および集積回路およ
びシステムについてのコンピュータ支援設計に関するIE
EE会報,CAD-5 11月4日号,1986年10月などを参照。
このようなコンパイラの支援により実現される回路の複
雑さの例として、後に説明する、25のデジタル加算器,
25のデジタル減算器,2つの乗算器および11のデジタル
循環器を含む、16ビットの離散コサイン変換回路があ
り、それは詳細な回路の形で表わされるならば、その明
細書は約70頁あるいはそれ以上の模式図を必要とする。
このような複雑な回路を相応な時間内で手で設計するの
は不可能である。コンピュータ支援設計を用いる必要性
の他の要因には、多数のその他の要件があり、それは集
積回路のレイアウトにおける面積の有効な利用を達成す
ることおよび、特にデジタル信号処理にとっては、スル
ープットの最適化を達成することを含む。
雑さの例として、後に説明する、25のデジタル加算器,
25のデジタル減算器,2つの乗算器および11のデジタル
循環器を含む、16ビットの離散コサイン変換回路があ
り、それは詳細な回路の形で表わされるならば、その明
細書は約70頁あるいはそれ以上の模式図を必要とする。
このような複雑な回路を相応な時間内で手で設計するの
は不可能である。コンピュータ支援設計を用いる必要性
の他の要因には、多数のその他の要件があり、それは集
積回路のレイアウトにおける面積の有効な利用を達成す
ることおよび、特にデジタル信号処理にとっては、スル
ープットの最適化を達成することを含む。
最も近い先行技術を示し、かつ独立クレームの前特徴部
分の特質を開示した文書はS.G スミス(S.G.Smit
h)およびR.W モーガン(R.W.Morgan)による、
『上位レベルDSP ASIC設計トゥール』(“High Level D
SP ASIC Design Tool”,Euro−ASIC 1989会報),117-
129頁,グルノーブル,フランス,1989 1月;である。
この論文は、以下により充分にかつ詳細に述べられる、
基本的な考えのいくつかを手短かに記述している。
分の特質を開示した文書はS.G スミス(S.G.Smit
h)およびR.W モーガン(R.W.Morgan)による、
『上位レベルDSP ASIC設計トゥール』(“High Level D
SP ASIC Design Tool”,Euro−ASIC 1989会報),117-
129頁,グルノーブル,フランス,1989 1月;である。
この論文は、以下により充分にかつ詳細に述べられる、
基本的な考えのいくつかを手短かに記述している。
2.発明の要約 導入 読み手は、プログラミングおよび一般的な種類または上
の参照例で述べた種類のコンパイラの仕様について馴染
みがあると見なされる。
の参照例で述べた種類のコンパイラの仕様について馴染
みがあると見なされる。
この発明の一般的な目的は、通常、オペレータ選択可能
なかつ制御可能なアイコンによって、複雑なデジタル信
号処理回路の機能の仕様を受入れ、かつネットリストま
たは類似の、オペレータによって選択された機能の実現
化を示す大規模集積回路の詳細な仕様を生み出す、コン
パイラのプログラミングおよびオペレーションのための
改良された技術を提供することである。コンパイラは、
デジタル信号プロセサの上位レベルの記述を物理的実現
物に転換することが可能であるのみならず、プロセサの
多数の点における伝搬データ値および物理的かつ数値的
量の推定を用いて、特定されたシステムの動きを表示す
ることが可能になるように意図されている。
なかつ制御可能なアイコンによって、複雑なデジタル信
号処理回路の機能の仕様を受入れ、かつネットリストま
たは類似の、オペレータによって選択された機能の実現
化を示す大規模集積回路の詳細な仕様を生み出す、コン
パイラのプログラミングおよびオペレーションのための
改良された技術を提供することである。コンパイラは、
デジタル信号プロセサの上位レベルの記述を物理的実現
物に転換することが可能であるのみならず、プロセサの
多数の点における伝搬データ値および物理的かつ数値的
量の推定を用いて、特定されたシステムの動きを表示す
ることが可能になるように意図されている。
上位レベル記述 この発明の一局面は、設計者が要求される精度および要
求される速度またはスループットで、所望の機能を別々
に特定する能力に関する。これらの3つの要件は単純な
図表において上位レベルで設けられてもよい。機能アイ
コンは乗算,加算,減算および累算のような基本的な目
的のために設けられてもよい。これらのアイコンをアイ
コンネットワークに形作ることは機能を特定するための
要件を満たす。値を入力および出力オペランドの精度お
よび内部ワーキングワードに割り当てることによって合
成手段を始まる。これらの手順から、アイコンのデータ
出力はワード属性の小さな組を受け継ぎ、それはアイコ
ンのネットワークにわたってローカルな数値フォーマッ
トを規定する。この目的は特定された精度の要件を満た
すことにある。最後の要件は、“タスク速度”として知
られる単一の全体的な属性によって満たされてもよい。
求される速度またはスループットで、所望の機能を別々
に特定する能力に関する。これらの3つの要件は単純な
図表において上位レベルで設けられてもよい。機能アイ
コンは乗算,加算,減算および累算のような基本的な目
的のために設けられてもよい。これらのアイコンをアイ
コンネットワークに形作ることは機能を特定するための
要件を満たす。値を入力および出力オペランドの精度お
よび内部ワーキングワードに割り当てることによって合
成手段を始まる。これらの手順から、アイコンのデータ
出力はワード属性の小さな組を受け継ぎ、それはアイコ
ンのネットワークにわたってローカルな数値フォーマッ
トを規定する。この目的は特定された精度の要件を満た
すことにある。最後の要件は、“タスク速度”として知
られる単一の全体的な属性によって満たされてもよい。
ワード構造 この発明は他の局面はコンパイラにおいて用いられる改
良されたワード構造に関する。コンパイラは任意の程度
の並列度およびパイプライン化を有する高性能信号プロ
セサを自動的に合成する。広くパイプライン化されたま
たは並列なプロセサに固有の複雑な構造上の特徴のすべ
ては、既知の実施に従って、コンパイラによって自動的
に扱われてもよいが、プロセサの大きさ,スループット
および電力消費に影響する設計の妥協点を自動的に得る
ためには、設計者はこれらのパラメタを制御できなけれ
ばならない。
良されたワード構造に関する。コンパイラは任意の程度
の並列度およびパイプライン化を有する高性能信号プロ
セサを自動的に合成する。広くパイプライン化されたま
たは並列なプロセサに固有の複雑な構造上の特徴のすべ
ては、既知の実施に従って、コンパイラによって自動的
に扱われてもよいが、プロセサの大きさ,スループット
および電力消費に影響する設計の妥協点を自動的に得る
ためには、設計者はこれらのパラメタを制御できなけれ
ばならない。
この目的のために、コンパイラは3つの信号属性,すな
わちデータワードの物理的構造を表わすビット,ディジ
ットおよびサブワードを有するワード構造を用いる。こ
れらの属性のすべては、主に、用いられるシリコン基板
の面積として表わされるプロセサの大きさおよびスルー
プツトと直接関係があり、したがって、プロセサを合成
するのに必要なすべての情報をシステムに与える。精度
およびスループットの仕様に内在するワーキングビット
およびクロックサイクルの集合から、コンパイラは用途
のために最適なワード構造を選ぶことができる。
わちデータワードの物理的構造を表わすビット,ディジ
ットおよびサブワードを有するワード構造を用いる。こ
れらの属性のすべては、主に、用いられるシリコン基板
の面積として表わされるプロセサの大きさおよびスルー
プツトと直接関係があり、したがって、プロセサを合成
するのに必要なすべての情報をシステムに与える。精度
およびスループットの仕様に内在するワーキングビット
およびクロックサイクルの集合から、コンパイラは用途
のために最適なワード構造を選ぶことができる。
ワード成長 この発明の他の局面はコンパイラによって実現されるデ
ジタル信号プロセサにおけるワード成長の問題に関す
る。合成プロセサの或る点における数値オーバフローの
可能性は、特に固定小数点システムを用いるときに常に
存在する問題である。ワード成長はワードの最低部に関
しては絶対的でありかつ2進桁位置に関しては相対的で
ある。発明のこの局面は回路合成の間自動的にワード成
長をモニタリングすること、およびプロセサの数値上性
能およびその物理的面積を調節する過程における、コン
パイラまたはユーザによるワード成長の操作に関する。
2進桁位置をこえる成長は回路における或る点の情報と
しては設計者に利用可能であってもよい。シミュレーシ
ョンは必要ではない。
ジタル信号プロセサにおけるワード成長の問題に関す
る。合成プロセサの或る点における数値オーバフローの
可能性は、特に固定小数点システムを用いるときに常に
存在する問題である。ワード成長はワードの最低部に関
しては絶対的でありかつ2進桁位置に関しては相対的で
ある。発明のこの局面は回路合成の間自動的にワード成
長をモニタリングすること、およびプロセサの数値上性
能およびその物理的面積を調節する過程における、コン
パイラまたはユーザによるワード成長の操作に関する。
2進桁位置をこえる成長は回路における或る点の情報と
しては設計者に利用可能であってもよい。シミュレーシ
ョンは必要ではない。
量子化雑音 この発明のさらに別の局面は量子化雑音の問題に関す
る。これは固有の不正確さから生じる雑音であり、それ
によって物理的量はデジタルの形で表わされる。この問
題はデジタル信号プロセサの複雑さが増すにつれ大きく
なる。
る。これは固有の不正確さから生じる雑音であり、それ
によって物理的量はデジタルの形で表わされる。この問
題はデジタル信号プロセサの複雑さが増すにつれ大きく
なる。
それゆえ、発明のこの局面は回路合成の間の量子化雑音
の管理および数値上の性能および物理的面積の微調整の
プロセスにおけるユーザによるそれに続く操作に関す
る。量子化雑音の侵入は回路における或る点の情報とし
て設計者には利用可能である。シミュレーションは必要
ではない。
の管理および数値上の性能および物理的面積の微調整の
プロセスにおけるユーザによるそれに続く操作に関す
る。量子化雑音の侵入は回路における或る点の情報とし
て設計者には利用可能である。シミュレーションは必要
ではない。
特に、ユーザの図面におけるノイズフロアの数値表示を
伝搬するスタティックチェックを与けることは可能であ
る。ネットワークの或る点におけるノイズの侵入レベル
が表示されてもよい。
伝搬するスタティックチェックを与けることは可能であ
る。ネットワークの或る点におけるノイズの侵入レベル
が表示されてもよい。
発明のこの局面は、様々な任意の機能は付加的なもので
あるという事実に基づいており、これはここではノイズ
フロアの評価を単純化するために用いられている。特
に、ノイズフロアは以下に説明されるように、ローカル
属性としてシステム全体にわたって保持されてもよい。
信号は量子化雑音によって増分される完全な実数として
モデル化されてもよく、かつ量子化雑音は最小ビット数
の表示の振幅の範囲内で均一に分布すると仮定してもよ
い。様々な任意の数は付加的なものなので、各ネットワ
ークノードにおけるノイズ表示の二乗が累算されてもよ
い。以下に説明するように、ネットワーク全体にわたる
ノイズフロアの伝搬はある単純なルールに従って行なわ
れてもよい。その結果は、使用者はシミュレーションに
頼らないで設計プロセスの間における量子化雑音の侵入
を知ることができるということである。
あるという事実に基づいており、これはここではノイズ
フロアの評価を単純化するために用いられている。特
に、ノイズフロアは以下に説明されるように、ローカル
属性としてシステム全体にわたって保持されてもよい。
信号は量子化雑音によって増分される完全な実数として
モデル化されてもよく、かつ量子化雑音は最小ビット数
の表示の振幅の範囲内で均一に分布すると仮定してもよ
い。様々な任意の数は付加的なものなので、各ネットワ
ークノードにおけるノイズ表示の二乗が累算されてもよ
い。以下に説明するように、ネットワーク全体にわたる
ノイズフロアの伝搬はある単純なルールに従って行なわ
れてもよい。その結果は、使用者はシミュレーションに
頼らないで設計プロセスの間における量子化雑音の侵入
を知ることができるということである。
属性伝搬 この発明のさらに別の局面は、ローカルに最適化されか
つ数値的に矛盾のない合成を得るためにコンパイラの助
けを借りて実現されるプロセサのネットワーク全体にわ
たる信号特性の伝搬に関する。
つ数値的に矛盾のない合成を得るためにコンパイラの助
けを借りて実現されるプロセサのネットワーク全体にわ
たる信号特性の伝搬に関する。
コンパイラは回路を合成してプロセサを実現化し、その
プロセサの機能は算術機能を行なう演算子を介して信号
を運ぶ情報の流れを特定する信号フローチャートとして
表わされてもよい。前に述べたように、信号のフォーマ
ットおよび構造は好ましくは、スループットおよびダイ
ナミックレンジ(すなわち精度)の要件によって決めら
れ、算術演算子を実現するために必要とされるハードウ
ェア,すなわちプロセサの物理的実現化に直接影響を及
ぼす。
プロセサの機能は算術機能を行なう演算子を介して信号
を運ぶ情報の流れを特定する信号フローチャートとして
表わされてもよい。前に述べたように、信号のフォーマ
ットおよび構造は好ましくは、スループットおよびダイ
ナミックレンジ(すなわち精度)の要件によって決めら
れ、算術演算子を実現するために必要とされるハードウ
ェア,すなわちプロセサの物理的実現化に直接影響を及
ぼす。
全システムのため,すなわち、全体的に信号構造および
フォーマットを規定することは既知である。これはプロ
セサ内のすべての演算子のための精度およびダイナミッ
クレンジの最悪の場合に対処する回路を作り出すプロセ
サ合成に制約を加える。これは必ずしも非観的なことで
はない、なぜならば実際には信号のダイナミックレンジ
の要件はネットワーク全体にわたり変化するからであ
る。ハードウェアが精度およびダイナミックレンジのた
めの最小ローカル要件を満たすように実現され得るなら
ば、効率を改良することは可能である。
フォーマットを規定することは既知である。これはプロ
セサ内のすべての演算子のための精度およびダイナミッ
クレンジの最悪の場合に対処する回路を作り出すプロセ
サ合成に制約を加える。これは必ずしも非観的なことで
はない、なぜならば実際には信号のダイナミックレンジ
の要件はネットワーク全体にわたり変化するからであ
る。ハードウェアが精度およびダイナミックレンジのた
めの最小ローカル要件を満たすように実現され得るなら
ば、効率を改良することは可能である。
発明のこの局面は、入力信号はサンプリング精度で規定
されるダイナミックレンジで開始するとみなしている。
信号の一貫性を保つのに必要なダイナミックレンジは算
術演算子によって変換されるに従い成長または縮小可能
であってもよい。ダイナミックレンジの成長量は行なわ
れる動作および信号特性の両方に依存する。ネットワー
ク内の或る点における信号のためのダイナミックレンジ
の要件を計算し、かつシステムによって計算される値の
変更を調節するシステムを提供するためには、合成され
るべきネットワークにおける或る点の各信号の特性およ
び値を表わす信号属性を伝搬する技順が与えられる。
されるダイナミックレンジで開始するとみなしている。
信号の一貫性を保つのに必要なダイナミックレンジは算
術演算子によって変換されるに従い成長または縮小可能
であってもよい。ダイナミックレンジの成長量は行なわ
れる動作および信号特性の両方に依存する。ネットワー
ク内の或る点における信号のためのダイナミックレンジ
の要件を計算し、かつシステムによって計算される値の
変更を調節するシステムを提供するためには、合成され
るべきネットワークにおける或る点の各信号の特性およ
び値を表わす信号属性を伝搬する技順が与えられる。
論理ゲートのネットワークを介してデータを伝搬するイ
ベント駆動型シミュレータを提供することは既知であ
る。発明のこの局面はこのようなシミュレータの動作と
類似であるが、この発明においてはコンパイラは信号の
物理的およびスタティックな特性を特徴づける属性の組
を伝搬する。各算術演算子はその入力信号の属性を検査
することによって、その出力信号の特徴を表わす属性の
新しい組を発生することができる。ネットワーク全体に
わたる初期の属性は設計者によって与えられる、初期の
入力信号特徴を伝搬することによって計算されてもよ
い。設計者はネットワークにおける或る点の或る属性を
変更してもよく、そのシステムはそれから、変更された
値を伝搬することによって、ネットワーク全体にわたる
この変更の影響を計算する。
ベント駆動型シミュレータを提供することは既知であ
る。発明のこの局面はこのようなシミュレータの動作と
類似であるが、この発明においてはコンパイラは信号の
物理的およびスタティックな特性を特徴づける属性の組
を伝搬する。各算術演算子はその入力信号の属性を検査
することによって、その出力信号の特徴を表わす属性の
新しい組を発生することができる。ネットワーク全体に
わたる初期の属性は設計者によって与えられる、初期の
入力信号特徴を伝搬することによって計算されてもよ
い。設計者はネットワークにおける或る点の或る属性を
変更してもよく、そのシステムはそれから、変更された
値を伝搬することによって、ネットワーク全体にわたる
この変更の影響を計算する。
特に、コンパイラはフォーマット属性の観点から、信号
フォーマット,すなわち信号ワードの情報内容を表わし
てもよい。“点”および“待ち時間”の属性はそれぞ
れ、信号ワードのビット精度およびプロセサのネットワ
ークにおける或る点の時間位置を表わす。デジタル信号
プロセサ内のいわゆる“アクタ(actors)”は本来信号
に対する動作を行ないながらこれらの属性を変換し、ユ
ーザはネットワークにおける或る点のこれらの信号属性
を変更することによって信号フォーマットを調節するこ
とが可能である。適切な動作のために、このような“ア
タマ”はそれに対する入力信号が同じ待ち時間を有しか
つそれらの2進桁位置が整列させられることを要求す
る。ユーザの役割を単純化し、信号の一致性を考慮する
ことなく臨界点の情報内容を調節することに集中できる
よう、コンパイラは好ましくはあらゆる所与のアクタに
対するすべての入力信号の一致性を保つよう設けられ
る。
フォーマット,すなわち信号ワードの情報内容を表わし
てもよい。“点”および“待ち時間”の属性はそれぞ
れ、信号ワードのビット精度およびプロセサのネットワ
ークにおける或る点の時間位置を表わす。デジタル信号
プロセサ内のいわゆる“アクタ(actors)”は本来信号
に対する動作を行ないながらこれらの属性を変換し、ユ
ーザはネットワークにおける或る点のこれらの信号属性
を変更することによって信号フォーマットを調節するこ
とが可能である。適切な動作のために、このような“ア
タマ”はそれに対する入力信号が同じ待ち時間を有しか
つそれらの2進桁位置が整列させられることを要求す
る。ユーザの役割を単純化し、信号の一致性を考慮する
ことなく臨界点の情報内容を調節することに集中できる
よう、コンパイラは好ましくはあらゆる所与のアクタに
対するすべての入力信号の一致性を保つよう設けられ
る。
このように、このシステムは属性伝搬システムによって
設けられる、機能に対する全入力信号のフォーマット属
性を検査してもよい。一群のルールがどの入力が変更さ
れかつどの属性が変化させられるべきかを決めるために
与えられてもよい。このシステムはそれゆえ、要求され
る信号変換を行なうために最小限のハードウェアを用い
ながら、可能な限り前のユーザの変更の効果を保つよう
動作する。
設けられる、機能に対する全入力信号のフォーマット属
性を検査してもよい。一群のルールがどの入力が変更さ
れかつどの属性が変化させられるべきかを決めるために
与えられてもよい。このシステムはそれゆえ、要求され
る信号変換を行なうために最小限のハードウェアを用い
ながら、可能な限り前のユーザの変更の効果を保つよう
動作する。
この発明のこれらおよび他の局面および目的は好ましい
実施例を参照してより詳細に述べられる。
実施例を参照してより詳細に述べられる。
3.図面の簡単な説明 第1図はデジタル信号プロセサのためのコンパイラの主
な構成要素を概略的に表わした図である。
な構成要素を概略的に表わした図である。
第2図は離散コサイン変換プロセサのアイコンの模式図
である。
である。
第3図は構造上のテンプレートを示す図である。
第4図はコンパイラにおいて用いられるワード構造の好
ましい形を概略的に表わした図である。
ましい形を概略的に表わした図である。
第5図ないし8図は6ビット直列の乗算器を表わす“ア
クタ”の様々な形を示した図である。
クタ”の様々な形を示した図である。
第9図はコンパイラを用いて実現される上位レベルプロ
セサの平面図である。
セサの平面図である。
第10図はプロセサの構成を示す図である。
4.好ましい実施例の説明 前に示したように、この発明に従うコンパイラは一般に
デジタル信号プロセサの設計および実現化において用い
られることを意図している。一般的な目的のための計算
に関するデジタル信号処理計算の主な特徴はまず、リア
ルタイムオペレーションに対する制約であり、その次に
はデジタル信号処理のためのアルゴリズムの比較的単純
な構造である。このように比較的簡単な構造は、設計者
の観点から、しばしば極めて厳しいスループット要求に
よって相殺される。デジタル信号処理の高性能な用途の
大部分は望ましい実行化の変更も再形成も必要とせず或
る固定のタスクを行なう装置は大変高速度である。デジ
タル信号処理に必要とされる高性能は普通、並列度また
はパイプライン化を広範囲に用いることによって最もよ
く得られる。異なる多くの動作は並列/パイプライン装
置において同時に行ない得る。一旦パイプラインが一杯
になると、装置はその最大効率で動作可能である。
デジタル信号プロセサの設計および実現化において用い
られることを意図している。一般的な目的のための計算
に関するデジタル信号処理計算の主な特徴はまず、リア
ルタイムオペレーションに対する制約であり、その次に
はデジタル信号処理のためのアルゴリズムの比較的単純
な構造である。このように比較的簡単な構造は、設計者
の観点から、しばしば極めて厳しいスループット要求に
よって相殺される。デジタル信号処理の高性能な用途の
大部分は望ましい実行化の変更も再形成も必要とせず或
る固定のタスクを行なう装置は大変高速度である。デジ
タル信号処理に必要とされる高性能は普通、並列度また
はパイプライン化を広範囲に用いることによって最もよ
く得られる。異なる多くの動作は並列/パイプライン装
置において同時に行ない得る。一旦パイプラインが一杯
になると、装置はその最大効率で動作可能である。
5.コンパイラの構成要素 図面の第1図はアイコンネットワークの観点から設計者
によって特定される機能を実現するデジタル信号プロセ
サのためのコンパイラの一般的な構造を示す。
によって特定される機能を実現するデジタル信号プロセ
サのためのコンパイラの一般的な構造を示す。
ユーザ入力は1で表わされる。これは既知の形での様々
な制御からなり、それによってユーザは機能の観点から
デジタル信号プロセサを特定することができる。ユーザ
は加算,減算,回転および乗算のような様々な基本的な
機能を示す様々な“アイコン”をディスプレイの上で選
択し操作しネットワークを形成する。アイコンネットワ
ークの一例が第2図に示されている。コンパイラはアイ
コンと関連づけられるのが各々の“アクタ”3であるよ
うにプログラム化される。“アクタ”の例は後程挙げら
れる。アクタはアイコンの機能上の対応物であり、それ
を規定するプログラムセグメントは対応する信号処理機
能を与えるのみならず様々な信号属性に作用し、それに
よってコンパイラはネットワーク全般にわたってこれら
の属性の値を設計プロセスの一部分として与える。アイ
コンはこのような属性に対する作用を行なうものとして
みなされてもよいが、アクタはアイコンによって特定さ
れる機能を達成するためのプログラム化された手段であ
る。
な制御からなり、それによってユーザは機能の観点から
デジタル信号プロセサを特定することができる。ユーザ
は加算,減算,回転および乗算のような様々な基本的な
機能を示す様々な“アイコン”をディスプレイの上で選
択し操作しネットワークを形成する。アイコンネットワ
ークの一例が第2図に示されている。コンパイラはアイ
コンと関連づけられるのが各々の“アクタ”3であるよ
うにプログラム化される。“アクタ”の例は後程挙げら
れる。アクタはアイコンの機能上の対応物であり、それ
を規定するプログラムセグメントは対応する信号処理機
能を与えるのみならず様々な信号属性に作用し、それに
よってコンパイラはネットワーク全般にわたってこれら
の属性の値を設計プロセスの一部分として与える。アイ
コンはこのような属性に対する作用を行なうものとして
みなされてもよいが、アクタはアイコンによって特定さ
れる機能を達成するためのプログラム化された手段であ
る。
好ましくは各アイコンは各属性に対してデフォルト作用
を有するが、一般に、ユーザは特定された作用を変更し
望ましい数値上の効果を得てもよい。たとえば、“点”
(2進小数点位置)として知られる属性に及ぼすマルチ
プライヤの通常またはデフォルトな作用は(好ましく
は)2進桁位置を係数ワードマイナス1ビットの大きさ
と同じ量だけ上へ移動させることである。しかしなが
ら、この作用はデータのダイナミックレンジをローカル
に変えるために変更されてもよい。コンパイラは一致性
を保つために入力において余分の作用を自動的に含んで
もよい。
を有するが、一般に、ユーザは特定された作用を変更し
望ましい数値上の効果を得てもよい。たとえば、“点”
(2進小数点位置)として知られる属性に及ぼすマルチ
プライヤの通常またはデフォルトな作用は(好ましく
は)2進桁位置を係数ワードマイナス1ビットの大きさ
と同じ量だけ上へ移動させることである。しかしなが
ら、この作用はデータのダイナミックレンジをローカル
に変えるために変更されてもよい。コンパイラは一致性
を保つために入力において余分の作用を自動的に含んで
もよい。
2つのタイプのアイコンが存在する。1つ目はコンパイ
ラに組込まれる。これらはプリミティプなアイコンであ
る。第2のタイプはユーザによって規定されるアイコン
からなる。乗算,回転,加算,減算および累算からなる
基本的な動作のためのみにプリミティプなアイコンを設
けるのが好ましい。或る場合において、設計における一
致性を与えるために用いられる“ゼロ”アイコンを設け
ることも望ましい。各アイコンは入力属性に予測可能な
影響を持つ。たとえば、加算器はその入力において、待
ち時間および2進桁位置の両方を整列させなければなら
ない。これは加算器に対する信号が同時に到達しそれら
の2進桁位置に対して同じ位置を有さなければならない
ことを意味している。
ラに組込まれる。これらはプリミティプなアイコンであ
る。第2のタイプはユーザによって規定されるアイコン
からなる。乗算,回転,加算,減算および累算からなる
基本的な動作のためのみにプリミティプなアイコンを設
けるのが好ましい。或る場合において、設計における一
致性を与えるために用いられる“ゼロ”アイコンを設け
ることも望ましい。各アイコンは入力属性に予測可能な
影響を持つ。たとえば、加算器はその入力において、待
ち時間および2進桁位置の両方を整列させなければなら
ない。これは加算器に対する信号が同時に到達しそれら
の2進桁位置に対して同じ位置を有さなければならない
ことを意味している。
ユーザが規定するアイコンはユーザによって規定される
アイコンの集団であり階層的仕様のために用いられる。
ユーザアイコンはまた予測可能な複合作用を有し、それ
らの入力および出力において一致した属性を要求しても
よい。わかるように、コンパイラは最悪スルーパス分析
を用いて、出力上の属性を変更しこの一致性を伴うよう
にしてもよい。
アイコンの集団であり階層的仕様のために用いられる。
ユーザアイコンはまた予測可能な複合作用を有し、それ
らの入力および出力において一致した属性を要求しても
よい。わかるように、コンパイラは最悪スルーパス分析
を用いて、出力上の属性を変更しこの一致性を伴うよう
にしてもよい。
さらにユーザに利用可能なのは評価および上位レベルシ
ミュレーションのためのディスプレイ3および4であ
る。
ミュレーションのためのディスプレイ3および4であ
る。
ユーザと、プログラム化されたコンパイラの間のインタ
フェースは6で示される。コンパイラの構成図はアクタ
のための記憶されたデフォルト設定7、合成8およびア
クタの自動拡大9(後で例示される)のプロセス,クロ
ックおよび制御回路の加算10およびバッファリング11の
加算を含む。クロックおよび制御の加算,およびバッフ
ァリングのプロセスはこの発明にとっては重要ではない
ので詳細には説明しない。コンパイラの出力(前に示し
たように)は下位レベルネットリストである。
フェースは6で示される。コンパイラの構成図はアクタ
のための記憶されたデフォルト設定7、合成8およびア
クタの自動拡大9(後で例示される)のプロセス,クロ
ックおよび制御回路の加算10およびバッファリング11の
加算を含む。クロックおよび制御の加算,およびバッフ
ァリングのプロセスはこの発明にとっては重要ではない
ので詳細には説明しない。コンパイラの出力(前に示し
たように)は下位レベルネットリストである。
6.属性 属性はコンパイラにおける記述的な能力の大部分を与え
る。好ましいコンパイラは属性に値を割当てアイコンネ
ットワークを介してユーザによって選択される変化を伝
搬するデフォルトシステムを含む。しかしながら、ユー
ザによって与えられる最小の初めの組から属性を合成す
ることも可能である。
る。好ましいコンパイラは属性に値を割当てアイコンネ
ットワークを介してユーザによって選択される変化を伝
搬するデフォルトシステムを含む。しかしながら、ユー
ザによって与えられる最小の初めの組から属性を合成す
ることも可能である。
属性はその範囲を変えることが可能である。それはロー
カルあるいは全体的のいずれであってもよい。“ローカ
ル”は特定のノードに対しての局所的を意味する。“全
体的”は全システムに対して共通な属性のことを指す。
ワード属性は出力または各プリミティブの出力のことを
指し2つのタイプがある。これらのタイプは構造および
フォーマットに関連する。算術機能を制御する基本的な
属性はプリミティブごとに変化してもよい。
カルあるいは全体的のいずれであってもよい。“ローカ
ル”は特定のノードに対しての局所的を意味する。“全
体的”は全システムに対して共通な属性のことを指す。
ワード属性は出力または各プリミティブの出力のことを
指し2つのタイプがある。これらのタイプは構造および
フォーマットに関連する。算術機能を制御する基本的な
属性はプリミティブごとに変化してもよい。
7.アイコンネットワーク アイコンネットワークの一例が第2図に示される。これ
はデジタルビデオ周波数(たとえば約14メガヘルツ)に
おいて用いられる16x16の離散コサイン変換のためのプ
ロセサを示す。その非常に複雑性なので、プロセサの機
能あるいは配線については詳細に述べない。J.A.ロ
エゼその他(J.A.Roese et al)による『インターフ
レーム コサイン変換コーティング』(“Interframe C
osine Transform Coding"),Trans.IEEE COM-25頁132
9から1339(1977年11月),およびジュタンドその他(J
utand et al)による『単一チップビデオ周波数16x16
コサイン変換』(“Asingle chip video rate 16 16 c
osine transform”),Proc. IEEE-IECEJ-ASJ-ICASSP
(1986)頁805-808,を参照することによって理解でき
るであろう。この変換は画像コーティングおよび圧縮に
有用である。
はデジタルビデオ周波数(たとえば約14メガヘルツ)に
おいて用いられる16x16の離散コサイン変換のためのプ
ロセサを示す。その非常に複雑性なので、プロセサの機
能あるいは配線については詳細に述べない。J.A.ロ
エゼその他(J.A.Roese et al)による『インターフ
レーム コサイン変換コーティング』(“Interframe C
osine Transform Coding"),Trans.IEEE COM-25頁132
9から1339(1977年11月),およびジュタンドその他(J
utand et al)による『単一チップビデオ周波数16x16
コサイン変換』(“Asingle chip video rate 16 16 c
osine transform”),Proc. IEEE-IECEJ-ASJ-ICASSP
(1986)頁805-808,を参照することによって理解でき
るであろう。この変換は画像コーティングおよび圧縮に
有用である。
このネットワークは例としてのみ与えられる。機能の仕
様は表示されたアイコンおよびその接続を選択し操作す
ることからなる(既知の実施におけるように)。
様は表示されたアイコンおよびその接続を選択し操作す
ることからなる(既知の実施におけるように)。
8.粒子のサイズ 構造上の合成を成功させる鍵の1つは粒径にある。粒子
は設計スペースの量子化あるいは代替的に、構造上の操
作が行なわれる物理的レベルとしてみなされてもよい。
粒径が小さいほど、技術に依存するパラメタおよび用途
に依存するパラメタがより密接にマッチさせ得る。NA
NDゲートまたは,たとえば,16×16の組合せの乗算器
を粒子として用いることは可能であるが、全加算器を用
いるのが好ましい。NANDゲートを用いると高い効率
を生み出すが、取扱いやすさは劣る。このような小さな
粒子のサイズを用いた合成はR.K.ブレイトンその他
(R.K.Brayton et al)による『VLSI合成のための
論理アルゴリズム』(“Logic Algorithms for VLSI Sy
nthesis”),クルーワアカデミック出版(Kluwer Acad
emic Publishers)(1984年)に記載されている。
は設計スペースの量子化あるいは代替的に、構造上の操
作が行なわれる物理的レベルとしてみなされてもよい。
粒径が小さいほど、技術に依存するパラメタおよび用途
に依存するパラメタがより密接にマッチさせ得る。NA
NDゲートまたは,たとえば,16×16の組合せの乗算器
を粒子として用いることは可能であるが、全加算器を用
いるのが好ましい。NANDゲートを用いると高い効率
を生み出すが、取扱いやすさは劣る。このような小さな
粒子のサイズを用いた合成はR.K.ブレイトンその他
(R.K.Brayton et al)による『VLSI合成のための
論理アルゴリズム』(“Logic Algorithms for VLSI Sy
nthesis”),クルーワアカデミック出版(Kluwer Acad
emic Publishers)(1984年)に記載されている。
16×16乗算器の使用はより有用である。システムの設計
はデータ経路ラインに沿って発展可能である。データ経
路の構造は特に低機能の応用において有利に働く一般性
と融通性を持つ。この構造は標準的な部分,本質的には
ハードウェア乗算器によって高められたマイクロプロセ
サにおいてほぼ普遍的である。オペランドはその用途を
最大限にするのは困難であるがこの大きな計算粒子を通
して順次循環する。
はデータ経路ラインに沿って発展可能である。データ経
路の構造は特に低機能の応用において有利に働く一般性
と融通性を持つ。この構造は標準的な部分,本質的には
ハードウェア乗算器によって高められたマイクロプロセ
サにおいてほぼ普遍的である。オペランドはその用途を
最大限にするのは困難であるがこの大きな計算粒子を通
して順次循環する。
全加算器の計算“粒子”を選ぶことによって高度の構造
上合成が与えられてもよいが、一方シリコン資源は各用
途の要件に十分近くてもよい。大雑把に言って、単位シ
リコン領域(粒子)はx Hzの一定のクロック速度を
与えられたとすると、毎秒x全加算を行なうことができ
る。これはパイプライン化の厳密な制御によって正確に
特徴づけられ得る、立上がり時間,ゲート遅延その他に
よって決定される科学技術固有コンポーネントである。
他方、タスクは毎秒yの全加算を要求する。この数字は
用途によって、大きさのオーダに従って変化し得る。y
は機能,スループットおよび正確さに依存する。これは
“用途−固有”コンポーネントである。
上合成が与えられてもよいが、一方シリコン資源は各用
途の要件に十分近くてもよい。大雑把に言って、単位シ
リコン領域(粒子)はx Hzの一定のクロック速度を
与えられたとすると、毎秒x全加算を行なうことができ
る。これはパイプライン化の厳密な制御によって正確に
特徴づけられ得る、立上がり時間,ゲート遅延その他に
よって決定される科学技術固有コンポーネントである。
他方、タスクは毎秒yの全加算を要求する。この数字は
用途によって、大きさのオーダに従って変化し得る。y
は機能,スループットおよび正確さに依存する。これは
“用途−固有”コンポーネントである。
2つの量子化が調和されてもよい。タスク要求はy/x
シリコンユニットにおいて満たされ得る。これはプロセ
サセルの内および外における通信コストを無視しており
かつ連続線形解空間を仮定している。重要な点は、粒子
のサイズが小さくなればなるほど分解能にとって利用可
能な空間はより連続するということである。これは2つ
の点において重要な派生物を有する。すなわちシリコン
の有効な割当ておよび使用と、構造上の合成の簡単さで
ある。
シリコンユニットにおいて満たされ得る。これはプロセ
サセルの内および外における通信コストを無視しており
かつ連続線形解空間を仮定している。重要な点は、粒子
のサイズが小さくなればなるほど分解能にとって利用可
能な空間はより連続するということである。これは2つ
の点において重要な派生物を有する。すなわちシリコン
の有効な割当ておよび使用と、構造上の合成の簡単さで
ある。
全加算器の観点から行なわれるアクタの例を、第5ない
し8図を参照して述べる。
し8図を参照して述べる。
9.構造テンプレート コンパイラは構造テンプレートの助けを借りてどのよう
な選択されたプロセサも実現し、その好ましい形は第3
図に示される。合成マシン30(その機能如何にかかわら
ず)はハードワイアードパイプラインプロセサアレイ31
および通信のためのレジスタの組32および33からなる。
プロセサアレイはアイコンネットワークの実現化であ
る。テンプレートに従うと、入力データは順次ビット並
列バス34上に到着し入力レジスタ32をロードする。この
プロセスが終了すると、後ほど述べるワード構造に従っ
て、プロセサアレイ31を介して、データブロックは直列
領域内に転送されパイプラインの様態で伝送される。入
力レジスタは直ちに次の計算のためにオペランドで再び
満たされ始める。その結果は出力レジスタ33に入れられ
並列領域内に戻されそして出力バス35上の出力レジスタ
から出力される。この構成は必要なクロックおよび制御
回路36とクロック入力37を含む。
な選択されたプロセサも実現し、その好ましい形は第3
図に示される。合成マシン30(その機能如何にかかわら
ず)はハードワイアードパイプラインプロセサアレイ31
および通信のためのレジスタの組32および33からなる。
プロセサアレイはアイコンネットワークの実現化であ
る。テンプレートに従うと、入力データは順次ビット並
列バス34上に到着し入力レジスタ32をロードする。この
プロセスが終了すると、後ほど述べるワード構造に従っ
て、プロセサアレイ31を介して、データブロックは直列
領域内に転送されパイプラインの様態で伝送される。入
力レジスタは直ちに次の計算のためにオペランドで再び
満たされ始める。その結果は出力レジスタ33に入れられ
並列領域内に戻されそして出力バス35上の出力レジスタ
から出力される。この構成は必要なクロックおよび制御
回路36とクロック入力37を含む。
領域間の転送は“コーナターン”と名付けられてもよ
い。これはデンヤーその他(Denyer et al)による『V
LSI信号処理−ビット直列アプローチ,アジソン−ウ
ェズレイ』(VLSI Signal Processing−A Bit-Serial A
pproach,Addison-Wesley)(1985)において用いられ
ているのと同じ意味において用いられる。後に挙げる例
のように、乗算器がプログラム化可能な通常の場合にお
いて係数は専用バスに順次到着する。S.G.スミス&
P.B.デンヤー(S.G.Smith & P.B.Denyer)による
『直列データ処理』(“Serial-Data Computation),
クルーワアカデミック出版(Kluwer Academic Publishe
rs)(1988)において説明されるように、乗算器は直列
/並列技術を用い係数が一旦ロードされると係数を前方
に伝送する必要はない。
い。これはデンヤーその他(Denyer et al)による『V
LSI信号処理−ビット直列アプローチ,アジソン−ウ
ェズレイ』(VLSI Signal Processing−A Bit-Serial A
pproach,Addison-Wesley)(1985)において用いられ
ているのと同じ意味において用いられる。後に挙げる例
のように、乗算器がプログラム化可能な通常の場合にお
いて係数は専用バスに順次到着する。S.G.スミス&
P.B.デンヤー(S.G.Smith & P.B.Denyer)による
『直列データ処理』(“Serial-Data Computation),
クルーワアカデミック出版(Kluwer Academic Publishe
rs)(1988)において説明されるように、乗算器は直列
/並列技術を用い係数が一旦ロードされると係数を前方
に伝送する必要はない。
このような構造テンプレートに従って製造されたセル30
の内および外のトラヒックはしばしば激しすぎて個別入
力および出力バスまたはマルチ入力および出力バスさせ
保証するのに十分でない。内部インタフェースはプロセ
サアレイほど臨界的にはタイミングをとらないので、ビ
ット並列オペレーションの幾つかが行なわれてもよい。
これらはブロック浮動小数点式のための正規化,飽和加
算などを含んでもよい。擬似ランダムシーケンスの入力
発生器および出力圧縮器もまたそれ自身のテストのため
に含まれてもよい。これらは本出願にとっては重要では
ない。
の内および外のトラヒックはしばしば激しすぎて個別入
力および出力バスまたはマルチ入力および出力バスさせ
保証するのに十分でない。内部インタフェースはプロセ
サアレイほど臨界的にはタイミングをとらないので、ビ
ット並列オペレーションの幾つかが行なわれてもよい。
これらはブロック浮動小数点式のための正規化,飽和加
算などを含んでもよい。擬似ランダムシーケンスの入力
発生器および出力圧縮器もまたそれ自身のテストのため
に含まれてもよい。これらは本出願にとっては重要では
ない。
10.ワード属性 はじめに、繰返し行なわれる計算上のステップまたは
“タスク”を識別し分離することによって、ワード並列
度についての大雑把な決定ができる。小さなタスクに分
割することによって、大きなタスクに分割するよりも高
いタスク速度を得ることができる。プロセサはタスク毎
により少ないオペレーションを行なうが、必要とされる
処理速度を保つために単位時間についてより多くのタス
クを行なうことが必要である。このように、ワード並列
度は、アルゴリズムがどのようにうまく構造化されるか
に従ってビット並列度と妥協点を見つけることができ
る。
“タスク”を識別し分離することによって、ワード並列
度についての大雑把な決定ができる。小さなタスクに分
割することによって、大きなタスクに分割するよりも高
いタスク速度を得ることができる。プロセサはタスク毎
により少ないオペレーションを行なうが、必要とされる
処理速度を保つために単位時間についてより多くのタス
クを行なうことが必要である。このように、ワード並列
度は、アルゴリズムがどのようにうまく構造化されるか
に従ってビット並列度と妥協点を見つけることができ
る。
一旦タスクが識別されると、タスク速度は絶対的なもの
である。代わって、これはタスクのためにローカルクロ
ックサイクルの観点から集合を与える。これは内部ワー
キングワードの大きさを決定しndビットのワードをd
クロックサイクル内で(nは精度を表わしdはディジッ
トの数を示す)処理する問題につながる;このため所与
の速度でタスクを行なうために必要な(ローカル)パイ
プライン化に適合したワード構造を必要とする。
である。代わって、これはタスクのためにローカルクロ
ックサイクルの観点から集合を与える。これは内部ワー
キングワードの大きさを決定しndビットのワードをd
クロックサイクル内で(nは精度を表わしdはディジッ
トの数を示す)処理する問題につながる;このため所与
の速度でタスクを行なうために必要な(ローカル)パイ
プライン化に適合したワード構造を必要とする。
この技術は機能,スループットおよびプロセサの精度を
別々に特定化する自由を与えるワード構造を提供する。
別々に特定化する自由を与えるワード構造を提供する。
11.ワード構造 デジタル信号プロセサの物理的領域におけるデジタル信
号のサンプルはワイヤ上のデジタルビットの空間−時間
分布である。デジタル信号のサンプルはここではワード
として扱われる。“ディジット”はパイプ内で同時に伝
送される“ビット”の塊である。ディジットに対するパ
イプの関係はビットに対するワイヤの関係と類似である
ことが理解されるであろう。この発明の一局面に従う
と、ワードはここではビット,ディジットおよびサブワ
ードと呼ばれる3つの属性に分解される。
号のサンプルはワイヤ上のデジタルビットの空間−時間
分布である。デジタル信号のサンプルはここではワード
として扱われる。“ディジット”はパイプ内で同時に伝
送される“ビット”の塊である。ディジットに対するパ
イプの関係はビットに対するワイヤの関係と類似である
ことが理解されるであろう。この発明の一局面に従う
と、ワードはここではビット,ディジットおよびサブワ
ードと呼ばれる3つの属性に分解される。
“ビット”という用語はビット対ディジットの比を表わ
すのに用いられる。“ディジット”という用語は実際に
はディジット対サブワードの比である。“サブワード”
はサブワードとワードの比を示すのに用いられる。3つ
の属性の積はビットにおけるワードの長さである。
すのに用いられる。“ディジット”という用語は実際に
はディジット対サブワードの比である。“サブワード”
はサブワードとワードの比を示すのに用いられる。3つ
の属性の積はビットにおけるワードの長さである。
ここにおいて用いられるように、ビットおよびサブワー
ドは空間的意味性を有し、ディジットは一時的な意味し
か持たない。たとえば、30ビットワードは3つのサブワ
ードからなり、各々2ビットからなる5ディジットを含
む。“ビット”は同時に伝送されるが空間的には離れて
いる。ディジットは直列的に伝送されるが空間的には離
れておりサブワードは多数のパイプライン上をずれた態
様で伝送され空間的にも時間的にも離れている。
ドは空間的意味性を有し、ディジットは一時的な意味し
か持たない。たとえば、30ビットワードは3つのサブワ
ードからなり、各々2ビットからなる5ディジットを含
む。“ビット”は同時に伝送されるが空間的には離れて
いる。ディジットは直列的に伝送されるが空間的には離
れておりサブワードは多数のパイプライン上をずれた態
様で伝送され空間的にも時間的にも離れている。
第4図はビット,ディジットおよびサブワード間の空間
および時間における関係を示している。ビットは正方形
20のような小さな正方形として表わされている。ディジ
ット21のような各ディジットは下位ビット20aおよび上
位ビット20bの2つのビットからなる。サブワード22
a,22bおよび22cのような各サブワードは示されるよ
うに、選択された複数のディジットからなる。第4図の
サブワードは各々、それぞれが2ビットからなる5ディ
ジットを含む。各サブワードにおいては、最下位ディジ
ットは初めに伝送される。サブワードは空間的に離れ、
異なるパイプ上を時間的にずれて下位ビットから伝送さ
れる。
および時間における関係を示している。ビットは正方形
20のような小さな正方形として表わされている。ディジ
ット21のような各ディジットは下位ビット20aおよび上
位ビット20bの2つのビットからなる。サブワード22
a,22bおよび22cのような各サブワードは示されるよ
うに、選択された複数のディジットからなる。第4図の
サブワードは各々、それぞれが2ビットからなる5ディ
ジットを含む。各サブワードにおいては、最下位ディジ
ットは初めに伝送される。サブワードは空間的に離れ、
異なるパイプ上を時間的にずれて下位ビットから伝送さ
れる。
“ビット”および“ディジット”というパラメタは全体
的なものであり、“サブワード”はローカルなパラメタ
である。したがって、数字上の上方空間は必要なところ
に設けられてよい。“ビット”の数は、合計およびキャ
リ−リップル経路の長さがこの属性に比例するものなの
で、どのような実現化おいても最大クロック速度に影響
を与える。ビットおよびタスク速度は一緒にディジット
の最大サイズを決定し、どのような所与の用途に対して
も、タスク毎に幾つかのクロックサイクルがある。
的なものであり、“サブワード”はローカルなパラメタ
である。したがって、数字上の上方空間は必要なところ
に設けられてよい。“ビット”の数は、合計およびキャ
リ−リップル経路の長さがこの属性に比例するものなの
で、どのような実現化おいても最大クロック速度に影響
を与える。ビットおよびタスク速度は一緒にディジット
の最大サイズを決定し、どのような所与の用途に対して
も、タスク毎に幾つかのクロックサイクルがある。
空間−時間分解同様、アイコンネットワークにおけるど
のようなブランチの情報内容も操作することが望まし
い。信号内のすべてのビットが情報を含んでいるわけで
はない。たとえば、上方空間は必要な長さよりも長い長
さを有するワードを特定化することによって設けられて
もよい。別のオペレーションにおいて、1ビット成長は
一般に可能である。ローカルな属性“ゼロ”および“ポ
イント”(ワードにおける後部のゼロの数および2進桁
位置を各々参照)はアイコン出力において信号フォーマ
ットの正確な特定化を許す。
のようなブランチの情報内容も操作することが望まし
い。信号内のすべてのビットが情報を含んでいるわけで
はない。たとえば、上方空間は必要な長さよりも長い長
さを有するワードを特定化することによって設けられて
もよい。別のオペレーションにおいて、1ビット成長は
一般に可能である。ローカルな属性“ゼロ”および“ポ
イント”(ワードにおける後部のゼロの数および2進桁
位置を各々参照)はアイコン出力において信号フォーマ
ットの正確な特定化を許す。
第4図の黒いビットのすべては、後部のゼロが8個あり
“ポイント”が24に設定されている条件を示している。
これは、16ビットの情報が、8つの後部ゼロロを有する
30ビットワードに含まれることを意味する。これらのゼ
ロは第4図において点線で示されている。ワードは前に
述べた構造属性に従って伝送される。各アイコンは単純
な方法でフォーマット属性を変換しデフォルトシステム
はこれらの変換を用いて属性をアイコンネットワークを
介して伝搬する。情報内容は2進桁位置を越して成長
し、このような成長は統計的に予想可能かもしれないが
オーバフローを避けるために十分な上方空間を設けてお
くことは究極的には設計者の責任である。
“ポイント”が24に設定されている条件を示している。
これは、16ビットの情報が、8つの後部ゼロロを有する
30ビットワードに含まれることを意味する。これらのゼ
ロは第4図において点線で示されている。ワードは前に
述べた構造属性に従って伝送される。各アイコンは単純
な方法でフォーマット属性を変換しデフォルトシステム
はこれらの変換を用いて属性をアイコンネットワークを
介して伝搬する。情報内容は2進桁位置を越して成長
し、このような成長は統計的に予想可能かもしれないが
オーバフローを避けるために十分な上方空間を設けてお
くことは究極的には設計者の責任である。
最終フォーマット属性は待ち時間である。これはクロッ
クサイクル内で測定された入力から出力までの経路の長
さを意味する。たとえば、その基本的な形における加算
は1クロックサイクル分待ち時間を増加させる。
クサイクル内で測定された入力から出力までの経路の長
さを意味する。たとえば、その基本的な形における加算
は1クロックサイクル分待ち時間を増加させる。
アイコンは基本的な属性を持ってもよい。これによって
算術機能を効果的にパラメタ化する。たとえば、乗算器
は係数の分解能を表わす属性を有する:これはここでは
“coefres”と呼ばれる。もし係数が一定の関数である
ならそれは“coefval”という値を有する。これは実数
または整数のいずれかで表わされてもよく、さらに別の
“coeftype”で表わされてもよい。
算術機能を効果的にパラメタ化する。たとえば、乗算器
は係数の分解能を表わす属性を有する:これはここでは
“coefres”と呼ばれる。もし係数が一定の関数である
ならそれは“coefval”という値を有する。これは実数
または整数のいずれかで表わされてもよく、さらに別の
“coeftype”で表わされてもよい。
評価属性は、ユーザがそれらを直接操作できないので純
粋に情報を示すものである。それらは作用の結果の後を
辿り要望があればコンパイラによって報告される。幾つ
かの評価属性は或る統計的な仮定に基づく雑音侵入の評
価である“ノイズフロア”と、これもまた統計上の仮定
に基づくオーバフローの可能性の評価である“オーバフ
ロー”である。
粋に情報を示すものである。それらは作用の結果の後を
辿り要望があればコンパイラによって報告される。幾つ
かの評価属性は或る統計的な仮定に基づく雑音侵入の評
価である“ノイズフロア”と、これもまた統計上の仮定
に基づくオーバフローの可能性の評価である“オーバフ
ロー”である。
述べたこと以外に、上記属性はローカルなものである、
すなわちアイコンネットワーク内でノードによって変化
する。全体的な属性はアイコンネットワークを通して一
貫している。述べたように、“ビット”および“ディジ
ット”は、ディジット伝送が一定のスループットである
ので、全体的な属性である。他の全体的な属性は前に規
定したように、“タスク速度”を含みかつ、プロセサが
多重化されるかまたは時分割される方法の数である“マ
ックスレベル(muxlevel)”を含む。
すなわちアイコンネットワーク内でノードによって変化
する。全体的な属性はアイコンネットワークを通して一
貫している。述べたように、“ビット”および“ディジ
ット”は、ディジット伝送が一定のスループットである
ので、全体的な属性である。他の全体的な属性は前に規
定したように、“タスク速度”を含みかつ、プロセサが
多重化されるかまたは時分割される方法の数である“マ
ックスレベル(muxlevel)”を含む。
作用はワード属性に与えるアイコンの影響である。それ
らは基本的な変換として表わされてもよい。各アイコン
はそれ自身の基本的な特性によって予め規定された各属
性にデフォルトな作用を及ぼす。ユーザはこれらの属性
を変更しアイコンネットワーク内で新しい属性を前に伝
搬することができる。
らは基本的な変換として表わされてもよい。各アイコン
はそれ自身の基本的な特性によって予め規定された各属
性にデフォルトな作用を及ぼす。ユーザはこれらの属性
を変更しアイコンネットワーク内で新しい属性を前に伝
搬することができる。
基本的な属性と共に、作用は計算性能を制御するための
メカニズムを与える。ユーザはいかなるアイコンに対す
る作用も変更して幾つかの望ましい数値上の効果を得て
もよい。たとえば、“ポイント”に及ぼす乗算器のデフ
ォルトな作用はそれを、係数ワードサイズマイナス1ビ
ットだけ増やすことである。“ポイント”を減少させる
ことによって、ユーザは可視なより少ない積ビットを作
り出しローカルダイナミックレンジを減少させることが
でき、それによって、用いられるシリコンの領域と節減
する。追加の作用もまた一致性を保つためにコンパイラ
によって含まれてもよい。
メカニズムを与える。ユーザはいかなるアイコンに対す
る作用も変更して幾つかの望ましい数値上の効果を得て
もよい。たとえば、“ポイント”に及ぼす乗算器のデフ
ォルトな作用はそれを、係数ワードサイズマイナス1ビ
ットだけ増やすことである。“ポイント”を減少させる
ことによって、ユーザは可視なより少ない積ビットを作
り出しローカルダイナミックレンジを減少させることが
でき、それによって、用いられるシリコンの領域と節減
する。追加の作用もまた一致性を保つためにコンパイラ
によって含まれてもよい。
各プリミティブアイコンに関連しているのは“アクタ”
と名付けられた機能上のその対応物である。アクタはプ
リミティブ属性および関連属性によって十分に規定され
ている。
と名付けられた機能上のその対応物である。アクタはプ
リミティブ属性および関連属性によって十分に規定され
ている。
アクタはローカルおよび全体属性に従って特定化されて
もよい。アイコンとアクタネットリストとのマッピング
は取るに足らないものであるが、通常ユーザと関わる必
要がない。アクタは各アイコンおよびその基本的な属性
によって特定化された算術上の機能を行なう。それはデ
フォルト作用からのどのような変化を与えるのにも必要
なシフタおよび遅延回路を含む。クロック,制御系およ
びバッファは含まれる必要がない。この段階の結果は標
準セル(コンパイラのライブラリから得られた)およ
び、その配量およびルーチングのための指示のネットリ
ストである。
もよい。アイコンとアクタネットリストとのマッピング
は取るに足らないものであるが、通常ユーザと関わる必
要がない。アクタは各アイコンおよびその基本的な属性
によって特定化された算術上の機能を行なう。それはデ
フォルト作用からのどのような変化を与えるのにも必要
なシフタおよび遅延回路を含む。クロック,制御系およ
びバッファは含まれる必要がない。この段階の結果は標
準セル(コンパイラのライブラリから得られた)およ
び、その配量およびルーチングのための指示のネットリ
ストである。
12.ワード成長の評価 これまで述べたように、ワード成長による数値オーバフ
ローの可能性は常に、特に固定小数点システムを用いた
ときに、デジタル信号処理における問題である。
ローの可能性は常に、特に固定小数点システムを用いた
ときに、デジタル信号処理における問題である。
発明のこの局面においては、成長はユーザが規定した成
長ファクタとアイコンネットワーク全体を伝搬する2を
底とするRMAXの対数との積として保持されてもよ
い。
長ファクタとアイコンネットワーク全体を伝搬する2を
底とするRMAXの対数との積として保持されてもよ
い。
信号サンプルコヒーレンスは用途に固有なものになる傾
向があり、ユーザのみがどうなるかを知っているので、
ワード成長ファクタの特定化が必要である。成長ファク
タは0から100の間のパーセントの値としてユーザに
よって入力されてもよい。成長ファクタは(100+成長
係数)/200と同じである係数gによって内部的に表わ
されてもよい。成長ファクタ100はコヒーレントな成長
を表わし0はコヒーレントでないまたはランダムな成長
を表わす。
向があり、ユーザのみがどうなるかを知っているので、
ワード成長ファクタの特定化が必要である。成長ファク
タは0から100の間のパーセントの値としてユーザに
よって入力されてもよい。成長ファクタは(100+成長
係数)/200と同じである係数gによって内部的に表わ
されてもよい。成長ファクタ100はコヒーレントな成長
を表わし0はコヒーレントでないまたはランダムな成長
を表わす。
量RMAXはプロセサの各入力において1.0と設定さ
れてもよい。以下のルールに従って操作されるのが好ま
しい。
れてもよい。以下のルールに従って操作されるのが好ま
しい。
(1) 加算器または減算器の各入力におけるRMAX
は出力成長ファクタを得るために加算される。
は出力成長ファクタを得るために加算される。
(2) プログラム化可能な乗算器は成長ファクタを変
わらない状態で通過させる。これは事実上最悪の場合で
ある、なぜならば我々はプログラムされた係数値が最大
であると仮定するからである。
わらない状態で通過させる。これは事実上最悪の場合で
ある、なぜならば我々はプログラムされた係数値が最大
であると仮定するからである。
(3) 固定乗算器はRMAXに、その係数値の1/G
乗を掛ける。このべき乗方式は事実上正規化ステップで
ある。スカラは同じ方法で取扱われてもよい。
乗を掛ける。このべき乗方式は事実上正規化ステップで
ある。スカラは同じ方法で取扱われてもよい。
これらのルールから、すべての成長ファクタ操作は演繹
されてもよい。アイコンネットワーク内のどの点におい
ても、2進桁位置より上のワード成長を表示することが
できる。その結果、ユーザはシミュレーションに頼るこ
となく設計プロセスの間、ワード成長の効果をモニタす
ることができる。
されてもよい。アイコンネットワーク内のどの点におい
ても、2進桁位置より上のワード成長を表示することが
できる。その結果、ユーザはシミュレーションに頼るこ
となく設計プロセスの間、ワード成長の効果をモニタす
ることができる。
13.量子化雑音フロアの評価 ノイズフロア量子化の評価の目的は、シミュレーション
の必要なしに、回路内のあらゆる点における量子化雑音
の侵入についての情報を設計者に与えることである。
の必要なしに、回路内のあらゆる点における量子化雑音
の侵入についての情報を設計者に与えることである。
ノイズフロアは“ローカル”属性として保持されてもよ
い。信号は量子化雑音によって増分された完全な実数と
してモデル化されてもよい。量子化雑音は数の最小ビッ
ト表示の振幅内で均一に分布されると仮定してもよい。
様々な任意の数は付加的なものであるという事実を用い
て各ネットワークノードにおける雑音表示の二乗を累算
してもよい。Nビット入力データと、係数が2(-2N)/
3として計算される量子化雑音を含むと仮定してもよ
い。これは均一な分布の統計から直接得られる結果であ
る。以下のルールに従って、入力データの最下位ビット
のすぐ下に2進小数点を設定しローカル属性を伝搬して
もよい。
い。信号は量子化雑音によって増分された完全な実数と
してモデル化されてもよい。量子化雑音は数の最小ビッ
ト表示の振幅内で均一に分布されると仮定してもよい。
様々な任意の数は付加的なものであるという事実を用い
て各ネットワークノードにおける雑音表示の二乗を累算
してもよい。Nビット入力データと、係数が2(-2N)/
3として計算される量子化雑音を含むと仮定してもよ
い。これは均一な分布の統計から直接得られる結果であ
る。以下のルールに従って、入力データの最下位ビット
のすぐ下に2進小数点を設定しローカル属性を伝搬して
もよい。
(i) 加算器または減算器においてノイズフロアが加
算される。
算される。
(ii) プログラム化可能乗算器において、係数ノイズ
フロアは入力ノイズフロアに加算される。
フロアは入力ノイズフロアに加算される。
(iii) 固定乗算器において、生み出された係数と特
定化された係数との間のエラーが二乗され入力ノイズフ
ロアに加算される。
定化された係数との間のエラーが二乗され入力ノイズフ
ロアに加算される。
(iv) ダウンシフタにおいて、余分のノイズフロアコ
ンポーネントが、参考として2進桁位置の新しい位置を
用いて計算される。
ンポーネントが、参考として2進桁位置の新しい位置を
用いて計算される。
ノイズフロアは基準信号からデジベルの形で表示され、
それはユーザの成長ガイドラインに従って成長した正弦
曲線である。このように、ユーザはシミュレーションに
頼ることなく量子化雑音プロセスの侵入を知ることがで
きる。
それはユーザの成長ガイドラインに従って成長した正弦
曲線である。このように、ユーザはシミュレーションに
頼ることなく量子化雑音プロセスの侵入を知ることがで
きる。
14.属性一致 属性の一致は2つの局面を有する。第1は個々の信号の
一致性である。2番目は複数の信号の一致性である。複
数の信号の一致性は個々の信号の一致性を保たなければ
ならないが、この2つの場合は別々に議論されてもよ
い。以下の説明を理解するために、以下に述べる用語が
理解されなければならない。
一致性である。2番目は複数の信号の一致性である。複
数の信号の一致性は個々の信号の一致性を保たなければ
ならないが、この2つの場合は別々に議論されてもよ
い。以下の説明を理解するために、以下に述べる用語が
理解されなければならない。
(i) ワードはビットの数として表わされる。ワード
について述べるとき、ワードは任意の数の時間−空間表
示に分割することができるので、その時間−空間表示の
観点から考えることは必要ではない。ワードは時間−空
間分布に依存しないデータを保持することができる。
について述べるとき、ワードは任意の数の時間−空間表
示に分割することができるので、その時間−空間表示の
観点から考えることは必要ではない。ワードは時間−空
間分布に依存しないデータを保持することができる。
(ii) 最下位ビットは、システムを通過したデータに
ついて、システムが最下位ビットを初めに動作させると
いう意味で用いられる。したがって、制御信号によって
示される、最下位ビットの到達は新しいワードが到達し
たことを示すものである。
ついて、システムが最下位ビットを初めに動作させると
いう意味で用いられる。したがって、制御信号によって
示される、最下位ビットの到達は新しいワードが到達し
たことを示すものである。
(iii) 合成オプションはシステムによって支持され
るオプションでありユーザがローカル属性を制御するこ
とを許容する。
るオプションでありユーザがローカル属性を制御するこ
とを許容する。
(iv) プリミティブは、ネットワークを構築するため
にシステムが与える基本ビルディングブロックの組の1
メンバーである。その例は乗算器と加算器である。プリ
ミティブはユーザが選択する合成オプションに基づく一
致性整列の一致性チェックを受ける。
にシステムが与える基本ビルディングブロックの組の1
メンバーである。その例は乗算器と加算器である。プリ
ミティブはユーザが選択する合成オプションに基づく一
致性整列の一致性チェックを受ける。
各信号はローカルには変えることができない以下の全体
特性によって影響を受ける。それらは“ビット”,“デ
ィジット”,パイプにおけるビット数およびワーキング
精度である。はじめに2つは前に述べたように規定され
ている。パイプ内のビット数はディジット数によって操
作されるビットの数と同じである。ワーキング精度は、
必要とされる精度を与えるためにプロセサ内でユーザが
適切と思うビットの数である。
特性によって影響を受ける。それらは“ビット”,“デ
ィジット”,パイプにおけるビット数およびワーキング
精度である。はじめに2つは前に述べたように規定され
ている。パイプ内のビット数はディジット数によって操
作されるビットの数と同じである。ワーキング精度は、
必要とされる精度を与えるためにプロセサ内でユーザが
適切と思うビットの数である。
各信号はそれに関連して以下のローカル属性を有する。
(a) “ポイント”:これはワードの下部から測った
ビットにおける2進桁位置を指す。
ビットにおける2進桁位置を指す。
(b) “成長”:これは容易に成長に変換され得るR
MAXとして内部で記憶され、前の項目で示したよう
に、多数のビットとして測られた現在の信号までふえ
た、システムを通しての現在のワード成長を表わす。
MAXとして内部で記憶され、前の項目で示したよう
に、多数のビットとして測られた現在の信号までふえ
た、システムを通しての現在のワード成長を表わす。
(c) “待ち時間”は入力コーナターニングレジスタ
の出力から測定された内部クロックサイクルの数を指
し、それはシステムにおいてその点を得るために最下位
ビットをとる。
の出力から測定された内部クロックサイクルの数を指
し、それはシステムにおいてその点を得るために最下位
ビットをとる。
15.個別の信号の一致性 もしユーザが信号または、そこでは信号がコーナターニ
ングレジスタから挿入される入力を変更するなら、個別
の信号のための一致性を保持するために以下のステップ
が行なわれる。
ングレジスタから挿入される入力を変更するなら、個別
の信号のための一致性を保持するために以下のステップ
が行なわれる。
(1) ワードを表わすために用いられ得るビットの最
大数が計算される。様々な合成オプションによって、利
用可能な実際のビット数が制御される。デフォルトシス
テムについて動作するなら、利用可能なビット数はワー
キング精度である。もし合成オプション“ワード最上部
への成長”が用いられるなら、ワーキング精度が多数の
“パイプ内のビット数”の倍数でない場合には、パイプ
内の余分のビットがプロセサにとって利用可能になるで
あろう。デフォルトシステムにおいて、用いられない余
分のビットは不必要なハードウェアの省略を可能にす
る。もし合成オプション“サブワードの加算”が用いら
れるなら、システムは必要とされるどんな精度において
もユーザがローカルに動作することを許す。この場合構
造を実現化するのに必要な基板領域が増大するという不
利な点があるが利用可能なビット数に制限はない。
大数が計算される。様々な合成オプションによって、利
用可能な実際のビット数が制御される。デフォルトシス
テムについて動作するなら、利用可能なビット数はワー
キング精度である。もし合成オプション“ワード最上部
への成長”が用いられるなら、ワーキング精度が多数の
“パイプ内のビット数”の倍数でない場合には、パイプ
内の余分のビットがプロセサにとって利用可能になるで
あろう。デフォルトシステムにおいて、用いられない余
分のビットは不必要なハードウェアの省略を可能にす
る。もし合成オプション“サブワードの加算”が用いら
れるなら、システムは必要とされるどんな精度において
もユーザがローカルに動作することを許す。この場合構
造を実現化するのに必要な基板領域が増大するという不
利な点があるが利用可能なビット数に制限はない。
(2) ポイントおよび成長の現在値に十分な空間があ
るかどうかがチェックされる。上に述べたように、ワー
ドを表わすために用いられ得るビット数に制限がありか
つポイントと成長の加算がその数を上回るなら、“ポイ
ント”属性をシフトダウンする必要がある。これは、利
用可能なビット数内でそのポイントより上の“成長”ビ
ット数を記憶することができるよう、ワードの下部から
ビットが失われなければならないことを意味している。
るかどうかがチェックされる。上に述べたように、ワー
ドを表わすために用いられ得るビット数に制限がありか
つポイントと成長の加算がその数を上回るなら、“ポイ
ント”属性をシフトダウンする必要がある。これは、利
用可能なビット数内でそのポイントより上の“成長”ビ
ット数を記憶することができるよう、ワードの下部から
ビットが失われなければならないことを意味している。
(3) 必要とされるサブワードの数が計算されなけれ
ばならない。これは“ポイント”および“成長”によっ
てビットとして表わされたような、現在のワードを保持
するのに必要とされるであろうパイプの数である。
ばならない。これは“ポイント”および“成長”によっ
てビットとして表わされたような、現在のワードを保持
するのに必要とされるであろうパイプの数である。
(4) もし必要ならば、待ち時間が修正されてもよ
い。もし現在のワードを調節するために、属性“ポイン
ト”をシフトダウンする必要があるなら、シフトダウン
は最終回路における実際のハードウェアを表わすので、
信号の待ち時間を長くする必要がある。待ち時間はディ
ジット内のビット数によって分けられたシフトダウンさ
れたビットの数だけ長くなる。
い。もし現在のワードを調節するために、属性“ポイン
ト”をシフトダウンする必要があるなら、シフトダウン
は最終回路における実際のハードウェアを表わすので、
信号の待ち時間を長くする必要がある。待ち時間はディ
ジット内のビット数によって分けられたシフトダウンさ
れたビットの数だけ長くなる。
16.多数の信号の一致性 ネットワーク内の様々な段階において、システムは常に
正しい回路を生み出すために信号のグループに一致性の
ルールを適応するであろう。多数の信号の一致性または
整列の基本的な目的は入来信号に“ポイント”属性を整
列させることである。これは2進桁位置を整列させるた
めにデータをシフトするために、それにオペレーション
を与える前に、成長および予想される成長のための空間
を保持しかつ(サブワードおよび待ち時間)訂正のよう
な他の従属属性を保ちながら、余分のハードウェアを追
加することを意味する。
正しい回路を生み出すために信号のグループに一致性の
ルールを適応するであろう。多数の信号の一致性または
整列の基本的な目的は入来信号に“ポイント”属性を整
列させることである。これは2進桁位置を整列させるた
めにデータをシフトするために、それにオペレーション
を与える前に、成長および予想される成長のための空間
を保持しかつ(サブワードおよび待ち時間)訂正のよう
な他の従属属性を保ちながら、余分のハードウェアを追
加することを意味する。
以下の段階は一致性を保つために必要である。
(1) 整列すべき“ポイント”値を見つけなければな
らない。この合成成の段階に影響を及ぼす様々な合成オ
プションがある。最大ポイント値に整列してもよいし最
小ポイント値に整列してもよい。そこにおいてユーザが
システムに入り込み、信号上の“ポイント”値をローカ
ルに設定したポイント変更に整列することを選択でき
る。ポイント変更を無視する選択が可能である。多数の
変更を有するならば、全信号に整列することを選ぶかま
たはポイント変更を持つ信号のみに整列することが可能
である。
らない。この合成成の段階に影響を及ぼす様々な合成オ
プションがある。最大ポイント値に整列してもよいし最
小ポイント値に整列してもよい。そこにおいてユーザが
システムに入り込み、信号上の“ポイント”値をローカ
ルに設定したポイント変更に整列することを選択でき
る。ポイント変更を無視する選択が可能である。多数の
変更を有するならば、全信号に整列することを選ぶかま
たはポイント変更を持つ信号のみに整列することが可能
である。
ここに幾つかの全体的オプションが示される。
(a) オプション:最上位への整列,ポイント変更に
整列しない。
整列しない。
信号A−ポイント=6−ポイント変更なし 信号B−ポイント=8−ポイント変更 信号C−ポイント=9−ポイント変更なし 整列ポイント=9 (b) オプション:最下位への整列,ポイント変更に
整列しない。
整列しない。
信号A−ポイント=6−ポイント変更なし 信号B−ポイント=8−ポイント変更 信号C−ポイント=9−ポイント変更なし 整列ポイント=6 (c) オプション:最上位への整列,ポイント変更に
整列。
整列。
信号A−ポイント=6−ポイント変更なし 信号B−ポイント=8−ポイント変更 信号C−ポイント=9−ポイント変更なし 整列ポイント=8 (d) オプション:最上位への整列,ポイント変更に
整列,衝突がある場合、あらゆる点への整列。
整列,衝突がある場合、あらゆる点への整列。
信号A−ポイント=6−ポイント変更 信号B−ポイント=8−ポイント変更 信号C−ポイント=9−ポイント変更なし 整列ポイント=9 (e) オプション:最上位への整列,ポイント変更に
整列,衝突がある場合どの点にも整列しない。
整列,衝突がある場合どの点にも整列しない。
信号A−ポイント=6−ポイント変更 信号B−ポイント=8−ポイント変更 信号C−ポイント=9−ポイント変更なし 整列ポイント=8 (2) それから、整列させられた信号を調節するのに
必要な最大成長を見つけなければならない。これはいず
れかの入力上の最大成長か、状況によっては次のプリミ
ティブの出力における信号の最悪成長のいずれかであ
る。なぜならプリミティブを通した成長を計算すること
ができ、現在の成長のみならずプリミティブを通した成
長における増加分のための空間を残すことが必要である
からである。それから、ポイントプラス最大成長の整列
値が、利用可能な最大ビット数より少ないかまたは同じ
であるかをチェックする必要がある。もし十分な空間が
ない場合は、いずれかの信号の最悪成長が調節されるま
で整列ポイントをシフトダウンさせる必要があるであろ
う。
必要な最大成長を見つけなければならない。これはいず
れかの入力上の最大成長か、状況によっては次のプリミ
ティブの出力における信号の最悪成長のいずれかであ
る。なぜならプリミティブを通した成長を計算すること
ができ、現在の成長のみならずプリミティブを通した成
長における増加分のための空間を残すことが必要である
からである。それから、ポイントプラス最大成長の整列
値が、利用可能な最大ビット数より少ないかまたは同じ
であるかをチェックする必要がある。もし十分な空間が
ない場合は、いずれかの信号の最悪成長が調節されるま
で整列ポイントをシフトダウンさせる必要があるであろ
う。
(3) 各信号の待ち時間は上のセクションで述べたよ
うに修正されてもよい。ここで、ユーザが選んだオプシ
ョンによって、整列ポイントは、その影響が待ち時間の
増大または減少につながるようシフトを必要とすること
に注目する。
うに修正されてもよい。ここで、ユーザが選んだオプシ
ョンによって、整列ポイントは、その影響が待ち時間の
増大または減少につながるようシフトを必要とすること
に注目する。
(4) 最後に、必要なサブワードの数は、計算されて
もよいが、“ポイント”の値および最悪成長に基づいて
設定される。
もよいが、“ポイント”の値および最悪成長に基づいて
設定される。
17.アクタの例 前に述べたように、アクタは、それによって各々のアイ
コンが選択された計算上の粒子の観点およびワードにと
って必要なパイプライン化に従って発生する手段であ
る。
コンが選択された計算上の粒子の観点およびワードにと
って必要なパイプライン化に従って発生する手段であ
る。
手頃な例として、ビット直列プログラム化可能乗算器が
ある。“ビット直列”はビットの数が(前に述べたワー
ド構造に従って)1と同じであることを意味している。
ある。“ビット直列”はビットの数が(前に述べたワー
ド構造に従って)1と同じであることを意味している。
ビット直列プログラム化可能乗算器は、係数表示(coef
res)におけるビット数と、積における倍率でである
“指数”の2つの基本属性を有する。後者は乗算器の特
定化に対する新しい追加であり分数表示以外のものを許
容する。それは分数乗算器にスカラアクタを追加するこ
とに似ている。
res)におけるビット数と、積における倍率でである
“指数”の2つの基本属性を有する。後者は乗算器の特
定化に対する新しい追加であり分数表示以外のものを許
容する。それは分数乗算器にスカラアクタを追加するこ
とに似ている。
“coefres”のためのデフォルト設定はユーザの入力デ
ータの大きさでありかつ“指数”のためのデフォルト設
定は0である。
ータの大きさでありかつ“指数”のためのデフォルト設
定は0である。
18.属性に及ぼす乗算器の作用 成長に関して、乗算器は量RMAXに2の指数(e)乗
を掛ける。“ポイント”は(coefres-1)と同じである
量をsだけシフトアップされるであろう。ノイズフロア
は2(-2m)/3に対応する新しいコンポーネントを累算
し、そこではmはcoefresと同じである。整数の最終積
(full prod)は係数(整数の形で表わされる)によっ
て乗算されたデータと同じになるであろう。
を掛ける。“ポイント”は(coefres-1)と同じである
量をsだけシフトアップされるであろう。ノイズフロア
は2(-2m)/3に対応する新しいコンポーネントを累算
し、そこではmはcoefresと同じである。整数の最終積
(full prod)は係数(整数の形で表わされる)によっ
て乗算されたデータと同じになるであろう。
乗算器はまた整列作用をもってもよい。分数演算の場
合、“ポイント”はビットにおける量sだけシフトダウ
ンされる。ノイズフロアは2(-2b)/3に対応する新し
いコンポーネントを累算し、そこではpはシフトダウン
の後の“ポイント”の値である。正数の出力積は[最終
積+2(s+e-2)/2(2+e-1)]である。
合、“ポイント”はビットにおける量sだけシフトダウ
ンされる。ノイズフロアは2(-2b)/3に対応する新し
いコンポーネントを累算し、そこではpはシフトダウン
の後の“ポイント”の値である。正数の出力積は[最終
積+2(s+e-2)/2(2+e-1)]である。
出力の作用は“ポイント”,“ノイズフロア”および出
力積に与える変更の影響に関わる。“ポイント”変更は
範囲(上方空間)のいずれかの“ポイント”を“過去の
ポイント”+coefres−1までもっていくことができ
る。他の2つの属性であるノイズフロアと出力積は同じ
方法で計算されてもよいが、マシンは全体にわたるシフ
トの距離,すなわち整数と変更の合計を用いるであろ
う。もし全体にわたるシフトダウンがない場合は、積に
加える丸め用ビットもノイズフロアに加えられるシフト
ダウンコンポーネントもないであろう。
力積に与える変更の影響に関わる。“ポイント”変更は
範囲(上方空間)のいずれかの“ポイント”を“過去の
ポイント”+coefres−1までもっていくことができ
る。他の2つの属性であるノイズフロアと出力積は同じ
方法で計算されてもよいが、マシンは全体にわたるシフ
トの距離,すなわち整数と変更の合計を用いるであろ
う。もし全体にわたるシフトダウンがない場合は、積に
加える丸め用ビットもノイズフロアに加えられるシフト
ダウンコンポーネントもないであろう。
ビット直列乗算発生器は幾つかの処理パイプを形成す
る。この数はローカル属性“サブワード”に密接に関連
しその属性と同じであるかそれよりも大きい。その数は
大きくてもよい、なぜならば、或る場合には、ワード空
間のためのローカル要件は、外部に利用可能な上方空間
が残っていたとしてもローカルな上方空間を使い果たし
てしまうからである。余分のパイプは余分の作業空間を
与える。乗算器によって必要とされる第2の特徴は、他
のものとは異なるデータの最上位ビットを処理する能力
である。これはこのビットが負の重み付けを有し、最終
部分積は部分積の合計から減算されなくてはならないと
いうことによる。
る。この数はローカル属性“サブワード”に密接に関連
しその属性と同じであるかそれよりも大きい。その数は
大きくてもよい、なぜならば、或る場合には、ワード空
間のためのローカル要件は、外部に利用可能な上方空間
が残っていたとしてもローカルな上方空間を使い果たし
てしまうからである。余分のパイプは余分の作業空間を
与える。乗算器によって必要とされる第2の特徴は、他
のものとは異なるデータの最上位ビットを処理する能力
である。これはこのビットが負の重み付けを有し、最終
部分積は部分積の合計から減算されなくてはならないと
いうことによる。
ここで、様々な条件の下での乗算器の発生について述べ
ることが可能である。
ることが可能である。
属性“サブワード”が1と同じでありかつ“上方空間”
が係数分解能より少ないものより大きいかまたは同じで
あるときの簡単な例を挙げる。これはデータの最上位ビ
ットの処理のための余分のデータも特別なハードウェア
も含まないフラッシュ乗算器に対応する。第5図にそれ
が示される。
が係数分解能より少ないものより大きいかまたは同じで
あるときの簡単な例を挙げる。これはデータの最上位ビ
ットの処理のための余分のデータも特別なハードウェア
も含まないフラッシュ乗算器に対応する。第5図にそれ
が示される。
フラッシュ乗算器50はハードウェアの直線アレイ段から
なり、それらはほぼ同じである。段の数は係数分解能と
同じであり、この例では6(ビット)である。このアレ
イは“キャリーセイブ−アッド−シフトアレイ”と呼ば
れ段51a−51fはそれぞれ計算上の粒子子,すなわちラ
ッチされた全加算器からなる。係数ビットは各段に関連
し、係数ワードは各積の計算の初めにおいて、ライン52
aから52f上で利用可能になったビット並列レジスタに
ロードされる。データはビット直列の形で、ライン53上
で、最下位ビットから同報通信さる。最下位ビットの到
着はライン54上で信号で送られる。もしデータフローが
第5図に示すように左から右に起こるとみなされるな
ら、係数の最上位ビットは左(ライン52f)に記憶さ
れ、最下位ビットはアレイ(ライン52a)の右に記憶さ
れる。各段の中心にはキャリ−セイブ加算器があり、そ
れは新しいビット積,すなわち係数ビットを持つデータ
ビットの積を、部分積の合計,すなわち上流の隣接する
ものから現在までのシフトされた部分積の合計に加え
る。このように、各クロックサイクルごとに、アレイは
新しいデータビットによって発生した部分積およびスタ
ティックな係数ワードを部分積の合計に加算する。
なり、それらはほぼ同じである。段の数は係数分解能と
同じであり、この例では6(ビット)である。このアレ
イは“キャリーセイブ−アッド−シフトアレイ”と呼ば
れ段51a−51fはそれぞれ計算上の粒子子,すなわちラ
ッチされた全加算器からなる。係数ビットは各段に関連
し、係数ワードは各積の計算の初めにおいて、ライン52
aから52f上で利用可能になったビット並列レジスタに
ロードされる。データはビット直列の形で、ライン53上
で、最下位ビットから同報通信さる。最下位ビットの到
着はライン54上で信号で送られる。もしデータフローが
第5図に示すように左から右に起こるとみなされるな
ら、係数の最上位ビットは左(ライン52f)に記憶さ
れ、最下位ビットはアレイ(ライン52a)の右に記憶さ
れる。各段の中心にはキャリ−セイブ加算器があり、そ
れは新しいビット積,すなわち係数ビットを持つデータ
ビットの積を、部分積の合計,すなわち上流の隣接する
ものから現在までのシフトされた部分積の合計に加え
る。このように、各クロックサイクルごとに、アレイは
新しいデータビットによって発生した部分積およびスタ
ティックな係数ワードを部分積の合計に加算する。
各キャリ−セイブ加算器は両方の出力,すなわち合計出
力55とキャリ出力56の両方がラッチされる。その入力は
ゲートされ、ゲーティングの目的は3つのうちの2つの
例においてはシフトアップするためであり、その他の場
合にはビット積の形成のためである。シフトアップは内
部“ポイント”の一致性のために必要とされる。キャリ
入力は2倍の重み付けがされなければならず、部分積合
計もまたそうされなければならない、なぜならこれが異
なる重み付けが係数ビットに与えられる方法であるから
である。
力55とキャリ出力56の両方がラッチされる。その入力は
ゲートされ、ゲーティングの目的は3つのうちの2つの
例においてはシフトアップするためであり、その他の場
合にはビット積の形成のためである。シフトアップは内
部“ポイント”の一致性のために必要とされる。キャリ
入力は2倍の重み付けがされなければならず、部分積合
計もまたそうされなければならない、なぜならこれが異
なる重み付けが係数ビットに与えられる方法であるから
である。
シフタは一般に最下位ビットのときの論理0を選ぶMU
Xゲート59によって実現されてもよい。ビット積はAN
Dゲート57aないし57fによって与えられ、その各々は
データ入力および係数の各ビットに接続される。
Xゲート59によって実現されてもよい。ビット積はAN
Dゲート57aないし57fによって与えられ、その各々は
データ入力および係数の各ビットに接続される。
最上位段51fは、それ自身が接続可能な上流の隣接段を
持たないので僅かに異なる。このフリー入力は部分積合
計の符号拡張を行ないそれによって係数の最上位ビット
に負の重み与えるために用いられる。したがって、最上
位段からの合計出力は部分積合計のために入力に再び巡
回されて戻っていく。51fが減算器である代替の実現化
はフリー入力を利用可能にする。
持たないので僅かに異なる。このフリー入力は部分積合
計の符号拡張を行ないそれによって係数の最上位ビット
に負の重み与えるために用いられる。したがって、最上
位段からの合計出力は部分積合計のために入力に再び巡
回されて戻っていく。51fが減算器である代替の実現化
はフリー入力を利用可能にする。
最下位段51aはライン58上に出力積を生み出す。この出
力はバッファされてもよい。
力はバッファされてもよい。
述べた構造は整列作用が変更されたかのように全精度出
力を生み出す。この構造はsビットだけ“ポイント”を
シフトアップし、そこではsはcoefres−1である。一
般に、全精度積が再びフォーマット化されるようにする
整列および変更の幾つかの組合せがあり、それはすなわ
ち幾分かシフトダウンすることである。これはダウンシ
フタをキャリ−セイブ アッド−シフトアレイに追加
し、適切な点に丸め用ビットを挿入することによって達
成され、それはシフトダウンプロセスからのゼロ平均切
捨て誤差を保持する。
力を生み出す。この構造はsビットだけ“ポイント”を
シフトアップし、そこではsはcoefres−1である。一
般に、全精度積が再びフォーマット化されるようにする
整列および変更の幾つかの組合せがあり、それはすなわ
ち幾分かシフトダウンすることである。これはダウンシ
フタをキャリ−セイブ アッド−シフトアレイに追加
し、適切な点に丸め用ビットを挿入することによって達
成され、それはシフトダウンプロセスからのゼロ平均切
捨て誤差を保持する。
ビット直列の場合のダウンシフタは多重化ラッチであり
ワードの下部のxビットを除いてすべてのビットを通過
させる。その代わり、前のワードの最上位ビットは同じ
回数だけ繰返される。丸め用ビットは、アレイの右端か
ら(x−1)番目にある段のフリー入力の1つ,すなわ
ち合計またはキャリ入力のいずれかのアップ−シフトの
ための論理0を挿入するMUXゲートに挿入される。
ワードの下部のxビットを除いてすべてのビットを通過
させる。その代わり、前のワードの最上位ビットは同じ
回数だけ繰返される。丸め用ビットは、アレイの右端か
ら(x−1)番目にある段のフリー入力の1つ,すなわ
ち合計またはキャリ入力のいずれかのアップ−シフトの
ための論理0を挿入するMUXゲートに挿入される。
第6図は入力上方空間が縮小され上方空間<(coefres
−1)になるときに起こる事を表わしている。全精度積
はここでは“ディジット”より大きく、ビット直列動作
のための“パイプの大きさ”と同じであることがわかる
であろう。これは余分なパイプを内部フォメーションの
ために必要としてかつ可能ならば、余分な出力パイプ
は、積ビットが外部的に要求されるパイプの大きさより
大きくなければならない。
−1)になるときに起こる事を表わしている。全精度積
はここでは“ディジット”より大きく、ビット直列動作
のための“パイプの大きさ”と同じであることがわかる
であろう。これは余分なパイプを内部フォメーションの
ために必要としてかつ可能ならば、余分な出力パイプ
は、積ビットが外部的に要求されるパイプの大きさより
大きくなければならない。
ここですべての積ビットがアレイの終わりに現われかつ
最上位ビットの不正確な解釈の影響が出力に到達しな
い、“フラッシュ”の特性はもはや真実ではなく、デー
タの最上位ビットの処理のためにハードウェアを含む必
要がある。このハードウェアは出力の積内の正しい高位
ビットを伝搬するのに必要なだけ遡ってアレイ内で必要
とされる。フラッシュ特性は完全には失われないが上方
空間の残りビットのすべてはフラッシュ段が残ることを
許容する。
最上位ビットの不正確な解釈の影響が出力に到達しな
い、“フラッシュ”の特性はもはや真実ではなく、デー
タの最上位ビットの処理のためにハードウェアを含む必
要がある。このハードウェアは出力の積内の正しい高位
ビットを伝搬するのに必要なだけ遡ってアレイ内で必要
とされる。フラッシュ特性は完全には失われないが上方
空間の残りビットのすべてはフラッシュ段が残ることを
許容する。
2つの作用が必要である。一つはパイプの大きさを超え
る積の成長を処理することである(それによって余分な
パイプが必要となる)。2番目は必要なときにデータの
最上位ビットを正しく解釈することである。このハード
ウェアの追加は積ビットの正しい発生を引き起こすため
に必要なだけアレイを遡る。
る積の成長を処理することである(それによって余分な
パイプが必要となる)。2番目は必要なときにデータの
最上位ビットを正しく解釈することである。このハード
ウェアの追加は積ビットの正しい発生を引き起こすため
に必要なだけアレイを遡る。
本来のパイプでは積の計算を完成することができないの
で余分のパイプが必要とされる。(ディジット−上位空
間)に等しい数のサイクルの後,すなわち記号拡張が現
われ始めると、すべての部分積が生み出され部分積の合
計に加えられた。しかしながら、(ディジット−上位空
間+coefres−1)最終積ビットの量(ディジット−上
位空間)のみがこの計算においてこの段で生み出され
た。積の残りはアレイ全体にわたって剰余キャリ−セイ
ブの形で分布される。補償された上位空間を有するフラ
ッシュ乗算器は直列的にこれらの積ビットをフラッシュ
する。しかし、最終積はパイプの大きさよりも大きいの
でこれを完成することは不可能である。新しいパイプは
残りのキャリ−セイブビット対を受けかつ積の残りを形
成するためにビット直列“剰余”加算器を通してこれら
のビット対をクロックすることが求められる。第6図は
乗算器の変更例を示す。乗算器60は一般に乗算器50に似
るが並列ロードシフトレジスタ61および剰余加算器62の
幾つかの段からなる新しいパイプを有する。部分積形成
あるいは部分積合計加算のために追加のハードウェアは
必要ではない,なぜならばすべての作業は下位パイプに
おいて行なわれるからである。
で余分のパイプが必要とされる。(ディジット−上位空
間)に等しい数のサイクルの後,すなわち記号拡張が現
われ始めると、すべての部分積が生み出され部分積の合
計に加えられた。しかしながら、(ディジット−上位空
間+coefres−1)最終積ビットの量(ディジット−上
位空間)のみがこの計算においてこの段で生み出され
た。積の残りはアレイ全体にわたって剰余キャリ−セイ
ブの形で分布される。補償された上位空間を有するフラ
ッシュ乗算器は直列的にこれらの積ビットをフラッシュ
する。しかし、最終積はパイプの大きさよりも大きいの
でこれを完成することは不可能である。新しいパイプは
残りのキャリ−セイブビット対を受けかつ積の残りを形
成するためにビット直列“剰余”加算器を通してこれら
のビット対をクロックすることが求められる。第6図は
乗算器の変更例を示す。乗算器60は一般に乗算器50に似
るが並列ロードシフトレジスタ61および剰余加算器62の
幾つかの段からなる新しいパイプを有する。部分積形成
あるいは部分積合計加算のために追加のハードウェアは
必要ではない,なぜならばすべての作業は下位パイプに
おいて行なわれるからである。
元のアレイ内の類似の数の段(この場合2)は(自動的
に)、ビット積形成ANDゲート(52bおよび52c)の
各1つとギ リ−セイブ加算器と各々との間の排他的論
理和を挿入することによって変更される。このゲートは
プログラム化可能なインバータとして動作し制御信号に
よって指示されたときに、データの最上位ビットを反転
させる。これは実際には最上位部分積を1の補数化処理
する。適切な2の補数化処理は部分積の最下位端におけ
る“1”の挿入を必要とする。排他的論理和ゲート63の
挿入によっても最上位部分積の反転された最下位ビット
積の挿入(ラッチされたインバータ64によって)を剰余
加算器62のフリー入力に挿入することによっても得られ
る効果は同じである。
に)、ビット積形成ANDゲート(52bおよび52c)の
各1つとギ リ−セイブ加算器と各々との間の排他的論
理和を挿入することによって変更される。このゲートは
プログラム化可能なインバータとして動作し制御信号に
よって指示されたときに、データの最上位ビットを反転
させる。これは実際には最上位部分積を1の補数化処理
する。適切な2の補数化処理は部分積の最下位端におけ
る“1”の挿入を必要とする。排他的論理和ゲート63の
挿入によっても最上位部分積の反転された最下位ビット
積の挿入(ラッチされたインバータ64によって)を剰余
加算器62のフリー入力に挿入することによっても得られ
る効果は同じである。
最上位ビットのための新たな制御が必要である。最上位
ビット制御はそれが1サイクル前にくるということを除
いて、最下位ビットの制御と同じである。
ビット制御はそれが1サイクル前にくるということを除
いて、最下位ビットの制御と同じである。
したがって第6図は6ビット乗算器が上方空間の3ビッ
トと1ビットのシフトを有するときに読出されるハード
ウェアを表わす。
トと1ビットのシフトを有するときに読出されるハード
ウェアを表わす。
第7図は上方空間が0まで減少しかつシフトレジスタ61
と加算器62によって表わされるパイプライン化が乗算器
の全段にわたって広がる場合を示す。この乗算器70はこ
こでは十分にパイプライン化されているので、最終加算
器51aおよび剰余加算器62から2つのデータ出力58およ
び58aがそれぞれある。ラッチされた乗算器68は示され
るような“ストリーム”制御の下で、積を単精度分数に
再びフォーマット化するダウンシフタである。
と加算器62によって表わされるパイプライン化が乗算器
の全段にわたって広がる場合を示す。この乗算器70はこ
こでは十分にパイプライン化されているので、最終加算
器51aおよび剰余加算器62から2つのデータ出力58およ
び58aがそれぞれある。ラッチされた乗算器68は示され
るような“ストリーム”制御の下で、積を単精度分数に
再びフォーマット化するダウンシフタである。
最後に、第8図に示されるように“サブワード”が2と
同じ場合を考える。入力データはここで2つのパイプラ
イン(53および53a)にくるので、2つのキャリ−セイ
ブ−アッド−シフトアレイは部分積のトラフィック要件
に対処する必要がある。最初のパイプサイズ部分積が計
算されかつ積の第1パイプサイズビットが第1アレイか
ら出力されてもよい。ここで、フラッシュ構造が適した
ものになる。第8図の最上部パイプ(50)は第5図のフ
ラッシュ乗算器に対応することがわかるであろう。上部
パイプはデータ入力ライン53と出力ライン58を有し、一
方下部パイプ50aはデータ入力ライン53aと出力ライン
58aを有する。これらのパイプは共通の最下位ビット制
御ライン57を有する。
同じ場合を考える。入力データはここで2つのパイプラ
イン(53および53a)にくるので、2つのキャリ−セイ
ブ−アッド−シフトアレイは部分積のトラフィック要件
に対処する必要がある。最初のパイプサイズ部分積が計
算されかつ積の第1パイプサイズビットが第1アレイか
ら出力されてもよい。ここで、フラッシュ構造が適した
ものになる。第8図の最上部パイプ(50)は第5図のフ
ラッシュ乗算器に対応することがわかるであろう。上部
パイプはデータ入力ライン53と出力ライン58を有し、一
方下部パイプ50aはデータ入力ライン53aと出力ライン
58aを有する。これらのパイプは共通の最下位ビット制
御ライン57を有する。
タスク期間の終わりで、すなわちディジットの数に対応
する数のサイクルの後に、合計およびキャリ剰余および
係数が上部パイプ50からゲート80を介して次のパイプ50
aに通過させられる。合計およびキャリ剰余は等価フリ
ー入力に運ばれ一方“係数”は通常どおりレジスタに行
く。第2のパイプは前に述べたのと同じ様式で属性“上
方空間”によって示されるハードウェアならどれでもを
用いて積の計算を完成する。構造は多数のサブワードに
一般化され得ることが明らかである。
する数のサイクルの後に、合計およびキャリ剰余および
係数が上部パイプ50からゲート80を介して次のパイプ50
aに通過させられる。合計およびキャリ剰余は等価フリ
ー入力に運ばれ一方“係数”は通常どおりレジスタに行
く。第2のパイプは前に述べたのと同じ様式で属性“上
方空間”によって示されるハードウェアならどれでもを
用いて積の計算を完成する。構造は多数のサブワードに
一般化され得ることが明らかである。
19.具体例 構造上の技術を示すために、特定のチップの設計につい
て考える。選んだ例は前に述べた離散コサイン変換プロ
セサである。14.32メガヘルツで動作するとき、16×16
のデジタルコサイン変換は毎秒およそ8000万の乗算を必
要とし実現されたときは毎秒ほぼ150億のキャリ−セイ
ブ加算を行なう。
て考える。選んだ例は前に述べた離散コサイン変換プロ
セサである。14.32メガヘルツで動作するとき、16×16
のデジタルコサイン変換は毎秒およそ8000万の乗算を必
要とし実現されたときは毎秒ほぼ150億のキャリ−セイ
ブ加算を行なう。
プロセサはデータ分解能が12ビットより少ない場合の入
来12ビットデータについて16×16のデジタルコサイン変
換を行なうように意図されている。このデータは各々
が、連続的な行に16×16の12ビット画素の2次元サブイ
メージを表わす、256のサンプルのブロックに分割され
ると仮定される。ボード上に含まれるのは中間結果の記
憶および転置のための256×12ビットRAMである。メ
モリは2つの16×16ワード仮想ストアとして形成され
る。プロセサは行において、デジタルコサイン変換の12
ビット結果を1つのストアに書込み,その一方で交代で
コラムにおいて、前の16行変換の中間結果をもう一方の
ストアから読出す。“書込”ストアが一杯の場合は、2
つのストアはその役割を交換する。中間結果は再び16個
の16点1次元デジタルコサイン変換を受け、12ビット精
度の隣接コラムにおいて配置される変換出力を与える。
第9図はデジタルコサイン変換プロセサの上位レベルの
平面図を表わし、実際には行変換91a,コラム変換91b
および2つのストア92aおよび92bを含む。プロセサと
ランダムアクセスメモリの間の太線93は1つの記憶機能
を表わす。細線94はもう他の記憶機能を表わす。
来12ビットデータについて16×16のデジタルコサイン変
換を行なうように意図されている。このデータは各々
が、連続的な行に16×16の12ビット画素の2次元サブイ
メージを表わす、256のサンプルのブロックに分割され
ると仮定される。ボード上に含まれるのは中間結果の記
憶および転置のための256×12ビットRAMである。メ
モリは2つの16×16ワード仮想ストアとして形成され
る。プロセサは行において、デジタルコサイン変換の12
ビット結果を1つのストアに書込み,その一方で交代で
コラムにおいて、前の16行変換の中間結果をもう一方の
ストアから読出す。“書込”ストアが一杯の場合は、2
つのストアはその役割を交換する。中間結果は再び16個
の16点1次元デジタルコサイン変換を受け、12ビット精
度の隣接コラムにおいて配置される変換出力を与える。
第9図はデジタルコサイン変換プロセサの上位レベルの
平面図を表わし、実際には行変換91a,コラム変換91b
および2つのストア92aおよび92bを含む。プロセサと
ランダムアクセスメモリの間の太線93は1つの記憶機能
を表わす。細線94はもう他の記憶機能を表わす。
処理は行とコラム変換の間の時分割多重化である専用ビ
ット直列フローチャートとして実現化されてもよく、第
9図における2つのプロセサ(91a,91b)は実際には
1つのプロセサである。第10にそのアーキテクチャが示
され、それは入力ビット並列バス34,出力バス35,入力
レジスタファイル32,出力レジスタファイル33およびプ
ロセサ(DC T)アレイ91を含む点で第3図に似てお
り、この例においては、ストア92aおよび92bを含むR
AM92によって増分される。メモリ92は(従来の)アド
レス発生器95を有する。プロセサの入力は2×16−Dコ
ーナターニングレジスタファイル32から来,それらのフ
ァイルは、これからの1次元変換のためのオペランドと
共にビット並列ワード直列の様態でロードされ、一方現
在の1次元変換のためのオペランドが、ビット直列ワー
ド並列の様態でアンロードされる。一方のレジスタファ
イルは外部入力バスからロードされ他方のファイルは位
相がずれた様態でメモリからロードされる。一方が一杯
の場合は他方は半分が一杯である。結果は類似の様態で
メモリおよび外部に出力されてもよい。
ット直列フローチャートとして実現化されてもよく、第
9図における2つのプロセサ(91a,91b)は実際には
1つのプロセサである。第10にそのアーキテクチャが示
され、それは入力ビット並列バス34,出力バス35,入力
レジスタファイル32,出力レジスタファイル33およびプ
ロセサ(DC T)アレイ91を含む点で第3図に似てお
り、この例においては、ストア92aおよび92bを含むR
AM92によって増分される。メモリ92は(従来の)アド
レス発生器95を有する。プロセサの入力は2×16−Dコ
ーナターニングレジスタファイル32から来,それらのフ
ァイルは、これからの1次元変換のためのオペランドと
共にビット並列ワード直列の様態でロードされ、一方現
在の1次元変換のためのオペランドが、ビット直列ワー
ド並列の様態でアンロードされる。一方のレジスタファ
イルは外部入力バスからロードされ他方のファイルは位
相がずれた様態でメモリからロードされる。一方が一杯
の場合は他方は半分が一杯である。結果は類似の様態で
メモリおよび外部に出力されてもよい。
DCTプロセサ(第2図のアイコンネットワークに対
応)はあらゆるプロセサ、インタフェースおよび制御機
能のための標準セルを用いた1.5ミクロンのCMOS
技術で実現されてもよい。メモリ92はスタティックRA
Mコンパイラを介して実現されてもよい。ダイスの大き
さはおよそ350ミル(8.75ミリ)平方であろう。メモリ
とは別のゲートカウントはおよそ21,500でありその中の
およそ12,500はプロセサアレイを含む。
応)はあらゆるプロセサ、インタフェースおよび制御機
能のための標準セルを用いた1.5ミクロンのCMOS
技術で実現されてもよい。メモリ92はスタティックRA
Mコンパイラを介して実現されてもよい。ダイスの大き
さはおよそ350ミル(8.75ミリ)平方であろう。メモリ
とは別のゲートカウントはおよそ21,500でありその中の
およそ12,500はプロセサアレイを含む。
明らかに複雑であるにもかかわらず、このようなマシン
のプロセサ部分は前に述べた方式に容易に適合し、属性
を持つ単純なアイコンのフローチャートによって完全に
特定化されてもよい。全体属性は以下のようである。タ
スク速度は0.89(メガヘルツ)と同じである。ブロック
の大きさは16に等しい。ビットは1に等しい。ディジッ
トは22に等しい。サブワードは1に等しい。この場合こ
の属性は全体的なものである。MUXレベルは2に等し
い。したがってそれは行と列の2つに多重化された22ビ
ットデータ上の16−Dブロック上でビット直列で動作す
るマシンである。
のプロセサ部分は前に述べた方式に容易に適合し、属性
を持つ単純なアイコンのフローチャートによって完全に
特定化されてもよい。全体属性は以下のようである。タ
スク速度は0.89(メガヘルツ)と同じである。ブロック
の大きさは16に等しい。ビットは1に等しい。ディジッ
トは22に等しい。サブワードは1に等しい。この場合こ
の属性は全体的なものである。MUXレベルは2に等し
い。したがってそれは行と列の2つに多重化された22ビ
ットデータ上の16−Dブロック上でビット直列で動作す
るマシンである。
予め規定されたタスク速度から始め、前に述べたジュタ
ンド(Jutand)その他から直接アイコンネットワークを
とってきてもよい。
ンド(Jutand)その他から直接アイコンネットワークを
とってきてもよい。
デフォルト属性の初期伝搬は入力データのフォーマット
特定化によって始めてもよい。2進桁位置はビット位置
12に位置決めされてもよく、後部0の数は0であっても
よい。パラメタ“ディジット”は精度の特定化に従って
予め22に固定されてもよい。これは、初期のハードウェ
アがタスク期間のかなりの部分にわたって記号拡張にお
いて動作するであろうことを意味する。初期の機会に、
2進桁位置を20ビットまでシフトアップしそれによって
利用可能なかなりの“上方空間”を利用する機会をとら
えてもよい。これは乗算器バンクからのデフォルトポイ
ント変換を0から8に変更することによって達成され得
る。
特定化によって始めてもよい。2進桁位置はビット位置
12に位置決めされてもよく、後部0の数は0であっても
よい。パラメタ“ディジット”は精度の特定化に従って
予め22に固定されてもよい。これは、初期のハードウェ
アがタスク期間のかなりの部分にわたって記号拡張にお
いて動作するであろうことを意味する。初期の機会に、
2進桁位置を20ビットまでシフトアップしそれによって
利用可能なかなりの“上方空間”を利用する機会をとら
えてもよい。これは乗算器バンクからのデフォルトポイ
ント変換を0から8に変更することによって達成され得
る。
二度目の変更は最後の乗算器バンクの分解能を8から12
ビットに増加させることである。これによって精度が増
しプロセサの待ち時間を22ビットまで拡張する。後者の
現象は、入力および出力転送が同時なので、コーナター
ンを単純化する。最後の変更が0の数が10と特定されて
もよい、プロセサ出力においてであってもよい。これに
よって22のうちの下位10ビットを効果的に除いて上位12
ビットのみをセルからコーナターンすることが必要にな
る。
ビットに増加させることである。これによって精度が増
しプロセサの待ち時間を22ビットまで拡張する。後者の
現象は、入力および出力転送が同時なので、コーナター
ンを単純化する。最後の変更が0の数が10と特定されて
もよい、プロセサ出力においてであってもよい。これに
よって22のうちの下位10ビットを効果的に除いて上位12
ビットのみをセルからコーナターンすることが必要にな
る。
したがって、デフォルト設定からの3つのみの変更によ
ってこのプロセサの正確な特定化が可能になる。
ってこのプロセサの正確な特定化が可能になる。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ペイン,ジュリアン フランス国、06600 アンティベス、9・ アベニュ・ド・ラ・リベラシオーン、アパ ルトマン・408 (56)参考文献 特開 昭63−148373(JP,A) 特開 昭48−79984(JP,A) 特開 昭63−71776(JP,A)
Claims (9)
- 【請求項1】プログラム化されたコンパイラによってデ
ジタル信号プロセサ回路を実現化する方法であって、 多数のユーザ選択可能アイコンとそれらの相互接続とか
らなり、プロセサ回路を機能的に表示するネツトワーク
をプログラムセグメント(1,3)の形で記憶するステ
ップを含み、各アイコンはアイコンによって特定化され
る機能を達成するプログラム化された手段である機能ア
クタ(3)に関連し、 前記ネツトワーク内の様々な点における信号に関連する
多数の信号属性を記憶するステップを含み、前記属性の
値はユーザによって特定化または変更され、かつ前記属
性はデジタルワードにおけるサブワードの数に関連する
局所的に変化可能な属性および2進小数点位置以上のワ
ードの成長を規定するワード成長とを含み、 前記属性に与えるアクタの機能上の影響に従って、前記
ネットワーク内の様々な点に対する前記属性の値を計算
することにより前記アイコンネットワークの間を前記属
性およびそれにおける変化を伝搬させるステップを含
み、前記伝搬ステップは、ユーザが選択する成長ファク
タと前記アイコンネットワークの間を伝搬する成長量の
2を底とする対数との積に従って、前記ネットワークの
様々な点におけるワード成長属性を保持するステップを
含み、 前記ネットワークの様々な点における前記属性の値に従
って、選択された計算上粒子において回路の詳細な仕様
の観点からアクタを実現化するステップと、 前記局所的に変化可能なサブワード数の属性を変更し、
該変更に従ってパイプライン化を実現するステップとを
含む、方法。 - 【請求項2】前記ワード成長属性は、 前記プロセサ回路の各入力において1に対応する値に前
記成長量を設定するステップと、 いずれかの加算器または減算器の各入力に対し成長量を
加算するステップと、 いずれかのプログラム化可能な乗算器の間を成長量を変
化させずに通過させるステップと、 固定乗算器の1/G乗の係数によっていずれかの固定乗
算器における成長量を乗算するステップとにより伝搬さ
れ、前記Gは前記選択された成長ファクタである、請求
項1記載の方法。 - 【請求項3】信号および係数を、量子化雑音によって増
分された実数の形で規定し、かつ前記量子化雑音の平方
として前記ネットワークの各ノードにおけるノイズフロ
アを表すステップを含み、前記量子化雑音は2(-2N)/
3として計算され、かつ前記Nは入力データのビット長
である、請求項1記載の方法。 - 【請求項4】いずれかの加算器または減算器におけるノ
イズフロアを加算するステップと、 いずれかのプログラム可能な乗算器において該乗算器に
対する入力信号のノイズフロアを該乗算器の乗算係数の
ノイズフロアに加算するステップと、 生成された係数と特定された係数との間の誤差をいずれ
かの固定乗算器において生じさせ、前記誤差を二乗しか
つ二乗誤差を該乗算器に対する入力信号のノイズフロア
に加算するステップと、 ダウンシフタのいずれかにおいて2進小数点のシフト位
置を用いて余分のノイズフロア成分を計算するステップ
とにより前記ノイズフロアは前記アイコンネットワーク
の間を伝搬される、請求項3に記載の方法。 - 【請求項5】前記属性のいくつかは前記ネットワークに
対して全体的なものでありかつ前記属性のその他のもの
は局所的に変化可能である、請求項1に記載の方法。 - 【請求項6】前記局所的属性の少なくとも1はデフォル
ト設定を有し、 前記アイコンネットワークの選択された点における前記
1つの局所的属性を変更するステップと、 前記アイコンネットワークにおける変更された属性の影
響を伝搬させるステップとをさらに含む、請求項5に記
載の方法。 - 【請求項7】前記アイコンネットワークにおける1以上
のルートによって、前記選択された点に接続される点に
おける前記1つの属性の一致性を自動的に強化するステ
ップをさらに含む、請求項6に記載の方法。 - 【請求項8】前記1つの属性は2進小数点位置を表す、
請求項7記載の方法。 - 【請求項9】前記属性は、信号の2進表示の精度および
タスク速度の全体属性を含み、かつ前記パイプライン化
は、ディジットにおけるビット数およびサブワードにお
けるディジット数の全体属性と、前記局所的に変化可能
なサブワード属性とを有するワード構造に従って実現さ
れ、前記ビット数、ディジット数およびサブワード数の
積は前記精度に従うデジタルワードにおける全ビット数
である、請求項1に記載の方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US42563489A | 1989-10-23 | 1989-10-23 | |
| US425634 | 1989-10-23 | ||
| PCT/EP1990/001432 WO1991006060A1 (en) | 1989-10-23 | 1990-08-25 | Methods of realizing digital signal processors using a programmed compiler |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04507021A JPH04507021A (ja) | 1992-12-03 |
| JPH0614321B2 true JPH0614321B2 (ja) | 1994-02-23 |
Family
ID=23687389
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2512005A Expired - Lifetime JPH0614321B2 (ja) | 1989-10-23 | 1990-08-25 | プログラム化されたコンパイラを用いたデジタル信号プロセサの実現化方法 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US5247668A (ja) |
| EP (1) | EP0497777B1 (ja) |
| JP (1) | JPH0614321B2 (ja) |
| KR (1) | KR960001277B1 (ja) |
| DE (1) | DE69009067T2 (ja) |
| WO (1) | WO1991006060A1 (ja) |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5283900A (en) * | 1989-10-02 | 1994-02-01 | Spectron Microsystems, Inc. | Real-time operating system and virtual digital signal processor for the control of a digital signal processor |
| US5625797A (en) * | 1990-08-10 | 1997-04-29 | Vlsi Technology, Inc. | Automatic optimization of a compiled memory structure based on user selected criteria |
| FR2732787B1 (fr) * | 1995-04-07 | 1997-05-16 | Thomson Csf | Procede de saisie graphique d'application de traitement de signal |
| JP2869379B2 (ja) * | 1996-03-15 | 1999-03-10 | 三菱電機株式会社 | プロセッサ合成システム及びプロセッサ合成方法 |
| US6354947B1 (en) * | 1997-03-12 | 2002-03-12 | U.S. Philips Corporation | Multimedia method and system for interaction between a screen-based host and various distributed and free-styled information containing items, and an information containing item for use with such system |
| US5960201A (en) * | 1997-03-17 | 1999-09-28 | Tritech Microelectronics, Ltd | Numeric intensive development environment |
| US5812856A (en) * | 1997-06-23 | 1998-09-22 | Motorola, Inc. | Efficient ROM and PLA recoding to save chip area |
| US5881274A (en) * | 1997-07-25 | 1999-03-09 | International Business Machines Corporation | Method and apparatus for performing add and rotate as a single instruction within a processor |
| US6714903B1 (en) * | 1998-07-10 | 2004-03-30 | Lsi Logic Corporation | Placement and routing of circuits using a combined processing/buffer cell |
| US6701214B1 (en) | 2000-04-27 | 2004-03-02 | Rockwell Automation Technologies, Inc. | Driver board control system for modular conveyer with address-based network for inter-conveyor communication |
| US6745232B1 (en) | 2000-08-23 | 2004-06-01 | Rockwell Automation Technologies, Inc. | Strobed synchronization providing diagnostics in a distributed system |
| US6591311B1 (en) * | 2000-04-27 | 2003-07-08 | Rockwell Automation Technologies, Inc. | Method and system for selecting controller output value source |
| US6701462B1 (en) | 2000-05-19 | 2004-03-02 | Rockwell Automation Technologies, Inc. | Situational aware output configuration and execution |
| US7278137B1 (en) | 2001-12-26 | 2007-10-02 | Arc International | Methods and apparatus for compiling instructions for a data processor |
| US7689994B2 (en) * | 2004-01-28 | 2010-03-30 | Microsoft Corporation | System and method for specifying and executing temporal order events |
| US8843906B1 (en) * | 2006-10-16 | 2014-09-23 | The Mathworks, Inc. | Inferring data types from compiler call site |
| US20090319987A1 (en) * | 2008-06-19 | 2009-12-24 | Bartz Christopher T | Automatic Fixed Point Code Generation |
| TWI437411B (zh) * | 2011-03-14 | 2014-05-11 | Realtek Semiconductor Corp | 用於時脈樹轉換處的先入先出(fifo)裝置與方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS4879984A (ja) * | 1971-12-30 | 1973-10-26 | ||
| JPS6371776A (ja) * | 1986-09-12 | 1988-04-01 | Fujitsu Ltd | 会話形回路設計装置 |
| JPS63148373A (ja) * | 1986-12-12 | 1988-06-21 | Nec Corp | 回路図デ−タの管理方式 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4813013A (en) * | 1984-03-01 | 1989-03-14 | The Cadware Group, Ltd. | Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons |
| US4831580A (en) * | 1985-07-12 | 1989-05-16 | Nippon Electric Industry Co., Ltd. | Program generator |
| US4831524A (en) * | 1986-06-24 | 1989-05-16 | Westinghouse Electric Corp. | Logic diagram compiler/executor |
| US4992934A (en) * | 1986-12-15 | 1991-02-12 | United Technologies Corporation | Reduced instruction set computing apparatus and methods |
| US4870591A (en) * | 1987-08-24 | 1989-09-26 | International Business Machines Corp. | System for ensuring device compatibility |
-
1990
- 1990-08-25 DE DE69009067T patent/DE69009067T2/de not_active Expired - Fee Related
- 1990-08-25 JP JP2512005A patent/JPH0614321B2/ja not_active Expired - Lifetime
- 1990-08-25 KR KR1019920700921A patent/KR960001277B1/ko not_active Expired - Fee Related
- 1990-08-25 WO PCT/EP1990/001432 patent/WO1991006060A1/en not_active Ceased
- 1990-08-25 EP EP90912898A patent/EP0497777B1/en not_active Expired - Lifetime
-
1992
- 1992-12-08 US US07/987,565 patent/US5247668A/en not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS4879984A (ja) * | 1971-12-30 | 1973-10-26 | ||
| JPS6371776A (ja) * | 1986-09-12 | 1988-04-01 | Fujitsu Ltd | 会話形回路設計装置 |
| JPS63148373A (ja) * | 1986-12-12 | 1988-06-21 | Nec Corp | 回路図デ−タの管理方式 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO1991006060A1 (en) | 1991-05-02 |
| DE69009067T2 (de) | 1994-12-22 |
| EP0497777A1 (en) | 1992-08-12 |
| EP0497777B1 (en) | 1994-05-18 |
| US5247668A (en) | 1993-09-21 |
| JPH04507021A (ja) | 1992-12-03 |
| DE69009067D1 (de) | 1994-06-23 |
| KR920704234A (ko) | 1992-12-19 |
| KR960001277B1 (ko) | 1996-01-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0614321B2 (ja) | プログラム化されたコンパイラを用いたデジタル信号プロセサの実現化方法 | |
| Hartley et al. | Digit-serial processing techniques | |
| Ebeling et al. | Mapping applications to the RaPiD configurable architecture | |
| Dou et al. | 64-bit floating-point FPGA matrix multiplication | |
| Murthy et al. | Multidimensional synchronous dataflow | |
| US6430589B1 (en) | Single precision array processor | |
| JP2018055677A (ja) | 外積累算演算のためのプロセッサおよび方法 | |
| JP3228927B2 (ja) | プロセッサエレメント、プロセッシングユニット、プロセッサ、及びその演算処理方法 | |
| US5831883A (en) | Low energy consumption, high performance fast fourier transform | |
| WO1998028695A1 (en) | Video frame rendering engine | |
| CN111199017B (zh) | 多功能厄密对称矩阵求逆ip核的实现方法 | |
| Fan et al. | Montgomery modular multiplication algorithm on multi-core systems | |
| Woods et al. | Applying an XC6200 to real-time image processing | |
| Memik et al. | Analysis and FPGA implementation of image restoration under resource constraints | |
| JPH08329261A (ja) | パラメータ曲線発生器 | |
| US5016011A (en) | Increased performance of digital integrated circuits by processing with multiple-bit-width digits | |
| Trainor et al. | Implementation of the 2D DCT using a Xilinx XC6264 FPGA | |
| US5025257A (en) | Increased performance of digital integrated circuits by processing with multiple-bit-width digits | |
| US7266577B2 (en) | Modular multiplication apparatus, modular multiplication method, and modular exponentiation apparatus | |
| Hong et al. | Design and implementation of a high-speed matrix multiplier based on word-width decomposition | |
| Samanth et al. | A novel approach to develop low power MACs for 2D image filtering | |
| Kumar et al. | Efficient design and implementation of matrix multiplication | |
| Sun et al. | Ueda: A universal and efficient deformable attention accelerator for various vision tasks | |
| US5034909A (en) | Digit-serial recursive filters | |
| Lau et al. | A FPGA-based library for on-line signal processing |