JP3202750B2 - 特定用途向けプロセッサおよびその設計方法 - Google Patents
特定用途向けプロセッサおよびその設計方法Info
- Publication number
- JP3202750B2 JP3202750B2 JP52979295A JP52979295A JP3202750B2 JP 3202750 B2 JP3202750 B2 JP 3202750B2 JP 52979295 A JP52979295 A JP 52979295A JP 52979295 A JP52979295 A JP 52979295A JP 3202750 B2 JP3202750 B2 JP 3202750B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- block
- elements
- bus
- architecture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 76
- 238000013461 design Methods 0.000 title claims description 48
- 230000006870 function Effects 0.000 claims description 92
- 238000012545 processing Methods 0.000 claims description 60
- 238000004891 communication Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 25
- 238000003786 synthesis reaction Methods 0.000 claims description 25
- 230000015572 biosynthetic process Effects 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 6
- 238000011960 computer-aided design Methods 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 claims description 4
- 239000004065 semiconductor Substances 0.000 claims 2
- 230000002194 synthesizing effect Effects 0.000 claims 1
- 238000013459 approach Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000010354 integration Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 238000004377 microelectronic Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 208000034953 Twin anemia-polycythemia sequence Diseases 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 101000859758 Homo sapiens Cartilage-associated protein Proteins 0.000 description 1
- 101000916686 Homo sapiens Cytohesin-interacting protein Proteins 0.000 description 1
- 101000726740 Homo sapiens Homeobox protein cut-like 1 Proteins 0.000 description 1
- 101000761460 Homo sapiens Protein CASP Proteins 0.000 description 1
- 101000761459 Mesocricetus auratus Calcium-dependent serine proteinase Proteins 0.000 description 1
- 240000007320 Pinus strobus Species 0.000 description 1
- 102100024933 Protein CASP Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 235000012431 wafers Nutrition 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Stored Programmes (AREA)
- Communication Control (AREA)
Description
【発明の詳細な説明】 発明の背景 本発明は全般的には、複雑な特定用途向け集積回路に
関し、詳細には、分散並列プロセッサ・アーキテクチャ
と、そのような複雑な集積回路を容易に設計できるよう
にする設計方法に関する。
関し、詳細には、分散並列プロセッサ・アーキテクチャ
と、そのような複雑な集積回路を容易に設計できるよう
にする設計方法に関する。
集積回路技法は、少数(100個以下のトランジスタ)
のゲートの集積から非常に多数(数百万個のトランジス
タ)のゲートの集積まで進歩してきた。その結果、ます
ます複雑になる機能を実行する集積回路(IC)を作製
し、それによって多数の離散構成要素を寸法、コスト、
信頼性面のそれに応じた利益で置き換えることが可能に
なっている。しかし、回路が複雑であり、使用可能なト
ランジスタの数が多いため、ICの設計はより困難になっ
ている。したがって、IC設計者がICをより効率的に設計
するのを助けるツールが開発された。そのようなツール
の目的は、設計者が、トランジスタやゲートを操作する
必要なしにターゲット論理機構を合成するのを容易にす
ることである。
のゲートの集積から非常に多数(数百万個のトランジス
タ)のゲートの集積まで進歩してきた。その結果、ます
ます複雑になる機能を実行する集積回路(IC)を作製
し、それによって多数の離散構成要素を寸法、コスト、
信頼性面のそれに応じた利益で置き換えることが可能に
なっている。しかし、回路が複雑であり、使用可能なト
ランジスタの数が多いため、ICの設計はより困難になっ
ている。したがって、IC設計者がICをより効率的に設計
するのを助けるツールが開発された。そのようなツール
の目的は、設計者が、トランジスタやゲートを操作する
必要なしにターゲット論理機構を合成するのを容易にす
ることである。
汎用プロセッサ・アーキテクチャでは、複雑な関数を
実施する1組のプログラム済み命令として順序付けるこ
とができる(加算、乗算、比較など)基本的な低位命令
がハードウェアにおいて実施される。そのようなアーキ
テクチャは、一連の動作に関するピーク・スループット
・ニーズを満たさなければならない中央演算処理装置
(CPU)によって達成できるスループットによって制限
される。そのような制限のためにしばしば、ハードウェ
アの負担が大きくなり、設計されたハードウェアの使用
が非効率的なものになる。また、そのような中央制御式
アーキテクチャの電力管理は通常、困難である。
実施する1組のプログラム済み命令として順序付けるこ
とができる(加算、乗算、比較など)基本的な低位命令
がハードウェアにおいて実施される。そのようなアーキ
テクチャは、一連の動作に関するピーク・スループット
・ニーズを満たさなければならない中央演算処理装置
(CPU)によって達成できるスループットによって制限
される。そのような制限のためにしばしば、ハードウェ
アの負担が大きくなり、設計されたハードウェアの使用
が非効率的なものになる。また、そのような中央制御式
アーキテクチャの電力管理は通常、困難である。
設計者は、効率的なハードウェア実施態様を用いて設
計スループットの目標を満たすために多くの場合、合成
後のプログラム可能性によって与えられるシステム設計
の融通性を犠牲にして特定用途向け集積回路設計技法を
使用している。
計スループットの目標を満たすために多くの場合、合成
後のプログラム可能性によって与えられるシステム設計
の融通性を犠牲にして特定用途向け集積回路設計技法を
使用している。
一般に、IC設計者を助ける2つの手法、すなわち「標
準セル」技法および「ゲート・アレイ」技法が開発され
ている。これらの技法は、米国特許第5119314号(Hotta
ほか)、第5173864号(Watanabeほか)、第5197016号
(SUGIMOTOほか)、第5283753号(Schuckerほか)で全
般的に論じられている。標準セル手法では、一般に使用
される論理ブロックが慎重に設計され、セル・ライブラ
リに記憶される。設計者は、必要な機能が提供されるよ
うに適当な論理ブロックを検索し相互接続することがで
きる。通常、このようなブロックは、NANDゲートやNOR
ゲートなど基本的な論理構造、または加算器やマルチプ
レックスなど他の簡単な論理ブロックである。論理ブロ
ックは、ブロックの適当な入出力端子間で導体を経路指
定することによって相互接続することができる。
準セル」技法および「ゲート・アレイ」技法が開発され
ている。これらの技法は、米国特許第5119314号(Hotta
ほか)、第5173864号(Watanabeほか)、第5197016号
(SUGIMOTOほか)、第5283753号(Schuckerほか)で全
般的に論じられている。標準セル手法では、一般に使用
される論理ブロックが慎重に設計され、セル・ライブラ
リに記憶される。設計者は、必要な機能が提供されるよ
うに適当な論理ブロックを検索し相互接続することがで
きる。通常、このようなブロックは、NANDゲートやNOR
ゲートなど基本的な論理構造、または加算器やマルチプ
レックスなど他の簡単な論理ブロックである。論理ブロ
ックは、ブロックの適当な入出力端子間で導体を経路指
定することによって相互接続することができる。
ゲート・アレイ技法では、第1導電相互接続レベルま
で(第1導電相互接続レベルを含まない)の同じ集積回
路素子(ゲート)を含む多数のベース・ウェハが製造さ
れる。IC設計者は、事前に製造されたゲートを相互接続
するために使用される導電パターンのみを指定すること
によってゲート・アレイを「カスタマイズ」する。
で(第1導電相互接続レベルを含まない)の同じ集積回
路素子(ゲート)を含む多数のベース・ウェハが製造さ
れる。IC設計者は、事前に製造されたゲートを相互接続
するために使用される導電パターンのみを指定すること
によってゲート・アレイを「カスタマイズ」する。
この両方の手法に関する1つの問題は、それらの手法
を使用して、複雑な機能を実行するICを設計することが
困難であることである。これは、標準セルおよびゲート
・アレイが、すべてのタイプの用途に対して基本的なあ
るいは簡単な論理ブロックであるからである。したがっ
て、このような基本的な構成単位を有用な特定用途向け
集積回路として集積するには長い時間と、高い技能と、
多大な労力が必要である。また、レイアウトおよびタイ
ミング面の制約と、このような論理ブロックを相互接続
するのに必要な設計上の労力のために通常、設計者の自
由が制限され、設計時間が長くなる。
を使用して、複雑な機能を実行するICを設計することが
困難であることである。これは、標準セルおよびゲート
・アレイが、すべてのタイプの用途に対して基本的なあ
るいは簡単な論理ブロックであるからである。したがっ
て、このような基本的な構成単位を有用な特定用途向け
集積回路として集積するには長い時間と、高い技能と、
多大な労力が必要である。また、レイアウトおよびタイ
ミング面の制約と、このような論理ブロックを相互接続
するのに必要な設計上の労力のために通常、設計者の自
由が制限され、設計時間が長くなる。
一例を挙げれば、通信用途に使用される回路は通常、
複雑な信号処理動作を実行する。そのような回路の例に
は、有限インパルス応答フィルタ、無限インパルス応答
フィルタ、復調器、相関器がある。これらの回路には複
雑な数学的アルゴリズムが組み込まれており、このよう
なアルゴリズムを理解し設計することができるのは挙め
て熟練したエンジニアだけである。したがって、標準セ
ル技法およびゲート・アレイ技法と共に使用できる基本
的な構成単位を使用してこれらの回路を実施することは
非常に厄介である。
複雑な信号処理動作を実行する。そのような回路の例に
は、有限インパルス応答フィルタ、無限インパルス応答
フィルタ、復調器、相関器がある。これらの回路には複
雑な数学的アルゴリズムが組み込まれており、このよう
なアルゴリズムを理解し設計することができるのは挙め
て熟練したエンジニアだけである。したがって、標準セ
ル技法およびゲート・アレイ技法と共に使用できる基本
的な構成単位を使用してこれらの回路を実施することは
非常に厄介である。
標準セル設計法およびゲート・セル設計法を使用する
複雑な集積回路の設計に関連するいくつかのレイアウト
制約は、Schuckerほかで対処されている。この特許に記
載されたブロック・アーキテクチャ式集積回路設計手法
では、すでに開発されている論理ブロックを再使用する
ことができるが、様々な論理ブロックを相互接続する複
雑さに対処できない。また、記載された集積回路設計手
法では、電力管理は行われない。電力管理は、多数のゲ
ートを組み込んだ複雑なICの重要な因子である。
複雑な集積回路の設計に関連するいくつかのレイアウト
制約は、Schuckerほかで対処されている。この特許に記
載されたブロック・アーキテクチャ式集積回路設計手法
では、すでに開発されている論理ブロックを再使用する
ことができるが、様々な論理ブロックを相互接続する複
雑さに対処できない。また、記載された集積回路設計手
法では、電力管理は行われない。電力管理は、多数のゲ
ートを組み込んだ複雑なICの重要な因子である。
いくつかの電子システム製造業者は、前述の問題を解
決するためにまったく異なる方式を使用している。これ
らの製造業者は、カスタム設計ICに依存するのではな
く、マイクロコントローラやディジタル信号プロセッサ
などの汎用ICを使用している。このようなICは、1秒当
たりに多数の命令を実行することができる。通常、この
ようなICの機能をカスタマイズするにはソフトウェアが
使用される。
決するためにまったく異なる方式を使用している。これ
らの製造業者は、カスタム設計ICに依存するのではな
く、マイクロコントローラやディジタル信号プロセッサ
などの汎用ICを使用している。このようなICは、1秒当
たりに多数の命令を実行することができる。通常、この
ようなICの機能をカスタマイズするにはソフトウェアが
使用される。
このような汎用ICを使用することの1つの問題は、特
定用途向けICのスループットに匹敵するスループットを
達成できないことである。高速通信システムなど、処理
速度が重要な因子である多数の用途では、汎用ICの性能
は受け入れられない。さらに、ソフトウェアを使用して
も、複雑な処理アルゴリズムを実施するために極めて熟
練したエンジニアが必要になるという要求は変わらな
い。
定用途向けICのスループットに匹敵するスループットを
達成できないことである。高速通信システムなど、処理
速度が重要な因子である多数の用途では、汎用ICの性能
は受け入れられない。さらに、ソフトウェアを使用して
も、複雑な処理アルゴリズムを実施するために極めて熟
練したエンジニアが必要になるという要求は変わらな
い。
SUGIMOTOほかは、汎用プロセッサと、多数のデータ・
バス・アドレス・バス、制御バス上で接続された複数の
論理ブロックとを組み込んだ特定用途向け集積回路を設
計するコンピュータ支援システムおよび方法を開示して
いる。この設計手法はいくつかの欠点を有する。第1
に、この手法には、統合シリコン・ソフトウェア・コン
パイラによってハードウェア・ブロックとして合成され
た論理ブロック、すなわち、システム・スループットを
向上させるために組み込まれる、比較器、加算器、マル
チプレックス、カウンタなど基本的なサポート機能に関
する合成後プログラミングを実行する能力が欠けてい
る。また、複雑な処理ニーズは依然としてソフトウェア
で実施され、したがって複雑なシステムの場合には熟練
した設計者が必要になる。また、SUGIMOTOほかに記載さ
れた集積回路設計手法は、電力管理用の機能を組み込ん
でいない。
バス・アドレス・バス、制御バス上で接続された複数の
論理ブロックとを組み込んだ特定用途向け集積回路を設
計するコンピュータ支援システムおよび方法を開示して
いる。この設計手法はいくつかの欠点を有する。第1
に、この手法には、統合シリコン・ソフトウェア・コン
パイラによってハードウェア・ブロックとして合成され
た論理ブロック、すなわち、システム・スループットを
向上させるために組み込まれる、比較器、加算器、マル
チプレックス、カウンタなど基本的なサポート機能に関
する合成後プログラミングを実行する能力が欠けてい
る。また、複雑な処理ニーズは依然としてソフトウェア
で実施され、したがって複雑なシステムの場合には熟練
した設計者が必要になる。また、SUGIMOTOほかに記載さ
れた集積回路設計手法は、電力管理用の機能を組み込ん
でいない。
したがって、ある設計から他の設計へ再使用すること
ができるが、電力効率的な集積回路設計を有する特定の
用途の改良の必要性およびグレードアップの必要性を満
たすように合成後にプログラムすることができる機能ブ
ロックとして、複雑な特定用途向け処理を効果的に密封
できるようにするブロック・アーキテクチャ式特定用途
向け集積回路および設計方法が必要である。
ができるが、電力効率的な集積回路設計を有する特定の
用途の改良の必要性およびグレードアップの必要性を満
たすように合成後にプログラムすることができる機能ブ
ロックとして、複雑な特定用途向け処理を効果的に密封
できるようにするブロック・アーキテクチャ式特定用途
向け集積回路および設計方法が必要である。
発明の概要 本発明は、各命令が、特定の用途クラスに有用な上位
動作・処理機能を規定する特定用途向け命令セットを使
用する(単一チップ上で実施できる)特定用途向けプロ
セッサ(ASP)アーキテクチャを含む。特定の用途クラ
ス(たとえば、通信製品)の処理ニーズがまず分析され
て動作にグループ化され、その用途によって最も一般的
に使用される処理アルゴリズムが複数の機能ブロックに
グループ化される。それにより、非常に複雑であるが頻
繁に使用される、単一の機能ブロックへのデータ変換の
タイプを捕捉する。各機能ブロックは、命令セットの特
定用途向け命令に対応する。これらの特定用途向け命令
は、多目的バスによって相互接続されるように設計され
たハードウェア機能ブロックとして実施される。使用時
には、相互接続されたハードウェア機能ブロックは、そ
の特定用途を実施するために設計者によって指定された
命令のプログラムに従って順序付けられる。多くの機能
ブロック内では、ブロックによって実施される処理アル
ゴリズムのある種のパラメータの値が、複数の可能な値
のうちの1つを用いてプログラムできるレジスタを使用
して指定される。したがって、各機能ブロックは、設計
者からは、パラメータによってプログラム可能な特定用
途向け高位動作または命令とみなすことができる。
動作・処理機能を規定する特定用途向け命令セットを使
用する(単一チップ上で実施できる)特定用途向けプロ
セッサ(ASP)アーキテクチャを含む。特定の用途クラ
ス(たとえば、通信製品)の処理ニーズがまず分析され
て動作にグループ化され、その用途によって最も一般的
に使用される処理アルゴリズムが複数の機能ブロックに
グループ化される。それにより、非常に複雑であるが頻
繁に使用される、単一の機能ブロックへのデータ変換の
タイプを捕捉する。各機能ブロックは、命令セットの特
定用途向け命令に対応する。これらの特定用途向け命令
は、多目的バスによって相互接続されるように設計され
たハードウェア機能ブロックとして実施される。使用時
には、相互接続されたハードウェア機能ブロックは、そ
の特定用途を実施するために設計者によって指定された
命令のプログラムに従って順序付けられる。多くの機能
ブロック内では、ブロックによって実施される処理アル
ゴリズムのある種のパラメータの値が、複数の可能な値
のうちの1つを用いてプログラムできるレジスタを使用
して指定される。したがって、各機能ブロックは、設計
者からは、パラメータによってプログラム可能な特定用
途向け高位動作または命令とみなすことができる。
これらの機能ブロックはそれぞれ、特定用途向け高位
動作を形成するように構成されグループ化された多数の
低位処理プリミティブを含む。これらの機能ブロックの
それぞれが特定用途に関する高位動作なので、これらの
機能ブロックは、特定用途向け言語の「シンタックス」
を形成するものとみなすことができ、すなわち、機能ブ
ロックは、ASPの動作をプログラムする特定用途向け言
語で使用される符号を含む。下記では、本発明のシステ
ムおよび方法によって使用される機能ブロックを相互交
換可能に「用途シンタックス」または「用途要素」と呼
ぶ。ライブラリ中の各用途シンタックスは、機能ブロッ
クと多目的バスのインタフェースをとるインタフェース
・ブロックも含む。
動作を形成するように構成されグループ化された多数の
低位処理プリミティブを含む。これらの機能ブロックの
それぞれが特定用途に関する高位動作なので、これらの
機能ブロックは、特定用途向け言語の「シンタックス」
を形成するものとみなすことができ、すなわち、機能ブ
ロックは、ASPの動作をプログラムする特定用途向け言
語で使用される符号を含む。下記では、本発明のシステ
ムおよび方法によって使用される機能ブロックを相互交
換可能に「用途シンタックス」または「用途要素」と呼
ぶ。ライブラリ中の各用途シンタックスは、機能ブロッ
クと多目的バスのインタフェースをとるインタフェース
・ブロックも含む。
用途シンタックスは、集積回路の構成単位とみなすこ
とができ、ターゲット技術(たとえば、CMOSなど特定の
マイクロエレクトロニクス集積技術)向けに事前に設計
され、実施され、最適化される。
とができ、ターゲット技術(たとえば、CMOSなど特定の
マイクロエレクトロニクス集積技術)向けに事前に設計
され、実施され、最適化される。
事前に設計された特定用途向け機能ブロック(用途シ
ンタックス)は、下記のように本発明のASPの設計プロ
セスを容易にするために設計ライブラリ内でグループ化
される。設計者はまず、特定用途の設計要求を分析し、
特定用途向け命令を使用してプログラムを作成する場合
と同様に、その設計要求を、ライブラリから選択された
特定用途向け機能ブロックのサブセットとして記述す
る。選択された機能ブロックは次いで、各機能ブロック
内に埋め込まれた標準多目的バス・インタフェースによ
って相互接続される。この集積設計は、プログラム可能
なASP集積回路として合成することができる。合成され
たASP集積回路の合成後調整は、各特定用途向け機能ブ
ロックを順次呼び出し、再構成コマンドおよびデータ入
出力経路指定コマンドを各機能ブロックに提供する命令
プログラムを使用して行われる。各特定用途向け機能ブ
ロックの設計内に電力管理設計機能が組み込まれ、その
ため、大多数の機能ブロック論理機構は、受け取った呼
出しコマンドを実行するのに必要な時間中しかオンにす
ることができない。
ンタックス)は、下記のように本発明のASPの設計プロ
セスを容易にするために設計ライブラリ内でグループ化
される。設計者はまず、特定用途の設計要求を分析し、
特定用途向け命令を使用してプログラムを作成する場合
と同様に、その設計要求を、ライブラリから選択された
特定用途向け機能ブロックのサブセットとして記述す
る。選択された機能ブロックは次いで、各機能ブロック
内に埋め込まれた標準多目的バス・インタフェースによ
って相互接続される。この集積設計は、プログラム可能
なASP集積回路として合成することができる。合成され
たASP集積回路の合成後調整は、各特定用途向け機能ブ
ロックを順次呼び出し、再構成コマンドおよびデータ入
出力経路指定コマンドを各機能ブロックに提供する命令
プログラムを使用して行われる。各特定用途向け機能ブ
ロックの設計内に電力管理設計機能が組み込まれ、その
ため、大多数の機能ブロック論理機構は、受け取った呼
出しコマンドを実行するのに必要な時間中しかオンにす
ることができない。
本発明によるASPの設計は、設計者が各用途シンタッ
クスに関連する複雑なアルゴリズムの深い知識なしにシ
ステム・レベル要求を直接ASP実施態様に変換できるよ
うに高位プログラミング言語によって簡略化される。こ
の言語を使用すると、それぞれの異なる用途シンタック
ス間の関係、すなわち、入出力位置、構成、多目的バス
・クロックに対する各用途シンタックスが呼び出される
時間を含め、各用途シンタックスのパラメータ間の関係
を指定する簡単なプログラムを用いて本発明によるASP
を設計することができる。指定されないパラメータは、
事前に定義されたデフォルト値に設計される。
クスに関連する複雑なアルゴリズムの深い知識なしにシ
ステム・レベル要求を直接ASP実施態様に変換できるよ
うに高位プログラミング言語によって簡略化される。こ
の言語を使用すると、それぞれの異なる用途シンタック
ス間の関係、すなわち、入出力位置、構成、多目的バス
・クロックに対する各用途シンタックスが呼び出される
時間を含め、各用途シンタックスのパラメータ間の関係
を指定する簡単なプログラムを用いて本発明によるASP
を設計することができる。指定されないパラメータは、
事前に定義されたデフォルト値に設計される。
本発明のASPアーキテクチャおよび設計方法を使用し
て様々な製品を設計することができる。たとえば、ライ
ブラリが、通信システムに関係する用途シンタックスを
含む場合、そのシンタックスを使用して、携帯電話、無
線ローカル・エリア・ネットワーク、専用通信網、ディ
ジタル・ケーブル・ネットワーク用の製品を設計するこ
とができる。その結果、用途シンタックスの設計コスト
はライブラリの多数のユーザ間で償却することができ
る。
て様々な製品を設計することができる。たとえば、ライ
ブラリが、通信システムに関係する用途シンタックスを
含む場合、そのシンタックスを使用して、携帯電話、無
線ローカル・エリア・ネットワーク、専用通信網、ディ
ジタル・ケーブル・ネットワーク用の製品を設計するこ
とができる。その結果、用途シンタックスの設計コスト
はライブラリの多数のユーザ間で償却することができ
る。
本発明の方法は、ASP用の簡略化された高位設計技法
も提供する。各用途シンタックスは、事前に定義された
入出力特性を有する「ブラック・ボックス」とみなすこ
とができる。したがって、ライブラリの設計者は、これ
らの複雑な特定用途向け機能をどのように実施するかを
深く理解する必要はない。設計者は、システム・レベル
構成単位または用途シンタックスを用いて作業するだけ
でよい。このような用途シンタックスを使用してシステ
ムを設計する方が、標準セルを選択し、構成し、接続
し、あるいは数千のゲートを相互接続することによって
同じ機能を実施するよりもはるかに容易でかつ高速であ
る。その結果、製品を設計するコストが著しく低減さ
れ、製品の設計に伴う市場時間が著しく短縮される。
も提供する。各用途シンタックスは、事前に定義された
入出力特性を有する「ブラック・ボックス」とみなすこ
とができる。したがって、ライブラリの設計者は、これ
らの複雑な特定用途向け機能をどのように実施するかを
深く理解する必要はない。設計者は、システム・レベル
構成単位または用途シンタックスを用いて作業するだけ
でよい。このような用途シンタックスを使用してシステ
ムを設計する方が、標準セルを選択し、構成し、接続
し、あるいは数千のゲートを相互接続することによって
同じ機能を実施するよりもはるかに容易でかつ高速であ
る。その結果、製品を設計するコストが著しく低減さ
れ、製品の設計に伴う市場時間が著しく短縮される。
また、本発明のASPおよび設計方法によって製品機能
拡張および改良のコストが低減される。開示したASPア
ーキテクチャ、用途シンタックス・ライブラリ、設計方
法を使用すると、用途シンタックスを削除し挿入し、次
いで特定用途向け集積回路の新しいバージョンを再合成
することによって、製品の変更または製品への機能の追
加が容易に行われる。システム全体を再設計する必要は
ない。また、各用途シンタックスの設計内の固有の合成
後プログラム可能性のために、再合成の必要なしに、実
施されたASPをプログラムすることによって製品の機能
拡張を行うことができる。したがって、製品の機能拡張
および改良のコストは大幅に低減される。
拡張および改良のコストが低減される。開示したASPア
ーキテクチャ、用途シンタックス・ライブラリ、設計方
法を使用すると、用途シンタックスを削除し挿入し、次
いで特定用途向け集積回路の新しいバージョンを再合成
することによって、製品の変更または製品への機能の追
加が容易に行われる。システム全体を再設計する必要は
ない。また、各用途シンタックスの設計内の固有の合成
後プログラム可能性のために、再合成の必要なしに、実
施されたASPをプログラムすることによって製品の機能
拡張を行うことができる。したがって、製品の機能拡張
および改良のコストは大幅に低減される。
本発明の用途シンタックス間の相互接続によって、1
組の用途シンタックスが非同期的に動作することができ
るように、多目的バスを使用した粗結合が可能になる。
多目的バス上の各用途シンタックスは、同時に呼び出す
(並列処理)ことも、あるいは時間的にずらして処理す
る(パイプライン処理)こともできる。また、用途シン
タックスがイネーブルされるのは、その処理機能が必要
とされるときだけである。用途シンタックスの電力使用
が、それがイネーブルされるかどうかに依存するので、
この機能によって固有の効率的な電力管理が可能にな
る。
組の用途シンタックスが非同期的に動作することができ
るように、多目的バスを使用した粗結合が可能になる。
多目的バス上の各用途シンタックスは、同時に呼び出す
(並列処理)ことも、あるいは時間的にずらして処理す
る(パイプライン処理)こともできる。また、用途シン
タックスがイネーブルされるのは、その処理機能が必要
とされるときだけである。用途シンタックスの電力使用
が、それがイネーブルされるかどうかに依存するので、
この機能によって固有の効率的な電力管理が可能にな
る。
多目的バスは、コマンドとデータの両方を保持するた
めに使用される。コマンドとデータは、多目的バスへの
単一のアクセスによって同時に送られるように対にされ
る。コマンドおよびデータに割り振られるバス中のワー
ドの数は、各アクセスごとに異なる。この「移動境界」
機能によって多機能バスの効率を最大にすることができ
る。
めに使用される。コマンドとデータは、多目的バスへの
単一のアクセスによって同時に送られるように対にされ
る。コマンドおよびデータに割り振られるバス中のワー
ドの数は、各アクセスごとに異なる。この「移動境界」
機能によって多機能バスの効率を最大にすることができ
る。
本発明のアーキテクチャでは、分散制御も可能であ
り、それによって各用途シンタックスは、コマンドおよ
びデータを生成し、多の用途シンタックスへ送ることが
できる。したがって、中央制御装置は必要とされない。
この分散制御手法では、高度に時間順序付けされたマル
チモード特定用途向け処理を効率的に実施することがで
きる。しかし、本発明のアーキテクチャでは、ある用途
シンタックスを使用して、ASP内で他のいくつかの用途
シンタックスを制御することができる。ある用途シンタ
ックスが他の用途シンタックス群の中央制御装置になる
と、制御される用途シンタックスは用途シンタックス
「クラスタ」として指定される。このように、広いイン
タフェース帯域幅ニーズを有する用途シンタックスを、
前述の多目的バスとは別の単一の物理インタフェースを
有する群として相互接続することができる。この用途シ
ンタックス・クラスタ化によって、相互接続インタフェ
ース帯域幅を集積回路内のデータ・フローの帯域幅に整
合するように調整することができる。この機能によって
データ・フローの輻輳が回避される。
り、それによって各用途シンタックスは、コマンドおよ
びデータを生成し、多の用途シンタックスへ送ることが
できる。したがって、中央制御装置は必要とされない。
この分散制御手法では、高度に時間順序付けされたマル
チモード特定用途向け処理を効率的に実施することがで
きる。しかし、本発明のアーキテクチャでは、ある用途
シンタックスを使用して、ASP内で他のいくつかの用途
シンタックスを制御することができる。ある用途シンタ
ックスが他の用途シンタックス群の中央制御装置になる
と、制御される用途シンタックスは用途シンタックス
「クラスタ」として指定される。このように、広いイン
タフェース帯域幅ニーズを有する用途シンタックスを、
前述の多目的バスとは別の単一の物理インタフェースを
有する群として相互接続することができる。この用途シ
ンタックス・クラスタ化によって、相互接続インタフェ
ース帯域幅を集積回路内のデータ・フローの帯域幅に整
合するように調整することができる。この機能によって
データ・フローの輻輳が回避される。
用途シンタックスの1つの用途は、ディジタル通信の
領域である。用途シンタックスは、ディジタル・フィル
タ、相関器、復調器、エラー訂正など複雑なアルゴリズ
ムを含む。本発明のアーキテクチャでは、通信システム
設計者は、これらのアルゴリズムの詳細を理解する必要
はない。設計者は、適当な用途シンタックスを統合する
に過ぎず、スペクトル拡散、周波数ホッピング、時分割
多重アクセス・モデムなど様々な製品用の複雑な通信特
定用途向け集積回路を容易に設計することができる。
領域である。用途シンタックスは、ディジタル・フィル
タ、相関器、復調器、エラー訂正など複雑なアルゴリズ
ムを含む。本発明のアーキテクチャでは、通信システム
設計者は、これらのアルゴリズムの詳細を理解する必要
はない。設計者は、適当な用途シンタックスを統合する
に過ぎず、スペクトル拡散、周波数ホッピング、時分割
多重アクセス・モデムなど様々な製品用の複雑な通信特
定用途向け集積回路を容易に設計することができる。
図面の簡単な説明 第1図は、本発明の特定用途向けアーキテクチャを示
す図である。
す図である。
第2図は、本発明の用途シンタックス中のインタフェ
ース・アクセス論理ブロックを示す図である。
ース・アクセス論理ブロックを示す図である。
第3図は、本発明の用途シンタックス中のクロック・
イネーブル論理ブロックを示す図である。
イネーブル論理ブロックを示す図である。
第4図は、本発明の用途シンタックス中の用途シンタ
ックス論理ブロックを示す図である。
ックス論理ブロックを示す図である。
第5図は、ASPの設計方法を示す流れ図である。
第6図は、本発明の特定通信用途向けアーキテクチャ
を使用して実施されるモデムのブロック図である。
を使用して実施されるモデムのブロック図である。
第7図は、第6図のモデムのデータ・フロー図であ
る。
る。
第8図は、第6図のモデムのパイプライン処理機能を
示すタイミング図である。
示すタイミング図である。
本発明の他の態様および利点は、一例として本発明の
原則を開示する添付の図面および表に関連して本発明の
下記の説明を読めば明らかになろう。
原則を開示する添付の図面および表に関連して本発明の
下記の説明を読めば明らかになろう。
発明の詳細な説明 本発明は、それぞれ、特定の機能を実行するように設
計された複数の機能要素が、協同してタスクを実行する
ように接続されたプロセッサ・アーキテクチャおよび設
計方法である。これらの機能要素が集積されるアーキテ
クチャと、用途依存処理を実行するための機能要素の集
合を、本明細書では特定用途向けプロセッサ(ASP)と
呼ぶ。
計された複数の機能要素が、協同してタスクを実行する
ように接続されたプロセッサ・アーキテクチャおよび設
計方法である。これらの機能要素が集積されるアーキテ
クチャと、用途依存処理を実行するための機能要素の集
合を、本明細書では特定用途向けプロセッサ(ASP)と
呼ぶ。
第1図は、本発明のASPアーキテクチャ100の概略図で
ある。第1図は、コマンド/データ/タイミング・バス
110と、用途シンタックス111、112、113など複数の用途
シンタックスを示す。これらの用途シンタックスはそれ
ぞれ異なるものでよく、あるいはそのうちのいくつかが
同じであってもよい。用途シンタックス間の通信は、コ
マンド/データ/タイミング・バス110を通じて実行さ
れる。
ある。第1図は、コマンド/データ/タイミング・バス
110と、用途シンタックス111、112、113など複数の用途
シンタックスを示す。これらの用途シンタックスはそれ
ぞれ異なるものでよく、あるいはそのうちのいくつかが
同じであってもよい。用途シンタックス間の通信は、コ
マンド/データ/タイミング・バス110を通じて実行さ
れる。
各用途シンタックスは、コマンド/データ/タイミン
グ・バス110とのインタフェースをとる基本的に同じい
くつかの回路を含む。したがって、用途シンタックス11
1など1つの用途シンタックスのみのインタフェース回
路を詳しく説明すれば十分である。用途シンタックス11
1は、クロック・イネーブル論理ブロック121と、インタ
フェース・アクセス論理ブロック123と、用途シンタッ
クス論理ブロック125とを含む。用途シンタックス論理
ブロック125は、事前に定義された機能を実行する。た
とえば、第1図は、用途シンタックス論理ブロック125
が、外部インタフェース131線として指定された二方向
経路を通じて用途シンタックス111に供給されたユーザ
・データに作用することを示す。クロック・イネーブル
論理ブロック121およびインタフェース・アクセス論理
ブロック123は、用途シンタックス論理ブロック125とコ
マンド/データ/タイミング・バス110のインタフェー
スをとる。クロック・イネーブル論理ブロック121は、
用途シンタックス論理ブロック125にタイミング信号を
提供し、用途シンタックス論理ブロック125をその機能
が必要なときにのみイネーブルする。インタフェース・
アクセス論理ブロック123によって、用途シンタックス
論理ブロック125は、コマンド/データ/タイミング・
バス110を介して、他の用途シンタックスからコマンド
およびデータを受け取り、他の用途シンタックスへコマ
ンドおよびデータを送ることができる。
グ・バス110とのインタフェースをとる基本的に同じい
くつかの回路を含む。したがって、用途シンタックス11
1など1つの用途シンタックスのみのインタフェース回
路を詳しく説明すれば十分である。用途シンタックス11
1は、クロック・イネーブル論理ブロック121と、インタ
フェース・アクセス論理ブロック123と、用途シンタッ
クス論理ブロック125とを含む。用途シンタックス論理
ブロック125は、事前に定義された機能を実行する。た
とえば、第1図は、用途シンタックス論理ブロック125
が、外部インタフェース131線として指定された二方向
経路を通じて用途シンタックス111に供給されたユーザ
・データに作用することを示す。クロック・イネーブル
論理ブロック121およびインタフェース・アクセス論理
ブロック123は、用途シンタックス論理ブロック125とコ
マンド/データ/タイミング・バス110のインタフェー
スをとる。クロック・イネーブル論理ブロック121は、
用途シンタックス論理ブロック125にタイミング信号を
提供し、用途シンタックス論理ブロック125をその機能
が必要なときにのみイネーブルする。インタフェース・
アクセス論理ブロック123によって、用途シンタックス
論理ブロック125は、コマンド/データ/タイミング・
バス110を介して、他の用途シンタックスからコマンド
およびデータを受け取り、他の用途シンタックスへコマ
ンドおよびデータを送ることができる。
ASPアーキテクチャ100では、各用途シンタックス中の
クロック・イネーブル・ブロック121およびインタフェ
ース・アクセス論理ブロック123の構造はほぼ同じであ
る。ただし、用途シンタックスのアドレスなどいくつか
の独自の構成要素は異なる。用途シンタックス・ブロッ
ク125中のいくつかの構成要素はすべての用途シンタッ
クスに共通のものである(たとえば、クロック・イネー
ブル・ブロック121およびインタフェース・アクセス論
理ブロック123とのインタフェースをとる構成要素)。
しかし、特定のデータ処理機能および信号処理機能を実
行する、用途シンタックス中の回路は異なるものでよい
(たとえば、ある用途シンタックスが復調器として働
き、他の用途シンタックスが相関器として働き、以下同
様である)。簡単に言えば、用途シンタックスはそれぞ
れの異なる機能を実行することができるが、コマンド/
データ/タイミング・バス110とのインタフェースをと
る用途シンタックスの部分はほぼ同じである。そのた
め、コマンド/データ/タイミング・バス110を使用し
て用途シンタックスどうしのインタフェースをとること
ができる。
クロック・イネーブル・ブロック121およびインタフェ
ース・アクセス論理ブロック123の構造はほぼ同じであ
る。ただし、用途シンタックスのアドレスなどいくつか
の独自の構成要素は異なる。用途シンタックス・ブロッ
ク125中のいくつかの構成要素はすべての用途シンタッ
クスに共通のものである(たとえば、クロック・イネー
ブル・ブロック121およびインタフェース・アクセス論
理ブロック123とのインタフェースをとる構成要素)。
しかし、特定のデータ処理機能および信号処理機能を実
行する、用途シンタックス中の回路は異なるものでよい
(たとえば、ある用途シンタックスが復調器として働
き、他の用途シンタックスが相関器として働き、以下同
様である)。簡単に言えば、用途シンタックスはそれぞ
れの異なる機能を実行することができるが、コマンド/
データ/タイミング・バス110とのインタフェースをと
る用途シンタックスの部分はほぼ同じである。そのた
め、コマンド/データ/タイミング・バス110を使用し
て用途シンタックスどうしのインタフェースをとること
ができる。
第2図は、第1図に示したインタフェース・アクセス
論理ブロック123の詳細なブロック図を示す。第1図お
よび第2図中の同じ符号は同じ要素を示す。インタフェ
ース・アクセス論理ブロック123は、コマンド/データ
入力ブロック142およびクロック・イネーブル論理ブロ
ック121に接続されたアドレス・デコーダ140を含む。ア
ドレス・デコーダ140は、コマンド/データ・バス150か
らアドレス信号を受け取り、コマンド/データ入力ブロ
ック142およびクロック・イネーブル論理ブロック121
に、用途シンタックス111宛のコマンドおよびデータを
受け入れさせる。コマンド/データ・バス150は、第1
図に示したコマンド/データ/タイミング・バス110の
一部である。コマンド/データ入力ブロック142によっ
て処理されたコマンドおよびデータは用途シンタックス
・ブロック125へ送られる。インタフェース・アクセス
論理ブロック123は、コマンド/データ出力ブロック144
とアドレス出力ブロック148も含む。この2つのブロッ
クは、用途シンタックス論理ブロック125によって生成
されたコマンド、データ、アドレス情報をコマンド/デ
ータ・バス150へ送る。インタフェース・アクセス論理
ブロック123は、コマンド/データ出力ブロック144およ
びアドレス出力ブロック148に接続されたバス・アクセ
ス回路146も含む。
論理ブロック123の詳細なブロック図を示す。第1図お
よび第2図中の同じ符号は同じ要素を示す。インタフェ
ース・アクセス論理ブロック123は、コマンド/データ
入力ブロック142およびクロック・イネーブル論理ブロ
ック121に接続されたアドレス・デコーダ140を含む。ア
ドレス・デコーダ140は、コマンド/データ・バス150か
らアドレス信号を受け取り、コマンド/データ入力ブロ
ック142およびクロック・イネーブル論理ブロック121
に、用途シンタックス111宛のコマンドおよびデータを
受け入れさせる。コマンド/データ・バス150は、第1
図に示したコマンド/データ/タイミング・バス110の
一部である。コマンド/データ入力ブロック142によっ
て処理されたコマンドおよびデータは用途シンタックス
・ブロック125へ送られる。インタフェース・アクセス
論理ブロック123は、コマンド/データ出力ブロック144
とアドレス出力ブロック148も含む。この2つのブロッ
クは、用途シンタックス論理ブロック125によって生成
されたコマンド、データ、アドレス情報をコマンド/デ
ータ・バス150へ送る。インタフェース・アクセス論理
ブロック123は、コマンド/データ出力ブロック144およ
びアドレス出力ブロック148に接続されたバス・アクセ
ス回路146も含む。
2つのコマンド/データ・ブロック142および144は、
それぞれ、サイズが異なる、一対のコマンドとデータか
らなる入出力フォーマットに作用する。コマンドおよび
データの全体的なサイズは、特定用途向けシンタックス
論理機構の動作ニーズに基づくものである。前述のコマ
ンド・データ対は移動境界を有し、この移動境界によっ
て物理インタフェース(すなわち、コマンド/データ/
タイミング・バス110)効率を最大にすることができ
る。
それぞれ、サイズが異なる、一対のコマンドとデータか
らなる入出力フォーマットに作用する。コマンドおよび
データの全体的なサイズは、特定用途向けシンタックス
論理機構の動作ニーズに基づくものである。前述のコマ
ンド・データ対は移動境界を有し、この移動境界によっ
て物理インタフェース(すなわち、コマンド/データ/
タイミング・バス110)効率を最大にすることができ
る。
インタフェース・アクセス論理ブロック123の構造は
すべての用途シンタックスに対してほぼ同じなので、あ
る用途シンタックスは、コマンド/データ/タイミング
・バス110を通じて他の用途シンタックスへコマンドお
よびデータを送ることができる。この「データ・ドリブ
ン」分散制御手法によって、高度に時間順序付けされた
マルチモード特定用途向け処理を効率的に実施すること
ができる。したがって、このアーキテクチャでは、制御
手法を完全に中央制御された手法に制限する必要はな
く、分散制御手法、または中央制御手法、または混成制
御手法を使用して、所期の用途のニーズを最もうまく満
たすことができる。用途シンタックスが他の用途シンタ
ックスへのコマンドを生成する能力によって、ある用途
シンタックスが、用途シンタックス・クラスタとして指
定された一群の他の用途シンタックスの中央制御装置に
なることができる。
すべての用途シンタックスに対してほぼ同じなので、あ
る用途シンタックスは、コマンド/データ/タイミング
・バス110を通じて他の用途シンタックスへコマンドお
よびデータを送ることができる。この「データ・ドリブ
ン」分散制御手法によって、高度に時間順序付けされた
マルチモード特定用途向け処理を効率的に実施すること
ができる。したがって、このアーキテクチャでは、制御
手法を完全に中央制御された手法に制限する必要はな
く、分散制御手法、または中央制御手法、または混成制
御手法を使用して、所期の用途のニーズを最もうまく満
たすことができる。用途シンタックスが他の用途シンタ
ックスへのコマンドを生成する能力によって、ある用途
シンタックスが、用途シンタックス・クラスタとして指
定された一群の他の用途シンタックスの中央制御装置に
なることができる。
このアーキテクチャの他の利点は、コマンド/データ
/タイミング・バス110が用途シンタックス論理機構か
ら隠されることである(すなわち、用途シンタックス論
理機構はバス動作の詳細を知る必要がない)。したがっ
て、用途シンタックスに関する特定の機能の設計者は、
バス動作を知る必要がなく、その結果、経済的な利益が
ある。
/タイミング・バス110が用途シンタックス論理機構か
ら隠されることである(すなわち、用途シンタックス論
理機構はバス動作の詳細を知る必要がない)。したがっ
て、用途シンタックスに関する特定の機能の設計者は、
バス動作を知る必要がなく、その結果、経済的な利益が
ある。
第3図は、第1図に示したクロック・イネーブル論理
ブロック121の詳細なブロック図を示す。第1図、第2
図、第3図中の同じ符号は同じ要素を示す。クロック・
イネーブル論理ブロック121は、タイミング・バス153、
コマンド/データ・バス150、インタフェース・アクセ
ス論理ブロック123のアドレス・デコーダ140からの入力
を受け入れるコマンド状態レジスタ211を含む。タイミ
ング・バス153は、コマンド/データ/タイミング・バ
ス110の一部であり、通常、それぞれの異なる線上に保
持された複数のクロック信号を含む。
ブロック121の詳細なブロック図を示す。第1図、第2
図、第3図中の同じ符号は同じ要素を示す。クロック・
イネーブル論理ブロック121は、タイミング・バス153、
コマンド/データ・バス150、インタフェース・アクセ
ス論理ブロック123のアドレス・デコーダ140からの入力
を受け入れるコマンド状態レジスタ211を含む。タイミ
ング・バス153は、コマンド/データ/タイミング・バ
ス110の一部であり、通常、それぞれの異なる線上に保
持された複数のクロック信号を含む。
コマンド状態レジスタ211は、用途シンタックス111に
アドレスされた時間に関係するコマンドおよびデータを
受け取る。コマンド状態レジスタ211は、このようなコ
マンドおよびデータを使用して、mux選択値およびエポ
ック・モジュロ値を求める。mux選択値は、マルチプレ
ックス213がタイミング・バス153から所望のクロック
(またはエポック)を選択できるように1組のmux選択
線214を通じてマルチプレックス213へ送られる。エポッ
ク・モジュロ値は、下記で説明するように、コマンド論
理ブロック217へ送られ、コマンド論理ブロック217内で
モジュロ(すなわち、ゲート・クロックをイネーブルす
る前にカウントすべきエポックの数)を定義する。
アドレスされた時間に関係するコマンドおよびデータを
受け取る。コマンド状態レジスタ211は、このようなコ
マンドおよびデータを使用して、mux選択値およびエポ
ック・モジュロ値を求める。mux選択値は、マルチプレ
ックス213がタイミング・バス153から所望のクロック
(またはエポック)を選択できるように1組のmux選択
線214を通じてマルチプレックス213へ送られる。エポッ
ク・モジュロ値は、下記で説明するように、コマンド論
理ブロック217へ送られ、コマンド論理ブロック217内で
モジュロ(すなわち、ゲート・クロックをイネーブルす
る前にカウントすべきエポックの数)を定義する。
マルチプレックス213の出力は活動タイマ215に接続さ
れる。活動タイマ215はまた、線227を通じてコマンド論
理ブロック217から「count(カウント)」信号を受け取
る。このcount信号は、コマンド論理ブロック217中の前
述のエポック・モジュロ値に対応する。活動タイマ215
はこのcount信号を使用して(コマンド状態レジスタに
よって選択された)エポックをカウントし、「complete
(完了)」信号を線225を通じてコマンド論理ブロック2
17へ送る。コマンド論理ブロック217は次いで、ゲート
・クロックをイネーブルし、(ゲート・クロックに同期
する)start(開始)信号を生成する。start信号および
ゲート・クロックはそれぞれ、線219および221を介して
用途シンタックス論理ブロック125に結合される。コマ
ンド論理ブロック217は、線220を介して用途シンタック
ス・ブロック125から「done(終了)」信号を受け取
る。コマンド論理ブロック217は、それ自体がコマンド
状態レジスタ211からのコマンドを介してゲート・クロ
ックをイネーブルしディスエーブルすることができるよ
うにする回路を含む。
れる。活動タイマ215はまた、線227を通じてコマンド論
理ブロック217から「count(カウント)」信号を受け取
る。このcount信号は、コマンド論理ブロック217中の前
述のエポック・モジュロ値に対応する。活動タイマ215
はこのcount信号を使用して(コマンド状態レジスタに
よって選択された)エポックをカウントし、「complete
(完了)」信号を線225を通じてコマンド論理ブロック2
17へ送る。コマンド論理ブロック217は次いで、ゲート
・クロックをイネーブルし、(ゲート・クロックに同期
する)start(開始)信号を生成する。start信号および
ゲート・クロックはそれぞれ、線219および221を介して
用途シンタックス論理ブロック125に結合される。コマ
ンド論理ブロック217は、線220を介して用途シンタック
ス・ブロック125から「done(終了)」信号を受け取
る。コマンド論理ブロック217は、それ自体がコマンド
状態レジスタ211からのコマンドを介してゲート・クロ
ックをイネーブルしディスエーブルすることができるよ
うにする回路を含む。
クロック・イネーブル論理ブロック121は、指定され
たタイミング・エポックの特定の発生時に用途シンタッ
クス論理ブロック125を活動化する。たとえば、クロッ
ク・イネーブル論理ブロック121は、事前に定義された
エポック時に用途シンタックス論理ブロック125を活動
化し、アイドル時間中にゲート・クロックをディスエー
ブルし、それによって用途シンタックス111の電力散逸
を制限するように構成することができる。さらに、クロ
ック・イネーブル論理ブロック121は、システム全体に
わたって分布されたタイミング・エポックに基づく用途
シンタックスの自律動作を可能にする。したがって、各
用途シンタックスをその機能が必要なときしかイネーブ
ルできないようにすることによって、データ処理の時間
順序付けと効率的な電力管理は共に、このアーキテクチ
ャの固有の態様になる。
たタイミング・エポックの特定の発生時に用途シンタッ
クス論理ブロック125を活動化する。たとえば、クロッ
ク・イネーブル論理ブロック121は、事前に定義された
エポック時に用途シンタックス論理ブロック125を活動
化し、アイドル時間中にゲート・クロックをディスエー
ブルし、それによって用途シンタックス111の電力散逸
を制限するように構成することができる。さらに、クロ
ック・イネーブル論理ブロック121は、システム全体に
わたって分布されたタイミング・エポックに基づく用途
シンタックスの自律動作を可能にする。したがって、各
用途シンタックスをその機能が必要なときしかイネーブ
ルできないようにすることによって、データ処理の時間
順序付けと効率的な電力管理は共に、このアーキテクチ
ャの固有の態様になる。
第4図は、第1図に示した用途シンタックス論理ブロ
ック125の詳細なブロック図を示す。第1図、第2図、
第3図および第4図中の同じ符号は同じ要素を示す。用
途シンタックス論理ブロック125は、外部インタフェー
ス131線を介して供給されるユーザ・データの変換な
ど、用途シンタックスに特有の定義済み機能を実行する
用途機能論理ブロック256を含む。すなわち、用途機能
ブロック256は、すべての用途シンタックスに共通のイ
ンタフェース構造の一部ではない回路を含む。用途シン
タックス論理ブロック125は、インタフェース・アクセ
ス論理ブロックからコマンドおよびデータを受け取り、
クロック・イネーブル論理ブロック121からゲート・ク
ロック信号を受け取るコマンド/データmux/demuxブロ
ック252も含む。コマンド/データmux/demux論理ブロッ
ク252は、インタフェース・アクセス論理ブロック123か
ら受け取った(コマンド/復号論理ブロック254へ送
る)コマンドおよび(用途機能論理ブロック256との二
方向通信用の)データを抽出する。
ック125の詳細なブロック図を示す。第1図、第2図、
第3図および第4図中の同じ符号は同じ要素を示す。用
途シンタックス論理ブロック125は、外部インタフェー
ス131線を介して供給されるユーザ・データの変換な
ど、用途シンタックスに特有の定義済み機能を実行する
用途機能論理ブロック256を含む。すなわち、用途機能
ブロック256は、すべての用途シンタックスに共通のイ
ンタフェース構造の一部ではない回路を含む。用途シン
タックス論理ブロック125は、インタフェース・アクセ
ス論理ブロックからコマンドおよびデータを受け取り、
クロック・イネーブル論理ブロック121からゲート・ク
ロック信号を受け取るコマンド/データmux/demuxブロ
ック252も含む。コマンド/データmux/demux論理ブロッ
ク252は、インタフェース・アクセス論理ブロック123か
ら受け取った(コマンド/復号論理ブロック254へ送
る)コマンドおよび(用途機能論理ブロック256との二
方向通信用の)データを抽出する。
コマンド/復号論理ブロック254は、用途論理ブロッ
ク125の制御装置とみなすことができる。コマンド/復
号論理ブロック254は、線262を介して用途シンタックス
機能論理ブロック256の動作を制御する。すなわち、コ
マンド/復号論理ブロック254は、コマンド/データmux
/demuxブロック252を介してインタフェース・アクセス
論理ブロック123からコマンドを受け入れ、そのコマン
ドを解釈し、用途機能論理ブロック256の動作を制御す
る。動作の例には、(i)用途機能論理ブロック256を
構成することや、(ii)外部インタフェース131線から
供給されたユーザ・データの特定の定義済み変換を呼び
出すことがある。コマンドの完了時に、用途機能論理ブ
ロック256は「complete」信号を線264を介してコマンド
/復号論理ブロック254へ送る。
ク125の制御装置とみなすことができる。コマンド/復
号論理ブロック254は、線262を介して用途シンタックス
機能論理ブロック256の動作を制御する。すなわち、コ
マンド/復号論理ブロック254は、コマンド/データmux
/demuxブロック252を介してインタフェース・アクセス
論理ブロック123からコマンドを受け入れ、そのコマン
ドを解釈し、用途機能論理ブロック256の動作を制御す
る。動作の例には、(i)用途機能論理ブロック256を
構成することや、(ii)外部インタフェース131線から
供給されたユーザ・データの特定の定義済み変換を呼び
出すことがある。コマンドの完了時に、用途機能論理ブ
ロック256は「complete」信号を線264を介してコマンド
/復号論理ブロック254へ送る。
前述のように、コマンド/復号論理ブロック254が受
け取った219上のstart信号は、用途機能論理ブロック25
6の呼出しを同期させるために使用される。コマンド/
復号論理ブロック254は「done」信号も生成し、(線220
を介して)クロック・イネーブル論理ブロック121へ送
る。クロック・イネーブル論理ブロック121は、コマン
ド/復号論理ブロック254、用途機能論理ブロック256、
コマンド/データmux/demuxブロック252へのゲート・ク
ロックをディスエーブルする。これらのブロックへのゲ
ート・クロックをディスエーブルすると基本的に、これ
らのブロックはオフになる。逆に、ゲート・クロックを
イネーブルすると、これらのブロックはオンになる。
け取った219上のstart信号は、用途機能論理ブロック25
6の呼出しを同期させるために使用される。コマンド/
復号論理ブロック254は「done」信号も生成し、(線220
を介して)クロック・イネーブル論理ブロック121へ送
る。クロック・イネーブル論理ブロック121は、コマン
ド/復号論理ブロック254、用途機能論理ブロック256、
コマンド/データmux/demuxブロック252へのゲート・ク
ロックをディスエーブルする。これらのブロックへのゲ
ート・クロックをディスエーブルすると基本的に、これ
らのブロックはオフになる。逆に、ゲート・クロックを
イネーブルすると、これらのブロックはオンになる。
上記で指摘したように、用途シンタックス中の用途機
能論理ブロック256は、事前に定義された機能を実行す
るように特定的に設計される。各用途シンタックスは、
ターゲット技術(たとえば、特定のマイクロエレクトロ
ニクス集積技術)向けに事前に設計され、実施され、最
適化された特定用途向け機能を定義する。それぞれの異
なるデータ変換機能および信号変換機能を実行する1組
の用途シンタックスをライブラリに入れることができ
る。ある種の用途(たとえば、無線通信用のモデム)向
けにシステムを設計する際、適当な用途シンタックスが
ライブラリから選択され、所望の機能を実行できるよう
にコマンド/データ/タイミング・バス上に置かれる。
能論理ブロック256は、事前に定義された機能を実行す
るように特定的に設計される。各用途シンタックスは、
ターゲット技術(たとえば、特定のマイクロエレクトロ
ニクス集積技術)向けに事前に設計され、実施され、最
適化された特定用途向け機能を定義する。それぞれの異
なるデータ変換機能および信号変換機能を実行する1組
の用途シンタックスをライブラリに入れることができ
る。ある種の用途(たとえば、無線通信用のモデム)向
けにシステムを設計する際、適当な用途シンタックスが
ライブラリから選択され、所望の機能を実行できるよう
にコマンド/データ/タイミング・バス上に置かれる。
第1図ないし第4図に提示した実施形態では、コマン
ド引数がコマンド/データ・バス150上へ送られ、イン
タフェース・アクセス論理ブロック123およびクロック
・イネーブル論理ブロック121によって処理される。時
間引数は、タイミング・バス153上へ送られ、主として
クロック・イネーブル論理ブロック121によって処理さ
れる。
ド引数がコマンド/データ・バス150上へ送られ、イン
タフェース・アクセス論理ブロック123およびクロック
・イネーブル論理ブロック121によって処理される。時
間引数は、タイミング・バス153上へ送られ、主として
クロック・イネーブル論理ブロック121によって処理さ
れる。
ASPアーキテクチャによって、1組の用途シンタック
スを同時に呼び出す(並列処理)ことも、あるいは時間
的にずらす(パイプライン処理)ことも、あるいは時間
的に順序付ける(非オーバーラップ処理)こともでき
る。この機能は、システム設計選択においてかなりの融
通性をもたらす。同時呼出し(並列処理)によって高処
理スループットを実現することができる。時間的にずら
し(パイプライン処理)、あるいは時間的に順序付けた
(非オーバーラップ処理)呼出しによって、ある用途シ
ンタックスが他の用途シンタックス用の前処理装置とし
て働くことができる。各用途シンタックスの時間(T)
引数は、呼出しエポックのアラインメントを決定し、他
の用途シンタックスに対する最も効率的な処理を実現す
る。
スを同時に呼び出す(並列処理)ことも、あるいは時間
的にずらす(パイプライン処理)ことも、あるいは時間
的に順序付ける(非オーバーラップ処理)こともでき
る。この機能は、システム設計選択においてかなりの融
通性をもたらす。同時呼出し(並列処理)によって高処
理スループットを実現することができる。時間的にずら
し(パイプライン処理)、あるいは時間的に順序付けた
(非オーバーラップ処理)呼出しによって、ある用途シ
ンタックスが他の用途シンタックス用の前処理装置とし
て働くことができる。各用途シンタックスの時間(T)
引数は、呼出しエポックのアラインメントを決定し、他
の用途シンタックスに対する最も効率的な処理を実現す
る。
完全な1組の使用可能な用途シンタックスを含むライ
ブラリから適当な用途シンタックスが選択される。この
アーキテクチャ設計では、任意の1組の用途シンタック
スを、完全に接続されたトポロジとして相互接続するこ
とができ、それによって2つの用途シンタックス間のデ
ータ・フローが可能になる。この相互接続は粗結合に基
づくものであり、そのため、1組の用途シンタックスが
非同期的に動作することができる。
ブラリから適当な用途シンタックスが選択される。この
アーキテクチャ設計では、任意の1組の用途シンタック
スを、完全に接続されたトポロジとして相互接続するこ
とができ、それによって2つの用途シンタックス間のデ
ータ・フローが可能になる。この相互接続は粗結合に基
づくものであり、そのため、1組の用途シンタックスが
非同期的に動作することができる。
次に、第5図に示した流れ図を参照して本発明のASP
集積回路の設計方法について詳しく説明する。第1に、
ターゲット製品の処理要求が分析され、通信製品の場合
には、フィルタリング、復調、インタリーブ解除など、
基本的な特定用途向けプロセスとして分解される(プロ
セス10)。次に、特定用途向け機能ブロック12のライブ
ラリが探索され、識別された処理ニーズを満たすのに適
した用途シンタックスのサブセットが識別される(プロ
セス14)。新しくあるいは独自の特定用途向け処理機能
が、ライブラリに含まれていないと識別された場合、こ
の新しくあるいは独自の用途処理ニーズは、ASP多目的
バスとの前述のインタフェースを組み込んだ用途シンタ
ックス内でハードウェア記述言語(HDL)を使用して実
施される(プロセス16)。新たに設計された用途シンタ
ックスHDLは、ライブラリに存在するものとして識別さ
れた設計済み用途シンタックスのHDLと統合され、ター
ゲットASP集積回路のHDLが形成される(プロセス18)。
集積回路の設計方法について詳しく説明する。第1に、
ターゲット製品の処理要求が分析され、通信製品の場合
には、フィルタリング、復調、インタリーブ解除など、
基本的な特定用途向けプロセスとして分解される(プロ
セス10)。次に、特定用途向け機能ブロック12のライブ
ラリが探索され、識別された処理ニーズを満たすのに適
した用途シンタックスのサブセットが識別される(プロ
セス14)。新しくあるいは独自の特定用途向け処理機能
が、ライブラリに含まれていないと識別された場合、こ
の新しくあるいは独自の用途処理ニーズは、ASP多目的
バスとの前述のインタフェースを組み込んだ用途シンタ
ックス内でハードウェア記述言語(HDL)を使用して実
施される(プロセス16)。新たに設計された用途シンタ
ックスHDLは、ライブラリに存在するものとして識別さ
れた設計済み用途シンタックスのHDLと統合され、ター
ゲットASP集積回路のHDLが形成される(プロセス18)。
プロセス20で動作レベル・シミュレーションが実行さ
れ、内部インタフェースおよび外部インタフェースが設
計仕様を満たすかどうかが確認される。プロセス20で動
作レベル・シミュレーションが実行されるのと同時に、
特定用途向けプログラムが、それを使用して、ターゲッ
ト特定用途向けASICの処理要求を実施するように選択さ
れた用途シンタックスの動作を順序付けることができる
ように設計される(プロセス24)。次に、統合HDLが、A
SPを実施するために選択された技術を対象とする適当な
コンピュータ支援設計(CAD)合成ツールを用いて合成
される(プロセス22)。プロセス26で、結果として得ら
れる論理機能が、プロセス24で設計された特定用途向け
命令プログラムと組み合わされ、ゲート・レベルでシミ
ュレートされ、ターゲット特定用途向け要求を満たして
いることが検証される。適当なゲート・レベル論理シミ
ュレーションの完了時に、ASICレイアウトおよび製造向
けの設計がリリースされる(プロセス28)。
れ、内部インタフェースおよび外部インタフェースが設
計仕様を満たすかどうかが確認される。プロセス20で動
作レベル・シミュレーションが実行されるのと同時に、
特定用途向けプログラムが、それを使用して、ターゲッ
ト特定用途向けASICの処理要求を実施するように選択さ
れた用途シンタックスの動作を順序付けることができる
ように設計される(プロセス24)。次に、統合HDLが、A
SPを実施するために選択された技術を対象とする適当な
コンピュータ支援設計(CAD)合成ツールを用いて合成
される(プロセス22)。プロセス26で、結果として得ら
れる論理機能が、プロセス24で設計された特定用途向け
命令プログラムと組み合わされ、ゲート・レベルでシミ
ュレートされ、ターゲット特定用途向け要求を満たして
いることが検証される。適当なゲート・レベル論理シミ
ュレーションの完了時に、ASICレイアウトおよび製造向
けの設計がリリースされる(プロセス28)。
用途シンタックス・ライブラリは、プログラミング言
語での命令の集合とみなすことができる。ユーザは、所
期の用途に一致するプログラム可能なASPを実施する適
当な命令サブセットをライブラリから選択することがで
きる。この命令セットは、ターゲット用途(たとえば、
ディジタル通信)の特定の処理ニーズを満たすように調
整することができる。ASPアーキテクチャは、命令セッ
ト中の命令をある種の用途を実行するために共働するよ
うに組み合わせることができるアーキテクチャである。
この特定用途向け命令セット中の個別のメンバは、用途
レベルでの基本命令としてアドレスできる単一の「シン
タックス」への非常に複雑であり、しかも頻繁に使用さ
れるタイプのデータ変換を捕捉するように設計される。
前述のように、この種のシンタックスを「用途シンタッ
クス」または「用途要素」と呼ぶ。このようなシンタッ
クスの物理的な実施形態の例には、第1図ないし第4図
に関連して上記で論じた用途シンタックス111、112、11
3がある。
語での命令の集合とみなすことができる。ユーザは、所
期の用途に一致するプログラム可能なASPを実施する適
当な命令サブセットをライブラリから選択することがで
きる。この命令セットは、ターゲット用途(たとえば、
ディジタル通信)の特定の処理ニーズを満たすように調
整することができる。ASPアーキテクチャは、命令セッ
ト中の命令をある種の用途を実行するために共働するよ
うに組み合わせることができるアーキテクチャである。
この特定用途向け命令セット中の個別のメンバは、用途
レベルでの基本命令としてアドレスできる単一の「シン
タックス」への非常に複雑であり、しかも頻繁に使用さ
れるタイプのデータ変換を捕捉するように設計される。
前述のように、この種のシンタックスを「用途シンタッ
クス」または「用途要素」と呼ぶ。このようなシンタッ
クスの物理的な実施形態の例には、第1図ないし第4図
に関連して上記で論じた用途シンタックス111、112、11
3がある。
ASPアーキテクチャ内では、用途シンタックスは2組
の基本的な引数、すなわちコマンド(C)および時間
(T)を用いて呼び出される。ソフトウェア・プログラ
ミングと同様な用語では、シンタックスの構造は「シン
タックス(C,T)」である。各シンタックスは、呼び出
されると、特定用途向け変換またはマッピングを適用す
ることによって、指定された入力アレイ、またはデータ
構造、またはコマンド、あるいはそれらの組合せを出力
に変換する。シンタックスのコマンド(C)引数によっ
て、用途シンタックスに埋め込まれた制御パラメータを
所望の値に設定することができ、したがって、用途シン
タックスによって実行される変換を、実行される機能変
換のタイプを変更せずにある呼出しから他の呼出しに変
更することができる。たとえば、通信特定用途向けプロ
セッサ(CASP)内では、フィルタ帯域幅を変更できるよ
うにするコマンド引数を含むフィルタ関数となるように
用途シンタックスを定義することができる。シンタック
スの時間(T)引数によって、用途シンタックスを特定
の時間エポックに呼び出すことができ、この場合、引数
(T)の値は、用途シンタックスを呼び出す時間、また
は連続的な呼出し間の時間間隔を指定する。ハードウェ
アで実施する場合、各シンタックスは、呼び出される
と、特定用途向け変換またはマッピングを適用すること
によって、指定された入力アレイ、またはデータ構造、
またはコマンド、あるいはそれらの組合せを出力に変換
する。シンタックスのコマンド(C)引数によって、用
途シンタックス内に埋め込まれた特定の制御パラメータ
を所望の値に設定することができ、したがって、用途シ
ンタックスによって実行される変換を、実行される機能
変換のタイプを変更せずにある呼出しから他の呼出しに
変更することができる。たとえば、通信特定用途向けプ
ロセッサ(CASP)内では、フィルタ帯域幅を変更できる
ようにするコマンド引数を含むフィルタ関数となるよう
に用途シンタックスを定義することができる。シンタッ
クスの時間(T)引数によって、用途シンタックスを特
定の時間エポックに呼び出すことができ、この場合、引
数(T)の値は、用途シンタックスを呼び出す時間、ま
たは連続的な呼出し間の時間間隔を指定する。
の基本的な引数、すなわちコマンド(C)および時間
(T)を用いて呼び出される。ソフトウェア・プログラ
ミングと同様な用語では、シンタックスの構造は「シン
タックス(C,T)」である。各シンタックスは、呼び出
されると、特定用途向け変換またはマッピングを適用す
ることによって、指定された入力アレイ、またはデータ
構造、またはコマンド、あるいはそれらの組合せを出力
に変換する。シンタックスのコマンド(C)引数によっ
て、用途シンタックスに埋め込まれた制御パラメータを
所望の値に設定することができ、したがって、用途シン
タックスによって実行される変換を、実行される機能変
換のタイプを変更せずにある呼出しから他の呼出しに変
更することができる。たとえば、通信特定用途向けプロ
セッサ(CASP)内では、フィルタ帯域幅を変更できるよ
うにするコマンド引数を含むフィルタ関数となるように
用途シンタックスを定義することができる。シンタック
スの時間(T)引数によって、用途シンタックスを特定
の時間エポックに呼び出すことができ、この場合、引数
(T)の値は、用途シンタックスを呼び出す時間、また
は連続的な呼出し間の時間間隔を指定する。ハードウェ
アで実施する場合、各シンタックスは、呼び出される
と、特定用途向け変換またはマッピングを適用すること
によって、指定された入力アレイ、またはデータ構造、
またはコマンド、あるいはそれらの組合せを出力に変換
する。シンタックスのコマンド(C)引数によって、用
途シンタックス内に埋め込まれた特定の制御パラメータ
を所望の値に設定することができ、したがって、用途シ
ンタックスによって実行される変換を、実行される機能
変換のタイプを変更せずにある呼出しから他の呼出しに
変更することができる。たとえば、通信特定用途向けプ
ロセッサ(CASP)内では、フィルタ帯域幅を変更できる
ようにするコマンド引数を含むフィルタ関数となるよう
に用途シンタックスを定義することができる。シンタッ
クスの時間(T)引数によって、用途シンタックスを特
定の時間エポックに呼び出すことができ、この場合、引
数(T)の値は、用途シンタックスを呼び出す時間、ま
たは連続的な呼出し間の時間間隔を指定する。
本発明の原則の下では、ASPは、その設計の合成前段
でプログラムすることも、合成後段でプログラムするこ
ともできる。全体的な設計プロセスは、要求分析、機能
分解、用途シンタックス・ライブラリ探索、用途シンタ
ックス統合などをカバーするものであり、上記で第5図
に関連して説明したとおりである。合成前プログラム可
能性とは特に、集積回路設計者が機能ブロックのHDLモ
デルを適応化することによって各機能ブロックの設計を
さらにカスタム化できるようにするプログラム可能性を
指す。合成前または合成後にプログラムできる例示的な
機能の要約をPSK復調器に関連して表1に提示する。あ
る機能は合成前または合成後にプログラム可能になるよ
うに実施することができ、これに対して、他の機能は一
方の段で実施するのが好ましく、他方の段で実施するの
は好ましくない(たとえば、モデムでは、バイナリ位相
シフト・キーイング対クォーターナル位相ソフト・キー
イングは合成前に呼び出すことが好ましく、これに対し
てモデムのボー・レートは合成後にプログラムされる)
ことが、当業者なら理解されよう。合成前プログラム可
能性を実施することは、不要な機能を削除し、カスタム
機能を追加し、具体的には、プリコンパイラ・フラグま
たはマクロを使用して、特定のパラメータの設定を通じ
て特定の機能の呼出しを制御できるように、HDLモデル
を高度にモジュール化しコメント付きで構成することと
同程度に簡単であるはずである。
でプログラムすることも、合成後段でプログラムするこ
ともできる。全体的な設計プロセスは、要求分析、機能
分解、用途シンタックス・ライブラリ探索、用途シンタ
ックス統合などをカバーするものであり、上記で第5図
に関連して説明したとおりである。合成前プログラム可
能性とは特に、集積回路設計者が機能ブロックのHDLモ
デルを適応化することによって各機能ブロックの設計を
さらにカスタム化できるようにするプログラム可能性を
指す。合成前または合成後にプログラムできる例示的な
機能の要約をPSK復調器に関連して表1に提示する。あ
る機能は合成前または合成後にプログラム可能になるよ
うに実施することができ、これに対して、他の機能は一
方の段で実施するのが好ましく、他方の段で実施するの
は好ましくない(たとえば、モデムでは、バイナリ位相
シフト・キーイング対クォーターナル位相ソフト・キー
イングは合成前に呼び出すことが好ましく、これに対し
てモデムのボー・レートは合成後にプログラムされる)
ことが、当業者なら理解されよう。合成前プログラム可
能性を実施することは、不要な機能を削除し、カスタム
機能を追加し、具体的には、プリコンパイラ・フラグま
たはマクロを使用して、特定のパラメータの設定を通じ
て特定の機能の呼出しを制御できるように、HDLモデル
を高度にモジュール化しコメント付きで構成することと
同程度に簡単であるはずである。
特定用途向けプロセッサ・アーキテクチャのこの実施
形態では、バス幅やクロッキング速度など多目的バスの
属性を特定の用途のニーズを満たすように合成前にプロ
グラムすることができる。これによって、集積回路設計
者は、多目的バスを最適化することができ、したがって
効率的なゲート数実施態様が可能になる。
形態では、バス幅やクロッキング速度など多目的バスの
属性を特定の用途のニーズを満たすように合成前にプロ
グラムすることができる。これによって、集積回路設計
者は、多目的バスを最適化することができ、したがって
効率的なゲート数実施態様が可能になる。
各機能ブロックの設計内で固有なこととして、所望の
値を用いてプログラムできるレジスタを使用して処理ア
ルゴリズムのある種のパラメータの値が実施される。こ
のようなレジスタのサイズ、したがって各レジスタのプ
ログラム可能な値の範囲は、特定用途のニーズを満たす
ように合成前にプログラムすることができる。実際上、
この合成前プログラム可能性機能によって、集積回路設
計者は、後述のように特定用途のニーズを満たすように
設計の合成後プログラム可能性を最適化することがで
き、低ゲート数実施態様を達成するうえで追加効率がも
たらされる。
値を用いてプログラムできるレジスタを使用して処理ア
ルゴリズムのある種のパラメータの値が実施される。こ
のようなレジスタのサイズ、したがって各レジスタのプ
ログラム可能な値の範囲は、特定用途のニーズを満たす
ように合成前にプログラムすることができる。実際上、
この合成前プログラム可能性機能によって、集積回路設
計者は、後述のように特定用途のニーズを満たすように
設計の合成後プログラム可能性を最適化することがで
き、低ゲート数実施態様を達成するうえで追加効率がも
たらされる。
多目的バス内に組み込まれたタイミング信号の速度を
特定用途のニーズを満たすように合成前にプログラムす
ることもできる。この場合も、設計者は特定用途のニー
ズを満たすようにゲート数を最適化することができる。
特定用途のニーズを満たすように合成前にプログラムす
ることもできる。この場合も、設計者は特定用途のニー
ズを満たすようにゲート数を最適化することができる。
合成後には、本発明の特定用途向けプロセッサ・アー
キテクチャによって、2つの機能ブロック間のデータ転
送をプログラムすることができる、したがって、各機能
ブロックは、入出力データのメモリ・アドレスを、各機
能ブロックに命令する重要な部分として用いてプログラ
ムすることができる。
キテクチャによって、2つの機能ブロック間のデータ転
送をプログラムすることができる、したがって、各機能
ブロックは、入出力データのメモリ・アドレスを、各機
能ブロックに命令する重要な部分として用いてプログラ
ムすることができる。
前述のように、処理アルゴリズムのある種のパラメー
タの値は、所望の値を用いてプログラムできるレジスタ
を使用して実施される。したがって、各機能ブロック
は、パラメータによってプログラムできる特定用途向け
高位動作または命令としてみなすことができる。このた
め、特定用途向けプロセッサは、特定用途の即時的なニ
ーズに合わせて各機能ブロックの処理機能を調整するよ
うに合成後にプログラムすることができる。
タの値は、所望の値を用いてプログラムできるレジスタ
を使用して実施される。したがって、各機能ブロック
は、パラメータによってプログラムできる特定用途向け
高位動作または命令としてみなすことができる。このた
め、特定用途向けプロセッサは、特定用途の即時的なニ
ーズに合わせて各機能ブロックの処理機能を調整するよ
うに合成後にプログラムすることができる。
さらに、各機能ブロックは、多目的バス上で機能ブロ
ックに供給されるタイミング信号に対して呼出し時間を
制御するように合成後にプログラムすることができる。
ックに供給されるタイミング信号に対して呼出し時間を
制御するように合成後にプログラムすることができる。
各特定用途機能ブロックの設計内で固有なこととし
て、連続的な呼出し間にクロック信号をゲートオフする
能力を使用することもできる。したがって、実際上、特
定用途プロセッサ・アーキテクチャでは実際には、オン
/オフ周期と呼出しエポックの両方に関して各機能ブロ
ックへのクロック信号をプログラムすることができる。
て、連続的な呼出し間にクロック信号をゲートオフする
能力を使用することもできる。したがって、実際上、特
定用途プロセッサ・アーキテクチャでは実際には、オン
/オフ周期と呼出しエポックの両方に関して各機能ブロ
ックへのクロック信号をプログラムすることができる。
多目的バスの移動境界属性のために、このバスは、相
互接続された機能ブロック間でデータおよびコマンドを
送るために必要とされるスループットを適応化するよう
に合成後にプログラムできるとみなすことができる。特
定用途向けプロセッサ中の各機能ブロックはそれぞれの
異なるデータ構造サイズおよびコマンド構造サイズを有
することができるので、プログラム済み命令のシーケン
スに従って機能ブロックを呼び出すことは実際上、集積
された機能ブロックのデータおよびコマンドのニーズに
適応するように多目的バスをリアルタイムでプログラム
することである。
互接続された機能ブロック間でデータおよびコマンドを
送るために必要とされるスループットを適応化するよう
に合成後にプログラムできるとみなすことができる。特
定用途向けプロセッサ中の各機能ブロックはそれぞれの
異なるデータ構造サイズおよびコマンド構造サイズを有
することができるので、プログラム済み命令のシーケン
スに従って機能ブロックを呼び出すことは実際上、集積
された機能ブロックのデータおよびコマンドのニーズに
適応するように多目的バスをリアルタイムでプログラム
することである。
したがって、この実施形態の合成後プログラム可能性
の例として、「FILTER」命令をそのようにデータを処理
するように構成することができる。
の例として、「FILTER」命令をそのようにデータを処理
するように構成することができる。
FILTER(IN=@ received_signal_sample_bus、OUT
=@ filtered_signal_bus、TYPE=FIR、NCOEF=Num_C
oef、COEF=MF_Coef、TIME=Burst_CLK) FILTER命令の最初の2つの引数は、フィルタの接続性
をセットアップする。第1の引数は、フィルタ入力を受
信信号バスに接続し、第2の引数は、フィルタ出力をフ
ィルタ済み信号バスに接続する。フィルタ関数は、受信
信号バスから入力データを受け取り、結果として得られ
る出力データを、第6図で参照されるフィルタ済み信号
バスに書き込む。次の3つの引数は、フィルタ係数Num_
Coefを含む有限インパルス応答(FIR)タイプ・フィル
タを実行するようFILTER機能ブロックに命令する。Num_
Coefは、プロジェクト・データベース内でセットアップ
されるプロジェクト特有の定数またはequateである。プ
ロジェクト・データベースは、そのようなequateを、定
数ROM(読取り専用メモリ)中の特定のアドレスに記憶
されているデータまたはRAM(ランダム・アクセス・メ
モリ)内にユーザ構成可能なデータとして指定すること
ができる。FILTER命令コマンドの最後の引数は、コマン
ド/データ/タイミング・バスによって提供されるバー
スト・クロックのエポック時にフィルタ機能ブロックを
呼び出すよう命令する。
=@ filtered_signal_bus、TYPE=FIR、NCOEF=Num_C
oef、COEF=MF_Coef、TIME=Burst_CLK) FILTER命令の最初の2つの引数は、フィルタの接続性
をセットアップする。第1の引数は、フィルタ入力を受
信信号バスに接続し、第2の引数は、フィルタ出力をフ
ィルタ済み信号バスに接続する。フィルタ関数は、受信
信号バスから入力データを受け取り、結果として得られ
る出力データを、第6図で参照されるフィルタ済み信号
バスに書き込む。次の3つの引数は、フィルタ係数Num_
Coefを含む有限インパルス応答(FIR)タイプ・フィル
タを実行するようFILTER機能ブロックに命令する。Num_
Coefは、プロジェクト・データベース内でセットアップ
されるプロジェクト特有の定数またはequateである。プ
ロジェクト・データベースは、そのようなequateを、定
数ROM(読取り専用メモリ)中の特定のアドレスに記憶
されているデータまたはRAM(ランダム・アクセス・メ
モリ)内にユーザ構成可能なデータとして指定すること
ができる。FILTER命令コマンドの最後の引数は、コマン
ド/データ/タイミング・バスによって提供されるバー
スト・クロックのエポック時にフィルタ機能ブロックを
呼び出すよう命令する。
命令宣言に明確に定義されないパラメータは、デフォ
ルト値に設定される。各用途シンタックスごとのデフォ
ルト・パラメータには、内部バス幅、動作速度、アーキ
テクチャの構成、その他の構成/制御オプションを含め
ることができる。たとえば、FILTER命令は、明確に定義
されないパラメータを含むデフォルト値を使用して完全
に構成することができる。このオプションでは、プログ
ラム中のFILTER命令はFILTER( )になる。
ルト値に設定される。各用途シンタックスごとのデフォ
ルト・パラメータには、内部バス幅、動作速度、アーキ
テクチャの構成、その他の構成/制御オプションを含め
ることができる。たとえば、FILTER命令は、明確に定義
されないパラメータを含むデフォルト値を使用して完全
に構成することができる。このオプションでは、プログ
ラム中のFILTER命令はFILTER( )になる。
一実施形態では、命令は、後述のように、共用メモリ
・シンタックスでコンパイルされ共用メモリ・シンタッ
クスに記憶される。共用メモリ・シンタックスは、電源
供給時にASPにダウンロードされたプログラムを含むRAM
メモリを備えることができる。代替実施形態では、共用
メモリ・シンタックスは、RAMではなくROMを備え、ある
いは場合によっては補助RAMを備え、その場合、ROMがプ
ログラムを記憶するために使用され、RAMがユーザがア
クセスでき修正できるレジスタとして使用される。他の
実施形態では、1つの機能ブロックにしか依存しない命
令パラメータまたは構成パラメータをそれぞれのブロッ
クに記憶することができる。
・シンタックスでコンパイルされ共用メモリ・シンタッ
クスに記憶される。共用メモリ・シンタックスは、電源
供給時にASPにダウンロードされたプログラムを含むRAM
メモリを備えることができる。代替実施形態では、共用
メモリ・シンタックスは、RAMではなくROMを備え、ある
いは場合によっては補助RAMを備え、その場合、ROMがプ
ログラムを記憶するために使用され、RAMがユーザがア
クセスでき修正できるレジスタとして使用される。他の
実施形態では、1つの機能ブロックにしか依存しない命
令パラメータまたは構成パラメータをそれぞれのブロッ
クに記憶することができる。
本発明のASPアーキテクチャは、マイクロエレクトロ
ニック集積回路技術ならびに広いレベルの技術を組み込
んだ実施態様を対象とする。構成処理機構および構成呼
出し機構が特定用途に一致するので、ASPアーキテクチ
ャは、共通の処理ニーズを有するいくつかの製品市場の
生産量をまとめることによって達成される低コストの利
益を実現するのに十分なプログラミング融通性を用い
て、ターゲット技術によって達成できる最大スループッ
トをもたらす。たとえば、携帯電話、無線ローカル・エ
リア・ネットワーク、専用通信網、ディジタル・ケーブ
ル・ネットワークなどを含め、いくつかの製品の組み合
わされた市場のディジタル通信信号処理ニーズに適応化
されたライブラリを構築することができる。このアーキ
テクチャは、用途の専門家の専門知識にてこ入れし、よ
り低い製品設計コストおよびより短い市場時間の利点を
実現し、システム・レベルのオブジェクト指向プログラ
ム可能性を可能にし、それによって、特定用途処理の複
雑な態様を深く理解することを不要にする。固有の電力
管理機能を有する効率的な特定用途向け回路の高速開発
サイクルと、大幅に低減された開発コストでの製品の機
能拡張および改良に対処するためのプログラミング上の
融通性が、このアーキテクチャの主要な利益である。
ニック集積回路技術ならびに広いレベルの技術を組み込
んだ実施態様を対象とする。構成処理機構および構成呼
出し機構が特定用途に一致するので、ASPアーキテクチ
ャは、共通の処理ニーズを有するいくつかの製品市場の
生産量をまとめることによって達成される低コストの利
益を実現するのに十分なプログラミング融通性を用い
て、ターゲット技術によって達成できる最大スループッ
トをもたらす。たとえば、携帯電話、無線ローカル・エ
リア・ネットワーク、専用通信網、ディジタル・ケーブ
ル・ネットワークなどを含め、いくつかの製品の組み合
わされた市場のディジタル通信信号処理ニーズに適応化
されたライブラリを構築することができる。このアーキ
テクチャは、用途の専門家の専門知識にてこ入れし、よ
り低い製品設計コストおよびより短い市場時間の利点を
実現し、システム・レベルのオブジェクト指向プログラ
ム可能性を可能にし、それによって、特定用途処理の複
雑な態様を深く理解することを不要にする。固有の電力
管理機能を有する効率的な特定用途向け回路の高速開発
サイクルと、大幅に低減された開発コストでの製品の機
能拡張および改良に対処するためのプログラミング上の
融通性が、このアーキテクチャの主要な利益である。
本発明のASPアーキテクチャの1つの用途は、通信ASP
(CASP)である。表2は、様々なCASPを設計するために
使用できるライブラリ中のいくつかの用途シンタックス
の名称および説明を示す。
(CASP)である。表2は、様々なCASPを設計するために
使用できるライブラリ中のいくつかの用途シンタックス
の名称および説明を示す。
本発明のASPを使用して設計される例示的な通信シス
テムは、スペクトル拡散、周波数ホッピング(SS/F
H)、時分割多重アクセス(TDMA)シグナリング方式を
実施する変調器/復調器(モデム)である。SS/FH態様
は、各バーストごとの搬送波周波数を無作為化すること
によって提供される。TDMA態様は、チャネル上の時間
を、フレームとして定義された多重アクセス・デューテ
ィ・サイクルを有するTDMAバーストに分割することによ
って提供される。フレーム内の割り当てられたバースト
の時間部分は無作為化される。多重アクセス方式は必要
に応じて、各バーストにデータ・ストリームを動的に割
り当て、ユーザ・データをサポートする。各バースト
は、表3に示した1組のパラメータによって定義され
る。
テムは、スペクトル拡散、周波数ホッピング(SS/F
H)、時分割多重アクセス(TDMA)シグナリング方式を
実施する変調器/復調器(モデム)である。SS/FH態様
は、各バーストごとの搬送波周波数を無作為化すること
によって提供される。TDMA態様は、チャネル上の時間
を、フレームとして定義された多重アクセス・デューテ
ィ・サイクルを有するTDMAバーストに分割することによ
って提供される。フレーム内の割り当てられたバースト
の時間部分は無作為化される。多重アクセス方式は必要
に応じて、各バーストにデータ・ストリームを動的に割
り当て、ユーザ・データをサポートする。各バースト
は、表3に示した1組のパラメータによって定義され
る。
第6図は、CASPを使用して実施されるSS/FH TDMAモ
デム400のトップ・レベル・ブロック図を示す。具体的
に、この例で使用される用途シンタックスを表4に示
す。これらの用途シンタックスは、コマンド/データ/
タイミング・バス499を通じて通信し、この場合、各用
途シンタックスをそれぞれの異なる速度で呼び出す(あ
るいは活動化する)ことができる。バス499は、第1図
のコマンド/データ/タイミング・バス110を実現した
ものである。
デム400のトップ・レベル・ブロック図を示す。具体的
に、この例で使用される用途シンタックスを表4に示
す。これらの用途シンタックスは、コマンド/データ/
タイミング・バス499を通じて通信し、この場合、各用
途シンタックスをそれぞれの異なる速度で呼び出す(あ
るいは活動化する)ことができる。バス499は、第1図
のコマンド/データ/タイミング・バス110を実現した
ものである。
モデム400内に定義された各用途シンタックスは、デ
ータ変換を制御する入力構成コマンドと、呼出し時間を
制御する入力タイミング・コマンドを受け入れる。この
コマンド構造は、第1図のASPアーキテクチャではシン
タックス(C,T)として定義されている。用途シンタッ
クスは、呼び出されると、パラメータを適当な値に設定
し、入力データを処理し、次の呼出しコマンドが発生す
るまで入力クロックをゲートオフする。したがって、ク
ロックをゲートオフすることによって固有の電力節約が
もたらされる。モデム400内に定義された用途シンタッ
クスは、それぞれの異なる信号処理機能を実行するそれ
ぞれの異なる用途シンタックス論理機構(すなわち、第
1図のブロック125)を有する。しかし、すべてのこれ
らの用途シンタックスは同じインタフェース構造を使用
して、コマンド/データ/タイミング・バス499に接続
される。
ータ変換を制御する入力構成コマンドと、呼出し時間を
制御する入力タイミング・コマンドを受け入れる。この
コマンド構造は、第1図のASPアーキテクチャではシン
タックス(C,T)として定義されている。用途シンタッ
クスは、呼び出されると、パラメータを適当な値に設定
し、入力データを処理し、次の呼出しコマンドが発生す
るまで入力クロックをゲートオフする。したがって、ク
ロックをゲートオフすることによって固有の電力節約が
もたらされる。モデム400内に定義された用途シンタッ
クスは、それぞれの異なる信号処理機能を実行するそれ
ぞれの異なる用途シンタックス論理機構(すなわち、第
1図のブロック125)を有する。しかし、すべてのこれ
らの用途シンタックスは同じインタフェース構造を使用
して、コマンド/データ/タイミング・バス499に接続
される。
第6図のモデム400では、ASPアーキテクチャの中央制
御態様と分散制御態様は共に、バーストごとの動的モデ
ム再構成およびフレームごとのデータ処理をサポートす
るために使用される。中央制御は、ダウンリンク・デラ
ンダマイザ404およびアップリンク・ランダマイザ406に
よって行われ、ダウンリンク・デランダマイザ404およ
びアップリンク・ランダマイザ406はそれぞれ、バース
トごとにダウンリンク・ディジタル信号処理およびアッ
プリンク・ディジタル信号処理の調和をとる。分散制御
は、データ処理では、自律用途シンタックスによってフ
レームごとに行われる。具体的には、これらの自律用途
シンタックスは、エンコーダ408、インタリーバ425、CR
Cチェッカ424、デコーダ423、デインタリーバ(インタ
ーリーブ解除器)409である。
御態様と分散制御態様は共に、バーストごとの動的モデ
ム再構成およびフレームごとのデータ処理をサポートす
るために使用される。中央制御は、ダウンリンク・デラ
ンダマイザ404およびアップリンク・ランダマイザ406に
よって行われ、ダウンリンク・デランダマイザ404およ
びアップリンク・ランダマイザ406はそれぞれ、バース
トごとにダウンリンク・ディジタル信号処理およびアッ
プリンク・ディジタル信号処理の調和をとる。分散制御
は、データ処理では、自律用途シンタックスによってフ
レームごとに行われる。具体的には、これらの自律用途
シンタックスは、エンコーダ408、インタリーバ425、CR
Cチェッカ424、デコーダ423、デインタリーバ(インタ
ーリーブ解除器)409である。
モデム400は、すべての用途シンタックス間の粗結合
を行う共用メモリ・シンタックス416を備える。これに
よって、複数の別々のデータ線およびアドレス線、なら
びに別々のメモリのハードウェア・オーバヘッドがなく
なる。各用途シンタックスは、入力データに対して特定
のタスクを実行し、出力を共用メモリ・シンタックス41
6を介して次の用途シンタックスに渡す。
を行う共用メモリ・シンタックス416を備える。これに
よって、複数の別々のデータ線およびアドレス線、なら
びに別々のメモリのハードウェア・オーバヘッドがなく
なる。各用途シンタックスは、入力データに対して特定
のタスクを実行し、出力を共用メモリ・シンタックス41
6を介して次の用途シンタックスに渡す。
第7図に示したように、データおよび制御は、共用メ
モリ・シンタックス416中の事前に割り当てられたセグ
メントを介して用途シンタックス間で送られる。第6図
および第7図中の同じ要素は同じ符号を有する。各割り
当て済みメモリ・セグメント(すなわち、セグメント46
0、462、464、472)には、(ポインタ482などの)「書
込み」ポインタ、(ポインタ483などの)「読取り」ポ
インタ、(値484などの)「セグメント長」値、(イン
タリーブ解除されたデータ485などの)処理すべきデー
タが関連付けられる。「書込み」ポインタは、データを
書き込む用途シンタックスによって維持され、それに対
して「読取り」ポインタは、データを読み取る用途シン
タックスによって維持される。各用途シンタックスは、
「書込み」ポインタおよび「読取り」ポインタを調べ
て、処理するのに十分なデータが得られるかどうかを判
定し、データが得られなくなる次のフレーム・クロック
・エポックまでシャットダウンする。この機能によっ
て、固定の電力節約がもたらされるだけでなく、データ
を、得られるときにのみ所望のスループットで処理する
ことができる。
モリ・シンタックス416中の事前に割り当てられたセグ
メントを介して用途シンタックス間で送られる。第6図
および第7図中の同じ要素は同じ符号を有する。各割り
当て済みメモリ・セグメント(すなわち、セグメント46
0、462、464、472)には、(ポインタ482などの)「書
込み」ポインタ、(ポインタ483などの)「読取り」ポ
インタ、(値484などの)「セグメント長」値、(イン
タリーブ解除されたデータ485などの)処理すべきデー
タが関連付けられる。「書込み」ポインタは、データを
書き込む用途シンタックスによって維持され、それに対
して「読取り」ポインタは、データを読み取る用途シン
タックスによって維持される。各用途シンタックスは、
「書込み」ポインタおよび「読取り」ポインタを調べ
て、処理するのに十分なデータが得られるかどうかを判
定し、データが得られなくなる次のフレーム・クロック
・エポックまでシャットダウンする。この機能によっ
て、固定の電力節約がもたらされるだけでなく、データ
を、得られるときにのみ所望のスループットで処理する
ことができる。
次に、モデム400によって実行されるダウンリンク処
理の動作について説明する。ダウンリンク上のシグナリ
ング構造は、通信データ、アクセス制御データ、同期情
報を多重化する可変バースト・データ転送速度を有する
時分割多重化され周波数ホッピングされた波形を備え
る。同期情報は、受け取った信号を得て追跡する同期相
関器428を用いて復調される。通信データおよびアクセ
ス制御データは、PSK復調器429を用いて復調される。用
途シンタックス428と用途シンタックス429は共に、デー
タを、他の自律用途シンタックスによってさらにデータ
処理できるように共用メモリ・シンタックス416内に出
力する。
理の動作について説明する。ダウンリンク上のシグナリ
ング構造は、通信データ、アクセス制御データ、同期情
報を多重化する可変バースト・データ転送速度を有する
時分割多重化され周波数ホッピングされた波形を備え
る。同期情報は、受け取った信号を得て追跡する同期相
関器428を用いて復調される。通信データおよびアクセ
ス制御データは、PSK復調器429を用いて復調される。用
途シンタックス428と用途シンタックス429は共に、デー
タを、他の自律用途シンタックスによってさらにデータ
処理できるように共用メモリ・シンタックス416内に出
力する。
モデムでは、整合フィルタ427、同期相関器428、PSK
復調器429は復調クラスタ430としてグループ化される。
復調クラスタ430は、受け取った信号をリアルタイムで
バースト速度で復調し、復調したデータを共用メモリ・
シンタックス416に入れる。整合フィルタ427は、着信デ
ィジタル信号の通信特性を整合させ、それによってフィ
ルタ済みサンプルを同期相関器428およびPSK復調器429
に提供する。フィルタ済み信号の高帯域幅に適応するた
めに、復調クラスタ430の構成要素は、フィルタ済み信
号バス431と呼ばれる高帯域幅バスによって接続され
る。
復調器429は復調クラスタ430としてグループ化される。
復調クラスタ430は、受け取った信号をリアルタイムで
バースト速度で復調し、復調したデータを共用メモリ・
シンタックス416に入れる。整合フィルタ427は、着信デ
ィジタル信号の通信特性を整合させ、それによってフィ
ルタ済みサンプルを同期相関器428およびPSK復調器429
に提供する。フィルタ済み信号の高帯域幅に適応するた
めに、復調クラスタ430の構成要素は、フィルタ済み信
号バス431と呼ばれる高帯域幅バスによって接続され
る。
モデム400では、復調クラスタ430の中央制御はダウン
リンク・デランダマイザ404によって行われる。具体的
には、ダウンリンク・デランダマイザ404は下記の機能
を実行する。
リンク・デランダマイザ404によって行われる。具体的
には、ダウンリンク・デランダマイザ404は下記の機能
を実行する。
(1)PN符号ワードを生成し、同期する。
(2)ホッピングされた搬送波周波数を算出する。
(3)モデム400の外部のダウンリンク・シンセサイザ
用の対応する周波数コマンドおよびストローブを生成す
る。
用の対応する周波数コマンドおよびストローブを生成す
る。
(4)バースト・クロックおよびフレーム・クロックを
含め、すべての必要なクロックを生成する。
含め、すべての必要なクロックを生成する。
(5)復調クラスタ430をバーストごとに構成する。
復調クラスタ430の構成は、整合フィルタ427をバース
ト・データに対してセットアップすることと、同期相関
器428とPSK復調器429のどちらかを選択することからな
る。ダウンリンク・デランダマイザ404は、生成されたP
N符号に基づいて、着信バースト・インデックスを識別
する。ダウンリンク・デランダマイザ404は、識別され
たこのバースト・インデックスを使用して、共用メモリ
・シンタックス416にアクセスし、ダウンリンク「コマ
ンド・テンプレート」に含まれるバースト構成パラメー
タを判定する。コマンド・テンプレートとは、このモデ
ム用途用に特定的に書かれたCASP命令プログラムをコン
パイルした結果として得られる機械語符号である。コマ
ンド・テンプレート(プログラム)中の情報は、モデム
の動作を定義するものであり、変化するダウンリンク・
パラメータに従って変更することができる。コマンド・
テンプレート(プログラム)中の情報は、信号処理コマ
ンドならびにデータ処理コマンドを定義する。信号処理
コマンドは復調クラスタ430を構成するために使用さ
れ、それに対してデータ処理コマンドは自律データ処理
シンタックスを構成するために使用される。
ト・データに対してセットアップすることと、同期相関
器428とPSK復調器429のどちらかを選択することからな
る。ダウンリンク・デランダマイザ404は、生成されたP
N符号に基づいて、着信バースト・インデックスを識別
する。ダウンリンク・デランダマイザ404は、識別され
たこのバースト・インデックスを使用して、共用メモリ
・シンタックス416にアクセスし、ダウンリンク「コマ
ンド・テンプレート」に含まれるバースト構成パラメー
タを判定する。コマンド・テンプレートとは、このモデ
ム用途用に特定的に書かれたCASP命令プログラムをコン
パイルした結果として得られる機械語符号である。コマ
ンド・テンプレート(プログラム)中の情報は、モデム
の動作を定義するものであり、変化するダウンリンク・
パラメータに従って変更することができる。コマンド・
テンプレート(プログラム)中の情報は、信号処理コマ
ンドならびにデータ処理コマンドを定義する。信号処理
コマンドは復調クラスタ430を構成するために使用さ
れ、それに対してデータ処理コマンドは自律データ処理
シンタックスを構成するために使用される。
ダウンリンク・デランダマイザ404は、復調クラスタ4
30を、バースト・クロック・エポックで活動化されるよ
うに構成するタイミング・コマンド(T)を、復調クラ
スタ430の各構成要素に書き込む。バースト・クロック
・エポックの前に、ダウンリンク・デランダマイザ404
は、復調クラスタ430の各構成要素に構成コマンド
(C)を書き込む。復調クラスタ430は、バースト・ク
ロック・エポック上で活動化し、ダウンリンク・デラン
ダマイザ404から供給される構成コマンドに定義された
ようにデータを処理する。これは、バースト・クロック
・エポックでの動的再構成の例である。
30を、バースト・クロック・エポックで活動化されるよ
うに構成するタイミング・コマンド(T)を、復調クラ
スタ430の各構成要素に書き込む。バースト・クロック
・エポックの前に、ダウンリンク・デランダマイザ404
は、復調クラスタ430の各構成要素に構成コマンド
(C)を書き込む。復調クラスタ430は、バースト・ク
ロック・エポック上で活動化し、ダウンリンク・デラン
ダマイザ404から供給される構成コマンドに定義された
ようにデータを処理する。これは、バースト・クロック
・エポックでの動的再構成の例である。
復調されたデータは、自律用途シンタックスによって
さらに処理される。これらの用途シンタックスは、ダウ
ンリンク・フレーム・クロック・エポックで活動化さ
れ、データを処理し、次いで次のダウンリンク・フレー
ム・クロック・エポックまでシャットダウンする。この
結果、動作時にはかなり電力が節約される。モデム400
では、各自律用途シンタックスは、その入出力を共用メ
モリ・シンタックス416内に維持する。第7図は、中央
制御復調クラスタ430と分散制御データ処理シンタック
スとの間のデータ・フローを示す。モデム400が線432上
で受け取った信号は復調クラスタ430によって復調され
る。復調されたデータは、コマンド/データ/タイミン
グ・バス499の一部からなるコマンド/データ・バス498
を介して共用メモリ・シンタックス416の復調データ・
セグメント460内に置かれる。その後で、この復調済み
データはデインタリーバ409によって処理される。この
結果は、共用メモリ・シンタックス416中のデインタリ
ーバ・データ・セグメント462に記憶される。その後
で、インタリーブ解除されたデータはデコーダ423によ
って処理される。復号されたデータは、共用メモリ・シ
ンタックス416中の復号済みデータ・セグメント464に記
憶される。復号済みデータは次いで、CRCチェッカ424に
よってエラーがないかどうか検査され、受信ユーザ・デ
ータ・セグメント472内に置かれる。受信ユーザ・デー
タは次いで、外部エンティティによって外部バス490上
のデータ/制御インタフェース・シンタックス426を介
して抽出することができる。
さらに処理される。これらの用途シンタックスは、ダウ
ンリンク・フレーム・クロック・エポックで活動化さ
れ、データを処理し、次いで次のダウンリンク・フレー
ム・クロック・エポックまでシャットダウンする。この
結果、動作時にはかなり電力が節約される。モデム400
では、各自律用途シンタックスは、その入出力を共用メ
モリ・シンタックス416内に維持する。第7図は、中央
制御復調クラスタ430と分散制御データ処理シンタック
スとの間のデータ・フローを示す。モデム400が線432上
で受け取った信号は復調クラスタ430によって復調され
る。復調されたデータは、コマンド/データ/タイミン
グ・バス499の一部からなるコマンド/データ・バス498
を介して共用メモリ・シンタックス416の復調データ・
セグメント460内に置かれる。その後で、この復調済み
データはデインタリーバ409によって処理される。この
結果は、共用メモリ・シンタックス416中のデインタリ
ーバ・データ・セグメント462に記憶される。その後
で、インタリーブ解除されたデータはデコーダ423によ
って処理される。復号されたデータは、共用メモリ・シ
ンタックス416中の復号済みデータ・セグメント464に記
憶される。復号済みデータは次いで、CRCチェッカ424に
よってエラーがないかどうか検査され、受信ユーザ・デ
ータ・セグメント472内に置かれる。受信ユーザ・デー
タは次いで、外部エンティティによって外部バス490上
のデータ/制御インタフェース・シンタックス426を介
して抽出することができる。
自律用途シンタックスの構成コマンドは、共用メモリ
・シンタックス416中のダウンリンク・コマンド・テン
プレート(プログラム)の一部として提供される。前述
のように、これらの用途シンタックスのそれぞれに関す
る命令は、2つの引数、すなわちコマンド引数(この場
合は、構成コマンド)と時間引数(この場合は、呼出し
時間)とからなる。呼出し時に、用途シンタックスはコ
マンド引数(C)を復号し、それに応じてパラメータを
構成する。各用途シンタックスは、時間引数(T)を復
号し、呼出しエポックを判定する。時間引数は、コマン
ド/データ/タイミング・バス499の一部であるタイミ
ング・バス497のバースト・クロック495とフレーム・ク
ロック496のどちらかを選択するコマンドとして実施す
ることができ、このコマンドを使用して定期的な呼出し
エポックを確立することができる。
・シンタックス416中のダウンリンク・コマンド・テン
プレート(プログラム)の一部として提供される。前述
のように、これらの用途シンタックスのそれぞれに関す
る命令は、2つの引数、すなわちコマンド引数(この場
合は、構成コマンド)と時間引数(この場合は、呼出し
時間)とからなる。呼出し時に、用途シンタックスはコ
マンド引数(C)を復号し、それに応じてパラメータを
構成する。各用途シンタックスは、時間引数(T)を復
号し、呼出しエポックを判定する。時間引数は、コマン
ド/データ/タイミング・バス499の一部であるタイミ
ング・バス497のバースト・クロック495とフレーム・ク
ロック496のどちらかを選択するコマンドとして実施す
ることができ、このコマンドを使用して定期的な呼出し
エポックを確立することができる。
前述の動作を処理パイプラインで実行するCASPコマン
ド・テンプレート(プログラム)の時間引数が選択され
たモデム400では、ASPアーキテクチャのパイプライニン
グ機能が使用される。第8図は、モデム400で実施され
るプログラム済みダウンリンク処理パイプラインを示
す。線432上の入力信号はリアルタイムでバースト速度
で復調され、それに対して、インタリーブ解除、復号、
CRC検査は後続のフレームでフレーム速度で処理され
る。
ド・テンプレート(プログラム)の時間引数が選択され
たモデム400では、ASPアーキテクチャのパイプライニン
グ機能が使用される。第8図は、モデム400で実施され
るプログラム済みダウンリンク処理パイプラインを示
す。線432上の入力信号はリアルタイムでバースト速度
で復調され、それに対して、インタリーブ解除、復号、
CRC検査は後続のフレームでフレーム速度で処理され
る。
次に、モデム400で実施されるダウンリンク処理パイ
プラインについて説明する。受信信号432は、モデム400
を形成する用途シンタックスのプログラミングを通じ
て、フレームとして定義された多重アクセス・デューテ
ィ・サイクルを有するTDMAバーストとして分割されたチ
ャネル上の時間に従って処理される。第8図で、時間の
進行は、順次増加するフレーム番号を有するフレームの
シーケンスとして示されている。具体的には、第8図に
示したシーケンスは、フレーム(N)500と、その後に
続くフレーム(N+1)501と、その後に続くフレーム
(N+2)502と、その後に続くフレーム(N+3)503
である。この場合、Nはフレームの数を数える任意の整
数である。所与のフレーム内では、時間の進行は、順次
増加するバースト番号を有するバースト560のシーケン
スとして示されている。具体的には、第8図に示したシ
ーケンスは、バースト(M)570と、その後に続くバー
スト(M+1)571と、その後に続くバースト(M+
2)572である。この場合、Μはフレーム内のバースト
の数を数える任意の整数である。
プラインについて説明する。受信信号432は、モデム400
を形成する用途シンタックスのプログラミングを通じ
て、フレームとして定義された多重アクセス・デューテ
ィ・サイクルを有するTDMAバーストとして分割されたチ
ャネル上の時間に従って処理される。第8図で、時間の
進行は、順次増加するフレーム番号を有するフレームの
シーケンスとして示されている。具体的には、第8図に
示したシーケンスは、フレーム(N)500と、その後に
続くフレーム(N+1)501と、その後に続くフレーム
(N+2)502と、その後に続くフレーム(N+3)503
である。この場合、Nはフレームの数を数える任意の整
数である。所与のフレーム内では、時間の進行は、順次
増加するバースト番号を有するバースト560のシーケン
スとして示されている。具体的には、第8図に示したシ
ーケンスは、バースト(M)570と、その後に続くバー
スト(M+1)571と、その後に続くバースト(M+
2)572である。この場合、Μはフレーム内のバースト
の数を数える任意の整数である。
モデム400で実施されるダウンリンク処理パイプライ
ンは、フレーム(N)500の受信データ432に対して実行
される整合フィルタ/復調(N)510から始まる。具体
的には、下記のプログラム済み動作シーケンスが実行さ
れる。
ンは、フレーム(N)500の受信データ432に対して実行
される整合フィルタ/復調(N)510から始まる。具体
的には、下記のプログラム済み動作シーケンスが実行さ
れる。
(a)フレーム(N)500のバースト(M)570に対して
整合フィルタ(M)580が実行される。
整合フィルタ(M)580が実行される。
(b)整合フィルタ(M)580出力データに対して復調
(M)590が実行される。
(M)590が実行される。
(c)フレーム(N)500のバースト(M+1)571に対
して整合フィルタ(M+1)581が実行される。
して整合フィルタ(M+1)581が実行される。
(d)整合フィルタ(M+1)581出力データに対して
復調(M+1)591が実行される。
復調(M+1)591が実行される。
(e)フレーム(N)500のバースト(M+2)572に対
して整合フィルタ(M+2)582が実行される。
して整合フィルタ(M+2)582が実行される。
(f)整合フィルタ(M+2)582出力データに対して
復調(M+2)592が実行される。
復調(M+2)592が実行される。
(g)フレーム(N)500内の指定されたすべてのバー
ストが整合フィルタされ復調されるまで以下同様であ
る。
ストが整合フィルタされ復調されるまで以下同様であ
る。
(h)後に続くフレームで、復調(M)590出力デー
タ、復調(M+1)591出力データ、復調(M+2)592
出力データなどに対してインタリーブ解除(N)520が
実行される。
タ、復調(M+1)591出力データ、復調(M+2)592
出力データなどに対してインタリーブ解除(N)520が
実行される。
(i)後に続くフレームで、インタリーブ解除(N)52
0出力データに対して復号(N)530が実行される。
0出力データに対して復号(N)530が実行される。
(j)後に続くフレームで、復号(N)530出力データ
に対してCRC検査(N)540が実行される。
に対してCRC検査(N)540が実行される。
(k)後に続くフレームで、受信データ550がCRC検査
(N)540出力データから抽出され、外部エンティティ
に渡される。
(N)540出力データから抽出され、外部エンティティ
に渡される。
同様に、フレーム(N+1)は下記のように処理され
る。
る。
(a)フレーム(N+1)501のバースト(M)570に対
して整合フィルタ(M)580が実行される。
して整合フィルタ(M)580が実行される。
(b)整合フィルタ(M)580出力データに対して復調
(M)590が実行される。
(M)590が実行される。
(c)フレーム(N+1)501のバースト(M+1)571
に対して整合フィルタ(M+1)581が実行される。
に対して整合フィルタ(M+1)581が実行される。
(d)整合フィルタ(M+1)581出力データに対して
復調(M+1)591が実行される。
復調(M+1)591が実行される。
(e)フレーム(N+1)501のバースト(M+2)572
に対して整合フィルタ(M+2)582が実行される。
に対して整合フィルタ(M+2)582が実行される。
(f)整合フィルタ(M+2)582出力データに対して
復調(M+2)592が実行される。
復調(M+2)592が実行される。
(g)フレーム(N+1)501内の指定されたすべての
バーストが整合フィルタされ復調されるまで以下同様で
ある。
バーストが整合フィルタされ復調されるまで以下同様で
ある。
(h)後に続くフレームで、復調(M)590出力デー
タ、復調(M+1)591出力データ、復調(M+2)592
出力データなどに対してインタリーブ解除(N+1)52
1が実行される。
タ、復調(M+1)591出力データ、復調(M+2)592
出力データなどに対してインタリーブ解除(N+1)52
1が実行される。
(i)後に続くフレームで、インタリーブ解除(N+
1)521出力データに対して復号(N+1)531が実行さ
れる。
1)521出力データに対して復号(N+1)531が実行さ
れる。
(j)後に続くフレームで、復号(N+1)531出力デ
ータに対してCRC検査(N+1)541が実行される。
ータに対してCRC検査(N+1)541が実行される。
(k)後に続くフレームで、受信データ550がCRC検査
(N+1)541出力データから抽出され、外部エンティ
ティに渡される。
(N+1)541出力データから抽出され、外部エンティ
ティに渡される。
ダウンリンク処理パイプラインは、モデム400が異な
るモードに再構成され、あるいはオフにされるまで同じ
パターン反復を無限に継続する。
るモードに再構成され、あるいはオフにされるまで同じ
パターン反復を無限に継続する。
CASPモデム400のプログラミング機能により、コマン
ド/データ/タイミング・バス499上で与えられるクロ
ックのうちの1つを選択し、選択したクロックを使用し
て、そのクロックが特定の値に達したときに、選択され
たエポックまたは呼出しのモジュロ(N)を数えること
によって呼出しエポックを生成するように、時間引数に
よって用途シンタックスに命令することができる。たと
えば、CASPコマンド・テンプレート(プログラム)は、
指定されたエンコーダ呼出し周期を複数のフレームから
なるように定義する。この例では、エンコーダ入力デー
タは、呼出し時にエンコーダによって処理されるまで、
指定された共用メモリ・セグメントに蓄積する。
ド/データ/タイミング・バス499上で与えられるクロ
ックのうちの1つを選択し、選択したクロックを使用し
て、そのクロックが特定の値に達したときに、選択され
たエポックまたは呼出しのモジュロ(N)を数えること
によって呼出しエポックを生成するように、時間引数に
よって用途シンタックスに命令することができる。たと
えば、CASPコマンド・テンプレート(プログラム)は、
指定されたエンコーダ呼出し周期を複数のフレームから
なるように定義する。この例では、エンコーダ入力デー
タは、呼出し時にエンコーダによって処理されるまで、
指定された共用メモリ・セグメントに蓄積する。
着信データを処理するよう第6図のCASPモデムに命令
する命令プログラムは下記のとおりである。
する命令プログラムは下記のとおりである。
**Demodulator Cluster FILTER(IN=@ received_signal_sample_bus、OUT
=@ filtered_signal_bus、TYPE=FIR、NCOEF=Num_C
oef、COEF=MF_Coef、TIME=Burst_CLK) IF Data_BURST THEN PSK_DEMOND(IN=Samp_Bus、OUT=@ Demond_Data、
TYPE=@ Demond_Type、SYMB=Symb_rate、TIME=Burs
t_CLK) ELSEIF SYNC_BURST SYNC(IN=Samp_Bus、OUT=@ Sync_Buf、TYPE=@
SYNC_Type、SYNC_COEF=@ S_Coef、SYMB=Symb_rat
e、TIME=Burst_CLK) ENDIF **Frame Processes CONV_DEINT(IN=@ Demond_Data、OUT=@ Deint_
Data、NUM=Num_Data、ROW=NRows、COL=NCol、STEP=
NStep、TIME=Frame_CLK) CONV_DECODE(IN=@ Deint_Data、OUT=@ Dec_Da
ta、NUM=Num_Data、K=Rate、LEN=Conv_Len、TAPS=
Conv_Taps、TYPE=Frame_CLK) CRC(IN=@ DEINT_Data、OUT=@ CRC_Data、NUM
=Num_Data、TAPS=CRC_Taps、LEN=CRC_Len、TIME=Fr
ame_CLK) DATA_IF(IN=@ CRC_Data、OUT=D_Bus、TIME=Fra
me_CLK) FILTER命令についてはすでに説明した。FILTER命令の
後に続くIF文によって、2つの異なるタイプの受信TDMA
バーストに対する適当な処理を実行することができる。
ELSEIF文によって同期情報を適切に処理することがで
き、それに対して、ENDIFは予期されるように、この2
つの分岐の終わりを示す。コンパイラは、プログラマに
よって指定できるコマンド・テンプレート内にこのIF命
令をマップする。プログラマは次いで、データと同期バ
ーストとを含むTDMAフレームの特定の構造をこのコマン
ド・テンプレートに埋め込む。このテンプレートは、コ
ンパイル済みプログラムの一部として記憶され、受信バ
ーストのタイプを識別するために使用される。
=@ filtered_signal_bus、TYPE=FIR、NCOEF=Num_C
oef、COEF=MF_Coef、TIME=Burst_CLK) IF Data_BURST THEN PSK_DEMOND(IN=Samp_Bus、OUT=@ Demond_Data、
TYPE=@ Demond_Type、SYMB=Symb_rate、TIME=Burs
t_CLK) ELSEIF SYNC_BURST SYNC(IN=Samp_Bus、OUT=@ Sync_Buf、TYPE=@
SYNC_Type、SYNC_COEF=@ S_Coef、SYMB=Symb_rat
e、TIME=Burst_CLK) ENDIF **Frame Processes CONV_DEINT(IN=@ Demond_Data、OUT=@ Deint_
Data、NUM=Num_Data、ROW=NRows、COL=NCol、STEP=
NStep、TIME=Frame_CLK) CONV_DECODE(IN=@ Deint_Data、OUT=@ Dec_Da
ta、NUM=Num_Data、K=Rate、LEN=Conv_Len、TAPS=
Conv_Taps、TYPE=Frame_CLK) CRC(IN=@ DEINT_Data、OUT=@ CRC_Data、NUM
=Num_Data、TAPS=CRC_Taps、LEN=CRC_Len、TIME=Fr
ame_CLK) DATA_IF(IN=@ CRC_Data、OUT=D_Bus、TIME=Fra
me_CLK) FILTER命令についてはすでに説明した。FILTER命令の
後に続くIF文によって、2つの異なるタイプの受信TDMA
バーストに対する適当な処理を実行することができる。
ELSEIF文によって同期情報を適切に処理することがで
き、それに対して、ENDIFは予期されるように、この2
つの分岐の終わりを示す。コンパイラは、プログラマに
よって指定できるコマンド・テンプレート内にこのIF命
令をマップする。プログラマは次いで、データと同期バ
ーストとを含むTDMAフレームの特定の構造をこのコマン
ド・テンプレートに埋め込む。このテンプレートは、コ
ンパイル済みプログラムの一部として記憶され、受信バ
ーストのタイプを識別するために使用される。
上記のPSK_DEMOD命令を下記で説明する。プログラム
を用いてコンパイルされたフレーム構造コマンド・テン
プレートの内容に基づいて、各受信バーストは同期(SY
NC)バーストとデータ・バーストのどちらかとして識別
される。受信バーストがデータ・バーストとして識別さ
れると、PSK_DEMOD命令は、フィルタされた受信信号サ
ンプルを処理するようPSK復調器機能ブロックに命令す
る。PSK_DEMOD命令は、フィルタ済み信号バス(第6
図)から入力を抽出し、結果として得られる出力を共用
メモリ・ブロック中の指定されたメモリ位置に経路指定
するようPSK復調器に命令する。共用メモリ機能ブロッ
クの構造は、プロジェクト・データベースを介してコン
パイル済みプログラムの一部としても含まれる。命令の
次の2つの引数は、復調すべきPSK記号のタイプ(たと
えば、BPSKまたはQPSK)および受信記号速度に関してPS
K復調器の特定の構造を指定する。TIME引数は、PSK復調
器がバースト・クロック速度で呼び出されるよう命令す
る。
を用いてコンパイルされたフレーム構造コマンド・テン
プレートの内容に基づいて、各受信バーストは同期(SY
NC)バーストとデータ・バーストのどちらかとして識別
される。受信バーストがデータ・バーストとして識別さ
れると、PSK_DEMOD命令は、フィルタされた受信信号サ
ンプルを処理するようPSK復調器機能ブロックに命令す
る。PSK_DEMOD命令は、フィルタ済み信号バス(第6
図)から入力を抽出し、結果として得られる出力を共用
メモリ・ブロック中の指定されたメモリ位置に経路指定
するようPSK復調器に命令する。共用メモリ機能ブロッ
クの構造は、プロジェクト・データベースを介してコン
パイル済みプログラムの一部としても含まれる。命令の
次の2つの引数は、復調すべきPSK記号のタイプ(たと
えば、BPSKまたはQPSK)および受信記号速度に関してPS
K復調器の特定の構造を指定する。TIME引数は、PSK復調
器がバースト・クロック速度で呼び出されるよう命令す
る。
SYNC命令は、重要な同期パラメータが同期係数と、係
数の数と、厳密な同期タイプとを含むことを除いて、PS
K復調器命令に類似している。
数の数と、厳密な同期タイプとを含むことを除いて、PS
K復調器命令に類似している。
たたみ込みデインタリーバ(CONV_DEINT)、たたみ込
みデコーダ(CONV_DECODE)、CRCチェッカ(CRC)、デ
ータ・インタフェース(DATA_IF)はすべてフレーム・
プロセスである。これらのプロセスはそれぞれ、フレー
ム・クロックで呼び出され、共用メモリからデータを抽
出し、必要なデータ変換を実行し、共用メモリにデータ
を出力し、次いでスリープする。CDTバス構造、共用メ
モリ・バッファ構造、内部ビット幅などのパラメータは
プロジェクト・レベル・データベースに定義される。話
を簡単にするために、下記ではたたみ込みデインタリー
バのみについて論じる。他のフレーム・プロセスは、非
常に類似した引数を有し、たたみ込みデインタリーバが
理解されれば容易に抽出することができる。
みデコーダ(CONV_DECODE)、CRCチェッカ(CRC)、デ
ータ・インタフェース(DATA_IF)はすべてフレーム・
プロセスである。これらのプロセスはそれぞれ、フレー
ム・クロックで呼び出され、共用メモリからデータを抽
出し、必要なデータ変換を実行し、共用メモリにデータ
を出力し、次いでスリープする。CDTバス構造、共用メ
モリ・バッファ構造、内部ビット幅などのパラメータは
プロジェクト・レベル・データベースに定義される。話
を簡単にするために、下記ではたたみ込みデインタリー
バのみについて論じる。他のフレーム・プロセスは、非
常に類似した引数を有し、たたみ込みデインタリーバが
理解されれば容易に抽出することができる。
CONV_DEINT命令の最初の2つの引数は、モジュールの
接続性を定義する。すなわち、最初の2つの引数は、CO
NV_DEINTに、その入力が共用メモリ中のどこに配置され
ているかと、その出力を共用メモリ中のどこに置くべき
かを知らせる。この場合、CONV_DEINTは、共用メモリ中
のDemod_Dataバッファから入力を得て、共用メモリに配
置されたDeint_Data内にデータを出力する。構造、長
さ、位置などのバッファ・パラメータのプロジェクト・
レベル・データベースに配置される。次の引数は、呼出
し当たりにいくつのソフト決定ビットをインタリーブ解
除すべきかをCONV_DEINTに知らせる。次の3つの引数
は、呼び出すべき厳密な構成をCONV_DEINTに知らせる。
この場合、たたみ込みデインタリーバはn行×n列にな
る。最後に、最後の引数は、たたみ込みデインタリーバ
をフレーム速度で呼び出すよう命令する。
接続性を定義する。すなわち、最初の2つの引数は、CO
NV_DEINTに、その入力が共用メモリ中のどこに配置され
ているかと、その出力を共用メモリ中のどこに置くべき
かを知らせる。この場合、CONV_DEINTは、共用メモリ中
のDemod_Dataバッファから入力を得て、共用メモリに配
置されたDeint_Data内にデータを出力する。構造、長
さ、位置などのバッファ・パラメータのプロジェクト・
レベル・データベースに配置される。次の引数は、呼出
し当たりにいくつのソフト決定ビットをインタリーブ解
除すべきかをCONV_DEINTに知らせる。次の3つの引数
は、呼び出すべき厳密な構成をCONV_DEINTに知らせる。
この場合、たたみ込みデインタリーバはn行×n列にな
る。最後に、最後の引数は、たたみ込みデインタリーバ
をフレーム速度で呼び出すよう命令する。
当業者が、モデム400のダウンリンク部を理解した後
にアップリンク部を構築することは明らかなので、本明
細書ではダウンリンク部についてのみ説明する。したが
って、アップリンク部の構造および動作については本明
細書では説明しない。
にアップリンク部を構築することは明らかなので、本明
細書ではダウンリンク部についてのみ説明する。したが
って、アップリンク部の構造および動作については本明
細書では説明しない。
本発明のASPアーキテクチャについて説明した。当業
者には、様々なタイプの用途に本発明を応用することが
明らかであろう。本明細書では、本発明の好ましいいく
つかの実施形態のみを詳しく説明したが、本発明の趣旨
および範囲から逸脱せずに多数の変更および修正を加え
ることができる。したがって、本発明の範囲は、添付の
特許請求の範囲によって制限されるに過ぎない。
者には、様々なタイプの用途に本発明を応用することが
明らかであろう。本明細書では、本発明の好ましいいく
つかの実施形態のみを詳しく説明したが、本発明の趣旨
および範囲から逸脱せずに多数の変更および修正を加え
ることができる。したがって、本発明の範囲は、添付の
特許請求の範囲によって制限されるに過ぎない。
フロントページの続き (72)発明者 クラウス,チャールズ・エイ アメリカ合衆国 92008 カールスバッ ド・ウッドランド レーン・3640 (56)参考文献 特開 平4−175974(JP,A) 特開 昭63−81569(JP,A) 特開 平6−60147(JP,A) 特開 昭64−86276(JP,A) 特開 平5−189264(JP,A) 特開 平4−205261(JP,A) 特開 昭59−81720(JP,A) 米国特許4964056(US,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 G06F 15/78 H01L 21/82
Claims (74)
- 【請求項1】ライブラリに含まれる選択された設計済み
要素を集積することによって設計される単一のチップ半
導体デバイスであって、 信号を送るバスと、 前記バスを介して通信し、共働してユーザ設計機能を実
行し、前記ライブラリから選択される複数の用途要素と
を備え、 選択された各用途要素が、 時間引数とパラメータ引数とを有するコマンド命令に従
って所定の機能を実行し、前記時間引数が前記機能ブロ
ックの呼出し時間を定義し、前記パラメータ引数が前記
機能ブロックの処理機能を定義するプログラム可能な機
能ブロックと、 前記コマンド命令を受け取るために前記バスと前記選択
された用途要素とのインタフェースをとるインタフェー
ス・ブロックと を備えることを特徴とするデバイス。 - 【請求項2】前記インタフェース・ブロックが、前記デ
バイス中のすべての用途要素に対してほぼ同じであるこ
とを特徴とする請求項1に記載のデバイス。 - 【請求項3】前記機能ブロックが、活動状態と電力遮断
状態とを有し、前記インタフェース・ブロックがさら
に、 前記バスと前記機能ブロックとの間でコマンドおよびデ
ータを送るアクセス・ブロックと、 前記バスから受け取った前記コマンド、前記データ、前
記時間引数に応答して、前記機能ブロックを前記活動状
態および前記電力遮断状態に切り替えるクロック・イネ
ーブル・ブロックとを備えることを特徴とする請求項1
に記載のデバイス。 - 【請求項4】前記コマンドと前記データが対として前記
バスへ送られ、前記対中の前記データおよびコマンドの
サイズが、前記選択された用途要素の要求を満たすこと
を特徴とする請求項3に記載のデバイス。 - 【請求項5】前記クロック・イネーブル・ブロック・ス
イッチが、start(開始)信号およびgated clock(ゲ
ート・クロック)信号を送ることによって、前記機能ブ
ロックを前記活動状態に切り替え、前記gated clock信
号をオフにすることによって前記機能ブロックを前記電
力遮断状態に切り替えることを特徴とする請求項3に記
載のデバイス。 - 【請求項6】前記機能ブロックが、前記クロック・イネ
ーブル・ブロックへdone信号を送り、前記クロック・イ
ネーブル・ブロックが、前記done信号に応答して前記ga
ted clock信号をオフにすることを特徴とする請求項5
に記載のデバイス。 - 【請求項7】前記バスが、クロック信号を含み、前記ク
ロック・イネーブル・ブロックが、前記クロック信号
と、前記アクセス・ブロックが受け取ったコマンドに応
答して、前記start信号および前記gated clock信号を
生成することを特徴とする請求項5に記載のデバイス。 - 【請求項8】前記機能ブロックによって実行される前記
所定の機能が、前記アクセス・ブロックが受け取る前記
コマンドによって制御されることを特徴とする請求項3
に記載のデバイス。 - 【請求項9】前記ライブラリ中の少なくとも1つの前記
用途要素が、無線通信に関係する機能を実行することを
特徴とする請求項1に記載のデバイス。 - 【請求項10】少なくとも1つの前記選択された用途要
素が自律的に動作し、それによって、前記自律用途要素
が、プログラムによって定義された時間エポックに呼び
出され、前記自律用途要素の前記機能ブロックが、前記
呼出し時に前記所定の機能を実行することを特徴とする
請求項1に記載のデバイス。 - 【請求項11】少なくとも1つの前記選択された用途要
素が、前記ユーザ設計機能を実施するプログラムを含
み、前記プログラム用途要素が、構成命令、または呼出
し時間命令、あるいはその両方を前記他の用途要素へ送
ることによって少なくとも1つの他の用途要素を呼び出
すことを特徴とする請求項1に記載のデバイス。 - 【請求項12】少なくとも1つの前記選択された用途要
素が、選択された他の用途要素から構成命令、または呼
出し時間命令、あるいはその両方を受け入れることを特
徴とする請求項1に記載のデバイス。 - 【請求項13】少なくとも2つの前記用途要素がクラス
タを形成し、前記クラスタ中の前記用途要素どうしが、
別々のバスを使用して接続されることを特徴とする請求
項1に記載のデバイス。 - 【請求項14】いくつかの前記選択された用途要素が、
並列処理モードで動作するようにプログラムされること
を特徴とする請求項1に記載のデバイス。 - 【請求項15】いくつかの前記選択された用途要素が、
パイプライン処理モードで動作するようにプログラムさ
れることを特徴とする請求項1に記載のデバイス。 - 【請求項16】少なくとも1つの前記選択された用途要
素が共用メモリ要素であることを特徴とする請求項1に
記載のデバイス。 - 【請求項17】少なくとも1つの前記選択された用途要
素が、その入力データを前記共用メモリ要素から受け取
り、その出力データを前記共用メモリ要素に記憶するこ
とを特徴とする請求項16に記載のデバイス。 - 【請求項18】前記選択された用途要素のうちの1つ
が、前記バスを介してコマンドを送ることによって少な
くとも1つの選択された他の用途要素の動作を制御する
ことを特徴とする請求項1に記載のデバイス。 - 【請求項19】前記制御側用途要素がさらに、クロック
信号を前記バスを介して前記被制御側用途要素へ送り、
前記被制御側用途要素の動作が、前記クロック信号の影
響を受けることを特徴とする請求項18に記載のデバイ
ス。 - 【請求項20】前記コマンドが、前記被制御側用途を構
成するコマンドを含むことを特徴とする請求項18に記載
のデバイス。 - 【請求項21】少なくとも1つの前記選択された用途要
素が、マイクロコードを含む汎用状態マシンを備え、前
記状態マシンが、前記マイクロコードに関連して動作し
て、定義された用途機能を実施することを特徴とする請
求項1に記載のデバイス。 - 【請求項22】いくつかの前記選択された用途要素の前
記インタフェース・ブロックが、前記バスとのプログラ
ム可能なインタフェースを備えることを特徴とする請求
項1に記載のデバイス。 - 【請求項23】通信システム内で使用され、ライブラリ
に含まれる選択された設計済み要素を集積することによ
って設計される単一のチップ通信デバイスであって、前
記通信システムが、通信信号を使用して情報のリモート
転送を可能にし、前記デバイスが、 前記ライブラリから選択された複数の用途要素と、 前記選択された用途要素間で内部信号を送るバスと、 前記通信信号に関係付けられた外部信号を少なくとも1
つの前記選択された用途要素に結合する手段と、 選択された各用途要素が、 時間引数とパラメータ引数とを有するコマンド命令に従
って所定の機能を実行し、前記時間引数が前記機能ブロ
ックの呼出し時間を定義し、前記パラメータ引数が前記
機能ブロックの処理機能を定義するプログラム可能な機
能ブロックと、 前記コマンド命令を受け取るために前記バスと前記選択
された用途要素とのインタフェースをとるインタフェー
ス・ブロックと を備えることを特徴とするデバイス。 - 【請求項24】前記内部信号が、少なくとも1つのクロ
ック信号を含み、いくつかの前記選択された用途要素
が、前記クロック信号に従って動作することを特徴とす
る請求項23に記載のデバイス。 - 【請求項25】前記インタフェース・ブロックが、コマ
ンドを受け取り送るようになされ、いくつかの前記選択
された用途要素が、前記クロック信号に従って動作する
ように前記コマンドによってプログラムされることを特
徴とする請求項24に記載のデバイス。 - 【請求項26】少なくとも2つの前記用途要素が、別々
のバスを使用して接続されたクラスタを形成し、前記外
部信号が、前記クラスタ中の前記用途要素によって処理
されることを特徴とする請求項23に記載のデバイス。 - 【請求項27】いくつかの前記選択された用途要素が、
並列処理モードで動作するようにプログラムされること
を特徴とする請求項23に記載のデバイス。 - 【請求項28】いくつかの前記選択された用途要素が、
パイプライン処理モードで動作するようにプログラムさ
れることを特徴とする請求項23に記載のデバイス。 - 【請求項29】少なくとも1つの前記選択された用途要
素が共用メモリ要素であることを特徴とする請求項23に
記載のデバイス。 - 【請求項30】少なくとも1つの前記選択された用途要
素が、その入力データを前記共用メモリ要素から受け取
り、その出力データを前記共用メモリ要素に記憶するこ
とを特徴とする請求項23に記載のデバイス。 - 【請求項31】複数の設計済みプログラム可能用途要素
を備える単一のチップ集積回路特定用途向けプロセッサ
を構成する方法であって、前記各用途要素が、所定の機
能を実行するプログラム可能な機能ブロックと、前記用
途要素とデータ、コマンド、クロック情報を前記各用途
要素へ送るバスのインタフェースをとるインタフェース
・ブロックとを備える方法であって 前記各用途要素ごとに、時間引数およびパラメータ引数
を定義し、前記時間引数が前記機能ブロックの呼出し時
間を指定し、前記パラメータ引数が前記機能ブロックの
動作特性を指定するステップと、 前記選択された各用途要素ごとの前記定義された引数
と、命令プログラム中の引数間の共働を記述するステッ
プと を含む方法。 - 【請求項32】さらに、前記プロセッサの動作を制御す
るために、前記命令プログラムをコンパイルし機械語命
令を生成することを含むことを特徴とする請求項31に記
載の方法。 - 【請求項33】少なくとも1つの用途要素の呼出し時間
が、前記バス上のその用途要素のクロック情報に対して
定義されることを特徴とする請求項31に記載の方法。 - 【請求項34】少なくとも1つの用途要素がレジスタを
使用し、前記定義ステップが、前記レジスタを所望の値
を満たすようにプログラムすることを含むことを特徴と
する請求項31に記載の方法。 - 【請求項35】前記レジスタが、前記複数の用途要素の
うちに1つに配置され、前記複数の用途要素のうちの他
の用途要素から共用されるメモリを備えることを特徴と
する請求項34に記載の方法。 - 【請求項36】前記複数の要素のうちの1つが、前記複
数の要素のうちの他の要素から共用され、前記定義ステ
ップが、少なくとも1つの前記他の要素に関する入出力
データの前記メモリ中のアドレスをプログラムすること
を含むことを特徴とする請求項31に記載の方法。 - 【請求項37】バスに接続された複数の設計済み要素の
うちの選択された要素を含む単一のチップ集積回路を設
計する方法であって、前記各要素が、機能ブロックと、
機能ブロックと前記バスとのインタフェースをとるイン
タフェース・ブロックとを備え、前記バスが、コマンド
信号、データ信号、クロック信号を前記選択された各要
素へ送り、 前記集積回路の構成を所定の1組の命令のうちの選択さ
れた命令で記述し、前記1組の命令のそれぞれが、1つ
の前記設計済み要素またはそのクラスに対応し、前記対
応する要素の選択可能な特定を定義するユーザ設定可能
な属性を含むステップと、 前記記述を、前記集積回路の物理構造の自動化設計で使
用するのに適したハードウェア記述言語に変換するステ
ップと、 前記要素の前記機能ブロックが、合成後にユーザによっ
てプログラムすることができ、前記選択された各要素の
各機能ブロックごとに、時間引数およびパラメータ引数
を定義し、前記時間引数が前記機能ブロックの呼出し時
間を指定し、前記パラメータ引数が前記機能ブロックの
動作特性を指定するステップと、 前記選択された各要素ごとの前記定義された引数と、命
令プログラム中の引数間の共働を記述するステップ、 を含むことを特徴とする方法。 - 【請求項38】前記集積回路がクロックを備え、前記選
択可能な特性が前記バスのクロッキング速度であること
を特徴とする請求項37に記載の方法。 - 【請求項39】さらに、コンピュータ支援設計製造装置
を使用して、前記ハードウェア記述言語を合成し前記集
積回路を製造することを含むことを特徴とする請求項37
に記載の方法。 - 【請求項40】さらに、前記ハードウェア記述言語を使
用して前記プロセッサを製造し、1つまたは複数の製造
済み要素に前記機械語命令をロードすることを含むこと
を特徴とする請求項37に記載の方法。 - 【請求項41】事前に設計されたユーザ構成可能なハー
ドウェア要素のライブラリと、コマンド信号、データ信
号、クロック信号を前記要素へ送るユーザ構成可能なバ
スを使用して、単一のチップ集積回路特定要素向けプロ
セッサを設計する方法であって、前記各ハードウェア要
素が、所定の機能を実行する機能ブロックと、前記ハー
ドウェア要素と前記バスのインタフェースをとるインタ
フェース・ブロックとを備え、その方法が、 前記プロセッサの所望の機能に従って前記ライブラリか
ら複数の前記ハードウェア要素を選択するステップと、 1つまたは複数の前記選択されたハードウェア要素を使
用して前記属性を定義することによって、前記プロセッ
サの属性を永久的に構成するステップと、 ハードウェア記述言語を使用して前記プロセッサを定義
するステップと、 前記ハードウェア要素の前記機能ブロックが、合成後に
ユーザによってプログラムすることができ、前記選択さ
れたハードウェア要素の各機能ブロックごとに、時間引
数およびパラメータ引数を定義し、前記時間引数が前記
機能ブロックの呼出し時間を指定し、前記パラメータ引
数が前記機能ブロックの動作特性を指定するステップ
と、 前記選択されたハードウェア要素ごとの前記定義された
引数と、命令プログラム中の引数間の共働を記述するス
テップと、 を含むことを特徴とする方法。 - 【請求項42】前記属性が、1つの前記選択された要素
によって使用されるレジスタのサイズであることを特徴
とする請求項41に記載の方法。 - 【請求項43】さらに、前記バスの幅を永久的に構成す
ることを含むことを特徴とする請求項41に記載の方法。 - 【請求項44】さらに、前記バスのクロッキング速度を
永久的に構成することを含むことを特徴とする請求項41
に記載の方法。 - 【請求項45】さらに、コンピュータ支援設計ツールを
使用して前記プロセッサを定義する前記ハードウェア記
述言語を合成することを含むことを特徴とする請求項41
に記載の方法。 - 【請求項46】さらに、前記プロセッサの動作を制御す
るために、前記命令プログラムをコンパイルし機械語命
令を生成することを含むことを特徴とする請求項41に記
載の方法。 - 【請求項47】さらに、前記ハードウェア記述言語を使
用して前記プロセッサを製造し、1つまたは複数の製造
済み要素に前記機械語命令をロードすることを含むこと
を特徴とする請求項46に記載の方法。 - 【請求項48】プログラム可能な特定用途向けプロセッ
サ・アーキテクチャであって、 共働して指定の用途を実行するように相互接続された複
数の物理用途要素と、 それぞれ、対応する用途要素に関連付けられた、1組の
用途命令とを備え、少なくとも1つの用途命令が、呼出
し時間を引数として有し、それによって、前記命令が、
それに対応する用途要素を特定の時間に呼び出すことを
特徴とするアーキテクチャ。 - 【請求項49】さらに、すべての用途要素間で信号を送
るためにこれらの用途要素を接続するバスを備えること
を特徴とする請求項48に記載のアーキテクチャ。 - 【請求項50】各用途要素が、プログラム可能な機能ブ
ロックを含み、 呼出し時間を引数として有する命令が、それに対応する
用途要素のプログラム可能な機能ブロックを特定の時間
に呼び出すことを特徴とする請求項48に記載のアーキテ
クチャ。 - 【請求項51】用途命令が、用途命令のライブラリから
選択されることを特徴とする請求項48に記載のアーキテ
クチャ。 - 【請求項52】いくつかの用途命令が、対応する用途要
素を同時に一呼び出すことによって並列処理モードで動
作するようにプログラムされることを特徴とする請求項
48に記載のアーキテクチャ。 - 【請求項53】いくつかの用途命令が、対応する用途要
素を時間的にずらして呼び出すことによってパイプライ
ン処理モードで動作するようにプログラムされることを
特徴とする請求項48に記載のアーキテクチャ。 - 【請求項54】少なくとも1つの用途命令が非同期的に
動作することを特徴とする請求項48に記載のアーキテク
チャ。 - 【請求項55】アーキテクチャが、単一のチップ半導体
デバイス上で実施されることを特徴とする請求項48に記
載のアーキテクチャ。 - 【請求項56】少なくとも1つの用途要素が、無線通信
に関係する機能を実行することを特徴とする請求項48に
記載のアーキテクチャ。 - 【請求項57】各用途要素が、用途要素間で信号を送る
ために対応する用途要素とバスのインタフェースをとる
インタフェース・ブロックを含むことを特徴とする請求
項49に記載のアーキテクチャ。 - 【請求項58】インタフェース・ブロックが、すべての
用途要素に対してほぼ同じであることを特徴とする請求
項57に記載のアーキテクチャ。 - 【請求項59】少なくとも1つの用途要素中のインタフ
ェース・ブロックが、バスとのプログラム可能なインタ
フェースを備えることを特徴とする請求項58に記載のア
ーキテクチャ。 - 【請求項60】各機能ブロックが、活動状態と電力遮断
状態とを有し、 各用途要素がさらに、その機能ブロックを活動状態およ
び電力遮断状態に切り替えるクロック・イネーブル・ブ
ロックを備えることを特徴とする請求項50に記載のアー
キテクチャ。 - 【請求項61】各クロック・イネーブル・ブロックが、
それに対応する機能ブロックへstart信号およびdone信
号を送り、機能ブロックをstart信号によって活動状態
に切り替え、done信号によって電力遮断状態に切り替え
ることを特徴とする請求項60に記載のアーキテクチャ。 - 【請求項62】少なくとも1つの用途要素が、指定され
た用途を実施するプログラムを含み、要素が、構成命令
と呼出し時間命令の少なくとも一方を送ることによって
少なくとも1つの他の用途要素を呼び出すことを特徴と
する請求項48に記載のアーキテクチャ。 - 【請求項63】少なくとも1つの用途要素が、他の用途
要素からの構成命令と呼出し時間命令のうちの少なくと
も一方を受け入れることを特徴とする請求項48に記載の
アーキテクチャ。 - 【請求項64】少なくとも2つの用途要素がクラスタを
形成し、クラスタ中の用途要素が他のバスによって接続
されることを特徴とする請求項49に記載のアーキテクチ
ャ。 - 【請求項65】少なくとも1つの用途要素が共用メモリ
要素であることを特徴とする請求項48に記載のアーキテ
クチャ。 - 【請求項66】少なくとも1つの用途要素が、入力デー
タを共用メモリ要素から受け取り、出力データを共用メ
モリ要素に記憶することを特徴とする請求項65に記載の
アーキテクチャ。 - 【請求項67】少なくとも1つの用途要素が、バスを介
して制御信号を送ることによって少なくとも1つの他の
用途要素の動作を制御することを特徴とする請求項66に
記載のアーキテクチャ。 - 【請求項68】制御側用途要素がさらに、被制御側用途
要素へクロック信号を送り、被制御側用途要索の動作が
クロック信号の影響を受けることを特徴とする請求項67
に記載のアーキテクチャ。 - 【請求項69】制御信号が、被制御側用途要素を構成す
るコマンドを含むことを特徴とする請求項67に記載のア
ーキテクチャ。 - 【請求項70】少なくとも1つの用途要素が、マイクロ
コードを含む汎用状態マシンを備え、状態マシンが、マ
イクロコードに関連して動作し、マイクロコードに対応
する命令を実施することを特徴とする請求項48に記載の
アーキテクチャ。 - 【請求項71】用途要素を形成する前に、特定の用途の
ニーズを満たすようにアーキテクチャをプログラムする
ことができることを特徴とする請求項48に記載のアーキ
テクチャ。 - 【請求項72】さらに、すべての用途要素間で信号を送
るためにこれらの用途要素を接続するバスを備えること
を特徴とする請求項71に記載のアーキテクチャ。 - 【請求項73】用途要素を形成する前に、バスの幅が、
特定の用途のニーズを満たすようにプログラムされるこ
とを特徴とする請求項72に記載のアーキテクチャ。 - 【請求項74】通信システムにおける命令の実行のため
のプログラム可能なプロセッサ・アーキテクチャにおい
て、 コマンド/データ/タイミング・バスで相互接続され、
協同して通信システムに有用な通信機能を実行する複数
の物理用途要素を有する集積回路を有し、 前記用途要素のいくつかは、 所定の通信機能を実行する用途要素論理ブロックと、 対応する用途要素にタイミング信号を与え、用途要素論
理ブロックをその機能が必要なときにイネーブルするク
ロック・イネーブル論理ブロックと、 用途要素論理ブロックに、コマンド/データ/タイミン
グ・バスを介してコマンドとデータを他の用途要素から
受け、かつ他の要素に送らせるインタフェース論理アク
セスブロックとを備え、かつ 対応する用途要素に関連した 用途要素の制御パラメータをセットするコマンド引数と 用途要素が呼び出された時を決定する時間引数とを 有する命令に応答させられる、 ことを特徴とするプログラム可能なプロセッサ・アーキ
テクチャ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/243,963 US5623684A (en) | 1994-05-17 | 1994-05-17 | Application specific processor architecture comprising pre-designed reconfigurable application elements interconnected via a bus with high-level statements controlling configuration and data routing |
US08/243,963 | 1994-05-17 | ||
PCT/US1995/005964 WO1995031778A1 (en) | 1994-05-17 | 1995-05-17 | Application specific processor and design method for same |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10507013A JPH10507013A (ja) | 1998-07-07 |
JP3202750B2 true JP3202750B2 (ja) | 2001-08-27 |
Family
ID=22920817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52979295A Expired - Fee Related JP3202750B2 (ja) | 1994-05-17 | 1995-05-17 | 特定用途向けプロセッサおよびその設計方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US5623684A (ja) |
EP (1) | EP0760128A4 (ja) |
JP (1) | JP3202750B2 (ja) |
KR (1) | KR100358631B1 (ja) |
CN (1) | CN1099636C (ja) |
AU (1) | AU2636895A (ja) |
RU (1) | RU2147378C1 (ja) |
WO (1) | WO1995031778A1 (ja) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799091A (en) * | 1996-05-24 | 1998-08-25 | Lsi Logic Corporation | Single chip solution for multimedia GSM mobile station systems |
US6195593B1 (en) | 1997-09-03 | 2001-02-27 | Seiko Epson Corporation | Reusable modules for complex integrated circuit devices |
US6138229A (en) * | 1998-05-29 | 2000-10-24 | Motorola, Inc. | Customizable instruction set processor with non-configurable/configurable decoding units and non-configurable/configurable execution units |
HUP0301274A2 (en) * | 1998-09-30 | 2003-08-28 | Cadence Design Systems | Block based design methodology |
US6968514B2 (en) | 1998-09-30 | 2005-11-22 | Cadence Design Systems, Inc. | Block based design methodology with programmable components |
JP4077578B2 (ja) | 1999-04-30 | 2008-04-16 | 松下電器産業株式会社 | 集積回路装置の設計方法 |
JP2000315222A (ja) | 1999-04-30 | 2000-11-14 | Matsushita Electric Ind Co Ltd | 集積回路装置の設計用データベース及び集積回路装置の設計方法 |
US7062769B1 (en) | 1999-07-07 | 2006-06-13 | National Semiconductor Corporation | Object-oriented processor design and design methodologies |
JP3974300B2 (ja) | 1999-11-18 | 2007-09-12 | 松下電器産業株式会社 | Ipベースlsi設計システムおよび設計方法 |
US7080183B1 (en) * | 2000-08-16 | 2006-07-18 | Koninklijke Philips Electronics N.V. | Reprogrammable apparatus supporting the processing of a digital signal stream and method |
US6630964B2 (en) * | 2000-12-28 | 2003-10-07 | Koninklijke Philips Electronics N.V. | Multi-standard channel decoder for real-time digital broadcast reception |
US20020112219A1 (en) * | 2001-01-19 | 2002-08-15 | El-Ghoroury Hussein S. | Matched instruction set processor systems and efficient design and implementation methods thereof |
US7055019B2 (en) * | 2001-02-13 | 2006-05-30 | Ellipsis Digital Systems, Inc. | Matched instruction set processor systems and method, system, and apparatus to efficiently design and implement matched instruction set processor systems by mapping system designs to re-configurable hardware platforms |
US20020116166A1 (en) * | 2001-02-13 | 2002-08-22 | El-Ghoroury Hussein S. | Matched instruction set processor systems and method, system, and apparatus to efficiently design and implement matched instruction set process systems using interconnected design components |
US6938237B1 (en) | 2001-06-29 | 2005-08-30 | Ellipsis Digital Systems, Inc. | Method, apparatus, and system for hardware design and synthesis |
EP1286279A1 (de) * | 2001-08-21 | 2003-02-26 | Alcatel | Konfigurations tool |
US7266487B1 (en) | 2001-08-29 | 2007-09-04 | Ellipsis Digital Systems, Inc. | Matched instruction set processor systems and method, system, and apparatus to efficiently compile hardware and software designs |
JP2003316838A (ja) * | 2002-04-19 | 2003-11-07 | Nec Electronics Corp | システムlsiの設計方法及びこれを記憶した記録媒体 |
JP4202673B2 (ja) * | 2002-04-26 | 2008-12-24 | 株式会社東芝 | システムlsi開発環境生成方法及びそのプログラム |
US7131097B1 (en) * | 2002-09-24 | 2006-10-31 | Altera Corporation | Logic generation for multiple memory functions |
WO2004040445A1 (en) * | 2002-10-29 | 2004-05-13 | Freescale Semiconductor, Inc. | Method and apparatus for selectively optimizing interpreted language code |
US7016695B1 (en) | 2002-12-11 | 2006-03-21 | National Semiconductor Corporation | Apparatus and method for processing a deterministic data flow associated with a wireless communication signal |
US7380151B1 (en) | 2002-12-11 | 2008-05-27 | National Semiconductor Corporation | Apparatus and method for asynchronously clocking the processing of a wireless communication signal by multiple processors |
CN1315037C (zh) * | 2002-12-27 | 2007-05-09 | 联想(北京)有限公司 | 虚拟信息流总线接口单元及其数据处理方法 |
US7017127B1 (en) | 2003-06-02 | 2006-03-21 | National Semiconductor Corporation | Method and system for enabling energy efficient wireless connectivity |
US7193553B1 (en) | 2004-12-07 | 2007-03-20 | National Semiconductor Corporation | Analog to digital converter with power-saving adjustable resolution |
US6980148B1 (en) | 2004-12-07 | 2005-12-27 | National Semiconductor Corporation | Pipelined analog to digital converter that is configurable based on wireless communication protocol |
US7205923B1 (en) | 2004-12-07 | 2007-04-17 | National Semiconductor Corporation | Pipelined analog to digital converter that is configurable based on mode and strength of received signal |
US9075623B2 (en) * | 2012-01-18 | 2015-07-07 | International Business Machines Corporation | External auxiliary execution unit interface for format conversion of instruction from issue unit to off-chip auxiliary execution unit |
WO2013147830A1 (en) * | 2012-03-30 | 2013-10-03 | Intel Corporation | Decoding wireless in-band on-channel signals |
CN106463039B (zh) * | 2014-05-16 | 2019-11-26 | 凌力尔特有限公司 | 配置信号处理系统 |
US9747197B2 (en) | 2014-05-20 | 2017-08-29 | Honeywell International Inc. | Methods and apparatus to use an access triggered computer architecture |
US10353681B2 (en) | 2014-05-20 | 2019-07-16 | Honeywell International Inc. | Systems and methods for using error correction and pipelining techniques for an access triggered computer architecture |
CN105435455A (zh) * | 2016-01-26 | 2016-03-30 | 青岛大学 | 一种可调式计数跷跷板 |
CN111988417B (zh) * | 2020-08-28 | 2022-07-19 | 电子科技大学 | 物联网终端的通信控制方法 |
CN112463723A (zh) * | 2020-12-17 | 2021-03-09 | 王志平 | 一种微内核阵列的实现方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62189739A (ja) * | 1986-02-17 | 1987-08-19 | Hitachi Ltd | 半導体集積回路装置 |
JPS63308343A (ja) * | 1987-06-10 | 1988-12-15 | Matsushita Electric Ind Co Ltd | 半導体集積回路 |
US5197016A (en) * | 1988-01-13 | 1993-03-23 | International Chip Corporation | Integrated silicon-software compiler |
US4951221A (en) * | 1988-04-18 | 1990-08-21 | General Electric Company | Cell stack for variable digit width serial architecture |
CN1016815B (zh) * | 1988-05-20 | 1992-05-27 | 武汉市半导体器件厂 | 通用测试,控制模块 |
US5173864A (en) * | 1988-08-20 | 1992-12-22 | Kabushiki Kaisha Toshiba | Standard cell and standard-cell-type integrated circuit |
US5283753A (en) * | 1991-07-25 | 1994-02-01 | Motorola, Inc. | Firm function block for a programmable block architected heterogeneous integrated circuit |
JP2791243B2 (ja) | 1992-03-13 | 1998-08-27 | 株式会社東芝 | 階層間同期化システムおよびこれを用いた大規模集積回路 |
-
1994
- 1994-05-17 US US08/243,963 patent/US5623684A/en not_active Expired - Fee Related
-
1995
- 1995-05-17 AU AU26368/95A patent/AU2636895A/en not_active Abandoned
- 1995-05-17 CN CN95194008A patent/CN1099636C/zh not_active Expired - Fee Related
- 1995-05-17 JP JP52979295A patent/JP3202750B2/ja not_active Expired - Fee Related
- 1995-05-17 EP EP95921243A patent/EP0760128A4/en not_active Withdrawn
- 1995-05-17 RU RU96123900A patent/RU2147378C1/ru active
- 1995-05-17 WO PCT/US1995/005964 patent/WO1995031778A1/en active Application Filing
- 1995-05-17 KR KR1019960706511A patent/KR100358631B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN1099636C (zh) | 2003-01-22 |
CN1157662A (zh) | 1997-08-20 |
KR970703560A (ko) | 1997-07-03 |
EP0760128A4 (en) | 2005-02-09 |
EP0760128A1 (en) | 1997-03-05 |
KR100358631B1 (ko) | 2003-01-24 |
JPH10507013A (ja) | 1998-07-07 |
US5623684A (en) | 1997-04-22 |
WO1995031778A1 (en) | 1995-11-23 |
RU2147378C1 (ru) | 2000-04-10 |
AU2636895A (en) | 1995-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3202750B2 (ja) | 特定用途向けプロセッサおよびその設計方法 | |
US5867400A (en) | Application specific processor and design method for same | |
Bolsens et al. | Hardware/software co-design of digital telecommunication systems | |
US6701431B2 (en) | Method of generating a configuration for a configurable spread spectrum communication device | |
Hartenstein et al. | KressArray Xplorer: a new CAD environment to optimize Reconfigurable Datapath Array | |
Kalavade et al. | A hardware-software codesign methodology for DSP applications | |
KR100910777B1 (ko) | 적응성 연산 집적 회로 및 적응성 연산 방법 | |
Duller et al. | Parallel Processing-the picoChip way | |
CN1653446A (zh) | 具有可配置执行单元的高性能混合处理器 | |
Kaiser et al. | Prototyping for MIMO systems-an overview | |
Pillement et al. | DART: a functional-level reconfigurable architecture for high energy efficiency | |
US7080345B1 (en) | Methods and apparatus for design entry and synthesis of digital circuits | |
WO2001055917A1 (en) | Improved apparatus and method for multi-threaded signal processing | |
JP2003534596A (ja) | プログラマブルシングルチップデバイス及び関連する開発環境 | |
Shukla et al. | QUKU: A FPGA based flexible coarse grain architecture design paradigm using process networks | |
Goossens et al. | Integration of signal processing systems on heterogeneous IC architectures | |
Goossens et al. | Design of heterogeneous IC's for mobile and personal communication systems | |
Guo et al. | Rapid scheduling of efficient VLSI architectures for next-generation HSDPA wireless system using Precision C synthesizer | |
David et al. | A compilation framework for a dynamically reconfigurable architecture | |
Tiensyrjä et al. | SystemC and OCAPI-xl based system-level design for reconfigurable systems-on-chip | |
Derrien et al. | Automatic synthesis of efficient interfaces for compiled regular architectures | |
Pulley et al. | Software defined baseband processing for 3G base stations | |
Bossuet et al. | Targeting tiled architectures in design exploration | |
JP2006510129A (ja) | システム・オン・チップへのアレイ・プロセッサのモジュラ統合 | |
Ismail et al. | PARTIF: Interactive System‐level Partitioning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080622 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |