JP2001067217A - 制御ユニットおよびその製造方法 - Google Patents

制御ユニットおよびその製造方法

Info

Publication number
JP2001067217A
JP2001067217A JP2000180278A JP2000180278A JP2001067217A JP 2001067217 A JP2001067217 A JP 2001067217A JP 2000180278 A JP2000180278 A JP 2000180278A JP 2000180278 A JP2000180278 A JP 2000180278A JP 2001067217 A JP2001067217 A JP 2001067217A
Authority
JP
Japan
Prior art keywords
control unit
unit
subunit
state
control
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.)
Withdrawn
Application number
JP2000180278A
Other languages
English (en)
Inventor
Liliana Arcidiacono
リリアナ・アルチディアコーノ
Vincenzo Matranga
ヴィンチェンツォ・マトラーニャ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SRL
Original Assignee
STMicroelectronics SRL
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 STMicroelectronics SRL filed Critical STMicroelectronics SRL
Publication of JP2001067217A publication Critical patent/JP2001067217A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • G06F9/267Microinstruction selection based on results of processing by instruction selection on output of storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【課題】ユニットの設計段階を最大程度まで簡略化した
制御ユニットを得る。 【解決手段】 この発明は電子マイクロコントローラま
たはマイクロプロセッサのための制御ユニットおよび該
ユニットを製造する方法に関する。このユニットは、前
記有限ステートマシンが複数の制御サブユニット(2)
から製造され、各サブユニット(2)が1つの論理組み
合わせネットワークに対応し、前記複数の制御サブユニ
ット(2)内の各ユニットが独立して仲裁ブロック
(3)に接続されており、将来の可能なステートに関す
る情報を提供し、現在のステートコマンドを受けるよう
になっている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、電子マイクロコ
ントローラまたはマイクロプロセッサのための改良され
たタイプの制御ユニットに関する。この発明は特に少な
くとも1つの論理組み合わせネットワークを含む有限ス
テートマシンを含む上記制御ユニットに関する。この発
明は電子マイクロコントローラまたはマイクロプロセッ
サのための制御ユニットを製造するための方法にも関す
る。
【0002】
【従来の技術】このような特定の技術分野で周知のよう
に、すべてのマイクロコントローラまたはマイクロプロ
セッサは、いわゆるデバイスのコア内に設けられたリソ
ース管理中心ブロックと、この中心ブロックに接続され
た一組の周辺ブロックとを必ず含む。管理中心ブロック
は一般にCU(制御ユニット)と称され、このCUはマ
イクロコントローラまたはマイクロプロセッサの作動段
階のすべてを監督し、一部の内部動作の実行をクロック
制御する。
【0003】プログラマブルデバイスでは、CUは下記
のようにまとめられる動作例を実行する。 1.実行すべきプログラム行を含むメモリをポイントす
る動作、 2.その命令をデコードする動作、 3.デコードされた命令に含まれる動作を実行する動
作、 4.次のプログラム行をポイントする動作。
【0004】マイクロコントローラまたはマイクロプロ
セッサに基づく出倍し得はしだいに複雑度が増しつつあ
り、このことは、デバイスは多数の異なる動作を実行し
なければ成らないことを示しており、これら動作のう
ち、次の動作がある。デバイスの外部との間でデータを
ロードする動作、論理代数的関数の実行、条件的または
無条件スキップ動作およびサブルーチンの呼び出し、イ
ンターラプト信号の制御、特殊アプリケーション用に設
計されたマイクロコントローラまたはマイクロプロセッ
サ、たとえばファジー論理計算用の専用マイクロコント
ローラのケースのように、特別な動作フローを設定する
動作。
【0005】したがって、命令の数が多くなり、よって
設計すべきデバイスの計算容量が大きくなればなるほど
CUのハードウェアを複雑にする必要性も大きくなる。
CUは命令を認識し、デバイスが正しく作動するための
正しいシーケンスの制御信号を送らなければならず、特
別な非同期的割り込み信号が必要な場合には排他的に作
動できる能力を有していなければならない。
【0006】マイクロコントローラまたはマイクロプロ
セッサだけでなく、いわゆるASIC(アプリケーショ
ン特定集積回路)デバイスの今日の設計も記述的な基準
にしたがっている。換言すれば、回路は関係演算子の複
雑な関数を提供するよう、所定の論理演算(AND、O
R、NOTなど)を実行するための論理ゲートのような
かかる標準的なサブユニットを回路状に接続することに
よって設計する代わりに、特定のシンタックスおよびセ
マンティックスに基づく記述言語により定められる。
【0007】これら記述言語は頭文字語であるVHDL
(VHSICハードウェア記述言語、ここでVHSIC
は極高速集積回路(very high speed
integrated circuit)の略である)
として知られている。この言語は設計者に次のための強
力なツールを提供する。概念的アイデアを機能的記述に
変換すること、こうして記述されたブロックをシミュレ
ートすること、行動的記述をRTL(レジスタ転送レベ
ル)スキームに変換すること。
【0008】ブロック動作のための仕様はリスト内のV
HDL言語を使って定式化される。カデンス(Cade
nce)、シノプシス(Synopsis)などの商標
としてトレード内で知られる集積回路設計環境はシンボ
ル、それらの行動的記述および保証シミュレーションの
形成を可能にし、シミュレーションはこれまで述べたブ
ロックの正しい動作を調査することを目的とする。
【0009】一組の基本的論理ゲートからなる設計図を
得るために、回路の合成を行うコンパイラーを使って正
しい行動的記述を後にRTLに変換できる。
【0010】
【発明が解決しようとする課題】これまで概略を述べた
設計方法の例は、概念的アイデアからハードウェアの実
装までの処理に現在広く使用されている。しかしなが
ら、高度に複雑な機能を提供するという問題を解決でき
ない。
【0011】実際、回路が実行すべき機能が多くなれば
なるほど、VHDLコード内のリストがより複雑とな
り、長さがより長くなる。
【0012】削減的方法でこれを単なるリストのサイズ
の問題と考えることができる。行ごとの複雑で且つ量の
多いリストは、時間のかかるチェック方法を設定し、実
行し、この一部を一部にサービスし、これを変更するこ
とがより困難であり、その結果、実行時間はシミュレー
ションおよび回路の合成に関する長さに直接比例するこ
ととなる。
【0013】CUユニットは一つの機能的特徴がマイク
ロコントローラまたはマイクロプロセッサ内の他のブロ
ックよりも大きいサイズおよび複雑さのVHDLリスト
に1つの機能的特性がどのように変わるかを示す適正な
例となっている。FSM(有限ステートマシン)の全体
の構造は基本的にはマシンを将来のステートおよび現在
の出力に関する2つの論理組み合わせネットワークだけ
でなく、所定のステートベクトルを記憶するための一組
のフリップフロップメモリセルから構成されたシーケン
ス部分を含む。
【0014】入力およびステートマシンの現在のステー
トを含むベクトルは、ステートメモリセルに記憶すべき
データを構成する将来のステートベクトルを発生する。
これらフリップフロップセルからの出力は、現在のステ
ートの値を保持し、この値は将来のステートの値を決定
するために論理組み合わせネットワークにフィードバッ
クされ、同時に現在の出力のセクションへ供給される。
このセクションは現在のステートに応じた自身の新しい
出力だけでなく、図1に略示されるような入力を時に発
生する。
【0015】制御ユニットの複雑な回路および機能的な
特徴を検討すると、有限ステートマシンを使ったこのよ
うな従来の方法は、特に論理組み合わせ回路に関し、極
めて複雑なVHDLリストを必要とすることが理解でき
よう。
【0016】この発明の基礎となる技術的な課題は、ユ
ニットの設計段階を最大程度まで簡略化し、従来の解決
案の限界を克服するような構造的且つ機能的な特徴を有
する、すべての記述の、マイクロコントローラまたはマ
イクロプロセッサのための新規なタイプの制御ユニット
を提供することにある。
【0017】
【課題を解決するための手段】この発明の基礎となる原
理は制御ユニットを複数のサブユニットまたはアセンブ
リサブユニットに分割し、各ユニットは特定の機能を実
行し、ユニットを別個に製造し、且つ検査できるように
することである。
【0018】基本的には、この発明が基づく原理はユニ
ット全体における各モジュラーブロックの複雑さを有効
に減少できるよう、制御ユニットを動作のクラスおよび
/または段階に適当に分解できるようにすることであ
る。
【0019】このような原理に基づき、技術的課題は、
これまで示し、請求項1の特徴部分に記載した制御ユニ
ットにより解決される。この発明に係わる制御ユニット
の特徴および利点は、添付図面を参照しながら非限定的
な例として示された実施例の次の説明からより明瞭に理
解できよう。
【0020】
【発明の実施の形態】添付図面、特に図2に示された実
施例を参照すると、電子マイクロコントローラおよび/
またはマイクロプロセッサと共に使用される、この発明
に係わる制御ユニットはブロック図内で全体が番号1で
示されている。
【0021】このユニット1はモデルST52E402
として本願出願人が製造したファジーマイクロプロセッ
サ用であるが、特にこれのみに使用するものではない。
本明細書は図解の便宜上説明を容易にするために、本願
の特定の分野しかカバーしていないが、この発明に係わ
る制御ユニット1は任意のタイプの電子マイクロコント
ローラまたはマイクロプロセッサと共に使用できること
が理解できよう。
【0022】このユニット1は参照番号UC
1、....、UC 7として示された多数の制御サブユニ
ット2から構成され、各サブユニットは別々に構成さ
れ、製造され、または設計されるようになっている。仲
裁ブロック3がいくつかのサブユニット2の作動だけで
なく、制御ユニット1を含むサブユニットのうちの1つ
の作動をも可能にする動作を監督し、制御するようにな
っている。
【0023】この発明では、行うべき動作に関する判断
ブロックとして、仲裁ブロック3がそのブロック内部で
複雑な回路となるのを防止するために、種々のサブユニ
ット2に対して特定の管理が行われる。
【0024】各制御サブユニット2は独立してブロック
3に接続されており、動作のステートを示す所定の値を
仲裁ブロック3に供給する。このステートはブロック3
によって受け入れられるステートでもよいし、また中立
ステートでもよい。仲裁ブロック3は動作の1つの可能
なステートを維持しなければならない。
【0025】したがって、仲裁ブロックは信号を中継す
るように働く。この発明の構造を従来の有限ステートマ
シンと同じと見なした場合、各サブユニット2はロジッ
ク組み合わせネットワークにあたかも対応し、ユニット
1があたかも複数の論理組み合わせネットワークから成
り、1つのネットワークが動作または命令の各クラスに
対応するように見える。マシンフローは論理組み合わせ
ネットワークの各々に対し一組のステートを提供する。
各サブユニット2は実行すべき命令に従い、自己の可能
なステートを提案し、所定のときにサブユニットのうち
の1つがステートベクトルのステートのうちの1つに一
致するステートを有する。いわゆる中立ステートとなっ
ている他のすべてのサブユニットは、各図ではNEUT
ROと表示されている。
【0026】提案されたステートは仲裁ブロック3によ
って収集され、仲裁ブロックはサブユニット2のうちの
どれが将来のステートの提案を維持するか、または中立
ステートに留まるかを決定する。更にこのブロック3
は、ステートベクトルを記憶するシーケンシャルネット
ワーク4を含む。図2を参照すると、各サブブロック2
はユニット1の現在の絶対ステートがサブユニットによ
って受け入れられるステートのうちにある場合に限り附
勢される制御ユニットの一部を示す。この場合、サブユ
ニットは対応する命令または動作を正しく実行するのに
必要なすべての制御信号を独立して発生し、ユニット1
全体の将来のステートを供給する。
【0027】逆に、個々のサブユニット2が附勢されな
い場合、このサブユニットはいわゆるNEUTROステ
ートを提案する。
【0028】制御ユニット1を形成する個々のサブユニ
ット2が提案する状態のすべては仲裁ブロックへ送られ
る。この仲裁ブロック3は各サブユニットが提案する将
来のステートを考慮しながら、現在のステートを割り当
てる。
【0029】各制御サブユニット2のそれぞれの出力
も、図6に示されるように現在出力収集ブロック5に接
続されており、収集ブロックはNEUTRO以外の値を
有する単一出力を選択する。たとえば、図2を参照する
と、示されている第3サブユニットUC 3に関連する
命令のクラス内に含まれる命令の実行中、動作はその制
御サブユニットUC 3だけによって管理されることとな
る。したがって、他のすべてのサブユニット2は提案ス
テート:a=b=d=e=f=g=NEUTROを供給
するので、現在出力は信号c、すなわち関連する制御サ
ブユニットUC 3からの信号となる。
【0030】制御ユニット1の絶対ステートは永続的命
令の実行に関連するすべてのステートが完了するまで、
サブユニットUC 3によって決定されるステートに一
致する。またこの制御サブユニットUC 3はこれに属
しないステートを最終的に提案し、次にステートNEU
TROとなるので、絶対ステートは制御を引き継ぐサブ
ユニット2から発生される。したがって、制御ユニット
1を正しく動作させるのに必要なすべての信号は、管理
をテイクオーバーするサブユニットにより発生され、同
じ信号を発生する他のサブユニットは出力収集ブロック
5内に影響力のない中立値を供給する。実際にブロック
5は共通論理値の信号のすべてを収集し、この論理値は
アクティブ値が論理1または0かに応じてORもしくは
AND演算される。
【0031】図3にはステート信号が全体にユニット1
によってどのように処理されるかを示す略例が示されて
いる。制御ユニット1はUNO、DUEおよびTREと
示される3つの基本ブロックだけに分解できると仮定
し、各ブロックは信号ブロックUNO、ブロックDUE
およびブロックTREによって制御ユニット1全体に対
する新しい将来のステートを提案する。仲裁ブロック3
はこれら3つの信号を処理し、ユニット1つのタイミン
グを示す同期信号、すなわちいわゆるCLOCKの連続
するアクティブエッジを受信した際に正しい絶対ステー
トを割り当てる。
【0032】制御ユニット1によって受け入れられるス
テート(NEUTRO、IDLE、PRIMO、SEC
ONDO、TERZO、QUARTO、QUINTO、
SESTO、SETTIMO)はパッケージと表示され
た定義ブロック6によって定義できる。図3の例ではパ
ッケージブロック6はサブユニット2のリストを含み、
コンパイルされ、ライブラリーステート UCに割り当
てられ、VHDLコードに書き込まれた各リスト内に入
力される。パッケージ6内には、一組のアルファニュー
メリックキャラクターから成るストリングタイプ、すな
わち変数が定義される。このように、あらかじめ各ステ
ートの二進コードをセットすることは不要となる。いわ
ゆる設計アナライザSYNOPSISの装置が直接関連
するコードを割り当てる。
【0033】したがって、制御ユニット1を個々の制御
サブユニット2に分割することによって、次のことが可
能となっている。別々または相互に協力する数人に設計
作業を分散できること、よりスリムなリストを提供し、
このスリムなリストの機能チェックを容易にできるこ
と、モジュラー構造を提供し、各サブユニットをユニッ
ト1の内部サブユニットと見なすことができること。こ
れらのようなサブユニットを追加したり、除いたり、全
制御ユニット1に関与することなく、サブユニットを別
々に変更できるようになる。
【0034】記述レベルで制御ユニットを記述するリス
トおよび/またはアルゴリズムの複雑さを少なくできる
能力を提供するために、提案されたモジュラー構造を処
理しないことを指摘することが重要である。この発明の
革新的な特徴は、各サブユニット2が機能的に独立して
いることにある。命令または動作のクラスの間に適当に
分割されたサブユニット2は、制御ユニット1のアーキ
テクチャを変えることなく、ユーザーの条件および設計
上の仕様にしたがって独立して内外に接続できる。
【0035】この発明によれば、必要な性能を提供する
ように、かかる基本サブユニット2を共に組み合わせる
ことにより、この発明により制御ユニット1を形成し、
よってマイクロコントローラが必要とするシリコンの全
面積を最適にできる。これとは別に、製造時間中にシリ
コンの面積の占有を広く検討するようになっている場
合、最大数のサブユニット2を含めるように、制御ユニ
ットのアーキテクチャを構築できる。マシンを使用しよ
うとするアプリケーションのタイプに応じ、命令時に単
一のサブユニットの附勢/除勢のメカニズムを導入でき
る。
【0036】たとえば、次に図4を参照すると、サブユ
ニットUC 3はユニットUC 2へ入力があった際
に、これを附勢できる専用命令時にイネーブル信号を発
生できる。サブユニットが処理するクラス内に含まれる
命令が呼び出されるごとに、サブユニットUC 2は附
勢時にこのためにセットされたステートシーケンスにし
たがって展開する。逆に、除勢時にはサブユニットUC
2はその出力端にいわゆるステートNEUTROを提
案し、別のユニットの制御を行う。
【0037】作動中、したがってプログラムによって発
生される信号によって得られるこのタイプのディスエー
ブル動作は、サブユニットに関連するクラスのすべての
命令が有効であるとは予想されない場合、除勢信号をユ
ニット1内で配線することによっても得られる。この発
明の制御ユニット1は、ユニットが同じファミリーに属
するクラスの製品内で使用される場合、ユニットを変更
するように実行すべき動作の点でいくつかの利点を提供
できる。
【0038】この変更は、実行用の1つ以上の命令およ
び/または動作を加えたり、またはキャンセルするのに
役に立つ制御ユニット1のモジュラーの特徴によって容
易に実施できる。制御ユニット1が本願出願人によるマ
イクロコントローラ/マイクロプロセッサのST52E
4XXファミリーを開発するように使用されていること
を考慮し、以下、このファミリーを参照する。
【0039】命令のキャンセル ある命令に対応する組の命令を実行すべきサブユニット
2に作用することにより、この命令をキャンセルでき
る。各サブユニット2は一組の命令を実行すべきである
ことが思い出されよう。
【0040】命令をキャンセルすることは、他のサブユ
ニットでの接続を変えることなく、1つのサブユニット
に作用することに関連している。この結果、制御ユニッ
ト1の構成図に作用することなく、行動レベルでサブユ
ニットを記述するVHDLコード化された利点が変更さ
れる。
【0041】たとえば命令MIRRORを除くことによ
り論理・代数命令の組を低減すべきであると仮定する。
この場合、マイクロコードワードのデコーティング(フ
ェッチ)に関するVHDLコードの行を除くことによ
り、図5に示されるサブユニットUC ARITH
TESTを変更すれば十分である。したがって、ス
テートADD−AR1内で次の行を変更すれば十分であ
る。
【0042】 when ADD AR1≧ if dok=“1” then if word 1=“0101”or NOT word 1=“1001”or ASL word 1=“1010”or ASR word 1=“1100”or DEC word 1=“1101”or INC word 1=“1011”then MIRROR future state≦OPER; else future state≦STABLE 1; end if; else future state≦current state; end if; with the following code segment when ADD AR≧ if dok=“1” then if word 1=“0101”or NOT word 1=“1001”or ASL word 1=“1010”or ASR word 1=“1100”or DEC word 1=“1101”then INC future state≦OPER; else future state≦STABLE 1; end if; else future state≦current state; end if;
【0043】ここで、命令MIRRORを識別するワー
ド−1の4つのLSBのデコードに関連するVHDLコ
ード行はもう存在しない。
【0044】同様に、サブユニットの出力に対する所定
の値の割り当てに関連するワード 1のデコードまたはそ
の一部のデコードを含むコードフラグメントを適当にキ
ャンセルする必要がある。したがって、行タイプの発生
に関し、リストをサーチしなければならない。ワード
1またはその一部が「00101011」であるかどう
か、ワード 1(3 downto)が「1011」で
あるかどうか。
【0045】ST52E402コントローラの制御ユニ
ット1内の各サブユニットは全組からの命令の除去を完
了するのに、他のサブユニットと独立してマイクロプロ
セッサまたはマイクロコントローラ全体を管理できるの
で、出力の記憶に関連するプロセス内に存在する、除去
された命令によって発生される出力を(VHDLリスト
内の各サブユニット内でキャンセルすることが望まし
い。
【0046】特に、各サブユニット2に一般的な同期化
(クロックマスター)信号が入力されると、これにより
フリップフロップ(非同期リセットを備えた、FD2タ
イプの9ものであることが好ましい)にサブユニットか
らのすべての出力が記憶される。論理合成プロセスから
生じるシリコン面積の条件を最小にするため、命令を除
く時は常に、同期化信号の発生および再初期化(リセッ
ト)信号の存在によってクロック制御されるプロセス内
で論理合成のみによって発生される信号をキャンセルす
べきである。
【0047】同様に、命令の除去が制御ユニット1のス
テートマシンFSMの1つ以上のステートのキャンセル
に関連する場合、パッケージ「tipi UC.vh
d」6内でこれらステートもキャンセルしなければなら
ない。設計コンパイラーを使用する次の論理合成の前に
このパッケージを再コンパイルしなければならない。
【0048】あるクラスの命令のキャンセル ユニット1の構成図から単にサブユニットを除くだけ
で、命令のクラス全体を実行できる。図5には3つのサ
ブユニット2に分解され、これらサブユニットからサブ
ユニットDUEが除かれた制御ユニット1に関係する、
図3に既に示された例が略示されている。この場合、除
去されたサブユニットへの入力および出力から成る信号
ブランチのすべてをキャンセルすることも必要であり、
出力のうちでダイスDUEと表示された出力は仲裁ブロ
ック3へ入力され、除去されたサブユニットが提案した
信号ダイスDUEの管理に関連するコードセグメントを
この仲裁ブロックからキャンセルしなければならない。
【0049】同じように、パッケージ6の内部ではブロ
ックDUE内のステートマシンのすべてのステートのリ
ストをキャンセルする必要がある。本例では有限ステー
トマシンのステート変数を記憶するのに必要なシーケン
シャル(フリップフロップ)ネットワークの付随的な低
減と共に、ステートTERZO、QUINTOおよびS
ESTOが既に除かれている。論理・代数命令Eの全体
の組を除かなければならないような、図6に示されたS
T52E402の制御ユニット1の図に関連し、たとえ
ば図5に示されているような入出力信号と共に、サブユ
ニットUC ARITH M6 TESTを構成図から
キャンセルすれば十分である。更に、削除したサブユニ
ットからの信号のすべての発生をブロックUC UNI
FICA M6 TEST5内でキャンセルしなければ
ならない。キャンセルされる個々の命令または全クラス
の命令のいずれのインスタンスにおいても、このことは
パッケージ6内で定義される有限ステートの低減に関与
し得る。このパッケージは論理合成前にコンパイルしな
ければならない。
【0050】命令の導入 サブジエクトクラスが関連するサブユニットを記述する
VHDLリスト内に、命令が行う動作を実行するのに必
要なステートと共に、新しい命令のデコーディングを含
むだけで、あるクラスの命令に1つの命令を加えること
ができる。図3に示された例を挙げると、命令を追加す
るために、たとえば別のデコーディング(B=「1」で
あれば、ダイスTRE<=OTTAVOである)および
2つの新しいステート(OTTAVOおよびNONO)
をサブユニットTREに含ませることがあり得る。図7
に示されるように、関連するパッケージ(エレンコ
C)にこれらステートを追加する必要もある。
【0051】あるクラスの命令の導入 制御ユニット1内に新しいサブユニットを含ませるだけ
で、命令のクラス全体を追加できる。新しく導入された
ステートに関する情報を運ぶ救済ブロック3への提案の
ための信号を新しいサブユニットが発生する。ロジック
合成前にコンパイルすべきパッケージ6内にこれらステ
ートをリストしなければならない。たとえば図3に提案
されるスキームに戻る場合、サブユニットNEWを導入
すべきであり、行動レベルで前記されるNEWを記述す
るプロセスが、図8に示されるように2つの新しい信号
(DおよびE)に応答自在であると仮定する。
【0052】制御ユニット1へ新しい機能を加えた結
果、3つの新しいステート、OTTAVO、NONOお
よびDECIMOに関連する表示された入出力ダイスN
EWと共に、新しいサブユニットが導入される。これら
ステートはパッケージエレンコ UC内に存在するステー
トに追加される。制御ユニット1に存在する他のサブユ
ニットが発生する変数と共通する場合、サブユニットN
EWが発生する新しい出力変数を、相当する出力のすべ
てを収集し、これらをユニークにするようになっている
ブロックへ入力する必要がある。
【0053】図9には現在の制御ユニット1の構成図に
追加されるUC NEWと表示されたサブユニットの一
例が示されている。ブロックUC DECIDO NE
Wに新しい組のステートが提案され、同時に他のサブユ
ニットと共通するすべての出力変数がブロックUC
NIFICA NEW5へ供給され、このブロックはこ
れら変数を統一する。導入される命令またはそのクラス
のインスタンスにおいての、ステートのリストを含むよ
うに形成されたパッケージ6は既にステートベクトル内
に存在したステートのフローから付加的命令を形成する
場合に変更すべきである。
【0054】ST52E402マイクロコントローラ内
に制御ユニットを実装するために、この発明が提案する
解決案が使用された。このマイクロコントローラでは、
各ブロックは有限ステートマシン方法によって形成され
ていた。
【0055】たとえばST52E402の制御ユニット
は次のことを管理しなければならなかった。11個のロ
ーディング命令、14個の論理・代数命令、9個のスキ
ップおよび/またはサブルーチン呼び出し命令、8個の
割り込み管理命令、ファジー計算のための更に特殊な命
令および疑似命令。
【0056】従来技術と同じように、この制御ユニット
を単一ブロックとして形成した場合、このユニットはチ
ェック、変更または完成することが困難な単一の大きい
リストを形成していたはずである。
【0057】これと対照的に、この発明により単一のサ
ブユニット2として制御ユニットを形成すると、次のこ
とが可能となる。何人かに設計作業を分散できること、
機能的にチェックの容易なスリムなリストを得ることが
できること、追加または減少モジュールとすることがで
きるモジュラー構造を提供できること。
【図面の簡単な説明】
【図1】 有限ステートマシンを内蔵する従来の制御ユ
ニットを示すブロック図である。
【図2】 この発明に係わる制御ユニットを示すブロッ
ク図である。
【図3】 図2の制御ユニットの一実施例を示すブロッ
ク図である。
【図4】 異なる作動状態にある、図2の制御ユニット
を示すブロック図である。
【図5】 この発明に係わる制御ユニットのブロック図
であるである。
【図6】 異なる作動状態にある、図2の制御ユニット
を示すブロック図である。
【図7】 この発明に係わる制御ユニットのブロック図
であるである。
【図8】 この発明に係わる制御ユニットのブロック図
であるである。
【図9】 図2の制御ユニットに追加されるサブユニッ
トの一例を示すブロック図である。
【符号の説明】
1 制御ユニット、2 制御サブユニット、3 仲裁ブ
ロック、5 出力収集ブロック、6 定義ブロック。
───────────────────────────────────────────────────── フロントページの続き (71)出願人 598122898 Via C. Olivetti, 2, 20041 Agrate Brianza, Italy (72)発明者 ヴィンチェンツォ・マトラーニャ イタリア国、90143 パレルモ、ヴィア・ デイ・レオーニ 1

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つの論理組み合わせネット
    ワークを有する有限ステートマシンを含むタイプの電子
    マイクロコントローラまたはマイクロプロセッサのため
    の改良された制御ユニット(1)であって、 前記有限ステートマシンが複数の制御サブユニット
    (2)から製造され、各サブユニット(2)が1つの論
    理組み合わせネットワークに対応し、前記複数の制御サ
    ブユニット(2)内の各ユニットが独立して仲裁ブロッ
    ク(3)に接続されており、将来の可能なステートに関
    する情報を提供し、現在のステートコマンドを受けるよ
    うになっていることを特徴とする、改良された制御ユニ
    ット。
  2. 【請求項2】 各サブユニット(2)が他のサブユニッ
    ト(2)から構造的且つ機能的に独立していることを特
    徴とする請求項1に記載の制御ユニット。
  3. 【請求項3】 各制御サブユニット(2)が所定の動作
    ステートまたは中立ステートを示す所定の値を仲裁ブロ
    ック(3)に供給することを特徴とする請求項1に記載
    の制御ユニット。
  4. 【請求項4】 実行すべき命令のタイプに基づき、各サ
    ブユニット(2)が自己の可能なステートを仲裁ブロッ
    ク(3)に提案し、前記複数の制御サブユニットのうち
    の1つだけがアクティブステートとなり、他のすべてが
    いわゆる中立ステートとなることを特徴とする請求項1
    に記載の制御ユニット。
  5. 【請求項5】 ユニットが少なくとも1つの論理組み合
    わせネットワークを有する有限ステートマシンを含む、
    電子マイクロコントローラまたはマイクロプロセッサの
    ための制御ユニットを製造する方法であって、 前記有限ステートマシンを複数の制御サブユニット
    (2)から構成し、各制御サブユニットが1つの論理組
    み合わせネットワークに対応し、前記複数の制御サブユ
    ニット(2)内の各ユニットが1つの仲裁ブロック
    (3)に独立して接続されており、将来の可能なステー
    トに関する情報を供給し、現在のステートコマンドを受
    けるようになっていることを特徴とする制御ユニットの
    製造方法。
  6. 【請求項6】 各サブユニット(2)が他のサブユニッ
    ト(2)から構造的且つ機能的に独立していることを特
    徴とする請求項5に記載の制御ユニットの製造方法。
  7. 【請求項7】 各制御サブユニット(2)が所定の動作
    ステートまたは中立ステートを示す所定の値を仲裁ブロ
    ック(3)に供給することを特徴とする請求項5に記載
    の制御ユニットの製造方法。
  8. 【請求項8】 実行すべき命令のタイプに基づき、各サ
    ブユニット(2)が自己の可能なステートを仲裁ブロッ
    ク(3)に提案し、前記複数の制御サブユニットのうち
    の1つだけがアクティブステートとなり、他のすべてが
    いわゆる中立ステートとなることを特徴とする請求項5
    に記載の制御ユニットの製造方法。
JP2000180278A 1999-06-16 2000-06-15 制御ユニットおよびその製造方法 Withdrawn JP2001067217A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP99830375.4 1999-06-16
EP99830375A EP1061437A1 (en) 1999-06-16 1999-06-16 Improved control unit for electronic microcontrollers or microprocessors

Publications (1)

Publication Number Publication Date
JP2001067217A true JP2001067217A (ja) 2001-03-16

Family

ID=8243454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000180278A Withdrawn JP2001067217A (ja) 1999-06-16 2000-06-15 制御ユニットおよびその製造方法

Country Status (3)

Country Link
US (2) US6668199B1 (ja)
EP (1) EP1061437A1 (ja)
JP (1) JP2001067217A (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1061437A1 (en) * 1999-06-16 2000-12-20 STMicroelectronics S.r.l. Improved control unit for electronic microcontrollers or microprocessors
US6836839B2 (en) 2001-03-22 2004-12-28 Quicksilver Technology, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7249242B2 (en) 2002-10-28 2007-07-24 Nvidia Corporation Input pipeline registers for a node in an adaptive computing engine
US7962716B2 (en) 2001-03-22 2011-06-14 Qst Holdings, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7752419B1 (en) 2001-03-22 2010-07-06 Qst Holdings, Llc Method and system for managing hardware resources to implement system functions using an adaptive computing architecture
US7653710B2 (en) 2002-06-25 2010-01-26 Qst Holdings, Llc. Hardware task manager
US6577678B2 (en) 2001-05-08 2003-06-10 Quicksilver Technology Method and system for reconfigurable channel coding
US7046635B2 (en) 2001-11-28 2006-05-16 Quicksilver Technology, Inc. System for authorizing functionality in adaptable hardware devices
US6986021B2 (en) 2001-11-30 2006-01-10 Quick Silver Technology, Inc. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
US8412915B2 (en) 2001-11-30 2013-04-02 Altera Corporation Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements
US7215701B2 (en) 2001-12-12 2007-05-08 Sharad Sambhwani Low I/O bandwidth method and system for implementing detection and identification of scrambling codes
US7231508B2 (en) * 2001-12-13 2007-06-12 Quicksilver Technologies Configurable finite state machine for operation of microinstruction providing execution enable control value
US7403981B2 (en) 2002-01-04 2008-07-22 Quicksilver Technology, Inc. Apparatus and method for adaptive multimedia reception and transmission in communication environments
US7660984B1 (en) 2003-05-13 2010-02-09 Quicksilver Technology Method and system for achieving individualized protected space in an operating system
US7328414B1 (en) 2003-05-13 2008-02-05 Qst Holdings, Llc Method and system for creating and programming an adaptive computing engine
US8108656B2 (en) 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
EP1408405A1 (en) 2002-10-11 2004-04-14 STMicroelectronics S.r.l. "A reconfigurable control structure for CPUs and method of operating same"
US7937591B1 (en) 2002-10-25 2011-05-03 Qst Holdings, Llc Method and system for providing a device which can be adapted on an ongoing basis
US8276135B2 (en) 2002-11-07 2012-09-25 Qst Holdings Llc Profiling of software and circuit designs utilizing data operation analyses
US7225301B2 (en) 2002-11-22 2007-05-29 Quicksilver Technologies External memory controller node
DE60315127D1 (de) * 2003-02-21 2007-09-06 St Microelectronics Srl Mikrokontroller und Unterbrechungsverarbeitungsverfahren zur Verwaltung von komplexen Prozeduren
DE10313409A1 (de) * 2003-03-25 2004-11-18 Continental Teves Ag & Co. Ohg Verfahren zum Vermeiden von fehlerhaften Aktuatorzugriffen in einem multifunktionalen elektronischen Gesamtregelungssystem
US8265920B1 (en) 2004-07-30 2012-09-11 Synopsys, Inc. Determining large-scale finite state machines using constraint relaxation
US7181706B2 (en) * 2004-12-16 2007-02-20 Greenberg Steven S Selectively reducing the number of cell evaluations in a hardware simulation
WO2009095084A1 (en) * 2008-02-01 2009-08-06 Pazzi Luca Method for ensuring safety and liveness rules in a state based design

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3760369A (en) * 1972-06-02 1973-09-18 Ibm Distributed microprogram control in an information handling system
US3918030A (en) * 1973-08-31 1975-11-04 Richard L Walker General purpose digital computer
US4484268A (en) * 1982-02-22 1984-11-20 Thoma Nandor G Apparatus and method for decoding an operation code using a plurality of multiplexed programmable logic arrays
US4594651A (en) * 1984-01-18 1986-06-10 General Electric Company Concurrent processor for control
CA1291549C (en) * 1987-11-06 1991-10-29 Wayne D. Grover Method and apparatus for self-healing and self-provisioning networks
US5386464A (en) * 1991-12-19 1995-01-31 Telefonaktiebolaget L M Ericsson Feature control system utilizing design oriented state table language
US6369855B1 (en) * 1996-11-01 2002-04-09 Texas Instruments Incorporated Audio and video decoder circuit and system
US6185203B1 (en) * 1997-02-18 2001-02-06 Vixel Corporation Fibre channel switching fabric
US6363175B1 (en) * 1997-04-02 2002-03-26 Sonyx, Inc. Spectral encoding of information
US6418461B1 (en) * 1997-10-06 2002-07-09 Mci Communications Corporation Intelligent call switching node in an intelligent distributed network architecture
US6173425B1 (en) * 1998-04-15 2001-01-09 Integrated Device Technology, Inc. Methods of testing integrated circuits to include data traversal path identification information and related status information in test data streams
EP1061437A1 (en) * 1999-06-16 2000-12-20 STMicroelectronics S.r.l. Improved control unit for electronic microcontrollers or microprocessors

Also Published As

Publication number Publication date
EP1061437A1 (en) 2000-12-20
US20040083442A1 (en) 2004-04-29
US6668199B1 (en) 2003-12-23
US6925336B2 (en) 2005-08-02

Similar Documents

Publication Publication Date Title
JP2001067217A (ja) 制御ユニットおよびその製造方法
JP3026979B2 (ja) シリコン コンパイラ方法および装置
JP3331968B2 (ja) グリッチ分析と低減に重点をおいたレジスタトランスファレベルの電力消費最適化回路、方法、及び記録媒体
US20050160392A1 (en) System & method for asynchronous logic synthesis from high-level synchronous descriptions
US7752592B2 (en) Scheduler design to optimize system performance using configurable acceleration engines
US6604232B2 (en) High-level synthesis method and storage medium storing the same
EP0295646B1 (en) Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus
US20040172519A1 (en) Processor, system LSI circuit, method of designing same, and recording medium having said method recorded thereon
US5253349A (en) Decreasing processing time for type 1 dyadic instructions
JP2009539186A (ja) ハードウエアエミュレーションシステムのプロセッサを同期化する方法及び装置
US5590359A (en) Method and apparatus for generating a status word in a pipelined processor
CN101361039A (zh) 处理器
US5479620A (en) Control unit modifying micro instructions for one cycle execution
Jaswa et al. CPAC—concurrent processor architecture for control
CN112579518B (zh) 网络拓扑结构的构建方法、访问方法及装置
US5774738A (en) State machines
US8176451B2 (en) Behavioral synthesis apparatus, behavioral synthesis method, and computer readable recording medium
Klimowicz Performance targeted minimization of incompletely specified finite state machines for implementation in FPGA devices
JP2009301192A (ja) シミュレーション装置およびシミュレーション方法
US20030182511A1 (en) Apparatus and method for resolving an instruction conflict in a software pipeline nested loop procedure in a digital signal processor
De Micheli Computer‐aided design and optimization of control units for VLSI processors
Eisenbiegler et al. Formally embedding existing high level synthesis algorithms
JPH0876996A (ja) プログラマブルコントローラ
SU1109757A1 (ru) Процессор
JP2755646B2 (ja) データ駆動型データ処理装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070904