JPH10507013A - 特定用途向けプロセッサおよびその設計方法 - Google Patents

特定用途向けプロセッサおよびその設計方法

Info

Publication number
JPH10507013A
JPH10507013A JP7529792A JP52979295A JPH10507013A JP H10507013 A JPH10507013 A JP H10507013A JP 7529792 A JP7529792 A JP 7529792A JP 52979295 A JP52979295 A JP 52979295A JP H10507013 A JPH10507013 A JP H10507013A
Authority
JP
Japan
Prior art keywords
application
bus
block
elements
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7529792A
Other languages
English (en)
Other versions
JP3202750B2 (ja
Inventor
エル−ゴーロウリイ,ハセイン
マクニール,デール・エイ
クラウス,チャールズ・エイ
Original Assignee
コムクエスト・テクノロジーズ・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by コムクエスト・テクノロジーズ・インコーポレーテッド filed Critical コムクエスト・テクノロジーズ・インコーポレーテッド
Publication of JPH10507013A publication Critical patent/JPH10507013A/ja
Application granted granted Critical
Publication of JP3202750B2 publication Critical patent/JP3202750B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

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)

Abstract

(57)【要約】 特定要素のニーズを満たす命令セットを有する特定用途向けプロセッサのアーキテクチャおよび設計方法を提供する。特定用途向けプロセッサ設計方法は、事前に設計された機能ブロックのライブラリ(111ないし113)の使用に基づくものである。これらの機能ブロックは、特定の用途によって最も一般的に使用される複雑な処理を密封する。各設計済み特定用途向け機能ブロックは、所望の値を用いてプログラムできるレジスタを使用して、密封された処理アルゴリズムのある種のパラメータの値が実施されるように設計される。各設計済み特定要素向け機能ブロックは、機能ブロック自体が呼出しコマンド、再構成コマンド、データ入出力経路指定コマンドを受け入れるための多目的バス(110)とのインタフェースをとれるように設計される。

Description

