[go: up one dir, main page]

JP3118592B2 - よりハイレベルのビヘイビア指向のデスクリプションから回路又は装置の構造上のデスクリプションを生成する方法 - Google Patents

よりハイレベルのビヘイビア指向のデスクリプションから回路又は装置の構造上のデスクリプションを生成する方法

Info

Publication number
JP3118592B2
JP3118592B2 JP03101967A JP10196791A JP3118592B2 JP 3118592 B2 JP3118592 B2 JP 3118592B2 JP 03101967 A JP03101967 A JP 03101967A JP 10196791 A JP10196791 A JP 10196791A JP 3118592 B2 JP3118592 B2 JP 3118592B2
Authority
JP
Japan
Prior art keywords
design
description
level
behavior
timing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP03101967A
Other languages
English (en)
Other versions
JPH04288680A (ja
Inventor
ダンジェロ カルロス
クマル ナガサミー ビジェイ
ブーテサズ アーサン
プラサンナクマル ラジャン スリーランガ
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.)
LSI Corp
Original Assignee
LSI Logic Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24017652&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP3118592(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by LSI Logic Corp filed Critical LSI Logic Corp
Publication of JPH04288680A publication Critical patent/JPH04288680A/ja
Application granted granted Critical
Publication of JP3118592B2 publication Critical patent/JP3118592B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31704Design for test; Design verification
    • 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
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はコンピュータ援用設計
ツール及び、特にデジタル装置などの複雑な回路とシス
テムの設計とインプルメンテーションの技術に関する。
【0002】
【従来の技術】現在の技術水準における設計(デザイ
ン)技術及びロジック・シンセシス(論理の統合)は、
実際には物理的な抽象化の異なるレベル間でのマッピン
グのみである。
【0003】
【発明が解決しようとする課題】デザイン・オートメー
ションでの最も困難な問題の一つは、ゲート・レベルで
もタイミング・クロージャを効果的に得ることができな
いことである。このため設計者(デザイナ)は2つのこ
とを行うことになる。ロジックの設計とタイミングの設
計である。或いは設計者は回路の隅々まで設計すること
になる。何故ならば、最良のケースのタイミングは最悪
のケースのタイミングとは全く異なるからである。或い
は、設計者は、インプルメンテーションとタイミング間
の交換(トレード・オフ)の全てを評価できる様に、装
置をレイアウトする。
【0004】ECADまたは電子CADシステムと称さ
れる、今日の電子回路の設計用のコンピュータ援用設計
(CAD)システムは、ユーザにグラフィック・ディス
プレイ装置を備えたデジタル・コンピュータで使用する
ソフトウエア・ツール一式を供給して電子回路の設計を
支援する。典型的には、5つの主要なソフトウエア・プ
ログラム・ファンクションがECADシステムで使用さ
れる。それらは、スキマティク・エディタ、ロジック・
コンパイラ、ロジック・シミュレータ、ロジック・ヴェ
ラファイア及びレイアウト・プログラムである。このス
キマティック・エディタは、そのプロセスでネット・リ
スト(コンポーネント間の接続の総合)を生じて、該シ
ステムのユーザが、ディスプレイ・スクリーンを用いて
スキマティック・ダイアグラムに書き込み、及び/又は
それを修正することを可能とする。ロジック・コンパイ
ラは、該ネット・リストを入力し、コンポーネント・デ
ータベースを使用してレイアウト、ヴェリフィケーショ
ン(検証)及びシミュレーションに必要な全ての情報
を、そのフォーマットがそれらの機能に合わせて最適化
されているスキマティック・オブジェクト・ファイル
(又はファイルズ)に送る。ロジック・ヴェラファイア
は、そのスキマティックに設計ミス、例えば出力の過多
結合、信号経路のオーバ・ロード等、があるかどうか検
証し、その様な設計上の問題があればエラー表示を発生
する。ロジック・シミュレータはそのスキマティック・
オブジェクト・ファイル(ズ)及びシミュレーション・
モデルを受け取り、命令、初期状態及びファイル又はユ
ーザ入力の形で供給される入力信号値に従って、一連の
シミュレーション結果を生ずる。レイアウト・プログラ
ムはデータを生じ、それから半導体チップ(回路板)を
レイアウトして製造する。
【0005】カリフォルニア州、ミルピタス所在のエル
エスアイ・ロジック・コーポレーションで生産されてい
るモデュラ・デザイン・エンバイロメント(MDE)
は、UNIXオペレーティング・システムで動くコンピ
ュータ用の一連のソフトウエア・ツールである。MDE
はとりわけ、スキマティック・エディタ(LSED)と
シミュレータ(LDS)からなり、前記したタイプの市
販されるツールの1つの例である。スキマティック・エ
ディタとスキマティック・コンパイラの他の例は、カリ
フォルニア州、マウンテンビュー所在のヴァリッド・ロ
ジック・システム・インクで生産されるSCALDst
ationの中に見つけられよう。
【0006】VHDL乃至はVHSIC(Very H
igh Speed Integrated Circ
uit)ハードウェア記述言語は、複雑な装置を記述す
るために近年開発された、よりハイレベルの言語であ
る。VHDLデスクリプション(記述)の形態は、コン
テクスト─ディペンデント・シンタクティクを備えたコ
ンテクスト─フリー・シンタクスとナラティブ・ルール
で表現されたセマンティク・リクワイアメントとによっ
て記述される。VHDL言語はIEEE Standa
rdVHDL Language Reference
Manual(IEEE Std 1076−198
7)に記載されており、またMIL−STD−454、
Regulation 64でも知られている。
【0007】VHDL言語は、言語構造のセマンティク
または意図が明瞭に特定されているので、デザイン・ス
ペシフィケーション言語に重要な一歩を示している。理
論的には、VHDL言語は、統語的な点で、設計者の意
図するシステム又は回路のビヘイビアを不明瞭にではな
く記述する。「デザイン・エンティティ」は、VHDL
において主要なハードウェア・アブストラクション(抽
象化)である。それは、明確な入力と出力とを備え、明
確な機能を演ずるハードウェア・デザインの一部であ
る。デザイン・エンティティは全システム、サブ・シス
テム、ボード、チップ、マクロ・セル、ロジック・ゲー
ト、又はその間のいかなるレベルのアブストラションを
表すことが可能である。「コンフィギュレーション」
は、どのようにデザイン・エンティティが結合されて1
つの完全なデザインを構成するかを記述するのに用いら
れる。
【0008】VHDL言語はハードウェア・アーキテク
チュアのデスクリプション(記述)のための3つの異な
った形式をサポートする。その最初は「構造上の乃至は
構造に関する(ストラクチュラル)」デスクリプション
であり、そこではアーキテクチュアは相互結合されたコ
ンポーネントの階層的な構成として記述される。第2の
形式は「データ・フロー」のデスクリプションであり、
そこにおいてはアーキテクチュアは一式の並列配置のレ
ジスタ群で、その各々がゲーティング信号で制御される
ものとなる。この記述は、レジスタ・トランスファ・レ
ベル(RTL)記述に具体化された記述形式を包含す
る。第3の形式は、「ビヘイビア上の乃至はビヘイビア
に関する」デスクリプションであり、そこではデザイン
はハイレベルなプログラミング言語に似た一連のプログ
ラム・ステートメントで記述される。以下、主としてビ
ヘイビア上のデスクリプション形式が議論される。しか
し、3つの形式を全て単一のアーキテクチュアに混合す
ることも可能である。
【0009】以下、Prolog等の中間的なルール・
ベースド・ツールを介して、RTLの如くの、よりハイ
レベル(即ち、VHDL)のデスクリプションから、よ
りローレベルの実際的なデスクリプションを生成する方
法を述べる。
【0010】Prologは、述語論理に基づいたプロ
グラミング言語である。それは、数学的な理論の解明等
の「インテリジェント」な仕事に使用することができ
る。Prologのプログラムは、オブジェクト中の関
係を定義する一連のルールである。Prologルール
の一般的な形は「ホーン」節であり、そこでは或る状態
が真であればある特定の「目標(ゴール)」は真とされ
る。Prologプログラムの実行は、統合(シンセシ
ス)と分析(アナリシス)を用いて問題となっている目
標を解明することを含む。この発明で採用されているP
rologの重要な相は、「ターム・イクスパンショ
ン」であり、それは予め定義されたルールを通常のPr
olog節に変換する。
【0011】従ってこの発明の目的は、回路又はシステ
ムの実際的な構造的記述をそのビヘイビアラルなデスク
リプションを生成する方法を提供し、よって設計者がよ
りハイレベルのアブストラクションでより大規模で、よ
り複雑な回路又はシステムで作業することを可能にする
ことにある。
【0012】この発明の更なる目的は、回路又はシステ
ムのビヘイビア上のデスクリプションをその実際的なイ
ンプルメンテーションに変換する方法を提供することに
ある。
【0013】この発明の更なる目的は、デザイン・ヴァ
リデーションのレベルを構造的な(ネット・リストの)
レベルからビヘイビア上のレベルまで上げることを可能
とする方法を提供することにある。
【0014】この発明の更なる目的は、より基準化され
たデザイン・エンバイロメントを提供し、異なるデザイ
ン・プラットフォーム間でのクロス・トレーニングの要
求に応えると共に、資源(リース)を統合とテスタビ
リティとに一層指向させることにある。
【0015】
【課題を解決するための手段】この発明によれば、設計
者がハイレベルのコンピュータ言語を用いてビヘイビア
指向のデスクリプションから回路又はシステム(以下
「装置」と称する)の構造的なデスクリプションと実際
的なインプルメンテーションを生成して確証することを
可能とする一連のソフトウエア・ツールで作動する電子
CADシステムが提供される。その方法は以下のステッ
プを含む。
【0016】最初に、設計者は、VHDLの如きハイレ
ベルの言語で装置の意図するビヘイビアを明確にする。
【0017】続いて、「ビヘイビア上のシミュレーショ
ン」ステップにおいて、デザインのVHDL言語による
ビヘイビア上の、即ちビヘイビアに関するデスクリプシ
ョンに基づいて、設計者達は、意図したビヘイビアが得
られるまで、シミュレーションとデザインの変更を繰り
返す。
【0018】続いて、「パーティショニング(仕切
り)」ステップにおいて、デザインは幾つもの構造ブロ
ックに仕切られる。このステップは実際的には、デザイ
ン・ビヘイビアをインプルメントすることを可能とする
構造上の選択の「デザイン・スペース」の探索の一つで
ある。この実際的なシステムへのリンクは、構造上の選
択をハイレベルのタイミングとエリア(サイズ)目的に
合致させることによってハイレベルのタイミング・クロ
ージャを可能とする。それがコンセプト・レベルと実際
のレベルとの間をつなぐことを意味するので、これはキ
ー・ステップである。このステップの第2の機能は、種
々の構造ブロックを適当な統合プログラムに向けること
である。
【0019】次いで、「ロジック・シンセシス」ステッ
プにおいて、幾つもの異なるプログラムは、パーティシ
ョニング・ステップで特定された異なる構造ブロックを
効率的に統合するのに使用される。高度の規則的な構造
乃至は十分に理解された機能を備えたこれらのブロック
は、特定のシンセシス・ツール(例えばメモリ又はファ
ンクション・コンパイラ)に向けられる。ランダムな乃
至は構造化されていないロジックを備えたこれらのブロ
ックは、より一般的なロジック・シンセシス・プログラ
ムに送られる。このステップの出力は、デザインのネッ
ト・リストである。
【0020】続いて、「フィジカル・シミュレーショ
ン」ステップにおいて、ゲート・レベルのデザイン・デ
スクリプションは、シミュレートされ、その結果を所期
のビヘイビア上のシミュレーション結果と比較される。
これは回路のインプルメンテーションが所期の如くふる
まうか否か、またタイミング目的が達成されたか否かを
チェックすることになる。
【0021】付随的には、デザインに注釈を設けて他の
物理的なデザイン上の制限、例えば容量、寄生容量等が
超えない様にする。
【0022】最後に、デザインは、用途特定型(ASI
C)(Application Specific I
ntegrated Circuit)等のデザインの
装置の物理的な(フィジカル)インプルメンテーション
を制御する既存のソフトウエア・システムに入力され
る。
【0023】
【作用】この発明の重要な点は、全てのトップ・ダウン
のデザイン・アプローチの様に、以上は構造上の改良の
プロセスであり、そこではデザインはアブストラクショ
ンレベルを下げながら具体化される。VHDL言語と開
示された方法の特徴は、ハイレベル時にあった意図と意
味が失われることなく、このプロセスを実現することを
可能にしたことにある。これはこのプロセスを自動化す
るキーである。
【0024】他の重要な特徴は、パーティショニング・
ステップ乃至はパーティショナが、チップ・フロアプラ
ンから抽出されデザインをハイレベルなタイミング目標
に合致させる構造にするハイレベルなタイミング情報を
使用する様に強制することである。この強制は、プロセ
スが特定の物理的な実現例に集約することを可能とする
キーである。
【0025】他の重要な特徴は、この方法が現実のレイ
アウトを行うことなく、今日のデザイン・オートメーシ
ョンで最も困難とされた問題、即ち、ゲートレベルでも
タイミング・クロージャを得ることができず、従来まで
設計者にロジック・デザインとタイミング・デザインと
を行わせていたことを解決したことにある。開示された
方法を用いれば、フロアプラニング・レベルのレイアウ
トからタイミング・データを抽出し、それをVHDL言
語によるビヘイビア上のデスクリプションに入れるバッ
ク・アノテーションの形を用いることにより、タイミン
グ・クロージャが得られることである。
【0026】この発明の一つの相によれば、この装置の
ビヘイビア上のデスクリプション(VHDL言語)は、
1つ又はそれ以上のセマンティック・ルールをビヘイビ
ア上のデスクリプションの基礎をなすシンタクティック
・ルールのそれぞれに結びつけることによってインター
プリートされる。これは(Prolog等を介して)
「シンタックス・アトリューティッド・ルール」を用
いることにより達成される。
【0027】この発明の他の目的、特徴又は利点は、説
明が以下続くにつれて明らかとなろう。この発明は全シ
ステムからサブ・システム、ボード(例えばマルチ・チ
ップ・モデュール)、チップ、マクロ・セルに至る種々
の領域にわたる装置、及びこれら特定のレベル間の装置
にまで有益である。
【0028】
【実施例】序論 現在のデジタル・システムにおいては、70000個以
上のロジック・ゲートを備えるデザインは珍しくない。
また現在のアナログ電子システムにおいて、特に設計さ
れている機能が集積回路に組み込まれる様に意図されて
いる場合、何百ものトランジタと他の電子装置からなる
デザインを見ることも普通である。その複雑さから、全
体的にシミュレートされる前に、設計されつつある回路
の小範囲において何度もシミュレートしたいと言う要求
がある。回路の小部分が別々にシミュレートされるとき
には、そのエラーを容易に検出することができるので、
この要求は必要である。逆に、回路全体がシミュレート
されると、複合的なエラーが生じて他のエラーをマスク
してしまう恐れがある。更に、現在の巨大な回路の複雑
さは、回路の小部分でのエラーを見つけるのを難しくし
ている。
【0029】従来、典型的なECAD装置電子回路を設
計するプロセスは、幾つかの異なったステップで行われ
ている。回路のスキマティック・ダイアグラムは、回路
素子とそれらの結合を電子的に示すスキマティック・エ
ディタの使用を介して相互作用的に書かれている。EC
ADシステムのユーザは次に、回路のシミュレーション
・モデルに与えれる実際の入力値を表示する入力(ベク
トル)のリストを用意する。この表示は続いてスキマテ
ィック・コンパイラでコンパイルされ、シミュレーショ
ンに最も適した形に翻訳される。この新規な、翻訳され
た表示は続いてシミュレートされ、同一の入力が与えら
れたときの現実の回路の応答に類似する数値的な出力を
生じる。この出力は続いてグラフックな態様でユーザに
通例示される。シミュレーション結果を見てユーザは、
表示された回路が実際に製造されたとき正確に機能する
か否かを決定する。もし不可ならば、ユーザはスキマテ
ィック・エディタを用い、回路のスキマティックを再度
編集し、再度コンパイルし、再度シミュレートする。ユ
ーザが回路設計が正しいと満足するまで、このプロセス
は繰り返される。
【0030】このECADシステムのスキマティック・
エディタは一般的に相互作用的なソフトウエア・ツール
であり、ユーザが多くの回路素子を選択し、それをコン
ピュータに接続されたグラフィカル/テキスト・ディス
プレィ装置(以下「ディスプレイ・スクリーン」と称す
る)に表示させることができる。これらの表示されたエ
レメントは、ディスプレイ・スクリーンに座標を書き、
ソフトウエア・ツールにコマンドを入力するのに使用さ
れるマウス、トラックボール、ジョイスティック、グラ
フィック・タブレット又はキーボード等の指示具である
位置入力装置を介して、ユーザとコンピュータとの間の
相互作用によりディスプレイ・スクリーン上にワイヤを
意味する線を引くことで、相互に接続される。回路素子
と接続ワイヤはスキマティック・ダイアグラムを形成
し、それはディスプレイ・スクリーン上で全体的に又は
部分的に見ることができる。スキマティック・ダイアグ
ラムはディスプレイ・スクリーン上に構築されるので、
コンピュータはこれらの素子をメモリ乃至は磁気ディス
ク・ドライブの如き大量格納装置である格納手段に表示
する。グループ化されるこれらの表示は、スキマティッ
ク・エディタが理解する規格化されたフォームでユーザ
によって入力されたスキマティッの数値的な表示を形
成する。典型的にはこのフォームは、スキマティック情
報の入力と修正のために最適化されている。
【0031】しばしばスキマティック・エディタは階層
的なデザインを可能とし、それにより、前に作られ格納
されたスキマティックは呼び戻され、閲覧されて他の回
路のマクロ・レベル・コンポーネントとして使用される
ことがある。斯るマクロ・レベル・コンポネントの重複
例は、よりハイレベルのスキマティック・ダイアグラム
に包含することもできる。スキマティック・エディタ
は、マクロ・レベル・コンポーネントを複写してデータ
構造を生成する。このよりハイレベルのスキマティック
は、マクロ・レベル・コンポーネントとして更にハイレ
ベルのスキマティック・ダイアグラムに順次組み入れる
ことができる。
【0032】図12 図12は、一般的な設計方法を示す。以下の説明は、適
宜なコンピュータ・システム(図示せず)で動作させる
ことができる一連のソフトウエア「ブロック」の意味で
なされる。
【0033】設計者は、VHDL言語の様なハイレベル
のコンピュータ言語で回路の意図するビヘイビア上のデ
スクリプションをフォーミュレートすることで回路(又
はシステム)の設計(デザイン)を開始する。これはブ
ロック1212に示され、それは意図するビヘイビアを
記述するハイレベルの例示的なコードを示す。
【0034】続いて、設計者は、メモリやレジスタの如
き、所定のファンクションナル・ブロックの意味での回
路のレジスタ・トランスファ・レベル(RTL)として
設計をリ・フォーミュレートする。これはブロック12
14に示される。
【0035】よって生じたRTL記述はブロック121
6でシミュレートされ、所期のビヘイビア上のデスクリ
プションに等しいか否か確認する。そこで、デザイン
は、統合可能な部分(集合可能な論理回路、レジスタ及
びフリップフロップ)と統合不可能な部分(予め設計さ
れたブロック)からなる。
【0036】ロジックは続いてブロック1218で、反
復して使用可能な共通部分を見つけて最小化(ミニマイ
ズ)され、ブロック1220でデスクリプションを特定
の技術(例えばCMOS)にマップする。更に、統合不
可能な部分は、ブロック1222でコンパイルされる。
【0037】以上のステップ1212〜1222は、ス
テップ1222を除き、技術的に従属な程度において、
全て技術的に独立である。
【0038】少なくとも統合可能な部分のデザインはブ
ロック1224で最適化(オプティマイズ)され、ゲー
ト・レベル・ネット・リスト1226を生じる。
【0039】1218〜1222までのブロックは、典
型的なロジック・シンセシス・ツールを示す。
【0040】厳密に言えば、RTL上の(乃至はRTL
に関する)デスクリプションを生じた後のステップのみ
が「ロジック・シンセシス」を構成し、斯るボトムアッ
プ・アプローチ(ビヘイビア上のデスクリプションのR
TL上のデスクリプションへのリ・フォーミュレート)
は削がれ、所期のビヘイビア上のデスクリプションの意
図の多くを失いやすく、また労力を要すると共に、エラ
ーを発生しやすい。
【0041】この発明によれば、後述の如く、「ビヘイ
ビア上のシンセシス」はビヘイビア上のデスクリプショ
ンとRTL上のデスクリプション間のギャップを埋め、
ハイレベルのビヘイビア上のデスクリプションから自動
的に実際的なゲートレベル・ネット・リストを生じる。
その意味で、ビヘイビア上の(即ち、VHDL)とRT
L回路上のデスクリプションとはゲート・レベル・リプ
レゼンテーションを扱わないので、それらは共に「ハイ
レベル」なデスクリプションと考えられる。ビヘイビア
上のデスクリプションとRTL上のデスクリプションの
間の差異は、主としてそれらが特定する構造の量と、よ
って生じるゲートレベル・インプルメンテーションで使
用されることになる構造部分の「割り振り(アロケーシ
ョン)」又は定義にある。ビヘイビア上のデスクリプシ
ョンはどの構造部分(例えば、メモリ、機能ブロック
等)が使用されるべきかの問題はアドレスしない。RT
L上のデスクリプションにおいては、構造部分は明示的
に特定され、このデスクリプションとよって生じるゲー
トレベル・インプルメンテーションとの間は直接的にマ
ッピングされる。
【0042】ビヘイビア上とRTL上のデスクリプショ
ンの統合の可能性は、構造的な内容におけるこの差異に
よって少なからず影響を受ける。RTLシンセシス
(「ローレベル」シンセシス)は、比較的に良く研究さ
れていて、非常にインプルメントされた技術である。R
TL上のデスクリプションをゲートレベル・インプルメ
ンテーションに統合する技術は十分に確立している。
【0043】この発明は、構造的な内容を全く乃至は殆
ど有しないビヘイビア上のデスクリプションを構造的な
内容を多く有するRTL上のデスクリプションにマッピ
ングする方法を開示する。これは主として、但し完全に
ではないが、トップダウン的な設計手法である。
【0044】厳密なトップダウン設計手法で欠けている
ものは、設計されつつあるモデュール(回路、機能ブロ
ック等)のよりローレベルの物理情報の詳細な知識の使
用である。通常、ビヘイビア上のシンセシスが完成し、
RTL構造がインプルメンテーションのために選択され
るまで、モデュールの選択と配置は延期される。これは
主として構造的な情報がビヘイビア上のレベルでは入手
不可であり、それ故にシステムが設計スペースを探索し
てエリアとディレイの様な基準を採用することができな
いためである。レイアウト、モデュール・サイズ、接続
等の詳細は、RTL設計スペースに大きな影響を持つ。
【0045】以後から明らかになるであろうが、ハイレ
ベル(ビヘイビア上のデスクリプション)でデザインを
アーキテクチュアルなブロックに仕切ることは斯るビヘ
イビア上のデスクリプション・レベルでの構造的な情報
を記述するための「ビークル」を作ることになり、それ
によってよりローレベルの物理パラメータを評価する能
力を付加する。更に、仕切ることは設計者がオペレータ
・レベルの類似性とプロセス・レベルの同時性を探索し
てデザインを改良することに役立つ。
【0046】図1 続いて、用途特定型(ASIC)デザインにおける本発
明の実施例を説明する。
【0047】図1 図1は、統合において、ゲートアレイと標準セルとをカ
バーする、ASICチップ110の簡略図である。一般
的に、ASICチップは全体的に又は部分的に、図示の
異なったファンクショナル・エンティティからなる。更
に、図1は、これらのブロックのシンセシス/コンパイ
レーション及びオプティマイゼーション(最適化)のた
めの手段を記載する。図示しなかったのは、チップのI
/Oバッファとその周辺装置である。シンセシス・ツー
ルはI/Oバッファを操作する様には意味されていない
が、最適化環境におけるそれらのタイミング・デスクリ
プションは、チップのコア部分の最適化に有益である。
【0048】例示されたチップ110は、主として以下
の機能ブロックを備える。即ち、メモリ112、データ
・パス114、メガ・セル及びメガ・ファンクション1
16並びに、アドレスとデコーダの如きレギュラ・ブロ
ック120とランダム・ロジック・ブロック122を備
える。
【0049】メモリ・ブロック112は、メモリ・コン
パイラにより効率的な技術依存のビルディング・ブロッ
クを使用して作られる。メモリ・コンパイラの出力は、
原始的なトランジスタのネット・リストである。
【0050】データ・パス・ブロック114は、HDL
(ハードウェア・デフィニション・ランゲージ)言語に
ビヘイビア上デスクリプションを供給して作られる。
データ・パスは、汎用シンセシス・プログラムか専用デ
ータ・パス・コンパイラを介して統合される。シンセシ
ス・プログラム/コンパイラの出力は、ASICマクロ
・セルを用いたデザインの構造的なデスクリプションで
ある。
【0051】メガ・セルとメガ・ファンクション・ブロ
ック116は、予めデザインされたビルディング・ブロ
ック・ライブラリから選択される。それは最適なパファ
ーマンスを意図して予めデザインされたものである。
【0052】レギュラ・ファンクショナル・ユニット1
20は、アドレス、デコーダ及びマルチプレクサ等のレ
ギュラ・ブロックを用いて作られる。所望により、これ
らは更に最適化される。
【0053】ランダム・ロジック・ブロック122は、
ランダム・ロジック、グルー・ロジック及びステート・
コントローラを含む。これらのユニットのデスクリプシ
ョンは、ブール方程式、真理表、データ・フロー及びH
DLデスクリプションでなされる。チップのこの部分
は、他の部分の周囲にデザインされる。このファンクシ
ョンナル・ユニットは、より小さいファンクションナル
・ユニットに仕切られ、プロセスは回帰的に反復され
る。原子的な特徴は依然、機能的に検証されたファンク
ションナル・ユニットのままである。汎用シンセシス/
オプティマイゼーション・ツールはこれらのファンクシ
ョンナル・ユニットを作るにのみ用いられ、特定の条件
とメモリ、レギュラ・ブロックとデータ・パス・セクシ
ョンで課される条件とに従ってユニットを最適化する。
【0054】図2 図2乃至5は、いかなるデザイン形式又は技術からも独
立した統合設計方法を示す。この方法の種々のステップ
(ブロック)は、円で囲まれた1〜18の数字で示さ
れ、それらは以下の通りである。
【0055】ステップ1はデザイン・スペシフィケーシ
ョン(仕様)である。これはシステム(装置)・スペシ
フィケーションからなり、サブ・システム素子のファン
クションナル・スペシフィケーション、タイミング・ス
ペシフィケーション及びI/O要件、並びに電源、パッ
ケージとインターフェース要件を含む。
【0056】ステップ2はデザイン・デスクリプション
である。これは、デザインとその全てのサブ・システム
素子のファンクションナル・デスクリプションである。
デスクリプションは、理想的にはVHDLの如きハイレ
ベルの記述言語で与えられる。デザインの性質によって
は、デスクリプションは完全にビヘイビア上のレベルで
あるか、或いはRTL上のデスクリプションと結合され
る。
【0057】ステップ3はパーティショニングである。
ビヘイビア上のデスクリプションを与えられると、パー
ティショニング(パーティショナ)はデザインを幾つか
のモデュールに細分し、それが全体的なシンセシス、ア
ナリシス及びヴェリフィケーション(検証)のタスクを
より制御自在にする。そうするために、パーティショナ
は、パッケージング、I/O能力及び他の技術依存情報
を含む技術ファイル(後述)を考慮して最適にデザイン
を仕切る。デザインを機能的に仕切ることに加えて、パ
ーティショナは設計者が、デザインを最適化、例えばエ
リア、スピード等において、するであろう最適なアーキ
テクチュアを選択するのを手助けする(CAEシステム
の例示的なスクリーン・ディスプレイを示す参考図1〜
3を参照せよ)。
【0058】ステップ4はモデュール・デスクリプショ
ンである。3つのモデュールが図示されるが、それ以上
のモデュールを設けても良い。これは、HDL(ハード
ウェア・デフィニション・ランゲージ)言語での、パー
ティション・デザインのRTL上のデスクリプションで
ある。各モデュールは一連のタイミングとエリアのコン
ストレイントを備えており、それらはそのモデュールの
領域でのみ関連させられる(これらは、デザイン・デス
クリプションから自動的に生成されるものではない)。
【0059】ステップ5はコンポジションである。コン
ポジションはパーティションの反対であり、仕切られた
デザインの検査と検証を容易にする。パーティション・
デザインはこのステップで再構築され、その最終産物
は、完全なデザインのRTL上のデスクリプションであ
る。
【0060】ステップ6はファンクションナル・ヴェリ
フィケーション(ビヘイビア上の)である。ビヘイビア
上のレベルでのヴェリフィケーションは2つのステー
ジ、デザインが進展しつつある間とパーティション・ス
テップの後とに行われる。前者はソース・コード・デバ
ッギングであり、そこでデザインのハイレベルなデスク
リプションは意図された機能性の正確さが検証される。
後者はパーティショニングの間に行われたアーキテクチ
ュア上の決定を検証して完全なデザインの機能性とパフ
ォーマンスへのそれらのインパクトを検査することであ
る。
【0061】図2に示されるステップ群についての前記
の説明から、種々の「ループ」が形成されるのが認めら
れよう。ハイレベル・ループは、ビヘイビアの検証(ス
テップ6)からなり、デザイン・デスクリプションをデ
バッグする(ステップ2)。よりローレベルのループ
は、パーティションされ(ステップ3)コンポーズされ
た(ステップ5)デザインのビヘイビア上の検証からな
る。パーティショニング・プロセスはユーザの相互作用
により設定され、テクノロジイ、パッケージング、I/
O能力及び他の、類似装置での経験に基づいて開発され
た提案装置に関する情報の様な、物理的なインプルメン
テーション要素により駆動される。
【0062】ステップ7はモデュール・デスクリプショ
ンである。これは、パーティショナにより作られるか設
計者により別に開発されたファンクションナル・エンテ
ィティのデスクリプションである。これは望ましくは以
下のフォーマットのいずれかから与えられる。即ち、H
DL、真理表、方程式又はネット・リストの中からであ
る。この例で使用されている様に、「モデュール」は3
000セル未満の複雑さを備えたファンクションナル・
ブロックである(それはI/Oパッドを備えたチップで
はない)。
【0063】ステップ8はシンセシスである。モデュー
ル・デスクリプション(ステップ7)と目標テクノロジ
イ・ライブラリを与えられると、デザインは目標テクノ
ロジイにマップされる。シンセシス・プロセスは通例ロ
ジック・オプティマイゼーションの何かのフォームを含
む。これは、モデュール(装置)の機能性を定義するロ
ジック表現を処理するタスクである。冗長部分を削除
し、中間的なロジック・レベルを付加又は削除すること
で(例えば、ブール表現の再構築)、ミニマイゼーショ
ンがなされる。
【0064】ステップ9は構造的な(乃至は構造上若し
くは構造に関する)デスクリプションである。これはゲ
ートレベル、及びシンセシス・ツールで作られたモデュ
ールの技術依存デスクリプションである。それは一般に
ネット・リストの形で与えられ、それから装置が自動的
かつ物理的に作られる。
【0065】ステップ10はファンクションナル・ヴェ
リフィケーション(構造上)である。これはモデュール
の正確さを意図された機能性から検証することで行われ
る。これは、ビヘイビア上のレベルでのファンクション
ナル・ヴェリフィケーション(ステップ6)が行われな
かった場合にのみ、要求される。シンセシス・ツールに
よって作られた回路が所定のモデュール・デスクリプシ
ョンに(機能的に)従うと考えられよう。齟齬がある場
合には、モデュール・デスクリプションは、トップ・レ
ベルで、即ち、デザイン・デスクリプション(ステップ
2)で修正(デバッグ)される必要がある。デザインと
そのサブ・システム素子の全ての完全性を保つために、
これは必要である。
【0066】ステップ11はタイミング/エリア・コン
ストレイントを扱う。これらは、オプティマイゼーショ
ン・プロセスをカスタム化するのに使用される。オプテ
ィマイゼーションは通例、エリア及びスピード(タイミ
ング)コンストレイントによりドライブされる。これら
はツールが、個々の又は小さいクラスタのゲートに関し
て基礎エリアとスピードの間で交換され、或いはドライ
ブ能力の如き他のコンストレイントと共に、包括的なエ
リアとスピードの最適化をなす様に指示することがあ
る。コンストレイントが十分に構築されているときは、
有意的なデザインの最適化が要求され、本発明の方法が
そうである。タイミング・コンストレイントは以下、即
ち、最大及び最小のライズ/フォール・ディレイ、セッ
トアップとホールド・チェック、クロックサイクルの長
さ、及びネット当たりの最大過渡時間を含む。タイミン
グ・コンストレイントは又、モデュールの入力での信号
スキューの如き制限条件、モデュールの出力のドライブ
能力等を、それらのデータが入手可能なときは、含む。
【0067】ステップ12はオプティマイゼーション
(最適化)である。デザイン・コンストレイントとモデ
ュールの構造上のデスクリプションを与えられると、最
適化プロセスはモデュールを修正してそのエリアとタイ
ミング特性が指定されたコンストレイントに従う様にす
る。デザインの性質とコンストレイントの強さにより、
幾つか又は全ての最適化目標が達成される。境界条件が
入手不可のときは、最適化は、モデュール全体の最小化
を狙って汎用的なものとなる。境界条件があるときは、
各モデュールが最適化され、よりハイレベルのモデュー
ル全体が指定されたタイミング要件に従う。
【0068】ステップ(ブロック)13は最適化プロセ
スの後の、モデュールの構造上のデスクリプションを作
ることを示す。
【0069】ステップ14はタイミングの検証と分析で
ある。これは、最適化プロセス(ステップ12)の効果
の検査とそのグローバルなインパクトの検査のプロセス
である。スタティック・タイミング・アナライザやゲー
ト・レベル・シミュレータの様なツールが採用されよ
う。もし最適化されたモデュール(ステップ13)がタ
イミングとエリアの全ての要件に合わないときは、この
点で更に取引がなされる。コンストレイントは続いて斯
る取引を反映する様に修正され、最適化プロセス(ステ
ップ12)が繰り返される。
【0070】ステップ15は、モデュールの最適化され
た構造のデスクリプション(ステップ13)から導かれ
る、ハイレベルのモデュールを示す。ハイレベルのモデ
ュールは、1つの又はそれ以上のサブ・モデュールから
なる。各サブ・モデュールは、その固有の領域で最適化
されている。ハイレベルのモデュールは、サブ・モデュ
ール間の相互作用と接続性を記述する。階層的に与えら
れるときは、目的装置自体がハイレベル・モデュールと
考えられる。
【0071】ステップ16はタイミング・シミュレーシ
ョン、ヴェリフィケーション及びアナリシスである。こ
のステージにおいては、最適化されたモデュールはコン
ポーズされ(ステップ5を参照)、ハイレベル・モデュ
ール又は目的装置の意図された機能性をインプルメント
する。ここで、アナリシスは、ロジック・レベル・シミ
ュレーション、スタティック・タイミング・アナリシス
・電子的なルールのチェック等を含む。より正確なアナ
リシスとしては、フロア・プラナ若しくはプレースメン
ト及びルーティング・プログラムを使用してワイヤ・デ
ィレィを見積もる必要があろう。ワイヤ・ディレィは続
いてシミュレーションに先立ち、デザイン・データベー
スに逆注釈(バック・アノテート)される。もしモデュ
ールのタイミング要件の全てが指定された要件に合わな
いときは、サブ・モデュールのタイミング・コンストレ
イントが修正され、最適化が行われる。
【0072】ステップ17はディレイ・バック・アノテ
ーション(DBA)であり、これは任意である。ブロッ
ク間のワイヤ・ディレイは、サブ・モデュールのフロア
・プラニングの後にのみ、一層正確に見積もることが可
能である。更に正確なブロック内とブロック間のディレ
イは、プレースメントとルーティング・ステージの後で
決定される。これらのツールを使用することにより、ワ
イヤ・ディレイはより正確に見積もられよう。このディ
レイはゲート・レベル・オプティマイザで使用されるべ
く(ステップ12)、バック・アノテートされる。
【0073】ステップ18はグローバルなコンストレイ
ントの導入を示す。行われたアナリシス結果を用いて、
サブ・モデュールのタイミング/エリア・コンストレイ
ントは、グローバルなタイミング要件を反映する様に修
正される。新しいコンストレイントを備えたサブ・モデ
ュールは、続いて再び最適化される。
【0074】図6 図6はシンセシスとオプティマイゼーション・ツールの
用例と、これらのツールとデザイン・コンパイラ間のデ
ザイン・データの交換のためのアブストラクション・レ
ベルを示す。各ツールは、例示されたASICチップ6
00の主要なファンクションナル・ブロックの1つ又は
それ以上のシンセシス又はコンパイレーションをアドレ
スする。これらのツールと用法とデザイン・コンパイラ
との相互作用が、特に関心事となる。
【0075】メモリ・コンパイラ(MemComp)6
02はメモリ・メガ・セルのためにハイレベルのスペシ
フィケーションを受け持っており、シミュレーション、
テスティング及びレイアウトのためのロジック及びレイ
アウト・ファイルを作る。その目的は、デザイン・コン
パイラ(オプティマイザ)604にメモリ・ブロックの
正確なタイミング・デスクリプションとドライブ能力情
報を備えさせることである。メモリ・コンパイラは高密
度又は低電源のRAM又はROMブロック606を統合
する。後で明らかになる如く、周囲のロジックは、メモ
リ・ブロックに対して最適化される。MemComp6
02からなるメモリ・ブロックは、内部のマクロ・セ
ル、即ち、原始的なトランジスタのネット・リストと同
じフォーマットを供給され、それはデザイン・コンパイ
ラ604によっては直接読むことができない。従って、
2つの中間的なステップのいずれかが要求される。それ
は、1)(図示せず)MemCompによって作られる
データシートは、メモリ・ブロックのタイミング・デス
クリプションを手動的に抽出するのに使用される。これ
は基本的に、一連の「セット・ロード」「セット・ドラ
イブ」及び「セット・アライバル」コンストレイントを
定義し、最適化プロセスの開始時に囲んでいるロジック
の適切なピンに接続することを含む。又は、2)メモリ
・モデラ(図8参照)がモデル603をシノプシス・ラ
イブラリ・ランゲージ(SLL;エルエスアイ・ロジッ
ク・コーポレーションから入手可能)で作るのに使用さ
れる。メモリ・モデラはメモリ・デスクリプションを読
むのに使用され、メモリ・ブロックの完全なタイミング
・デスクリプションを作る。これは全てのセットアップ
とホールド値とタイミング・アークスとI/Oピン特性
を含む。このタスクはシンセシス・ライブラリ・モデル
(SLM;エルエスアイ・ロジック・コーポレションか
ら入手可能)ジェネレータのそれと類似する。
【0076】シンセシス・ライブラリのマクロ・セルと
同様に、メガ・セルとメガ・ファンクション608は、
基本的なビルディング・ブロックとして扱われる。両者
は一般的に最適なパフォーマンスのために予め開発され
ているので、これらのブロックについては最適化は不要
である。これらはデザイン・コンパイラ604に提供さ
れ、周囲のブロックが最適化される様に単にタイミング
情報を供給する。メガ・セルはマクロ・セルと同様の方
法で、即ち、シノプシス(SLL)・ライブラリ・フォ
ーマットを使用してモデル化される。メガ・ファンクシ
ョンは、シノプシス・データベース(SDB)フォーマ
ットでデザイン・コンパイラに接続される(ネット・リ
スト・バック・プレーン610が主要なデザイン表示媒
体として使用される)。一般的に、メガ・ファンクショ
ンは技術水準的な機能をモデルとしており、それにより
設計者に一連の良く知られ且つ解明された標準的なビル
ディング・ブロックを供給する。特定の、高度に専用化
され、ユーザが定義したメガ・ファンクションの場合に
は、デザイン・コンパイラの能力を確認する必要があろ
う。
【0077】ランダム・ロジック612、換言すれば既
述のツールとライブラリを使用して統合されていない残
りのモデュールは、デザインをスピードとエリアで最適
化する汎用ロジック・シンセシス・ツール614を使用
して統合される。それは、方程式、真理表、ネット・リ
スト及び/又はVHDLフォーマットにおける階層的な
組み合わせと連続的なデザイン・デスクリプションを容
認する。最適化プロセスは、「目標」を指定することで
示される。目標は、タイミング・コンストレイントとし
て示される。最適化プロセスは取引の評価を行い、指定
されたコンストレイントのためのデザインの最良のゲー
ト・レベル情報を作る。
【0078】デザイン・コンパイラ604はシンセシス
とコンストレイント・ドリブン・オブティマイゼーショ
ンのための環境を提供するので、全体的なシンセサイザ
/オプティマイザとして使用可能である。他のツールで
作られたブロック群もデザイン・コンパイラにロード可
能であり、そこでそれらのブロックからのタイミング情
報は周囲のロジックを統合し最適化するのに使用するこ
とができる。例えば、メモリ・ブロック出力のドライブ
能力とスキューを知ることは、グルー・ロジックの正確
な最適化を可能とするであろう。
【0079】メモリ・ブロックが一旦統合され、適宜な
メガ・セルとメガ・ファンクションが選択されると、デ
ザインの残りはデザイン・コンパイラで統合自在とな
る。ユーザが定義したタイミング・コンストレイント群
(図8のユーザ・インターフェース参照せよ)と存在す
るブロックにより指示されたそれらに従い、最適化が続
いて行われる。これは反復的なプロセスである。所望の
タイミングとエリア要件が達成されるまで、コンストレ
イントは精製される必要がある。
【0080】図7 図7はシンセシス・デザイン・フレームワークを示す。
開示されているフレームワークの目的は、主たるシンセ
シスとオプティマイゼーション・ツールである、デザイ
ン・コンパイラに専用のシンセシス・ツールを組み込む
ことによってインテグレートされたシンセシス・エンバ
イロメント(環境)をもたらすこと、2つの連続的で結
合されたデザインのコンストレイント・ドリブン・ゲー
ト・レベル最適化能力を与えること、モデュラー・デザ
イン・エンバイロメント(MDE;後述、エルエスアイ
・ロジック・コーポレーションから入手可能)からデザ
イン・コンパイラにワイヤ・ディレイのバック・アノテ
ーションを提供して、より正確なワイヤリング・ディレ
イに基づいて必要なタイミング/エリアの交換の評価を
行うこと、シンセシス・ツールとMDEモデュールとの
間にウインドウ・ベースのグラフィカル・インターフェ
ースを提供してデザイン・コンパイラ、他のシンセシス
・ツール及びMDE間のデータ・フローを制御するこ
と、フロント・エンド・シンセシスにVHDLからVH
DLデバッギング及びアナリシス能力を提供すること、
及びVHDLからフロント・エンド・シンセシスにVH
DLプレ・シンセシス・パーティショニング能力を提供
すること、である。
【0081】一般的に、図7に示されるデザイン・フレ
ームワークは、前述の設計手法に従う。その手法は以下
の重要なステップを含む。
【0082】─デザインをメモリ・ブロック、メガ・フ
ァンクション、メガ・セル及びランダム・ロジックに仕
切ること。
【0083】─エルエスアイ社のチップサイザ(図8参
照せよ)の様なレイアウト・ツールを使用して要求され
る、エリアの機能であるダイ・サイズ、ピンの数及びパ
ッド並びに他の要素を得ること。
【0084】─使用されるべきメガ・セルとメガ・ファ
ンクションを選択し、デザイン・コンパイラのためにセ
ルを特徴づけること。
【0085】─メモリ・ブロックを作り、デザイン・コ
ンパイラのためにそれらを特徴づけること。
【0086】─ランダム・ロジックをより小さいファン
クション・ユニットに仕切ること。
【0087】─デザイン・コンパイラを使用して残りの
ブロックを「ボトムアップ」手法で統合するために、よ
りローレベルのファンクション・ユニットから開始して
以下、即ち、機能的な検証ツール又はシミュレータを用
いてブロックの機能性を検証すること、エリアのため
か、或いは一般的な意味で、選択されたパスの幾つか又
は全部のタイミングのためにデザインを最適化するこ
と、よりハイレベルのファンクショナル・ブロックをコ
ンポーズし、ファンクショナル・ブロックがビルディン
グ・ブロック(メモリ、メガ・セル、メガ・ファンクシ
ョン等)と接するとき、ビルディング・ブロックによっ
て課されるタイミング/エリア・コンストレイント70
2に従ってファンクショナル・ユニット(及び全て又は
一部のそのよリローレベルのユニット)を最適化するこ
と、及び全てのファンクショナル・ユニットが構造上の
デスクリプション704に統合されるまで、これらのス
テップを繰り返すこと、を行う。よって生じる構造上の
デスクリプション708は、デザイン・コンパイラに対
する(タイミング/エリア・コンストレイントの)構造
上のデスクリプション708としてバック・アノート7
06される。図示のループにおいて、
【0088】─より大きなファンクションナル・ブロッ
クのために、フロア・プラナ710が配置とより正確な
ワイヤ・ディレイの予測710のために使用されてお
り、この情報により、フロア・プラナから提供される一
層正確なブロック・サイズを使用してよりローレベルの
ファンクションナル・ユニットの内部のワイヤ・ディレ
イを再見積もりし、斯るディレイをデザイン・コンパイ
ラにバック・アノテートして一層有為的な内部タイミン
グの最適化を図り、及び/又はブロック間バスとワイヤ
のワイヤ・ディレイを使用してタイミング最適化のため
に適宜な境界コンストレイントを導く、即ち、コンスト
レイントを構築してブロック間ディレイを明確にする。
【0089】─I/Oバッファのタイミング・ディレイ
とドライブ能力をタイミング・コンストレイントに結び
つける(I/Oバッファはデザイン・サイクルにおいて
可能な限り早期に選択する)。
【0090】図8 図8はデザイン・フレームワークの全体図であり、一連
のツールを例示する。その多くは市販されており(単品
として)、それからこの発明の方法をインプルメントす
ることができる。ここで重要なことは、この発明に係る
方法は、図示の如き多くのディスクリートなソフトウエ
ア・ツールを使用しており、ビヘイビア上の統合の点で
機能性を極めて向上させている。それは、これらのツー
ルを単に組み合わせただけでは得られないものである。
【0091】デザイン・フレームワーク(「コー・デザ
イン・エンバイロメント(CDE)800」と称する)
は、オン・ライン・デザイン・ツールとオフ・ライン・
デザイン・ツールの2つのセクションに分けられる。オ
ン・ライン・デザイン・ツールはプログラムであり、こ
れはデザイン・プロセスにおいてユーザが直接に又は間
接に利用する。また、これは比較的汎用化されていて種
々のデザイン対象を扱う。オフ・ライン・デザイン・ツ
ールはプログラムであって、それはデザイン・コンパイ
ラのために種々のビルディング・ブロックのライブラリ
とモデルを作る。これは極めてユーザ仕様的である。
【0092】オン・ライン・ツールの最初のグループ8
02(「CDE/SY」で示す)はデザイン・フレーム
ワークの動的部分を構成しており、以下を含む。
【0093】デザイン・コンパイラ・インターフェース
804(2個所に示す)は、MDEとデザイン・コンパ
イラ604間のデータ・フローと相互作用を制御する。
これはユーザが一つの環境から他の環境へのデザイン・
プロセスに従うことを可能とし、またスクリプト・シェ
ルとコマンド・ラインを介してMDEプログラムと共働
する。デザイン・コンパイラとの共働は、dcシェル・
スクリプトとコンストレイント・ファイルを介して行わ
れる。
【0094】グラフィック・ユーザ・インターフェース
(グラフィックUI)806は、ユーザとCDEとの相
互作用を、設計者の介入が不要なデザイン・フローのス
テップを抽象化し、シンセシス・フレームワークで概説
された様に種々のデザイン・プロセスで設計者を案内し
つつ手助けし、設計者が最適化のためにコンストレイン
ト・ファイルをコンポーズする手助けをする。
【0095】ブロック・レベル・ディレイ・エスティメ
ータ808は、オプティマイゼーション・ツールにワイ
ヤ・ディレイを供給し、またオプィマイザがブロックの
内部や周囲にバッファを設けて補償する、乃至はデザイ
ン全体に高電圧ゲートを使用する様にさせる。これは特
に小さいファンクションナル・ブロックに適している。
ブロック・レベル・ディレイ・エスティメータを使用す
ることの利点は、デザイン・プロセスで配置やレイアウ
トを予め設定するステージにおいて、シンセシス・ツー
ルもアナリシス・ツールも共にワイヤ・ディレイがファ
ン・アウトのみの機能と考えて良い点である。これはア
ナリシスのためには良い見積もりであるが、最適化プロ
セスにおいて何等かの予期しない副作用を生じる。一般
に本発明の方法においては、最適化は2,3000個の
ゲートからなるファンクションナル・ブロックで行われ
るが、より大きなダイ・サイズのブロックに合わせてワ
イヤ・ディレイ・アルゴリズム(ファン・アウトに基づ
く)を決めても良い。この故に、ブロック・レベル・エ
スティメータはシステムで操作されているブロック・サ
イズについてワイヤ・ディレイを一層現実的に見積も
り、デザイン・コンパイラで使用されるべきテーブル
(ワイヤ・ローディング)を適切に提供する。
【0096】メモリ・モデラ810は、MemComp
(図6の602参照)によって作られるメモリ・ブロッ
クのネット・リストを読み、デザイン・コンパイラで使
用されるべきタイミング・モデル(SLLで)を生じ
る。その目的は、デザイン・コンパイラにメモリ・ブロ
ックに関する正確なタイミング情報を提供するためであ
る。メモリI/Oのドライブ能力、容量負荷、及びセッ
トアップとホールド・タイムは周囲のロジックのために
何等かのコンストレイントを自動的に定義するので、こ
れは最適化プロセスに役立つ。
【0097】ディレイ・バック・アノテータ(DBA)
812はフロア・プラニング段階の後に作業を行い、最
適化データベースに一層正確なワイヤ・ディレイを送
る。ディレイ・バック・アノテータは2つの異なった目
的のために使用される。それは、1)最後の(最も有効
な)ディレイ値を使用して再度最適化されつつあるブロ
ックのためにワイヤ・ディレイをバック・アノテートす
ること、及び2)最適化されてデザイン・コンストレイ
ントを受けつつあるブロックのためにワイヤ・ディレイ
をバック・アノテートし、よってブロックの正確なモデ
リングのために最近のディレイ値を提供して周囲のブロ
ックが一層最適化される様にすることである。
【0098】VHDLアナライザ814はソース・コー
ド(VHDL)・デバッギングを提供し、VHDLデス
クリプションの検証を手助けする。VHDLアナライザ
は図10,11で再び触れる。
【0099】VHDLプレ・シンセシス・パーティショ
ナ816は、ビヘイビア上のデスクリプション(VHD
Lコード)をモデュールとサブ・モデュールのRTL上
のデスクリプションに仕切る。仕切るとき、適切なアー
キテクチュア上の決定は、タイム/エリア・アナリシス
に準拠する。
【0100】CDEのオフ・ライン部は、SLL(Sy
nopsis Library Language)か
SDB(Synopsis Data Base)かの
フォーマットであるライブラリ818の集合である。S
LLはセルやモデュールのモデリングのための専用の言
語であり、シンセシスとタイミング(スタティック)・
アナリシスに最適である。SDB(エルエスアイ・ロジ
ック・コーポレーションから入手可能)はデザイン・コ
ンパイラのデータベースであり、ブール表現、真理表及
びネット・リストを含む、多くのフォーマットでのデザ
イン・デスクリプションを含む。
【0101】マクロ・セル・モデル・ジェネレータ82
0は、MDEライブラリからマクロ・セルの構造上のデ
スクリプションを読み、SLLで適宜なモデルを作る。
連続的なセルのビヘイビアはモデル・ジェネレータでモ
デル化され、続いてデザイン・コンパイラで操作され
る。
【0102】I/Oバッファ・モデル・ジェネレータ8
22は、CDE環境での通例のマクロ・セルの様にモデ
ル化されたI/Oバッファについてタイミングとドライ
ブ能力情報を提供する。そこから派生するデータは、チ
ップ内でロジックを最適化するのに使用される。オプテ
ィマイザ(デザイン・コンパイラ604)は、I/Oバ
ッファを操作する様には期待されていない。このモデル
・ジェネレータはコンフィギュレーション・バッファを
操作することができる。該バッファは「n」セルとして
モデル化されており、ここで「n」はそのバッファの可
能な限りのコンフィギュレーションの数を示す。
【0103】メガ・セル・モデル・ジェネレータ824
は、CDEのオン・ライン部分におけるメモリ・モデラ
と類似しており、その目的も一般的に同様である。しか
し、メガ・セルは静的であって一つのデザインから他の
デザインに変化しないので、このモデリングは、シンセ
シス・メガ・セル・ライブラリを予め作る様に行われ
る。
【0104】メガ・ファンクション・サポート826
は、メガ・ファンクションに関するタイミング情報をデ
ザイン・コンパイラに提供する。メガ・ファンクション
のドライブ能力、容量負荷及びパス・ディレイは周囲の
ロジックに何等かのコンストレイントを定義するので、
これは最適化プロセスを手助けする。メガ・ファンクシ
ョンは、ユーザの観点からは本質的に「ブラック・ボッ
クス」である。従って、デザイン・コンパイラは、ユー
ザがメガ・ファンクションを見たり、変更したりしない
様に構成される。
【0105】デザイン・コンパイラの種々の機能はブロ
ック604に示されており、VHDLシミュレータ(前
述のビヘイビアと構造の検証のための)は符号828で
示される。
【0106】エルエスアイ・ロジック社のモデュラ・デ
ザイン・エンバイロメント830で市販される種々のツ
ール(ChipSizer,MemComp,LCM
P,LLINK,LVER,LDEL,LCAP,LS
IM,LBOND及びLPACE)が図示される。一般
的に、これらのツールは、チップ(構造上の)レベルで
デジタル・ロジックをコンパイルし、リンクし、シミュ
レートし、検証する一連のプログラムからなる。市販の
他のこのレベルのプログラムを使用して類似する機能を
行わせることもできよう。
【0107】図9 図9は、本発明が属する技術分野の当業者が本方法をイ
ンプルメントできる程に本発明に係る方法の一般構成を
開示する。
【0108】コンセプトのレベルで、目標装置のビヘイ
ビアに関するデスクリプション902が、VHDL言語
の様なハイレベルの言語でフォーミュレートされる。ビ
ヘイビア上の、即ちビヘイビアに関するデスクリプショ
ンはコンパイルされ、テスト・ベクタ906を使用して
しミュレート904され、デザイン・デスクリプション
が検証される。ビヘイビアが検証されたデザインは上記
の如く、908で適宜なアーキテクチュアのブロックに
仕切られる。仕切りは、クリティカル・サイズ(エリ
ア)・コンストレイント(即ち、フロア・プラニング)
とクリティカル・タイミング(スピード)情報(即ち、
バック・アノテーション)を組み入れつつ、目標装置の
物理的なインプルメンテーションにリンクさせることに
なる。
【0109】構造レベルで、仕切られたデザインはロジ
ック・シンセシス・ツール912に供給され、構造化さ
れた及び構造化されていないロジック(ファンクショナ
ル・ロジック)は共にフォーミュレートされる。ファン
クショナル・ブロックに関する追加情報は、ライブラリ
914から導かれる。重要な点は、パーティショナ90
8を介して導入されたタイミング/エリア・コンストレ
イントは、ロジック・シンセシス段階では埋められてい
る点である。ロジック・シンセシス912の出力は、V
HDL言語の様な形態の、目標装置のネット・リストで
あり、それは、テスト・ベクトル906とライブラリ9
14に含まれるブロックに関する再定義された情報を用
いて、918(914)でコンパイルされ、リ・シミュ
レートされる。必要に応じて更新されたタイミング/エ
リア・コンストレイントがパーティショナ908を介し
て返送され、目標装置は912で再統合されて所望の目
標に合致させられる。このプロセスを繰り返すことによ
り、目標装置のビヘイビア上と構造上とのデスクリプシ
ョンは十分に調整され、デザイン基準に合致及び/又は
それを修正する。
【0110】コンセプト上(ビヘイビア上)と構造上の
レベルで、目標装置のデザインは、技術的(シリコン)
に独立である。
【0111】妥当で検証されたネット・リストが記述さ
れると、目標装置の構造上のデスクリプションは、エル
エスアイ・ロジック社のMDEの様な適宜なシリコン・
コンパイラ(物理的なインプルメンテーション・システ
ム)920に供給され、ワーキング装置922を作る。
この段階において、必要となるツールは、技術(シリコ
ン)的に従属する。
【0112】図1011 図10と11は、ハイレベルのハードウェア・デスクリ
プション(HDL)でハードウェア・デスクリプション
をシミュレートするための、階層的な知識ベース・アプ
ローチを図示する。このアプローチにおいて、知識ベー
スはハードウェア・デスクリプションの各ファンクショ
ナル・ブロックに対応して構成される。デスクリプショ
ンにおける種々のブロック群間の階層関係は、それらブ
ロック群に対応する知識ベースにマッピングされる。斯
く形成された階層的な知識ベースは、ハードウェア・デ
スクリプションをシミュレートするのに使用される。H
DLで記述されたデジタル回路(装置)のシミュレーシ
ョンと検証への従来のアプローチと異なり、中間的な翻
訳ステップを必要としない。
【0113】従来、人工知能技術が、徹底的なロジック
・シミュレーション問題にアドレスするために、デジタ
ル・ハードウェアのフォーマルとハイブリッドのシミュ
レーションで使用されてきた。一つのアプローチにおい
て、デザインの構造上とビヘイビア上のデスクリプショ
ンは、最初にPrologの1次節に翻訳される。Pr
ologデータべースに主張されたこの1連の節は、
「フラットな」知識ベースと言える。デザインにおける
階層性は、知識ベースにおけるこの主張の間の適切な関
係により暗示的に補強される。定理解明器が続いて使用
され、構造上の仕様とビヘイビア上のデスクリプション
間の同等性を設定し、知識ベースで示されるようにデザ
インを方式的に検証する。このアプローチは、デザイン
のHDLデスクリプションを1次節に翻訳して、複雑で
階層的なシステムにとって扱うのが困難な大きな知識ベ
ースを保持する点で不利益である。別のアプローチで
は、ハイブリッド・シミュレーションが、デジタル・デ
ザインを検証するのに使用される。そのデザインは、P
rologの如き1次節言語におけるファンクショナル
・モデュール群の相互関係として記述される。そのデザ
インは、ローストレベルがブール・ゲートであるよう
な階層であろう。それは続いて、数値的及び記号的な入
力信号値でシミュレートされる。再説すると、これは複
雑な階層的なデザインにとって大きなPrologデス
クリプションを維持しなければならない欠点がある。
【0114】この発明に係る方法は、中間的な翻訳ステ
ップを経ず、デザインのPrologデスクリプション
を保持せずに済む点で従来のアプローチとは異なる。本
方法の場合には一般的に3つのステップがある。
【0115】─分析。そこで入力デスクリプションはシ
ンタクティックとセマンテイックの正確さについて分析
され、パース・ツリーが形成される。パース・ツリーに
おける各ノードは、セマンティック・ルールと関係づけ
られる。
【0116】─階層的な知識ベースの構築。そこでパー
ス・ツリーのノードと関係づけられたセマンティック・
ルールは、デスクリプションの各ブロックの知識ベース
を構築するのに使用され、知識ベース間の階層的な関係
がセマンティック・ルールから導かれる。知識ベースは
簡単な主張と、ソース・デスクリプションに存在する機
能と手続きを計算する方法を含む。これはまた他のデザ
イン・ツールの基礎となる。
【0117】─シミュレーション。そこで知識ベースに
含まれるこれらの簡単な主張と計算方法を使用し、出力
信号値が所定の組からなる入力信号値のために算出され
る。入力スティムラスは、記号表現でも数値でも良い。
【0118】図10は、デザイン・デスクリプションの
シミュレート時のステップを示す。
【0119】1002のフォーマルでハイレベルで書か
れたデザイン・デスクリプションでスタートした後、デ
スクリプションは1004で、デフィニット・クローズ
・トランスレーション・グラマ(DCTG)等を用いて
分析(パース)され、1006でパース・ツリーを形成
する。パース・ツリーで、セマンティック・ルールは、
各ノードに付けられる。フォーマル(ハイレベル)言語
用の各シンタクティック・ルールは、セマンティック・
ルールの1つ又はそれ以上と関係づけられる。2つのセ
マンティック・ルールが各シンタクティック・ルールに
関係づけられ、セマンティック・ルールの1つがデスク
リプションのセマンティック・デスクリプションを検証
するのに使用され、他のセマンティック・ルールがデス
クリプションをシミュレートするのに使用されるのが、
望ましい。各ルールは、セマンティック部とシンタクテ
ィック部を備える。セマンティック部は2つの特性を備
えており、即ち、「チェック・セマンティック」と「エ
グセキュート」を備える。セマンティック・ルールは、
これらの特性がどの様に計算され検証されるかを定め
る。この手法を使用することにより、中間的な翻訳ステ
ップを経由してデスクリプションを分析、処理する必要
がなくなる。と言うよりも、分析、処理のこの方法は、
言語のシンタクティック・ルールに関して特徴づけられ
る。
【0120】所定のデスクリプションをパースした後、
斯く形成されたパース・ツリー中の各ノードは、言語の
DCTGルールで特定される様に、特性と関係づけられ
る。。ノードに付けられた特性の計算は、ノードと関係
づけられたサブ・ツリーを繰り返し横断することとなろ
う。セマンティック分析については、1つのセマンティ
ック特性が、言語の何等かのセマンティックが違反して
いないか否かを検証し、肯定されるときエラー・メッセ
ージを発生する。違反は、同一範囲内でのオブジェクト
の再定義、及び手続きについての不正確なアーギュメン
ト・タイプを含む。正確なデスクリプションのみが、階
層知識ベース1008に送られる。この様に、デスクリ
プションの分析は、それがHDLデスクリプションのシ
ンタクスとセマンティックに合致していることを保証
し、有効な階層知識ベースを構築することを可能とす
る。
【0121】デザイン・デスクリプションでの階層は、
2種となろう。1つは構造上のデザイン・デスクリプシ
ョンによって課され、そこでデザイン・エンティティ
(コンポーネント、プロセス、ファンクション、アーキ
テクチュア、コンフィギュレーション)は、幾つかの他
のデザイン・エンティティからなる。2つ目は、言語の
スコープと視覚ルールに関する。知識ベース1008
が、即ち、入力HDLデスクリプションのシンタクスと
セマンティックの分析の後、デザイン・テンティティ毎
に1つの知識ベースが形成される。各知識ベースは一連
のユニット節を備え、それは静的宣言、信号のデフォル
ト値及びデザイン・エンティティに対応するシミュレー
ションに必要な変数とデータの構造の全てに対応する。
HDLのDCTGルールを使用してデザイン・デスクリ
プションを分析することで、知識ベース間の階層関係は
自動的に導かれる。これは、ハードウェア・デザイン・
デスクリプションにおける階層の直接的なマッピングに
等しい。階層知識ベースの必要性は、分析されつつある
フォーマル言語のスコープと視覚ルールに因っても生じ
る。スコープと視覚ルールはまたデザイン・エンティテ
ィ知識ベース間の関係を決定するのにも使用される。階
層知識ベース1008は、デザインの適宜なモデルから
構成される。シンセシス及びパーティション・ツール
(既述)の様な他のデザイン・ツールも、デザイン情報
を抽出するのに知識ベースを使用する。
【0122】従来、フォーマル言語のスコープと視覚ル
ールのために、翻訳とコンパイル時の双方において、全
てのアイデンティファイアは特有の名称を付されてい
た。しかし、シミュレーションの場合には、デスクリプ
ションが直接的に実行されつつあるとき、この手法は有
益ではない。
【0123】知識ベースに含まれるデスクリプション
は、ハードウェア・デザインの抽象化の異なるレベル、
即ち、ビヘイビア上の、RTL及びゲート・レベル上の
デスクリプションを含む。シミュレーションは、ドライ
バにトランザクションを生じるための機能、手続き及び
プロセスの全ての実行を含む。ドライバは、信号割り当
てステートメントに現れ、トランザクション(各トラン
ザクションは値/時間ぺアである)の連続で示される全
ての信号と関係づけられる。幾つかのトランザションを
生じ、或るコンストレイントに従ってそれらに命令し、
所定の時間にスケジューリングすることは、シミュレー
ションのキーである。シミュレーションのための入力テ
スト・ベクトルは、入力信号が現れるデザイン・エンテ
ィティに対応して知識ベースで主張される。テスト・ベ
クトルは記号表現か数値となる。DCTGルールは、知
識ベースに格納されているシミュレーション・データ構
造に再び適用され、第2のセマンティック特性(「実
行」)が計算される。この一連のセマンティック・ルー
ルが、シミュレーション・エンジンを構成する。それ
は、算術的表現、ブール表現、記号表現、時間表現から
なる値の計算、シーケンシャル及びコンカレントなステ
ートメントの実行、及びトランザクションの発生を含
む。計算は、階層関係に関して言語のシミュレーション
・セマンティックスにより指示される。全てのドライバ
にトランザクションを発生した後、トランザクションは
時間、同期性及び同時性に関して指示される。シミュレ
ーション時間が進むと、ドライバは関連する信号の値を
更新する。これは信号にエベントを生じさせ、そのエベ
ントは「ウェイク・アップ」させる或るプロセスを生じ
させると共に、更なるエベントを生じさせる。次のステ
ップは、信号のエベントをスケジュールすることであ
る。これはスケジューラで扱われ、それはエベント順序
を判断し、スケジュールされたエベントの時間、信号及
び値に関連したユニット節を発生する。最後のステップ
は、適当な時間で信号に値を割り当てることである。
【0124】ソース・デスクリプション内の多重信号割
り当てに起因して複数のドライバが存在することが起こ
り得る。同一の信号には、複数ドライバは同一時間に値
を割り当てようとするかも知れない。斯る場合、その値
は該信号に付されているリゾリューション機能によって
解明され、解明された値は信号に割り当てられる。これ
はユニット節に導くことなり、それは1010のシミュ
レーション結果で、デザイン・デスクリプションにある
全ての信号の最終解明値を付与する。
【0125】図11は前述の、構造化された知識ベース
の中の目的間の適正な関係を定義するための、ビヘイビ
ア的に特定されたデザインの適正な構造表示に集約する
ための、及び適正な構造表示に導くVHDLコードの
「良好な」形式を補強するための、ルールのタイプ群の
全体図である。
【0126】Prologは、開示された方法をインプ
ルメントするのに有益なツールを提供する。DCTGの
様なPrologの文法はセマンティック・ルールをハ
ードウェア・デスクリプション言語(例えばVHDL)
のシンタクティック・ルールに関連づけるのに有益であ
り、Prologの推論エンジンは、知識ベース中の異
なるエンティティ間の相互関係を直截的に導出させる。
【0127】前記の階層的な知識ベースは、大規模なハ
ードウェア・デザインの階層的な性質を維持するのを手
助けし、中間的な翻訳ステップを経ることなく、大規模
なハードウェア・デスクリプションが直接シミュレート
されることを可能とする。知識ベースは、前記の如き他
のツールでも使用することができる。
【0128】図13から図15は、本願に係る方法を、
ユーザに提供するのと同様に、スクリーン・ディスプレ
イ上に例示的に示したものである。図13のディスプレ
イを主として説明する。
【0129】図13のディスプレイの左下の「ウィンド
ウ」には、ユーザにより作られるカウンタのVHDLデ
スクリプション(「while × < a loo
p..」)が表示される。ユーザは続いてハイレベルで
コードをシミュレートし、オペランド(「変数」)を与
えて、デスクリプションが正しいか否か確認する。
【0130】システムは続いて、演算の順序及びカウン
タを実現するのに要求されるファンクションナル・ブロ
ックのパラレルな又はシリアルなコンフィギュレーショ
ンに関連して、「データ・フロー」を生じ、グラフィッ
クか及び/又はテキスト表現かでユーザに結果を表示す
る。この例において、7つのデザイン例が左上のウィン
ドウ(「Design:〔〔1〕...〕」)にディス
プレイされている。これらのデザイン例でユーザが選択
したものは、右上ウィンドウ(円とブロックを結んでい
るもの)にディスプレイされる。右下ウィンドウはデザ
インをインプルメントするのに必要であろうような見積
もりエリアをディスプレイしており、これは技術に依存
するものである。また左上ウィンドウにディスプレイさ
れているのは、デザイン例により適宜選択されるファン
クションナル・ユニット(レジスタ、マルチプレクサ)
の見積もりである。これは全てデザイン・スペースを探
すのに関連しており、ユーザが「...したらどうなる
だろう」分析を行って、サイズ、スピード、パフォーマ
ンス、テクノロジィ及びパワー等の点からデザインを決
定するのを手助けする。(図15の左上ウィンドウは
「81」「111」等と名付けられた特定のファンクシ
ョンナル・ブロックのサイズ見積もりを示す。)上記の
全ては統合の前に行われ、ユーザがアーキテクチュア・
レベルの相互作用によって適宜決定してデザインを変更
するのを可能にする。
【0131】仕切りにより、正確な時間見積もりが前記
の如く導かれる(スクリーン・ディスプレイには図示せ
ず)。
【0132】複雑なデジタル・システムのインプルメン
テーションについて本発明の方法を述べてきたが、本方
法は要約すると以下からなる。
【0133】a)インプルメンテーションが望まれてい
るデジタル・ハードウェアのスペシフィケーションとデ
スクリプションのセマンティックを捕捉するメカニズ
ム。
【0134】b)十分に標準化されたセマンティックを
備えた、VHDL(又はVHDL中間フォーマット)の
様なスペシフィケーション言語で具現化されたハードウ
ェア・デスクリプション。
【0135】c)前述のb)のセマンティックの方式的
な捕捉のための、ExtendedDefinte C
lause Grammner(EDCG)やProl
ogの如き、適当なソフトウエア言語の利用。
【0136】d)前述のa)b)に記載されたハードウ
ェアのセマンティックとビヘイビアの直接的な実行。
【0137】e)翻訳ステップを設けることなく、例え
ばPrologとその述部ロジック・フォーマリズム
(デジタル・ハードウェアの知識表現は述部ロジック、
EDCG,Prolog及びVHDL言語のセマンティ
ック・デスクリプションによって達成される)を用いて
a)のデスクリプションに含まれる意図の実行。
【0138】f)ハードウェア資源(サイズ)、スピー
ド及びパワーを見積もって取捨選択表示のためにハード
ウェア・ファンクションナル・ブロックの最適化された
バージョンを作り、デザイン表示の1つのレベルを他の
それとマッピングするためのシステム・レベル・パーテ
ィショニング。
【0139】g)パーティションされたハードウェアの
種々のレベルの間の同型化(セマンティックス、ストラ
クチュア、ビヘイビア、ロジック及びファンクションを
超えての)
【0140】h)a)からf)中のセマンティックと意
図からローレベルの構造上のロジック・デスクリプショ
ンへの直接的なハードウェアの統合。
【0141】i)a)からg)までのタイミング目標を
閉塞する方法。
【0142】j)a),d),e)及びf)中の知識の
ディスプレイ方法。
【0143】この発明が属する技術分野の当業者は上記
から容易にこの発明のインプルメンテーションを行うこ
とができよう。上記実施例は、デザインされつつある装
置のRTLデスクリプションから構造上の表現と物理的
なインプルメンテーションを導くために、例示的は公知
のロジック・シンセシス・ツールを用いて述べたもので
ある。
【0144】
【発明の効果】この発明は上記の如く構成したので、ハ
イレベルのセマンティック・スペシフィケーションから
実行可能な回路又は装置のローレベルの構造上のデスク
リプションを、所期の意図を失うことなく、容易に生成
することができる。
【図面の簡単な説明】
【図1】図1はこの発明に係る方法で使用するASIC
チップを概略的に示す説明図である。
【図2】図2はこの発明に係る方法をビヘイビアについ
ての機能的検証ステップを含んで示す説明ブロック図で
ある。
【図3】図3はこの発明に係る方法を構造についての機
能的検証ステップを含んで示す説明ブロック図である。
【図4】図4はこの発明に係る方法を最適化ステップを
含んで示す説明ブロック図である。
【図5】図5はこの発明に係る方法をグローバル・コン
ストレイントを導入するステップを含んで示す説明ブロ
ック図である。
【図6】図6はこの発明に係る方法のシンセシスとオプ
ティマイゼーション・ツールの用例等を示す説明ブロッ
ク図である。
【図7】図7はこの発明に係る方法のシンセシス・デザ
イン・フレームワークを示す説明ブロック図である。
【図8】図8はこの発明に係る方法のインプルメンテー
ション用の一連のソフトウエア・ツールを示す説明ブロ
ック図である。
【図9】図9はこの発明に係る方法を全体的に示す説明
ブロック図である。
【図10】図10はこの発明に係る方法の中のアナライ
ザ部分を示す説明ブロック図である。
【図11】図11はそのアナライザを示す説明ブロック
図である。
【図12】図12は一般的なロジック・シンセシスを図
式的に示す説明図である。
【図13】 この発明に係る方法をユーザに提供されるよ
うにスクリーン・ディスプレイ上に例示的に示した説明
図である。
【図14】 図13と同様に、この発明に係る方法をユー
ザに提供されるようにスクリーン・ディスプレイ上に例
示的に示した説明図である。
【図15】 図13と同様に、この発明に係る方法をユー
ザに提供されるようにスクリーン・ディスプレイ上に例
示的に示した説明図である。
フロントページの続き (72)発明者 ビジェイ クマル ナガサミー アメリカ合衆国、カリフォルニア州 94043、マウンテン ビュー、イージー ストリート 302 (72)発明者 アーサン ブーテサズ アメリカ合衆国、カリフォルニア州 95051、サンタ クララ、ペッパー ツ リー エルエヌ ナンバー 9205、900 (72)発明者 スリーランガ プラサンナクマル ラジ ャン アメリカ合衆国、カリフォルニア州 94086、サニーベイル、アスター アヴ ェニュー ナンバー 2259、1035 (56)参考文献 特開 昭64−86276(JP,A) 特開 昭62−229964(JP,A) 特開 平1−235249(JP,A) 特開 昭63−132347(JP,A) 欧州特許出願公開294188(EP,A 2) ERICH MARSCHNER," A VHDL design envi ronment”,VLSI Syst ems Design,昭和63年9月, 第9巻,第9号,p.40−41,44−45, 48−49 (58)調査した分野(Int.Cl.7,DB名) G06F 17/50

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】よりハイレベルのビヘイビア指向のデスク
    リプションから回路又は装置の構造上のデスクリプショ
    ンを生成する方法であって、 ハイレベルでビヘイビア指向の言語におけるハイレベル
    のタイミング目標を含む、或る回路又は装置の所望のビ
    ヘイビアについての或るデザインを特定し、前記 所望のビヘイビアが得られるまでビヘイビア上のレ
    ベルでシミュレーションを反復して前記デザインを変更
    し、前記 デザインを幾つかのアーキテクチュア上のブロック
    群に仕切り、 前記ハイレベルのタイミング目標に合致するようにデザ
    インを選択させ、 及び前記種々のブロック群をロジック・シンセシス・プ
    ログラムに送り、よって前記デザインのネット・リスト
    又はゲート・レベル・デスクリプションを定義する、 ことからなり、前記ゲート・レベル・デザイン・デスク
    リプションをシミュレートし、ゲート・レベル・シミュ
    レーション結果をビヘイビア上のシミュレーション結果
    と比較し、回路インプルメンテーションが所期のビヘイ
    ビアを有し、前記タイミング目標が達成されたことを確
    認することを特徴とする、よりハイレベルのビヘイビア
    指向のデスクリプションから回路又は装置の構造上のデ
    スクリプションを生成する方法。
  2. 【請求項2】高度に規則的な構造又は十分に理解される
    機能を備えたアーキテクチュア上のブロック群が、特定
    のロジック・シンセシス・プログラム(即ち、メモリ又
    はファンクション・コンパイラ)に送られること、及び
    ランダム又は構造化されていないロジックを備えたアー
    キテクチュア上のブロック群が、より一般的なロジック
    ・シンセシス・プログラムに送られることを特徴とする
    請求項1項記載の方法。
  3. 【請求項3】更に、前記デザインをバック・アノテート
    して他の、容量負荷等の物理的なデザイン・リミテーシ
    ョンが超えないように確認することを特徴とする請求項
    1項記載の方法。
  4. 【請求項4】前記デザインのネット・リスト又はゲート
    ・レベル・デスクリプションを或るシステムに入力して
    前記デザインの物理的なインプルメンテーションを生成
    することを特徴とする請求項項記載の方法。
  5. 【請求項5】更に、前記デザインのビヘイビア上とネッ
    ト・リストのデスクリプションの間に、前記デザインを
    レジスタ・トランスファ・レベルで記述する中間ステッ
    プを介挿することを特徴とする請求項項記載の方法。
  6. 【請求項6】ビヘイビア上のデスクリプション中の前記
    意図と意味が、前記ネット・リスト又はゲート・レベル
    のデスクリプションに保存されることを特徴とする請求
    項1項記載の方法。
  7. 【請求項7】更に、前記パーティション・ステップにお
    いて、公知のチップ・フロアプラン・パラメータから抽
    出したハイレベル・タイミング情報を供給して前記デザ
    インにハイレベル・タイミング目標に合致する有益なア
    ーキテクチュアを選択させ、よって前記プロセスを特定
    の物理的な実現例に集約させることを特徴とする請求項
    1項記載の方法。
  8. 【請求項8】更に、フロアプラン・パラメータからタイ
    ミング・データを抽出し、及び前記データを前記ハイレ
    ベルのビヘイビア上のデスクリプションのI/Oポート
    に接続することを特徴とする請求項項記載の方法。
  9. 【請求項9】前記装置のハイレベルのビヘイビア上のデ
    スクリプションが、VHDL言語で示されることを特徴
    とする請求項1項記載の方法。
  10. 【請求項10】更に、1つ又はそれ以上のセマンティッ
    ク・ルールを前記ビヘイビア上のデスクリプションを基
    礎づけるシンタクティック・ルールのそれぞれに結びつ
    けることによって前記装置のビヘイビア上のデスクリプ
    ションをインタープリートすることを特徴とする請求項
    1項記載の方法。
  11. 【請求項11】前記インタープリートが”シンタクス・
    アトリビュート・ツリー”を使用してなされることを特
    徴とする請求項1項記載の方法。
