JPH10171848A - アーキテクチャシステムを設計する方法 - Google Patents

アーキテクチャシステムを設計する方法

Info

Publication number
JPH10171848A
JPH10171848A JP9347013A JP34701397A JPH10171848A JP H10171848 A JPH10171848 A JP H10171848A JP 9347013 A JP9347013 A JP 9347013A JP 34701397 A JP34701397 A JP 34701397A JP H10171848 A JPH10171848 A JP H10171848A
Authority
JP
Japan
Prior art keywords
design
rtl
designing
tasks
integrated circuit
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.)
Pending
Application number
JP9347013A
Other languages
English (en)
Inventor
Kayhan Kucukcakar
ケイハン・ククッカカー
Chih-Tung Chen
チー−チュン・チェン
Wilhelmus J Philipsen
ウィルヘルムス・ジェイ・フィリップセン
Thomas E Tkacik
トマス・イー・トカシック
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPH10171848A publication Critical patent/JPH10171848A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Steps, Ramps, And Handrails (AREA)

Abstract

(57)【要約】 【課題】 設計時間およびコストを低減できる対話式の
集積回路のアーキテクチャ設計方法を実現する。 【解決手段】 集積回路を設計するためのコンピュータ
で実施されるアーキテクチャ設計方法である。集積回路
の動作のアルゴリズム記述が作成され(ステップ20
2)、そこから集積回路のレジスタ転送論理(RTL)
実現(400,500)が1組の設計タスク(ステップ
204〜212)を行うことにより発生される。RTL
実現は設計タスクの1つを行った後設計タスクが任意の
順序で行われるように他の設計タスクへと分岐すること
により変更される。データは複数のデータエディタ14
〜22の1つによって対話式に編集できる共通のデータ
ベース12に記憶される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は集積回路設計方法に
関し、かつより特定的には、集積回路アーキテクチャを
設計するための対話式(interactive)方法
に関する。
【0002】
【従来の技術】現代の集積回路の複雑さは設計のサイク
ルタイムを低減するためにより高いレベルの合成方法を
使用するアーキテクチャをベースとした設計の開発につ
ながってきている。例えば、典型的な高レベル合成方法
は回路のレジスタ転送レベル(register tr
ansfer level:RTL)ハードウェア構成
またはハードウェア実現(hardware impl
ementation)を発生するために集積回路の動
作(behavior)のアルゴリズム記述を使用す
る。該方法はスケジューリング、資源の割当て、バイン
ディング(binding:動作ステートメントを特定
のハードウェア構成要素にマッピングすること)、およ
びコントローラの発生のような一連の設計タスクを含
む。これらの設計タスクは設計されている集積回路の複
雑さに匹敵するレベルの複雑さに高度に相互依存してい
る。
【0003】
【発明が解決しようとする課題】高レベル合成のための
従来技術の方法は特定の集積回路性能を記述する1組の
動作上のステートメントおよび制約(constrai
nts)からなる入力を使用する。前記一連の設計タス
クは自動的に実行されて最終的にハードウェア実現を提
供する。各々の設計タスクはその動作ステートメントに
対する関係が把握するのがますます困難なデータを生成
し、したがって設計者は特定のハードウェア構成要素
(hardware components)を前記動
作記述における特定のステートメントと関連させる上で
困難性を有する。もし設計エラーがハードウェア実現で
検出されれば、設計者はどの動作ステートメントを変更
すべきかを決定するのが困難となる。ハードウェア構成
要素と動作ステートメントの間の低いレベルの可視性
(visibility)はしばしばハードウェアの最
適化を試行錯誤プロセスにし、このプロセスでは自動化
された設計タスクのいくつかの反復が必要とされる。設
計タスクの相当の大きさの部分が前の反復から変化しな
い集積回路の部分の冗長な計算にささげられる。計算資
源の消費は時間の浪費でありかつコストがかかる。
【0004】したがって、設計時間およびコストを低減
するためにハードウェアと動作との間の可視性を増大す
るため各々の設計タスクによって生成されるデータとの
多様な相互作用または対話を可能にするアーキテクチャ
設計方法の必要性が存在する。
【0005】
【課題を解決するための手段】本発明の一態様では、ア
ーキテクチャレベルでシステムを設計するコンピュータ
で実施される方法が提供され、該方法は、複数の設計タ
スク(202〜212)によってシステムのアルゴリズ
ム記述からシステムのレジスタ転送レベル(RTL)実
現(400)を発生する段階、そして前記複数の設計タ
スクを異なる順序で実行するために前記複数の設計タス
ク(202〜212)の内の他のものから前記複数の設
計タスク(202〜212)の内の1つへと分岐する段
階、を具備することを特徴とする。
【0006】本発明の別の態様では、アーキテクチャレ
ベルでシステムを設計する方法が提供され、該方法は、
各々複数の設計上の決定を含む複数の設計タスク(20
2〜212)によって、前記システム(400)のアル
ゴリズム記述から前記システムのレジスタ転送レベル
(RTL)実現を発生する段階、そして前記複数の設計
タスク(202〜212)内の前記複数の設計上の決定
を対話式に規定しまたは変更する段階、を具備すること
を特徴とする。
【0007】この場合、前記複数の設計タスク(202
〜212)は、RTL要素を割り当てる段階(20
6)、前記アルゴリズム記述を作成しかつ編集する段階
(202)、前記アルゴリズム記述および前記RTL要
素から制御ステップのマッピングを発生する段階(20
4)、RTL要素の間の相互接続を発生する段階(20
8)、そして前記アルゴリズム記述から前記RTL要素
および前記相互接続へと構造マッピングを発生する段階
(210)を含むと好都合である。
【0008】本発明のさらに別の態様では、コンピュー
タで読み取り可能な記憶媒体が提供され、該記憶媒体
は、アーキテクチャシステムを記述する共通の設計デー
タベース(12)を前記アーキテクチャシステムのアル
ゴリズム記述から発生するために複数のコンピュータで
実行可能な設計タスク(202〜212)を格納するた
めの第1の領域のメモリ(24)、そして前記共通の設
計データベース(12)を対話式に観察しかつ変更し、
そして前記複数のコンピュータにより実行可能な設計タ
スク(202〜212)を異なる順序で実行するための
複数のデータエディタ(14〜22)を格納するための
第2の領域のメモリ(14〜22)、を具備することを
特徴とする。
【0009】本発明のさらに別の態様では、集積回路が
提供され、該集積回路は、各々複数の設計上の決定を含
む複数の設計タスク(202〜212)によって前記集
積回路のレジスタ転送レベル(RTL)実現(400)
を前記集積回路のアルゴリズム記述から発生する段階、
そして前記複数の設計タスク内の前記複数の設計上の決
定を対話式に規定しかつ変更する段階、に従って設計さ
れることを特徴とする。
【0010】
【発明の実施の形態】図1は、各々異なる設計タスクを
制御する、複数の直観的かつ相補的なエディタを具備す
る対話式アーキテクチャ設計システム10のブロック図
を示す。マイクロアーキテクチャ設計データベース12
は共通のデータベースに多様な形式のデータを格納する
メモリを含む。例えば、集積回路を表わす動作、構造お
よびタイミングデータ形式がマイクロアーキテクチャ設
計データベース12に記憶される。データは階層エディ
タ(hierarchy editor)14、動作エ
ディタ(behavioral editor)16、
構造エディタ(structural editor)
18、タイミングエディタ20、抽象ライブラリエディ
タ(abstract library edito
r)22および設計ユーティリティ24によって読み出
しまたは書き込むためにアクセスできる。マイクロアー
キテクチャ設計データベース12に格納されるデータは
前記エディタおよび設計ユーティリティ24の各々によ
って理解される所定のフォーマットになっている。
【0011】階層エディタ14は集積回路設計を階層ブ
ロックに区分するために使用される。設計者は典型的に
は回路を設計仕様および特定のブロックの動作の複雑さ
に基づき区分する。例えば、バスとインタフェースする
デジタル信号処理(DSP)コアはさらにバスインタフ
ェースブロックおよびDSPコアブロックへと区分でき
る。階層エディタ14において発生されるデータはさら
に処理を行なうためマイクロアーキテクチャ設計データ
ベース12に格納される。マイクロアーキテクチャ設計
データベース12からの階層データは観察のためあるい
は特定のブロックを再区分するために階層エディタ14
のグラフィックインタフェースを通して呼び出される。
【0012】階層エディタ14によって規定される個々
のブロックのアルゴリズム動作(algorithmi
c behavior)を記述するためのデータはマイ
クロアーキテクチャ設計データベース12内に記憶され
る。動作データは表示装置上で観察するためにグラフィ
ックまたはテキスト形式で読み出されかつ配列される。
動作データは特定の機能または動作を規定する一連のス
テートメントとして入力されるから、動作エディタ16
は典型的には組み込みのシンタクスチェック(buil
t−in syntax checking)を有す
る。動作データは典型的には区分されたブロックが階層
エディタ14において規定された後に提供される。
【0013】構造エディタ18はマイクロアーキテクチ
ャ設計データベース12に記憶されたレジスタ転送レベ
ル(RTL)データを管理する。RTLデータは階層エ
ディタ14において生成される区分されたブロックのハ
ードウェア構成要素を表わす。RTLデータは設計者に
よって対話式に提供されまたは編集されるかあるいはマ
イクロアーキテクチャ設計データベース12に存在する
データを使用して設計ユーティリティ24におけるユー
ティリティによって発生される。RTLデータは構造エ
ディタ18におけるグラフィックインタフェースを通し
て回路図(schematic diagram)とし
て表示するためにグラフィックまたはテキスト形式で配
列される。
【0014】タイミングエディタ20は動作エディタ1
6において作製される動作ステートメントのサイクルを
ベースとした(cycle−based)タイミングに
対する編集環境を提供する。タイミングデータはマイク
ロアーキテクチャ設計データベース12に格納されかつ
設計者によって対話式に提供されあるいは設計ユーティ
リティ24においてユーティリティによって発生され
る。タイミングエディタ20はアルゴリズム記述の相対
的なスケジューリングを観察しかつ調整するためにグラ
フィックまたはテキスト形式でタイミングデータを表示
するためのグラフィックインタフェースを含む。
【0015】抽象ライブラリエディタ22はRTLライ
ブラリ要素をアクセスし、編集しまたは作成するための
環境を提供する。RTLライブラリ要素はマイクロアー
キテクチャ設計データベース12に記憶される。ライブ
ラリ構成要素のためのデータは遅延、クロッキング方法
その他のようなRTL要素の属性を含む。ライブラリ要
素のデータは対話式観察および編集のために抽象ライブ
ラリエディタ18のグラフィックインタフェースを通し
てアクセスされる。
【0016】設計ユーティリティ24は特定の設計タス
クを自動化するためにアーキテクチャ設計システム10
によって使用される実行可能なプログラムを含む。例え
ば、設計ユーティリティ24は動作ステートメントのサ
イクルをベースとしたスケジューリングを発生するユー
ティリティを含む。該スケジューリングは動作ステート
メントに関連するタイミング図としてタイミングエディ
タ20を通して観察される。設計ユーティリティ24に
おける他のユーティリティは区分されたブロックのRT
L構造を発生しそれらの回路図は構造エディタ18にお
いて観察されかつ編集される。設計ユーティリティ24
におけるユーティリティによって自動的に発生されるデ
ータは適切なエディタを使用して設計者によって対話式
に変更または修正できる。
【0017】設計ユーティリティ24に含まれる重要な
ユーティリティは特定された動作およびタイミングを実
施するために特定の時間においてRTL要素への制御信
号を肯定する状態マシンを備えた制御ユニットを発生す
るコントローラ発生器である。コントローラ発生は典型
的には自動的に行なわれかつ設計プロセスの最後のステ
ップとして行なわれる。
【0018】図2は、前記ステップの1つを実行しかつ
いずれか他のステップへ分岐することにより異なる順序
で行なうよう構成されたステップ202〜212を備え
たマイクロアーキテクチャ設計システム10の設計流れ
図を示す。ステップ202において、動作またはアルゴ
リズム記述が階層エディタ14によって区分された各々
のブロックに対し生成されまたは編集される。動作デー
タは動作エディタ16を通して典型的にはC言語のよう
なテキストをベースとしたプログラミング言語で書かれ
た1組の動作または機能のステートメントとして入力さ
れる。動作データはまた流れ図を使用してグラフィック
的に入力することができる。アルゴリズム記述は動作エ
ディタ16におけるグラフィックインタフェースを通し
て観察しまたは編集される。
【0019】ステップ204において、制御ステップは
区分されたブロックのアルゴリズム記述からシステムク
ロックの特定のサイクルへとマッピングされる。制御ス
テップのマッピングは動作ステートメントを該動作ステ
ートメントが行なわれるべき間の特定のクロックサイク
ルにリンクさせるプロセスとして規定される。制御ステ
ップは動作ステートメントによって規定される機能また
は動作を達成するためのサイクルをベースとしたタイミ
ングを記述する。制御ステップを示すタイミング図はタ
イミングエディタ20において観察されまたは編集され
る。
【0020】ステップ206においてRTL要素は設計
仕様にしたがって割当てられる。設計を実施する上で使
用されるべき各々の形式のRTL要素の量は制御ステッ
プのマッピングの結果(ステップ204)にしたがって
決定される。現在のまたは現行の(current)R
TL要素の割当てはマイクロアーキテクチャ設計データ
ベース12に格納されかつ構造エディタ18を使用して
調べられる。設計において使用されるべき特定のRTL
要素の量に対する制限がしばしば設計仕様によって課さ
れる。設計データへ該制限を導入するため、RTL構成
要素データは構造エディタ18において取り出されかつ
現行のRTL構成要素の割当てを変更するために対話式
に編集される。
【0021】RTL構成要素の相互接続(ステップ20
8)は設計ユーティリティ24に含まれる相互接続ユー
ティリティを実行することにより自動的に発生できる。
相互接続ユーティリティは完全に新しい相互接続構造を
生成することができあるいは現存する不完全な相互接続
構造に新しい相互接続を加えることができる。あるい
は、現在の相互接続を観察しかつ変更するために構造エ
ディタ18を使用して設計者により相互接続の全てまた
は一部が対話式で提供される。相互接続ステップ208
は現在のRTL要素の間で信号を伝達する導体を発生す
ることを含む。さらに、RTL構成要素の共有および通
信プロトコルを実施するために必要とされるマルチプレ
クサおよびトライステートドライバのようなスイッチン
グ装置が相互接続ステップ208において生成される。
前記導体およびスイッチング装置は前記制御ステップマ
ッピングおよび動作−構造マッピングステップ204お
よび210によって導入された制約を考慮しながら、設
計仕様にしたがって発生される。相互接続データはマイ
クロアーキテクチャ設計データベース12に格納され
る。
【0022】構造マッピング(ステップ210)は1つ
のブロックの動作記述における変数および動作(ope
rations)を特定のRTL要素に関連させる。し
たがって動作エディタ16において観察されかつ編集さ
れるアルゴリズムまたは動作ステートメントは構造エデ
ィタ18において観察されかつ編集されるRTL要素に
リンクされる。RTL要素および動作ステートメントは
表示装置において同時に観察することができる。特定の
RTL要素が表示装置の1つの領域において選択された
とき、関連する動作ステートメントは他の表示領域にお
いてハイライト化または強調表示され(highlig
hted)動作ステートメントおよびRTL要素の間の
リンクをより明瞭に示すことができる。これらのリンク
はコントローラ発生ユーティリティ(ステップ212)
が特定された動作、タイミングおよび設計の資源の割当
てを実施する制御ユニットを生成できるようにする。設
計ユーティリティ24におけるマッピングユーティリテ
ィは自動的に動作ステートメントと特定のRTL要素の
との間のリンクを発生する。あるいは、特定のRTL要
素を設計特定の(design−specific)構
成要素の利用を達成するために所望のリンクを規定する
ために対話式に構造エディタ18および動作エディタ1
6を使用して特定の動作機能(behavioral
operations)を達成するために特定すること
ができる。
【0023】アーキテクチャ設計システム10における
エディタの各々に対しユーザインタフェースを提供する
ことにより、本方法は設計者が設計の各段階で各々の設
計タスクによって発生されるデータを観察しおよび/ま
たは変更できるようにする。元の設計の間に、ステップ
202〜212はしばしば自動的にまたは対話式に順次
行なわれる。ある条件の下では、ステップ202〜21
2の順次的な実行は新しい設計がスクラッチ(scra
tch)から開始される場合に適切なものである。
【0024】しかしながら、設計活動の重要な部分は現
存するRTL実現または構成を新しい仕様に適合させる
ために変更しまたは適応させることにささげられる。そ
のような変更または適応はしばしば現存するRTL実現
のほんの一部の変更を必要とするのみである。従来技術
の設計システムはステップ202〜212を順次実行
し、それによって前記変更をあたかもそれが元の設計で
あるかのように取り扱う。いずれの変更も設計者がステ
ップ202の始めから再スタートすることを要求する。
設計および計算資源はこれによって変更されないRTL
構成の部分に関連する冗長な計算で浪費される。さら
に、設計者は従来技術の設計システムが再使用される必
要がある実現(implementation)の部分
を変更するのを防止できない。
【0025】アーキテクチャ設計システム10の1つの
特徴はマイクロアーキテクチャ設計データベース12に
おいて提供される設計データを格納するための共通のデ
ータベースである。各々のエディタは同じ設計データを
アクセスしかつ解釈する(interprets)か
ら、設計データの動作、タイミング、構造およびマッピ
ング形式の間の一貫性が保証される。マイクロアーキテ
クチャ設計データベース12は各々の設計データ要素の
属性を維持する1つ又はそれ以上のテーブルを含む。該
属性はステップ202〜210の各々によってテーブル
に加えられまたはテーブルから削除される。例えば、も
し設計者が動作ステートメントの特定の制御ステップの
マッピングを変更すれば、該ステートメントの現存する
制御ステップのマッピングはテーブルから削除されかつ
新しいマッピングが加えられる。変更されなかったテー
ブルの属性はそのまま残る。したがって、変わった属性
のみがステップ202〜210の設計タスクの引く続く
実行において更新される。別の実施形態では、フラグま
たは他の指示子(indicator)を使用してどの
属性が変化するかを追跡することができる。米国特許第
5,533,179号は変わる属性のみを変更する例を
開示している。
【0026】各々のエディタは設計者がどの設計タスク
が行なわれるべきかおよび設計のどの部分に対して行な
われるべきかを決定することができるようにするユーザ
インタフェースを有する。各々のエディタは設計データ
の信頼できる対話式編集を提供するために設計における
任意のステップで共通のデータベースにアクセスするこ
とができ、したがって設計タスクはいずれか特定の順序
で行なわれる必要はない。例えば、設計者は始めにステ
ップ206を行ないかつ次に順次ステップ208,20
2,204,210および212へとこの順序で分岐す
ることができる。
【0027】アーキテクチャ設計システム10の他の特
徴は変更されない設計データに関連する設計タスクは反
復される必要がないことである。特に、設計ユーティリ
ティ24におけるユーティリティは各々のエディタに関
連しこれは設計者が特定の設計タスクを行なうべき設計
の部分を選択しかつ制御できるようにする。その結果、
変化しない設計の部分は再計算されることはない。不必
要なまたは冗長な設計タスクを削除することにより、設
計および計算資源がより効率的に使用される。
【0028】設計タスクの代りうる順序付けの利点は現
存する集積回路設計が異なる用途において使用するため
に変更される場合の例によって理解することができる。
現存する設計は始めに階層エディタ14において固定さ
れた部分およびプログラム可能な部分へと区分され、そ
れによって前記固定された部分が異なる用途において再
使用され、一方前記プログラム可能な部分のみが変更さ
れる。そのような区分されるシステムにおいては、前記
ステップ206および208は始めに前記固定された部
分に含まれるRTL要素を割り当てかつ相互接続するた
めに実行される。ステップ202が次に実行されて前記
特定の用途の設計仕様に従って特定の動作を規定する。
次に、前記プログラム可能な部分がステップ204およ
び210を実行することによって発生されデータベース
を完成するために制御ステップおよび構造マッピングを
設定する。最後に、ステップ212において制御ユニッ
トが発生される。
【0029】代りうる順序で設計タスクを行なう利点の
他の例は本発明の方法を使用して設計されかつそのデー
タベースがマイクロアーキテクチャ設計データベース1
2に存在する現存のマイクロプロセッサに新しい命令が
加えられる場合に見られる。従来技術の方法はマイクロ
プロセッサの完全な再設計を実施するために設計タスク
をステップ202からステップ212に至る順序で実行
することを必要とする。従来技術の手法は効率が悪く、
特に現存するマイクロプロセッサのかなりの部分が前も
って詳細にわたるデバッグおよび最適化に付されている
場合に効率が悪い。
【0030】本発明は設計者が前に最適化された部分を
もしそれらが新しい命令によって影響を受けなければ保
存できるようにする。設計ユーティリティ24における
ユーティリティは、あるユーティリティがエディタの1
つを使用して設計者によって選択されたデータに対して
のみ動作する選択モードを有する。現存するマイクロプ
ロセッサに新しい命令を加える例では、設計者は新しい
命令を実施するのに必要なマイクロプロセッサの部分を
選択する。適切なユーティリティが選択モードで実行さ
れて設計者によって選択された部分のみを変更する。
【0031】例えば、新しい命令を記述する動作ステー
トメントは動作エディタ16を使用してステップ202
において現存するマイクロプロセッサのアルゴリズム記
述に加えられる。新しい動作ステートメントは動作エデ
ィタ16のユーザインタフェースによって設計者により
対話式で識別されかつ選択される。ステップ204は選
択されたステートメントを制御ステップにマッピングす
るために選択モードで実行される。なんらの付加的なR
TL要素も加えられる命令を実施するのに必要でないも
のと仮定すると、ステップ210は選択された新しい動
作ステートメントのみが現存するRTL構成へとマッピ
ングされるように実行される。設計は現存するRTLア
ーキテクチャが変更された命令セットを実施できるよう
にする新しいコントローラを発生するためにステップ2
12を実行することによって完了する。この場合、新し
い設計はステップ202,204,210および212
のみを実行することにより実施され、一方マイクロプロ
セッサの前もって最適化されかつデバッグされた部分は
保存される。
【0032】本発明を使用した設計データベースの作成
および編集のための手順は、入力INP1およびINP
2にそれぞれ供給される2つの値の2乗関数(squa
res function)の差を計算する回路が設計
される例によって見ることができる。動作エディタ16
を使用して、所望の関数のアルゴリズム記述が提供され
(ステップ202)、これは以下の表1に示される動作
ステートメント1〜5を備えている。
【表1】1.X=INP1 2.Y=INP2 3.X1=XX 4.Y1=YY 5.OUT=X1−Y1
【0033】いったんアルゴリズム記述が設計データベ
ースに入力されると、RTL実現または構成(RTL
implementation)が特定の設計タスクに
課される設計の制約に従ってステップ204〜212を
行なうことにより自動的に発生される。あるいは、設計
者はアルゴリズム記述およびRTL実現の特定の面(a
spects)を対話式にあつらえることができる。例
えば、設計者が4サイクルごとに出力を提供しかつ単一
の2サイクルパイプライン化乗算回路を使用するために
RTL実現を対話式に制約するものと仮定する。制御ス
テップのマッピングが始めにステップ204を実行し、
これに続きステップ206においてRTL要素の割当て
を行なうことにより完成される。
【0034】図3は、表1のアルゴリズムステートメン
トに対する制御ステップのマッピングを示すタイミング
図300である。明瞭化のため、各々のステートメント
が実行される間のシステムクロックのサイクルは陰影が
つけられている。波形301および302はサイクルT
の間にそれぞれ入力INP1およびINP2において
受信される入力値XおよびYを示している。波形303
はサイクルTおよびTの間に乗算X1=XXが行
なわれることを示し、かつ波形304はサイクルT
よびTの間に乗算Y1=YYが実行されることを示
している。波形302および303はサイクルTの間
で重複しているが、それは同じ2サイクルパイプライン
式乗算器が両方の乗算を行なうためである。波形305
は出力値OUT=X1−Y1がサイクルTの間に発生
されることを示し、これは設計者によって与えられた4
サイクルの制約のためである。
【0035】いったん制御ステップのマッピングが終了
すると、ステップ206が構造エディタ18を使用し
て、単一の2サイクルパイプライン式乗算器のような、
特定のRTL要素を特定することにより対話式に行なわ
れる。必要な減算回路および中間値Y,X1およびY1
を記憶するための2つのレジスタもまた対話式に割り当
てられる。別の手順として、RTL構成は設計ユーティ
リティ24からの各々のステップに関連するユーティリ
ティを使用してステップ206〜212を行なうことに
より自動的に完了させることができる。
【0036】パイプライン化された乗算器、減算器およ
び2つのレジスタが対話式に割り当てられるものと仮定
すると、構造マッピング(ステップ210)はしばしば
ステップ206において割り当てられた特定のRTL要
素を特定のアルゴリズム操作へとリンクするために発生
される(ステップ208)前に行なわれる。例えば、ス
テップ206において割り当てられたパイプライン化乗
算器は表1の動作ステートメント3および4の乗算操作
にマッピングされる。同様に、表1の動作ステートメン
ト5の減算操作はステップ206において割り当てられ
た減算回路へとリンクすることができ、かつ中間値Y,
X1およびY1はステップ206において割り当てられ
た特定のレジスタへとマッピングすることができる。
【0037】動作記述、制御ステップのマッピング、R
TL要素の割当て、および構造マッピングが首尾よく完
了した後、相互接続および制御ユニットはRTL実現を
完成させるために自動的に発生される(ステップ20
8,212)。上の例から、本発明の方法は図2に示さ
れた順序でステップ202〜212を厳格に実行するこ
とを必要とせず、むしろ設計者が集積回路設計を最も効
率的に完了するために1つのステップから任意の他のス
テップへと分岐できるようにする。例えば、上に述べた
手順においては、ステップ210はステップ208の前
に行なわれた。
【0038】図4は、集積回路の1実施形態において、
タイミング図300に示されたタイミングによって制約
される、表1の動作ステートメント1〜5の例示的なR
TL実現400を示す概略回路図である。RTL実現4
00はパイプライン化乗算器401、減算器402、レ
ジスタ403および404、トライステートドライバ4
05、制御ユニット406およびマルチプレクサ40
7,408および409を含む。入力INP1は値Xを
受信し、かつ入力INP2は値Yを受信する。出力は表
1の動作ステートメント1〜5によって規定されるアル
ゴリズムに従って計算された結果、OUT=X−Y
を提供する。サイクルタイミングはシステムクロックV
CLKによって提供される。
【0039】RTL要素は本発明を実施する前に述べた
ステップに従って割り当てられる。特に、パイプライン
化乗算器401はステップ206において対話式に割り
当てられて表1の動作ステートメント3および4の乗算
操作を行なう。同様に、減算器402はステップ206
において対話式に割り当てられて表1のステートメント
5の減算機能を行なう。レジスタ403および404は
ステップ206において割り当てられて表1の中間値
Y,X1およびY1を格納する。相互接続導体およびマ
ルチプレクサ407〜409はステップ208において
自動的に発生される。
【0040】制御ユニット406は自動的に発生されて
制御信号C〜Cを特定されたアルゴリズム記述およ
びタイミングを実施するための特定の要素に提供する。
例えば、トライステートドライバ405は制御ユニット
406からサイクルTの間に制御信号Cを受信する
制御入力を有し計算された結果OUTを出力に提供しま
たはトライステートドライバ405をトライステートモ
ードに設定する。
【0041】図5は、表1のステートメント1〜5のR
TL実現500を示す概略回路図であり、この場合は設
計仕様の変更によって計算された結果OUTが記憶され
かつ出力において4クロックサイクルの間遅延されるこ
とが要求される。図4のRTL実現400の現存するデ
ータベースをスタート点として使用して、前記仕様の変
更は新しいレジスタ505をRTL実現400のトライ
ステートドライバ405を置き換えるために新しいレジ
スタ505を割り当てることによって実施されることが
わかる。したがって、設計者は直接ステップ206に進
み構造エディタ18を使用してデータベースおよび割当
てレジスタ505から対話的にトライステートドライバ
405を削除する。そのような特定の設計タスクへの分
岐のための直接的な入力は、変更されないステップ20
2および204がバイパスできるため、設計の効率を改
善する。
【0042】ステップ208において、レジスタ505
は構造エディタ18を使用して導体504を加えること
により減算器402へと相互接続される。同様に、導体
501〜503は構造エディタ18を使用して現存する
データベースから対話的に作成されまたは変更される。
RTL実現500の変更された部分のみがステップ20
6および208において編集される必要があることに注
意を要する。その後の操作は選択された新しい要素を表
すデータのみが再計算されるように選択モードで行なう
ことができる。変化しない、残りのRTL要素はデータ
ベースに留まっておりかつRTL実現500において再
使用される。比較的小さなかつ局部的な変更のための構
造マッピング(ステップ210)は典型的には計算され
た結果OUT=X−Yがレジスタ505に格納され
ることを特定するため対話的に行なわれる。
【0043】RTL実現400において制御ユニット4
06を自動的に発生するためステップ212が前に行な
われたが、ステップ212は、異なる機能が行なわれる
ため、制御ユニット506を発生するために再び実行さ
れる。特に、制御ユニット406はサイクルTの間に
トライステートドライバ405をイネーブルし、一方制
御ユニット506は次の制御信号Cが肯定されるまで
クロックサイクルTにおいて計算された結果OUTを
格納するためにレジスタ505に対し導体502によっ
て制御信号Cを提供する。
【0044】上の例は異なる構造を有するRTL実現4
00および500を生成するのにRTL要素を変更する
ために設計者がどのようにしてマイクロアーキテクチャ
設計データベース12におけるデータを対話的にオーバ
ライドすることができるかを示す。前記構造的な相違は
アルゴリズム記述におけるステートメントを変更するこ
となく対話的に特定のRTL要素および相互接続を変更
するために構造エディタ18を使用して生成された。特
に、レジスタ505および導体501〜504は構造エ
ディタ18によって設計データベースに対話的に加えら
れRTL実現400を変更しかつ次にRTL実現500
の設計を完了するために他の設計タスクへと分岐する。
【0045】本発明はまた従来技術の方法を使用して生
成された回路から構造的に区別されるRTL実現を生成
することができる。例えば、従来技術の設計方法は表1
に示された動作ステートメントによって記述されるのと
同様の機能を実施する回路の回路図表現を生成すること
ができる。従来技術の設計プログラムは入力データとし
て動作ステートメントを使用して実行されかつ回路図を
表すデータが出力に生成される。出力データは特定の従
来技術の設計プログラムに特有の特定の構造を有する構
成を生じる結果となる。
【0046】これに対し、本発明を使用して生成される
RTL実現は特定のプログラムによって制限されず、む
しろ設計者によって変更しかつ最適化することができる
構造を有する。設計者は設計データベースを対話的に変
更するためにプロセスにおける適切なステップへと分岐
する。より詳細には、設計者は構造エディタ18へと分
岐して上に述べたようにアルゴリズム記述におけるステ
ートメントを変更することなく対話的にRTL要素およ
び相互接続を変更することができる。その結果、1つの
設計は、その構造が従来技術の方法によって生成された
構造と異なるRTL実現を生成するために変更すること
ができる。
【0047】RTL実現は典型的には集積回路の回路図
を含む。そのような回路図から発生されたデータは集積
回路を生成するために半導体基板上にRTL実現の物理
的構造を製造するためのフォトマスクを生成するために
使用される。RTL実現を生成するためのこの設計方法
はRTL実現を含む集積回路を製造するための製造プロ
セスの設計部分を備えている。
【0048】図6は、制御回路602、入力装置60
4、出力装置606およびメモリ608を含む、アーキ
テクチャ設計システム10を備えた集積回路を設計する
ために使用されるコンピュータ600のブロック図を示
す。入力装置604はコンピュータ600へと入力デー
タを供給するための手段を提供する。データが設計者に
よって対話式に入力される場合、入力装置604は典型
的にはキーボードを含む。しかしながら、入力装置60
4はまたディスクまたはテープドライブ、モデムまたは
走査装置のような他の形式の入力装置を備えることもで
きる。入力データは入力装置604から制御回路602
へと結合され、該制御回路602は入力データがどのよ
うに処理されるかを決定するメモリ608に記憶された
編集プログラムの1つを実行する。
【0049】出力装置606は典型的には設計されてい
る集積回路アーキテクチャシステムを表す制御回路60
2から受信されたデータを対話式に表示するための表示
モニタを含む。出力装置606は、プリンタ、モデムお
よびディスクまたはテープドライブのような、コンピュ
ータ600において発生されたまたは記憶されたデータ
を表示し、または転送する他の形式の装置を含むことが
できる。
【0050】制御回路602はアーキテクチャ設計シス
テム10に含まれる設計タスクを実施するためにメモリ
608に格納されたソフトウェアプログラムを実行す
る。前記設計タスクはメモリ608における設計ユーテ
ィリィティ24を格納するために提供される領域に記憶
されたユーティリィティプログラムの1つを実行するこ
とによって自動的に行われる。制御回路602は典型的
にはマイクロプロセッサからなるが、制御回路602の
機能は状態マシンを含む他の形式の論理回路によって提
供することもできる。制御回路602はまたコンピュー
タ600と設計タスクを対話式に行う設計者との間のグ
ラフィックインタフェースを提供するメモリ608に記
憶された編集プログラムを実行する。そのような編集プ
ログラムは階層エディタ14、動作エディタ16、構造
エディタ18、タイミングエディタ20、および抽象ラ
イブラリエディタ22を含む。
【0051】制御回路602はコンピュータ600の内
部のデータ、並びに入力装置604から受信される入力
データおよび出力装置606に転送される表示データの
流れを管理する。制御回路602は、ユーティリィティ
プラグラムまたはエディタの指示の下で、、マイクロア
ーキテクチャ設計データベース12として示されるメモ
リ608の共通の設計データべースにセーブされたデー
タを取り出し、変更しかつ格納する。
【0052】メモリ608はアーキテクチャ設計システ
ム10を実施するために使用されるデータおよびソフト
ウェアプログラムを記憶するための上に述べた複数のメ
モリ領域を含む。メモリ608はランダムアクセスメモ
リ、リードオンリメモリ、フロッピディスク、ハードデ
ィスクおよび磁気テープのような磁気記憶媒体、コンパ
クトディスクのような光学的記憶媒体、および同様のメ
モリ装置を含むことができる。
【0053】
【発明の効果】以上から、集積回路を設計するためのコ
ンピュータで実施されるアーキテクテャ設計方法が提供
されたことが理解されるべきである。集積回路のアルゴ
リズム記述が提供されかつ集積回路のRTL実現が1組
の設計タスクを行うことによってアーキテクチャシステ
ムのアルゴリズム記述から発生される。設計タスクは特
定のシーケンスで行われる必要はない。むしろ設計者は
任意の順序で設計タスクを完了するために1つの設計タ
スクから他の設計タスクへと対話式に分岐することがで
きる。
【0054】前記アーキテクチャ設計方法はさらに設計
者が適切なステップへと直接進行しかつそのステップに
関連するエディタのユーザインタフェースによって対話
式に所望の変更を行うことにより現存するRTL構成を
より効率的に対話式に変更できるようにする。設計者は
変更された部分を対話式に識別しかつ変更されたRTL
実現を変更された部分に対してのみ設計タスクを行うた
めに任意の順序で他のステップへと対話式に分岐するこ
とにより完了させることができる。
【0055】本発明の特定の実施形態が示されかつ説明
されたが、当業者にはさらに他の変更および改善をなす
ことができるであろう。本発明は示された特定の形式に
限定されるのではなくかつ添付の特許請求の範囲により
この発明の精神および範囲から離れることのないすべて
の変更をカバーすることを意図していることが理解され
る。
【図面の簡単な説明】
【図1】対話式アーキテクチャ設計システムを示すブロ
ック図である。
【図2】図1の対話式アーキテクチャ設計システムのフ
ローチャートである。
【図3】アルゴリズム記述に関連する制御ステップのマ
ッピングを説明するためのタイミング図である。
【図4】前記アルゴリズム記述のハードウェア構成を示
す概略的ブロック図である。
【図5】変更されたアルゴリズム記述のハードウェア構
成を示す概略的ブロック図である。
【図6】本発明に係わる対話式アーキテクチャ設計シス
テムを実施するためのコンピュータの構成を示すブロッ
ク図である。
【符号の説明】
10 対話式アーキテクチャ設計システム 12 マイクロアーキテクチャ設計データベース 14 階層エディタ 16 動作エディタ 18 構造エディタ 20 タイミングエディタ 22 抽象ライブラリエディタ 24 設計ユーティリィティ 400 RTL構成 401 パイプライン化乗算器 402 減算器 403,404 レジスタ 405 トライステートドライバ 406 制御ユニット 407,408,409 マルチプレクサ 500 RTL構成 505 レジスタ 506 制御ユニット 600 コンピュータ 602 制御回路 604 入力装置 606 出力装置 608 メモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チー−チュン・チェン アメリカ合衆国アリゾナ州85226、チャン ドラー、ウエスト・ジェノア・ウェイ 3301 (72)発明者 ウィルヘルムス・ジェイ・フィリップセン アメリカ合衆国アリゾナ州85044、フェニ ックス、イースト・サンライズ・ドライブ 4337 (72)発明者 トマス・イー・トカシック アメリカ合衆国アリゾナ州85044、フェニ ックス、サウス・サーティエイス・プレイ ス 13406

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 アーキテクチャレベルでシステムを設計
    するコンピュータで実施される方法であって、 複数の設計タスク(202〜212)によってシステム
    のアルゴリズム記述からシステムのレジスタ転送レベル
    (RTL)実現(400)を発生する段階、そして前記
    複数の設計タスクを異なる順序で実行するために前記複
    数の設計タスク(202〜212)の内の他のものから
    前記複数の設計タスク(202〜212)の内の1つへ
    と分岐する段階、 を具備することを特徴とするアーキテクチャレベルでシ
    ステムを設計するコンピュータで実施される方法。
  2. 【請求項2】 アーキテクチャレベルでシステムを設計
    する方法であって、 各々複数の設計上の決定を含む複数の設計タスク(20
    2〜212)によって、前記システム(400)のアル
    ゴリズム記述から前記システムのレジスタ転送レベル
    (RTL)実現を発生する段階、そして前記複数の設計
    タスク(202〜212)内の前記複数の設計上の決定
    を対話式に規定しまたは変更する段階、 を具備することを特徴とするアーキテクチャレベルでシ
    ステムを設計する方法。
  3. 【請求項3】 前記複数の設計タスク(202〜21
    2)は、 RTL要素を割り当てる段階(206)、 前記アルゴリズム記述を作成しかつ編集する段階(20
    2)、 前記アルゴリズム記述および前記RTL要素から制御ス
    テップのマッピングを発生する段階(204)、 RTL要素の間の相互接続を発生する段階(208)、
    そして前記アルゴリズム記述から前記RTL要素および
    前記相互接続へと構造マッピングを発生する段階(21
    0)、 を含むことを特徴とする請求項2に記載の方法。
  4. 【請求項4】 コンピュータで読み取り可能な記憶媒体
    であって、 アーキテクチャシステムを記述する共通の設計データベ
    ース(12)を前記アーキテクチャシステムのアルゴリ
    ズム記述から発生するために複数のコンピュータで実行
    可能な設計タスク(202〜212)を格納するための
    第1の領域のメモリ(24)、そして前記共通の設計デ
    ータベース(12)を対話式に観察しかつ変更し、そし
    て前記複数のコンピュータにより実行可能な設計タスク
    (202〜212)を異なる順序で実行するための複数
    のデータエディタ(14〜22)を格納するための第2
    の領域のメモリ(14〜22)、 を具備することを特徴とするコンピュータで読み取り可
    能な記憶媒体。
  5. 【請求項5】 集積回路であって、 各々複数の設計上の決定を含む複数の設計タスク(20
    2〜212)によって前記集積回路のレジスタ転送レベ
    ル(RTL)実現(400)を前記集積回路のアルゴリ
    ズム記述から発生する段階、そして前記複数の設計タス
    ク内の前記複数の設計上の決定を対話式に規定しかつ変
    更する段階、 に従って設計されることを特徴とする集積回路。