【発明の詳細な説明】 特定用途向けプロセッサおよびその設計方法 発明の背景 本発明は全般的には、複雑な特定用途向け集積回路に関し、詳細には、分散並 列プロセッサ・アーキテクチャと、そのような複雑な集積回路を容易に設計でき るようにする設計方法に関する。 集積回路技法は、少数(100個以下のトランジスタ)のゲートの集積から非 常に多数(数百万個のトランジスタ)のゲートの集積まで進歩してきた。その結 果、ますます複雑になる機能を実行する集積回路(IC)を作製し、それによっ て多数の離散構成要素を寸法、コスト、信頼性面のそれに応じた利益で置き換え ることが可能になっている。しかし、回路が複雑であり、使用可能なトランジス タの数が多いため、ICの設計はより困難になっている。したがって、IC設計 者がICをより効率的に設計するのを助けるツールが開発された。そのようなツ ールの目的は、設計者が、トランジスタやゲートを操作する必要なしにターゲッ ト論理機構を合成するのを容易にすることである。 汎用プロセッサ・アーキテクチャでは、複雑な関数を実施する1組のプログラ ム済み命令として順序付けることができる(加算、乗算、比較など)基本的な低 位命令がハードウェアにおいて実施される。そのようなアーキテクチャは、一連 の動作に関するピーク・スループット・ニーズを満たさなければならない中央演 算処理装置(CPU)によって達成できるスループットによって制限される。そ のような制限のためにしばしば、ハードウェアの負担が大きくなり、設計された ハードウェアの使用が非効率的なものになる。また、そのような中央制御式アー キテクチャの電力管理は通常、困難である。 設計者は、効率的なハードウェア実施態様を用いて設計スループットの目標を 満たすために多くの場合、合成後のプログラム可能性によって与えられるシステ ム設計の融通性を犠牲にして特定用途向け集積回路設計技法を使用している。 一般に、IC設計者を助ける2つの手法、すなわち「標準セル」技法および 「ゲート・アレイ」技法が開発されている。これらの技法は、米国特許第511 9314号(Hotta ほか)、第5173864号(Watanabe ほ か)、第5197016号(SUGIMOTO ほか)、第5283753号( Schucker ほか)で全般的に論じられている。標準セル手法では、一般 に使用される論理ブロックが慎重に設計され、セル・ライブラリに記憶される。 設計者は、必要な機能が提供されるように適当な論理ブロックを検索し相互接続 することができる。通常、このようなブロックは、NANDゲートやNORゲー トなど基本的な論理構造、または加算器やマルチプレックスなど他の簡単な論理 ブロックである。論理ブロックは、ブロックの適当な入出力端子間で導体を経路 指定することによって相互接続することができる。 ゲート・アレイ技法では、第1導電相互接続レベルまで(第1導電相互接続レ ベルを含まない)の同じ集積回路素子(ゲート)を含む多数のベース・ウェハが 製造される。IC設計者は、事前に製造されたゲートを相互接続するために使用 される導電パターンのみを指定することによってゲート・アレイを「カスタマイ ズ」する。 この両方の手法に関する1つの問題は、それらの手法を使用して、複雑な機能 を実行するICを設計することが困難であることである。これは、標準セルおよ びゲート・アレイが、すべてのタイプの用途に対して基本的なあるいは簡単な論 理ブロックであるからである。したがって、このような基本的な構成単位を有用 な特定用途向け集積回路として集積するには長い時間と、高い技能と、多大な労 力が必要である。また、レイアウトおよびタイミング面の制約と、このような論 理ブロックを相互接続するのに必要な設計上の労力のために通常、設計者の自由 が制限され、設計時間が長くなる。 一例を挙げれば、通信用途に使用される回路は通常、複雑な信号処理動作を実 行する。そのような回路の例には、有限インパルス応答フィルタ、無限インパル ス応答フィルタ、復調器、相関器がある。これらの回路には複雑な数学的アルゴ リズムが組み込まれており、このようなアルゴリズムを理解し設計することがで きるのは極めて熟練したエンジニアだけである。したがって、標準セル技法およ びゲート・アレイ技法と共に使用できる基本的な構成単位を使用してこれらの回 路を実施することは非常に厄介である。 標準セル設計法およびゲート・セル設計法を使用する複雑な集積回路の設計に 関連するいくつかのレイアウト制約は、Schucker ほかで対処されてい る。この特許に記載されたブロック・アーキテクチャ式集積回路設計手法では、 すでに開発されている論理ブロックを再使用することができるが、様々な論理ブ ロックを相互接続する複雑さに対処できない。また、記載された集積回路設計手 法では、電力管理は行われない。電力管理は、多数のゲートを組み込んだ複雑な ICの重要な因子である。 いくつかの電子システム製造業者は、前述の問題を解決するためにまったく異 なる方式を使用している。これらの製造業者は、カスタム設計ICに依存するの ではなく、マイクロコントローラやディジタル信号プロセッサなどの汎用ICを 使用している。このようなICは、1秒当たりに多数の命令を実行することがで きる。通常、このようなICの機能をカスタマイズするにはソフトウェアが使用 される。 このような汎用ICを使用することの1つの問題は、特定用途向けICのスル ープットに匹敵するスループットを達成できないことである。高速通信システム など、処理速度が重要な因子である多数の用途では、汎用ICの性能は受け入れ られない。さらに、ソフトウェアを使用しても、複雑な処理アルゴリズムを実施 するために極めて熟練したエンジニアが必要になるという要求は変わらない。 SUGIMOTO ほかは、汎用プロセッサと、多数のデータ・バス、アドレ ス・バス、制御バス上で接続された複数の論理ブロックとを組み込んだ特定用途 向け集積回路を設計するコンピュータ支援システムおよび方法を開示している。 この設計手法はいくつかの欠点を有する。第1に、この手法には、統合シリコン ・ソフトウェア・コンパイラによってハードウェア・ブロックとして合成された 論理ブロック、すなわち、システム・スループットを向上させるために組み込ま れる、比較器、加算器、マルチプレックス、カウンタなど基本的なサポート機能 に関する合成後プログラミングを実行する能力が欠けている。また、複雑な処理 ニーズは依然としてソフトウェアで実施され、したがって複雑なシステムの場合 には熟練した設計者が必要になる。また、SUGIMOTO ほかに記載された 集積回路設計手法は、電力管理用の機能を組み込んでいない。 したがって、ある設計から他の設計へ再使用することができるが、電力効率的 な集積回路設計を有する特定の用途の改良の必要性およびグレードアップの必要 性を満たすように合成後にプログラムすることができる機能ブロックとして、複 雑な特定用途向け処理を効果的に密封できるようにするブロック・アーキテクチ ャ式特定用途向け集積回路および設計方法が必要である。 発明の概要 本発明は、各命令が、特定の用途クラスに有用な上位動作・処理機能を指定す る特定用途向け命令セットを使用する(単一チップ上で実施できる)特定用途向 けプロセッサ(ASP)アーキテクチャを含む。特定の用途クラス(たとえば、 通信製品)の処理ニーズがまず分析されて動作にグループ化され、その用途によ って最も一般的に使用される処理アルゴリズムが複数の機能ブロックにグループ 化される。それにより、非常に複雑であるが頻繁に使用される、単一の機能ブロ ックへのデータ変換のタイプを捕捉する。各機能ブロックは、命令セットの特定 用途向け命令に対応する。これらの特定用途向け命令は、多目的バスによって相 互接続されるように設計されたハードウェア機能ブロックとして実施される。使 用時には、相互接続されたハードウェア機能ブロックは、その特定用途を実施す るために設計者によって指定された命令のプログラムに従って順序付けられる。 多くの機能ブロック内では、ブロックによって実施される処理アルゴリズムのあ る種のパラメータの値が、複数の可能な値のうちの1つを用いてプログラムでき るレジスタを使用して指定される。したがって、各機能ブロックは、設計者から は、パラメータによってプログラム可能な特定用途向け高位動作または命令とみ なすことができる。 これらの機能ブロックはそれぞれ、特定用途向け高位動作を形成するように構 成されグループ化された多数の低位処理プリミティブを含む。これらの機能ブロ ックのそれぞれが特定用途に関する高位動作なので、これらの機能ブロックは、 特定用途向け言語の「シンタックス」を形成するものとみなすことができ、すな わち、機能ブロックは、ASPの動作をプログラムする特定用途向け言語で使用 される符号を含む。下記では、本発明のシステムおよび方法によって使用される 機能ブロックを相互交換可能に「用途シンタックス」または「用途要素」と呼ぶ 。ライブラリ中の各用途シンタックスは、機能ブロックと多目的バスのインタフ ェースをとるインタフェース・ブロックも含む。 用途シンタックスは、集積回路の構成単位とみなすことができ、ターゲット技 術(たとえば、CMOSなど特定のマイクロエレクトロニクス集積技術)向けに 事前に設計され、実施され、最適化される。 事前に設計された特定用途向け機能ブロック(用途シンタックス)は、下記の ように本発明のASPの設計プロセスを容易にするために設計ライブラリ内でグ ループ化される。設計者はまず、特定用途の設計要求を分析し、特定用途向け命 令を使用してプログラムを作成する場合と同様に、その設計要求を、ライブラリ から選択された特定用途向け機能ブロックのサブセットとして記述する。選択さ れた機能ブロックは次いで、各機能ブロック内に埋め込まれた標準多目的バス・ インタフェースによって相互接続される。この集積設計は、プログラム可能なA SP集積回路として合成することができる。合成されたASP集積回路の合成後 調整は、各特定用途向け機能ブロックを順次呼び出し、再構成コマンドおよびデ ータ入出力経路指定コマンドを各機能ブロックに提供する命令プログラムを使用 して行われる。各特定用途向け機能ブロックの設計内に電力管理設計機能が組み 込まれ、そのため、大多数の機能ブロック論理機構は、受け取った呼出しコマン ドを実行するのに必要な時間中しかオンにすることができない。 本発明によるASPの設計は、設計者が各用途シンタックスに関連する複雑な アルゴリズムの深い知識なしにシステム・レベル要求を直接ASP実施態様に変 換できるように高位プログラミング言語によって簡略化される。この言語を使用 すると、それぞれの異なる用途シンタックス間の関係、すなわち、入出力位置、 構成、多目的バス・クロックに対する各用途シンタックスが呼び出される時間を 含め、各用途シンタックスのパラメータ間の関係を指定する簡単なプログラムを 用いて本発明によるASPを設計することができる。指定されないパラメータは 、事前に定義されたデフォルト値に設定される。 本発明のASPアーキテクチャおよび設計方法を使用して様々な製品を設計す ることができる。たとえば、ライブラリが、通信システムに関係する用途シンタ ックスを含む場合、そのシンタックスを使用して、携帯電話、無線ローカル・エ リア・ネットワーク、専用通信網、ディジタル・ケーブル・ネットワーク用の製 品を設計することができる。その結果、用途シンタックスの設計コストはライブ ラリの多数のユーザ間で償却することができる。 本発明の方法は、ASP用の簡略化された高位設計技法も提供する。各用途シ ンタックスは、事前に定義された入出力特性を有する「ブラック・ボックス」と みなすことができる。したがって、ライブラリの設計者は、これらの複雑な特定 用途向け機能をどのように実施するかを深く理解する必要はない。設計者は、シ ステム・レベル構成単位または用途シンタックスを用いて作業するだけでよい。 このような用途シンタックスを使用してシステムを設計する方が、標準セルを選 択し、構成し、接続し、あるいは数千のゲートを相互接続することによって同じ 機能を実施するよりもはるかに容易でかつ高速である。その結果、製品を設計す るコストが著しく低減され、製品の設計に伴う市場時間が著しく短縮される。 また、本発明のASPおよび設計方法によって製品機能拡張および改良のコス トが低減される。開示したASPアーキテクチャ、用途シンタックス・ライブラ リ、設計方法を使用すると、用途シンタックスを削除し挿入し、次いで特定用途 向け集積回路の新しいバージョンを再合成することによって、製品の変更または 製品への機能の追加が容易に行われる。システム全体を再設計する必要はない。 また、各用途シンタックスの設計内の固有の合成後プログラム可能性のために、 再合成の必要なしに、実施されたASPをプログラムすることによって製品の機 能拡張を行うことができる。したがって、製品の機能拡張および改良のコストは 大幅に低減される。 本発明の用途シンタックス間の相互接続によって、1組の用途シンタックスが 非同期的に動作することができるように、多目的バスを使用した粗結合が可能に なる。多目的バス上の各用途シンタックスは、同時に呼び出す(並列処理)こと も、あるいは時間的にずらして処理する(パイプライン処理)こともできる。ま た、用途シンタックスがイネーブルされるのは、その処理機能が必要とされると きだけである。用途シンタックスの電力使用が、それがイネーブルされるかどう かに依存するので、この機能によって固有の効率的な電力管理が可能になる。 多目的バスは、コマンドとデータの両方を保持するために使用される。コマン ドとデータは、多目的バスへの単一のアクセスによって同時に送られるように対 にされる。コマンドおよびデータに割り振られるバス中のワードの数は、各アク セスごとに異なる。この「移動境界」機能によって多機能バスの効率を最大にす ることができる。 本発明のアーキテクチャでは、分散制御も可能であり、それによって各用途シ ンタックスは、コマンドおよびデータを生成し、他の用途シンタックスへ送るこ とができる。したがって、中央制御装置は必要とされない。この分散制御手法で は、高度に時間順序付けされたマルチモード特定用途向け処理を効率的に実施す ることができる。しかし、本発明のアーキテクチャでは、ある用途シンタックス を使用して、ASP内で他のいくつかの用途シンタックスを制御することができ る。ある用途シンタックスが他の用途シンタックス群の中央制御装置になると、 制御される用途シンタックスは用途シンタックス「クラスタ」として指定される 。このように、広いインタフェース帯域幅ニーズを有する用途シンタックスを、 前述の多目的バスとは別の単一の物理インタフェースを有する群として相互接続 することができる。この用途シンタックス・クラスタ化によって、相互接続イン タフェース帯域幅を集積回路内のデータ・フローの帯域幅に整合するように調整 することができる。この機能によってデータ・フローの輻輳が回避される。 用途シンタックスの1つの用途は、ディジタル通信の領域である。用途シンタ ックスは、ディジタル・フィルタ、相関器、復調器、エラー訂正など複雑なアル ゴリズムを含む。本発明のアーキテクチャでは、通信システム設計者は、これら のアルゴリズムの詳細を理解する必要はない。設計者は、適当な用途シンタック スを統合するに過ぎず、スペクトル拡散、周波数ホッピング、時分割多重アクセ ス・モデムなど様々な製品用の複雑な通信特定用途向け集積回路を容易に設計す ることができる。 図面の簡単な説明 第1図は、本発明の特定用途向けアーキテクチャを示す図である。 第2図は、本発明の用途シンタックス中のインタフェース・アクセス論理ブロ ックを示す図である。 第3図は、本発明の用途シンタックス中のクロック・イネーブル論理ブロック を示す図である。 第4図は、本発明の用途シンタックス中の用途シンタックス論理ブロックを示 す図である。 第5図は、ASPの設計方法を示す流れ図である。 第6図は、本発明の特定通信用途向けアーキテクチャを使用して実施されるモ デムのブロック図である。 第7図は、第6図のモデムのデータ・フロー図である。 第8図は、第6図のモデムのパイプライン処理機能を示すタイミング図である 。 本発明の他の態様および利点は、一例として本発明の原則を開示する添付の図 面および表に関連して本発明の下記の説明を読めば明らかになろう。 発明の詳細な説明 本発明は、それぞれ、特定の機能を実行するように設計された複数の機能要素 が、協同してタスクを実行するように接続されたプロセッサ・アーキテクチャお よび設計方法である。これらの機能要素が集積されるアーキテクチャと、用途依 存処理を実行するための機能要素の集合を、本明細書では特定用途向けプロセッ サ(ASP)と呼ぶ。 第1図は、本発明のASPアーキテクチャ100の概略図である。第1図は、 コマンド/データ/タイミング・バス110と、用途シンタックス111、11 2、113など複数の用途シンタックスを示す。これらの用途シンタックスはそ れぞれ異なるものでよく、あるいはそのうちのいくつかが同じであってもよい。 用途シンタックス間の通信は、コマンド/データ/タイミング・バス110を通 じて実行される。 各用途シンタックスは、コマンド/データ/タイミング・バス110とのイン タフェースをとる基本的に同じいくつかの回路を含む。したがって、用途シンタ ックス111など1つの用途シンタックスのみのインタフェース回路を詳しく説 明すれば十分である。用途シンタックス111は、クロック・イネーブル論理ブ ロック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と のインタフェースをとる構成要素)。しかし、特定のデータ処理機能および信号 処理機能を実行する、用途シンタックス中の回路は異なるものでよい(たとえば 、ある用途シンタックスが復調器として働き、他の用途シンタックスが相関器と して働き、以下同様である)。簡単に言えば、用途シンタックスはそれぞれの異 なる機能を実行することができるが、コマンド/データ/タイミング・バス11 0とのインタフェースをとる用途シンタックスの部分はほぼ同じである。そのた め、コマンド/データ/タイミング・バス110を使用して用途シンタックスど うしのインタフェースをとることができる。 第2図は、第1図に示したインタフェース・アクセス論理ブロック123の詳 細なブロック図を示す。第1図および第2図中の同じ符号は同じ要素を示す。イ ンタフェース・アクセス論理ブロック123は、コマンド/データ入力ブロック 142およびクロック・イネーブル論理ブロック121に接続されたアドレス・ デコーダ140を含む。アドレス・デコーダ140は、コマンド/データ・バス 150からアドレス信号を受け取り、コマンド/データ入力ブロック142およ びクロック・イネーブル論理ブロック121に、用途シンタックス111宛のコ マンドおよびデータを受け入れさせる。コマンド/データ・バス150は、第1 図に示したコマンド/データ/タイミング・バス110の一部である。コマンド /データ入力ブロック142によって処理されたコマンドおよびデータは用途シ ンタックス・ブロック125へ送られる。インタフェース・アクセス論理ブロッ ク123は、コマンド/データ出力ブロック144とアドレス出力ブロック14 8も含む。この2つのブロックは、用途シンタックス論理ブロック125によっ て生成されたコマンド、データ、アドレス情報をコマンド/データ・バス150 へ送る。インタフェース・アクセス論理ブロック123は、コマンド/データ出 力ブロック144およびアドレス出力ブロック148に接続されたバス・アクセ ス回路146も含む。 2つのコマンド/データ・ブロック142および144は、それぞれ、サイズ が異なる、一対のコマンドとデータからなる入出力フォーマットに作用する。コ マンドおよびデータの全体的なサイズは、特定用途向けシンタックス論理機構の 動作ニーズに基づくものである。前述のコマンド・データ対は移動境界を有し、 この移動境界によって物理インタフェース(すなわち、コマンド/データ/タイ ミング・バス110)効率を最大にすることができる。 インタフェース・アクセス論理ブロック123の構造はすべての用途シンタッ クスに対してほぼ同じなので、ある用途シンタックスは、コマンド/データ/タ イミング・バス110を通じて他の用途シンタックスへコマンドおよびデータを 送ることができる。この「データ・ドリブン」分散制御手法によって、高度に時 間順序付けされたマルチモード特定用途向け処理を効率的に実施することができ る。したがって、このアーキテクチャでは、制御手法を完全に中央制御された手 法に制限する必要はなく、分散制御手法、または中央制御手法、または混成制御 手法を使用して、所期の用途のニーズを最もうまく満たすことができる。用途シ ンタックスが他の用途シンタックスへのコマンドを生成する能力によって、ある 用途シンタックスが、用途シンタックス・クラスタとして指定された一群の他の 用途シンタックスの中央制御装置になることができる。 このアーキテクチャの他の利点は、コマンド/データ/タイミング・バス11 0が用途シンタックス論理機構から隠されることである(すなわち、用途シンタ ックス論理機構はバス動作の詳細を知る必要がない)。したがって、用途シンタ ックスに関する特定の機能の設計者は、バス動作を知る必要がなく、その結果、 経済的な利益がある。 第3図は、第1図に示したクロック・イネーブル論理ブロック121の詳細な ブロック図を示す。第1図、第2図、第3図中の同じ符号は同じ要素を示す。ク ロック・イネーブル論理ブロック121は、タイミング・バス153、コマンド /データ・バス150、インタフェース・アクセス論理ブロック123のアドレ ス・デコーダ140からの入力を受け入れるコマンド状態レジスタ211を含む 。タイミング・バス153は、コマンド/データ/タイミング・バス110の一 部であり、通常、それぞれの異なる線上に保持された複数のクロック信号を含む 。 コマンド状態レジスタ211は、用途シンタックス111にアドレスされた時 間に関係するコマンドおよびデータを受け取る。コマンド状態レジスタ211は 、このようなコマンドおよびデータを使用して、mux選択値およびエポック・ モジュロ値を求める。mux選択値は、マルチプレックス213がタイミング・ バス153から所望のクロック(またはエポック)を選択できるように1組のm ux選択線214を通じてマルチプレックス213へ送られる。エポック・モジ ュロ値は、下記で説明するように、コマンド論理ブロック217へ送られ、コマ ンド論理ブロック217内でモジュロ(すなわち、ゲート・クロックをイネーブ ルする前にカウントすべきエポックの数)を定義する。 マルチプレックス213の出力は活動タイマ215に接続される。活動タイマ 215はまた、線227を通じてコマンド論理ブロック217から「count (カウント)」信号を受け取る。このcount信号は、コマンド論理ブロック 217中の前述のエポック・モジュロ値に対応する。活動タイマ215はこのc ount信号を使用して(コマンド状態レジスタによって選択された)エポック をカウントし、「complete(完了)」信号を線225を通じてコマンド 論理ブロック217へ送る。コマンド論理ブロック217は次いで、ゲート・ク ロックをイネーブルし、(ゲート・クロックに同期する)start(開始)信 号を生成する。start信号およびゲート・クロックはそれぞれ、線219お よび221を介して用途シンタックス論理ブロック125に結合される。コマン ド論理ブロック217は、線220を介して用途シンタックス・ブロック125 から「done(終了)」信号を受け取る。コマンド論理ブロック217は、そ れ自体がコマンド状態レジスタ211からのコマンドを介してゲート・クロック をイネーブルしディスエーブルすることができるようにする回路を含む。 クロック・イネーブル論理ブロック121は、指定されたタイミング・エポッ クの特定の発生時に用途シンタックス論理ブロック125を活動化する。たとえ ば、クロック・イネーブル論理ブロック121は、事前に定義されたエポック時 に用途シンタックス論理ブロック125を活動化し、アイドル時間中にゲート・ クロックをディスエーブルし、それによって用途シンタックス111の電力散逸 を制限するように構成することができる。さらに、クロック・イネーブル論理ブ ロック121は、システム全体にわたって分布されたタイミング・エポックに基 づく用途シンタックスの自律動作を可能にする。したがって、各用途シンタック スをその機能が必要なときしかイネーブルできないようにすることによって、デ ータ処理の時間順序付けと効率的な電力管理は共に、このアーキテクチャの固有 の態様になる。 第4図は、第1図に示した用途シンタックス論理ブロック125の詳細なブロ ック図を示す。第1図、第2図、第3図および第4図中の同じ符号は同じ要素を 示す。用途シンタックス論理ブロック125は、外部インタフェース131線を 介して供給されるユーザ・データの変換など、用途シンタックスに特有の定義済 み機能を実行する用途機能論理ブロック256を含む。すなわち、用途機能ブロ ック256は、すべての用途シンタックスに共通のインタフェース構造の一部で はない回路を含む。用途シンタックス論理ブロック125は、インタフェース・ アクセス論理ブロックからコマンドおよびデータを受け取り、クロック・イネー ブル論理ブロック121からゲート・クロック信号を受け取るコマンド/データ mux/demuxブロック252も含む。コマンド/データmux/demu x論理ブロック252は、インタフェース・アクセス論理ブロック123から受 け取った(コマンド/復号論理ブロック254へ送る)コマンドおよび(用途機 能論理ブロック256との二方向通信用の)データを抽出する。 コマンド/復号論理ブロック254は、用途論理ブロック125の制御装置と みなすことができる。コマンド/復号論理ブロック254は、線262を介して 用途シンタックス機能論理ブロック256の動作を制御する。すなわち、コマン ド/復号論理ブロック254は、コマンド/データmux/demuxブロック 252を介してインタフェース・アクセス論理ブロック123からコマンドを受 け入れ、そのコマンドを解釈し、用途機能論理ブロック256の動作を制御する 。動作の例には、(i)用途機能論理ブロック256を構成することや、(ii )外部インタフェース131線から供給されたユーザ・データの特定の定義済み 変換を呼び出すことがある。コマンドの完了時に、用途機能論理ブロック256 は「complete」信号を線264を介してコマンド/復号論理ブロック2 54へ送る。 前述のように、コマンド/復号論理ブロック254が受け取った219上のs tart信号は、用途機能論理ブロック256の呼出しを同期させるために使用 される。コマンド/復号論理ブロック254は「done」信号も生成し、(線 220を介して)クロック・イネーブル論理ブロック121へ送る。クロック・ イネーブル論理ブロック121は、コマンド/復号論理ブロック254、用途機 能論理ブロック256、コマンド/データmux/demuxブロック252へ のゲート・クロックをディスエーブルする。これらのブロックへのゲート・クロ ックをディスエーブルすると基本的に、これらのブロックはオフになる。逆に、 ゲート・クロックをイネーブルすると、これらのブロックはオンになる。 上記で指摘したように、用途シンタックス中の用途機能論理ブロック256は 、事前に定義された機能を実行するように特定的に設計される。各用途シンタッ クスは、ターゲット技術(たとえば、特定のマイクロエレクトロニクス集積技術 ) 向けに事前に設計され、実施され、最適化された特定用途向け機能を定義する。 それぞれの異なるデータ変換機能および信号変換機能を実行する1組の用途シン タックスをライブラリに入れることができる。ある種の用途(たとえば、無線通 信用のモデム)向けにシステムを設計する際、適当な用途シンタックスがライブ ラリから選択され、所望の機能を実行できるようにコマンド/データ/タイミン グ・バス上に置かれる。 第1図ないし第4図に提示した実施形態では、コマンド引数がコマンド/デー タ・バス150上へ送られ、インタフェース・アクセス論理ブロック123およ びクロック・イネーブル論理ブロック121によって処理される。時間引数は、 タイミング・バス153上へ送られ、主としてクロック・イネーブル論理ブロッ ク121によって処理される。 ASPアーキテクチャによって、1組の用途シンタックスを同時に呼び出す( 並列処理)ことも、あるいは時間的にずらす(パイプライン処理)ことも、ある いは時間的に順序付ける(非オーバーラップ処理)こともできる。この機能は、 システム設計選択においてかなりの融通性をもたらす。同時呼出し(並列処理) によって高処理スループットを実現することができる。時間的にずらし(パイプ ライン処理)、あるいは時間的に順序付けた(非オーバーラップ処理)呼出しに よって、ある用途シンタックスが他の用途シンタックス用の前処理装置として働 くことができる。各用途シンタックスの時間(T)引数は、呼出しエポックのア ラインメントを決定し、他の用途シンタックスに対する最も効率的な処理を実現 する。 完全な1組の使用可能な用途シンタックスを含むライブラリから適当な用途シ ンタックスが選択される。このアーキテクチャ設計では、任意の1組の用途シン タックスを、完全に接続されたトポロジとして相互接続することができ、それに よって2つの用途シンタックス間のデータ・フローが可能になる。この相互接続 は粗結合に基づくものであり、そのため、1組の用途シンタックスが非同期的に 動作することができる。 次に、第5図に示した流れ図を参照して本発明のASP集積回路の設計方法に ついて詳しく説明する。第1に、ターゲット製品の処理要求が分析され、通信製 品の場合には、フィルタリング、復調、インタリーブ解除など、基本的な特定用 途向けプロセスとして分解される(プロセス10)。次に、特定用途向け機能ブ ロック12のライブラリが探索され、識別された処理ニーズを満たすのに適した 用途シンタックスのサブセットが識別される(プロセス14)。新しくあるいは 独自の特定用途向け処理機能が、ライブラリに含まれていないと識別された場合 、この新しくあるいは独自の用途処理ニーズは、ASP多目的バスとの前述のイ ンタフェースを組み込んだ用途シンタックス内でハードウェア記述言語(HDL )を使用して実施される(プロセス16)。新たに設計された用途シンタックス HDLは、ライブラリに存在するものとして識別された設計済み用途シンタック スのHDLと統合され、ターゲットASP集積回路のHDLが形成される(プロ セス18)。 プロセス20で動作レベル・シミュレーションが実行され、内部インタフェー スおよび外部インタフェースが設計仕様を満たすかどうかが確認される。プロセ ス20で動作レベル・シミュレーションが実行されるのと同時に、特定用途向け プログラムが、それを使用して、ターゲット特定用途向けASICの処理要求を 実施するように選択された用途シンタックスの動作を順序付けることができるよ うに設計される(プロセス24)。次に、統合HDLが、ASPを実施するため に選択された技術を対象とする適当なコンピュータ支援設計(CAD)合成ツー ルを用いて合成される(プロセス22)。プロセス26で、結果として得られる 論理機構が、プロセス24で設計された特定用途向け命令プログラムと組み合わ され、ゲート・レベルでシミュレートされ、ターゲット特定用途向け要求を満た していることが検証される。適当なゲート・レベル論理シミュレーションの完了 時に、ASICレイアウトおよび製造向けの設計がリリースされる(プロセス2 8)。 用途シンタックス・ライブラリは、プログラミング言語での命令の集合とみな すことができる。ユーザは、所期の用途に一致するプログラム可能なASPを実 施する適当な命令サブセットをライブラリから選択することができる。この命令 セットは、ターゲット用途(たとえば、ディジタル通信)の特定の処理ニーズを 満たすように調整することができる。ASPアーキテクチャは、命令セット中の 命令をある種の用途を実行するために共働するように組み合わせることができる アーキテクチャである。この特定用途向け命令セット中の個別のメンバは、用途 レベルでの基本命令としてアドレスできる単一の「シンタックス」への非常に複 雑であり、しかも頻繁に使用されるタイプのデータ変換を捕捉するように設計さ れる。前述のように、この種のシンタックスを「用途シンタックス」または「用 途要素」と呼ぶ。このようなシンタックスの物理的な実施形態の例には、第1図 ないし第4図に関連して上記で論じた用途シンタックス111、112、113 がある。 ASPアーキテクチャ内では、用途シンタックスは2組の基本的な引数、すな わちコマンド(C)および時間(T)を用いて呼び出される。ソフトウェア・プ ログラミングと同様な用語では、シンタックスの構造は「シンタックス(C,T )」である。各シンタックスは、呼び出されると、特定用途向け変換またはマッ ピングを適用することによって、指定された入力アレイ、またはデータ構造、ま たはコマンド、あるいはそれらの組合せを出力に変換する。シンタックスのコマ ンド(C)引数によって、用途シンタックスに埋め込まれた制御パラメータを所 望の値に設定することができ、したがって、用途シンタックスによって実行され る変換を、実行される機能変換のタイプを変更せずにある呼出しから他の呼出し に変更することができる。たとえば、通信特定用途向けプロセッサ(CASP) 内では、フィルタ帯域幅を変更できるようにするコマンド引数を含むフィルタ関 数となるように用途シンタックスを定義することができる。シンタックスの時間 (T)引数によって、用途シンタックスを特定の時間エポックに呼び出すことが でき、この場合、引数(T)の値は、用途シンタックスを呼び出す時間、または 連続的な呼出し間の時間間隔を指定する。ハードウェアで実施する場合、各シン タックスは、呼び出されると、特定用途向け変換またはマッピングを適用するこ とによって、指定された入力アレイ、またはデータ構造、またはコマンド、ある いはそれらの組合せを出力に変換する。シンタックスのコマンド(C)引数によ って、用途シンタックス内に埋め込まれた特定の制御パラメータを所望の値に設 定することができ、したがって、用途シンタックスによって実行される変換を、 実行される機能変換のタイプを変更せずにある呼出しから他の呼出しに変更する ことが できる。たとえば、通信特定用途向けプロセッサ(CASP)内では、フィルタ 帯域幅を変更できるようにするコマンド引数を含むフィルタ関数となるように用 途シンタックスを定義することができる。シンタックスの時間(T)引数によっ て、用途シンタックスを特定の時間エポックに呼び出すことができ、この場合、 引数(T)の値は、用途シンタックスを呼び出す時間、または連続的な呼出し間 の時間間隔を指定する。 本発明の原則の下では、ASPは、その設計の合成前段でプログラムすること も、合成後段でプログラムすることもできる。全体的な設計プロセスは、要求分 析、機能分解、用途シンタックス・ライブラリ探索、用途シンタックス統合など をカバーするものであり、上記で第5図に関連して説明したとおりである。合成 前プログラム可能性とは特に、集積回路設計者が機能ブロックのHDLモデルを 適応化することによって各機能ブロックの設計をさらにカスタム化できるように するプログラム可能性を指す。合成前または合成後にプログラムできる例示的な 機能の要約をPSK復調器に関連して表1に提示する。ある機能は合成前または 合成後にプログラム可能になるように実施することができ、これに対して、他の 機能は一方の段で実施するのが好ましく、他方の段で実施するのは好ましくない (たとえば、モデムでは、バイナリ位相シフト・キーイング対クォーターナリ位 相シフト・キーイングは合成前に呼び出すことが好ましく、これに対してモデム のボー・レートは合成後にプログラムされる)ことが、当業者なら理解されよう 。合成前プログラム可能性を実施することは、不要な機能を削除し、カスタム機 能を追加し、具体的には、プリコンパイラ・フラグまたはマクロを使用して、特 定のパラメータの設定を通じて特定の機能の呼出しを制御できるように、HDL モデルを高度にモジュール化しコメント付きで構成することと同程度に簡単であ るはずである。 特定用途向けプロセッサ・アーキテクチャのこの実施形態では、バス幅やクロ ッキング速度など多目的バスの属性を特定の用途のニーズを満たすように合成前 にプログラムすることができる。これによって、集積回路設計者は、多目的バス を最適化することができ、したがって効率的なゲート数実施態様が可能になる。 各機能ブロックの設計内で固有なこととして、所望の値を用いてプログラムで きるレジスタを使用して処理アルゴリズムのある種のパラメータの値が実施され る。このようなレジスタのサイズ、したがって各レジスタのプログラム可能な値 の範囲は、特定用途のニーズを満たすように合成前にプログラムすることができ る。実際上、この合成前プログラム可能性機能によって、集積回路設計者は、後 述のように特定用途のニーズを満たすように設計の合成後プログラム可能性を最 適化することができ、低ゲート数実施態様を達成するうえで追加効率がもたらさ れる。 多目的バス内に組み込まれたタイミング信号の速度を特定用途のニーズを満た すように合成前にプログラムすることもできる。この場合も、設計者は特定用途 のニーズを満たすようにゲート数を最適化することができる。 合成後には、本発明の特定用途向けプロセッサ・アーキテクチャによって、2 つの機能ブロック間のデータ転送をプログラムすることができる。したがって、 各機能ブロックは、入出力データのメモリ・アドレスを、各機能ブロックに命令 する重要な部分として用いてプログラムすることができる。 前述のように、処理アルゴリズムのある種のパラメータの値は、所望の値を用 いてプログラムできるレジスタを使用して実施される。したがって、各機能ブロ ックは、パラメータによってプログラムできる特定用途向け高位動作または命令 としてみなすことができる。このため、特定用途向けプロセッサは、特定用途の 即時的なニーズに合わせて各機能ブロックの処理機能を調整するように合成後に プログラムすることができる。 さらに、各機能ブロックは、多目的バス上で機能ブロックに供給されるタイミ ング信号に対して呼出し時間を制御するように合成後にプログラムすることがで きる。 各特定用途機能ブロックの設計内で固有なこととして、連続的な呼出し間にク ロック信号をゲートオフする能力を使用することもできる。したがって、実際上 、特定用途プロセッサ・アーキテクチャでは実際には、オン/オフ周期と呼出し エポックの両方に関して各機能ブロックへのクロック信号をプログラムすること ができる。 多目的バスの移動境界属性のために、このバスは、相互接続された機能ブロッ ク間でデータおよびコマンドを送るために必要とされるスループットを適応化す るように合成後にプログラムできるとみなすことができる。特定用途向けプロセ ッサ中の各機能ブロックはそれぞれの異なるデータ構造サイズおよびコマンド構 造サイズを有することができるので、プログラム済み命令のシーケンスに従って 機能ブロックを呼び出すことは実際上、集積された機能ブロックのデータおよび コマンドのニーズに適応するように多目的バスをリアルタイムでプログラムする ことである。 したがって、この実施形態の合成後プログラム可能性の例として、「FILT ER」命令をそのようにデータを処理するように構成することができる。 FILTER(IN=@ recelved_signal_sample_ bus、OUT=@ fiitered_signal_bus、TYPE=F IR、NCOEF=Num_Coef、COEF=MF_Coef、TIME= Burst_CLK) FILTER命令の最初の2つの引数は、フィルタの接続性をセットアップす る。第1の引数は、フィルタ入力を受信信号バスに接続し、第2の引数は、フィ ルタ出力をフィルタ済み信号バスに接続する。フィルタ関数は、受信信号バスか ら入力データを受け取り、結果として得られる出力データを、第6図で参照され るフィルタ済み信号バスに書き込む。次の3つの引数は、フィルタ係数Num_ Coefを含む有限インパルス応答(FIR)タイプ・フィルタを実行するよう FILTER機能ブロックに命令する。Num_Coefは、プロジェクト・デ ータベース内でセットアップされるプロジェクト特有の定数またはequate である。プロジェクト・データベースは、そのようなequateを、定数RO M(読取り専用メモリ)中の特定のアドレスに記憶されているデータまたはRA M(ランダム・アクセス・メモリ)内にユーザ構成可能なデータとして指定する ことができる。FILTER命令コマンドの最後の引数は、コマンド/データ/ タイミング・バスによって提供されるバースト・クロックのエポック時にフィル タ機能ブロックを呼び出すよう命令する。 命令宣言に明確に定義されないパラメータは、デフォルト値に設定される。各 用途シンタックスごとのデフォルト・パラメータには、内部バス幅、動作速度、 アーキテクチャの構成、その他の構成/制御オプションを含めることができる。 たとえば、FILTER命令は、明確に定義されないパラメータを含むデフォル ト値を使用して完全に構成することができる。このオプションでは、プログラム 中のFILTER命令はFILTER()になる。 一実施形態では、命令は、後述のように、共用メモリ・シンタックスでコンパ イルされ共用メモリ・シンタックスに記憶される。共用メモリ・シンタックスは 、電源供給時にASPにダウンロードされたプログラムを含むRAMメモリを備 えることができる。代替実施形態では、共用メモリ・シンタックスは、RAMで はなくROMを備え、あるいは場合によっては補助RAMを備え、その場合、R OMがプログラムを記憶するために使用され、RAMがユーザがアクセスでき修 正できるレジスタとして使用される。他の実施形態では、1つの機能ブロックに しか依存しない命令パラメータまたは構成パラメータをそれぞれのブロックに記 憶することができる。 本発明のASPアーキテクチャは、マイクロエレクトロニック集積回路技術な らびに広いレベルの技術を組み込んだ実施態様を対象とする。構成処理機構およ び構成呼出し機構が特定用途に一致するので、ASPアーキテクチャは、共通の 処理ニーズを有するいくつかの製品市場の生産量をまとめることによって達成さ れる低コストの利益を実現するのに十分なプログラミング融通性を用いて、ター ゲット技術によって達成できる最大スループットをもたらす。たとえば、携帯電 話、無線ローカル・エリア・ネットワーク、専用通信網、ディジタル・ケーブル ・ネットワークなどを含め、いくつかの製品の組み合わされた市場のディジタル 通信信号処理ニーズに適応化されたライブラリを構築することができる。このア ーキテクチャは、用途の専門家の専門知識にてこ入れし、より低い製品設計コス トおよびより短い市場時間の利点を実現し、システム・レベルのオブジェクト指 向プログラム可能性を可能にし、それによって、特定用途処理の複雑な態様を深 く理解することを不要にする。固有の電力管理機能を有する効率的な特定用途向 け回路の高速開発サイクルと、大幅に低減された開発コストでの製品の機能拡張 および改良に対処するためのプログラミング上の融通性が、このアーキテクチャ の主要な利益である。 本発明のASPアーキテクチャの1つの用途は、通信ASP(CASP)であ る。表2は、様々なCASPを設計するために使用できるライブラリ中のいくつ かの用途シンタックスの名称および説明を示す。 本発明のASPを使用して設計される例示的な通信システムは、スペクトル拡 散、周波数ホッピング(SS/FH)、時分割多重アクセス(TDMA)シグナ リング方式を実施する変調器/復調器(モデム)である。SS/FH態様は、各 バーストごとの搬送波周波数を無作為化することによって提供される。TDMA 態様は、チャネル上の時間を、フレームとして定義された多重アクセス・デュー ティ・サイクルを有するTDMAバーストに分割することによって提供される。 フレーム内の割り当てられたバーストの時間部分は無作為化される。多重アクセ ス方式は必要に応じて、各バーストにデータ・ストリームを動的に割り当て、ユ ーザ・データをサポートする。各バーストは、表3に示した1組のパラメータに よって定義される。 第6図は、CASPを使用して実施されるSS/FH TDMAモデム400 のトップ・レベル・ブロック図を示す。具体的に、この例で使用される用途シン タックスを表4に示す。これらの用途シンタックスは、コマンド/データ/タイ ミング・バス499を通じて通信し、この場合、各用途シンタックスをそれぞれ の異なる速度で呼び出す(あるいは活動化する)ことができる。バス499は、 第1図のコマンド/データ/タイミング・バス110を実現したものである。 モデム400内に定義された各用途シンタックスは、データ変換を制御する入 力構成コマンドと、呼出し時間を制御する入力タイミング・コマンドを受け入れ る。このコマンド構造は、第1図のASPアーキテクチャではシンタックス(C , T)として定義されている。用途シンタックスは、呼び出されると、パラメータ を適当な値に設定し、入力データを処理し、次の呼出しコマンドが発生するまで 入力クロックをゲートオフする。したがって、クロックをゲートオフすることに よって固有の電力節約がもたらされる。モデム400内に定義された用途シンタ ックスは、それぞれの異なる信号処理機能を実行するそれぞれの異なる用途シン タックス論理機構(すなわち、第1図のブロック125)を有する。しかし、す べてのこれらの用途シンタックスは同じインタフェース構造を使用して、コマン ド/データ/タイミング・バス499に接続される。 第6図のモデム400では、ASPアーキテクチャの中央制御態様と分散制御 態様は共に、バーストごとの動的モデム再構成およびフレームごとのデータ処理 をサポートするために使用される。中央制御は、ダウンリンク・デランダマイザ 404およびアップリンク・ランダマイザ406によって行われ、ダウンリンク ・デランダマイザ404およびアップリンク・ランダマイザ406はそれぞれ、 バーストごとにダウンリンク・ディジタル信号処理およびアップリンク・ディジ タル信号処理の調和をとる。分散制御は、データ処理では、自律用途シンタック スによってフレームごとに行われる。具体的には、これらの自律用途シンタック スは、エンコーダ408、インタリーバ425、CRCチェッカ424、デコー ダ423、デインタリーバ(インターリーブ解除器)409である。 モデム400は、すべての用途シンタックス間の粗結合を行う共用メモリ・シ ンタックス416を備える。これによって、複数の別々のデータ線およびアドレ ス線、ならびに別々のメモリのハードウェア・オーバヘッドがなくなる。各用途 シンタックスは、入力データに対して特定のタスクを実行し、出力を共用メモリ ・シンタックス416を介して次の用途シンタックスに渡す。 第7図に示したように、データおよび制御は、共用メモリ・シンタックス41 6中の事前に割り当てられたセグメントを介して用途シンタックス間で送られる 。第6図および第7図中の同じ要素は同じ符号を有する。各割り当て済みメモリ ・セグメント(すなわち、セグメント460、462、464、472)には、 (ポインタ482などの)「書込み」ポインタ、(ポインタ483などの)「読 取り」ポインタ、(値484などの)「セグメント長」値、(インタリーブ解除 されたデータ485などの)処理すべきデータが関連付けられる。「書込み」ポ インタは、データを書き込む用途シンタックスによって維持され、それに対して 「読取り」ポインタは、データを読み取る用途シンタックスによって維持される 。 各用途シンタックスは、「書込み」ポインタおよび「読取り」ポインタを調べて 、処理するのに十分なデータが得られるかどうかを判定し、データが得られなく なる次のフレーム・クロック・エポックまでシャットダウンする。この機能によ って、固有の電力節約がもたらされるだけでなく、データを、得られるときにの み所望のスループットで処理することができる。 次に、モデム400によって実行されるダウンリンク処理の動作について説明 する。ダウンリンク上のシグナリング構造は、通信データ、アクセス制御データ 、同期情報を多重化する可変バースト・データ転送速度を有する時分割多重化さ れ周波数ホッピングされた波形を備える。同期情報は、受け取った信号を得て追 跡する同期相関器428を用いて復調される。通信データおよびアクセス制御デ ータは、PSK復調器429を用いて復調される。用途シンタックス428と用 途シンタックス429は共に、データを、他の自律用途シンタックスによってさ らにデータ処理できるように共用メモリ・シンタックス416内に出力する。 モデムでは、整合フィルタ427、同期相関器428、PSK復調器429は 復調クラスタ430としてグループ化される。復調クラスタ430は、受け取っ た信号をリアルタイムでバースト速度で復調し、復調したデータを共用メモリ・ シンタックス416に入れる。整合フィルタ427は、着信ディジタル信号の通 信特性を整合させ、それによってフィルタ済みサンプルを同期相関器428およ びPSK復調器429に提供する。フィルタ済み信号の高帯域幅に適応するため に、復調クラスタ430の構成要素は、フィルタ済み信号バス431と呼ばれる 高帯域幅バスによって接続される。 モデム400では、復調クラスタ430の中央制御はダウンリンク・デランダ マイザ404によって行われる。具体的には、ダウンリンク・デランダマイザ4 04は下記の機能を実行する。 (1)PN符号ワードを生成し、同期する。 (2)ホッピングされた搬送波周波数を算出する。 (3)モデム400の外部のダウンリンク・シンセサイザ用の対応する周波数コ マンドおよびストローブを生成する。 (4)バースト・クロックおよびフレーム・クロックを含め、すべての必要なク ロックを生成する。 (5)復調クラスタ430をバーストごとに構成する。 復調クラスタ430の構成は、整合フィルタ427をバースト・データに対し てセットアップすることと、同期相関器428とPSK復調器429のどちらか を選択することからなる。ダウンリンク・デランダマイザ404は、生成された PN符号に基づいて、着信バースト・インデックスを識別する。ダウンリンク・ デランダマイザ404は、識別されたこのバースト・インデックスを使用して、 共用メモリ・シンタックス416にアクセスし、ダウンリンク「コマンド・テン プレート」に含まれるバースト構成パラメータを判定する。コマンド・テンプレ ートとは、このモデム用途用に特定的に書かれたCASP命令プログラムをコン パイルした結果として得られる機械語符号である。コマンド・テンプレート(プ ログラム)中の情報は、モデムの動作を定義するものであり、変化するダウンリ ンク・パラメータに従って変更することができる。コマンド・テンプレート(プ ログラム)中の情報は、信号処理コマンドならびにデータ処理コマンドを定義す る。信号処理コマンドは復調クラスタ430を構成するために使用され、それに 対してデータ処理コマンドは自律データ処理シンタックスを構成するために使用 される。 ダウンリンク・デランダマイザ404は、復調クラスタ430を、バースト・ クロック・エポックで活動化されるように構成するタイミング・コマンド(T) を、復調クラスタ430の各構成要素に書き込む。バースト・クロック・エポッ クの前に、ダウンリンク・デランダマイザ404は、復調クラスタ430の各構 成要素に構成コマンド(C)を書き込む。復調クラスタ430は、バースト・ク ロック・エポック上で活動化し、ダウンリンク・デランダマイザ404から供給 される構成コマンドに定義されたようにデータを処理する。これは、バースト・ クロック・エポックでの動的再構成の例である。 復調されたデータは、自律用途シンタックスによってさらに処理される。これ らの用途シンタックスは、ダウンリンク・フレーム・クロック・エポックで活動 化され、データを処理し、次いで次のダウンリンク・フレーム・クロック・エポ ックまでシャットダウンする。この結果、動作時にはかなり電力が節約される。 モデム400では、各自律用途シンタックスは、その入出力を共用メモリ・シン タックス416内に維持する。第7図は、中央制御復調クラスタ430と分散制 御データ処理シンタックスとの間のデータ・フローを示す。モデム400が線4 32上で受け取った信号は復調クラスタ430によって復調される。復調された データは、コマンド/データ/タイミング・バス499の一部からなるコマンド /データ・バス498を介して共用メモリ・シンタックス416の復調データ・ セグメント460内に置かれる。その後で、この復調済みデータはデインタリー バ409によって処理される。この結果は、共用メモリ・シンタックス416中 のデインタリーバ・データ・セグメント462に記憶される。その後で、インタ リーブ解除されたデータはデコーダ423によって処理される。復号されたデー タは、共用メモリ・シンタックス416中の復号済みデータ・セグメント464 に記憶される。復号済みデータは次いで、CRCチェッカ424によってエラー がないかどうか検査され、受信ユーザ・データ・セグメント472内に置かれる 。受信ユーザ・データは次いで、外部エンティティによって外部バス490上の データ/制御インタフェース・シンタックス426を介して抽出することができ る。 自律用途シンタックスの構成コマンドは、共用メモリ・シンタックス416中 のダウンリンク・コマンド・テンプレート(プログラム)の一部として提供され る。前述のように、これらの用途シンタックスのそれぞれに関する命令は、2つ の引数、すなわちコマンド引数(この場合は、構成コマンド)と時間引数(この 場合は、呼出し時間)とからなる。呼出し時に、用途シンタックスはコマンド引 数(C)を復号し、それに応じてパラメータを構成する。各用途シンタックスは 、時間引数(T)を復号し、呼出しエポックを判定する。時間引数は、コマンド /データ/タイミング・バス499の一部であるタイミング・バス497のバー スト・クロック495とフレーム・クロック496のどちらかを選択するコマン ドとして実施することができ、このコマンドを使用して定期的な呼出しエポック を確立することができる。 前述の動作を処理パイプラインで実行するCASPコマンド・テンプレート( プログラム)の時間引数が選択されたモデム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である。この場合、Mはフレーム内のバーストの数を数え る任意の整数である。 モデム400で実施されるダウンリンク処理パイプラインは、フレーム(N) 500の受信データ432に対して実行される整合フィルタ/復調(N)510 から始まる。具体的には、下記のプログラム済み動作シーケンスが実行される。 (a)フレーム(N)500のバースト(M)570に対して整合フィルタ(M )580が実行される。 (b)整合フィルタ(M)580出力データに対して復調(M)590が実行さ れる。 (c)フレーム(N)500のバースト(M+1)571に対して整合フィルタ (M+1)581が実行される。 (d)整合フィルタ(M+1)581出力データに対して復調(M+1)591 が実行される。 (e)フレーム(N)500のバースト(M+2)572に対して整合フィルタ (M+2)582が実行される。 (f)整合フィルタ(M+2)582出力データに対して復調(M+2)592 が実行される。 (g)フレーム(N)500内の指定されたすべてのバーストが整合フィルタさ れ復調されるまで以下同様である。 (h)後に続くフレームで、復調(M)590出力データ、復調(M+1)59 1出力データ、復調(M+2)592出力データなどに対してインタリーブ解除 (N)520が実行される。 (i)後に続くフレームで、インタリーブ解除(N)520出力データに対して 復号(N)530が実行される。 (j)後に続くフレームで、復号(N)530出力データに対してCRC検査( N)540が実行される。 (k)後に続くフレームで、受信データ550がCRC検査(N)540出力デ ータから抽出され、外部エンティティに渡される。 同様に、フレーム(N+1)は下記のように処理される。 (a)フレーム(N+1)501のバースト(M)570に対して整合フィルタ (M)580が実行される。 (b)整合フィルタ(M)580出力データに対して復調(M)590が実行さ れる。 (c)フレーム(N+1)501のバースト(M+1)571に対して整合フィ ルタ(M+1)581が実行される。 (d)整合フィルタ(M+1)581出力データに対して復調(M+1)591 が実行される。 (e)フレーム(N+1)501のバースト(M+2)572に対して整合フィ ルタ(M+2)582が実行される。 (f)整合フィルタ(M+2)582出力データに対して復調(M+2)592 が実行される。 (g)フレーム(N+1)501内の指定されたすべてのバーストが整合フィル タされ復調されるまで以下同様である。 (h)後に続くフレームで、復調(M)590出力データ、復調(M+1)59 1出力データ、復調(M+2)592出力データなどに対してインタリーブ解除 (N+1)521が実行される。 (i)後に続くフレームで、インタリーブ解除(N+1)521出力データに対 して復号(N+1)531が実行される。 (j)後に続くフレームで、復号(N+1)531出力データに対してCRC検 査(N+1)541が実行される。 (k)後に続くフレームで、受信データ550がCRC検査(N+1)541出 力データから抽出され、外部エンティティに渡される。 ダウンリンク処理パイプラインは、モデム400が異なるモードに再構成され、 あるいはオフにされるまで同じパターン反復を無限に継続する。 CASPモデム400のプログラミング機能により、コマンド/データ/タイ ミング・バス499上で与えられるクロックのうちの1つを選択し、選択したク ロックを使用して、そのクロックが特定の値に達したときに、選択されたエポッ クまたは呼出しのモジュロ(N)を数えることによって呼出しエポックを生成す るように、時間引数によって用途シンタックスに命令することができる。たとえ ば、CASPコマンド・テンプレート(プログラム)は、指定されたエンコーダ 呼出し周期を複数のフレームからなるように定義する。この例では、エンコーダ 入力データは、呼出し時にエンコーダによって処理されるまで、指定された共用 メモリ・セグメントに蓄積する。 着信データを処理するよう第6図のCASPモデムに命令する命令プログラム は下記のとおりである。 **Demodulator Cluster FILTER(IN=@ received_signal_sample_ bus、OUT=@ filtered_signal_bus、TYPE=F IR、NCOEF=Num_Coef、COEF=MF_Coef、TIME= Burst_CLK) IF Data_BURST THEN PSK_DEMOND(IN=Samp_Bus、OUT=@ Demon d_Data、TYPE=@ Demond_Type、SYMB=Symb_ rate、TIME=Burst_CLK) ELSEIF SYNC_BURST SYNC(IN=Samp_Bus、OUT=@ Sync_Buf、TY PE=@ SYNC_Type、SYNC_COEF=@ S_Coef、SY MB=Symb_rate、TIME=Burst_CLK) ENDIF **Frame Processes CONV_DEINT(IN=@ Demond_Data、OUT=@ D eint_Data、NUM=Num_Data、ROW=NRows、COL =NCol、STEP=NStep、TIME=Frame_CLK) CONV_DECODE(IN=@ Delnt_Data、OUT=@ D ec_Data、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_L en、TIME=Frame_CLK) DATA_IF(IN=@ CRC_Data、OUT=D_Bus、TIM E=Frame_CLK) FILTER命令についてはすでに説明した。FILTER命令の後に続くI F文によって、2つの異なるタイプの受信TDMAバーストに対する適当な処理 を実行することができる。ELSEIF文によって同期情報を適切に処理するこ とができ、それに対して、ENDIFは予期されるように、この2つの分岐の終 わりを示す。コンパイラは、プログラマによって指定できるコマンド・テンプレ ート内にこのIF命令をマップする。プログラマは次いで、データと同期バース トとを含むTDMAフレームの特定の構造をこのコマンド・テンプレートに埋め 込む。このテンプレートは、コンパイル済みプログラムの一部として記憶され、 受信バーストのタイプを識別するために使用される。 上記のPSK_DEMOD命令を下記で説明する。プログラムを用いてコンパ イルされたフレーム構造コマンド・テンプレートの内容に基づいて、各受信バー ストは同期(SYNC)バーストとデータ・バーストのどちらかとして識別され る。受信バーストがデータ・バーストとして識別されると、PSK_DEMOD 命令は、フィルタされた受信信号サンプルを処理するようPSK復調器機能ブロ ックに命令する。PSK_DEMOD命令は、フィルタ済み信号バス(第6図) から入力を抽出し、結果として得られる出力を共用メモリ・ブロック中の指定さ れたメモリ位置に経路指定するようPSK復調器に命令する。共用メモリ機能ブ ロックの構造は、プロジェクト・データベースを介してコンパイル済みプログラ ムの一部としても含まれる。命令の次の2つの引数は、復調すべきPSK記号の タイプ(たとえば、BPSKまたはQPSK)および受信記号速度に関してPS K復調器の特定の構造を指定する。TIME引数は、PSK復調器がバースト・ クロック速度で呼び出されるよう命令する。 SYNC命令は、重要な同期パラメータが同期係数と、係数の数と、厳密な同 期タイプとを含むことを除いて、PSK復調器命令に類似している。 たたみ込みデインタリーバ(CONV_DEINT)、たたみ込みデコーダ( CONV_DECODE)、CRCチェッカ(CRC)、データ・インタフェー ス(DATA_IF)はすべてフレーム・プロセスである。これらのプロセスは それぞれ、フレーム・クロックで呼び出され、共用メモリからデータを抽出し、 必要なデータ変換を実行し、共用メモリにデータを出力し、次いでスリープする 。CDTバス構造、共用メモリ・バッファ構造、内部ビット幅などのパラメータ はプロジェクト・レベル・データベースに定義される。話を簡単にするために、 下記ではたたみ込みデインタリーバのみについて論じる。他のフレーム・プロセ スは、非常に類似した引数を有し、たたみ込みデインタリーバが理解されれば容 易に抽出することができる。 CONV_DEINT命令の最初の2つの引数は、モジュールの接続性を定義 する。すなわち、最初の2つの引数は、CONV_DEINTに、その入力が共 用メモリ中のどこに配置されているかと、その出力を共用メモリ中のどこに置く べきかを知らせる。この場合、CONV_DEINTは、共用メモリ中のDem od_Dataバッファから入力を得て、共用メモリに配置されたDeint_ Data内にデータを出力する。構造、長さ、位置などのバッファ・パラメータ はプロジェクト・レベル・データベースに配置される。次の引数は、呼出し当た りにいくつのソフト決定ビットをインタリーブ解除すべきかをCONV_DEI NTに知らせる。次の3つの引数は、呼び出すべき厳密な構成をCONV_DE INTに知らせる。この場合、たたみ込みデインタリーバはn行×n列になる。 最後に、最後の引数は、たたみ込みデインタリーバをフレーム速度で呼び出すよ う命令する。 当業者が、モデム400のダウンリンク部を理解した後にアップリンク部を構 築することは明らかなので、本明細書ではダウンリンク部についてのみ説明する 。したがって、アップリンク部の構造および動作については本明細書では説明し ない。 本発明のASPアーキテクチャについて説明した。当業者には、様々なタイプ の用途に本発明を応用することが明らかであろう。本明細書では、本発明の好ま しいいくつかの実施形態のみを詳しく説明したが、本発明の趣旨および範囲から 逸脱せずに多数の変更および修正を加えることができる。したがって、本発明の 範囲は、添付の特許請求の範囲によって制限されるに過ぎない。
【手続補正書】特許法第184条の8 【提出日】1995年12月18日 【補正内容】 補正請求の範囲 1.ライブラリに含まれる選択された設計済み要素を集積することによって設 計される単一のチップ半導体デバイスであって、 信号を送るバスと、 前記バスを介して通信し、共働してユーザ設計機能を実行し、前記ライブラリ から選択される複数の用途要素とを備え、 選択された各用途要素が、 時間引数とパラメータ引数とを有するコマンド命令に従って所定の機能を実行 し、前記時間引数が前記機能ブロックの呼出し時間を定義し、前記パラメータ引 数が前記機能ブロックの処理機能を定義するプログラム可能な機能ブロックと、 前記コマンド命令を受け取るために前記バスと前記選択された用途要素とのイ ンタフェースをとるインタフェース・ブロックと を備えることを特徴とするデバイス。 2.前記インタフェース・ブロックが、前記デバイス中のすべての用途要素に 対してほぼ同じであることを特徴とする請求項1に記載のデバイス。 3.前記機能ブロックが、活動状態と電力遮断状態とを有し、前記インタフェ ース・ブロックがさらに、 前記バスと前記機能ブロックとの間でコマンドおよびデータを送るアクセス・ ブロックと、 前記バスから受け取った前記コマンド、前記データ、前記時間引数に応答して 、前記機能ブロックを前記活動状態および前記電力遮断状態に切り替えるクロッ ク・イネーブル・ブロックとを備えることを特徴とする請求項1に記載のデバイ ス。 4.前記コマンドと前記データが対として前記バスへ送られ、前記対中の前記 データおよびコマンドのサイズが、前記選択された用途要素の要求を満たすこと を特徴とする請求項3に記載のデバイス。 5.前記クロック・イネーブル・ブロック・スイッチが、start(開始) 信号およびgated clock(ゲート・クロック)信号を送ることによっ て、前記機能ブロックを前記活動状態に切り替え、前記gated clock 信号をオフにすることによって前記機能ブロックを前記電力遮断状態に切り替え ることを特徴とする請求項3に記載のデバイス。 6.前記機能ブロックが、前記クロック・イネーブル・ブロックへdone信 号を送り、前記クロック・イネーブル・ブロックが、前記done信号に応答し て前記gated 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.複数の設計済みプログラム可能用途要素を備える単一のチップ集積回路 特定用途向けプロセッサを構成する方法であって、前記各用途要素が、所定の機 能を実行するプログラム可能な機能ブロックと、前記用途要素とデータ、コマン ド、クロック情報を前記各用途要素へ送るバスのインタフェースをとるインタフ ェース・ブロックとを備える方法であって 前記各用途要素ごとに、時間引数およびパラメータ引数を定義し、前記時間引 数が前記機能ブロックの呼出し時間を指定し、前記パラメータ引数が前記機能ブ ロックの動作特性を指定するステップと、 前記選択された各用途要素ごとの前記定義された引数と、命令プログラム中の 引数間の共働を記述するステップと を含む方法。 33.さらに、前記プロセッサの動作を制御するために、前記命令プログラム をコンパイルし機械語命令を生成することを含むことを特徴とする請求項32に 記載の方法。 34.少なくとも1つの用途要素の呼出し時間が、前記バス上のその用途要素 のクロック情報に対して定義されることを特徴とする請求項32に記載の方法。 35.少なくとも1つの用途要素がレジスタを使用し、前記定義ステップが、 前記レジスタを所望の値を満たすようにプログラムすることを含むことを特徴と する請求項32に記載の方法。 36.前記レジスタが、前記複数の用途要素のうちに1つに配置され、前記複 数の用途要素のうちの他の用途要素から共用されるメモリを備えることを特徴と する請求項35に記載の方法。 37.前記複数の要素のうちの1つが、前記複数の要素のうちの他の要素から 共用され、前記定義ステップが、少なくとも1つの前記他の要素に関する入出力 データの前記メモリ中のアドレスをプログラムすることを含むことを特徴とする 請求項32に記載の方法。 38.バスに接続された複数の設計済み要素のうちの選択された要素を含む単 一のチップ集積回路を設計する方法であって、前記各要素が、機能ブロックと、 機能ブロックと前記バスとのインタフェースをとるインタフェース・ブロックと を備え、前記バスが、コマンド信号、データ信号、クロック信号を前記選択され た各要素へ送り、 前記集積回路の構成を所定の1組の命令のうちの選択された命令で記述し、前 記1組の命令のそれぞれが、1つの前記設計済み要素またはそのクラスに対応し 、前記対応する要素の選択可能な特定を定義するユーザ設定可能な属性を含むス テップと、 前記記述を、前記集積回路の物理構造の自動化設計で使用するのに適したハー ドウェア記述言語に変換するステップと を含むことを特徴とする方法。 39.前記集積回路がクロックを備え、前記選択可能な特性が前記バスのクロ ッキング速度であることを特徴とする請求項38に記載の方法。 40.さらに、コンピュータ支援設計製造装置を使用して、前記ハードウェア 記述言語を合成し前記集積回路を製造することを含むことを特徴とする請求項3 8に記載の方法。 41.前記ハードウェア要素の前記機能ブロックが、合成後にユーザによって プログラムすることができ、方法がさらに、 前記選択されたハードウェア要素の各機能ブロックごとに、時間引数およびパ ラメータ引数を定義し、前記時間引数が前記機能ブロックの呼出し時間を指定し 、 前記パラメータ引数が前記機能ブロックの動作特性を指定するステップと、 前記選択されたハードウェア要素ごとの前記定義された引数と、命令プログラ ム中の引数間の共働を記述するステップとを含む請求項38に記載の方法。 42.さらに、前記ハードウェア記述言語を使用して前記プロセッサを製造し 、1つまたは複数の製造済み要素に前記機械語命令をロードすることを含むこと を特徴とする請求項41に記載の方法。 43.事前に設計されたユーザ構成可能なハードウェア要素のライブラリと、 コマンド信号、データ信号、クロック信号を前記要素へ送るユーザ構成可能なバ スを使用して、単一のチップ集積回路特定要素向けプロセッサを設計する方法で あって、前記各ハードウェア要素が、所定の機能を実行する機能ブロックと、前 記ハードウェア要素と前記バスのインタフェースをとるインタフェース・ブロッ クとを備え、その方法が、 前記プロセッサの所望の機能に従って前記ライブラリから複数の前記ハードウ ェア要素を選択するステップと、 1つまたは複数の前記選択されたハードウェア要素を使用して前記属性を定義 することによって、前記プロセッサの属性を永久的に構成するステップと、 ハードウェア記述言語を使用して前記プロセッサを定義するステップと を含むことを特徴とする方法。 44.前記属性が、1つの前記選択された要素によって使用されるレジスタの サイズであることを特徴とする請求項43に記載の方法。 45.さらに、前記バスの幅を永久的に構成することを含むことを特徴とする 請求項43に記載の方法。 46.さらに、前記バスのクロッキング速度を永久的に構成することを含むこ とを特徴とする請求項43に記載の方法。 47.さらに、コンピュータ支援設計ツールを使用して前記プロセッサを定義 する前記ハードウェア記述言語を合成することを含むことを特徴とする請求項4 3に記載の方法。 48.前記ハードウェア要素の前記機能ブロックが、合成後にユーザによって プログラムすることができ、方法がさらに、 前記選択されたハードウェア要素の各機能ブロックごとに、時間引数およびパ ラメータ引数を定義し、前記時間引数が前記機能ブロックの呼出し時間を指定し 、前記パラメータ引数が前記機能ブロックの動作特性を指定するステップと、 前記選択されたハードウェア要素ごとの前記定義された引数と、命令プログラ ム中の引数間の共働を記述するステップとを含む請求項43に記載の方法。 49.さらに、前記プロセッサの動作を制御するために、前記命令プログラム をコンパイルし機械語命令を生成することを含むことを特徴とする請求項48に 記載の方法。 50.さらに、前記ハードウェア記述言語を使用して前記プロセッサを製造し 、1つまたは複数の製造済み要素に前記機械語命令をロードすることを含むこと を特徴とする請求項49に記載の方法。 51.プログラム可能な特定用途向けプロセッサ・アーキテクチャであって、 共働して指定の用途を実行するように相互接続された複数の物理用途要素と、 それぞれ、対応する用途要素に関連付けられた、1組の用途命令とを備え、少 なくとも1つの用途命令が、呼出し時間を引数として有し、それによって、前記 命令が、それに対応する用途要素を特定の時間に呼び出すことを特徴とするアー キテクチャ。 52.さらに、すべての用途要素間で信号を送るためにこれらの用途要素を接 続するバスを備えることを特徴とする請求項51に記載のアーキテクチャ。 53.各用途要素が、プログラム可能な機能ブロックを含み、 呼出し時間を引数として有する命令が、それに対応する用途要素のプログラム 可能な機能ブロックを特定の時間に呼び出すことを特徴とする請求項51に記載 のアーキテクチャ。 54.用途命令が、用途命令のライブラリから選択されることを特徴とする請 求項51に記載のアーキテクチャ。 55.いくつかの用途命令が、対応する用途要素を同時に呼び出すことによっ て並列処理モードで動作するようにプログラムされることを特徴とする請求項5 1に記載のアーキテクチャ。 56.いくつかの用途命令が、対応する用途要素を時間的にずらして呼び出す ことによってパイプライン処理モードで動作するようにプログラムされることを 特徴とする請求項51に記載のアーキテクチャ。 57.少なくとも1つの用途命令が非同期的に動作することを特徴とする請求 項51に記載のアーキテクチャ。 58.アーキテクチャが、単一のチップ半導体デバイス上で実施されることを 特徴とする請求項51に記載のアーキテクチャ。 59.少なくとも1つの用途要素が、無線通信に関係する機能を実行すること を特徴とする請求項51に記載のアーキテクチャ。 60.各用途要素が、用途要素間で信号を送るために対応する用途要素とバス のインタフェースをとるインタフェース・ブロックを含むことを特徴とする請求 項52に記載のアーキテクチャ。 61.インタフェース・ブロックが、すべての用途要素に対してほぼ同じであ ることを特徴とする請求項60に記載のアーキテクチャ。 62.少なくとも1つの用途要素中のインタフェース・ブロックが、バスとの プログラム可能なインタフェースを備えることを特徴とする請求項61に記載の アーキテクチャ。 63.各機能ブロックが、活動状態と電力遮断状態とを有し、 各用途要素がさらに、その機能ブロックを活動状態および電力遮断状態に切り 替えるクロック・イネーブル・ブロックを備えることを特徴とする請求項53に 記載のアーキテクチャ。 64.各クロック・イネーブル・ブロックが、それに対応する機能ブロックへ start信号およびdone信号を送り、機能ブロックをstart信号によ って活動状態に切り替え、done信号によって電力遮断状態に切り替えること を特徴とする請求項63に記載のアーキテクチャ。 65.少なくとも1つの用途要素が、指定された用途を実施するプログラムを 含み、要素が、構成命令と呼出し時間命令の少なくとも一方を送ることによって 少なくとも1つの他の用途要素を呼び出すことを特徴とする請求項51に記載の アーキテクチャ。 66.少なくとも1つの用途要素が、他の用途要素からの構成命令と呼出し時 間命令のうちの少なくとも一方を受け入れることを特徴とする請求項51に記載 のアーキテクチャ。 67.少なくとも2つの用途要素がクラスタを形成し、クラスタ中の用途要素 が他のバスによって接続されることを特徴とする請求項52に記載のアーキテク チャ。 68.少なくとも1つの用途要素が共用メモリ要素であることを特徴とする請 求項51に記載のアーキテクチャ。 69.少なくとも1つの用途要素が、入力データを共用メモリ要素から受け取 り、出力データを共用メモリ要素に記憶することを特徴とする請求項68に記載 のアーキテクチャ。 70.少なくとも1つの用途要素が、バスを介して制御信号を送ることによっ て少なくとも1つの他の用途要素の動作を制御することを特徴とする請求項69 に記載のアーキテクチャ。 71.制御側用途要素がさらに、被制御側用途要素へクロック信号を送り、被 制御側用途要素の動作がクロック信号の影響を受けることを特徴とする請求項7 0に記載のアーキテクチャ。 72.制御信号が、被制御側用途要素を構成するコマンドを含むことを特徴と する請求項70に記載のアーキテクチャ。 73.少なくとも1つの用途要素が、マイクロコードを含む汎用状態マシンを 備え、状態マシンが、マイクロコードに関連して動作し、マイクロコードに対応 する命令を実施することを特徴とする請求項51に記載のアーキテクチャ。 74.用途要素を形成する前に、特定の用途のニーズを満たすようにアーキテ クチャをプログラムすることができることを特徴とする請求項51に記載のアー キテクチャ。 75.さらに、すべての用途要素間で信号を送るためにこれらの用途要素を接 続するバスを備えることを特徴とする請求項74に記載のアーキテクチャ。 76.用途要素を形成する前に、バスの幅が、特定の用途のニーズを満たすよ うにプログラムされることを特徴とする請求項75に記載のアーキテクチャ。 【手続補正書】特許法第184条の8 【提出日】1996年10月8日 【補正内容】 補正請求の範囲 1.ライブラリに含まれる選択された設計済み要素を集積することによって設 計される単一のチップ半導体デバイスであって、 信号を送るバスと、 前記バスを介して通信し、共働してユーザ設計機能を実行し、前記ライブラリ から選択される複数の用途要素とを備え、 選択された各用途要素が、 時間引数とパラメータ引数とを有するコマンド命令に従って所定の機能を実行 し、前記時間引数が前記機能ブロックの呼出し時間を定義し、前記パラメータ引 数が前記機能ブロックの処理機能を定義するプログラム可能な機能ブロックと、 前記コマンド命令を受け取るために前記バスと前記選択された用途要素とのイ ンタフェースをとるインタフェース・ブロックと を備えることを特徴とするデバイス。 2.前記インタフェース・ブロックが、前記デバイス中のすべての用途要素に 対してほぼ同じであることを特徴とする請求項1に記載のデバイス。 3.前記機能ブロックが、活動状態と電力遮断状態とを有し、前記インタフェ ース・ブロックがさらに、 前記バスと前記機能ブロックとの間でコマンドおよびデータを送るアクセス・ ブロックと、 前記バスから受け取った前記コマンド、前記データ、前記時間引数に応答して 、前記機能ブロックを前記活動状態および前記電力遮断状態に切り替えるクロッ ク・イネーブル・ブロックとを備えることを特徴とする請求項1に記載のデバイ ス。 4.前記コマンドと前記データが対として前記バスへ送られ、前記対中の前記 データおよびコマンドのサイズが、前記選択された用途要素の要求を満たすこと を特徴とする請求項3に記載のデバイス。 5.前記クロック・イネーブル・ブロック・スイッチが、start(開始) 信号およびgated clock(ゲート・クロック)信号を送ることによっ て、前記機能ブロックを前記活動状態に切り替え、前記gated clock 信号をオフにすることによって前記機能ブロックを前記電力遮断状態に切り替え ることを特徴とする請求項3に記載のデバイス。 6.前記機能ブロックが、前記クロック・イネーブル・ブロックへdone信 号を送り、前記クロック・イネーブル・ブロックが、前記done信号に応答し て前記gated 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.複数の設計済みプログラム可能用途要素を備える単一のチップ集積回路 特定用途向けプロセッサを構成する方法であって、前記各用途要素が、所定の機 能を実行するプログラム可能な機能ブロックと、前記用途要素とデータ、コマン ド、クロック情報を前記各用途要素へ送るバスのインタフェースをとるインタフ ェース・ブロックとを備える方法であって 前記各用途要素ごとに、時間引数およびパラメータ引数を定義し、前記時間引 数が前記機能ブロックの呼出し時間を指定し、前記パラメータ引数が前記機能ブ ロックの動作特性を指定するステップと、 前記選択された各用途要素ごとの前記定義された引数と、命令プログラム中の 引数間の共働を記述するステップと を含む方法。 33.さらに、前記プロセッサの動作を制御するために、前記命令プログラム をコンパイルし機械語命令を生成することを含むことを特徴とする請求項32に 記載の方法。 34.少なくとも1つの用途要素の呼出し時間が、前記バス上のその用途要素 のクロック情報に対して定義されることを特徴とする請求項32に記載の方法。 35 少なくとも1つの用途要素がレジスタを使用し、前記定義ステップが、 前記レジスタを所望の値を満たすようにプログラムすることを含むことを特徴と する請求項32に記載の方法。 36.前記レジスタが、前記複数の用途要素のうちに1つに配置され、前記複 数の用途要素のうちの他の用途要素から共用されるメモリを備えることを特徴と する請求項35に記載の方法。 37.前記複数の要素のうちの1つが、前記複数の要素のうちの他の要素から 共用され、前記定義ステップが、少なくとも1つの前記他の要素に関する入出力 データの前記メモリ中のアドレスをプログラムすることを含むことを特徴とする 請求項32に記載の方法。 38.バスに接続された複数の設計済み要素のうちの選択された要素を含む単 一のチップ集積回路を設計する方法であって、前記各要素が、機能ブロックと、 機能ブロックと前記バスとのインタフェースをとるインタフェース・ブロックと を備え、前記バスが、コマンド信号、データ信号、クロック信号を前記選択され た各要素へ送り、 前記集積回路の構成を所定の1組の命令のうちの選択された命令で記述し、前 記1組の命令のそれぞれが、1つの前記設計済み要素またはそのクラスに対応し 、前記対応する要素の選択可能な特定を定義するユーザ設定可能な属性を含むス テップと、 前記記述を、前記集積回路の物理構造の自動化設計で使用するのに適したハー ドウェア記述言語に変換するステップと を含むことを特徴とする方法。 39.前記集積回路がクロックを備え、前記選択可能な特性が前記バスのクロ ッキング速度であることを特徴とする請求項38に記載の方法。 40.さらに、コンピュータ支援設計製造装置を使用して、前記ハードウェア 記述言語を合成し前記集積回路を製造することを含むことを特徴とする請求項3 8に記載の方法。 41.前記ハードウェア要素の前記機能ブロックが、合成後にユーザによって プログラムすることができ、方法がさらに、 前記選択されたハードウェア要素の各機能ブロックごとに、時間引数およびパ ラメータ引数を定義し、前記時間引数が前記機能ブロックの呼出し時間を指定し 、 前記パラメータ引数が前記機能ブロックの動作特性を指定するステップと、 前記選択されたハードウェア要素ごとの前記定義された引数と、命令プログラ ム中の引数間の共働を記述するステップとを含む請求項38に記載の方法。 42.さらに、前記ハードウェア記述言語を使用して前記プロセッサを製造し 、1つまたは複数の製造済み要素に前記機械語命令をロードすることを含むこと を特徴とする請求項41に記載の方法。 43.事前に設計されたユーザ構成可能なハードウェア要素のライブラリと、 コマンド信号、データ信号、クロック信号を前記要素へ送るユーザ構成可能なバ スを使用して、単一のチップ集積回路特定要素向けプロセッサを設計する方法で あって、前記各ハードウェア要素が、所定の機能を実行する機能ブロックと、前 記ハードウェア要素と前記バスのインタフェースをとるインタフェース・ブロッ クとを備え、その方法が、 前記プロセッサの所望の機能に従って前記ライブラリから複数の前記ハードウ ェア要素を選択するステップと、 1つまたは複数の前記選択されたハードウェア要素を使用して前記属性を定義 することによって、前記プロセッサの属性を永久的に構成するステップと、 ハードウェア記述言語を使用して前記プロセッサを定義するステップと を含むことを特徴とする方法。 44.前記属性が、1つの前記選択された要素によって使用されるレジスタの サイズであることを特徴とする請求項43に記載の方法。 45.さらに、前記バスの幅を永久的に構成することを含むことを特徴とする 請求項43に記載の方法。 46.さらに、前記バスのクロッキング速度を永久的に構成することを含むこ とを特徴とする請求項43に記載の方法。 47.さらに、コンピュータ支援設計ツールを使用して前記プロセッサを定義 する前記ハードウェア記述言語を合成することを含むことを特徴とする請求項4 3に記載の方法。 48.前記ハードウェア要素の前記機能ブロックが、合成後にユーザによって プログラムすることができ、方法がさらに、 前記選択されたハードウェア要素の各機能ブロックごとに、時間引数およびパ ラメータ引数を定義し、前記時間引数が前記機能ブロックの呼出し時間を指定し 、前記パラメータ引数が前記機能ブロックの動作特性を指定するステップと、 前記選択されたハードウェア要素ごとの前記定義された引数と、命令プログラ ム中の引数間の共働を記述するステップとを含む請求項43に記載の方法。 49.さらに、前記プロセッサの動作を制御するために、前記命令プログラム をコンパイルし機械語命令を生成することを含むことを特徴とする請求項48に 記載の方法。 50.さらに、前記ハードウェア記述言語を使用して前記プロセッサを製造し 、1つまたは複数の製造済み要素に前記機械語命令をロードすることを含むこと を特徴とする請求項49に記載の方法。 51.プログラム可能な特定用途向けプロセッサ・アーキテクチャであって、 共働して指定の用途を実行するように相互接続された複数の物理用途要素と、 それぞれ、対応する用途要素に関連付けられた、1組の用途命令とを備え、少 なくとも1つの用途命令が、呼出し時間を引数として有し、それによって、前記 命令が、それに対応する用途要素を特定の時間に呼び出すことを特徴とするアー キテクチャ。 52.さらに、すべての用途要素間で信号を送るためにこれらの用途要素を接 続するバスを備えることを特徴とする請求項51に記載のアーキテクチャ。 53.各用途要素が、プログラム可能な機能ブロックを含み、 呼出し時間を引数として有する命令が、それに対応する用途要素のプログラム 可能な機能ブロックを特定の時間に呼び出すことを特徴とする請求項51に記載 のアーキテクチャ。 54.用途命令が、用途命令のライブラリから選択されることを特徴とする請 求項51に記載のアーキテクチャ。 55.いくつかの用途命令が、対応する用途要素を同時に呼び出すことによっ て並列処理モードで動作するようにプログラムされることを特徴とする請求項5 1に記載のアーキテクチャ。 56.いくつかの用途命令が、対応する用途要素を時間的にずらして呼び出す ことによってパイプライン処理モードで動作するようにプログラムされることを 特徴とする請求項51に記載のアーキテクチャ。 57.少なくとも1つの用途命令が非同期的に動作することを特徴とする請求 項51に記載のアーキテクチャ。 58.アーキテクチャが、単一のチップ半導体デバイス上で実施されることを 特徴とする請求項51に記載のアーキテクチャ。 59.少なくとも1つの用途要素が、無線通信に関係する機能を実行すること を特徴とする請求項51に記載のアーキテクチャ。 60.各用途要素が、用途要素間で信号を送るために対応する用途要素とバス のインタフェースをとるインタフェース・ブロックを含むことを特徴とする請求 項52に記載のアーキテクチャ。 61.インタフェース・ブロックが、すべての用途要素に対してほぼ同じであ ることを特徴とする請求項60に記載のアーキテクチャ。 62.少なくとも1つの用途要素中のインタフェース・ブロックが、バスとの プログラム可能なインタフェースを備えることを特徴とする請求項61に記載の アーキテクチャ。 63.各機能ブロックが、活動状態と電力遮断状態とを有し、 各用途要素がさらに、その機能ブロックを活動状態および電力遮断状態に切り 替えるクロック・イネーブル・ブロックを備えることを特徴とする請求項53に 記載のアーキテクチャ。 64.各クロック・イネーブル・ブロックが、それに対応する機能ブロックへ start信号およびdone信号を送り、機能ブロックをstart信号によ って活動状態に切り替え、done信号によって電力遮断状態に切り替えること を特徴とする請求項63に記載のアーキテクチャ。 65.少なくとも1つの用途要素が、指定された用途を実施するプログラムを 含み、要素が、構成命令と呼出し時間命令の少なくとも一方を送ることによって 少なくとも1つの他の用途要素を呼び出すことを特徴とする請求項51に記載の アーキテクチャ。 66.少なくとも1つの用途要素が、他の用途要素からの構成命令と呼出し時 間命令のうちの少なくとも一方を受け入れることを特徴とする請求項51に記載 のアーキテクチャ。 67.少なくとも2つの用途要素がクラスタを形成し、クラスタ中の用途要素 が他のバスによって接続されることを特徴とする請求項52に記載のアーキテク チャ。 68.少なくとも1つの用途要素が共用メモリ要素であることを特徴とする請 求項51に記載のアーキテクチャ。 69.少なくとも1つの用途要素が、入力データを共用メモリ要素から受け取 り、出力データを共用メモリ要素に記憶することを特徴とする請求項68に記載 のアーキテクチャ。 70.少なくとも1つの用途要素が、バスを介して制御信号を送ることによっ て少なくとも1つの他の用途要素の動作を制御することを特徴とする請求項69 に記載のアーキテクチャ。 71.制御側用途要素がさらに、被制御側用途要素へクロック信号を送り、被 制御側用途要素の動作がクロック信号の影響を受けることを特徴とする請求項7 0に記載のアーキテクチャ。 72.制御信号が、被制御側用途要素を構成するコマンドを含むことを特徴と する請求項70に記載のアーキテクチャ。 73.少なくとも1つの用途要素が、マイクロコードを含む汎用状態マシンを 備え、状態マシンが、マイクロコードに関連して動作し、マイクロコードに対応 する命令を実施することを特徴とする請求項51に記載のアーキテクチャ。 74.用途要素を形成する前に、特定の用途のニーズを満たすようにアーキテ クチャをプログラムすることができることを特徴とする請求項51に記載のアー キテクチャ。 75.さらに、すべての用途要素間で信号を送るためにこれらの用途要素を接 続するバスを備えることを特徴とする請求項74に記載のアーキテクチャ。 76.用途要素を形成する前に、バスの幅が、特定の用途のニーズを満たすよ うにプログラムされることを特徴とする請求項75に記載のアーキテクチャ。 77.通信システムにおける命令の実行のためのプログラム可能なプロセッサ ・アーキテクチャにおいて、 コマンド/データ/タイミング・バスで相互接続され、協同して通信システム に有用な通信機能を実行する複数の物理用途要素を有する集積回路を有し、 前記用途要素のいくつかは、 所定の通信機能を実行する用途要素論理ブロックと、 対応する用途要素にタイミング信号を与え、用途要素論理ブロックを その機能が必要なときにイネーブルするクロック・イネーブル論理ブロックと、 用途要素論理ブロックに、コマンド/データ/タイミング・バスを介 してコマンドとデータを他の用途要素から受け、かつ他の要素に送らせるインタ フェース論理アクセスブロックとを備え、かつ 対応する用途要素に関連した 用途要素の制御パラメータをセットするコマンド引数と 用途要素が呼び出された時を決定する時間引数とを 有する命令に応答させられる、 ことを特徴とするプログラム可能なプロセッサ・アーキテクチャ。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD,SZ,UG), AM,AT,AU,BB,BG,BR,BY,CA,C H,CN,CZ,DE,DK,EE,ES,FI,GB ,GE,HU,JP,KE,KG,KP,KR,KZ, LK,LR,LT,LU,LV,MD,MG,MN,M W,MX,NO,NZ,PL,PT,RO,RU,SD ,SE,SI,SK,TJ,TT,UA,US,UZ, VN (72)発明者 マクニール,デール・エイ アメリカ合衆国 92024 カリフォルニア 州・エンサニタス・ビレッジ センター ドライブ・506 (72)発明者 クラウス,チャールズ・エイ アメリカ合衆国 92008 カールスバッ ド・ウッドランド レーン・3640