JP03101967A 1990-04-06 1991-04-06 よりハイレベルのビヘイビア指向のデスクリプションから回路又は装置の構造上のデスクリプションを生成する方法 Expired - Lifetime JP3118592B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/507,201 US5222030A (en) 1990-04-06 1990-04-06 Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic specifications and descriptions thereof
US07/507201 1990-04-06

Publications (2)

Publication Number Publication Date
JPH04288680A JPH04288680A (ja) 1992-10-13
JP3118592B2 true JP3118592B2 (ja) 2000-12-18

Family

ID=24017652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03101967A Expired - Lifetime JP3118592B2 (ja) 1990-04-06 1991-04-06 よりハイレベルのビヘイビア指向のデスクリプションから回路又は装置の構造上のデスクリプションを生成する方法

Country Status (4)

Country Link
US (3) US5222030A (ja)
EP (1) EP0463301A3 (ja)
JP (1) JP3118592B2 (ja)
KR (1) KR100186869B1 (ja)

Families Citing this family (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377123A (en) * 1992-06-08 1994-12-27 Hyman; Edward Programmable logic device
US5572708A (en) * 1989-02-28 1996-11-05 Nec Corporation Hardware simulator capable of dealing with a description of a functional level
US5544066A (en) * 1990-04-06 1996-08-06 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of low-level design constraints
US5553002A (en) * 1990-04-06 1996-09-03 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, using milestone matrix incorporated into user-interface
US5222030A (en) * 1990-04-06 1993-06-22 Lsi Logic Corporation Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic specifications and descriptions thereof
US5572436A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design
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
US5541849A (en) * 1990-04-06 1996-07-30 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of timing parameters
US5870308A (en) * 1990-04-06 1999-02-09 Lsi Logic Corporation Method and system for creating and validating low-level description of electronic design
US5572437A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
US5867399A (en) * 1990-04-06 1999-02-02 Lsi Logic Corporation System and method for creating and validating structural description of electronic system from higher-level and behavior-oriented description
US5598344A (en) * 1990-04-06 1997-01-28 Lsi Logic Corporation Method and system for creating, validating, and scaling structural description of electronic device
US5623418A (en) * 1990-04-06 1997-04-22 Lsi Logic Corporation System and method for creating and validating structural description of electronic system
US5544067A (en) * 1990-04-06 1996-08-06 Lsi Logic Corporation Method and system for creating, deriving and validating structural description of electronic system from higher level, behavior-oriented description, including interactive schematic design and simulation
JPH04216175A (ja) * 1990-12-17 1992-08-06 Mitsubishi Electric Corp 半導体集積回路のモジュールセル生成装置
US5680318A (en) * 1990-12-21 1997-10-21 Synopsys Inc. Synthesizer for generating a logic network using a hardware independent description
US5471398A (en) * 1991-07-01 1995-11-28 Texas Instruments Incorporated MTOL software tool for converting an RTL behavioral model into layout information comprising bounding boxes and an associated interconnect netlist
JP2760682B2 (ja) * 1991-09-30 1998-06-04 株式会社東芝 ハードウェアの設計支援システム
US5491640A (en) * 1992-05-01 1996-02-13 Vlsi Technology, Inc. Method and apparatus for synthesizing datapaths for integrated circuit design and fabrication
US5526517A (en) * 1992-05-15 1996-06-11 Lsi Logic Corporation Concurrently operating design tools in an electronic computer aided design system
US5692233A (en) * 1992-05-28 1997-11-25 Financial Engineering Associates, Inc. Integrated system and method for analyzing derivative securities
DE69325770T2 (de) * 1992-06-02 1999-11-18 Hewlett-Packard Co., Palo Alto Verfahren zum rechnergestützten entwurf für mehrschichtverbindungen-technologien
US5532934A (en) * 1992-07-17 1996-07-02 Lsi Logic Corporation Floorplanning technique using multi-partitioning based on a partition cost factor for non-square shaped partitions
DE4227809A1 (de) * 1992-08-21 1994-02-24 Siemens Ag Verfahren zur Erzeugung einer aus Schaltkreisen bestehenden Schaltung mit Hilfe eines Rechners
JP2739013B2 (ja) * 1992-09-01 1998-04-08 三菱電機株式会社 論理合成装置
US5671415A (en) * 1992-12-07 1997-09-23 The Dow Chemical Company System and method for facilitating software development
US5416719A (en) * 1992-12-17 1995-05-16 Vlsi Technology, Inc. Computerized generation of truth tables for sequential and combinatorial cells
WO1994015311A1 (en) * 1992-12-28 1994-07-07 Xilinx, Inc. Method for entering state flow diagrams using schematic editor programs
US5617327A (en) * 1993-07-30 1997-04-01 Xilinx, Inc. Method for entering state flow diagrams using schematic editor programs
US5455775A (en) * 1993-01-25 1995-10-03 International Business Machines Corporation Computer design system for mapping a logical hierarchy into a physical hierarchy
US5915115A (en) * 1993-02-11 1999-06-22 Talati; Kirit K. Control system and method for direct execution of software application information models without code generation
US5903470A (en) * 1993-02-17 1999-05-11 Matsushita Electric Industrial Co., Ltd. Method and apparatus for automatically designing logic circuit, and multiplier
US5956257A (en) * 1993-03-31 1999-09-21 Vlsi Technology, Inc. Automated optimization of hierarchical netlists
JP2500433B2 (ja) * 1993-04-07 1996-05-29 日本電気株式会社 論理回路の遅延時間検証装置
US5535223A (en) * 1993-05-28 1996-07-09 Sun Microsystems, Inc. Method and apparatus for the verification and testing of electrical circuits
US5581473A (en) * 1993-06-30 1996-12-03 Sun Microsystems, Inc. Method and apparatus for managing timing requirement specifications and confirmations and generating timing models and constraints for a VLSI circuit
US5487018A (en) * 1993-08-13 1996-01-23 Vlsi Technology, Inc. Electronic design automation apparatus and method utilizing a physical information database
US5461573A (en) * 1993-09-20 1995-10-24 Nec Usa, Inc. VLSI circuits designed for testability and methods for producing them
CA2126265A1 (en) * 1993-09-27 1995-03-28 Michael Robert Cantone System for synthesizing field programmable gate array implementations from high level circuit descriptions
US5548539A (en) * 1993-11-05 1996-08-20 Analogy, Inc. Analysis mechanism for system performance simulator
EP0654745A3 (en) * 1993-11-18 1997-03-05 At & T Corp Graphic display system for routing and distributing circuits during layout.
JP2758817B2 (ja) * 1993-12-13 1998-05-28 日本電気株式会社 論理回路実現性判定システム
US5517432A (en) * 1994-01-31 1996-05-14 Sony Corporation Of Japan Finite state machine transition analyzer
JP3182036B2 (ja) * 1994-02-16 2001-07-03 松下電器産業株式会社 論理合成方法及び論理合成装置
US6044211A (en) * 1994-03-14 2000-03-28 C.A.E. Plus, Inc. Method for graphically representing a digital device as a behavioral description with data and control flow elements, and for converting the behavioral description to a structural description
US5493508A (en) * 1994-06-01 1996-02-20 Lsi Logic Corporation Specification and design of complex digital systems
EP0685803B1 (en) 1994-06-03 2001-04-18 Hyundai Electronics America Method of producing an electrical device adapter
US5619621A (en) * 1994-07-15 1997-04-08 Storage Technology Corporation Diagnostic expert system for hierarchically decomposed knowledge domains
US5822214A (en) * 1994-11-02 1998-10-13 Lsi Logic Corporation CAD for hexagonal architecture
US5777360A (en) * 1994-11-02 1998-07-07 Lsi Logic Corporation Hexagonal field programmable gate array architecture
US5789770A (en) * 1994-11-02 1998-08-04 Lsi Logic Corporation Hexagonal architecture with triangular shaped cells
US5808330A (en) * 1994-11-02 1998-09-15 Lsi Logic Corporation Polydirectional non-orthoginal three layer interconnect architecture
US5973376A (en) * 1994-11-02 1999-10-26 Lsi Logic Corporation Architecture having diamond shaped or parallelogram shaped cells
US6097073A (en) * 1994-11-02 2000-08-01 Lsi Logic Corporation Triangular semiconductor or gate
US5742086A (en) * 1994-11-02 1998-04-21 Lsi Logic Corporation Hexagonal DRAM array
US5811863A (en) * 1994-11-02 1998-09-22 Lsi Logic Corporation Transistors having dynamically adjustable characteristics
US6407434B1 (en) 1994-11-02 2002-06-18 Lsi Logic Corporation Hexagonal architecture
US5872380A (en) * 1994-11-02 1999-02-16 Lsi Logic Corporation Hexagonal sense cell architecture
US5889329A (en) * 1994-11-02 1999-03-30 Lsi Logic Corporation Tri-directional interconnect architecture for SRAM
US5864165A (en) * 1994-11-02 1999-01-26 Lsi Logic Corporation Triangular semiconductor NAND gate
US5834821A (en) * 1994-11-02 1998-11-10 Lsi Logic Corporation Triangular semiconductor "AND" gate device
US5801422A (en) * 1994-11-02 1998-09-01 Lsi Logic Corporation Hexagonal SRAM architecture
US5689432A (en) * 1995-01-17 1997-11-18 Motorola, Inc. Integrated circuit design and manufacturing method and an apparatus for designing an integrated circuit in accordance with the method
US5619418A (en) * 1995-02-16 1997-04-08 Motorola, Inc. Logic gate size optimization process for an integrated circuit whereby circuit speed is improved while circuit area is optimized
US6345378B1 (en) * 1995-03-23 2002-02-05 Lsi Logic Corporation Synthesis shell generation and use in ASIC design
JP3351651B2 (ja) * 1995-04-07 2002-12-03 富士通株式会社 会話型回路設計装置
US5724504A (en) * 1995-06-01 1998-03-03 International Business Machines Corporation Method for measuring architectural test coverage for design verification and building conformal test
US6053948A (en) * 1995-06-07 2000-04-25 Synopsys, Inc. Method and apparatus using a memory model
US5727187A (en) * 1995-08-31 1998-03-10 Unisys Corporation Method of using logical names in post-synthesis electronic design automation systems
US5862361A (en) * 1995-09-07 1999-01-19 C.A.E. Plus, Inc. Sliced synchronous simulation engine for high speed simulation of integrated circuit behavior
US5809283A (en) * 1995-09-29 1998-09-15 Synopsys, Inc. Simulator for simulating systems including mixed triggers
US5784593A (en) * 1995-09-29 1998-07-21 Synopsys, Inc. Simulator including process levelization
US5867397A (en) * 1996-02-20 1999-02-02 John R. Koza Method and apparatus for automated design of complex structures using genetic programming
US5808896A (en) 1996-06-10 1998-09-15 Micron Technology, Inc. Method and system for creating a netlist allowing current measurement through a sub-circuit
US5901064A (en) * 1996-08-06 1999-05-04 Micron Technology, Inc. System and method for scoping global nets in a hierarchical netlist
US5875115A (en) * 1996-08-06 1999-02-23 Micron Technology, Inc. System and method for scoping global nets in a flat netlist
US6151568A (en) * 1996-09-13 2000-11-21 Sente, Inc. Power estimation software system
US6014510A (en) * 1996-11-27 2000-01-11 International Business Machines Corporation Method for performing timing analysis of a clock circuit
US6185723B1 (en) 1996-11-27 2001-02-06 International Business Machines Corporation Method for performing timing analysis of a clock-shaping circuit
US5930148A (en) * 1996-12-16 1999-07-27 International Business Machines Corporation Method and system for verifying a digital circuit design including dynamic circuit cells that utilize diverse circuit techniques
JPH10189746A (ja) * 1996-12-27 1998-07-21 Oki Electric Ind Co Ltd Lsi論理回路の配線レイアウト方法
US5946475A (en) * 1997-01-21 1999-08-31 International Business Machines Corporation Method for performing transistor-level static timing analysis of a logic circuit
US5883814A (en) * 1997-03-13 1999-03-16 International Business Machines Corporation System-on-chip layout compilation
WO1998045794A1 (de) * 1997-04-10 1998-10-15 Boethel Andreas Frank Verfahren zum entwurf komplexer, digitaler und integrierter schaltungen sowie schaltungsstruktur zur durchführung des verfahrens
US6152612A (en) * 1997-06-09 2000-11-28 Synopsys, Inc. System and method for system level and circuit level modeling and design simulation using C++
US6009249A (en) * 1997-06-13 1999-12-28 Micron Technology, Inc. Automated load determination for partitioned simulation
US6135647A (en) * 1997-10-23 2000-10-24 Lsi Logic Corporation System and method for representing a system level RTL design using HDL independent objects and translation to synthesizable RTL code
US6145117A (en) * 1998-01-30 2000-11-07 Tera Systems Incorporated Creating optimized physical implementations from high-level descriptions of electronic design using placement based information
US6099580A (en) * 1998-02-11 2000-08-08 Monterey Design Systems, Inc. Method for providing performance-driven logic optimization in an integrated circuit layout design
US6378123B1 (en) * 1998-02-20 2002-04-23 Lsi Logic Corporation Method of handling macro components in circuit design synthesis
US6421818B1 (en) * 1998-02-20 2002-07-16 Lsi Logic Corporation Efficient top-down characterization method
US6289498B1 (en) * 1998-02-20 2001-09-11 Lsi Logic Corporation VDHL/Verilog expertise and gate synthesis automation system
US6292931B1 (en) 1998-02-20 2001-09-18 Lsi Logic Corporation RTL analysis tool
US6836877B1 (en) * 1998-02-20 2004-12-28 Lsi Logic Corporation Automatic synthesis script generation for synopsys design compiler
US6321295B1 (en) * 1998-03-19 2001-11-20 Insilicon Corporation System and method for selective transfer of application data between storage devices of a computer system through utilization of dynamic memory allocation
US6185518B1 (en) * 1998-03-23 2001-02-06 Sun Microsystems, Inc. Method and system for logic design constraint generation
US8543372B1 (en) 1998-05-18 2013-09-24 Dennis S. Fernandez System design rights management
US6305006B1 (en) * 1998-05-18 2001-10-16 Mentor Graphics Corporation Generating candidate architectures for an architectural exploration based electronic design creation process
US6917909B1 (en) * 1998-05-18 2005-07-12 Lev A. Markov Facilitating guidance provision for an architectural exploration based design creation process
US6314552B1 (en) 1998-05-18 2001-11-06 Lev A. Markov Electronic design creation through architectural exploration
US6336087B2 (en) 1998-07-24 2002-01-01 Luc M. Burgun Method and apparatus for gate-level simulation of synthesized register transfer level design with source-level debugging
US6240376B1 (en) * 1998-07-24 2001-05-29 Mentor Graphics Corporation Method and apparatus for gate-level simulation of synthesized register transfer level designs with source-level debugging
EE200100189A (et) * 1998-09-30 2002-08-15 Cadence Design Systems, Inc. Plokkidel põhineva väljatöötamise metodoloogia
GB2348970B (en) * 1998-12-29 2003-10-22 Sgs Thomson Microelectronics Maintenance of a system model
EP1073951A1 (en) * 1999-02-15 2001-02-07 Koninklijke Philips Electronics N.V. Data processor with a configurable functional unit and method using such a data processor
US6577992B1 (en) 1999-05-07 2003-06-10 Nassda Corporation Transistor level circuit simulator using hierarchical data
US6519754B1 (en) * 1999-05-17 2003-02-11 Synplicity, Inc. Methods and apparatuses for designing integrated circuits
US6516453B1 (en) * 1999-05-26 2003-02-04 Get2Chip Method for timing analysis during automatic scheduling of operations in the high-level synthesis of digital systems
US6425109B1 (en) 1999-07-23 2002-07-23 International Business Machines Corporation High level automatic core configuration
US6993740B1 (en) * 2000-04-03 2006-01-31 International Business Machines Corporation Methods and arrangements for automatically interconnecting cores in systems-on-chip
EP1179790A1 (en) * 2000-08-08 2002-02-13 Stratus Research and Development Limited Electronic circuit design
JP3420195B2 (ja) * 2000-09-26 2003-06-23 エヌイーシーマイクロシステム株式会社 クロック配線の設計方法
JP3848255B2 (ja) * 2000-10-18 2006-11-22 株式会社アドバンテスト 電子デバイス設計支援装置、電子デバイス設計支援方法、電子デバイス製造方法、及びプログラム
US6557153B1 (en) * 2000-11-15 2003-04-29 Reshape, Inc. Method and system for implementing a user interface for performing physical design operations on an integrated circuit netlist
JP4015807B2 (ja) * 2000-11-28 2007-11-28 Necエレクトロニクス株式会社 タイミングドリブンレイアウト手法
US7302670B2 (en) * 2000-12-21 2007-11-27 Bryan Darrell Bowyer Interactive interface resource allocation in a behavioral synthesis tool
US6591399B1 (en) * 2000-12-28 2003-07-08 Nortel Networks Limited Technique for facilitating circuitry design
DE10118470A1 (de) * 2001-04-12 2002-10-24 Siemens Ag Objektbearbeitungssystem mit einem Objektmodell
US6910199B2 (en) * 2001-04-23 2005-06-21 Telairity Semiconductor, Inc. Circuit group design methodologies
JP4683762B2 (ja) * 2001-05-10 2011-05-18 ルネサスエレクトロニクス株式会社 半導体装置設計方法、半導体装置設計用プログラム、半導体装置設計装置
JP3953756B2 (ja) * 2001-07-12 2007-08-08 富士通株式会社 タイミングバジェット設計方法
US6564365B1 (en) * 2001-08-03 2003-05-13 Hewlett-Packard Development Company, L.P. Method of simultaneously displaying schematic and timing data
US7006961B2 (en) * 2001-08-13 2006-02-28 The Boeing Company Marker argumentation for an integrated circuit design tool and file structure
US6633182B2 (en) * 2001-09-05 2003-10-14 Carnegie Mellon University Programmable gate array based on configurable metal interconnect vias
US6999910B2 (en) * 2001-11-20 2006-02-14 Lsi Logic Corporation Method and apparatus for implementing a metamethodology
JP2005515851A (ja) * 2002-02-01 2005-06-02 ザ クリーヴランド クリニック ファウンデーション 調整可能な刺激装置およびその使用方法
US7143023B2 (en) * 2002-03-01 2006-11-28 Signal Integrity Software, Inc. System and method of describing signal transfers and using same to automate the simulation and analysis of a circuit or system design
EP1488367A4 (en) * 2002-03-08 2005-05-11 Mentor Graphics Corp TRANSFORMATION OF TABLES IN A TOOL OF BEHAVIORAL SYNTHESIS
US6906978B2 (en) * 2002-03-19 2005-06-14 Intel Corporation Flexible integrated memory
US6993733B2 (en) * 2002-04-09 2006-01-31 Atrenta, Inc. Apparatus and method for handling of multi-level circuit design data
US6898767B2 (en) * 2002-05-09 2005-05-24 Lsi Logic Corporation Method and apparatus for custom design in a standard cell design environment
US7024636B2 (en) * 2002-11-20 2006-04-04 Lsi Logic Corporation Chip management system
US7337100B1 (en) * 2003-06-12 2008-02-26 Altera Corporation Physical resynthesis of a logic design
US20050114818A1 (en) * 2003-11-21 2005-05-26 Lsi Logic Corporation Chip design command processor
US7269809B2 (en) * 2004-06-23 2007-09-11 Sioptical, Inc. Integrated approach for design, simulation and verification of monolithic, silicon-based opto-electronic circuits
US7735050B2 (en) 2006-02-09 2010-06-08 Henry Yu Managing and controlling the use of hardware resources on integrated circuits
JP5114877B2 (ja) * 2006-06-27 2013-01-09 富士通株式会社 設計データ作成方法、設計データ作成装置および設計データ作成プログラム
US7587688B1 (en) * 2006-08-24 2009-09-08 Altera Corporation User-directed timing-driven synthesis
US8326592B2 (en) * 2007-12-21 2012-12-04 Cadence Design Systems, Inc. Method and system for verifying electronic designs having software components
US20090210289A1 (en) * 2008-02-20 2009-08-20 Microsoft Corporation Pre-Linguistic Product Evaluation Techniques
US8898618B2 (en) * 2009-03-26 2014-11-25 Altera Corporation Interactive simplification of schematic diagram of integrated circuit design
US8241209B2 (en) * 2009-06-05 2012-08-14 Ethicon Endo-Surgery, Inc. Active seal components
US8225269B2 (en) * 2009-10-30 2012-07-17 Synopsys, Inc. Technique for generating an analysis equation
US8484588B2 (en) * 2010-07-13 2013-07-09 Algo to Chip Corporation System, architecture and micro-architecture (SAMA) representation of an integrated circuit
US8527257B2 (en) * 2011-07-01 2013-09-03 Fujitsu Limited Transition-based macro-models for analog simulation
US8903698B2 (en) 2012-05-15 2014-12-02 Fujitsu Limited Generating behavioral models for analog circuits
US9269273B1 (en) * 2012-07-30 2016-02-23 Weongozi Inc. Systems, methods and computer program products for building a database associating n-grams with cognitive motivation orientations
US8863058B2 (en) 2012-09-24 2014-10-14 Atrenta, Inc. Characterization based buffering and sizing for system performance optimization
US8875087B1 (en) * 2012-09-30 2014-10-28 Cadence Design Systems, Inc. Method and system for automated script generation for EDA tools
US20140100837A1 (en) * 2012-10-08 2014-04-10 Stefan Heinen Integration verification system
US10346573B1 (en) * 2015-09-30 2019-07-09 Cadence Design Systems, Inc. Method and system for performing incremental post layout simulation with layout edits
CN114444419B (zh) * 2022-04-11 2022-12-13 奇捷科技(深圳)有限公司 一种芯片新版本电路的生成方法、设备和存储介质

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
UST940020I4 (en) * 1974-04-17 1975-11-04 Automatic circuit generation process and apparatus
UST940008I4 (en) * 1974-05-17 1975-11-04 Automated logic mapping system
US4353117A (en) * 1979-12-28 1982-10-05 Chevron Research Company Method of diagnosing errors off-line in pipe specification files of a computer-aided graphics system
US4587625A (en) * 1983-07-05 1986-05-06 Motorola Inc. Processor for simulating digital structures
EP0138535A3 (en) * 1983-10-13 1987-01-28 British Telecommunications Plc Visual display logic simulation system
US4813013A (en) * 1984-03-01 1989-03-14 The Cadware Group, Ltd. Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons
US4703435A (en) * 1984-07-16 1987-10-27 International Business Machines Corporation Logic Synthesizer
US4635208A (en) * 1985-01-18 1987-01-06 Hewlett-Packard Company Computer-aided design of systems
US4697241A (en) * 1985-03-01 1987-09-29 Simulog, Inc. Hardware logic simulator
JPH0638266B2 (ja) * 1985-03-18 1994-05-18 株式会社日立製作所 設計支援方法及びその装置
JPH0679319B2 (ja) * 1985-04-10 1994-10-05 株式会社日立製作所 配置更新方法
JPS62159278A (ja) * 1986-01-08 1987-07-15 Hitachi Ltd 自動論理設計システム
US4831543A (en) * 1986-02-21 1989-05-16 Harris Semiconductor (Patents) Inc. Hierarchical net list derivation system
US5034899A (en) * 1986-07-07 1991-07-23 Bbc Brown Boveri Ag Software tool for automatically generating a functional-diagram graphic
DE3650323T2 (de) * 1986-12-17 1996-01-25 Ibm VLSI-Chip und Verfahren zur Herstellung.
US4827427A (en) * 1987-03-05 1989-05-02 Hyduke Stanley M Instantaneous incremental compiler for producing logic circuit designs
US4908772A (en) * 1987-03-30 1990-03-13 Bell Telephone Laboratories Integrated circuits with component placement by rectilinear partitioning
US4918614A (en) * 1987-06-02 1990-04-17 Lsi Logic Corporation Hierarchical floorplanner
US5146583A (en) * 1987-09-25 1992-09-08 Matsushita Electric Industrial Co., Ltd. Logic design system for creating circuit configuration by generating parse tree from hardware description language and optimizing text level redundancy thereof
US5008853A (en) * 1987-12-02 1991-04-16 Xerox Corporation Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US4922432A (en) * 1988-01-13 1990-05-01 International Chip Corporation Knowledge based method and apparatus for designing integrated circuits using functional specifications
US5005136A (en) * 1988-02-16 1991-04-02 U.S. Philips Corporation Silicon-compiler method and arrangement
US4970664A (en) * 1988-06-10 1990-11-13 Kaiser Richard R Critical path analyzer with path context window
US4965741A (en) * 1988-10-17 1990-10-23 Ncr Corporation Method for providing an improved human user interface to a knowledge based system
US4967367A (en) * 1988-11-21 1990-10-30 Vlsi Technology, Inc. Synthetic netlist system and method
JPH0797378B2 (ja) * 1989-02-21 1995-10-18 日本電気株式会社 回路図発生方式
US5111413A (en) * 1989-03-24 1992-05-05 Vantage Analysis Systems, Inc. Computer-aided engineering
US5164911A (en) * 1989-12-15 1992-11-17 Hewlett-Packard Company Schematic capture method having different model couplers for model types for changing the definition of the schematic based upon model type selection
US5084824A (en) * 1990-03-29 1992-01-28 National Semiconductor Corporation Simulation model generation from a physical data base of a combinatorial circuit
US5299137A (en) * 1990-04-05 1994-03-29 Vlsi Technology, Inc. Behavioral synthesis of circuits including high impedance buffers
US5222030A (en) * 1990-04-06 1993-06-22 Lsi Logic Corporation Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic specifications and descriptions thereof
US5258919A (en) * 1990-06-28 1993-11-02 National Semiconductor Corporation Structured logic design method using figures of merit and a flowchart methodology
US5388196A (en) * 1990-09-07 1995-02-07 Xerox Corporation Hierarchical shared books with database

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ERICH MARSCHNER,"A VHDL design environment",VLSI Systems Design,昭和63年9月,第9巻,第9号,p.40−41,44−45,48−49

Also Published As

Publication number Publication date
US5880971A (en) 1999-03-09
KR100186869B1 (ko) 1999-05-15
US5526277A (en) 1996-06-11
US5222030A (en) 1993-06-22
EP0463301A3 (en) 1994-06-22
EP0463301A2 (en) 1992-01-02
JPH04288680A (ja) 1992-10-13
KR910018923A (ko) 1991-11-30

Similar Documents

Publication Publication Date Title
JP3118592B2 (ja) よりハイレベルのビヘイビア指向のデスクリプションから回路又は装置の構造上のデスクリプションを生成する方法
US6470482B1 (en) Method and system for creating, deriving and validating structural description of electronic system from higher level, behavior-oriented description, including interactive schematic design and simulation
US5933356A (en) Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
US5867399A (en) System and method for creating and validating structural description of electronic system from higher-level and behavior-oriented description
US5623418A (en) System and method for creating and validating structural description of electronic system
US5493508A (en) Specification and design of complex digital systems
US6324678B1 (en) Method and system for creating and validating low level description of electronic design
US5801958A (en) 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
US5870308A (en) Method and system for creating and validating low-level description of electronic design
US6216252B1 (en) Method and system for creating, validating, and scaling structural description of electronic device
US5557531A (en) Method and system for creating and validating low level structural description of electronic design from higher level, behavior-oriented description, including estimating power dissipation of physical implementation
US5541849A (en) Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of timing parameters
US5572436A (en) Method and system for creating and validating low level description of electronic design
US5544066A (en) Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of low-level design constraints
US7913222B2 (en) Automatic generation of code for component interfaces in models
WO2003056475A2 (en) System, method and article of manufacture for estimating a potential performance of a codesign from an executable specification
CN115315702A (zh) 早期阶段电路设计中基于机器学习的度量的预测
Li et al. HML, a novel hardware description language and its translation to VHDL
WO2003056429A2 (en) System, method, and computer program product for data transfer reporting for an application
US7076416B2 (en) Method and apparatus for evaluating logic states of design nodes for cycle-based simulation
WO2003056473A2 (en) System, method, and article of manufacture for profiling an application targeted for reconfigurable logic using calls to profiling functions
US20050209840A1 (en) Method and apparatus for functional language temporal extensions, dynamic modeling, and verification in a system-level simulation environment
WO2003056474A1 (en) System method and article of manufacture for dynamically profiling memory transfers in a program
WO2003056472A2 (en) System method and article of manufacture for enhanced profiling of an application targeted for hardware/software systems
Keutzer The need for formal methods for integrated circuit design

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000829

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081013

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081013

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091013

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091013

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101013

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101013

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 11