JP9347013A 1996-12-03 1997-12-02 アーキテクチャシステムを設計する方法 Pending JPH10171848A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/758,331 1996-12-03
US08/758,331 US5912819A (en) 1996-12-03 1996-12-03 Method for designing an architectural system

Publications (1)

Publication Number Publication Date
JPH10171848A true JPH10171848A (ja) 1998-06-26

Family

ID=25051360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9347013A Pending JPH10171848A (ja) 1996-12-03 1997-12-02 アーキテクチャシステムを設計する方法

Country Status (6)

Country Link
US (1) US5912819A (ja)
EP (1) EP0847022A3 (ja)
JP (1) JPH10171848A (ja)
KR (1) KR19980063723A (ja)
CN (1) CN1195825A (ja)
TW (1) TW358962B (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6305006B1 (en) 1998-05-18 2001-10-16 Mentor Graphics Corporation Generating candidate architectures for an architectural exploration based electronic design creation process
US6314552B1 (en) * 1998-05-18 2001-11-06 Lev A. Markov Electronic design creation through architectural exploration
US6917909B1 (en) 1998-05-18 2005-07-12 Lev A. Markov Facilitating guidance provision for an architectural exploration based design creation process
JP2000123061A (ja) * 1998-10-16 2000-04-28 Matsushita Electric Ind Co Ltd 集積回路装置の設計用データベース及び集積回路装置の設計方法
GB2348970B (en) * 1998-12-29 2003-10-22 Sgs Thomson Microelectronics Maintenance of a system model
JP3842489B2 (ja) * 1999-06-30 2006-11-08 株式会社東芝 回路設計装置、回路設計方法および回路設計プログラムを格納したコンピュータ読み取り可能な記録媒体
US6671857B1 (en) 1999-08-18 2003-12-30 Matsushita Electric Industrial Co., Ltd. Method of designing integrated circuit device using common parameter at different design levels, and database thereof
US7023566B2 (en) 2000-12-12 2006-04-04 Xerox Corporation Page description language on demand printing
US7302670B2 (en) * 2000-12-21 2007-11-27 Bryan Darrell Bowyer Interactive interface resource allocation in a behavioral synthesis tool
US6601230B2 (en) * 2001-04-05 2003-07-29 Agilent Technologies, Inc. Low power circuit design through judicious module selection
US7310787B2 (en) * 2002-03-08 2007-12-18 Shiv Prakash Array transformation in a behavioral synthesis tool
CN100576218C (zh) * 2002-04-17 2009-12-30 富士通株式会社 Asic和可编程逻辑器件并行开发系统和开发方法
CN100395758C (zh) * 2002-10-14 2008-06-18 英业达股份有限公司 应用在线路布局工程上设定与激活群组化显示的方法
DE10324565A1 (de) * 2003-05-30 2004-12-30 Chipvision Desigin Systems Ag Verfahren und Vorrichtung zum Schaltungsentwurf mittels High-Level-Synthese
JP2005242812A (ja) 2004-02-27 2005-09-08 Nec Electronics Corp 回路設計支援システム、回路設計支援方法及びプログラム
CN100373388C (zh) * 2005-09-16 2008-03-05 北京中星微电子有限公司 一种快速生成逻辑电路的方法
US7735050B2 (en) * 2006-02-09 2010-06-08 Henry Yu Managing and controlling the use of hardware resources on integrated circuits
US8484589B2 (en) * 2011-10-28 2013-07-09 Apple Inc. Logical repartitioning in design compiler
IT201900000625A1 (it) 2019-01-15 2020-07-15 Texa Spa Metodo di redazione di schemi elettrici

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555201A (en) * 1990-04-06 1996-09-10 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information
US5533179A (en) * 1994-12-01 1996-07-02 Motorola, Inc. Apparatus and method of modifying hardware description language statements

Also Published As

Publication number Publication date
US5912819A (en) 1999-06-15
EP0847022A3 (en) 1999-11-17
CN1195825A (zh) 1998-10-14
KR19980063723A (ko) 1998-10-07
EP0847022A2 (en) 1998-06-10
TW358962B (en) 1999-05-21

Similar Documents

Publication Publication Date Title
US5912819A (en) Method for designing an architectural system
US6574788B1 (en) Method and system for automatically generating low level program commands as dependency graphs from high level physical design stages
US6080204A (en) Method and apparatus for contemporaneously compiling an electronic circuit design by contemporaneously bipartitioning the electronic circuit design using parallel processing
US6161211A (en) Method and apparatus for automated circuit design
Thomas et al. Algorithmic and Register-Transfer Level Synthesis: The System Architect’s Workbench: The System Architect's Workbench
US6021266A (en) Method of designing an integrated circuit using scheduling and allocation with parallelism and handshaking communication, and an integrated circuit designed by such method
Ernst et al. Hardware-software cosynthesis for microcontrollers
JP2862886B2 (ja) Asic用計算機支援設計システム
EP1966689B1 (en) Non-graphical model dependencies in graphical modeling environments
JP2001109788A (ja) シミュレーションモデル、その生成方法、シミュレーション方法及びその記録媒体
JP3173729B2 (ja) 論理シミュレーション方法及びそのシステム
Lis et al. VHDL synthesis using structured modeling
JPH10256383A (ja) 半導体装置及びその回路構成方法
Kucukcakar et al. Matisse: an architectural design tool for commodity ICs
JPH05101141A (ja) 高位合成装置
US9223910B1 (en) Performance and memory efficient modeling of HDL ports for simulation
Bergamaschi et al. A system for production use of high-level synthesis
US8196085B1 (en) Interactive design optimization techniques and interface
JP3476688B2 (ja) ネットリスト生成方法及びネットリスト生成装置
George et al. DEVELOPMENT OF A CONTROL PATH VHDL CODE GENERATOR FOR HARDWARE DEVELOPMENT.
Robertson et al. Timing verification of dynamically reconfigurable logic for the Xilinx Virtex FPGA series
US8539415B2 (en) Reconfigurable circuit, its design method, and design apparatus
JP2009140028A (ja) ハードウェア検証用プログラミング記述生成装置、ハードウェア検証用プログラミング記述生成方法、制御プログラムおよび可読記録媒体
Fleurkens Interactive system design in ESCAPE
Cesário et al. Overlap and frontiers between behavioral and RTL synthesis

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041217