Claims (1)

  1. 【特許請求の範囲】 1.ライブラリに含まれる選択された設計済み要素を集積することによって設 計される単一のチップ半導体デバイスであって、 信号を送るバスと、 前記バスを介して通信し、共働してユーザ設計機能を実行し、前記ライブラリ から選択される複数の用途要素とを備え、 選択された各用途要素が、 時間引数とパラメータ引数とを有するコマンド命令に従って所定の機能を実行 し、前記時間引数が前記機能ブロックの呼出し時間を定義し前記パラメータ引数 が前記機能ブロックの処理機能を定義する、プログラム可能な機能ブロックと、 前記コマンド命令を受け取るために前記バスと前記選択された用途要素とのイ ンタフェースをとるインタフェース・ブロックとを備えることを特徴とするデバ イス。 2.前記インタフェース・ブロックが、前記デバイス中のすべての用途要素に 対してほぼ同じであることを特徴とする請求項1に記載のデバイス。 3.前記機能ブロックが、活動状態と電力遮断状態とを有し、前記インタフェ ース・ブロックがさらに、 前記バスと前記機能ブロックとの間でコマンドおよびデータを送るアクセス・ ブロックと、 前記バスから受け取った前記コマンド、前記データ、前記時間引数に応答して 、前記機能ブロックを前記活動状態および前記電力遮断状態に切り替えるクロッ ク・イネーブル・ブロックとを備えることを特徴とする請求項1に記載のデバイ ス。 4.前記コマンドと前記データが対として前記バスへ送られ、前記対中の前記 データおよびコマンドのサイズが、前記選択された用途要素の要求を満たすこと を特徴とする請求項3に記載のデバイス。 5.前記クロック・イネーブル・ブロック・スイッチが、start(開始) 信号およびgated clock(ゲート・クロック)信号を送ることによっ て、前記機能ブロックを前記活動状態に切り替え、前記gated clock 信号をオフにすることによって前記機能ブロックを前記電力遮断状態に切り替え ることを特徴とする請求項3に記載のデバイス。 6.前記機能ブロックが、前記クロック・イネーブル・ブロックへdone信 号を送り、前記クロック・イネーブル・ブロックが、前記done信号に応答し て前記gated 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.複数の設計済みプログラム可能用途要素を備える単一のチップ集積回路 特定用途向けプロセッサを構成する方法であって、前記各用途要素が、所定の機 能を実行するプログラム可能な機能ブロックと、前記用途要素とバスのインタフ ェースをとるインタフェース・ブロックとを備え、前記バスが、データ、コマン ド、クロック情報を前記各用途要素へ送り、方法が、 前記各用途要素ごとに、時間引数およびパラメータ引数を定義し、前記時間引 数が前記機能ブロックの呼出し時間を指定し、前記パラメータ引数が前記機能ブ ロックの動作特性を指定するステップと、 前記選択された各用途要素ごとの前記定義された引数と、命令プログラム中の 引数間の共働を記述するステップとを含む方法。 33.さらに、前記プロセッサの動作を制御するために、前記命令プログラム をコンパイルし機械語命令を生成することを含むことを特徴とする請求項32に 記載の方法。 34.少なくとも1つの用途要素の呼出し時間が、前記バス上のその用途要素 のクロック情報に対して定義されることを特徴とする請求項32に記載の方法。 35.少なくとも1つの用途要素がレジスタを使用し、前記定義ステップが、 前記レジスタを所望の値を満たすようにプログラムすることを含むことを特徴と する請求項32に記載の方法。 36.前記レジスタが、前記複数の用途要素のうちに1つに配置され、前記複 数の用途要素のうちの他の用途要素から共用されるメモリを備えることを特徴と する請求項35に記載の方法。 37.前記複数の要素のうちの1つが、前記複数の要素のうちの他の要素から 共用され、前記定義ステップが、少なくとも1つの前記他の要素に関する入出力 データの前記メモリ中のアドレスをプログラムすることを含むことを特徴とする 請求項32に記載の方法。 38.バスに接続された複数の設計済み要素のうちの選択された要素を含む単 一のチップ集積回路を設計する方法であって、前記各要素が、機能ブロックと、 機能ブロックと前記バスとのインタフェースをとるインタフェース・ブロックと を備え、前記バスが、コマンド信号、データ信号、クロック信号を前記選択され た各要素へ送り、 前記集積回路の構成を所定の1組の命令のうちの選択された命令で記述し、前 記1組の命令のそれぞれが、1つの前記設計済み要素またはそのクラスに対応し 、前記対応する要素の選択可能な特定を定義するユーザ設定可能な属性を含むス テップと、 前記記述を、前記集積回路の物理構造の自動化設計で使用するのに適したハー ドウェア記述言語に変換するステップとを含むことを特徴とする方法。 39.前記集積回路がクロックを備え、前記選択可能な特性が前記バスのクロ ッキング速度であることを特徴とする請求項38に記載の方法。 40.さらに、コンピュータ支援設計製造装置を使用して、前記ハードウェア 記述言語を合成し前記集積回路を製造することを含むことを特徴とする請求項3 8に記載の方法。 41.前記ハードウェア要素の前記機能ブロックが、合成後にユーザによって プログラムすることができ、方法がさらに、 前記選択されたハードウェア要素の各機能ブロックごとに、時間引数およびパ ラメータ引数を定義し、前記時間引数が前記機能ブロックの呼出し時間を指定し 、前記パラメータ引数が前記機能ブロックの動作特性を指定するステップと、 前記選択されたハードウェア要素ごとの前記定義された引数と、命令プログラ ム中の引数間の共働を記述するステップとを含む請求項38に記載の方法。 42.さらに、前記ハードウェア記述言語を使用して前記プロセッサを製造し 、1つまたは複数の製造済み要素に前記機械語命令をロードすることを含むこと を特徴とする請求項41に記載の方法。 43.事前に設計されたユーザ構成可能なハードウェア要素のライブラリと、 コマンド信号、データ信号、クロック信号を前記要素へ送るユーザ構成可能なバ スを使用して、単一のチップ集積回路特定要素向けプロセッサを設計する方法で あって、前記各ハードウェア要素が、所定の機能を実行する機能ブロックと、前 記ハードウェア要素と前記バスのインタフェースをとるインタフェース・ブロッ クとを備え、方法が、 前記プロセッサの所望の機能に従って前記ライブラリから複数の前記ハードウ ェア要素を選択するステップと、 1つまたは複数の前記選択されたハードウェア要素を使用して前記属性を定義 することによって、前記プロセッサの属性を永久的に構成するステップと、 ハードウェア記述言語を使用して前記プロセッサを定義するステップとを含む ことを特徴とする方法。 44.前記属性が、1つの前記選択された要素によって使用されるレジスタの サイズであることを特徴とする請求項43に記載の方法。 45.さらに、前記バスの幅を永久的に構成することを含むことを特徴とする 請求項43に記載の方法。 46.さらに、前記バスのクロッキング速度を永久的に構成することを含むこ とを特徴とする請求項43に記載の方法。 47.さらに、コンピュータ支援設計ツールを使用して前記プロセッサを定義 する前記ハードウェア記述言語を合成することを含むことを特徴とする請求項4 3に記載の方法。 48.前記ハードウェア要素の前記機能ブロックが、合成後にユーザによって プログラムすることができ、方法がさらに、 前記選択されたハードウェア要素の各機能ブロックごとに、時間引数およびパ ラメータ引数を定義し、前記時間引数が前記機能ブロックの呼出し時間を指定し 、前記パラメータ引数が前記機能ブロックの動作特性を指定するステップと、 前記選択されたハードウェア要素ごとの前記定義された引数と、命令プログラ ム中の引数間の共働を記述するステップとを含む請求項43に記載の方法。 49.さらに、前記プロセッサの動作を制御するために、前記命令プログラム をコンパイルし機械語命令を生成することを含むことを特徴とする請求項48に 記載の方法。 50.さらに、前記ハードウェア記述言語を使用して前記プロセッサを製造し 、1つまたは複数の製造済み要素に前記機械語命令をロードすることを含むこと を特徴とする請求項49に記載の方法。
JP52979295A 1994-05-17 1995-05-17 特定用途向けプロセッサおよびその設計方法 Expired - Fee Related JP3202750B2 (ja)

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 true JPH10507013A (ja) 1998-07-07
JP3202750B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961913B1 (en) 1999-11-18 2005-11-01 Matsushita Electric Industrial Co., Ltd. IP base LSI designing system and designing method

Families Citing this family (35)

* Cited by examiner, † Cited by third party
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
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)

* Cited by examiner, † Cited by third party
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 株式会社東芝 階層間同期化システムおよびこれを用いた大規模集積回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961913B1 (en) 1999-11-18 2005-11-01 Matsushita Electric Industrial Co., Ltd. IP base LSI designing system and designing method

Also Published As

Publication number Publication date
CN1099636C (zh) 2003-01-22
CN1157662A (zh) 1997-08-20
KR970703560A (ko) 1997-07-03
JP3202750B2 (ja) 2001-08-27
EP0760128A4 (en) 2005-02-09
EP0760128A1 (en) 1997-03-05
KR100358631B1 (ko) 2003-01-24
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
Murphy et al. Design of WARP: a wireless open-access research platform
Hartenstein et al. KressArray Xplorer: a new CAD environment to optimize Reconfigurable Datapath Array
Srikanteswara et al. A soft radio architecture for reconfigurable platforms
Palkovic et al. Future software-defined radio platforms and mapping flows
Thoma et al. Morpheus: Heterogeneous reconfigurable computing
Duller et al. Parallel Processing-the picoChip way
US20020059481A1 (en) Method and apparatus for a multimedia application specific processor
Pillement et al. DART: a functional-level reconfigurable architecture for high energy efficiency
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
CN114722001A (zh) 一种软件定义模数混合SoC芯片架构
Guo et al. Rapid scheduling of efficient VLSI architectures for next-generation HSDPA wireless system using Precision C synthesizer
Derrien et al. Automatic synthesis of efficient interfaces for compiled regular architectures
Tiensyrjä et al. SystemC and OCAPI-xl based system-level design for reconfigurable systems-on-chip
Ward et al. The NuMesh: A modular, scalable communications substrate
JP2006510129A (ja) システム・オン・チップへのアレイ・プロセッサのモジュラ統合
Srikanteswara et al. Design and implementation of a completely reconfigurable soft radio
Dick et al. FPGAs: A Platform‐Based Approach to Software Radios
Glesner et al. Reconfigurable embedded systems: An application-oriented perspective on architectures and design techniques
Cai et al. Channel mapping in system level design

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