JPH10232891A - 電子設計自動化用ワークグループコンピューティング - Google Patents
電子設計自動化用ワークグループコンピューティングInfo
- Publication number
- JPH10232891A JPH10232891A JP9294547A JP29454797A JPH10232891A JP H10232891 A JPH10232891 A JP H10232891A JP 9294547 A JP9294547 A JP 9294547A JP 29454797 A JP29454797 A JP 29454797A JP H10232891 A JPH10232891 A JP H10232891A
- Authority
- JP
- Japan
- Prior art keywords
- file
- workspace
- user
- global
- modified
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3177—Testing of logic operation, e.g. by logic analysers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318516—Test of programmable logic devices [PLDs]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0748—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2294—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/347—Physical level, e.g. placement or routing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99954—Version management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Data Mining & Analysis (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Stored Programmes (AREA)
- Tests Of Electronic Circuits (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
(57)【要約】
【課題】電子設計上で複数のエンジニアが効率的、且
つ、調整された方法で作業することを許容する、電子設
計自動化ツールと共に用いられる技術を提供すること。 【解決手段】グローバル作業空間102はリソースファ
イル110、基底112を有し、ユーザ1作業空間10
4はローカルソースファイル114、処理結果116、
レポートファイル118を有している。システムは、2
人のエンジニアが別々にグローバル作業空間102中の
同一ソースファイルを同時に編集し得ないようにファイ
ルの編集を管理する。満足する結果が得られると、編集
済のローカルソースファイル114及びローカル処理結
果116がユーザ1作業空間104からグローバル作業
空間102に返却され、グローバルソースファイル11
0及びグローバル処理結果が上書きされる。
つ、調整された方法で作業することを許容する、電子設
計自動化ツールと共に用いられる技術を提供すること。 【解決手段】グローバル作業空間102はリソースファ
イル110、基底112を有し、ユーザ1作業空間10
4はローカルソースファイル114、処理結果116、
レポートファイル118を有している。システムは、2
人のエンジニアが別々にグローバル作業空間102中の
同一ソースファイルを同時に編集し得ないようにファイ
ルの編集を管理する。満足する結果が得られると、編集
済のローカルソースファイル114及びローカル処理結
果116がユーザ1作業空間104からグローバル作業
空間102に返却され、グローバルソースファイル11
0及びグローバル処理結果が上書きされる。
Description
【0001】
【発明の属する技術分野】本発明は、一般に電子設計の
自動化に関する。より詳細には、本発明は、複数のエン
ジニアが1つの設計プロジェクト上で共同作業すること
を許容する技術に関する。
自動化に関する。より詳細には、本発明は、複数のエン
ジニアが1つの設計プロジェクト上で共同作業すること
を許容する技術に関する。
【0002】
【従来の技術】電子技術分野では、それにより集積回
路、マルチチップモジュール、ボード等が設計されると
共に製造されるプロセスの自動化のために種々の電子設
計自動化(EDA)ツールが有用である。特に、電子設
計自動化ツールは、規格集積回路、カスタム集積回路
(例えば、ASIC)の設計、及びプログラム可能な集
積回路の設計に有用である。顧客の望むカスタム設計を
生産するために顧客によってプログラムされ得る集積回
路には、プログラマブル論理回路(PLD)が含まれ
る。プログラマブル論理回路は、要求機能を遂行させる
ためにプログラムされ得るあらゆる集積回路を意味し、
また、プログラマブル論理アレイ(PLA)、プログラ
マブルアレイ論理(PAL)、フィールドプログラマブ
ルゲートアレイ(FPGA)、及び幅広い種類のプログ
ラム可能な他の論理回路及びメモリ回路を含む。しばし
ば、これらPLDは、ソフトウェアパッケージの形を採
る電子設計自動化ツールを使用してエンジニアによって
設計され、また、プログラムされる。
路、マルチチップモジュール、ボード等が設計されると
共に製造されるプロセスの自動化のために種々の電子設
計自動化(EDA)ツールが有用である。特に、電子設
計自動化ツールは、規格集積回路、カスタム集積回路
(例えば、ASIC)の設計、及びプログラム可能な集
積回路の設計に有用である。顧客の望むカスタム設計を
生産するために顧客によってプログラムされ得る集積回
路には、プログラマブル論理回路(PLD)が含まれ
る。プログラマブル論理回路は、要求機能を遂行させる
ためにプログラムされ得るあらゆる集積回路を意味し、
また、プログラマブル論理アレイ(PLA)、プログラ
マブルアレイ論理(PAL)、フィールドプログラマブ
ルゲートアレイ(FPGA)、及び幅広い種類のプログ
ラム可能な他の論理回路及びメモリ回路を含む。しばし
ば、これらPLDは、ソフトウェアパッケージの形を採
る電子設計自動化ツールを使用してエンジニアによって
設計され、また、プログラムされる。
【0003】PLDをプログラムする際にこのようなソ
フトウェアパッケージを使用することにより、エンジニ
アは、PLD用設計を計画し、設計に対する修正を繰り
返し、設計を試験し、また、最後に設計をPLD中にプ
ログラムすることができる。従来においては、1人のエ
ンジニアは、1個のPLDについて少なくとも論理設
計、及び論理実装することができた。すなわち、PLD
に含まれる全論理素子数が少なくPLDは小さかったの
で、従来のPLDの能力、及び複雑さは、1人のエンジ
ニアが対応できない程のものではなかった。しかしなが
ら、今日、PLDは、大きく、より複雑になってきてお
り、また、僅か1人のエンジニアによって1個のPLD
について設計を計画し、また実装することが益々困難に
なる程、強力な演算処理能力を有している。例えば、約
100,000個以上の論理素子を含むPLDの設計を
1人のエンジニアが開発することは、特に市場の時間的
要求によってもたらされる厳しい予定を考慮すると、非
常に困難なものになってきている。他の型の集積回路に
取って代わってこれらのプログラム可能回路が選択され
る大きな理由の一つにPLDの短い開発期間がある。
フトウェアパッケージを使用することにより、エンジニ
アは、PLD用設計を計画し、設計に対する修正を繰り
返し、設計を試験し、また、最後に設計をPLD中にプ
ログラムすることができる。従来においては、1人のエ
ンジニアは、1個のPLDについて少なくとも論理設
計、及び論理実装することができた。すなわち、PLD
に含まれる全論理素子数が少なくPLDは小さかったの
で、従来のPLDの能力、及び複雑さは、1人のエンジ
ニアが対応できない程のものではなかった。しかしなが
ら、今日、PLDは、大きく、より複雑になってきてお
り、また、僅か1人のエンジニアによって1個のPLD
について設計を計画し、また実装することが益々困難に
なる程、強力な演算処理能力を有している。例えば、約
100,000個以上の論理素子を含むPLDの設計を
1人のエンジニアが開発することは、特に市場の時間的
要求によってもたらされる厳しい予定を考慮すると、非
常に困難なものになってきている。他の型の集積回路に
取って代わってこれらのプログラム可能回路が選択され
る大きな理由の一つにPLDの短い開発期間がある。
【0004】PLDを購入し、プログラムする集積回路
顧客は、設計エントリが1人のエンジニアによって適当
な時間で実行され得ることから小さな回路をより頻繁に
選択する。このような場合、1人のエンジニアだけで、
各PLDを設計し、プログラムすることができる。この
方法は、より複雑なPLDの能力が利用されないという
短所を有している。大きく、複雑なPLDを使用する大
回路の設計を選択する顧客にとって、1つの設計に関し
て作業する複数のエンジニアの足並みを揃わせる努力は
益々困難なものなってきている。作業対象となる設計の
セクションの分割、ソースファイルの追跡、及び複数の
エンジニア間におけるコンパイル済結果の調整の記号論
理学は、非常に困難になり得る。複合PLD設計上で作
業する複数のエンジニア間の調整は、PLDが100,
000論理素子に近づき、そして、超えると共に益々必
要になってくる。このような調整がない場合、設計プロ
セス全体が必要な時間よりも長引き、また、準最適決定
(最適ではない決定)が全工程にわたって実行されるお
それがある。
顧客は、設計エントリが1人のエンジニアによって適当
な時間で実行され得ることから小さな回路をより頻繁に
選択する。このような場合、1人のエンジニアだけで、
各PLDを設計し、プログラムすることができる。この
方法は、より複雑なPLDの能力が利用されないという
短所を有している。大きく、複雑なPLDを使用する大
回路の設計を選択する顧客にとって、1つの設計に関し
て作業する複数のエンジニアの足並みを揃わせる努力は
益々困難なものなってきている。作業対象となる設計の
セクションの分割、ソースファイルの追跡、及び複数の
エンジニア間におけるコンパイル済結果の調整の記号論
理学は、非常に困難になり得る。複合PLD設計上で作
業する複数のエンジニア間の調整は、PLDが100,
000論理素子に近づき、そして、超えると共に益々必
要になってくる。このような調整がない場合、設計プロ
セス全体が必要な時間よりも長引き、また、準最適決定
(最適ではない決定)が全工程にわたって実行されるお
それがある。
【0005】さらに、現在、電子設計自動化ツールと共
に用いられているコンパイラは、しばしば、複合PLD
上で作業する複数のエンジニアによって使用するには不
適当である。1人のエンジニアによってPLD設計全体
の小さな部分に小さな変更が加えられると、現行のコン
パイラは、新規なコンパイル済結果を生成するために単
に既存ソースファイルの全てを取り去り、その全てを再
コンパイルする。一旦、全設計が再コンパイルされる
と、全設計を再試験しなければならない。タイミングア
ナライザ、シュミレーション及び生成ベクトルの使用を
含む全設計の試験は、非常に困難であり、また、時間を
要する。この間、設計は凍結されなければならず、した
がって、他のエンジニアは自身の変更を付加したり、試
験することができない。
に用いられているコンパイラは、しばしば、複合PLD
上で作業する複数のエンジニアによって使用するには不
適当である。1人のエンジニアによってPLD設計全体
の小さな部分に小さな変更が加えられると、現行のコン
パイラは、新規なコンパイル済結果を生成するために単
に既存ソースファイルの全てを取り去り、その全てを再
コンパイルする。一旦、全設計が再コンパイルされる
と、全設計を再試験しなければならない。タイミングア
ナライザ、シュミレーション及び生成ベクトルの使用を
含む全設計の試験は、非常に困難であり、また、時間を
要する。この間、設計は凍結されなければならず、した
がって、他のエンジニアは自身の変更を付加したり、試
験することができない。
【0006】
【発明が解決しようとする課題】本発明は、上記した従
来技術の問題点を解決するためになされたものであり、
複合集積回路、マルチチップモジュール、回路基板、A
SIC、PLD等の電子設計上で複数のエンジニアが効
率的、且つ、調整された方法で作業することを許容す
る、電子設計自動化ツールと共に用いられる技術を提供
することを目的とする。さらに、各コンパイル毎に完成
設計が再試験される必要のないよう、1人のエンジニア
によって形成された変更だけを一つずつコンパイルし得
るコンパイラを提供することを目的とする。
来技術の問題点を解決するためになされたものであり、
複合集積回路、マルチチップモジュール、回路基板、A
SIC、PLD等の電子設計上で複数のエンジニアが効
率的、且つ、調整された方法で作業することを許容す
る、電子設計自動化ツールと共に用いられる技術を提供
することを目的とする。さらに、各コンパイル毎に完成
設計が再試験される必要のないよう、1人のエンジニア
によって形成された変更だけを一つずつコンパイルし得
るコンパイラを提供することを目的とする。
【0007】
【課題を解決するための手段】上記目的を達成するため
に請求項1に記載の発明に係る複数ユーザによる電子設
計を促進するためのワークグループコンピューティング
システムは、前記電子設計を表す複数のプロジェクトソ
ースファイル、及び前記プロジェクトソースファイルの
コンパイレーション結果を含むグローバル基底とを有す
るグローバル作業空間、前記プロジェクトソースファイ
ルの第1ファイルコピー、及びローカル基底を有する第
1ユーザ作業空間、前記第1ファイルコピーは前記電子
設計の第1の部分を表すと共に、前記第1ユーザ作業空
間中に修正済第1ファイルを生成するために第1ユーザ
によって修正可能であること、前記修正済第1ファイル
は前記グローバル作業空間中の前記プロジェクトソース
ファイルの第1ファイルコピーを上書きするために前記
グローバル作業空間に再転送可能であること、前記ロー
カル基底は前記修正済第1ファイル及び前記プロジェク
トソースファイルのコンパイレーション結果を含むと共
に前記グローバル基底を上書きするために前記グローバ
ル作業空間に転送可能であること、前記プロジェクトソ
ースファイルの第2ファイルコピーを有する第2ユーザ
作業空間、前記第2ファイルコピーは前記電子設計の第
2の部分を表すと共に、前記第2ユーザ作業空間中に修
正済第2ファイルを生成するために第2ユーザによって
修正可能であること、前記修正済第2ファイルは前記グ
ローバル作業空間中の前記プロジェクトソースファイル
の第2ファイルコピーを上書きするために前記グローバ
ル作業空間に再転送可能であること、これにより前記プ
ロジェクトソースファイルは前記第1ユーザ及び前記第
2ユーザによって同時に修正され得ることと備えること
を特徴とする。
に請求項1に記載の発明に係る複数ユーザによる電子設
計を促進するためのワークグループコンピューティング
システムは、前記電子設計を表す複数のプロジェクトソ
ースファイル、及び前記プロジェクトソースファイルの
コンパイレーション結果を含むグローバル基底とを有す
るグローバル作業空間、前記プロジェクトソースファイ
ルの第1ファイルコピー、及びローカル基底を有する第
1ユーザ作業空間、前記第1ファイルコピーは前記電子
設計の第1の部分を表すと共に、前記第1ユーザ作業空
間中に修正済第1ファイルを生成するために第1ユーザ
によって修正可能であること、前記修正済第1ファイル
は前記グローバル作業空間中の前記プロジェクトソース
ファイルの第1ファイルコピーを上書きするために前記
グローバル作業空間に再転送可能であること、前記ロー
カル基底は前記修正済第1ファイル及び前記プロジェク
トソースファイルのコンパイレーション結果を含むと共
に前記グローバル基底を上書きするために前記グローバ
ル作業空間に転送可能であること、前記プロジェクトソ
ースファイルの第2ファイルコピーを有する第2ユーザ
作業空間、前記第2ファイルコピーは前記電子設計の第
2の部分を表すと共に、前記第2ユーザ作業空間中に修
正済第2ファイルを生成するために第2ユーザによって
修正可能であること、前記修正済第2ファイルは前記グ
ローバル作業空間中の前記プロジェクトソースファイル
の第2ファイルコピーを上書きするために前記グローバ
ル作業空間に再転送可能であること、これにより前記プ
ロジェクトソースファイルは前記第1ユーザ及び前記第
2ユーザによって同時に修正され得ることと備えること
を特徴とする。
【0008】また、請求項6に記載の発明に係るワーク
グループコンピューティングシステムにおける複数ユー
ザによる電子設計を促進するためのコンピュータ実装方
法は、前記電子設計を表す複数のプロジェクトリソース
ファイル、及び前記プロジェクトソースファイルのコン
パイレーション結果を含むグローバル基底とをグローバ
ル作業空間内に格納するステップ、前記電子設計の第1
の部分を表す前記複数のプロジェクトソースファイルの
第1ファイルが第1ユーザによって修正され得るよう前
記第1ファイルを第1ユーザ作業空間に対して転送する
ステップ、前記グローバル基底を上書きするために前記
グローバル作業空間に転送可能であると共にコンパイレ
ーション結果を含むローカル基底を生成するために前記
修正済第1ファイルと共に前記プロジェクトソースファ
イルのサブセットをコンパイルするステップ、前記電子
設計の第2の部分を表す前記複数のプロジェクトソース
ファイルの第2ファイルが第2ユーザによって修正され
得るよう前記第2ファイルを第2ユーザ作業空間に対し
て転送するステップとを備え、これにより前記電子設計
は前記複数のユーザによって同時に修正され得ることを
特徴とする。
グループコンピューティングシステムにおける複数ユー
ザによる電子設計を促進するためのコンピュータ実装方
法は、前記電子設計を表す複数のプロジェクトリソース
ファイル、及び前記プロジェクトソースファイルのコン
パイレーション結果を含むグローバル基底とをグローバ
ル作業空間内に格納するステップ、前記電子設計の第1
の部分を表す前記複数のプロジェクトソースファイルの
第1ファイルが第1ユーザによって修正され得るよう前
記第1ファイルを第1ユーザ作業空間に対して転送する
ステップ、前記グローバル基底を上書きするために前記
グローバル作業空間に転送可能であると共にコンパイレ
ーション結果を含むローカル基底を生成するために前記
修正済第1ファイルと共に前記プロジェクトソースファ
イルのサブセットをコンパイルするステップ、前記電子
設計の第2の部分を表す前記複数のプロジェクトソース
ファイルの第2ファイルが第2ユーザによって修正され
得るよう前記第2ファイルを第2ユーザ作業空間に対し
て転送するステップとを備え、これにより前記電子設計
は前記複数のユーザによって同時に修正され得ることを
特徴とする。
【0009】さらに、請求項12に記載の発明に係るワ
ークグループコンピューティングシステムにおける複数
ユーザによる、複数のプロジェクトリソースファイル、
及びプロジェクトソースファイルのコンパイレーション
結果を含むグローバル基底とをグローバル作業空間中に
含む電子設計を促進するためのコンピュータ実装方法
は、前記電子設計の部分を表す前記複数のプロジェクト
ソースファイルの1ファイルを前記グローバル作業空間
からローカルユーザ作業空間に対して転送するために命
令を受けるステップ、前記プロジェクトソースファイル
が前記ユーザの1人によって現在、修正されているか否
かを決定するステップ、修正済プロジェクトソースファ
イルを生成するために前記プロジェクトソースファイル
が前記ローカルユーザ作業空間中にて修正されるよう前
記プロジェクトソースファイルを前記ローカルユーザ作
業空間に転送するステップ、前記プロジェクトソースフ
ァイルが修正されていることを示すロック標識を設定す
るステップ、前記修正済プロジェクトソースファイルを
前記ローカルユーザ作業空間から前記グローバル作業空
間に対して転送するために命令を受けるステップ、前記
修正済プロジェクトソースファイルが前記プロジェクト
ソースファイルを上書きするように前記修正済プロジェ
クトソースファイルを前記ローカルユーザ作業空間から
前記グローバル作業空間に対して転送するステップとを
備え、これにより前記電子設計が修正されることを特徴
とする。
ークグループコンピューティングシステムにおける複数
ユーザによる、複数のプロジェクトリソースファイル、
及びプロジェクトソースファイルのコンパイレーション
結果を含むグローバル基底とをグローバル作業空間中に
含む電子設計を促進するためのコンピュータ実装方法
は、前記電子設計の部分を表す前記複数のプロジェクト
ソースファイルの1ファイルを前記グローバル作業空間
からローカルユーザ作業空間に対して転送するために命
令を受けるステップ、前記プロジェクトソースファイル
が前記ユーザの1人によって現在、修正されているか否
かを決定するステップ、修正済プロジェクトソースファ
イルを生成するために前記プロジェクトソースファイル
が前記ローカルユーザ作業空間中にて修正されるよう前
記プロジェクトソースファイルを前記ローカルユーザ作
業空間に転送するステップ、前記プロジェクトソースフ
ァイルが修正されていることを示すロック標識を設定す
るステップ、前記修正済プロジェクトソースファイルを
前記ローカルユーザ作業空間から前記グローバル作業空
間に対して転送するために命令を受けるステップ、前記
修正済プロジェクトソースファイルが前記プロジェクト
ソースファイルを上書きするように前記修正済プロジェ
クトソースファイルを前記ローカルユーザ作業空間から
前記グローバル作業空間に対して転送するステップとを
備え、これにより前記電子設計が修正されることを特徴
とする。
【0010】また、請求項19に記載の発明に係るワー
クグループコンピューティングシステムにおける複数ユ
ーザによる電子設計を促進するためのコンピュータ読み
取り可能なプログラムを記録した記録媒体であって、そ
のプログラムは、前記電子設計を表す複数のプロジェク
トリソースファイル、及び前記プロジェクトソースファ
イルのコンパイレーション結果を含むグローバル基底と
をグローバル作業空間内に格納するステップ、前記電子
設計の第1の部分を表す前記複数のプロジェクトソース
ファイルの第1ファイルが第1ユーザによって修正され
得るよう前記第1ファイルを第1ユーザ作業空間に対し
て転送するステップ、前記グローバル基底を上書きする
ために前記グローバル作業空間に転送可能であると共に
コンパイレーション結果を含むローカル基底を生成する
ために前記修正済第1ファイルと共に前記プロジェクト
ソースファイルのサブセットをコンパイルするステッ
プ、前記電子設計の第2の部分を表す前記複数のプロジ
ェクトソースファイルの第2ファイルが第2ユーザによ
って修正され得るよう前記第2ファイルを第2ユーザ作
業空間に対して転送するステップとを備え、これにより
前記電子設計は前記複数のユーザによって同時に修正さ
れ得ることを特徴とする。
クグループコンピューティングシステムにおける複数ユ
ーザによる電子設計を促進するためのコンピュータ読み
取り可能なプログラムを記録した記録媒体であって、そ
のプログラムは、前記電子設計を表す複数のプロジェク
トリソースファイル、及び前記プロジェクトソースファ
イルのコンパイレーション結果を含むグローバル基底と
をグローバル作業空間内に格納するステップ、前記電子
設計の第1の部分を表す前記複数のプロジェクトソース
ファイルの第1ファイルが第1ユーザによって修正され
得るよう前記第1ファイルを第1ユーザ作業空間に対し
て転送するステップ、前記グローバル基底を上書きする
ために前記グローバル作業空間に転送可能であると共に
コンパイレーション結果を含むローカル基底を生成する
ために前記修正済第1ファイルと共に前記プロジェクト
ソースファイルのサブセットをコンパイルするステッ
プ、前記電子設計の第2の部分を表す前記複数のプロジ
ェクトソースファイルの第2ファイルが第2ユーザによ
って修正され得るよう前記第2ファイルを第2ユーザ作
業空間に対して転送するステップとを備え、これにより
前記電子設計は前記複数のユーザによって同時に修正さ
れ得ることを特徴とする。
【0011】また、請求項21に記載の発明に係るワー
クグループコンピューティングシステムにおける複数ユ
ーザによる、複数のプロジェクトリソースファイル、及
びプロジェクトソースファイルのコンパイレーション結
果を含むグローバル基底とをグローバル作業空間中に含
む電子設計を促進するためのプログラムを記録した記録
媒体であって、そのプログラムは、前記電子設計の部分
を表す前記複数のプロジェクトソースファイルの1ファ
イルを前記グローバル作業空間からローカルユーザ作業
空間に対して転送するために命令を受けるステップ、前
記プロジェクトソースファイルが前記ユーザの1人によ
って現在、修正されているか否かを決定するステップ、
修正済プロジェクトソースファイルを生成するために前
記プロジェクトソースファイルが前記ローカルユーザ作
業空間中にて修正されるよう前記プロジェクトソースフ
ァイルを前記ローカルユーザ作業空間に転送するステッ
プ、前記プロジェクトソースファイルが修正されている
ことを示すロック標識を設定するステップ、前記修正済
プロジェクトソースファイルを前記ローカルユーザ作業
空間から前記グローバル作業空間に対して転送するため
に命令を受けるステップ、前記修正済プロジェクトソー
スファイルが前記プロジェクトソースファイルを上書き
するように前記修正済プロジェクトソースファイルを前
記ローカルユーザ作業空間から前記グローバル作業空間
に対して転送するステップとを備え、これにより前記電
子設計が修正されることを特徴とする。
クグループコンピューティングシステムにおける複数ユ
ーザによる、複数のプロジェクトリソースファイル、及
びプロジェクトソースファイルのコンパイレーション結
果を含むグローバル基底とをグローバル作業空間中に含
む電子設計を促進するためのプログラムを記録した記録
媒体であって、そのプログラムは、前記電子設計の部分
を表す前記複数のプロジェクトソースファイルの1ファ
イルを前記グローバル作業空間からローカルユーザ作業
空間に対して転送するために命令を受けるステップ、前
記プロジェクトソースファイルが前記ユーザの1人によ
って現在、修正されているか否かを決定するステップ、
修正済プロジェクトソースファイルを生成するために前
記プロジェクトソースファイルが前記ローカルユーザ作
業空間中にて修正されるよう前記プロジェクトソースフ
ァイルを前記ローカルユーザ作業空間に転送するステッ
プ、前記プロジェクトソースファイルが修正されている
ことを示すロック標識を設定するステップ、前記修正済
プロジェクトソースファイルを前記ローカルユーザ作業
空間から前記グローバル作業空間に対して転送するため
に命令を受けるステップ、前記修正済プロジェクトソー
スファイルが前記プロジェクトソースファイルを上書き
するように前記修正済プロジェクトソースファイルを前
記ローカルユーザ作業空間から前記グローバル作業空間
に対して転送するステップとを備え、これにより前記電
子設計が修正されることを特徴とする。
【0012】さらに、請求項26に記載の発明に係るワ
ークグループコンピューティングシステムにおいて複数
ユーザにより生成される電子設計を組み込む電子装置を
製造するための方法は、前記電子設計を表す複数のプロ
ジェクトリソースファイル、及び前記プロジェクトソー
スファイルのコンパイレーション結果を含むグローバル
基底とをグローバル作業空間内に格納するステップ、前
記電子設計の第1の部分を表す前記複数のプロジェクト
ソースファイルの第1ファイルが第1ユーザによって修
正され得るよう前記第1ファイルを第1ユーザ作業空間
に対して転送するステップ、前記グローバル基底を上書
きするために前記グローバル作業空間に転送可能である
と共にコンパイレーション結果を含むローカル基底を生
成するために前記修正済第1ファイルと共に前記プロジ
ェクトソースファイルのサブセットをコンパイルするス
テップ、前記電子設計の第2の部分を表す前記複数のプ
ロジェクトソースファイルの第2ファイルが第2ユーザ
によって修正され得るよう前記第2ファイルを第2ユー
ザ作業空間に対して転送するステップとを備え、これに
より前記電子設計は前記複数のユーザによって同時に生
成されると共に修正され得ることを特徴とする。
ークグループコンピューティングシステムにおいて複数
ユーザにより生成される電子設計を組み込む電子装置を
製造するための方法は、前記電子設計を表す複数のプロ
ジェクトリソースファイル、及び前記プロジェクトソー
スファイルのコンパイレーション結果を含むグローバル
基底とをグローバル作業空間内に格納するステップ、前
記電子設計の第1の部分を表す前記複数のプロジェクト
ソースファイルの第1ファイルが第1ユーザによって修
正され得るよう前記第1ファイルを第1ユーザ作業空間
に対して転送するステップ、前記グローバル基底を上書
きするために前記グローバル作業空間に転送可能である
と共にコンパイレーション結果を含むローカル基底を生
成するために前記修正済第1ファイルと共に前記プロジ
ェクトソースファイルのサブセットをコンパイルするス
テップ、前記電子設計の第2の部分を表す前記複数のプ
ロジェクトソースファイルの第2ファイルが第2ユーザ
によって修正され得るよう前記第2ファイルを第2ユー
ザ作業空間に対して転送するステップとを備え、これに
より前記電子設計は前記複数のユーザによって同時に生
成されると共に修正され得ることを特徴とする。
【0013】また、請求項32に記載の発明に係るワー
クグループコンピューティングシステムにおいて複数ユ
ーザにより生成される、複数のプロジェクトリソースフ
ァイル、及びプロジェクトソースファイルのコンパイレ
ーション結果を含むグローバル基底とをグローバル作業
空間中に含むコンパイル済電子設計を組み込む電子装置
の製造方法は、前記電子設計の部分を表す前記複数のプ
ロジェクトソースファイルの1ファイルを前記グローバ
ル作業空間からローカルユーザ作業空間に対して転送す
るために命令を受けるステップ、前記プロジェクトソー
スファイルが前記ユーザの1人によって現在、修正され
ているか否かを決定するステップ、修正済プロジェクト
ソースファイルを生成するために前記プロジェクトソー
スファイルが前記ローカルユーザ作業空間中にて修正さ
れるよう前記プロジェクトソースファイルを前記ローカ
ルユーザ作業空間に転送するステップ、前記プロジェク
トソースファイルが修正されていることを示すロック標
識を設定するステップ、前記修正済プロジェクトソース
ファイルを前記ローカルユーザ作業空間から前記グロー
バル作業空間に対して転送するために命令を受けるステ
ップ、前記修正済プロジェクトソースファイルが前記プ
ロジェクトソースファイルを上書きするように前記修正
済プロジェクトソースファイルを前記ローカルユーザ作
業空間から前記グローバル作業空間に対して転送するス
テップとを備え、これにより前記電子設計が修正される
ことを特徴とする。
クグループコンピューティングシステムにおいて複数ユ
ーザにより生成される、複数のプロジェクトリソースフ
ァイル、及びプロジェクトソースファイルのコンパイレ
ーション結果を含むグローバル基底とをグローバル作業
空間中に含むコンパイル済電子設計を組み込む電子装置
の製造方法は、前記電子設計の部分を表す前記複数のプ
ロジェクトソースファイルの1ファイルを前記グローバ
ル作業空間からローカルユーザ作業空間に対して転送す
るために命令を受けるステップ、前記プロジェクトソー
スファイルが前記ユーザの1人によって現在、修正され
ているか否かを決定するステップ、修正済プロジェクト
ソースファイルを生成するために前記プロジェクトソー
スファイルが前記ローカルユーザ作業空間中にて修正さ
れるよう前記プロジェクトソースファイルを前記ローカ
ルユーザ作業空間に転送するステップ、前記プロジェク
トソースファイルが修正されていることを示すロック標
識を設定するステップ、前記修正済プロジェクトソース
ファイルを前記ローカルユーザ作業空間から前記グロー
バル作業空間に対して転送するために命令を受けるステ
ップ、前記修正済プロジェクトソースファイルが前記プ
ロジェクトソースファイルを上書きするように前記修正
済プロジェクトソースファイルを前記ローカルユーザ作
業空間から前記グローバル作業空間に対して転送するス
テップとを備え、これにより前記電子設計が修正される
ことを特徴とする。
【0014】本明細書中には、例えば、複合集積回路、
マルチチップモジュール、回路基板、ASIC、PLD
等の電子設計上のワークグループ中にて複数のエンジニ
アが共同して作業することを許容する技術及びシステム
が開示されている。例えば、「ワークグループコンピュ
ーティング」は、複数のエンジニア間における協力、及
び情報の共有を促進し、この結果、エンジニアは複合設
計プロジェクト上で効率的に且つ一致して共同作業する
ことができる。エンジニアは、プロジェクト設計ファイ
ル、割当情報、及び処理操作結果を共有する。この協力
は特に100,000以上の論理素子を含むプログラマ
ブル論理回路に関して有用である。
マルチチップモジュール、回路基板、ASIC、PLD
等の電子設計上のワークグループ中にて複数のエンジニ
アが共同して作業することを許容する技術及びシステム
が開示されている。例えば、「ワークグループコンピュ
ーティング」は、複数のエンジニア間における協力、及
び情報の共有を促進し、この結果、エンジニアは複合設
計プロジェクト上で効率的に且つ一致して共同作業する
ことができる。エンジニアは、プロジェクト設計ファイ
ル、割当情報、及び処理操作結果を共有する。この協力
は特に100,000以上の論理素子を含むプログラマ
ブル論理回路に関して有用である。
【0015】本発明では、システムは、2人のエンジニ
アが別々に同一のグローバルソースファイルを同時に編
集し得ないようにファイルの編集を管理する。システム
はまた、個々のエンジニアがソースファイルの新バージ
ョンの自動更新を受け取ることを許容し、編集中のファ
イルがロックされることを許容し、また、エンジニアが
未変更状態のソースファイルを用いた作業を望む際には
孤立モードを提供する。都合のよいことに、複合PLD
を各エンジニアに割り当てられる複数の小さなPLDに
分割する代わりに、複数のエンジニアが、一つの大規模
PLD上に実装され得る非常に複雑な設計上で効率的に
作業し得る。各エンジニアは設計全体の一部で作業する
ことができる。したがって、大規模PLDの設計をより
速く、より効率的に完了することができる。さらに、複
雑なPLDの設計を、回路基板上の空間の非効率的な使
用をもたらす、小さく、より簡易なPLDに分割する必
要がない。
アが別々に同一のグローバルソースファイルを同時に編
集し得ないようにファイルの編集を管理する。システム
はまた、個々のエンジニアがソースファイルの新バージ
ョンの自動更新を受け取ることを許容し、編集中のファ
イルがロックされることを許容し、また、エンジニアが
未変更状態のソースファイルを用いた作業を望む際には
孤立モードを提供する。都合のよいことに、複合PLD
を各エンジニアに割り当てられる複数の小さなPLDに
分割する代わりに、複数のエンジニアが、一つの大規模
PLD上に実装され得る非常に複雑な設計上で効率的に
作業し得る。各エンジニアは設計全体の一部で作業する
ことができる。したがって、大規模PLDの設計をより
速く、より効率的に完了することができる。さらに、複
雑なPLDの設計を、回路基板上の空間の非効率的な使
用をもたらす、小さく、より簡易なPLDに分割する必
要がない。
【0016】また、各エンジニアは、ローカルなコンパ
イレーション及び処理結果の組み合わせを生成するため
に自身のユーザ作業空間中のソースファイルに対し加え
られた局所的な変更だけを一つずつ連続して、あるいは
ランダムにコンパイルし得る。インクリメンタルコンパ
イレーションの「基底(全ファイルのコンパイル結
果)」は、グローバル作業空間中に格納される。したが
って、エンジニアは、小さな変更を1つのソースファイ
ルに加え得ると共に、グローバル作業空間からの基底を
使用してそれらの変更だけを一つずつコンパイルし得
る。インクリメンタルコンパイレーションの利点とし
て、高速なコンパイレーションがある。また、再コンパ
イルの対象とならない設計の既存部分は、変更される必
要がない。例えば、設計についてのピンアウトが既に特
定されており、また、このピンアウトがインクリメンタ
ルコンパイルに際して再コンパイルの対象でない場合に
は、ピンアウトはそのまま残る。変更のない部分を再設
計する必要がないので、設計変更のない大部分を維持
し、小さな部分だけを一つずつコンパイルすることは都
合がよい。
イレーション及び処理結果の組み合わせを生成するため
に自身のユーザ作業空間中のソースファイルに対し加え
られた局所的な変更だけを一つずつ連続して、あるいは
ランダムにコンパイルし得る。インクリメンタルコンパ
イレーションの「基底(全ファイルのコンパイル結
果)」は、グローバル作業空間中に格納される。したが
って、エンジニアは、小さな変更を1つのソースファイ
ルに加え得ると共に、グローバル作業空間からの基底を
使用してそれらの変更だけを一つずつコンパイルし得
る。インクリメンタルコンパイレーションの利点とし
て、高速なコンパイレーションがある。また、再コンパ
イルの対象とならない設計の既存部分は、変更される必
要がない。例えば、設計についてのピンアウトが既に特
定されており、また、このピンアウトがインクリメンタ
ルコンパイルに際して再コンパイルの対象でない場合に
は、ピンアウトはそのまま残る。変更のない部分を再設
計する必要がないので、設計変更のない大部分を維持
し、小さな部分だけを一つずつコンパイルすることは都
合がよい。
【0017】本発明におけるインクリメンタルコンパイ
レーションは、先にコンパイル済の設計中におけるユー
ザによる変更の影響範囲を詳細に描写する(影響範囲は
一般的にネットリスト内に画定される)ステップ、及び
この影響範囲内の論理を目標ハードウェア装置内で利用
可能な適当な論理要素中に再コンパイルするステップと
を備える。このインクリメンタルコンパイレーション
は、複数のエンジニアが単一プロジェクトを共有するこ
と、及び大規模装置についてのコンパイレーション時間
を削減することを可能にする。
レーションは、先にコンパイル済の設計中におけるユー
ザによる変更の影響範囲を詳細に描写する(影響範囲は
一般的にネットリスト内に画定される)ステップ、及び
この影響範囲内の論理を目標ハードウェア装置内で利用
可能な適当な論理要素中に再コンパイルするステップと
を備える。このインクリメンタルコンパイレーション
は、複数のエンジニアが単一プロジェクトを共有するこ
と、及び大規模装置についてのコンパイレーション時間
を削減することを可能にする。
【0018】
【発明の実施の形態】(例えば、プログラマブル論理回
路用の)電子設計を開発するために、プログラマブル論
理開発システムが用いられる。ここで用いられる「電子
設計」の用語は、集積回路のみならず、複数の電子回路
及びマルチチップモジュールを含む回路基板及びシステ
ムのための設計を意味する。発明をこれに限定するもの
ではないが、説明の都合上、以下の説明では、一般的に
「集積回路」あるいは、「PLD」の用語を用いること
とする。
路用の)電子設計を開発するために、プログラマブル論
理開発システムが用いられる。ここで用いられる「電子
設計」の用語は、集積回路のみならず、複数の電子回路
及びマルチチップモジュールを含む回路基板及びシステ
ムのための設計を意味する。発明をこれに限定するもの
ではないが、説明の都合上、以下の説明では、一般的に
「集積回路」あるいは、「PLD」の用語を用いること
とする。
【0019】「プログラマブル論理開発システム」図1
は本発明の実施の形態に係るプログラマブル論理開発シ
ステム10のブロック図である。プログラマブル論理開
発システム10は、コンピュータネットワーク12、プ
ログラミングユニット14、及びプログラムされるプロ
グラマブル論理回路16を備えている。コンピュータネ
ットワーク12は、ネットワーク接続24を介して相互
に接続されているコンピュータシステムA、コンピュー
タシステムB、コンピュータシステムC、及びコンピュ
ータシステムファイルサーバ23といった、ネットワー
クに接続されているあらゆる数のコンピュータを有して
いる。コンピュータネットワーク12は、ケーブル26
を介してプログラミングユニット14と接続されてい
る。プログラミングユニット14は、プログラミングケ
ーブル28を介してPLD16と接続されている。ある
いは、1つのコンピュータシステムだけがプログラミン
グユニット14に直接接続されていてもよい。さらに、
コンピュータネットワーク12は、常時、例えば、設計
開発中、プログラミングユニット14に接続されている
必要はなく、PLD16がプログラムされるときだけ接
続されても良い。
は本発明の実施の形態に係るプログラマブル論理開発シ
ステム10のブロック図である。プログラマブル論理開
発システム10は、コンピュータネットワーク12、プ
ログラミングユニット14、及びプログラムされるプロ
グラマブル論理回路16を備えている。コンピュータネ
ットワーク12は、ネットワーク接続24を介して相互
に接続されているコンピュータシステムA、コンピュー
タシステムB、コンピュータシステムC、及びコンピュ
ータシステムファイルサーバ23といった、ネットワー
クに接続されているあらゆる数のコンピュータを有して
いる。コンピュータネットワーク12は、ケーブル26
を介してプログラミングユニット14と接続されてい
る。プログラミングユニット14は、プログラミングケ
ーブル28を介してPLD16と接続されている。ある
いは、1つのコンピュータシステムだけがプログラミン
グユニット14に直接接続されていてもよい。さらに、
コンピュータネットワーク12は、常時、例えば、設計
開発中、プログラミングユニット14に接続されている
必要はなく、PLD16がプログラムされるときだけ接
続されても良い。
【0020】プログラミングユニット14は、PLD1
6をプログラムするために、コンピュータネットワーク
12からのプログラム命令を受け入れるハードウェアプ
ログラミングユニットであればどのような好適なもので
あっても良い。例えば、プログラミングユニット14に
は、コンピュータ用アドオン論理プログラマカード、及
び、例えば、カリフォルニア州サンノゼ市所在のアルテ
ラコーポレーション(Altera Corporation)から入手可
能な主プログラミングユニットが含まれ得る。PLD1
6は、システム中、あるいは、プログラミングステーシ
ョン中に存在し得る。実施に当たっては、電子設計自動
化ソフトウェアツールを使用してプログラミング命令を
開発するために多くのエンジニアがコンピュータネット
ワーク12を使用する。一旦、設計がエンジニアによっ
て開発され、入力されると、設計は、プログラミングユ
ニット14に対してダウンロードされる前にコンパイル
され、確認される。その後、プログラミングユニット1
4は、PLD16をプログラムするためにダウンロード
された設計を使用することができる。複数のエンジニア
は、以下に説明するPLD16用の設計を開発するため
に、効率的且つ調整された方法でコンピュータネットワ
ーク12を使用することができる。
6をプログラムするために、コンピュータネットワーク
12からのプログラム命令を受け入れるハードウェアプ
ログラミングユニットであればどのような好適なもので
あっても良い。例えば、プログラミングユニット14に
は、コンピュータ用アドオン論理プログラマカード、及
び、例えば、カリフォルニア州サンノゼ市所在のアルテ
ラコーポレーション(Altera Corporation)から入手可
能な主プログラミングユニットが含まれ得る。PLD1
6は、システム中、あるいは、プログラミングステーシ
ョン中に存在し得る。実施に当たっては、電子設計自動
化ソフトウェアツールを使用してプログラミング命令を
開発するために多くのエンジニアがコンピュータネット
ワーク12を使用する。一旦、設計がエンジニアによっ
て開発され、入力されると、設計は、プログラミングユ
ニット14に対してダウンロードされる前にコンパイル
され、確認される。その後、プログラミングユニット1
4は、PLD16をプログラムするためにダウンロード
された設計を使用することができる。複数のエンジニア
は、以下に説明するPLD16用の設計を開発するため
に、効率的且つ調整された方法でコンピュータネットワ
ーク12を使用することができる。
【0021】このようなプログラマブル論理開発システ
ムは、電子設計を生成するために用いられる。設計の入
力及び処理は、「プロジェクト」のコンテキスト内にて
生じる。プロジェクトは、階層情報、システム設定、及
びプログラミングファイル及びレポートファイルを含む
出力ファイルと共に、プロジェクトファイル、設計ファ
イル、割当ファイル、及びシュミレートファイルを含
む。中間データ構造及びバージョン情報を含むプロジェ
クトデータベースが存在しても良い。
ムは、電子設計を生成するために用いられる。設計の入
力及び処理は、「プロジェクト」のコンテキスト内にて
生じる。プロジェクトは、階層情報、システム設定、及
びプログラミングファイル及びレポートファイルを含む
出力ファイルと共に、プロジェクトファイル、設計ファ
イル、割当ファイル、及びシュミレートファイルを含
む。中間データ構造及びバージョン情報を含むプロジェ
クトデータベースが存在しても良い。
【0022】プロジェクトは、1つ以上の設計エンティ
ティ階層を含んでおり、各設計階層ツリーは、階層ツリ
ー中の最上設計エンティティ(トップレベル機能ブロッ
ク)であるルートエンティティを有する。設計階層ツリ
ー中の他の設計エンティティは、子エンティティと呼ば
れる。また、設計階層は、対応する設計ファイルのない
エンティティ、例えば、トップダウン方法論を含んでも
よい。このような未実装エンティティを含む階層のこれ
に該当する部分は、設計ファイルが各エンティティに対
して供給されるまでコンパイル、あるいは、シュミレー
トされない。この場合、プロジェクトのこれらの部分の
実装を補助するために定義済インターフェースは有する
がデータを含まない、テンプレートソースファイルが自
動的に生成される。ユーザは、以下の設計方法論中で説
明するように機能ブロックを特定すると共に実装するこ
とにより設計を生成する。
ティ階層を含んでおり、各設計階層ツリーは、階層ツリ
ー中の最上設計エンティティ(トップレベル機能ブロッ
ク)であるルートエンティティを有する。設計階層ツリ
ー中の他の設計エンティティは、子エンティティと呼ば
れる。また、設計階層は、対応する設計ファイルのない
エンティティ、例えば、トップダウン方法論を含んでも
よい。このような未実装エンティティを含む階層のこれ
に該当する部分は、設計ファイルが各エンティティに対
して供給されるまでコンパイル、あるいは、シュミレー
トされない。この場合、プロジェクトのこれらの部分の
実装を補助するために定義済インターフェースは有する
がデータを含まない、テンプレートソースファイルが自
動的に生成される。ユーザは、以下の設計方法論中で説
明するように機能ブロックを特定すると共に実装するこ
とにより設計を生成する。
【0023】「設計方法論」図2は、それを用いてPL
Dをプログラムする設計を開発するためにシステム設計
仕様を使用するための設計方法論50を図示する。本発
明は幅広い設計方法論のコンテキストで実行され得るこ
とは理解されるべきである。例えば、ワークグループコ
ンピューティング技術、及び本発明のシステムは、図2
中の方法論のフレームワーク内の電子設計自動化(ED
A)ソフトウェアツールと上手く機能する。
Dをプログラムする設計を開発するためにシステム設計
仕様を使用するための設計方法論50を図示する。本発
明は幅広い設計方法論のコンテキストで実行され得るこ
とは理解されるべきである。例えば、ワークグループコ
ンピューティング技術、及び本発明のシステムは、図2
中の方法論のフレームワーク内の電子設計自動化(ED
A)ソフトウェアツールと上手く機能する。
【0024】ステップ52では、プログラムされるPL
D用のシステム仕様が取得される。この仕様は、例え
ば、回路ピン名、各ピンの機能性、要求システムの機能
性、タイミング及びリソース容量等を記述する外部ドキ
ュメント、または、外部ファイルである。ワークグルー
プ内の複数のエンジニアは、EDAツールを用いて、後
にPLDをプログラムするために用いられる設計を生成
するために、このシステム仕様を使用する。
D用のシステム仕様が取得される。この仕様は、例え
ば、回路ピン名、各ピンの機能性、要求システムの機能
性、タイミング及びリソース容量等を記述する外部ドキ
ュメント、または、外部ファイルである。ワークグルー
プ内の複数のエンジニアは、EDAツールを用いて、後
にPLDをプログラムするために用いられる設計を生成
するために、このシステム仕様を使用する。
【0025】一旦、システム仕様が取得されると、機能
ブロック図を使用する設計の生成が開始される。ステッ
プ54では、その中でロワレベル設計ブロック間の接続
が表されるトップレベルブロック図が生成される。この
ブロックでは、目標回路、速度階級、及びキータイミン
グ要件が特定され得る。当業者には、このトップレベル
ブロックもまたすでに開発済み、または、実装済みのブ
ロック、あるいは、サードパーティプロバイダから取得
済みのブロックを含み得ることが理解されよう。このト
ップレベルブロックはまた、例えば、外部シュミレータ
といった他の関連設計ツールに用いるためのHDLファ
イル等に変換され得る。
ブロック図を使用する設計の生成が開始される。ステッ
プ54では、その中でロワレベル設計ブロック間の接続
が表されるトップレベルブロック図が生成される。この
ブロックでは、目標回路、速度階級、及びキータイミン
グ要件が特定され得る。当業者には、このトップレベル
ブロックもまたすでに開発済み、または、実装済みのブ
ロック、あるいは、サードパーティプロバイダから取得
済みのブロックを含み得ることが理解されよう。このト
ップレベルブロックはまた、例えば、外部シュミレータ
といった他の関連設計ツールに用いるためのHDLファ
イル等に変換され得る。
【0026】ステップ56は、ステップ54のトップレ
ベルブロックダイアグラム中に存在する全ブロックのた
めの、EDAツールを用いる設計ファイルテンプレート
の生成を含む。設計者が未実装のブロックを生成した
後、システムは設計ファイルテンプレートを生成し得
る。このようなテンプレートは、例えば、タイトル、日
付等を境界周辺に有するウィンド形式でブロックを表示
し得る。テンプレートはまた、ウィンド内に表示される
いくつかの機能的内容の詳細事項を含み得る。設計ファ
イルテンプレートは、VHDL、AHDL、Verilog 、
ブロックダイアグラム、配線略図、あるいは、その他の
類似フォーマットを含む、いかなる特定の設計フォーマ
ットであっても良い。VHDLの場合には、テンプレー
トはまた、多くのフォーマッティング、及びあらゆるV
HDLブロックに必要なシンタックスを含んでいても良
い。ユーザに要求されるのは、テンプレートの取得、及
び要求機能の実装に必要なVHDLシンタックス部分の
追加だけである。
ベルブロックダイアグラム中に存在する全ブロックのた
めの、EDAツールを用いる設計ファイルテンプレート
の生成を含む。設計者が未実装のブロックを生成した
後、システムは設計ファイルテンプレートを生成し得
る。このようなテンプレートは、例えば、タイトル、日
付等を境界周辺に有するウィンド形式でブロックを表示
し得る。テンプレートはまた、ウィンド内に表示される
いくつかの機能的内容の詳細事項を含み得る。設計ファ
イルテンプレートは、VHDL、AHDL、Verilog 、
ブロックダイアグラム、配線略図、あるいは、その他の
類似フォーマットを含む、いかなる特定の設計フォーマ
ットであっても良い。VHDLの場合には、テンプレー
トはまた、多くのフォーマッティング、及びあらゆるV
HDLブロックに必要なシンタックスを含んでいても良
い。ユーザに要求されるのは、テンプレートの取得、及
び要求機能の実装に必要なVHDLシンタックス部分の
追加だけである。
【0027】当業者は、設計に必要な構造的あるいは機
能的エンティティの設計の開始地点として用いられ得る
ものとして設計ファイルテンプレートを認識するであろ
う。したがって、設計ファイルテンプレートは、1つ以
上の設計中における異なるブロックのインスタンスにつ
いての再利用可能なオブジェクトとして作用し得る。よ
り重要なことに、設計ファイルテンプレートは、設計者
がブロック中に論理を生成させるために費やさなければ
ならない労力を低減するために採用されるであろう。発
明の実施の形態の1つでは、設計ファイルテンプレート
の生成は、トップレベルブロックダイアグラムが変化す
る場合、テンプレートが後にアップデートされ得る方法
で実行される。
能的エンティティの設計の開始地点として用いられ得る
ものとして設計ファイルテンプレートを認識するであろ
う。したがって、設計ファイルテンプレートは、1つ以
上の設計中における異なるブロックのインスタンスにつ
いての再利用可能なオブジェクトとして作用し得る。よ
り重要なことに、設計ファイルテンプレートは、設計者
がブロック中に論理を生成させるために費やさなければ
ならない労力を低減するために採用されるであろう。発
明の実施の形態の1つでは、設計ファイルテンプレート
の生成は、トップレベルブロックダイアグラムが変化す
る場合、テンプレートが後にアップデートされ得る方法
で実行される。
【0028】次に、ステップ58では、EDAツールを
使用してトップレベルブロックの各ブロックが実装され
る。一層複雑な設計では、追加のブロック図のレベル
(すなわち、ブロック内のブロック)が存在し得ること
は理解されるべきである。トップレベルにて変更が要求
される場合、トップレベルブロック図がアップデートさ
れ、そして同様にして副設計が好ましくは自動的にアッ
プデートされる。
使用してトップレベルブロックの各ブロックが実装され
る。一層複雑な設計では、追加のブロック図のレベル
(すなわち、ブロック内のブロック)が存在し得ること
は理解されるべきである。トップレベルにて変更が要求
される場合、トップレベルブロック図がアップデートさ
れ、そして同様にして副設計が好ましくは自動的にアッ
プデートされる。
【0029】さらに、ブロックは、所定の設計に要求さ
れるリソースの利用、タイミング性能等に関する情報を
提供するために、特定の集積回路ダイについての寸法合
わせ段階にまでわたってコンパイルされ得る。このよう
に、いくつかのタイミング最適化がステップ58の間、
実行され得ることが想像される。このシーケンスは、そ
の中でエンジニアがまず設計し、続いてコンパイル及び
シュミレートし、そして、シュミレーションの結果が満
足するものでない場合には再び設計に戻る設計方式を説
明する。他の方式では、エンジニアは、最後に完成設計
をコンパイルする前に、シュミレーションループを伴う
多くの設計を繰り返し得る。ブロック実装順序について
考えると、実装順序を決定するために、(1)ブロック
の複雑さ、(2)ブロックに関連する不確実性、あるい
は、リスク、及び/または、(3)ブロックが存在する
所定のデータパス中において上流及び/または下流とど
れ位離れているかといった1つ以上の要因が用いられ得
る。各ステップ60、62、64、66、70はまた、
後に生じる設計の変更によって必要となる追加実装のた
めのこのブロック実装ステップに戻される。
れるリソースの利用、タイミング性能等に関する情報を
提供するために、特定の集積回路ダイについての寸法合
わせ段階にまでわたってコンパイルされ得る。このよう
に、いくつかのタイミング最適化がステップ58の間、
実行され得ることが想像される。このシーケンスは、そ
の中でエンジニアがまず設計し、続いてコンパイル及び
シュミレートし、そして、シュミレーションの結果が満
足するものでない場合には再び設計に戻る設計方式を説
明する。他の方式では、エンジニアは、最後に完成設計
をコンパイルする前に、シュミレーションループを伴う
多くの設計を繰り返し得る。ブロック実装順序について
考えると、実装順序を決定するために、(1)ブロック
の複雑さ、(2)ブロックに関連する不確実性、あるい
は、リスク、及び/または、(3)ブロックが存在する
所定のデータパス中において上流及び/または下流とど
れ位離れているかといった1つ以上の要因が用いられ得
る。各ステップ60、62、64、66、70はまた、
後に生じる設計の変更によって必要となる追加実装のた
めのこのブロック実装ステップに戻される。
【0030】ステップ60では、挙動シュミレータ及
び、例えば、VHDLまたはVerilogテストベンチを用
いて生成されるベクトルを使用してブロックがソースレ
ベルにて機能的にシュミレートされる。シュミレーショ
ンの結果は、ディスプレイに表示されても良く、あるい
は、波形、テキスト、または、ソースファイル上の注釈
として表示/記録されても良い。設計者はまた、再度ブ
ロックを実装するためにステップ58に戻っても良い。
また、この時点で、ブロックはコンパイルされ、あるい
は、ブロックに対するタイミング分析が実行され得る。
び、例えば、VHDLまたはVerilogテストベンチを用
いて生成されるベクトルを使用してブロックがソースレ
ベルにて機能的にシュミレートされる。シュミレーショ
ンの結果は、ディスプレイに表示されても良く、あるい
は、波形、テキスト、または、ソースファイル上の注釈
として表示/記録されても良い。設計者はまた、再度ブ
ロックを実装するためにステップ58に戻っても良い。
また、この時点で、ブロックはコンパイルされ、あるい
は、ブロックに対するタイミング分析が実行され得る。
【0031】一旦、設計者がシュミレーション結果に満
足すると、ステップ62にてブロックが他のブロックと
組み合わされ、また、得られたグループは、一緒にシュ
ミレートされる。ある場合には、重要なリソース及びタ
イミング情報を提供するために全コンパイレーションを
完成することが有用となり得る。また、あるブロックか
らの出力シュミレーションベクトルは、次のブロックに
対する入力シュミレーションベクトルとなり得る。設計
者はまた、トップレベルブロックを修正するためにステ
ップ54に戻っても良く、あるいは、再度ブロックを実
装するためにステップ58に戻っても良い。
足すると、ステップ62にてブロックが他のブロックと
組み合わされ、また、得られたグループは、一緒にシュ
ミレートされる。ある場合には、重要なリソース及びタ
イミング情報を提供するために全コンパイレーションを
完成することが有用となり得る。また、あるブロックか
らの出力シュミレーションベクトルは、次のブロックに
対する入力シュミレーションベクトルとなり得る。設計
者はまた、トップレベルブロックを修正するためにステ
ップ54に戻っても良く、あるいは、再度ブロックを実
装するためにステップ58に戻っても良い。
【0032】次に、ステップ64では、挙動シュミレー
タを用いて設計全体がソースレベルにて機能的にシュミ
レートされる。トップレベルブロック図は、シュミレー
ションの前に完全に特定されると共に、完成設計接続性
を示すことが好ましい。ベクトルは、VHDLまたはVe
rilog テストベンチを用いて生成され得る。再度述べる
と、シュミレーション結果は、波形またはソースファイ
ル上の注釈のいずれかとして表示され得る。設計者はま
た、トップレベルブロックを修正するためにステップ5
4に戻っても良く、あるいは、再度ブロックを実装する
ためにステップ58に戻っても良い。ステップ66で
は、ユーザの設計を実装するためにPLDをプログラム
するために必要な情報を含むファイル、例えば、「プロ
グラミング出力ファイル」を介して設計全体がコンパイ
ルされる。
タを用いて設計全体がソースレベルにて機能的にシュミ
レートされる。トップレベルブロック図は、シュミレー
ションの前に完全に特定されると共に、完成設計接続性
を示すことが好ましい。ベクトルは、VHDLまたはVe
rilog テストベンチを用いて生成され得る。再度述べる
と、シュミレーション結果は、波形またはソースファイ
ル上の注釈のいずれかとして表示され得る。設計者はま
た、トップレベルブロックを修正するためにステップ5
4に戻っても良く、あるいは、再度ブロックを実装する
ためにステップ58に戻っても良い。ステップ66で
は、ユーザの設計を実装するためにPLDをプログラム
するために必要な情報を含むファイル、例えば、「プロ
グラミング出力ファイル」を介して設計全体がコンパイ
ルされる。
【0033】用いられる設計方法論の型及び技術(例え
ば、PCボード、ASIC、PLD等)に基づき幅広い
コンパイル技術が用いられ得る。例えば、2、3のコン
パイレーションの例を以下に示す。PLDでは、コンパ
イレーションは、合成、配置、及び経路決定のステッ
プ、プログラミングファイルの生成、及びシュミレーシ
ョンを含む。カスタムレイアウトを伴う従来の集積回路
設計では、コンパイレーションは、レイアウト対配線略
図の確認、設計規則チェッカー、及びシュミレーション
を含む。高級設計ツールを使用する集積回路設計では、
コンパイレーションは、例えば、VHDLまたはVerilo
g といった言語の合成、自動配置及び経路決定、及びシ
ュミレーションを含む。プリント回路基板では、コンパ
イレーションは、自動経路決定、設計規則確認、パラメ
ータ抽出、及びシュミレーションを含む。当然ながら、
他の形式のコンパイレーション、及び上記形式の変形も
用いられ得る。
ば、PCボード、ASIC、PLD等)に基づき幅広い
コンパイル技術が用いられ得る。例えば、2、3のコン
パイレーションの例を以下に示す。PLDでは、コンパ
イレーションは、合成、配置、及び経路決定のステッ
プ、プログラミングファイルの生成、及びシュミレーシ
ョンを含む。カスタムレイアウトを伴う従来の集積回路
設計では、コンパイレーションは、レイアウト対配線略
図の確認、設計規則チェッカー、及びシュミレーション
を含む。高級設計ツールを使用する集積回路設計では、
コンパイレーションは、例えば、VHDLまたはVerilo
g といった言語の合成、自動配置及び経路決定、及びシ
ュミレーションを含む。プリント回路基板では、コンパ
イレーションは、自動経路決定、設計規則確認、パラメ
ータ抽出、及びシュミレーションを含む。当然ながら、
他の形式のコンパイレーション、及び上記形式の変形も
用いられ得る。
【0034】本発明に係る実施形態では、インクリメン
タルコンパイレーション技術は、複数エンジニアの作業
環境にて上手く機能することが経験的に知られている。
このインクリメンタルコンパイレーション技術の詳細に
ついては、図17、図18、図19及び図20を参照し
て後述する。
タルコンパイレーション技術は、複数エンジニアの作業
環境にて上手く機能することが経験的に知られている。
このインクリメンタルコンパイレーション技術の詳細に
ついては、図17、図18、図19及び図20を参照し
て後述する。
【0035】ステップ66におけるコンパイレーション
に続いて、ステップ68では、コンパイラ内部のタイミ
ングチェッカーが、設計の目標性能が達成されたか否か
を決定するために用いられる。また、性能の詳細を確認
するためにタイミングシュミレーションが用いられる。
さらに、設計性能をさらに最適化するために、設計プロ
ファイラ、及び/又は、レイアウトエディタといった他
の解析ツールが用いられ得る。通常、完全コンパイレー
ションは、設計内の1つ以上の重要なパスの配置を確立
するために要求されるので、最適化は、ステップ68に
先だっては実行されないことが好ましい。設計者はま
た、トップレベルブロックを修正するためにステップ5
4に戻っても良く、あるいは、再度ブロックを実装する
ためにステップ58に戻っても良い。
に続いて、ステップ68では、コンパイラ内部のタイミ
ングチェッカーが、設計の目標性能が達成されたか否か
を決定するために用いられる。また、性能の詳細を確認
するためにタイミングシュミレーションが用いられる。
さらに、設計性能をさらに最適化するために、設計プロ
ファイラ、及び/又は、レイアウトエディタといった他
の解析ツールが用いられ得る。通常、完全コンパイレー
ションは、設計内の1つ以上の重要なパスの配置を確立
するために要求されるので、最適化は、ステップ68に
先だっては実行されないことが好ましい。設計者はま
た、トップレベルブロックを修正するためにステップ5
4に戻っても良く、あるいは、再度ブロックを実装する
ためにステップ58に戻っても良い。
【0036】次に、ステップ70では、プログラミング
ユニット14を使用して回路がプログラム/設定される
と共に、システム内にて試験される。再度述べると、設
計者はまた、トップレベルブロックを修正するためにス
テップ54に戻っても良く、あるいは、再度ブロックを
実装するためにステップ58に戻っても良い。方法論5
0はトップダウン設計プロセスを示す一方で、ボトムア
ップ型方法論をサポートするためにも用いられ得る。こ
れまで、エンジニアがPLD用の設計を開発し得る設計
方法論について説明してきたが、次に、その中で複数の
エンジニアが特定の設計上で共同して作業し得るワーク
グループコンピューティングのフレームワークについて
説明する。
ユニット14を使用して回路がプログラム/設定される
と共に、システム内にて試験される。再度述べると、設
計者はまた、トップレベルブロックを修正するためにス
テップ54に戻っても良く、あるいは、再度ブロックを
実装するためにステップ58に戻っても良い。方法論5
0はトップダウン設計プロセスを示す一方で、ボトムア
ップ型方法論をサポートするためにも用いられ得る。こ
れまで、エンジニアがPLD用の設計を開発し得る設計
方法論について説明してきたが、次に、その中で複数の
エンジニアが特定の設計上で共同して作業し得るワーク
グループコンピューティングのフレームワークについて
説明する。
【0037】「作業空間の概要」図3は、プロジェクト
データベースの一例を模式的に図示する。プロジェクト
データベース100は、PLD用の設計を生成するコン
テキスト中で複数のエンジニアによって利用されるソー
スファイル及び処理結果のデータベースである。プロジ
ェクトデータベース100は、幅広い方法で幅広いコン
ピュータ上に実装され、また、格納される。例えば、プ
ロジェクトデータベース100は、単一コンピュータシ
ステム上に格納されても良く、あるいは、各々が単一エ
ンジニアによって使用されている多数のコンピュータシ
ステム上で実装されることが好ましい。プロジェクトデ
ータベース100は、ネットワーク接続、ケーブル、コ
ンピュータハードウェア又は類似の接続103を介して
ユーザ1作業空間104、ユーザ2作業空間106、及
びユーザ3作業空間108と電気的に接続されているグ
ローバル作業空間102を備えている。
データベースの一例を模式的に図示する。プロジェクト
データベース100は、PLD用の設計を生成するコン
テキスト中で複数のエンジニアによって利用されるソー
スファイル及び処理結果のデータベースである。プロジ
ェクトデータベース100は、幅広い方法で幅広いコン
ピュータ上に実装され、また、格納される。例えば、プ
ロジェクトデータベース100は、単一コンピュータシ
ステム上に格納されても良く、あるいは、各々が単一エ
ンジニアによって使用されている多数のコンピュータシ
ステム上で実装されることが好ましい。プロジェクトデ
ータベース100は、ネットワーク接続、ケーブル、コ
ンピュータハードウェア又は類似の接続103を介して
ユーザ1作業空間104、ユーザ2作業空間106、及
びユーザ3作業空間108と電気的に接続されているグ
ローバル作業空間102を備えている。
【0038】あらゆる数のエンジニアがプロジェクト上
で作業することが可能であり、その結果、あらゆる数の
ユーザ作業空間が存在し得ることは理解されるべきであ
る。グローバル作業空間及び種々のユーザ作業空間は、
異なるファイルディレクトリ等の中の同一コンピュータ
システム上に全て存在し得る。あるいは、各作業空間
は、それ自身又は他の作業空間との組み合わせによって
コンピュータシステム上に存在し得る。他の発明の実施
の形態では、作業空間及び個々のユーザについてのそれ
らのコンテンツを識別するために好適な基準が用いられ
る限り、複数の作業空間が単一ファイルディレクトリ、
フォルダ等の中にかたまって存在することすらあり得
る。
で作業することが可能であり、その結果、あらゆる数の
ユーザ作業空間が存在し得ることは理解されるべきであ
る。グローバル作業空間及び種々のユーザ作業空間は、
異なるファイルディレクトリ等の中の同一コンピュータ
システム上に全て存在し得る。あるいは、各作業空間
は、それ自身又は他の作業空間との組み合わせによって
コンピュータシステム上に存在し得る。他の発明の実施
の形態では、作業空間及び個々のユーザについてのそれ
らのコンテンツを識別するために好適な基準が用いられ
る限り、複数の作業空間が単一ファイルディレクトリ、
フォルダ等の中にかたまって存在することすらあり得
る。
【0039】作業空間は、幅広い情報を含み得ると共
に、多くの形式で実装され得る。例えば、発明の実施の
形態の1つでは、ローカル作業空間は、PLD設計プロ
ジェクトの状態の所定エンジニアのビューであると共に
全てのローカルソースファイルが格納されているディレ
クトリを含み、また、それらソースファイルのセットに
ついての処理操作の結果を示すプロジェクトデータベー
スのビューである。作業空間の概念は、単一の設計につ
いて複数のエンジニアが作業する際に最も意味が有る。
ファイルのバージョン制御が可能なとき、各ユーザ用の
作業空間とは異なるグローバル作業空間がまた存在す
る。例えば、グローバル作業空間は、最後に正式に返却
された全ソースファイルのバージョン、及びそれらファ
イルについての最後に正式に返却された処理操作結果の
バージョンを含むディレクトリとして、中央プロジェク
トデータベースディレクトリを使用することができる。
に、多くの形式で実装され得る。例えば、発明の実施の
形態の1つでは、ローカル作業空間は、PLD設計プロ
ジェクトの状態の所定エンジニアのビューであると共に
全てのローカルソースファイルが格納されているディレ
クトリを含み、また、それらソースファイルのセットに
ついての処理操作の結果を示すプロジェクトデータベー
スのビューである。作業空間の概念は、単一の設計につ
いて複数のエンジニアが作業する際に最も意味が有る。
ファイルのバージョン制御が可能なとき、各ユーザ用の
作業空間とは異なるグローバル作業空間がまた存在す
る。例えば、グローバル作業空間は、最後に正式に返却
された全ソースファイルのバージョン、及びそれらファ
イルについての最後に正式に返却された処理操作結果の
バージョンを含むディレクトリとして、中央プロジェク
トデータベースディレクトリを使用することができる。
【0040】複数のエンジニアが作業する場合、システ
ム中の各設計プロジェクトは、グローバル作業空間及び
各ユーザ用の作業空間を含む。あるいは、各プロジェク
トが他のプロジェクトと好適に識別される限り、ユーザ
は自身の作業空間内の1つ以上の設計プロジェクト上で
作業し得る。ユーザは、ファイルを調査し又は編集する
とき、自身の作業空間内でそれを実行する。各ユーザ
は、自身の作業空間内におけるローカルソースファイル
に基づく処理操作結果を見る。中央データベースが格納
されるグローバル作業空間ディレクトリは、直近に返却
されたグローバル処理操作結果のバージョン又は基底
(全ファイルのコンパイル結果)と共に、直近に返却さ
れた各ファイルのバージョンを有している。
ム中の各設計プロジェクトは、グローバル作業空間及び
各ユーザ用の作業空間を含む。あるいは、各プロジェク
トが他のプロジェクトと好適に識別される限り、ユーザ
は自身の作業空間内の1つ以上の設計プロジェクト上で
作業し得る。ユーザは、ファイルを調査し又は編集する
とき、自身の作業空間内でそれを実行する。各ユーザ
は、自身の作業空間内におけるローカルソースファイル
に基づく処理操作結果を見る。中央データベースが格納
されるグローバル作業空間ディレクトリは、直近に返却
されたグローバル処理操作結果のバージョン又は基底
(全ファイルのコンパイル結果)と共に、直近に返却さ
れた各ファイルのバージョンを有している。
【0041】グローバル作業空間102は、基底112
中にコンパイルされるプロジェクトソースファイル11
0を有している。プロジェクトソースファイル110
は、カレント設計プロジェクト用のソースファイルの全
てを有し、また、メモリ又はディスク上に存在し得る。
ソースファイル110は、グローバル作業空間ソースフ
ァイルについての処理操作結果、又はコンパイル済結果
を含むバイナリデータベースである基底112中にコン
パイルされる。基底112はまた、以下に説明するイン
クリメンタルコンパイルを実行するために個々のユーザ
によって使用される。一旦、コンパイルを実行すると、
ユーザは基底112を自身の処理結果で置換する。した
がって、基底112は、所定時間における所定ユーザに
ついての最近の処理結果と同一たり得る。
中にコンパイルされるプロジェクトソースファイル11
0を有している。プロジェクトソースファイル110
は、カレント設計プロジェクト用のソースファイルの全
てを有し、また、メモリ又はディスク上に存在し得る。
ソースファイル110は、グローバル作業空間ソースフ
ァイルについての処理操作結果、又はコンパイル済結果
を含むバイナリデータベースである基底112中にコン
パイルされる。基底112はまた、以下に説明するイン
クリメンタルコンパイルを実行するために個々のユーザ
によって使用される。一旦、コンパイルを実行すると、
ユーザは基底112を自身の処理結果で置換する。した
がって、基底112は、所定時間における所定ユーザに
ついての最近の処理結果と同一たり得る。
【0042】一体となったソースファイル110は、プ
ロジェクトの定義に必要な全情報を含む。プロジェクト
は階層として表され得る。例えば、プロジェクトのトッ
プレベルはプロジェクトのルートであり、第2レベルは
コントローラブロック、メモリブロック及びALUブロ
ックを含み、(ALUブロックから下った)第3レベル
はマルチプレクサ、加算器、及びマルチピラー等を含み
得る。これら階層の個々のノードは、ソースファイル中
に列挙されている。ソースファイルは、状態マシン、真
理値表及び特定ノードにおける信号波形等を表す。ノー
ドを表すソースファイルは、それらノードの論理操作と
同様にして入力及び出力を表し得る。補助ソースファイ
ルは、どの特定のノードにも直接関連付けられていない
情報を表し得る。例えば、いくつかの補助ファイルは、
付値、あるいは、ベクトルを表し得る。
ロジェクトの定義に必要な全情報を含む。プロジェクト
は階層として表され得る。例えば、プロジェクトのトッ
プレベルはプロジェクトのルートであり、第2レベルは
コントローラブロック、メモリブロック及びALUブロ
ックを含み、(ALUブロックから下った)第3レベル
はマルチプレクサ、加算器、及びマルチピラー等を含み
得る。これら階層の個々のノードは、ソースファイル中
に列挙されている。ソースファイルは、状態マシン、真
理値表及び特定ノードにおける信号波形等を表す。ノー
ドを表すソースファイルは、それらノードの論理操作と
同様にして入力及び出力を表し得る。補助ソースファイ
ルは、どの特定のノードにも直接関連付けられていない
情報を表し得る。例えば、いくつかの補助ファイルは、
付値、あるいは、ベクトルを表し得る。
【0043】個々のユーザは、その中で開発中のカレン
トプロジェクト設計に対して作業する自身の作業空間を
有している。ユーザ1作業空間104は、プロジェクト
ソースファイルのローカルコピー114、処理結果11
6、及びレポートファイル118を有する。ローカルソ
ースファイル114は、ユーザ1が現在編集中、あるい
は、実験中のグローバルソースファイル110のローカ
ルコピーである。ユーザは、あらゆる数のグローバルソ
ースファイル110を転送又はダウンロードすることが
できる。それによりユーザがそれらファイルを取得、編
集、及び返却し得るプロトコルについて図8を参照して
説明する。ローカルソースファイル114を使用する
「インクリメンタルコンパイル」の実行は、処理結果1
16をもたらす。これらの結果116は、コンパイレー
ション結果、対話シュミレータ結果、静的タイミング分
析結果を含むバイナリデータベースの形を採る。処理結
果116は、基底112、全ての未編集グローバルソー
スファイル110、及び全ての局地的に編集されたファ
イル114を使用することによりインクリメンタルコン
パイル上に生成されることが好ましい。処理結果116
は、ユーザ1が第1に処理結果116を見ることができ
るよう、ユーザ1作業空間104中に格納されても良
く、あるいは、例えば、グローバル作業空間102とい
った他の位置に格納されても良いことは理解されるべき
である。
トプロジェクト設計に対して作業する自身の作業空間を
有している。ユーザ1作業空間104は、プロジェクト
ソースファイルのローカルコピー114、処理結果11
6、及びレポートファイル118を有する。ローカルソ
ースファイル114は、ユーザ1が現在編集中、あるい
は、実験中のグローバルソースファイル110のローカ
ルコピーである。ユーザは、あらゆる数のグローバルソ
ースファイル110を転送又はダウンロードすることが
できる。それによりユーザがそれらファイルを取得、編
集、及び返却し得るプロトコルについて図8を参照して
説明する。ローカルソースファイル114を使用する
「インクリメンタルコンパイル」の実行は、処理結果1
16をもたらす。これらの結果116は、コンパイレー
ション結果、対話シュミレータ結果、静的タイミング分
析結果を含むバイナリデータベースの形を採る。処理結
果116は、基底112、全ての未編集グローバルソー
スファイル110、及び全ての局地的に編集されたファ
イル114を使用することによりインクリメンタルコン
パイル上に生成されることが好ましい。処理結果116
は、ユーザ1が第1に処理結果116を見ることができ
るよう、ユーザ1作業空間104中に格納されても良
く、あるいは、例えば、グローバル作業空間102とい
った他の位置に格納されても良いことは理解されるべき
である。
【0044】レポートファイル118は、バイナリデー
タベース処理結果116のユーザ1用のビューである。
レポートファイル118は、最終論理等式、最終階層付
値、特定機能を実装するマクロセルリスト、エラーメッ
セージ、コンパイレーション結果等を含む。レポートフ
ァイル118は、インクリメンタルコンパイルの分析に
際してユーザ1を補助するために他の情報を含み得る。
以下に図9を参照して詳述するように、処理結果116
を生成するために、一旦、ユーザ1がローカルソースフ
ァイルを編集すると共にコンパイルすると、ユーザ1
は、編集済ローカルソースファイル114をグローバル
ソースファイル110に対して返却しても良く、また、
グローバル作業空間中にて基底112を置換するために
処理結果116を返却しても良い。
タベース処理結果116のユーザ1用のビューである。
レポートファイル118は、最終論理等式、最終階層付
値、特定機能を実装するマクロセルリスト、エラーメッ
セージ、コンパイレーション結果等を含む。レポートフ
ァイル118は、インクリメンタルコンパイルの分析に
際してユーザ1を補助するために他の情報を含み得る。
以下に図9を参照して詳述するように、処理結果116
を生成するために、一旦、ユーザ1がローカルソースフ
ァイルを編集すると共にコンパイルすると、ユーザ1
は、編集済ローカルソースファイル114をグローバル
ソースファイル110に対して返却しても良く、また、
グローバル作業空間中にて基底112を置換するために
処理結果116を返却しても良い。
【0045】ユーザ1作業空間104と同様にして、ユ
ーザ2作業空間106は、ソースファイルのローカルコ
ピー120、処理結果122、及びレポートファイル1
24を有する。ユーザ3作業空間108は、ソースファ
イルのローカルコピー126、処理結果128、及びレ
ポートファイル130を有する。以下に詳述するよう
に、各ユーザは好きな数だけプロジェクトソースファイ
ルを自己の作業空間にダウンロードし、自己の作業空間
において局所的に編集し、コンパイレーションを実行
し、また、自身のレポートファイルを通じて自身の処理
結果のローカルバージョンを調べることができる。基底
112はグローバル作業空間中に存在するが、各ユーザ
は、自身の処理結果と最新の基底とを比較するために読
出し専用の基底112のビューを有する。各ユーザはま
た、ユーザについての専用処理結果セットを生成する自
身の専用設計中に特定のファイルの旧バージョンをコン
パイルするためにこれらファイルを引き出し得る。この
方法では、複数のエンジニアが同時に複合PLD設計上
で作業し得る。
ーザ2作業空間106は、ソースファイルのローカルコ
ピー120、処理結果122、及びレポートファイル1
24を有する。ユーザ3作業空間108は、ソースファ
イルのローカルコピー126、処理結果128、及びレ
ポートファイル130を有する。以下に詳述するよう
に、各ユーザは好きな数だけプロジェクトソースファイ
ルを自己の作業空間にダウンロードし、自己の作業空間
において局所的に編集し、コンパイレーションを実行
し、また、自身のレポートファイルを通じて自身の処理
結果のローカルバージョンを調べることができる。基底
112はグローバル作業空間中に存在するが、各ユーザ
は、自身の処理結果と最新の基底とを比較するために読
出し専用の基底112のビューを有する。各ユーザはま
た、ユーザについての専用処理結果セットを生成する自
身の専用設計中に特定のファイルの旧バージョンをコン
パイルするためにこれらファイルを引き出し得る。この
方法では、複数のエンジニアが同時に複合PLD設計上
で作業し得る。
【0046】図3を参照して上述したように、ユーザ
は、潜在的に冗長な概念である全プロジェクトファイル
の完全な再コンパイルを必要とすることなく処理結果を
生成するために、プロジェクトソースファイルのインク
リメンタルコンパイレーションを実行し得る。また、イ
ンクリメンタルコンパイレーションは、種々のシナリオ
で用いられ得るが、インクリメンタルコンパイレーショ
ンのための一つの技術について、図17、図18、図1
9及び図20を参照して後述する。
は、潜在的に冗長な概念である全プロジェクトファイル
の完全な再コンパイルを必要とすることなく処理結果を
生成するために、プロジェクトソースファイルのインク
リメンタルコンパイレーションを実行し得る。また、イ
ンクリメンタルコンパイレーションは、種々のシナリオ
で用いられ得るが、インクリメンタルコンパイレーショ
ンのための一つの技術について、図17、図18、図1
9及び図20を参照して後述する。
【0047】「開発例」図4から図7は、複数のエンジ
ニアによる開発作業の調整を助けるために、その中でイ
ンクリメンタルコンパイラが用いられる本発明に係る発
明の実施の形態を説明する。図4は、その中でユーザが
特定のソースファイルを編集する開発シナリオ150を
図示する。図4にはグローバル作業空間102、ユーザ
2作業空間106及びインクリメンタルコンパイラ16
0が図示されている。グローバル作業空間102は、ソ
ースファイルA,B,C,D110、及びソースファイ
ル110の先のコンパイレーションから派生した基底1
12を有している。
ニアによる開発作業の調整を助けるために、その中でイ
ンクリメンタルコンパイラが用いられる本発明に係る発
明の実施の形態を説明する。図4は、その中でユーザが
特定のソースファイルを編集する開発シナリオ150を
図示する。図4にはグローバル作業空間102、ユーザ
2作業空間106及びインクリメンタルコンパイラ16
0が図示されている。グローバル作業空間102は、ソ
ースファイルA,B,C,D110、及びソースファイ
ル110の先のコンパイレーションから派生した基底1
12を有している。
【0048】ユーザ作業空間106は、ダウンロード済
ファイルD’120及び処理結果122を有している。
このシナリオでは、ユーザはグローバル作業空間からの
ダウンロード済ファイルDを有すると共に、ファイル
D’を生成するためにファイルDを編集する。これらの
変更をファイルDに組み込むと共に修正を試験するため
に、ユーザは設計全体を再コンパイルする必要はなく、
単にインクリメンタルコンパイルだけを実行すればよ
い。インクリメンタルコンパイラ160は、処理結果を
生成するために、基底112、ソースファイルA,B,
C、及び修正済ソースファイルD’をユーザ作業空間1
06から取得する。インクリメンタルコンパイラ160
は、ファイルDに対して加えた変更を反映する処理結果
を生成するために、全ソースファイルの完全再コンパイ
ルを実行せず、基底112及び修正済ファイルD’を使
用することは理解されるべきである。このプロセスは、
全プロジェクトソースファイルの完全な再コンパイルと
比較して短時間で終了する。
ファイルD’120及び処理結果122を有している。
このシナリオでは、ユーザはグローバル作業空間からの
ダウンロード済ファイルDを有すると共に、ファイル
D’を生成するためにファイルDを編集する。これらの
変更をファイルDに組み込むと共に修正を試験するため
に、ユーザは設計全体を再コンパイルする必要はなく、
単にインクリメンタルコンパイルだけを実行すればよ
い。インクリメンタルコンパイラ160は、処理結果を
生成するために、基底112、ソースファイルA,B,
C、及び修正済ソースファイルD’をユーザ作業空間1
06から取得する。インクリメンタルコンパイラ160
は、ファイルDに対して加えた変更を反映する処理結果
を生成するために、全ソースファイルの完全再コンパイ
ルを実行せず、基底112及び修正済ファイルD’を使
用することは理解されるべきである。このプロセスは、
全プロジェクトソースファイルの完全な再コンパイルと
比較して短時間で終了する。
【0049】図5は、満足のいく結果が達成された後、
その中でユーザがファイル及び処理結果を置換する開発
シナリオ170を図示する。図5には、ソースファイル
110及び新規基底113を含むグローバル作業空間1
02が図示されている。ユーザ2作業空間106は、修
正済ファイルD’120及び処理結果122を有してい
る。図4のシナリオ150に続くこのシナリオ170で
は、処理結果122が満足のいく結果なので、ユーザは
ファイルD’に対する自身の修正を用いて満足のいく結
果を達成する。ユーザ2は、ファイルD’をグローバル
ソースファイル110の1つとしてグローバル作業空間
102中に返却し、既存のソースファイルDを上書きし
得る。同時に、ユーザ2はまた、処理結果122を新規
基底133としてグローバル作業空間の中に返却し得
る。
その中でユーザがファイル及び処理結果を置換する開発
シナリオ170を図示する。図5には、ソースファイル
110及び新規基底113を含むグローバル作業空間1
02が図示されている。ユーザ2作業空間106は、修
正済ファイルD’120及び処理結果122を有してい
る。図4のシナリオ150に続くこのシナリオ170で
は、処理結果122が満足のいく結果なので、ユーザは
ファイルD’に対する自身の修正を用いて満足のいく結
果を達成する。ユーザ2は、ファイルD’をグローバル
ソースファイル110の1つとしてグローバル作業空間
102中に返却し、既存のソースファイルDを上書きし
得る。同時に、ユーザ2はまた、処理結果122を新規
基底133としてグローバル作業空間の中に返却し得
る。
【0050】処理結果122はファイルD’の修正に起
因する結果を反映しているので、例えばファイルD’の
ような全ての局所的に修正されたファイルは、グローバ
ル作業空間中で処理結果122が基底を置換する毎にグ
ローバルソースファイル110中に戻されることが好ま
しい。あるいは、ユーザ2は、いかなる局所的に編集さ
れたファイル、又はいかなる生成された新規処理結果を
も置換する必要はなく、それらの編集及び処理結果を破
棄し得る。他の発明の実施の形態では、ユーザ2は、あ
らゆる局所的に修正されたファイルを置換し得るが、処
理結果をグローバル作業空間中に返却する必要はない。
この状況は、インクリメンタルコンパイルのために基底
を使用する追加エンジニアが継続的に変化する基底に直
面しないよう、同一のままカレント基底が保持されるこ
とが要求される場合に望ましい。しかしながら、一旦、
全ての局所修正済ファイル及び対応処理結果がローカル
ユーザ作業空間からグローバル作業空間中に戻される
と、グローバル作業空間は、特定のエンジニアがソース
ファイル上に加えた変更を反映する。
因する結果を反映しているので、例えばファイルD’の
ような全ての局所的に修正されたファイルは、グローバ
ル作業空間中で処理結果122が基底を置換する毎にグ
ローバルソースファイル110中に戻されることが好ま
しい。あるいは、ユーザ2は、いかなる局所的に編集さ
れたファイル、又はいかなる生成された新規処理結果を
も置換する必要はなく、それらの編集及び処理結果を破
棄し得る。他の発明の実施の形態では、ユーザ2は、あ
らゆる局所的に修正されたファイルを置換し得るが、処
理結果をグローバル作業空間中に返却する必要はない。
この状況は、インクリメンタルコンパイルのために基底
を使用する追加エンジニアが継続的に変化する基底に直
面しないよう、同一のままカレント基底が保持されるこ
とが要求される場合に望ましい。しかしながら、一旦、
全ての局所修正済ファイル及び対応処理結果がローカル
ユーザ作業空間からグローバル作業空間中に戻される
と、グローバル作業空間は、特定のエンジニアがソース
ファイル上に加えた変更を反映する。
【0051】図6はその中で2人の異なるエンジニアが
同時にプロジェクト設計上で別々に作業する他のシナリ
オ180を図示する。シナリオ180は、グローバル作
業空間182、ユーザ4作業空間184、ユーザ5作業
空間186及びインクリメンタルコンパイラ188、1
90を図示する。グローバル作業空間182は、ソース
ファイルA,B及び先にコンパイルされた基底112を
有している。このシナリオでは、ユーザ4は、ファイル
A’を生成するために編集のためのファイルAをダウン
ロード済である。この編集結果を評価するために、ユー
ザ4はインクリメンタルコンパイラ188を用いてイン
クリメンタルコンパイルを実行する。インクリメンタル
コンパイラ188は、処理結果192を生成するため
に、基底112、グローバル作業空間からのファイル
B、及びユーザ作業空間からのA’を受け取る。ユーザ
4はファイルAに対する修正の結果を決定するために処
理結果192を確認する。
同時にプロジェクト設計上で別々に作業する他のシナリ
オ180を図示する。シナリオ180は、グローバル作
業空間182、ユーザ4作業空間184、ユーザ5作業
空間186及びインクリメンタルコンパイラ188、1
90を図示する。グローバル作業空間182は、ソース
ファイルA,B及び先にコンパイルされた基底112を
有している。このシナリオでは、ユーザ4は、ファイル
A’を生成するために編集のためのファイルAをダウン
ロード済である。この編集結果を評価するために、ユー
ザ4はインクリメンタルコンパイラ188を用いてイン
クリメンタルコンパイルを実行する。インクリメンタル
コンパイラ188は、処理結果192を生成するため
に、基底112、グローバル作業空間からのファイル
B、及びユーザ作業空間からのA’を受け取る。ユーザ
4はファイルAに対する修正の結果を決定するために処
理結果192を確認する。
【0052】ほとんど同時に、ユーザは、ファイルB’
を生成するために編集用のファイルをダウンロード済で
ある。この編集結果を確認するために、ユーザ5は、イ
ンクリメンタルコンパイラ190を用いてインクリメン
タルコンパイルを実行する。インクリメンタルコンパイ
ラ190は、処理結果194を生成するために、基底1
12、グローバル作業空間からのファイルA、及びユー
ザ作業空間からのB’を受け取る。ユーザ5はファイル
Aに対する修正の結果を決定するために処理結果194
を確認する。
を生成するために編集用のファイルをダウンロード済で
ある。この編集結果を確認するために、ユーザ5は、イ
ンクリメンタルコンパイラ190を用いてインクリメン
タルコンパイルを実行する。インクリメンタルコンパイ
ラ190は、処理結果194を生成するために、基底1
12、グローバル作業空間からのファイルA、及びユー
ザ作業空間からのB’を受け取る。ユーザ5はファイル
Aに対する修正の結果を決定するために処理結果194
を確認する。
【0053】ユーザ4及びユーザ5の双方は、同一イン
クリメンタルコンパイラの異なるコピーを使用しても良
く、異なる型のインクリメンタルコンパイラを使用して
も良く、あるいは、異なる時に同一のコンパイラを使用
しても良い。したがって、ユーザ4及びユーザ5の双方
は、同時にプロジェクトデータベースのソースファイル
を編集し、自身の結果に対してコンパイレーション及び
ビューを実行することができる。一旦、ユーザが達成さ
れた結果に満足すると、取得されたあらゆる編集済ファ
イル及び処理結果は、図7を参照して以下に説明するよ
うにグローバル作業空間中に戻される。
クリメンタルコンパイラの異なるコピーを使用しても良
く、異なる型のインクリメンタルコンパイラを使用して
も良く、あるいは、異なる時に同一のコンパイラを使用
しても良い。したがって、ユーザ4及びユーザ5の双方
は、同時にプロジェクトデータベースのソースファイル
を編集し、自身の結果に対してコンパイレーション及び
ビューを実行することができる。一旦、ユーザが達成さ
れた結果に満足すると、取得されたあらゆる編集済ファ
イル及び処理結果は、図7を参照して以下に説明するよ
うにグローバル作業空間中に戻される。
【0054】図7は、その中でユーザが後に異なるユー
ザによって使用され得るグローバル作業空間に編集済フ
ァイルを返却するシナリオ200を図示している。シナ
リオ200は、グローバル作業空間182、ユーザ作業
空間4(184)、ユーザ作業空間5(186)、及び
インクリメンタルコンパイラ190を図示している。グ
ローバル作業空間182は、ファイルA’ファイルB’
及び新規基底115を有している。先に図6にて示した
ように、ユーザ4はファイルA’を生成するためにファ
イルAをダウンロード済であると共に編集済である。満
足のいく結果が得られると、ユーザ4は、グローバル作
業空間182中で新規基底115を形成する処理結果1
92と共にファイルA’をグローバル作業空間中に返却
する。
ザによって使用され得るグローバル作業空間に編集済フ
ァイルを返却するシナリオ200を図示している。シナ
リオ200は、グローバル作業空間182、ユーザ作業
空間4(184)、ユーザ作業空間5(186)、及び
インクリメンタルコンパイラ190を図示している。グ
ローバル作業空間182は、ファイルA’ファイルB’
及び新規基底115を有している。先に図6にて示した
ように、ユーザ4はファイルA’を生成するためにファ
イルAをダウンロード済であると共に編集済である。満
足のいく結果が得られると、ユーザ4は、グローバル作
業空間182中で新規基底115を形成する処理結果1
92と共にファイルA’をグローバル作業空間中に返却
する。
【0055】この場合、ユーザ5がインクリメンタルコ
ンパイラ190を使用してコンパイルを使用すると、イ
ンクリメンタルコンパイラは、異なる処理結果195を
生成するために新規基底115、新規ファイルA’及び
ユーザのローカル作業空間からのファイルB’を受け取
る。ユーザ4がグローバル作業空間中のファイルAを修
正済ファイルA’で置換すると共に、基底115は今や
先の基底112とは異なるので、これらの処理結果19
5は、図6にて達成された結果194とは異なる。この
方法では、ユーザ5は、他のエンジニアによってデータ
ベースの他の部分に加えられた変更の恩恵を受けなが
ら、プロジェクトデータベースの一部で継続して作業が
可能である。したがって、ユーザ4が基底と共に修正済
ファイルを返却することによる利点は、他のエンジニア
が既に変更済のファイルにアクセス可能であると共に、
ユーザ4によって加えられた変更結果を確認し得る所に
ある。あるいは、ユーザ4はいかなるファイル又は基底
も返却する必要はなく、この場合には、ユーザ5につい
ての処理結果は変更されない。
ンパイラ190を使用してコンパイルを使用すると、イ
ンクリメンタルコンパイラは、異なる処理結果195を
生成するために新規基底115、新規ファイルA’及び
ユーザのローカル作業空間からのファイルB’を受け取
る。ユーザ4がグローバル作業空間中のファイルAを修
正済ファイルA’で置換すると共に、基底115は今や
先の基底112とは異なるので、これらの処理結果19
5は、図6にて達成された結果194とは異なる。この
方法では、ユーザ5は、他のエンジニアによってデータ
ベースの他の部分に加えられた変更の恩恵を受けなが
ら、プロジェクトデータベースの一部で継続して作業が
可能である。したがって、ユーザ4が基底と共に修正済
ファイルを返却することによる利点は、他のエンジニア
が既に変更済のファイルにアクセス可能であると共に、
ユーザ4によって加えられた変更結果を確認し得る所に
ある。あるいは、ユーザ4はいかなるファイル又は基底
も返却する必要はなく、この場合には、ユーザ5につい
ての処理結果は変更されない。
【0056】他の発明の実施の形態では、ユーザ5は、
他のエンジニアが返却した変更に従い自身の結果が変更
されることを望まない場合には、自身を孤立モードに置
くことができる。孤立モードでは、ユーザ5はあたかも
グローバル作業空間の私的コピー所有し、また、作業空
間のこのコピーにインクリメンタルコンパイレーション
を実行するように見える。実際に作業空間全体をコピー
する必要はなく、ソフトウェアがグローバル作業空間中
に含まれているファイルの異なるバージョンを管理す
る。例えば、ユーザ4が編集済ファイルA’及び処理結
果192をグローバル作業空間中に返却する場合、ソフ
トウェアは、ユーザ5が孤立モード下にあることを記憶
し、ユーザ5が新規ファイルA’及び新規基底115の
代わりに旧ファイルA及び旧基底112を継続して受け
取ることができるようにする。
他のエンジニアが返却した変更に従い自身の結果が変更
されることを望まない場合には、自身を孤立モードに置
くことができる。孤立モードでは、ユーザ5はあたかも
グローバル作業空間の私的コピー所有し、また、作業空
間のこのコピーにインクリメンタルコンパイレーション
を実行するように見える。実際に作業空間全体をコピー
する必要はなく、ソフトウェアがグローバル作業空間中
に含まれているファイルの異なるバージョンを管理す
る。例えば、ユーザ4が編集済ファイルA’及び処理結
果192をグローバル作業空間中に返却する場合、ソフ
トウェアは、ユーザ5が孤立モード下にあることを記憶
し、ユーザ5が新規ファイルA’及び新規基底115の
代わりに旧ファイルA及び旧基底112を継続して受け
取ることができるようにする。
【0057】ユーザ4は、グローバル作業空間中のファ
イルAをファイルA’で置換し得るが、基底112を処
理結果192では置換し得ない。この方法では、基底が
変更されていないので、ユーザ5はインクリメンタルコ
ンパイレーションを用いてユーザ4によって形成された
変更を確認しない。この実施の形態は、ユーザ5が「孤
立」モードで作業することを望み、他のユーザにより基
底に加えられた変更に煩わされないことを望む場合に有
用であり、ファイル及び/又は処理結果をグローバル作
業空間内で置換せずにおくことが可能である。本発明の
実施の形態の1つでは、図8を参照して以下に説明する
エンジニアによる開発作業を調整するために、グローバ
ル作業空間からユーザのローカル作業空間にダウンロー
ドされた各ファイルに対して種々のファイル状態の1つ
が割り当てられる。
イルAをファイルA’で置換し得るが、基底112を処
理結果192では置換し得ない。この方法では、基底が
変更されていないので、ユーザ5はインクリメンタルコ
ンパイレーションを用いてユーザ4によって形成された
変更を確認しない。この実施の形態は、ユーザ5が「孤
立」モードで作業することを望み、他のユーザにより基
底に加えられた変更に煩わされないことを望む場合に有
用であり、ファイル及び/又は処理結果をグローバル作
業空間内で置換せずにおくことが可能である。本発明の
実施の形態の1つでは、図8を参照して以下に説明する
エンジニアによる開発作業を調整するために、グローバ
ル作業空間からユーザのローカル作業空間にダウンロー
ドされた各ファイルに対して種々のファイル状態の1つ
が割り当てられる。
【0058】「バージョン管理」ユーザの視点から可能
性有るファイル状態の説明に入る前に、バージョン管理
(あるいは、改訂)について説明する。バージョン管理
はユーザが既に修正済の前バージョンのファイルを保存
し、復元することを許容する。単一ユーザ環境では、こ
れは、ユーザがファイルに対する一連の重要な変更を
「アンドゥ」することを望むときの「バックトラッキン
グ」を容易にするために有用である。また、偶発的なデ
ータ損失を防止するためにも有効である。複数ユーザ環
境では、共有ファイルに対するアクセスの調整に有効で
あり、この結果、2人のユーザは偶発的に同時に同一フ
ァイルを編集ことがない。
性有るファイル状態の説明に入る前に、バージョン管理
(あるいは、改訂)について説明する。バージョン管理
はユーザが既に修正済の前バージョンのファイルを保存
し、復元することを許容する。単一ユーザ環境では、こ
れは、ユーザがファイルに対する一連の重要な変更を
「アンドゥ」することを望むときの「バックトラッキン
グ」を容易にするために有用である。また、偶発的なデ
ータ損失を防止するためにも有効である。複数ユーザ環
境では、共有ファイルに対するアクセスの調整に有効で
あり、この結果、2人のユーザは偶発的に同時に同一フ
ァイルを編集ことがない。
【0059】幅広いバージョン管理システムが本発明と
共に好適に用いられ得る。例えば、EDAツールは、中
央データベースにカスタムビルトインされた完全バージ
ョン管理システムを有し得る。このシステムは、処理操
作結果の複数のバージョンと共にソースファイルの複数
のバージョンが維持されることを許容する。また、ED
Aツールは、例えば、PVCS、RCS及びSCCSと
いったいくつかの主要で最も一般的なバージョン管理シ
ステムについてのビルトインサポートを有し得る。PV
CSは、PC型コンピュータ上で一般的であるが、RC
S及びSCCSが標準的なバージョン管理システムでは
あるUNIX上でも利用可能である。さらに、顧客は自
身のバージョン管理システムを本発明と共に使用するE
DAツール中に統合することができる。
共に好適に用いられ得る。例えば、EDAツールは、中
央データベースにカスタムビルトインされた完全バージ
ョン管理システムを有し得る。このシステムは、処理操
作結果の複数のバージョンと共にソースファイルの複数
のバージョンが維持されることを許容する。また、ED
Aツールは、例えば、PVCS、RCS及びSCCSと
いったいくつかの主要で最も一般的なバージョン管理シ
ステムについてのビルトインサポートを有し得る。PV
CSは、PC型コンピュータ上で一般的であるが、RC
S及びSCCSが標準的なバージョン管理システムでは
あるUNIX上でも利用可能である。さらに、顧客は自
身のバージョン管理システムを本発明と共に使用するE
DAツール中に統合することができる。
【0060】本明細書中にて説明する本発明は、バージ
ョンの線形リストをサポートする(すなわち、ファイル
の分岐バージョンをサポートする必要はない)バージョ
ン管理システムと上手く作用する。線形リストのバージ
ョン管理システムを用いることにより、最も直近のバー
ジョンのファイルだけが編集され得る。この線形リスト
を用いることにより、旧バージョンをリストの最後に移
動することが可能になり、この結果、最も直近のバージ
ョンと旧バージョン間の全編集をアンドゥすることがで
きる。しかしながら、旧バージョンと最新バージョンの
同時編集は、旧バージョンの改訂箇所に分岐を必要とす
るので、線形リストを用いると旧バージョンと最新バー
ジョンの同時編集は不可能となる。本発明はまた、ファ
イルバージョンの分岐を許容するバージョン管理システ
ムとの使用に好適である。
ョンの線形リストをサポートする(すなわち、ファイル
の分岐バージョンをサポートする必要はない)バージョ
ン管理システムと上手く作用する。線形リストのバージ
ョン管理システムを用いることにより、最も直近のバー
ジョンのファイルだけが編集され得る。この線形リスト
を用いることにより、旧バージョンをリストの最後に移
動することが可能になり、この結果、最も直近のバージ
ョンと旧バージョン間の全編集をアンドゥすることがで
きる。しかしながら、旧バージョンと最新バージョンの
同時編集は、旧バージョンの改訂箇所に分岐を必要とす
るので、線形リストを用いると旧バージョンと最新バー
ジョンの同時編集は不可能となる。本発明はまた、ファ
イルバージョンの分岐を許容するバージョン管理システ
ムとの使用に好適である。
【0061】バージョン管理システムはまた、チェック
ポイント及びロールバック機能を提供することが好まし
い。ユーザがチェックポイント命令を発行すると、全フ
ァイルの全カレントバージョンは、システムによってラ
ベル付けられると共に保存される。ロールバックの使用
により、ユーザはプロジェクトの状態を以前の状態に復
元することができる。ユーザは、以前の処理操作結果を
使用するため又は確認するために、あるいは、特定ファ
イルの以前のバージョンを使用するため又は確認するた
めに、これらチェックポイント状態に戻ることができ
る。所定ユーザは、自身の設計をコンパイルしたときに
生成されるローカルチェックポイントを確認することが
できると共に、いずれかのユーザがファイルをグローバ
ル作業空間に返却する際に生成されるグローバルチェッ
クポイントを確認することができる。グローバルチェッ
クポイントの使用は、全ユーザが認識できるチェックポ
イントを生成するので、このように呼ばれる。ローカル
チェックポイントとグローバルチェックポイントとの違
いの1つは、ローカルチェックポイントはそれを生成し
たユーザだけが利用可能であるのに対し、グローバルチ
ェックポイントは全ユーザが利用可能である点にある。
両種類のチェックポイントは自動的に生成され得、ラベ
ルがユーザによって名付けられていない場合には、チェ
ックポイントは日時スタンプを用いて識別される。ある
いは、ユーザは手動でチェックポイントを生成し得る。
ポイント及びロールバック機能を提供することが好まし
い。ユーザがチェックポイント命令を発行すると、全フ
ァイルの全カレントバージョンは、システムによってラ
ベル付けられると共に保存される。ロールバックの使用
により、ユーザはプロジェクトの状態を以前の状態に復
元することができる。ユーザは、以前の処理操作結果を
使用するため又は確認するために、あるいは、特定ファ
イルの以前のバージョンを使用するため又は確認するた
めに、これらチェックポイント状態に戻ることができ
る。所定ユーザは、自身の設計をコンパイルしたときに
生成されるローカルチェックポイントを確認することが
できると共に、いずれかのユーザがファイルをグローバ
ル作業空間に返却する際に生成されるグローバルチェッ
クポイントを確認することができる。グローバルチェッ
クポイントの使用は、全ユーザが認識できるチェックポ
イントを生成するので、このように呼ばれる。ローカル
チェックポイントとグローバルチェックポイントとの違
いの1つは、ローカルチェックポイントはそれを生成し
たユーザだけが利用可能であるのに対し、グローバルチ
ェックポイントは全ユーザが利用可能である点にある。
両種類のチェックポイントは自動的に生成され得、ラベ
ルがユーザによって名付けられていない場合には、チェ
ックポイントは日時スタンプを用いて識別される。ある
いは、ユーザは手動でチェックポイントを生成し得る。
【0062】ソースファイル及び処理操作結果の前バー
ジョンに戻り得るということは、ユーザにとってしばし
ば有用である。この前バージョンへの戻りは、ロールバ
ックと呼ばれている。この前バージョンは、ユーザが現
在達成しようとしている結果よりも良い結果を提供し
得、あるいは、前バージョンは現在のバージョンよりも
少ないバグを有し得る。
ジョンに戻り得るということは、ユーザにとってしばし
ば有用である。この前バージョンへの戻りは、ロールバ
ックと呼ばれている。この前バージョンは、ユーザが現
在達成しようとしている結果よりも良い結果を提供し
得、あるいは、前バージョンは現在のバージョンよりも
少ないバグを有し得る。
【0063】ユーザが所定のチェックポイントに対する
ロールバックを要求すると、設計についてのソースファ
イルは、状態をチェックポイント時点でのファイル状態
に一致させるために、EDAツールによって自動的に確
認されると共に「編集」される。ユーザがこのロールバ
ックの結果を気に入る場合には、ユーザは通常行うよう
にしてこれら自動編集結果をグローバル作業空間に返却
することができる。ユーザはまた、このロールバック状
態のコンパイラデータベースを返却することができる。
これら編集及びコンパイラデータベースの返却は、今や
他の全ユーザが識別し得る更新ソースファイル及び更新
コンパイラデータベースを生成する。さらに、ユーザ
は、設計の全状態をロールバックする代わりに、個別フ
ァイルをロールバックすることができる。この場合、個
別ファイル自身は変更されるが、他の全ファイルは現在
の状態のまま残される。
ロールバックを要求すると、設計についてのソースファ
イルは、状態をチェックポイント時点でのファイル状態
に一致させるために、EDAツールによって自動的に確
認されると共に「編集」される。ユーザがこのロールバ
ックの結果を気に入る場合には、ユーザは通常行うよう
にしてこれら自動編集結果をグローバル作業空間に返却
することができる。ユーザはまた、このロールバック状
態のコンパイラデータベースを返却することができる。
これら編集及びコンパイラデータベースの返却は、今や
他の全ユーザが識別し得る更新ソースファイル及び更新
コンパイラデータベースを生成する。さらに、ユーザ
は、設計の全状態をロールバックする代わりに、個別フ
ァイルをロールバックすることができる。この場合、個
別ファイル自身は変更されるが、他の全ファイルは現在
の状態のまま残される。
【0064】バージョン管理が用いられると、他のファ
イル状態が可能であるが、ファイルは、あるユーザの視
点からはデフォルト、ロック、被所有書込み及び被所有
読みだし専用といった状態を有し得る。これらファイル
状態について図8〜図11を参照して詳述する。
イル状態が可能であるが、ファイルは、あるユーザの視
点からはデフォルト、ロック、被所有書込み及び被所有
読みだし専用といった状態を有し得る。これらファイル
状態について図8〜図11を参照して詳述する。
【0065】「ユーザファイル状態」発明の実施の形態
の1つでは、グローバル作業空間252からユーザ作業
空間254へ転送されたソースファイルは、図8のシナ
リオ250に示される種々の状態を有する。グローバル
作業空間252は、ソースファイルA(258)、ソー
スファイルB(258)、ソースファイルC(26
0)、ソースファイルD(262)を含む。ユーザ作業
空間254は、ソースファイルA’(266)、ソース
ファイルB’(268)、ソースファイルC’(27
0)、ソースファイルD’(272)の形のこれらソー
スファイルの転送済コピーを含む。この説明例では、こ
れらローカルファイルの各々は、ユーザによって異なる
状態に割り当てられている。当然ながら、全ソースファ
イルがローカル作業空間に転送される必要はなく、ま
た、異なるソースファイルは同一の状態を有し得る。
の1つでは、グローバル作業空間252からユーザ作業
空間254へ転送されたソースファイルは、図8のシナ
リオ250に示される種々の状態を有する。グローバル
作業空間252は、ソースファイルA(258)、ソー
スファイルB(258)、ソースファイルC(26
0)、ソースファイルD(262)を含む。ユーザ作業
空間254は、ソースファイルA’(266)、ソース
ファイルB’(268)、ソースファイルC’(27
0)、ソースファイルD’(272)の形のこれらソー
スファイルの転送済コピーを含む。この説明例では、こ
れらローカルファイルの各々は、ユーザによって異なる
状態に割り当てられている。当然ながら、全ソースファ
イルがローカル作業空間に転送される必要はなく、ま
た、異なるソースファイルは同一の状態を有し得る。
【0066】ユーザ作業空間254中のファイルA’
(266)は、そのユーザだけが読出し得ることを意味
するデフォルト状態にあり、グローバル作業空間中のフ
ァイルA(256)の全ての新規バージョンは自動的に
引き出され、ユーザ作業空間に転送される。したがっ
て、ファイルA及びファイルA’の内容は同一である。
この結果、デフォルト状態はユーザがグローバルソース
ファイルの現在のバージョンを確認することを許容する
が、ユーザがそのファイルを編集することは許容しな
い。このデフォルト状態は、例えば、他のユーザが現
在、特定のファイルを編集しているが、そのファイルが
変更されたとしてもその他のユーザが未だ読出し得るこ
とを必要としない場合に有用である。ローカルファイル
をデフォルト状態に置くことにより、ソースファイルは
自動的にローカルユーザ作業空間中に引き出される。グ
ローバル作業空間ファイルは、多くの異なる時間に自動
的に引き出される。例えば、ローカルファイルがユーザ
によって開かれたとき、ユーザがコンパイル命令を発行
するとき、あるいはその他のあらゆる好適な時間に引き
出され得る。
(266)は、そのユーザだけが読出し得ることを意味
するデフォルト状態にあり、グローバル作業空間中のフ
ァイルA(256)の全ての新規バージョンは自動的に
引き出され、ユーザ作業空間に転送される。したがっ
て、ファイルA及びファイルA’の内容は同一である。
この結果、デフォルト状態はユーザがグローバルソース
ファイルの現在のバージョンを確認することを許容する
が、ユーザがそのファイルを編集することは許容しな
い。このデフォルト状態は、例えば、他のユーザが現
在、特定のファイルを編集しているが、そのファイルが
変更されたとしてもその他のユーザが未だ読出し得るこ
とを必要としない場合に有用である。ローカルファイル
をデフォルト状態に置くことにより、ソースファイルは
自動的にローカルユーザ作業空間中に引き出される。グ
ローバル作業空間ファイルは、多くの異なる時間に自動
的に引き出される。例えば、ローカルファイルがユーザ
によって開かれたとき、ユーザがコンパイル命令を発行
するとき、あるいはその他のあらゆる好適な時間に引き
出され得る。
【0067】ファイルB’(268)は、ユーザが編集
するためにグローバル作業空間からファイルB(25
8)の最新バージョンを転送済であることを意味するロ
ック状態にある。したがって、ユーザはファイルB’
(268)上であらゆる編集を実行することが可能であ
ると共に、このファイルをグローバル作業空間に返却す
ることも可能であり、この結果、グローバル作業空間中
におけるファイルB(258)の上書き及び更新を実行
することができる。ローカルユーザによってファイル
B’に割り当てられたこのロック状態は、ファイルB
(258)に対応するグローバル作業空間に反映され、
この結果、このファイルは他のユーザによって同時に取
得されず、また編集されない。ロック状態は、最後には
他のユーザと共有されるファイルを専有して編集したい
と望むユーザをサポートする。
するためにグローバル作業空間からファイルB(25
8)の最新バージョンを転送済であることを意味するロ
ック状態にある。したがって、ユーザはファイルB’
(268)上であらゆる編集を実行することが可能であ
ると共に、このファイルをグローバル作業空間に返却す
ることも可能であり、この結果、グローバル作業空間中
におけるファイルB(258)の上書き及び更新を実行
することができる。ローカルユーザによってファイル
B’に割り当てられたこのロック状態は、ファイルB
(258)に対応するグローバル作業空間に反映され、
この結果、このファイルは他のユーザによって同時に取
得されず、また編集されない。ロック状態は、最後には
他のユーザと共有されるファイルを専有して編集したい
と望むユーザをサポートする。
【0068】ユーザがあらゆるバージョンのソースファ
イルを読み出し、または、編集したいと望む場合、被所
有状態が用いられ得る。ファイルC’(270)は、グ
ローバル作業空間からのファイルCの全てのバージョン
がユーザ作業空間に転送され得ることを意味する被所有
書込み状態にあり、その後、ユーザはファイルC’(2
70)に対してあらゆる変更を加えることができるが、
ファイルC’をグローバル作業空間へは返却することが
できない。この状態は、他のユーザが既にファイルCを
取得していると共に編集済である場合に有用であるが、
作業空間254の現在のユーザは、それらの変更が自身
の設計にどのように影響を及ぼすかを確認するために、
依然としてファイルCに対して変更を加えることを望
む。しかしながら、被所有書込み状態で編集されたファ
イルは、グローバル作業空間中へは戻され得ない。
イルを読み出し、または、編集したいと望む場合、被所
有状態が用いられ得る。ファイルC’(270)は、グ
ローバル作業空間からのファイルCの全てのバージョン
がユーザ作業空間に転送され得ることを意味する被所有
書込み状態にあり、その後、ユーザはファイルC’(2
70)に対してあらゆる変更を加えることができるが、
ファイルC’をグローバル作業空間へは返却することが
できない。この状態は、他のユーザが既にファイルCを
取得していると共に編集済である場合に有用であるが、
作業空間254の現在のユーザは、それらの変更が自身
の設計にどのように影響を及ぼすかを確認するために、
依然としてファイルCに対して変更を加えることを望
む。しかしながら、被所有書込み状態で編集されたファ
イルは、グローバル作業空間中へは戻され得ない。
【0069】ファイルD’(272)は、ファイルD2
62のあらゆるバージョンがグローバル作業空間からユ
ーザ作業空間へ転送され得ることを意味する被所有読み
だし専用状態にある。しかしながら、ファイルD’(2
72)は、書き込みされ得ず、読み出され得るだけであ
る。被所有読出し専用状態のファイルを有することによ
り、ファイルに対するあらゆる偶発的な書込みが防止さ
れ、また、ユーザがファイルの自動的な更新を望まない
場合には、被所有読出し専用状態は有用である。上述し
た孤立モードは、被所有読出し専用状態に対してデフォ
ルト状態にある全ファイルを変更することにより達成さ
れ得る。
62のあらゆるバージョンがグローバル作業空間からユ
ーザ作業空間へ転送され得ることを意味する被所有読み
だし専用状態にある。しかしながら、ファイルD’(2
72)は、書き込みされ得ず、読み出され得るだけであ
る。被所有読出し専用状態のファイルを有することによ
り、ファイルに対するあらゆる偶発的な書込みが防止さ
れ、また、ユーザがファイルの自動的な更新を望まない
場合には、被所有読出し専用状態は有用である。上述し
た孤立モードは、被所有読出し専用状態に対してデフォ
ルト状態にある全ファイルを変更することにより達成さ
れ得る。
【0070】図9は、発明の実施の形態の1つに従う各
特定の状態に関連するオプションを示す表である。表3
00は一例であり、幅広いオプション、パラメータ、及
び設定が各状態に関連付けられ得ることは理解されるべ
きである。表300は、ユーザのローカル作業空間中に
存在する転送済ファイルに対して割り当てられ得る種々
の状態を列挙する列302を含んでいる。これらの各状
態について、列304は、ローカルファイルが書き込み
され得るか否かを示し、列306は、ローカルファイル
がグローバル作業空間に戻され得るか否かを示し、列3
08は、どのバージョンのファイルが転送され得るかを
示し、また、列310は、ソースファイルがグローバル
作業空間からユーザのローカル作業空間へ自動的に引き
出され得るか否かを示す。
特定の状態に関連するオプションを示す表である。表3
00は一例であり、幅広いオプション、パラメータ、及
び設定が各状態に関連付けられ得ることは理解されるべ
きである。表300は、ユーザのローカル作業空間中に
存在する転送済ファイルに対して割り当てられ得る種々
の状態を列挙する列302を含んでいる。これらの各状
態について、列304は、ローカルファイルが書き込み
され得るか否かを示し、列306は、ローカルファイル
がグローバル作業空間に戻され得るか否かを示し、列3
08は、どのバージョンのファイルが転送され得るかを
示し、また、列310は、ソースファイルがグローバル
作業空間からユーザのローカル作業空間へ自動的に引き
出され得るか否かを示す。
【0071】表300は、本発明の実施の形態の1つに
おいて好適に用いられる種々の状態を示す行を有する。
幅広い他の状態もまた本発明と共に用いられ得ることは
理解されるべきである。図8にて既述したように、デフ
ォルト状態320、ロック状態322、及び被所有書込
み状態324及び被所有読出し専用状態326が含まれ
る。デフォルト状態では、グローバル作業空間から既に
引き出されたローカルファイルは書き込みされ得ないと
共にグローバル作業空間に戻され得ず、また、そのファ
イルの最新バージョンが自動的にグローバル作業空間か
ら引き出されてユーザのローカル作業空間に転送され
る。ロック状態322では、ユーザのローカル作業空間
に転送済のローカルファイルは、書き込みされ得ると共
にグローバル作業空間に戻され得るが、そのファイルの
最新バージョンだけが編集され得る。このロック状態で
は、グローバル作業空間中におけるそのファイルの最新
バージョンがロックされていると共に、ファイルロック
を有するユーザがファイルをグローバル作業空間に返却
するまで、他の者による編集又は変更が不可能なので、
自動引出は適用できない。
おいて好適に用いられる種々の状態を示す行を有する。
幅広い他の状態もまた本発明と共に用いられ得ることは
理解されるべきである。図8にて既述したように、デフ
ォルト状態320、ロック状態322、及び被所有書込
み状態324及び被所有読出し専用状態326が含まれ
る。デフォルト状態では、グローバル作業空間から既に
引き出されたローカルファイルは書き込みされ得ないと
共にグローバル作業空間に戻され得ず、また、そのファ
イルの最新バージョンが自動的にグローバル作業空間か
ら引き出されてユーザのローカル作業空間に転送され
る。ロック状態322では、ユーザのローカル作業空間
に転送済のローカルファイルは、書き込みされ得ると共
にグローバル作業空間に戻され得るが、そのファイルの
最新バージョンだけが編集され得る。このロック状態で
は、グローバル作業空間中におけるそのファイルの最新
バージョンがロックされていると共に、ファイルロック
を有するユーザがファイルをグローバル作業空間に返却
するまで、他の者による編集又は変更が不可能なので、
自動引出は適用できない。
【0072】被所有書込み状態324はローカルファイ
ルが編集されることを許容するが、そのファイルがグロ
ーバル作業空間中に戻されることは許容しない。そのフ
ァイルのあらゆるバージョンが局所的に転送され得ると
共に編集され得るが、ソースファイルは自動的には引き
出されない。被所有読出し専用状態326では、ファイ
ルのあらゆるバージョンがローカル作業空間に転送され
得るが、ローカルファイルは書き込みされ得ず、また、
自動検索は利用できない。種々の他のオプションを提供
するユーザ作業空間内のローカルファイルの他の状態も
また意図される。
ルが編集されることを許容するが、そのファイルがグロ
ーバル作業空間中に戻されることは許容しない。そのフ
ァイルのあらゆるバージョンが局所的に転送され得ると
共に編集され得るが、ソースファイルは自動的には引き
出されない。被所有読出し専用状態326では、ファイ
ルのあらゆるバージョンがローカル作業空間に転送され
得るが、ローカルファイルは書き込みされ得ず、また、
自動検索は利用できない。種々の他のオプションを提供
するユーザ作業空間内のローカルファイルの他の状態も
また意図される。
【0073】図10はさらに、その中で複数のユーザが
PLD用の設計を共同して開発するシナリオ350を通
じた異なるファイル状態を図示する。シナリオ350
は、グローバル作業空間352及びユーザ1(35
4)、ユーザ2(356)、ユーザ3(358)、ユー
ザ4(360)、ユーザ5(362)、ユーザ6(36
4)についてのユーザ作業空間を含む。グローバル作業
空間352は、ファイルA,ファイルB,ファイルCを
含むソースファイル370を有する。この例では、好適
なバージョン管理システムを通じて特定ソースファイル
のあらゆる前バージョンがグローバル作業空間からも入
手可能であるが、バージョン2.0がこれらのプロジェ
クトソースファイルについて入手可能な最新バージョン
である。
PLD用の設計を共同して開発するシナリオ350を通
じた異なるファイル状態を図示する。シナリオ350
は、グローバル作業空間352及びユーザ1(35
4)、ユーザ2(356)、ユーザ3(358)、ユー
ザ4(360)、ユーザ5(362)、ユーザ6(36
4)についてのユーザ作業空間を含む。グローバル作業
空間352は、ファイルA,ファイルB,ファイルCを
含むソースファイル370を有する。この例では、好適
なバージョン管理システムを通じて特定ソースファイル
のあらゆる前バージョンがグローバル作業空間からも入
手可能であるが、バージョン2.0がこれらのプロジェ
クトソースファイルについて入手可能な最新バージョン
である。
【0074】この実施の形態では、ユーザ1はファイル
A(380)を自身の作業空間354に転送済である。
ユーザ1は、その間ユーザ1だけがファイルAを編集可
能であり、編集終了時にはファイルAをグローバル作業
空間に返却し得ることを示すロック状態にファイルAの
最新バージョン2.0を既に置いている。最新バージョ
ンが自動的にグローバル作業空間から引き出されるよう
に、ユーザ2もまた、自身の作業空間356にファイル
Aを転送済であると共にファイルAに対してデフォルト
状態を割り当て済である。
A(380)を自身の作業空間354に転送済である。
ユーザ1は、その間ユーザ1だけがファイルAを編集可
能であり、編集終了時にはファイルAをグローバル作業
空間に返却し得ることを示すロック状態にファイルAの
最新バージョン2.0を既に置いている。最新バージョ
ンが自動的にグローバル作業空間から引き出されるよう
に、ユーザ2もまた、自身の作業空間356にファイル
Aを転送済であると共にファイルAに対してデフォルト
状態を割り当て済である。
【0075】ユーザ3は、ファイルAの旧バージョンに
変更を加えるために、バージョン1.0のファイルA3
84を自身のローカル作業空間に転送済である。この被
所有書込み状態では、ファイルA384はグローバル作
業空間に転送され得ない。ユーザ3は、バージョン1.
0のファイルAに関連するPLD設計の局面を改良する
ために、このファイルAの旧バージョンを編集すると共
にコンパイルすることができる。ユーザ4はファイルA
(386)及びファイルB(388)の双方を自身のロ
ーカル作業空間360に転送済である。ファイルAは、
ユーザ4はまたファイルAの最新バージョンをグローバ
ル作業空間から自動的に引き出すことを意味する、ユー
ザ2によってファイルAが置かれた状態に類似するデフ
ォルト状態に置かれている。ユーザ4はまた現在ファイ
ルBを編集中であり、したがってファイルBをロック状
態に置いている。(ユーザ1からの)ファイルA及び
(ユーザ4からの)ファイルBについてのロック状態は
共に、これらファイルがロックされている間、他のユー
ザによるこれらのファイルの編集を防止するために、フ
ラグ、セットビット、ブール、フィールド、又はソース
ファイルデータベース中の他の識別子の形でグローバル
作業空間中に反映される。
変更を加えるために、バージョン1.0のファイルA3
84を自身のローカル作業空間に転送済である。この被
所有書込み状態では、ファイルA384はグローバル作
業空間に転送され得ない。ユーザ3は、バージョン1.
0のファイルAに関連するPLD設計の局面を改良する
ために、このファイルAの旧バージョンを編集すると共
にコンパイルすることができる。ユーザ4はファイルA
(386)及びファイルB(388)の双方を自身のロ
ーカル作業空間360に転送済である。ファイルAは、
ユーザ4はまたファイルAの最新バージョンをグローバ
ル作業空間から自動的に引き出すことを意味する、ユー
ザ2によってファイルAが置かれた状態に類似するデフ
ォルト状態に置かれている。ユーザ4はまた現在ファイ
ルBを編集中であり、したがってファイルBをロック状
態に置いている。(ユーザ1からの)ファイルA及び
(ユーザ4からの)ファイルBについてのロック状態は
共に、これらファイルがロックされている間、他のユー
ザによるこれらのファイルの編集を防止するために、フ
ラグ、セットビット、ブール、フィールド、又はソース
ファイルデータベース中の他の識別子の形でグローバル
作業空間中に反映される。
【0076】ユーザ5はまたファイルA390を既にダ
ウンロードしていると共に、ユーザ3と同様にこのファ
イルを被所有書込み状態に置いている。しかしながら、
この例では、ユーザ5はバージョン2.0のファイルA
を転送済である。同様にして、ユーザ6はバージョン
1.5のファイルAを自身のローカル作業空間364に
ダウンロード済であると共に、このファイルを被所有読
出し専用状態に置いている。ユーザ6は、バージョン
1.5のファイルAを用いて自身が所有するプロジェク
ト設計の他のバージョンをコンパイルし得る。したがっ
て、図10に図示したように、本発明を用いることによ
り、複数のエンジニアが同時に同一ファイル、あるい
は、同一ファイルの異なるバージョンの編集及び/又は
読出しを実行し得る。
ウンロードしていると共に、ユーザ3と同様にこのファ
イルを被所有書込み状態に置いている。しかしながら、
この例では、ユーザ5はバージョン2.0のファイルA
を転送済である。同様にして、ユーザ6はバージョン
1.5のファイルAを自身のローカル作業空間364に
ダウンロード済であると共に、このファイルを被所有読
出し専用状態に置いている。ユーザ6は、バージョン
1.5のファイルAを用いて自身が所有するプロジェク
ト設計の他のバージョンをコンパイルし得る。したがっ
て、図10に図示したように、本発明を用いることによ
り、複数のエンジニアが同時に同一ファイル、あるい
は、同一ファイルの異なるバージョンの編集及び/又は
読出しを実行し得る。
【0077】図11は、本発明に係る発明の実施の形態
の1つに従うファイル状態の概略図400を図示する。
この概略図は、ローカルユーザ作業空間から見た、可能
性あるファイル状態及び遷移を反映する。この実施の形
態における状態は、デフォルト状態402、ロック状態
404、被所有書込み状態406、及び被所有読出し専
用状態408を含む。
の1つに従うファイル状態の概略図400を図示する。
この概略図は、ローカルユーザ作業空間から見た、可能
性あるファイル状態及び遷移を反映する。この実施の形
態における状態は、デフォルト状態402、ロック状態
404、被所有書込み状態406、及び被所有読出し専
用状態408を含む。
【0078】先ず、ユーザによってユーザの作業空間に
転送済のファイルA(410)は、デフォルト状態40
2に置かれ得る。ファイルはまた、当初、異なる状態に
も置かれ得る。ユーザはそのファイルの修正を望むと、
ユーザはファイルをロック状態404に置くために取得
412を実行する。修正を完了すると、返却手続き41
4がファイルをデフォルト状態に戻す。ユーザはまた、
ファイル状態をデフォルト状態から被所有書込み状態4
06に変更416し得る。一旦、ユーザがファイルを完
成すると、ファイルはデフォルト状態に戻され得る41
8。あるいは、ユーザは、ファイルをロック状態に置く
ために、被所有書込み状態から取得420を実行し得
る。ファイルを被所有読出し専用状態に置くために、ユ
ーザはまた、デフォルト状態402から命令422を与
え得る。一旦、ユーザがファイルを完成するとファイル
は、読出し専用状態からデフォルト状態に戻され得る。
あるいは、ファイルは、被所有読出し専用状態から被所
有書込み状態に変更428され得、あるいは、ファイル
をロック状態に置くために取得426され得る。幅広い
他の状態及び可能性ある状態が本発明と共に好適に用い
られ得る。
転送済のファイルA(410)は、デフォルト状態40
2に置かれ得る。ファイルはまた、当初、異なる状態に
も置かれ得る。ユーザはそのファイルの修正を望むと、
ユーザはファイルをロック状態404に置くために取得
412を実行する。修正を完了すると、返却手続き41
4がファイルをデフォルト状態に戻す。ユーザはまた、
ファイル状態をデフォルト状態から被所有書込み状態4
06に変更416し得る。一旦、ユーザがファイルを完
成すると、ファイルはデフォルト状態に戻され得る41
8。あるいは、ユーザは、ファイルをロック状態に置く
ために、被所有書込み状態から取得420を実行し得
る。ファイルを被所有読出し専用状態に置くために、ユ
ーザはまた、デフォルト状態402から命令422を与
え得る。一旦、ユーザがファイルを完成するとファイル
は、読出し専用状態からデフォルト状態に戻され得る。
あるいは、ファイルは、被所有読出し専用状態から被所
有書込み状態に変更428され得、あるいは、ファイル
をロック状態に置くために取得426され得る。幅広い
他の状態及び可能性ある状態が本発明と共に好適に用い
られ得る。
【0079】「割当情報の共有」割当情報もまた、本発
明に係る実施の形態を用いてPLD設計プロジェクトの
コンテキスト中にて共有され得る。割当情報は、幅広い
型を採り得る。例えば、割当は、PLD設計内の特定の
論理部分を特定すると共にいくつかの指名された属性に
値を与えるために階層パスを使用する。例えば、割当
は、「/TOP/A/D/flip-flop X/ set turbo = ON」の形式
であり得る。この例では、「TOP 」、「A」、「D 」は
PLD設計内の機能ブロックを表し、「flip-flop X 」
は機能ブロックD内部に在り、列挙済ブロックによって
表される完全パスは、設計内部の専用回路を識別する。
この特定割当は、flip-flop X の属性「turbo speed 」
を「ON」に設定するために用いられる。多くの他の型の
割当、パス、属性及び値が用いられ得る。例えば、割当
はピンを割り当てるため、最小化を制御するため、クリ
ークを割り当てるため及びオブジェクトをグループ化す
るため等に用いられ得る。
明に係る実施の形態を用いてPLD設計プロジェクトの
コンテキスト中にて共有され得る。割当情報は、幅広い
型を採り得る。例えば、割当は、PLD設計内の特定の
論理部分を特定すると共にいくつかの指名された属性に
値を与えるために階層パスを使用する。例えば、割当
は、「/TOP/A/D/flip-flop X/ set turbo = ON」の形式
であり得る。この例では、「TOP 」、「A」、「D 」は
PLD設計内の機能ブロックを表し、「flip-flop X 」
は機能ブロックD内部に在り、列挙済ブロックによって
表される完全パスは、設計内部の専用回路を識別する。
この特定割当は、flip-flop X の属性「turbo speed 」
を「ON」に設定するために用いられる。多くの他の型の
割当、パス、属性及び値が用いられ得る。例えば、割当
はピンを割り当てるため、最小化を制御するため、クリ
ークを割り当てるため及びオブジェクトをグループ化す
るため等に用いられ得る。
【0080】割当は、幅広い方法で複数のエンジニアに
よって共有され得る。例えば、単一グローバルプロジェ
クト割当ファイルは、特定の設計のための全割当を保持
するために用いられ得る。この技術では実装は容易にな
るが、1人のユーザだけが一時にこのファイルの編集を
許され、また、設計当たり数千もの割当が共有されるの
でそのファイルは非常に大きい場合がある。他の実施の
形態では、各プロジェクトソースファイルは、関連並行
割当ファイルを有し得る。本発明の好適な発明の実施の
形態では、割当は、割当データベース中に大域的に格納
され、各割当は、以下に図12を参照して説明するその
データベース中の記録として格納される。
よって共有され得る。例えば、単一グローバルプロジェ
クト割当ファイルは、特定の設計のための全割当を保持
するために用いられ得る。この技術では実装は容易にな
るが、1人のユーザだけが一時にこのファイルの編集を
許され、また、設計当たり数千もの割当が共有されるの
でそのファイルは非常に大きい場合がある。他の実施の
形態では、各プロジェクトソースファイルは、関連並行
割当ファイルを有し得る。本発明の好適な発明の実施の
形態では、割当は、割当データベース中に大域的に格納
され、各割当は、以下に図12を参照して説明するその
データベース中の記録として格納される。
【0081】図12は、その中でユーザが設計プロジェ
クトのコンテキスト中の割当を修正するシナリオ450
を図示している。シナリオ450は、グローバル作業空
間452及びユーザ1作業空間454を有している。グ
ローバル作業空間452は、プロジェクトソースファイ
ル456、基底458、バイナリ割当データベース46
0及びアスキー(ASCII )割当ファイル462を有して
いる。割当データベース460は、割当記録列464、
ロックフラグ列466、新規フラグ列468及びユーザ
ID列470を有している。
クトのコンテキスト中の割当を修正するシナリオ450
を図示している。シナリオ450は、グローバル作業空
間452及びユーザ1作業空間454を有している。グ
ローバル作業空間452は、プロジェクトソースファイ
ル456、基底458、バイナリ割当データベース46
0及びアスキー(ASCII )割当ファイル462を有して
いる。割当データベース460は、割当記録列464、
ロックフラグ列466、新規フラグ列468及びユーザ
ID列470を有している。
【0082】割当データベース460は、幅広い方法で
実装され得るバイナリデータベースである。例えば、デ
ータベース460は、カスタムビルトデータベース、あ
るいは、既製データベース製品であり得る。発明の実施
の形態の1つでは、データベース460は、米国カリフ
ォルニア州サンタクララ市所在のObject Design Inc.か
ら入手可能な「オブジェクトストア(Object Store)」
ソフトウェアを使用して実装される。割当データベース
460は、各割当をデータベース中の記録として格納す
ることにより、特定の設計プロジェクトについての全割
当情報を格納する。データベースのロックフラグ欄46
6は、ユーザが、修正のために割当を既に取得したか否
か、及び割当を既にロックしたか否かを表示する。この
ロック状態は、プロジェクトソースファイルを参照して
上述した方法と同様の方法で実装され得る。新規フラグ
欄468は、ユーザが新規割当を既に生成したか否かを
表示する。ユーザが既に新規フラグを生成している場合
には、割当はロックされるので、他のユーザが自動的に
ダウンロードすることはできない。ユーザID欄470
は、特定ユーザが既に割当をロックしたか否か、あるい
は、新規割当を既に生成したか否かを表示する。
実装され得るバイナリデータベースである。例えば、デ
ータベース460は、カスタムビルトデータベース、あ
るいは、既製データベース製品であり得る。発明の実施
の形態の1つでは、データベース460は、米国カリフ
ォルニア州サンタクララ市所在のObject Design Inc.か
ら入手可能な「オブジェクトストア(Object Store)」
ソフトウェアを使用して実装される。割当データベース
460は、各割当をデータベース中の記録として格納す
ることにより、特定の設計プロジェクトについての全割
当情報を格納する。データベースのロックフラグ欄46
6は、ユーザが、修正のために割当を既に取得したか否
か、及び割当を既にロックしたか否かを表示する。この
ロック状態は、プロジェクトソースファイルを参照して
上述した方法と同様の方法で実装され得る。新規フラグ
欄468は、ユーザが新規割当を既に生成したか否かを
表示する。ユーザが既に新規フラグを生成している場合
には、割当はロックされるので、他のユーザが自動的に
ダウンロードすることはできない。ユーザID欄470
は、特定ユーザが既に割当をロックしたか否か、あるい
は、新規割当を既に生成したか否かを表示する。
【0083】割当ファイル462は、実施形態の1つで
は、ディスク上に置かれたアスキーテキストファイルで
ある。このファイル462は、ユーザが読み出し可能な
プロジェクトの割当の現在の状態のバージョンを含むと
共に、各割当についての階層パスを示し得る。ファイル
462は、ユーザによる現在の割当の確認に有用であ
り、また、万が一、割当データベース460に損失及び
損傷が生じた場合にバックアップとして作用し得る。単
一ユーザがプロジェクト設計を開発する場合には、ファ
イル462は、割当を変更するためにユーザによって編
集され得る。割当がデータベース460中にて変更され
ると、ファイル462は自動的に最新の変更を用いて更
新される。
は、ディスク上に置かれたアスキーテキストファイルで
ある。このファイル462は、ユーザが読み出し可能な
プロジェクトの割当の現在の状態のバージョンを含むと
共に、各割当についての階層パスを示し得る。ファイル
462は、ユーザによる現在の割当の確認に有用であ
り、また、万が一、割当データベース460に損失及び
損傷が生じた場合にバックアップとして作用し得る。単
一ユーザがプロジェクト設計を開発する場合には、ファ
イル462は、割当を変更するためにユーザによって編
集され得る。割当がデータベース460中にて変更され
ると、ファイル462は自動的に最新の変更を用いて更
新される。
【0084】ユーザ1作業空間454は、ダウンロード
済のプロジェクトソースファイル480のバージョン、
処理結果482、ローカル割当データベース484及び
ローカル割当ファイル486を含む。ローカルデータベ
ース484は、グローバルデータベース460と同様の
方法で実装され得るバイナリデータベースである。デー
タベース484は、ユーザ1が現在、見ている、あるい
は、編集している割当を記録形式で含んでいる。ローカ
ルファイル486は、更新済のユーザ読出し可能なバー
ジョンのローカルデータベース484を含んでいるの
で、グローバルファイル462と近似する。
済のプロジェクトソースファイル480のバージョン、
処理結果482、ローカル割当データベース484及び
ローカル割当ファイル486を含む。ローカルデータベ
ース484は、グローバルデータベース460と同様の
方法で実装され得るバイナリデータベースである。デー
タベース484は、ユーザ1が現在、見ている、あるい
は、編集している割当を記録形式で含んでいる。ローカ
ルファイル486は、更新済のユーザ読出し可能なバー
ジョンのローカルデータベース484を含んでいるの
で、グローバルファイル462と近似する。
【0085】この場合、ユーザのローカルデータベース
484を更新するためにグローバルデータベース460
中の記録Xに対するあらゆる変更が自動的に引き出され
るように、ユーザ1は記録X(488)をローカル作業
空間に転送済であると共に、記録X(488)をデフォ
ルト状態に既に置いている。ユーザ1はまた、修正する
ために記録Yを転送済であると共に既にロック状態に置
いている。一旦、ユーザが記録Yの修正を完了すると、
この記録はその後、グローバルデータベース460に戻
される。グローバル作業空間452に戻ると、それを既
にロックしたユーザがいないのでデータベース460中
の記録XはNOのロックフラグを有している。記録Y
は、ユーザ1がこの割当を既にロックしているので、Y
ESのロックフラグを有している。記録Zは、ユーザ7
がこの割当を生成中なので、YESの新規フラグ及びY
ESのロックフラグを有している。
484を更新するためにグローバルデータベース460
中の記録Xに対するあらゆる変更が自動的に引き出され
るように、ユーザ1は記録X(488)をローカル作業
空間に転送済であると共に、記録X(488)をデフォ
ルト状態に既に置いている。ユーザ1はまた、修正する
ために記録Yを転送済であると共に既にロック状態に置
いている。一旦、ユーザが記録Yの修正を完了すると、
この記録はその後、グローバルデータベース460に戻
される。グローバル作業空間452に戻ると、それを既
にロックしたユーザがいないのでデータベース460中
の記録XはNOのロックフラグを有している。記録Y
は、ユーザ1がこの割当を既にロックしているので、Y
ESのロックフラグを有している。記録Zは、ユーザ7
がこの割当を生成中なので、YESの新規フラグ及びY
ESのロックフラグを有している。
【0086】一旦ユーザ1が記録Yをグローバルデータ
ベース460に返却すると、グローバルデータベース4
60に対する最新の変更でファイル462を更新するた
めに自動的に更新492が実行される。これらの割当は
また、幅広い他の状態を有し得ることは理解されるべき
である。例えば、これらの記録は、上述したプロジェク
トソースファイルについての状態に類似した状態を有し
得る。この方法では、複合PLD設計内の多くの割当
は、調整された、効率的な方法で、複数のエンジニアに
よって同時に編集され得る。以上、プロジェクトファイ
ル及び割当がどのように複数のエンジニアによって共有
されるか図を用いて説明してきた。以下、本発明に係る
実施の形態の実装についてフローチャートを用いて説明
する。
ベース460に返却すると、グローバルデータベース4
60に対する最新の変更でファイル462を更新するた
めに自動的に更新492が実行される。これらの割当は
また、幅広い他の状態を有し得ることは理解されるべき
である。例えば、これらの記録は、上述したプロジェク
トソースファイルについての状態に類似した状態を有し
得る。この方法では、複合PLD設計内の多くの割当
は、調整された、効率的な方法で、複数のエンジニアに
よって同時に編集され得る。以上、プロジェクトファイ
ル及び割当がどのように複数のエンジニアによって共有
されるか図を用いて説明してきた。以下、本発明に係る
実施の形態の実装についてフローチャートを用いて説明
する。
【0087】「フローチャートの実施形態」図13は、
本発明に係る実施の形態に従う、それによりユーザがプ
ロジェクトソースファイルを修正し得るステップを図示
するフローチャートである。ステップ502では、グロ
ーバル作業空間からファイルAを取得するためにシステ
ムはユーザから命令を受ける。ステップ504は、ファ
イルAが現在、グローバル作業空間中でロックされてい
るか否かを決定する。ファイルAが現在ロックされてい
る場合、このことは他のユーザが現在ファイルAを修正
中であることを示す。この場合、要求元ユーザはファイ
ルAを取得することができず、ステップ506にてエラ
ーメッセージが送り返されて手続きが終了する。
本発明に係る実施の形態に従う、それによりユーザがプ
ロジェクトソースファイルを修正し得るステップを図示
するフローチャートである。ステップ502では、グロ
ーバル作業空間からファイルAを取得するためにシステ
ムはユーザから命令を受ける。ステップ504は、ファ
イルAが現在、グローバル作業空間中でロックされてい
るか否かを決定する。ファイルAが現在ロックされてい
る場合、このことは他のユーザが現在ファイルAを修正
中であることを示す。この場合、要求元ユーザはファイ
ルAを取得することができず、ステップ506にてエラ
ーメッセージが送り返されて手続きが終了する。
【0088】しかしながら、ファイルAがロックされて
いない場合には、ステップ508においてグローバル作
業空間にてロックフラグがファイルAについて設定さ
れ、修正を要求するユーザによってファイルAがロック
された旨、表示される。次に、ステップ510では、書
込み可能なファイルとしてファイルAがユーザのローカ
ル作業空間にコピーされる。ステップ512では、ユー
ザは自身のローカル作業空間にてファイルAを編集する
ことができる。
いない場合には、ステップ508においてグローバル作
業空間にてロックフラグがファイルAについて設定さ
れ、修正を要求するユーザによってファイルAがロック
された旨、表示される。次に、ステップ510では、書
込み可能なファイルとしてファイルAがユーザのローカ
ル作業空間にコピーされる。ステップ512では、ユー
ザは自身のローカル作業空間にてファイルAを編集する
ことができる。
【0089】一旦、編集が完了すると、ステップ514
にてユーザはファイルを返却するための命令を発行す
る。ステップ516は先ず、実際にファイルAが返却を
要求しているユーザによって既にロックされているか否
かを決定する。ファイルAの返却を要求しているユーザ
が未だファイルAをロックしていない場合には、ステッ
プ518にてエラーメッセージが返送され、手続きが終
了する。しかしながら、ユーザが同一の場合には、ステ
ップ520にてファイルAは、グローバル作業空間に戻
されると共にファイルAの旧バージョンを再書き込みす
る。ステップ522では、ファイルAの状態がそのユー
ザのためのロック状態からデフォルト状態に変更され
る。最後に、ステップ524では、そのユーザのための
ファイルAについてのロックフラグがグローバル作業空
間からクリアされる。この場合、ユーザは調整された方
法でプロジェクト設計中のソースファイルを修正し得
る。
にてユーザはファイルを返却するための命令を発行す
る。ステップ516は先ず、実際にファイルAが返却を
要求しているユーザによって既にロックされているか否
かを決定する。ファイルAの返却を要求しているユーザ
が未だファイルAをロックしていない場合には、ステッ
プ518にてエラーメッセージが返送され、手続きが終
了する。しかしながら、ユーザが同一の場合には、ステ
ップ520にてファイルAは、グローバル作業空間に戻
されると共にファイルAの旧バージョンを再書き込みす
る。ステップ522では、ファイルAの状態がそのユー
ザのためのロック状態からデフォルト状態に変更され
る。最後に、ステップ524では、そのユーザのための
ファイルAについてのロックフラグがグローバル作業空
間からクリアされる。この場合、ユーザは調整された方
法でプロジェクト設計中のソースファイルを修正し得
る。
【0090】図14は、それによりソースファイルがグ
ローバル作業空間からユーザのローカル作業空間へ自動
的に引き出されるステップを図示するフローチャート6
00である。ステップ602では、グローバル作業空間
からユーザのローカル作業空間へのプロジェクトソース
ファイルの自動引出のための誘因イベントが受け取られ
る。誘因イベントは、幅広い形式を採り得る。例えば、
誘因イベントは、毎日又は毎時間といったように定期的
に、あるいは、コンパイルに基づき、ファイルAの開封
に基づき、ファイルAが既に変更されたグローバル作業
空間からの通知に基づき、または、その他の方式に基づ
き発生し得る。一旦、誘因が受け取られると、ステップ
604では、実際にファイルAがそのユーザのためのデ
フォルト状態に在るか否か、及びファイルAについて新
規フラグが既に設定されているか否かを決定する。ファ
イルAが特定のユーザのためのデフォルト状態にない場
合には、そのファイルは自動的に引き出されない。ま
た、他のユーザが新規ファイルAを生成したばかりの場
合には、この新規ファイルAは、この時点ではグローバ
ル作業空間に転送され得ない。この状況では、ファイル
Aは自動的に引き出されない。
ローバル作業空間からユーザのローカル作業空間へ自動
的に引き出されるステップを図示するフローチャート6
00である。ステップ602では、グローバル作業空間
からユーザのローカル作業空間へのプロジェクトソース
ファイルの自動引出のための誘因イベントが受け取られ
る。誘因イベントは、幅広い形式を採り得る。例えば、
誘因イベントは、毎日又は毎時間といったように定期的
に、あるいは、コンパイルに基づき、ファイルAの開封
に基づき、ファイルAが既に変更されたグローバル作業
空間からの通知に基づき、または、その他の方式に基づ
き発生し得る。一旦、誘因が受け取られると、ステップ
604では、実際にファイルAがそのユーザのためのデ
フォルト状態に在るか否か、及びファイルAについて新
規フラグが既に設定されているか否かを決定する。ファ
イルAが特定のユーザのためのデフォルト状態にない場
合には、そのファイルは自動的に引き出されない。ま
た、他のユーザが新規ファイルAを生成したばかりの場
合には、この新規ファイルAは、この時点ではグローバ
ル作業空間に転送され得ない。この状況では、ファイル
Aは自動的に引き出されない。
【0091】ステップ604の結果がYESの場合に
は、ステップ606にてグローバル作業空間中のファイ
ルAのバージョンがユーザのローカル作業空間中のファ
イルAのバージョンよりも新しいバージョンであるか否
かが決定される。ステップ606における結果がNOの
場合には、ファイルAは自動的に引き出されない。しか
しながら、ステップ606における結果がYESの場合
には、ステップ608にてグローバル作業空間からのフ
ァイルAが自動的にユーザのローカル作業空間にコピー
される。この方法では、デフォルト状態のローカルプロ
ジェクトソースファイルは、そのファイルについてのグ
ローバル作業空間からの最新バージョンにて自動的に更
新される。
は、ステップ606にてグローバル作業空間中のファイ
ルAのバージョンがユーザのローカル作業空間中のファ
イルAのバージョンよりも新しいバージョンであるか否
かが決定される。ステップ606における結果がNOの
場合には、ファイルAは自動的に引き出されない。しか
しながら、ステップ606における結果がYESの場合
には、ステップ608にてグローバル作業空間からのフ
ァイルAが自動的にユーザのローカル作業空間にコピー
される。この方法では、デフォルト状態のローカルプロ
ジェクトソースファイルは、そのファイルについてのグ
ローバル作業空間からの最新バージョンにて自動的に更
新される。
【0092】図15は、それによりユーザがプロジェク
ト設計の割当を修正し得るステップを図示するフローチ
ャート700である。ステップ702では、システム
は、グローバル作業空間中の割当データベースからの割
当記録を取得するために命令をユーザから受け取る。ス
テップ704は、割当データベースにおいて現在、記録
がロックされているか否かが決定される。記録が現在ロ
ックされている場合には、このことは、他のユーザが現
在その記録を修正していることを示す。この状況では、
要求元ユーザは記録を取得し得ず、ステップ706にて
エラーメッセージが返送され手続きが終了する。
ト設計の割当を修正し得るステップを図示するフローチ
ャート700である。ステップ702では、システム
は、グローバル作業空間中の割当データベースからの割
当記録を取得するために命令をユーザから受け取る。ス
テップ704は、割当データベースにおいて現在、記録
がロックされているか否かが決定される。記録が現在ロ
ックされている場合には、このことは、他のユーザが現
在その記録を修正していることを示す。この状況では、
要求元ユーザは記録を取得し得ず、ステップ706にて
エラーメッセージが返送され手続きが終了する。
【0093】しかしながら、記録がロックされていない
場合には、ステップ708にて割当データベース中のそ
の記録のためのロックフラグが設定されると共に、修正
を要求するユーザによってその記録がロックされている
旨表示される。次に、ステップ710では、記録がユー
ザのローカル作業空間へコピーされる。ステップ712
では、ユーザは自身のローカル作業空間にて記録を編集
することができる。
場合には、ステップ708にて割当データベース中のそ
の記録のためのロックフラグが設定されると共に、修正
を要求するユーザによってその記録がロックされている
旨表示される。次に、ステップ710では、記録がユー
ザのローカル作業空間へコピーされる。ステップ712
では、ユーザは自身のローカル作業空間にて記録を編集
することができる。
【0094】一旦、修正が完了すると、ステップ714
にてユーザは割当記録中に返却するための命令を発行す
る。ステップ716は先ず、返却を要求しているユーザ
によって実際に記録が既にロックされているか否かを決
定する。記録の返却を要求しているユーザが記録を未だ
ロックしていない場合には、ステップ718にてエラー
メッセージが返送され、手続きが終了する。しかしなが
ら、ユーザが同一の場合には、ステップ720にて記録
は、バックアップのためにグローバル作業空間にコピー
されると共に、記録の旧バージョンに上書きする。自動
的に、グローバルアスキー割当ファイルもまた更新され
る。ステップ722では、記録の状態がそのユーザのた
めのロック状態からデフォルト状態に変更される。最後
に、ステップ724では、そのユーザのための記録につ
いてのロックフラグがグローバル作業空間中の割当デー
タベースからクリアされる。この場合、ユーザは調整さ
れた方法でプロジェクト設計中の割当記録を修正し得
る。
にてユーザは割当記録中に返却するための命令を発行す
る。ステップ716は先ず、返却を要求しているユーザ
によって実際に記録が既にロックされているか否かを決
定する。記録の返却を要求しているユーザが記録を未だ
ロックしていない場合には、ステップ718にてエラー
メッセージが返送され、手続きが終了する。しかしなが
ら、ユーザが同一の場合には、ステップ720にて記録
は、バックアップのためにグローバル作業空間にコピー
されると共に、記録の旧バージョンに上書きする。自動
的に、グローバルアスキー割当ファイルもまた更新され
る。ステップ722では、記録の状態がそのユーザのた
めのロック状態からデフォルト状態に変更される。最後
に、ステップ724では、そのユーザのための記録につ
いてのロックフラグがグローバル作業空間中の割当デー
タベースからクリアされる。この場合、ユーザは調整さ
れた方法でプロジェクト設計中の割当記録を修正し得
る。
【0095】図16はそれによりグローバル作業空間中
の割当がユーザのローカル作業空間に対して自動的に引
き出され得るステップのフローチャート750を図示す
る。ステップ752では、グローバル作業空間からユー
ザのローカル作業空間への割当記録の自動引出のための
誘因イベントが受け取られる。誘因イベントは、図14
を参照して前述したように幅広い形式を採り得る。一
旦、誘因が受け取られると、ステップ754では、実際
に記録がそのユーザのためのデフォルト状態に在るか否
か、及び記録について新規フラグが既に設定されている
か否かを決定する。記録が特定のユーザのためのデフォ
ルト状態にない場合には、その記録は自動的に引き出さ
れない。また、他のユーザが新規記録を生成したばかり
の場合には、この新規記録は、この時点ではグローバル
作業空間に転送され得ない。この状況では、記録は自動
的に引き出されない。
の割当がユーザのローカル作業空間に対して自動的に引
き出され得るステップのフローチャート750を図示す
る。ステップ752では、グローバル作業空間からユー
ザのローカル作業空間への割当記録の自動引出のための
誘因イベントが受け取られる。誘因イベントは、図14
を参照して前述したように幅広い形式を採り得る。一
旦、誘因が受け取られると、ステップ754では、実際
に記録がそのユーザのためのデフォルト状態に在るか否
か、及び記録について新規フラグが既に設定されている
か否かを決定する。記録が特定のユーザのためのデフォ
ルト状態にない場合には、その記録は自動的に引き出さ
れない。また、他のユーザが新規記録を生成したばかり
の場合には、この新規記録は、この時点ではグローバル
作業空間に転送され得ない。この状況では、記録は自動
的に引き出されない。
【0096】ステップ754の結果がYESの場合に
は、ステップ756にてグローバル作業空間中の記録の
バージョンがユーザのローカル作業空間中の記録のバー
ジョンよりも新しいバージョンであるか否かが決定され
る。ステップ756における結果がNOの場合には、記
録は自動的に引き出されない。しかしながら、ステップ
756における結果がYESの場合には、ステップ75
8にてグローバル作業空間からの記録が自動的にユーザ
のローカル作業空間にコピーされる。この方法では、デ
フォルト状態の割当記録は、その記録についてのグロー
バル作業空間からの最新バージョンにて自動的に更新さ
れる。
は、ステップ756にてグローバル作業空間中の記録の
バージョンがユーザのローカル作業空間中の記録のバー
ジョンよりも新しいバージョンであるか否かが決定され
る。ステップ756における結果がNOの場合には、記
録は自動的に引き出されない。しかしながら、ステップ
756における結果がYESの場合には、ステップ75
8にてグローバル作業空間からの記録が自動的にユーザ
のローカル作業空間にコピーされる。この方法では、デ
フォルト状態の割当記録は、その記録についてのグロー
バル作業空間からの最新バージョンにて自動的に更新さ
れる。
【0097】上記したステップと同様の方法で、ユーザ
は、被所有書込み状態のファイルを自身のローカル作業
空間に転送し、ファイルを修正し、コンパイレーション
を実行し、また、自身のローカル処理結果を調べること
ができる。同様にして、ユーザは、コンパイレーション
及び処理結果の確認のためのこのファイルのあらゆるバ
ージョンを使用するために、被所有読出し専用状態のフ
ァイルを転送することができる。同様の解決方法が情報
の割当に用いられ得る。
は、被所有書込み状態のファイルを自身のローカル作業
空間に転送し、ファイルを修正し、コンパイレーション
を実行し、また、自身のローカル処理結果を調べること
ができる。同様にして、ユーザは、コンパイレーション
及び処理結果の確認のためのこのファイルのあらゆるバ
ージョンを使用するために、被所有読出し専用状態のフ
ァイルを転送することができる。同様の解決方法が情報
の割当に用いられ得る。
【0098】「インクリメンタルコンパイレーション」
単一プロジェクト上での複数エンジニアの作業の管理を
援助するため、また大規模装置についてのコンパイレー
ション時間を削減するための一つの技術にインクリメン
タルコンパイレーションがある。インクリメンタルコン
パイレーションについては、いくつかの図を参照して上
述した。インクリメンタルコンパイレーションは本質的
に、ユーザ、あるいは、設計ソフトウェアが設計に対し
て1つ以上の変更を加えた後に、設計の小部分(変更部
分)だけが再コンパイルされるように、先にコンパイル
された設計の使用を伴う。インクリメンタルコンパイレ
ーションは、少なくとも(1)先にコンパイル済の設計
中におけるユーザによる変更の影響範囲を詳細に描写す
る(影響範囲は一般的にネットリスト内に画定される)
ステップ、(2)この影響範囲内の論理を目標ハードウ
ェア装置内で利用可能な適当な論理要素中に再コンパイ
ルするステップといった2つのステップを含む。最も効
率を良くするために、コンパイラは、ユーザの設計変更
によって影響を受ける電子設計の最小領域(及び目標ハ
ードウェア装置の対応領域)に限って再コンパイルを実
行すべきである。
単一プロジェクト上での複数エンジニアの作業の管理を
援助するため、また大規模装置についてのコンパイレー
ション時間を削減するための一つの技術にインクリメン
タルコンパイレーションがある。インクリメンタルコン
パイレーションについては、いくつかの図を参照して上
述した。インクリメンタルコンパイレーションは本質的
に、ユーザ、あるいは、設計ソフトウェアが設計に対し
て1つ以上の変更を加えた後に、設計の小部分(変更部
分)だけが再コンパイルされるように、先にコンパイル
された設計の使用を伴う。インクリメンタルコンパイレ
ーションは、少なくとも(1)先にコンパイル済の設計
中におけるユーザによる変更の影響範囲を詳細に描写す
る(影響範囲は一般的にネットリスト内に画定される)
ステップ、(2)この影響範囲内の論理を目標ハードウ
ェア装置内で利用可能な適当な論理要素中に再コンパイ
ルするステップといった2つのステップを含む。最も効
率を良くするために、コンパイラは、ユーザの設計変更
によって影響を受ける電子設計の最小領域(及び目標ハ
ードウェア装置の対応領域)に限って再コンパイルを実
行すべきである。
【0099】先にコンパイルされた設計に対するユーザ
の変更の影響範囲を詳細に描写するためのある好適な技
術(第1ステップ)は、「サブネットリスト識別」方法
と共に「ネットリストディファレンシング(ネットリス
ト間の相違の識別)」方法を伴う。ネットリストディフ
ァレンシングは、先の設計のネットリストから、新規ネ
ットリストのどのノード及び/又はネットが現実に変更
されたか識別する。ネットリストディファレンシングに
ついては以下に詳述する。現実に変更されたそれらのノ
ード/ネットの範囲を超えてユーザの変更の影響が伝達
されるので、コンパイラは、ネットリストディファレン
シングにより識別される設計エンティティの範囲を超え
て設計の変更部分を拡張するための適当な技術を使用す
る。変更の影響範囲を識別するためのある好適な技術
は、以下に詳述するサブネット識別方法である。サブネ
ット識別によって描写された設計の変更部分は、再合成
され、再マップされ、また再適合される(第2ステッ
プ)。インクリメンタルコンパイル期間中、適合化リソ
ースの使用を最小化するための設計の適合化について以
下に詳述する。
の変更の影響範囲を詳細に描写するためのある好適な技
術(第1ステップ)は、「サブネットリスト識別」方法
と共に「ネットリストディファレンシング(ネットリス
ト間の相違の識別)」方法を伴う。ネットリストディフ
ァレンシングは、先の設計のネットリストから、新規ネ
ットリストのどのノード及び/又はネットが現実に変更
されたか識別する。ネットリストディファレンシングに
ついては以下に詳述する。現実に変更されたそれらのノ
ード/ネットの範囲を超えてユーザの変更の影響が伝達
されるので、コンパイラは、ネットリストディファレン
シングにより識別される設計エンティティの範囲を超え
て設計の変更部分を拡張するための適当な技術を使用す
る。変更の影響範囲を識別するためのある好適な技術
は、以下に詳述するサブネット識別方法である。サブネ
ット識別によって描写された設計の変更部分は、再合成
され、再マップされ、また再適合される(第2ステッ
プ)。インクリメンタルコンパイル期間中、適合化リソ
ースの使用を最小化するための設計の適合化について以
下に詳述する。
【0100】インクリメンタルコンパイレーションは、
以下のように従来のPLD設計中に統合され得る。先
ず、「原」設計の全コンパイルが実行される。この全コ
ンパイルは、従来のPLDコンパイレーション手順を用
いて実行され得る。この手順は、入力として、ユーザ設
計の概要を表す非合成ネットリストを取得する。この手
順は、PLD目標ハードウェア装置をプログラムするた
めの命令を出力する。
以下のように従来のPLD設計中に統合され得る。先
ず、「原」設計の全コンパイルが実行される。この全コ
ンパイルは、従来のPLDコンパイレーション手順を用
いて実行され得る。この手順は、入力として、ユーザ設
計の概要を表す非合成ネットリストを取得する。この手
順は、PLD目標ハードウェア装置をプログラムするた
めの命令を出力する。
【0101】このネットリストは、プログラマブル論理
回路、あるいは、他の目標ハードウェア装置上にて実装
され得るディジタル回路設計の機能性を記述するために
用いられる。ネットリストは、ゲート、状態マシン、カ
ウンタ又は加算器といった高レベル構造、あるいは、入
力の集合に基づく出力集合を画定するあらゆる他の手段
の階層状集合として表される。ネットリストのノード
(ゲート、状態マシン等)は、ネットを介して互いに接
続される。これらネットの各々は、名付けられたディジ
タル信号と関連付けられる。コンパイラの論理シンセサ
イザモジュールは、このネットリストを取得し、そして
合成と呼ばれるプロセス中におけるそれのゲート表現を
単純化する。
回路、あるいは、他の目標ハードウェア装置上にて実装
され得るディジタル回路設計の機能性を記述するために
用いられる。ネットリストは、ゲート、状態マシン、カ
ウンタ又は加算器といった高レベル構造、あるいは、入
力の集合に基づく出力集合を画定するあらゆる他の手段
の階層状集合として表される。ネットリストのノード
(ゲート、状態マシン等)は、ネットを介して互いに接
続される。これらネットの各々は、名付けられたディジ
タル信号と関連付けられる。コンパイラの論理シンセサ
イザモジュールは、このネットリストを取得し、そして
合成と呼ばれるプロセス中におけるそれのゲート表現を
単純化する。
【0102】ゲート表現の単純化プロセスは、冗長ゲー
トの削除、または、設計のサブネットワークのゲートを
新規に生成された「合成ゲート」の等価ネットワークに
置き換える、ネットリスト上におけるブール操作の実行
を含む。これらの合成ゲートは、原ネットリスト中にお
けるあらゆる単一ゲートと一対一対応を有する必要はな
い。
トの削除、または、設計のサブネットワークのゲートを
新規に生成された「合成ゲート」の等価ネットワークに
置き換える、ネットリスト上におけるブール操作の実行
を含む。これらの合成ゲートは、原ネットリスト中にお
けるあらゆる単一ゲートと一対一対応を有する必要はな
い。
【0103】図17は、非合成相、及び合成(及びマッ
プ)相の2相における仮定的汎用ネットリストを表す。
非合成ネットリスト810は、ネットによって接続され
ている汎用ゲート又はノードの集合を有する。合成ネッ
トリスト820は、非合成ネットリスト810によって
取得される。合成ネットリスト820のゲートは、点線
境界線で描写されるセル821、822,824,82
6,828を含む(最後に、目標ハードウェア装置の論
理要素と置換される)個々の論理セル中にマップされ
る。
プ)相の2相における仮定的汎用ネットリストを表す。
非合成ネットリスト810は、ネットによって接続され
ている汎用ゲート又はノードの集合を有する。合成ネッ
トリスト820は、非合成ネットリスト810によって
取得される。合成ネットリスト820のゲートは、点線
境界線で描写されるセル821、822,824,82
6,828を含む(最後に、目標ハードウェア装置の論
理要素と置換される)個々の論理セル中にマップされ
る。
【0104】この仮定例では、合成の間、2入力論理ゲ
ート802及び2入力論理ゲート809は、3入力論理
ゲート802’を形成するために結合される。この他の
全ゲート及びそれらゲート間の接続は、合成前ネットリ
スト810及び合成後ネットリスト中にて維持される。
これら変更されない汎用ゲートには、ゲート801、ゲ
ート803、ゲート804、ゲート805、ゲート80
6、ゲート807、及びゲート808が含まれる。
ート802及び2入力論理ゲート809は、3入力論理
ゲート802’を形成するために結合される。この他の
全ゲート及びそれらゲート間の接続は、合成前ネットリ
スト810及び合成後ネットリスト中にて維持される。
これら変更されない汎用ゲートには、ゲート801、ゲ
ート803、ゲート804、ゲート805、ゲート80
6、ゲート807、及びゲート808が含まれる。
【0105】合成ネットリスト820中では、論理ゲー
ト801、及び論理ゲート804が目標ハードウェア装
置の論理セル821に対してマップされる。論理セル8
22には、論理ゲート803だけがマップされる。論理
ゲート803及び論理ゲート806は共に論理セル82
4内に存在する。論理セル826中には、論理ゲート8
05だけが存在する。最後に、論理ゲート807及び論
理ゲート808は、論理セル828中に存在する。
ト801、及び論理ゲート804が目標ハードウェア装
置の論理セル821に対してマップされる。論理セル8
22には、論理ゲート803だけがマップされる。論理
ゲート803及び論理ゲート806は共に論理セル82
4内に存在する。論理セル826中には、論理ゲート8
05だけが存在する。最後に、論理ゲート807及び論
理ゲート808は、論理セル828中に存在する。
【0106】全コンパイレーションが完了した後、ユー
ザは先に全コンパイレーションの対象となった全設計に
対して変更を加えることを決定し得る。ユーザにより変
更された設計のコンパイルに必要な時間を削減するため
に、インクリメンタルコンパイレーションが適用され得
る。インクリメンタルコンパイレーションの目標の1つ
は、インクリメンタル再コンパイレーションについての
変更(修正)ゲートとして最も可能性の低いゲートにフ
ラグを立てることにある。したがって、変更電子設計
は、既存のコンパイル済設計中における最小の分裂をも
ってして、合成され、マップされ、そしてハードウェア
に適合され得る。しかしながら、新規に定義された設計
は、ユーザの変更を正確に実装しなければならない。
ザは先に全コンパイレーションの対象となった全設計に
対して変更を加えることを決定し得る。ユーザにより変
更された設計のコンパイルに必要な時間を削減するため
に、インクリメンタルコンパイレーションが適用され得
る。インクリメンタルコンパイレーションの目標の1つ
は、インクリメンタル再コンパイレーションについての
変更(修正)ゲートとして最も可能性の低いゲートにフ
ラグを立てることにある。したがって、変更電子設計
は、既存のコンパイル済設計中における最小の分裂をも
ってして、合成され、マップされ、そしてハードウェア
に適合され得る。しかしながら、新規に定義された設計
は、ユーザの変更を正確に実装しなければならない。
【0107】図18は、電子設計の汎用例を図示する。
「全設計」840は、所定の装置、あるいは、その設計
の実質的に独立な部分についての全ての電子設計を表し
ている。全体設計は、目標ハードウェア装置全体を包含
し得ることもあり、または、し得ないこともある。全設
計840内には、全コンパイレーションの後、ユーザの
変更(あるいは、それとは別の設計ソフトウェアの変
更)により影響を受ける全設計840の該当部分を表す
「変更部分」842が存在する。図18は1つの変更領
域842だけを示すが、全設計840は、複数の変更箇
所を含み得ることは理解されるべきである。
「全設計」840は、所定の装置、あるいは、その設計
の実質的に独立な部分についての全ての電子設計を表し
ている。全体設計は、目標ハードウェア装置全体を包含
し得ることもあり、または、し得ないこともある。全設
計840内には、全コンパイレーションの後、ユーザの
変更(あるいは、それとは別の設計ソフトウェアの変
更)により影響を受ける全設計840の該当部分を表す
「変更部分」842が存在する。図18は1つの変更領
域842だけを示すが、全設計840は、複数の変更箇
所を含み得ることは理解されるべきである。
【0108】ユーザの手によって現実に加えられた変更
は、変更部部842のサブセクションを表す二,三の
「新規」ゲートに限定され得ることも理解されるべきで
ある。しかしながら、それらの変更は通常、変更部分8
42よりも大きな領域に直接影響を及ぼす、幅広い影響
範囲を有している。本発明に係る方法の機能は、変更領
域842の境界を識別する。
は、変更部部842のサブセクションを表す二,三の
「新規」ゲートに限定され得ることも理解されるべきで
ある。しかしながら、それらの変更は通常、変更部分8
42よりも大きな領域に直接影響を及ぼす、幅広い影響
範囲を有している。本発明に係る方法の機能は、変更領
域842の境界を識別する。
【0109】図18は、概念のツールを提供する。図1
8は、一般的にコンパイレーション手順における個々の
段階(例えば、合成後、または、適合後さえも)におけ
る状態を図示する。しかしながら、本発明の目的から、
合成前のネットリストであることが最も有用であると考
えられる。このことに関わらず、変更領域842は、イ
ンクリメンタル再コンパイルにおけるコンパイラの作業
を低減するためにできるだけ小さく形成されるべきであ
る。このことは、各設計変更の後に全設計840がコン
パイルされなければならない場合と比較して、再コンパ
イレーションがより速く実行されることを許容する。
8は、一般的にコンパイレーション手順における個々の
段階(例えば、合成後、または、適合後さえも)におけ
る状態を図示する。しかしながら、本発明の目的から、
合成前のネットリストであることが最も有用であると考
えられる。このことに関わらず、変更領域842は、イ
ンクリメンタル再コンパイルにおけるコンパイラの作業
を低減するためにできるだけ小さく形成されるべきであ
る。このことは、各設計変更の後に全設計840がコン
パイルされなければならない場合と比較して、再コンパ
イレーションがより速く実行されることを許容する。
【0110】どのようにしてインクリメンタルコンパイ
レーションが大規模電子設計自動プロセス中に統合され
得るかの一例を図19及び図20を参照して説明する。
説明に用いられるフローチャートは、本発明に従うイン
クリメンタルコンパイレーションを実行するための方法
の一つを表すにすぎないことは理解されるべきである。
図19に図示されるプロセスのステップは、大まかに
(a)初期コンパイレーション段階876、及び(b)
インクリメンタル再コンパイレーション段階878の2
つの段階に分けられ得る。
レーションが大規模電子設計自動プロセス中に統合され
得るかの一例を図19及び図20を参照して説明する。
説明に用いられるフローチャートは、本発明に従うイン
クリメンタルコンパイレーションを実行するための方法
の一つを表すにすぎないことは理解されるべきである。
図19に図示されるプロセスのステップは、大まかに
(a)初期コンパイレーション段階876、及び(b)
インクリメンタル再コンパイレーション段階878の2
つの段階に分けられ得る。
【0111】図示されるように、プロセス850が開始
すると、ステップ854にてコンパイラは、原無変更電
子設計のネットリストの全コンパイルを開始する。これ
は、単にユーザのコンパイレーション命令の受取を伴
う。コンパイレーションが開始された後、コンパイラ
は、ステップ856にて原設計のネットリストを合成す
る。そして、ステップ858にて合成ネットリストから
ゲートが論理セル中にマップされ、分配され、そして、
適合される。
すると、ステップ854にてコンパイラは、原無変更電
子設計のネットリストの全コンパイルを開始する。これ
は、単にユーザのコンパイレーション命令の受取を伴
う。コンパイレーションが開始された後、コンパイラ
は、ステップ856にて原設計のネットリストを合成す
る。そして、ステップ858にて合成ネットリストから
ゲートが論理セル中にマップされ、分配され、そして、
適合される。
【0112】マッピングの間、コンパイラの技術マッピ
ングモジュールは、合成ネットリストのゲートを論理セ
ル中にマップする。各論理セルは、目標ハードウェア装
置(例えば、PLD)の基本物理要素に対応する1つの
論理要素中に置かれ得なければならない。技術マッピン
グの後、電子設計の個々のセルは、個々のハードウェア
エンティティ間に分配されなければならない。ある場合
には、ハードウェアエンティティは、複数のチップであ
る。これは、設計が単一チップ上に適合させるには大き
すぎる場合である。また、設計は、目標ハードウェア装
置のアーキテクチャに従い定義される列または、象限と
いった単一チップ上のエンティティ間に分配され得る。
分配の目的は、ハードウェアエンティティ間の境界を交
差する信号数を最小化することにある。
ングモジュールは、合成ネットリストのゲートを論理セ
ル中にマップする。各論理セルは、目標ハードウェア装
置(例えば、PLD)の基本物理要素に対応する1つの
論理要素中に置かれ得なければならない。技術マッピン
グの後、電子設計の個々のセルは、個々のハードウェア
エンティティ間に分配されなければならない。ある場合
には、ハードウェアエンティティは、複数のチップであ
る。これは、設計が単一チップ上に適合させるには大き
すぎる場合である。また、設計は、目標ハードウェア装
置のアーキテクチャに従い定義される列または、象限と
いった単一チップ上のエンティティ間に分配され得る。
分配の目的は、ハードウェアエンティティ間の境界を交
差する信号数を最小化することにある。
【0113】全コンパイレーションを終了させるため
に、コンパイラの配置及び経路モジュールが論理セルに
適合させられる。先ず、配置及び経路モジュールは、プ
ログラマブル論理回路の適当な区画内の論理要素中に論
理セルを置く。これらの論理要素は、配置及び経路の経
路決定段階の間に互いにワイヤを介して接続されている
(時に、「内部接続」と呼ばれる)入力及び出力を有す
る。配置及び経路方法は、当業者に周知である。
に、コンパイラの配置及び経路モジュールが論理セルに
適合させられる。先ず、配置及び経路モジュールは、プ
ログラマブル論理回路の適当な区画内の論理要素中に論
理セルを置く。これらの論理要素は、配置及び経路の経
路決定段階の間に互いにワイヤを介して接続されている
(時に、「内部接続」と呼ばれる)入力及び出力を有す
る。配置及び経路方法は、当業者に周知である。
【0114】ステップ858の後、初期コンパイレーシ
ョンが終了し、設計者/ユーザは、結果に満足するかも
しれない。しかしながら、このフローチャートは、ユー
ザ(あるいは、設計ソフトウェア)がコンパイル済結果
に完全には満足しておらず、変更を加える場合を想定し
ており、インクリメンタル再コンパイレーションを図示
する。したがって、ステップ860では、システムは、
原設計の修正を受け取る。例えば、ユーザは自身の修正
を、例えばHDL命令によって、設計プロセス中の比較
的高いレベルに入力し得る。しかしながら、変更は最後
に、原非合成ネットリストの1つ以上のゲート及び/又
はネットに対する直接の修正として反映される。以下に
述べるように、新規ネットリストに対する直接変更は、
原ネットリストとの比較によって識別され得る。あるい
は、ユーザが変更設計を入力することを許容する高度設
計ツールは、自動的に新規ゲートにフラグを立てると共
に、実際にステップ860を実行し得る。
ョンが終了し、設計者/ユーザは、結果に満足するかも
しれない。しかしながら、このフローチャートは、ユー
ザ(あるいは、設計ソフトウェア)がコンパイル済結果
に完全には満足しておらず、変更を加える場合を想定し
ており、インクリメンタル再コンパイレーションを図示
する。したがって、ステップ860では、システムは、
原設計の修正を受け取る。例えば、ユーザは自身の修正
を、例えばHDL命令によって、設計プロセス中の比較
的高いレベルに入力し得る。しかしながら、変更は最後
に、原非合成ネットリストの1つ以上のゲート及び/又
はネットに対する直接の修正として反映される。以下に
述べるように、新規ネットリストに対する直接変更は、
原ネットリストとの比較によって識別され得る。あるい
は、ユーザが変更設計を入力することを許容する高度設
計ツールは、自動的に新規ゲートにフラグを立てると共
に、実際にステップ860を実行し得る。
【0115】ユーザの変更が設計中に受け取られると共
に、新規ゲートが識別された後、プロセス850の第2
ステージ(インクリメンタルコンパイル段階878)が
開始する。コンパイラは今、ステップ862にて変更設
計の非合成ネットリストを受け取る。そして、コンパイ
ラは、ユーザの変更により影響を受けた電子設計の「変
更」部分を定義するサブネットリストを生成すると共に
合成する。ステップ864を参照。このプロセスステッ
プについては、図20を参照して後述する。サブネット
リストは、ユーザの変更により直接修正された「新規」
ゲート、及びユーザの変更により影響を受けた「被影響
ゲート」(間接的に修正されるゲート)の双方を含む。
この後、ステップ866にてコンパイラは、変更設計を
論理セル中にマップし、そして、目標ハードウェア装置
中への変更設計の分配及び適合を試みる。適合を試みる
ための手順は以下に詳述する。
に、新規ゲートが識別された後、プロセス850の第2
ステージ(インクリメンタルコンパイル段階878)が
開始する。コンパイラは今、ステップ862にて変更設
計の非合成ネットリストを受け取る。そして、コンパイ
ラは、ユーザの変更により影響を受けた電子設計の「変
更」部分を定義するサブネットリストを生成すると共に
合成する。ステップ864を参照。このプロセスステッ
プについては、図20を参照して後述する。サブネット
リストは、ユーザの変更により直接修正された「新規」
ゲート、及びユーザの変更により影響を受けた「被影響
ゲート」(間接的に修正されるゲート)の双方を含む。
この後、ステップ866にてコンパイラは、変更設計を
論理セル中にマップし、そして、目標ハードウェア装置
中への変更設計の分配及び適合を試みる。適合を試みる
ための手順は以下に詳述する。
【0116】変更設計が目標ハードウェア装置に適合し
ないことはあり得る。したがって、コンパイラは決定ス
テップ868にて変更設計が現実に目標ハードウェア装
置に適合するか否かを決定しなければならない。答えが
YESの場合には、コンパイラは、ステップ870にて
コンパイル済設計を出力し、プロセスは終了する。一
方、答えがNOの場合には、コンパイラは、変更設計は
目標ハードウェア装置に適合しないと結論付け、ステッ
プ872にてユーザに試みが失敗したことを知らせる。
ないことはあり得る。したがって、コンパイラは決定ス
テップ868にて変更設計が現実に目標ハードウェア装
置に適合するか否かを決定しなければならない。答えが
YESの場合には、コンパイラは、ステップ870にて
コンパイル済設計を出力し、プロセスは終了する。一
方、答えがNOの場合には、コンパイラは、変更設計は
目標ハードウェア装置に適合しないと結論付け、ステッ
プ872にてユーザに試みが失敗したことを知らせる。
【0117】サブネットリスト(ステップ864)を生
成すると共に合成するための1つの方法が図20にフロ
ーチャートとして図示されている。図示されるように、
生成及び合成プロセス864が開始すると、ステップ8
82にてコンパイラは、ネットリストディファレンシン
グとして知られているプロセスを使用して、原非合成ネ
ットリストと変更設計の合成ネットリストとを比較す
る。ネットリストディファレンシングは、原非合成ネッ
トリスト中にて直接変更されたネットリストの全ノード
を識別する。例えば、いくつかのゲートが除去され、他
のゲートが加えられ、ゲートの機能が変更され、同一機
能のゲートに対する入力が変更され得る。既述のよう
に、識別されるノードは、「新規」ノード、または、
「直接修正」ノードと呼ばれる。
成すると共に合成するための1つの方法が図20にフロ
ーチャートとして図示されている。図示されるように、
生成及び合成プロセス864が開始すると、ステップ8
82にてコンパイラは、ネットリストディファレンシン
グとして知られているプロセスを使用して、原非合成ネ
ットリストと変更設計の合成ネットリストとを比較す
る。ネットリストディファレンシングは、原非合成ネッ
トリスト中にて直接変更されたネットリストの全ノード
を識別する。例えば、いくつかのゲートが除去され、他
のゲートが加えられ、ゲートの機能が変更され、同一機
能のゲートに対する入力が変更され得る。既述のよう
に、識別されるノードは、「新規」ノード、または、
「直接修正」ノードと呼ばれる。
【0118】この技術は、同一ユーザ割当名称を有する
2つのネットリストの構成要素(例えば、ゲート)のマ
ッチングを伴う。同一名称及び同一特徴を有するそれら
の構成要素は、互いにマッチングするとして確認され
る。一致しない構成要素は、それらが共通に有する基本
特性、及びそれらの近傍の構成要素の基本特性を考慮す
ることによりさらに比較される。構成要素マッチング手
順が終了した後、内部構成要素接続(ネット)が考慮さ
れる。各一致構成要素について、その構成要素のすぐ隣
の一致構成要素が、他のネットリスト中におけるその構
成要素のすぐ隣の構成要素と一致しない場合には、その
構成要素、及びすぐ隣の一致構成要素間の接続が変更さ
れたとしてマークされる。
2つのネットリストの構成要素(例えば、ゲート)のマ
ッチングを伴う。同一名称及び同一特徴を有するそれら
の構成要素は、互いにマッチングするとして確認され
る。一致しない構成要素は、それらが共通に有する基本
特性、及びそれらの近傍の構成要素の基本特性を考慮す
ることによりさらに比較される。構成要素マッチング手
順が終了した後、内部構成要素接続(ネット)が考慮さ
れる。各一致構成要素について、その構成要素のすぐ隣
の一致構成要素が、他のネットリスト中におけるその構
成要素のすぐ隣の構成要素と一致しない場合には、その
構成要素、及びすぐ隣の一致構成要素間の接続が変更さ
れたとしてマークされる。
【0119】ステップ882におけるネットリストディ
ファレンシングの後、コンパイラは次にステップ884
にて非合成ネットリストの変更部分を識別する。この変
更部分は、ステップ882にて識別された設計変更によ
り影響を受ける論理ノード(直接及び間接修正ノードの
双方)を含む「サブネットリスト」である。
ファレンシングの後、コンパイラは次にステップ884
にて非合成ネットリストの変更部分を識別する。この変
更部分は、ステップ882にて識別された設計変更によ
り影響を受ける論理ノード(直接及び間接修正ノードの
双方)を含む「サブネットリスト」である。
【0120】コンパイラは以下のステップ884を実行
し得る。先ず、コンパイラは、(ネットリストディファ
レンシングによって決定された)原電子設計についての
非合成ネットリストから直接変更された変更電子設計に
ついての非合成ネットリスト中における1つ以上の新規
論理ノードのリストを受け取る。コンパイラはまた、所
定の規則に合致するレジスタ及び/又はI/Oピンであ
り得る「外部ノード」を識別する。特に、外部ノード
は、(i)変更電子設計の非合成ネットリスト及び原電
子設計の非合成ネットリスト間に共通であり、(ii)
共通の信号を出力するレジスタ及びI/Oピンである。
新規ノード及び外部ノードを用いて、コンパイラは変更
電子設計用非合成ネットリストを取得すると共に、新規
論理ノード及び1つ以上の「外部ノード」間における信
号伝達パスを追跡する。追跡プロセスの間、コンパイラ
は、コンパイラが信号伝達パス上で発見した全ノードを
「被影響ノード」として指定すると共に、サブネット中
においてそれらをコンパイラが先に発見した1つ以上の
新規論理ノード及び外部ノードと共にグループ化する。
し得る。先ず、コンパイラは、(ネットリストディファ
レンシングによって決定された)原電子設計についての
非合成ネットリストから直接変更された変更電子設計に
ついての非合成ネットリスト中における1つ以上の新規
論理ノードのリストを受け取る。コンパイラはまた、所
定の規則に合致するレジスタ及び/又はI/Oピンであ
り得る「外部ノード」を識別する。特に、外部ノード
は、(i)変更電子設計の非合成ネットリスト及び原電
子設計の非合成ネットリスト間に共通であり、(ii)
共通の信号を出力するレジスタ及びI/Oピンである。
新規ノード及び外部ノードを用いて、コンパイラは変更
電子設計用非合成ネットリストを取得すると共に、新規
論理ノード及び1つ以上の「外部ノード」間における信
号伝達パスを追跡する。追跡プロセスの間、コンパイラ
は、コンパイラが信号伝達パス上で発見した全ノードを
「被影響ノード」として指定すると共に、サブネット中
においてそれらをコンパイラが先に発見した1つ以上の
新規論理ノード及び外部ノードと共にグループ化する。
【0121】設計の変更部分が識別された後、ステップ
886にてコンパイラは変更部分を合成する。リソース
を節約するために、コンパイラは通常、設計の被変更部
分を合成しない。新規合成サブネットリストは、原合成
ネットリストの対応部分を置換し得る。原合成ネットリ
スト及び変更ネットリストは、ネットリストディファレ
ンシングによって任意に互いに比較され得る。ステップ
888参照。この任意のステップは、合成ネットリスト
のどのノードが現実に変更されたかを確認する。それら
変更されたノードだけが、続くインクリメンタルコンパ
イレーション手順にて考慮される必要がある。プロセス
はこれにて終了し、プロセス制御は、プロセス850の
ステップ866に移行する(図19)。すなわち、コン
パイラは、できる限り原適合を保持しつつ、合成ネット
リストの変更ゲートを論理セル中にマップし、分配し、
また、適合させる。
886にてコンパイラは変更部分を合成する。リソース
を節約するために、コンパイラは通常、設計の被変更部
分を合成しない。新規合成サブネットリストは、原合成
ネットリストの対応部分を置換し得る。原合成ネットリ
スト及び変更ネットリストは、ネットリストディファレ
ンシングによって任意に互いに比較され得る。ステップ
888参照。この任意のステップは、合成ネットリスト
のどのノードが現実に変更されたかを確認する。それら
変更されたノードだけが、続くインクリメンタルコンパ
イレーション手順にて考慮される必要がある。プロセス
はこれにて終了し、プロセス制御は、プロセス850の
ステップ866に移行する(図19)。すなわち、コン
パイラは、できる限り原適合を保持しつつ、合成ネット
リストの変更ゲートを論理セル中にマップし、分配し、
また、適合させる。
【0122】適合プロセス(ステップ866)は、イン
クリメンタルコンパイレーションに用いられる際に最適
化され得る。先ず、コンパイラは、コンパイル済の原電
子設計を受け取る。(これは、目標ハードウェア装置
(例えば、未プログラムPLD)の論理要素(基本ハー
ドウェア単位)上の原電子設計からの論理セルの配置を
特定する)。次に、コンパイラは、変更電子設計の論理
セルを(i)設計に対する変更により影響を受けた論理
セルを含む変更部分、(ii)変更により影響を受けな
かった論理セルを含む非変更部分とに分類する。そし
て、コンパイラは、変更電子設計の被変更部分からの論
理セルを目標ハードウェア装置の(変更電子設計の被変
更部分からの論理セルが先にコンパイルされた原電子設
計中に配置されるハードウェア装置の領域である)非変
更領域に配置する。最後に、コンパイラは、(上述のよ
うに)変更電子設計の非変更部分からの論理セルを目標
ハードウェア装置の非変更領域におけるそれらの原位置
に限定すると同時に、電子設計の変更部分の論理セルを
目標ハードウェア装置における非変更領域の外側に配置
される論理要素上に適合させようと試みる。
クリメンタルコンパイレーションに用いられる際に最適
化され得る。先ず、コンパイラは、コンパイル済の原電
子設計を受け取る。(これは、目標ハードウェア装置
(例えば、未プログラムPLD)の論理要素(基本ハー
ドウェア単位)上の原電子設計からの論理セルの配置を
特定する)。次に、コンパイラは、変更電子設計の論理
セルを(i)設計に対する変更により影響を受けた論理
セルを含む変更部分、(ii)変更により影響を受けな
かった論理セルを含む非変更部分とに分類する。そし
て、コンパイラは、変更電子設計の被変更部分からの論
理セルを目標ハードウェア装置の(変更電子設計の被変
更部分からの論理セルが先にコンパイルされた原電子設
計中に配置されるハードウェア装置の領域である)非変
更領域に配置する。最後に、コンパイラは、(上述のよ
うに)変更電子設計の非変更部分からの論理セルを目標
ハードウェア装置の非変更領域におけるそれらの原位置
に限定すると同時に、電子設計の変更部分の論理セルを
目標ハードウェア装置における非変更領域の外側に配置
される論理要素上に適合させようと試みる。
【0123】適合の試みが失敗した場合には、コンパイ
ラは、変更電子設計からの論理セルが限られた量だけ目
標ハードウェア装置内の他の論理要素に移動することを
許容する。先ず、この移動は、原コンパイレーションの
配置をできる限り保持するために、かなり制約を受け
る。しかしながら、適合がこれら制約の下、達成され得
ない場合には、適合が達成されるまでこの制約は段階的
に解除される。ある場合には、適合は、その時点でコン
パイラが本質的に全コンパイルを実行し終えている全制
約が解除される時点まで取得され得ない。しかしなが
ら、多くの場合、適合は、全再コンパイルが要求される
前に達成され、これにより、インクリメンタル再コンパ
イルの間、相当のリソースが節約される。
ラは、変更電子設計からの論理セルが限られた量だけ目
標ハードウェア装置内の他の論理要素に移動することを
許容する。先ず、この移動は、原コンパイレーションの
配置をできる限り保持するために、かなり制約を受け
る。しかしながら、適合がこれら制約の下、達成され得
ない場合には、適合が達成されるまでこの制約は段階的
に解除される。ある場合には、適合は、その時点でコン
パイラが本質的に全コンパイルを実行し終えている全制
約が解除される時点まで取得され得ない。しかしなが
ら、多くの場合、適合は、全再コンパイルが要求される
前に達成され、これにより、インクリメンタル再コンパ
イルの間、相当のリソースが節約される。
【0124】好適な実施形態では、制約は以下のように
操作される。完全制約システムでは、設計の非変更部分
からの全セルが原設計の全コンパイルの間、それらに割
り当てられた位置(論理要素)に正確に配置される。既
述のように、このことは、設計の変更部分の適合に関し
て充分な柔軟性を許容し得ない。この場合、第1制約が
解除され、適合が再度試みられる。ある実施の形態で
は、この初期解除は、電子設計の非変更部分からの論理
セルが、それらセルに対して先に割り当てられた論理要
素から関連論理要素へ移動することを許容する。関連論
理要素は、局所内部接続により結合されている最近接論
理要素の集合であり、「ブロック」と見なされる。この
初期制約の解除は、ブロック内における移動のみを許容
する。必要な場合には、高レベルの制約が続いて解除さ
れ得る。このことは、論理セルがそれらの初期ブロック
から他のブロック中に配置される論理要素に対して移動
することを許容するが、その移動先は、依然としていく
つかの高いレベルの要素の類別内(例えば、同一ブロッ
ク列内)である。最後に、全制約が解除された場合に
は、論理セルは、目標ハードウェア装置中の位置に関わ
りなく、あらゆる論理要素へ移動し得る。
操作される。完全制約システムでは、設計の非変更部分
からの全セルが原設計の全コンパイルの間、それらに割
り当てられた位置(論理要素)に正確に配置される。既
述のように、このことは、設計の変更部分の適合に関し
て充分な柔軟性を許容し得ない。この場合、第1制約が
解除され、適合が再度試みられる。ある実施の形態で
は、この初期解除は、電子設計の非変更部分からの論理
セルが、それらセルに対して先に割り当てられた論理要
素から関連論理要素へ移動することを許容する。関連論
理要素は、局所内部接続により結合されている最近接論
理要素の集合であり、「ブロック」と見なされる。この
初期制約の解除は、ブロック内における移動のみを許容
する。必要な場合には、高レベルの制約が続いて解除さ
れ得る。このことは、論理セルがそれらの初期ブロック
から他のブロック中に配置される論理要素に対して移動
することを許容するが、その移動先は、依然としていく
つかの高いレベルの要素の類別内(例えば、同一ブロッ
ク列内)である。最後に、全制約が解除された場合に
は、論理セルは、目標ハードウェア装置中の位置に関わ
りなく、あらゆる論理要素へ移動し得る。
【0125】「コンピュータシステムの実施の形態」既
述の本発明に係る発明の実施の形態は、コンピュータシ
ステム内にストアされているデータを必要とする種々の
プロセスステップを採用する。これらのステップは、物
理量の物理的処理を必要とする。通常、必ずしも必要で
はないが、これら物理量は、記憶、転送、結合、比較、
及び他の処理が可能である、電気信号又は磁気信号の形
を採る。時に、都合が良く、汎用されていることを主た
る理由として、これらの信号は、便宜上、ビット、値、
要素、変数、文字、データ構造等と呼ばれることがあ
る。しかしながら、これらの用語、及び同様な用語の全
ては、適当な物理量と関連付けられ、また、単にこれら
の物理量に適用される都合の良いラベルでしかないこと
が理解されるべきである。
述の本発明に係る発明の実施の形態は、コンピュータシ
ステム内にストアされているデータを必要とする種々の
プロセスステップを採用する。これらのステップは、物
理量の物理的処理を必要とする。通常、必ずしも必要で
はないが、これら物理量は、記憶、転送、結合、比較、
及び他の処理が可能である、電気信号又は磁気信号の形
を採る。時に、都合が良く、汎用されていることを主た
る理由として、これらの信号は、便宜上、ビット、値、
要素、変数、文字、データ構造等と呼ばれることがあ
る。しかしながら、これらの用語、及び同様な用語の全
ては、適当な物理量と関連付けられ、また、単にこれら
の物理量に適用される都合の良いラベルでしかないこと
が理解されるべきである。
【0126】さらに、実行される処理は、しばしば、識
別、実行、あるいは比較といった用語で呼ばれる。本明
細書にて述べる操作はどれも、本発明の一部を成し、こ
れらの操作は機械操作である。本発明の実施の形態の操
作を実行するために有用な機械には、一般的用途のディ
ジタルコンピュータ、あるいは他の同様な装置が含まれ
る。全ての場合において、コンピュータの操作方法と、
演算の方法そのものとは、明確に区別されるべきであ
る。本発明は、他の所望の物理信号を生成するために、
電気信号、又は他の物理信号を処理するコンピュータの
操作方法に関する。
別、実行、あるいは比較といった用語で呼ばれる。本明
細書にて述べる操作はどれも、本発明の一部を成し、こ
れらの操作は機械操作である。本発明の実施の形態の操
作を実行するために有用な機械には、一般的用途のディ
ジタルコンピュータ、あるいは他の同様な装置が含まれ
る。全ての場合において、コンピュータの操作方法と、
演算の方法そのものとは、明確に区別されるべきであ
る。本発明は、他の所望の物理信号を生成するために、
電気信号、又は他の物理信号を処理するコンピュータの
操作方法に関する。
【0127】本発明の実施の形態はまた、これらの操作
を実行する装置に関連する。この装置は、特に特定用途
のために構成されたコンピュータであり、あるいは、コ
ンピュータにストアされているコンピュータプログラム
によって選択的に起動され、または、再構成される一般
用途のコンピュータである。本明細書にて記述される処
理は、どのような特定のコンピュータ、あるいは他の装
置に対しても、本来的に関連付けられるものではない。
特に、個々の一般的用途の機械は、本明細書の記載に従
い記述されたプログラムと共に使用されるであろうし、
あるいは要求されるステップを実行するために、より専
用化された装置を構成することはより都合が良いであろ
う。これら多くの機械に要求される構造は、既述の通り
である。
を実行する装置に関連する。この装置は、特に特定用途
のために構成されたコンピュータであり、あるいは、コ
ンピュータにストアされているコンピュータプログラム
によって選択的に起動され、または、再構成される一般
用途のコンピュータである。本明細書にて記述される処
理は、どのような特定のコンピュータ、あるいは他の装
置に対しても、本来的に関連付けられるものではない。
特に、個々の一般的用途の機械は、本明細書の記載に従
い記述されたプログラムと共に使用されるであろうし、
あるいは要求されるステップを実行するために、より専
用化された装置を構成することはより都合が良いであろ
う。これら多くの機械に要求される構造は、既述の通り
である。
【0128】さらに、本発明の実施の形態は、個々のコ
ンピュータ実働操作を実行するための種々のプログラム
命令を含むコンピュータプログラムの記録媒体に関連す
る。媒体、及びプログラム命令は、本発明の目的のため
に特別に設計され、構成されるであろうし、また、コン
ピュータソフトウェア技術分野の当業者にとって良く知
られ、利用可能なものである。コンピュータプログラム
の記録媒体の例としては、これらに限られるものではな
いが、ハードディスク、フロッピーディスク、磁気テー
プ、CD−ROMディスクのような光媒体、フロプティ
カルディスクのような光磁気媒体、及び、読取り専用記
憶装置(ROM)、及び読取り書込み記憶装置(RA
M)のようなプログラム命令を記憶し、実行するために
特別に構成されたハードウェア装置がある。プログラム
命令の例には、例えばコンパイラによって生成される機
械コード、及びインタプリタを使用するコンピュータに
よって実行され得る高級コードを含むファイルが含まれ
る。
ンピュータ実働操作を実行するための種々のプログラム
命令を含むコンピュータプログラムの記録媒体に関連す
る。媒体、及びプログラム命令は、本発明の目的のため
に特別に設計され、構成されるであろうし、また、コン
ピュータソフトウェア技術分野の当業者にとって良く知
られ、利用可能なものである。コンピュータプログラム
の記録媒体の例としては、これらに限られるものではな
いが、ハードディスク、フロッピーディスク、磁気テー
プ、CD−ROMディスクのような光媒体、フロプティ
カルディスクのような光磁気媒体、及び、読取り専用記
憶装置(ROM)、及び読取り書込み記憶装置(RA
M)のようなプログラム命令を記憶し、実行するために
特別に構成されたハードウェア装置がある。プログラム
命令の例には、例えばコンパイラによって生成される機
械コード、及びインタプリタを使用するコンピュータに
よって実行され得る高級コードを含むファイルが含まれ
る。
【0129】図17は、本発明の発明の実施の形態にし
たがう一般的なコンピュータシステムを図示する。コン
ピュータシステム900は、1次記憶装置904(一般
的に読取り専用記憶装置、又はROMと呼ばれる)、及
び1次記憶装置906(読取り書込み記憶装置、又はR
AMと呼ばれる)と結合されてるあらゆる数のプロセッ
サ902(中央演算処理装置、又はCPUとも呼ばれ
る)を備える。当業者によって良く知られているよう
に、1次記憶装置904は、データ、及び命令をCPU
902に対して単一方向に転送し、1次記憶装置906
は、一般的にデータ、及び命令を双方向に転送する。こ
れら1次記憶装置の双方には、上述したあらゆる好適な
コンピュータプログラムの記録媒体が含まれ得る。
たがう一般的なコンピュータシステムを図示する。コン
ピュータシステム900は、1次記憶装置904(一般
的に読取り専用記憶装置、又はROMと呼ばれる)、及
び1次記憶装置906(読取り書込み記憶装置、又はR
AMと呼ばれる)と結合されてるあらゆる数のプロセッ
サ902(中央演算処理装置、又はCPUとも呼ばれ
る)を備える。当業者によって良く知られているよう
に、1次記憶装置904は、データ、及び命令をCPU
902に対して単一方向に転送し、1次記憶装置906
は、一般的にデータ、及び命令を双方向に転送する。こ
れら1次記憶装置の双方には、上述したあらゆる好適な
コンピュータプログラムの記録媒体が含まれ得る。
【0130】大容量記憶装置908もまた、双方向転送
可能であるようにCPU902と接続されると共に、追
加データ記憶容量を提供し、また、上述したあらゆるコ
ンピュータプログラムの記録媒体を含み得る。大容量記
憶装置908は、プログラム、データ等を記憶するため
に用いられ、また、一般的に、1次記憶装置よりも遅
い、例えば、ハードディスクのような2次記憶装置であ
る。大容量記憶装置908内に保持されている情報は、
適当な場合に、一般的な方法により、仮想メモリの形で
1次記憶装置906の一部として組み込まれ得ることは
理解されるべきである。特定の大容量記憶装置、例え
ば、CD−ROM914もまた、CPU902に対して
データを単一方向に転送し得る。
可能であるようにCPU902と接続されると共に、追
加データ記憶容量を提供し、また、上述したあらゆるコ
ンピュータプログラムの記録媒体を含み得る。大容量記
憶装置908は、プログラム、データ等を記憶するため
に用いられ、また、一般的に、1次記憶装置よりも遅
い、例えば、ハードディスクのような2次記憶装置であ
る。大容量記憶装置908内に保持されている情報は、
適当な場合に、一般的な方法により、仮想メモリの形で
1次記憶装置906の一部として組み込まれ得ることは
理解されるべきである。特定の大容量記憶装置、例え
ば、CD−ROM914もまた、CPU902に対して
データを単一方向に転送し得る。
【0131】CPU902はまた、ビデオモニタ、トラ
ックボール、マウス、キーボード、マイクロホン、接触
感応ディスプレイ、トランスジューサカードリーダ、磁
気又は紙テープリーダ、タブレット、スタイラス、音声
又は手書き認識装置、当然のことながら他のコンピュー
タといった他の周知の入力装置を含む、1つ以上の入出
力装置(I/O)910と接続されている。最後に、C
PU902は、任意に、コンピュータ、あるいは912
として概念的に示されているネットワーク接続回路を使
用する通信ネットワークと光学的に接続され得る。ネッ
トワークと接続されている場合、上述の方法ステップを
実行するやり方で、CPUはネットワークから情報を受
け取り、また、ネットワークに対して情報を出力し得る
ことが予期される。上述の装置、及び機器は、コンピュ
ータハードウェア、及びソフトウェアの技術分野におけ
る当業者に馴染みのあるものであろう。
ックボール、マウス、キーボード、マイクロホン、接触
感応ディスプレイ、トランスジューサカードリーダ、磁
気又は紙テープリーダ、タブレット、スタイラス、音声
又は手書き認識装置、当然のことながら他のコンピュー
タといった他の周知の入力装置を含む、1つ以上の入出
力装置(I/O)910と接続されている。最後に、C
PU902は、任意に、コンピュータ、あるいは912
として概念的に示されているネットワーク接続回路を使
用する通信ネットワークと光学的に接続され得る。ネッ
トワークと接続されている場合、上述の方法ステップを
実行するやり方で、CPUはネットワークから情報を受
け取り、また、ネットワークに対して情報を出力し得る
ことが予期される。上述の装置、及び機器は、コンピュ
ータハードウェア、及びソフトウェアの技術分野におけ
る当業者に馴染みのあるものであろう。
【0132】以上、理解を明確にするために種々の発明
の実施の形態に基づき本発明を説明したが、本発明の趣
旨から逸脱しない範囲で種々の変更改良が可能である。
例えば、本発明は、プログラマブル回路及び幅広いメモ
リ装置のみならず、複数のエンジニアが共同で作業する
あらゆる種類の電子回路、及び特定の集積回路にも適用
され得る。また、明細書中に記載されたグローバル及び
ローカル作業空間といった作業空間は物理的位置に限定
されるものでなく、異なるユーザの作業ファイルの識別
を補助するに論理的作業空間として実装され得る。これ
らの作業空間は、1つのコンピュータ上、異なるコンピ
ュータ上で実装され得ると共に、イントラネットまたは
インターネットといったネットワーク接続を介して相互
に通信し得る。また、本発明に係る技術及びシステム
は、幅広いEDAツール及び装置をプログラムするため
の方法論との使用に好適である。さらに、種々のファイ
ル状態を記述したが、本発明のコンテキスト中において
他の多くの状態も実装され得る。したがって、説明され
た発明の実施の形態は、説明として捉えられるべきであ
り、制限として捉えられるべきでない。また、本発明は
本明細書中の詳細事項に限定されるべきでなく、特許請
求の範囲、及びその均等範囲に基づいてその範囲が判断
されるべきである
の実施の形態に基づき本発明を説明したが、本発明の趣
旨から逸脱しない範囲で種々の変更改良が可能である。
例えば、本発明は、プログラマブル回路及び幅広いメモ
リ装置のみならず、複数のエンジニアが共同で作業する
あらゆる種類の電子回路、及び特定の集積回路にも適用
され得る。また、明細書中に記載されたグローバル及び
ローカル作業空間といった作業空間は物理的位置に限定
されるものでなく、異なるユーザの作業ファイルの識別
を補助するに論理的作業空間として実装され得る。これ
らの作業空間は、1つのコンピュータ上、異なるコンピ
ュータ上で実装され得ると共に、イントラネットまたは
インターネットといったネットワーク接続を介して相互
に通信し得る。また、本発明に係る技術及びシステム
は、幅広いEDAツール及び装置をプログラムするため
の方法論との使用に好適である。さらに、種々のファイ
ル状態を記述したが、本発明のコンテキスト中において
他の多くの状態も実装され得る。したがって、説明され
た発明の実施の形態は、説明として捉えられるべきであ
り、制限として捉えられるべきでない。また、本発明は
本明細書中の詳細事項に限定されるべきでなく、特許請
求の範囲、及びその均等範囲に基づいてその範囲が判断
されるべきである
【0133】
【発明の効果】以上説明したように、本発明によれば、
電子設計自動化ツールを用いて複合集積回路、マルチチ
ップモジュール、回路基板、ASIC、PLD等の電子
設計上で複数のエンジニアが効率的、且つ、調整された
方法で作業することができる。さらに、各コンパイル毎
に完成設計が再試験される必要のないよう、1人のエン
ジニアによって形成された変更だけを一つずつコンパイ
ルすることができる。
電子設計自動化ツールを用いて複合集積回路、マルチチ
ップモジュール、回路基板、ASIC、PLD等の電子
設計上で複数のエンジニアが効率的、且つ、調整された
方法で作業することができる。さらに、各コンパイル毎
に完成設計が再試験される必要のないよう、1人のエン
ジニアによって形成された変更だけを一つずつコンパイ
ルすることができる。
【図1】 発明の実施の形態の1つに従うプログラマブ
ル論理開発システムのブロック図である。
ル論理開発システムのブロック図である。
【図2】 発明の実施の形態の1つに従うプログラマブ
ル論理回路の設計に用いられる設計方法論のフローチャ
ートである。
ル論理回路の設計に用いられる設計方法論のフローチャ
ートである。
【図3】 設計プロジェクトデータベースの例を模式的
に示す説明図である。
に示す説明図である。
【図4】 ユーザがファイルを編集すると共にコンパイ
ルする開発シナリオの概念図である。
ルする開発シナリオの概念図である。
【図5】 ユーザがファイル及び結果を置き換える開発
シナリオの概念図である。
シナリオの概念図である。
【図6】 2人の異なるユーザが別々にプロジェクト設
計上で同時に作業する開発シナリオの概念図である。
計上で同時に作業する開発シナリオの概念図である。
【図7】 グローバル作業空間中の置換済ファイルが異
なるユーザによって使用される開発シナリオの概念図で
ある。
なるユーザによって使用される開発シナリオの概念図で
ある。
【図8】 グローバル作業空間からの種々の状態の様々
なソースファイルを有するローカルユーザ作業空間の概
念図である。
なソースファイルを有するローカルユーザ作業空間の概
念図である。
【図9】 発明の実施の形態の1つに従うローカル作業
空間中のソースファイルについて使用可能な種々の状態
の各々に関連するオプションを示す表である。
空間中のソースファイルについて使用可能な種々の状態
の各々に関連するオプションを示す表である。
【図10】複数のユーザがプログラマブル論理回路用の
設計を共同して開発する開発シナリオの概念図である。
設計を共同して開発する開発シナリオの概念図である。
【図11】発明の実施の形態の1つに従うファイル状態
図である。
図である。
【図12】設計プロジェクトのコンテキスト中にてユー
ザが割当を修正する開発シナリオの概念図である。
ザが割当を修正する開発シナリオの概念図である。
【図13】ユーザが発明の実施の形態を使用してプロジ
ェクトソースファイルを修正する際に実行されるステッ
プを示すフローチャートである。
ェクトソースファイルを修正する際に実行されるステッ
プを示すフローチャートである。
【図14】ソースファイルを自動的にグローバル作業空
間からローカル作業空間に引き出す際に実行されるステ
ップを示すフローチャートである。
間からローカル作業空間に引き出す際に実行されるステ
ップを示すフローチャートである。
【図15】ユーザがプロジェクト設計の割当を修正する
際に実行されるステップを示すフローチャートである。
際に実行されるステップを示すフローチャートである。
【図16】グローバル作業空間中の割当を自動的にロー
カル作業空間に引き出す際に実行されるステップを示す
フローチャートである。
カル作業空間に引き出す際に実行されるステップを示す
フローチャートである。
【図17】合成前ネットリストがハードウェア論理要素
上にてどのようにして合成され、マップされるかを概念
的に示す説明図である。
上にてどのようにして合成され、マップされるかを概念
的に示す説明図である。
【図18】大きな非変更部分によって囲まれている設計
の変更部分の境界を示す電子設計を概念的に示す説明図
である。
の変更部分の境界を示す電子設計を概念的に示す説明図
である。
【図19】発明の実施の形態の1つにおけるインクリメ
ンタル再コンパイル方法がどのようにして標準コンパイ
レーション/再コンパイレーション設計フローに統合さ
れ得るかを示すフローチャートである。
ンタル再コンパイル方法がどのようにして標準コンパイ
レーション/再コンパイレーション設計フローに統合さ
れ得るかを示すフローチャートである。
【図20】発明の実施の形態の1つにおけるインクリメ
ンタル再コンパイル方法がどのようにして標準コンパイ
レーション/再コンパイレーション設計フローに統合さ
れ得るかを示す他のフローチャートである。
ンタル再コンパイル方法がどのようにして標準コンパイ
レーション/再コンパイレーション設計フローに統合さ
れ得るかを示す他のフローチャートである。
【図21】発明の実施の形態の実施に好適なコンピュー
タシステム例を示すブロック図である。
タシステム例を示すブロック図である。
10…プログラマブル論理開発システム、12…コンピ
ュータネットワーク、14…プログラミングユニット、
16…プログラマブル論理回路(PLD)、23…コン
ピュータシステムファイルサーバ、24…ネットワーク
接続、26…ケーブル、28…コンピュータプログラミ
ングケーブル、100…プロジェクトデータベース、1
02、182、252…グローバル作業空間、103…
接続、104…ユーザ1作業空間、106…ユーザ2作
業空間、108…ユーザ3作業空間、110…プロジェ
クトソースファイル、112、115…基底、114、
120、124…ローカルソースファイル、116、1
22、128、192、195…処理結果、118、1
24、130…レポートファイル、160、188、1
90…インクリメンタルコンパイラ、184…ユーザ4
作業空間、186…ユーザ5作業空間。
ュータネットワーク、14…プログラミングユニット、
16…プログラマブル論理回路(PLD)、23…コン
ピュータシステムファイルサーバ、24…ネットワーク
接続、26…ケーブル、28…コンピュータプログラミ
ングケーブル、100…プロジェクトデータベース、1
02、182、252…グローバル作業空間、103…
接続、104…ユーザ1作業空間、106…ユーザ2作
業空間、108…ユーザ3作業空間、110…プロジェ
クトソースファイル、112、115…基底、114、
120、124…ローカルソースファイル、116、1
22、128、192、195…処理結果、118、1
24、130…レポートファイル、160、188、1
90…インクリメンタルコンパイラ、184…ユーザ4
作業空間、186…ユーザ5作業空間。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ブレント エー. フェアバンクス アメリカ合衆国 95051 カリフォルニア 州 サンタ クララ バッキンガム ドラ イヴ 151 アパートメント 276
Claims (37)
- 【請求項1】 複数ユーザによる電子設計を促進するた
めのワークグループコンピューティングシステムであっ
て、そのワークグループコンピューティングシステム
は、 前記電子設計を表す複数のプロジェクトソースファイ
ル、及び前記プロジェクトソースファイルのコンパイレ
ーション結果を含むグローバル基底とを有するグローバ
ル作業空間、 前記プロジェクトソースファイルの第1ファイルコピ
ー、及びローカル基底を有する第1ユーザ作業空間、 前記第1ファイルコピーは前記電子設計の第1の部分を
表すと共に、前記第1ユーザ作業空間中に修正済第1フ
ァイルを生成するために第1ユーザによって修正可能で
あること、 前記修正済第1ファイルは前記グローバル作業空間中の
前記プロジェクトソースファイルの第1ファイルコピー
を上書きするために前記グローバル作業空間に再転送可
能であること、 前記ローカル基底は前記修正済第1ファイル及び前記プ
ロジェクトソースファイルのコンパイレーション結果を
含むと共に前記グローバル基底を上書きするために前記
グローバル作業空間に転送可能であること、 前記プロジェクトソースファイルの第2ファイルコピー
を有する第2ユーザ作業空間、 前記第2ファイルコピーは前記電子設計の第2の部分を
表すと共に、前記第2ユーザ作業空間中に修正済第2フ
ァイルを生成するために第2ユーザによって修正可能で
あること、 前記修正済第2ファイルは前記グローバル作業空間中の
前記プロジェクトソースファイルの第2ファイルコピー
を上書きするために前記グローバル作業空間に再転送可
能であること、 これにより前記プロジェクトソースファイルは前記第1
ユーザ及び前記第2ユーザによって同時に修正され得る
こととを備える、ワークグループコンピューティングシ
ステム。 - 【請求項2】 請求項1に記載のワークグループコンピ
ューティングシステムにおいて、前記電子設計はプログ
ラマブル論理回路であり、前記グローバル基底は前記プ
ログラマブル論理回路をプログラムするために用いられ
るワークグループコンピューティングシステム。 - 【請求項3】 請求項1に記載のワークグループコンピ
ューティングシステムにおいて、前記グローバル作業空
間、前記第1ユーザ作業空間及び前記第2ユーザ作業空
間は異なるコンピュータシステム上に存在するワークグ
ループコンピューティングシステム。 - 【請求項4】 請求項1に記載のワークグループコンピ
ューティングシステムはさらに、前記ローカル基底の前
記コンパイレーション結果を生成するために用いられる
インクリメンタルコンパイラを備える、ワークグループ
コンピューティングシステム。 - 【請求項5】 請求項1に記載のワークグループコンピ
ューティングシステムはさらに、デフォルトモードにあ
ると共に、その更新済バージョンを前記第2ユーザ作業
空間が自動的に受け取るよう誘因イベントにより自動的
に前記第2ユーザ作業空間に対して転送可能である前記
プロジェクトソースファイルの第3ファイルを有する、
ワークグループコンピューティングシステム。 - 【請求項6】 ワークグループコンピューティングシス
テムにおける複数ユーザによる電子設計を促進するため
のコンピュータ実装方法であって、そのコンピュータ実
装方法は、 前記電子設計を表す複数のプロジェクトリソースファイ
ル、及び前記プロジェクトソースファイルのコンパイレ
ーション結果を含むグローバル基底とをグローバル作業
空間内に格納するステップ、 前記電子設計の第1の部分を表す前記複数のプロジェク
トソースファイルの第1ファイルが第1ユーザによって
修正され得るよう前記第1ファイルを第1ユーザ作業空
間に対して転送するステップ、 前記グローバル基底を上書きするために前記グローバル
作業空間に転送可能であると共にコンパイレーション結
果を含むローカル基底を生成するために前記修正済第1
ファイルと共に前記プロジェクトソースファイルのサブ
セットをコンパイルするステップ、 前記電子設計の第2の部分を表す前記複数のプロジェク
トソースファイルの第2ファイルが第2ユーザによって
修正され得るよう前記第2ファイルを第2ユーザ作業空
間に対して転送するステップとを備え、これにより前記
電子設計は前記複数のユーザによって同時に修正され得
る、コンピュータ実装方法。 - 【請求項7】 請求項6に記載のコンピュータ実装方法
はさらに、 前記第1ユーザ作業空間から前記グローバル作業空間中
に前記修正済第1ファイルを受け取ると共に、前記グロ
ーバル作業空間中における前記第1ファイルを前記修正
済第1ファイルにて上書きするステップ、 前記第2ユーザ作業空間から前記グローバル作業空間中
に前記修正済第2ファイルを受け取ると共に、前記グロ
ーバル作業空間中における前記第2ファイルを前記修正
済第2ファイルにて上書きするステップとを備え、これ
により前記第1ユーザ及び前記第2ユーザにより加えら
れた修正が前記グローバル作業空間中に反映される、コ
ンピュータ実装方法。 - 【請求項8】 請求項6に記載のコンピュータ実装方法
において、前記電子設計はプログラマブル論理回路であ
り、前記グローバル基底は前記プログラマブル論理回路
をプログラムするために用いられる、コンピュータ実装
方法。 - 【請求項9】 請求項6に記載のコンピュータ実装方法
において、前記グローバル作業空間、前記第1ユーザ作
業空間及び前記第2ユーザ作業空間は異なるコンピュー
タシステム上に存在する、コンピュータ実装方法。 - 【請求項10】請求項6に記載のコンピュータ実装方法
において、前記プロジェクトソースファイルのサブセッ
トコンパイルステップは、インクリメンタルコンパイラ
を用いて実行される、コンピュータ実装方法。 - 【請求項11】請求項6に記載のコンピュータ実装方法
において、前記プロジェクトソースファイルの第3ファ
イルはデフォルトモードにあり、前記コンピュータ実装
方法はさらに、 前記第3ファイルの更新済バージョンを前記第2ユーザ
作業空間が自動的に受け取るよう誘因イベントにより前
記第3ファイルを前記グローバル作業空間から前記第2
ユーザ作業空間に対して自動的に転送するステップを備
える、コンピュータ実装方法。 - 【請求項12】ワークグループコンピューティングシス
テムにおける複数ユーザによる、複数のプロジェクトリ
ソースファイル、及びプロジェクトソースファイルのコ
ンパイレーション結果を含むグローバル基底とをグロー
バル作業空間中に含む電子設計を促進するためのコンピ
ュータ実装方法であって、そのコンピュータ実装方法
は、 前記電子設計の部分を表す前記複数のプロジェクトソー
スファイルの1ファイルを前記グローバル作業空間から
ローカルユーザ作業空間に対して転送するために命令を
受けるステップ、 前記プロジェクトソースファイルが前記ユーザの1人に
よって現在、修正されているか否かを決定するステッ
プ、 修正済プロジェクトソースファイルを生成するために前
記プロジェクトソースファイルが前記ローカルユーザ作
業空間中にて修正されるよう前記プロジェクトソースフ
ァイルを前記ローカルユーザ作業空間に転送するステッ
プ、 前記プロジェクトソースファイルが修正されていること
を示すロック標識を設定するステップ、 前記修正済プロジェクトソースファイルを前記ローカル
ユーザ作業空間から前記グローバル作業空間に対して転
送するために命令を受けるステップ、 前記修正済プロジェクトソースファイルが前記プロジェ
クトソースファイルを上書きするように前記修正済プロ
ジェクトソースファイルを前記ローカルユーザ作業空間
から前記グローバル作業空間に対して転送するステップ
とを備え、これにより前記電子設計が修正される、コン
ピュータ実装方法。 - 【請求項13】請求項12に記載のコンピュータ実装方
法において、前記電子設計はプログラマブル論理回路で
あり、前記プロジェクトソースファイルは前記プログラ
マブル論理回路をプログラムするために用いられる、コ
ンピュータ実装方法。 - 【請求項14】請求項12に記載のコンピュータ実装方
法において、前記グローバル作業空間、前記ローカルユ
ーザ作業空間は異なるコンピュータシステム上に存在す
る、コンピュータ実装方法。 - 【請求項15】請求項12に記載のコンピュータ実装方
法はさらに、 コンパイレーション結果を含むローカル基底を生成する
ためにインクリメンタルコンパイラを用いて前記修正済
プロジェクトソースファイルと共に前記プロジェクトソ
ースファイルのサブセットをコンパイルするステップ、 前記グローバル基底を上書きするために、前記ローカル
基底を前記グローバル作業空間に対して転送するステッ
プとを備える、コンピュータ実装方法。 - 【請求項16】請求項12に記載のコンピュータ実装方
法において、前記プロジェクトソースファイルの第2フ
ァイルはデフォルトモードにあり、前記コンピュータ実
装方法はさらに、 前記第2ファイルの更新済バージョンを前記ローカルユ
ーザ作業空間が自動的に受け取るよう誘因イベントによ
り前記第2ファイルを前記グローバル作業空間から前記
ローカルユーザ作業空間に対して自動的に転送するステ
ップを備える、コンピュータ実装方法。 - 【請求項17】請求項12に記載のコンピュータ実装方
法はさらに、 前記プロジェクトソースファイルが前記ローカルユーザ
作業空間にて修正されている間、前記プロジェクトソー
スファイルのコピーが第2ローカルユーザ作業空間中に
て修正されるよう前記プロジェクトソースファイルの前
記コピーを前記第2ローカルユーザ作業空間に転送する
ステップを備える、コンピュータ実装方法。 - 【請求項18】請求項12に記載のコンピュータ実装方
法において、前記修正済プロジェクトソースファイルの
転送ステップの後、前記コンピュータ実装方法はさら
に、 前記プロジェクトソースファイルをロックモードからデ
フォルトモードに変更するステップ、 前記プロジェクトソースファイルの更新済バージョンを
前記ローカルユーザ作業空間が自動的に受け取るよう誘
因イベントにより前記プロジェクトソースファイルを前
記グローバル作業空間から前記ローカルユーザ作業空間
に対して自動的に転送するステップを備える、コンピュ
ータ実装方法。 - 【請求項19】ワークグループコンピューティングシス
テムにおける複数ユーザによる電子設計を促進するため
のコンピュータ読み取り可能なプログラムを記録した記
録媒体であって、そのプログラムは、 前記電子設計を表す複数のプロジェクトリソースファイ
ル、及び前記プロジェクトソースファイルのコンパイレ
ーション結果を含むグローバル基底とをグローバル作業
空間内に格納するステップ、 前記電子設計の第1の部分を表す前記複数のプロジェク
トソースファイルの第1ファイルが第1ユーザによって
修正され得るよう前記第1ファイルを第1ユーザ作業空
間に対して転送するステップ、 前記グローバル基底を上書きするために前記グローバル
作業空間に転送可能であると共にコンパイレーション結
果を含むローカル基底を生成するために前記修正済第1
ファイルと共に前記プロジェクトソースファイルのサブ
セットをコンパイルするステップ、 前記電子設計の第2の部分を表す前記複数のプロジェク
トソースファイルの第2ファイルが第2ユーザによって
修正され得るよう前記第2ファイルを第2ユーザ作業空
間に対して転送するステップとを備え、これにより前記
電子設計は前記複数のユーザによって同時に修正され得
る、電子設計促進プログラムを記録した記録媒体。 - 【請求項20】請求項19に記載の電子設計促進プログ
ラムを記録した記録媒体において、前記プログラムはさ
らに、 前記第1ユーザ作業空間から前記グローバル作業空間中
に前記修正済第1ファイルを受け取ると共に、前記グロ
ーバル作業空間中における前記第1ファイルを前記修正
済第1ファイルにて上書きするステップ、 前記第2ユーザ作業空間から前記グローバル作業空間中
に前記修正済第2ファイルを受け取ると共に、前記グロ
ーバル作業空間中における前記第2ファイルを前記修正
済第2ファイルにて上書きするステップとを備え、これ
により前記第1ユーザ及び前記第2ユーザにより加えら
れた修正が前記グローバル作業空間中に反映される、電
子設計促進プログラムを記録した記録媒体。 - 【請求項21】ワークグループコンピューティングシス
テムにおける複数ユーザによる、複数のプロジェクトリ
ソースファイル、及びプロジェクトソースファイルのコ
ンパイレーション結果を含むグローバル基底とをグロー
バル作業空間中に含む電子設計を促進するためのプログ
ラムを記録した記録媒体であって、そのプログラムは、 前記電子設計の部分を表す前記複数のプロジェクトソー
スファイルの1ファイルを前記グローバル作業空間から
ローカルユーザ作業空間に対して転送するために命令を
受けるステップ、 前記プロジェクトソースファイルが前記ユーザの1人に
よって現在、修正されているか否かを決定するステッ
プ、 修正済プロジェクトソースファイルを生成するために前
記プロジェクトソースファイルが前記ローカルユーザ作
業空間中にて修正されるよう前記プロジェクトソースフ
ァイルを前記ローカルユーザ作業空間に転送するステッ
プ、 前記プロジェクトソースファイルが修正されていること
を示すロック標識を設定するステップ、 前記修正済プロジェクトソースファイルを前記ローカル
ユーザ作業空間から前記グローバル作業空間に対して転
送するために命令を受けるステップ、 前記修正済プロジェクトソースファイルが前記プロジェ
クトソースファイルを上書きするように前記修正済プロ
ジェクトソースファイルを前記ローカルユーザ作業空間
から前記グローバル作業空間に対して転送するステップ
とを備え、これにより前記電子設計が修正される、電子
設計促進プログラムを記録した記録媒体。 - 【請求項22】請求項21に記載の電子設計促進プログ
ラムを記録した記録媒体において、前記プログラムはさ
らに、 コンパイレーション結果を含むローカル基底を生成する
ためにインクリメンタルコンパイラを用いて前記修正済
プロジェクトソースファイルと共に前記プロジェクトソ
ースファイルのサブセットをコンパイルするステップ、 前記グローバル基底を上書きするために、前記ローカル
基底を前記グローバル作業空間に対して転送するステッ
プとを備える、電子設計促進プログラムを記録した記録
媒体。 - 【請求項23】請求項21に記載の電子設計促進プログ
ラムを記録した記録媒体において、前記プロジェクトソ
ースファイルの第2ファイルはデフォルトモードにあ
り、前記プログラムはさらに、 前記第2ファイルの更新済バージョンを前記ローカルユ
ーザ作業空間が自動的に受け取るよう誘因イベントによ
り前記第2ファイルを前記グローバル作業空間から前記
ローカルユーザ作業空間に対して自動的に転送するステ
ップを備える、電子設計促進プログラムを記録した記録
媒体。 - 【請求項24】請求項21に記載の電子設計促進プログ
ラムを記録した記録媒体において、前記プログラムはさ
らに、 前記プロジェクトソースファイルが前記ローカルユーザ
作業空間にて修正されている間、前記プロジェクトソー
スファイルのコピーが第2ローカルユーザ作業空間中に
て修正されるよう前記プロジェクトソースファイルの前
記コピーを前記第2ローカルユーザ作業空間に転送する
ステップを備える、電子設計促進プログラムを記録した
記録媒体。 - 【請求項25】請求項21に記載の電子設計促進プログ
ラムを記録した記録媒体において、前記修正済プロジェ
クトソースファイルの転送ステップの後、前記プログラ
ムはさらに、 前記プロジェクトソースファイルをロックモードからデ
フォルトモードに変更するステップ、 前記プロジェクトソースファイルの更新済バージョンを
前記ローカルユーザ作業空間が自動的に受け取るよう誘
因イベントにより前記プロジェクトソースファイルを前
記グローバル作業空間から前記ローカルユーザ作業空間
に対して自動的に転送するステップとを備える、電子設
計促進プログラムを記録した記録媒体。 - 【請求項26】ワークグループコンピューティングシス
テムにおいて複数ユーザにより生成される電子設計を組
み込む電子装置を製造するための方法であって、その電
子装置製造方法は、 前記電子設計を表す複数のプロジェクトリソースファイ
ル、及び前記プロジェクトソースファイルのコンパイレ
ーション結果を含むグローバル基底とをグローバル作業
空間内に格納するステップ、 前記電子設計の第1の部分を表す前記複数のプロジェク
トソースファイルの第1ファイルが第1ユーザによって
修正され得るよう前記第1ファイルを第1ユーザ作業空
間に対して転送するステップ、 前記グローバル基底を上書きするために前記グローバル
作業空間に転送可能であると共にコンパイレーション結
果を含むローカル基底を生成するために前記修正済第1
ファイルと共に前記プロジェクトソースファイルのサブ
セットをコンパイルするステップ、 前記電子設計の第2の部分を表す前記複数のプロジェク
トソースファイルの第2ファイルが第2ユーザによって
修正され得るよう前記第2ファイルを第2ユーザ作業空
間に対して転送するステップとを備え、これにより前記
電子設計は前記複数のユーザによって同時に生成される
と共に修正され得る、電子装置製造方法。 - 【請求項27】請求項26に記載の電子装置製造方法に
おいて、前記電子装置は集積回路を含むプリント回路基
板である、電子装置製造方法。 - 【請求項28】請求項26に記載の電子装置製造方法に
おいて、前記電子装置はマルチチップモジュールであ
る、電子装置製造方法。 - 【請求項29】請求項26に記載の電子装置製造方法に
おいて、前記電子装置は複合集積回路である、電子装置
製造方法。 - 【請求項30】請求項26に記載の電子装置製造方法に
おいて、前記電子装置は特定用途向け集積回路(ASI
C)である、電子装置製造方法。 - 【請求項31】請求項26に記載の電子装置製造方法に
おいて、前記電子装置はプログラマブル論理回路(PL
D)である、電子装置製造方法。 - 【請求項32】ワークグループコンピューティングシス
テムにおいて複数ユーザにより生成される、複数のプロ
ジェクトリソースファイル、及びプロジェクトソースフ
ァイルのコンパイレーション結果を含むグローバル基底
とをグローバル作業空間中に含むコンパイル済電子設計
を組み込む電子装置の製造方法であって、その電子装置
製造方法は、 前記電子設計の部分を表す前記複数のプロジェクトソー
スファイルの1ファイルを前記グローバル作業空間から
ローカルユーザ作業空間に対して転送するために命令を
受けるステップ、 前記プロジェクトソースファイルが前記ユーザの1人に
よって現在、修正されているか否かを決定するステッ
プ、 修正済プロジェクトソースファイルを生成するために前
記プロジェクトソースファイルが前記ローカルユーザ作
業空間中にて修正されるよう前記プロジェクトソースフ
ァイルを前記ローカルユーザ作業空間に転送するステッ
プ、 前記プロジェクトソースファイルが修正されていること
を示すロック標識を設定するステップ、 前記修正済プロジェクトソースファイルを前記ローカル
ユーザ作業空間から前記グローバル作業空間に対して転
送するために命令を受けるステップ、 前記修正済プロジェクトソースファイルが前記プロジェ
クトソースファイルを上書きするように前記修正済プロ
ジェクトソースファイルを前記ローカルユーザ作業空間
から前記グローバル作業空間に対して転送するステップ
とを備え、これにより前記電子設計が修正される、電子
装置製造方法。 - 【請求項33】請求項32に記載の電子装置製造方法に
おいて、前記電子装置は集積回路を含むプリント回路基
板である、電子装置製造方法。 - 【請求項34】請求項32に記載の電子装置製造方法に
おいて、前記電子装置はマルチチップモジュールであ
る、電子装置製造方法。 - 【請求項35】請求項32に記載の電子装置製造方法に
おいて、前記電子装置は複合集積回路である、電子装置
製造方法。 - 【請求項36】請求項32に記載の電子装置製造方法に
おいて、前記電子装置は特定用途向け集積回路(ASI
C)である、電子装置製造方法。 - 【請求項37】請求項32に記載の電子装置製造方法に
おいて、前記電子装置はプログラマブル論理回路(PL
D)である、電子装置製造方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US2927796P | 1996-10-28 | 1996-10-28 | |
| US60/029277 | 1996-10-28 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10232891A true JPH10232891A (ja) | 1998-09-02 |
Family
ID=21848177
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9294547A Pending JPH10232891A (ja) | 1996-10-28 | 1997-10-27 | 電子設計自動化用ワークグループコンピューティング |
| JP9294546A Pending JPH10232890A (ja) | 1996-10-28 | 1997-10-27 | プログラマブル論理回路のための組み込み式論理アナライザー |
| JP9294544A Pending JPH10222374A (ja) | 1996-10-28 | 1997-10-27 | 遠隔ソフトウェア技術支援を提供するための方法 |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9294546A Pending JPH10232890A (ja) | 1996-10-28 | 1997-10-27 | プログラマブル論理回路のための組み込み式論理アナライザー |
| JP9294544A Pending JPH10222374A (ja) | 1996-10-28 | 1997-10-27 | 遠隔ソフトウェア技術支援を提供するための方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (16) | US5983277A (ja) |
| JP (3) | JPH10232891A (ja) |
| GB (3) | GB2318664B (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007172056A (ja) * | 2005-12-19 | 2007-07-05 | Toyota Motor Corp | 設計支援システム、設計支援方法及び設計支援プログラム |
| WO2009154045A1 (ja) * | 2008-06-20 | 2009-12-23 | コニカミノルタホールディングス株式会社 | 情報処理方法および情報処理装置 |
| JP2018018462A (ja) * | 2016-07-29 | 2018-02-01 | 富士通株式会社 | 旅程編集処理プログラム |
| US10481926B2 (en) | 2016-11-30 | 2019-11-19 | Lsis Co., Ltd. | Apparatus for compiling script |
Families Citing this family (867)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7232671B2 (en) * | 1989-02-15 | 2007-06-19 | The United States Of America As Represented By The Secretary, Department Of Health And Human Services | Pertussis toxin gene: cloning and expression of protective antigen |
| US20010011224A1 (en) | 1995-06-07 | 2001-08-02 | Stephen James Brown | Modular microprocessor-based health monitoring system |
| US6968375B1 (en) | 1997-03-28 | 2005-11-22 | Health Hero Network, Inc. | Networked system for interactive communication and remote monitoring of individuals |
| WO2001037174A1 (en) | 1992-11-17 | 2001-05-25 | Health Hero Network, Inc. | Method and system for improving adherence with a diet program or other medical regimen |
| US7624028B1 (en) | 1992-11-17 | 2009-11-24 | Health Hero Network, Inc. | Remote health monitoring and maintenance system |
| US5307263A (en) | 1992-11-17 | 1994-04-26 | Raya Systems, Inc. | Modular microprocessor-based health monitoring system |
| JPH08263438A (ja) * | 1994-11-23 | 1996-10-11 | Xerox Corp | ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法 |
| US6074433A (en) * | 1995-08-25 | 2000-06-13 | Fujitsu Limited | Optimization control apparatus and optimization control method for array descriptions |
| GB2318664B (en) * | 1996-10-28 | 2000-08-23 | Altera Corp | Embedded logic analyzer for a programmable logic device |
| US6134707A (en) * | 1996-11-14 | 2000-10-17 | Altera Corporation | Apparatus and method for in-system programming of integrated circuits containing programmable elements |
| US6031981A (en) * | 1996-12-19 | 2000-02-29 | Cirrus Logic, Inc. | Reconfigurable gate array cells for automatic engineering change order |
| US6090151A (en) * | 1997-07-01 | 2000-07-18 | Motorola, Inc. | Electronic device parameter estimator and method therefor |
| US6195788B1 (en) * | 1997-10-17 | 2001-02-27 | Altera Corporation | Mapping heterogeneous logic elements in a programmable logic device |
| US6286114B1 (en) * | 1997-10-27 | 2001-09-04 | Altera Corporation | Enhanced embedded logic analyzer |
| US6230304B1 (en) * | 1997-12-24 | 2001-05-08 | Magma Design Automation, Inc. | Method of designing a constraint-driven integrated circuit layout |
| JP2924882B1 (ja) * | 1998-01-27 | 1999-07-26 | 日本電気株式会社 | 論理シミュレーションモデルの作成方法および装置ならびに記録媒体 |
| GB2333864B (en) * | 1998-01-28 | 2003-05-07 | Ibm | Distribution of software updates via a computer network |
| US6202207B1 (en) | 1998-01-28 | 2001-03-13 | International Business Machines Corporation | Method and a mechanism for synchronized updating of interoperating software |
| US6718547B2 (en) * | 1998-02-17 | 2004-04-06 | Fuji Photo Film Co., Ltd. | Medical network system |
| US7085670B2 (en) * | 1998-02-17 | 2006-08-01 | National Instruments Corporation | Reconfigurable measurement system utilizing a programmable hardware element and fixed hardware resources |
| US6263483B1 (en) * | 1998-02-20 | 2001-07-17 | Lsi Logic Corporation | Method of accessing the generic netlist created by synopsys design compilier |
| US6922659B2 (en) * | 1998-02-26 | 2005-07-26 | Micron Technology, Inc. | Parameter population of cells of a hierarchical semiconductor structure via file relation |
| US6449757B1 (en) * | 1998-02-26 | 2002-09-10 | Micron Technology, Inc. | Hierarchical semiconductor design |
| US6687865B1 (en) * | 1998-03-25 | 2004-02-03 | On-Chip Technologies, Inc. | On-chip service processor for test and debug of integrated circuits |
| US6216258B1 (en) * | 1998-03-27 | 2001-04-10 | Xilinx, Inc. | FPGA modules parameterized by expressions |
| US6334207B1 (en) * | 1998-03-30 | 2001-12-25 | Lsi Logic Corporation | Method for designing application specific integrated circuits |
| US6178541B1 (en) * | 1998-03-30 | 2001-01-23 | Lsi Logic Corporation | PLD/ASIC hybrid integrated circuit |
| US6247165B1 (en) * | 1998-03-31 | 2001-06-12 | Synopsys, Inc. | System and process of extracting gate-level descriptions from simulation tables for formal verification |
| US7835896B1 (en) * | 1998-04-06 | 2010-11-16 | Rode Consulting, Inc. | Apparatus for evaluating and demonstrating electronic circuits and components |
| US6626953B2 (en) * | 1998-04-10 | 2003-09-30 | Cisco Technology, Inc. | System and method for retrieving software release information |
| US6367056B1 (en) * | 1998-04-23 | 2002-04-02 | Altera Corporation | Method for incremental timing analysis |
| US6173419B1 (en) * | 1998-05-14 | 2001-01-09 | Advanced Technology Materials, Inc. | Field programmable gate array (FPGA) emulator for debugging software |
| US6961690B1 (en) | 1998-05-19 | 2005-11-01 | Altera Corporation | Behaviorial digital simulation using hybrid control and data flow representations |
| US6697773B1 (en) * | 1998-05-19 | 2004-02-24 | Altera Corporation | Using assignment decision diagrams with control nodes for sequential review during behavioral simulation |
| US6185726B1 (en) * | 1998-06-03 | 2001-02-06 | Sony Corporation | System and method for efficiently designing integrated circuit devices |
| US6061511A (en) * | 1998-06-12 | 2000-05-09 | Ikos Systems, Inc. | Reconstruction engine for a hardware circuit emulator |
| WO2000008575A1 (en) * | 1998-07-31 | 2000-02-17 | I & E Systems Pty. Ltd. | System and method for controlling revisions in an application |
| US9195784B2 (en) * | 1998-08-31 | 2015-11-24 | Cadence Design Systems, Inc. | Common shared memory in a verification system |
| US20060117274A1 (en) * | 1998-08-31 | 2006-06-01 | Tseng Ping-Sheng | Behavior processor system and method |
| WO2000014627A1 (en) * | 1998-09-04 | 2000-03-16 | Fujitsu Limited | Method of upgrade control and data processing system |
| US6553507B1 (en) * | 1998-09-30 | 2003-04-22 | Intel Corporation | Just-in-time software updates |
| US6253365B1 (en) * | 1998-10-06 | 2001-06-26 | David P. Baldwin | Automated design system for digital circuits |
| US6862563B1 (en) * | 1998-10-14 | 2005-03-01 | Arc International | Method and apparatus for managing the configuration and functionality of a semiconductor design |
| US20060168431A1 (en) * | 1998-10-14 | 2006-07-27 | Peter Warnes | Method and apparatus for jump delay slot control in a pipelined processor |
| US6805634B1 (en) * | 1998-10-14 | 2004-10-19 | Igt | Method for downloading data to gaming devices |
| US6647532B1 (en) * | 1998-10-29 | 2003-11-11 | Dell Usa L.P. | Built-in automatic customer identifier when connecting to a vendor website |
| US6374370B1 (en) * | 1998-10-30 | 2002-04-16 | Hewlett-Packard Company | Method and system for flexible control of BIST registers based upon on-chip events |
| US6256768B1 (en) * | 1998-11-03 | 2001-07-03 | Silicon Perspective Corporation | Amoeba display for hierarchical layout |
| US6502233B1 (en) * | 1998-11-13 | 2002-12-31 | Microsoft Corporation | Automated help system for reference information |
| US6400383B1 (en) * | 1998-11-17 | 2002-06-04 | Stephen J. Geisler | Method and apparatus for exploring a multi-element design through user directed selective rendering |
| US7079490B1 (en) * | 1998-12-03 | 2006-07-18 | Intel Corporation | Integrated circuit with trace analyzer |
| US6425110B1 (en) * | 1998-12-17 | 2002-07-23 | International Business Machines Corporation | Incremental design tuning and decision mediator |
| US7076415B1 (en) * | 1998-12-17 | 2006-07-11 | Cadence Design Systems, Inc. | System for mixed signal synthesis |
| US6694314B1 (en) * | 1998-12-18 | 2004-02-17 | Motive Communications, Inc. | Technical support chain automation with guided self-help capability via a system-supplied search string |
| US6615240B1 (en) | 1998-12-18 | 2003-09-02 | Motive Communications, Inc. | Technical support chain automation with guided self-help capability and option to escalate to live help |
| US6757850B1 (en) * | 1998-12-30 | 2004-06-29 | Ncr Corporation | Remote services management fault escalation |
| US6697880B1 (en) * | 1999-01-11 | 2004-02-24 | Advanced Micro Devices, Inc. | Methodology and graphical user interface for building logic synthesis command scripts using micro-templates |
| US6321363B1 (en) * | 1999-01-11 | 2001-11-20 | Novas Software Inc. | Incremental simulation using previous simulation results and knowledge of changes to simulation model to achieve fast simulation time |
| US6701515B1 (en) * | 1999-05-27 | 2004-03-02 | Tensilica, Inc. | System and method for dynamically designing and evaluating configurable processor instructions |
| US6430564B1 (en) * | 1999-03-01 | 2002-08-06 | Hewlett-Packard Company | Java data manager for embedded device |
| JP3173729B2 (ja) | 1999-03-04 | 2001-06-04 | 日本電気株式会社 | 論理シミュレーション方法及びそのシステム |
| JP3250542B2 (ja) * | 1999-03-23 | 2002-01-28 | 日本電気株式会社 | Lsi設計方法 |
| US6347323B1 (en) * | 1999-03-26 | 2002-02-12 | Microsoft Corporation | Robust modification of persistent objects while preserving formatting and other attributes |
| US6560616B1 (en) * | 1999-03-26 | 2003-05-06 | Microsoft Corporation | Robust modification of persistent objects while preserving formatting and other attributes |
| US6347397B1 (en) * | 1999-03-29 | 2002-02-12 | International Business Machines Corporation | System, method, and program for providing an object-oriented install architecture |
| US6425125B1 (en) * | 1999-03-30 | 2002-07-23 | Microsoft Corporation | System and method for upgrading client software |
| US7617175B1 (en) * | 1999-04-21 | 2009-11-10 | Cisco Technology, Inc. | Method and apparatus for upgrading a database in a redundant environment by release chaining |
| US6370660B1 (en) * | 1999-04-21 | 2002-04-09 | Advanced Micro Devices, Inc. | Apparatus and method for providing a wait for status change capability for a host computer system |
| US6505328B1 (en) * | 1999-04-27 | 2003-01-07 | Magma Design Automation, Inc. | Method for storing multiple levels of design data in a common database |
| US6542898B1 (en) | 1999-05-12 | 2003-04-01 | Motive Communications, Inc. | Technical support chain automation with guided self-help capability using active content developed for specific audiences |
| US6560754B1 (en) | 1999-05-13 | 2003-05-06 | Arc International Plc | Method and apparatus for jump control in a pipelined processor |
| US6618686B2 (en) * | 1999-05-14 | 2003-09-09 | Xilinx, Inc. | System and method for testing a circuit implemented on a programmable logic device |
| US6519754B1 (en) * | 1999-05-17 | 2003-02-11 | Synplicity, Inc. | Methods and apparatuses for designing integrated circuits |
| US6425126B1 (en) * | 1999-05-19 | 2002-07-23 | International Business Machines Corporation | Apparatus and method for synchronizing software between computers |
| US6366874B1 (en) * | 1999-05-24 | 2002-04-02 | Novas Software, Inc. | System and method for browsing graphically an electronic design based on a hardware description language specification |
| US6634008B1 (en) * | 1999-06-20 | 2003-10-14 | Fujitsu Limited | Methodology server based integrated circuit design |
| US6405219B2 (en) * | 1999-06-22 | 2002-06-11 | F5 Networks, Inc. | Method and system for automatically updating the version of a set of files stored on content servers |
| US6470478B1 (en) * | 1999-06-29 | 2002-10-22 | International Business Machines Corporation | Method and system for counting events within a simulation model |
| US6560571B1 (en) * | 1999-06-30 | 2003-05-06 | Hewlett-Packard Development Company, L.P. | Method and apparatus for prioritizing the order in which checks are performed on a node in an integrated circuit |
| WO2001001227A1 (en) * | 1999-06-30 | 2001-01-04 | Accenture Llp | A system, method and article of manufacture for tracking software sale transactions of an internet-based retailer for reporting to a software publisher |
| DE19932149A1 (de) * | 1999-07-12 | 2001-01-25 | Giesecke & Devrient Gmbh | System zur Ausführung von Transaktionen |
| US6564347B1 (en) * | 1999-07-29 | 2003-05-13 | Intel Corporation | Method and apparatus for testing an integrated circuit using an on-chip logic analyzer unit |
| US8335775B1 (en) * | 1999-08-05 | 2012-12-18 | Oracle International Corporation | Versioning in internet file system |
| US7710408B2 (en) * | 1999-08-30 | 2010-05-04 | Anoto Ab | Centralized information management based upon position information |
| US6496972B1 (en) * | 1999-09-13 | 2002-12-17 | Synopsys, Inc. | Method and system for circuit design top level and block optimization |
| US6437783B1 (en) * | 1999-09-13 | 2002-08-20 | Intel Corporation | Method and system for simultaneously displaying the throughput on multiple busses |
| SE517445C2 (sv) | 1999-10-01 | 2002-06-04 | Anoto Ab | Positionsbestämning på en yta försedd med ett positionskodningsmönster |
| JP2001109788A (ja) * | 1999-10-12 | 2001-04-20 | Nec Corp | シミュレーションモデル、その生成方法、シミュレーション方法及びその記録媒体 |
| US6647303B1 (en) * | 1999-10-15 | 2003-11-11 | Data I/O Corporation | Feeder/programming/buffer control system and control method |
| US6496977B1 (en) * | 1999-10-21 | 2002-12-17 | International Business Machines Corporation | Method and system for implementing network filesystem-based aid for computer operating system upgrades |
| US7158993B1 (en) | 1999-11-12 | 2007-01-02 | Sun Microsystems, Inc. | API representation enabling submerged hierarchy |
| US7240303B1 (en) | 1999-11-30 | 2007-07-03 | Synplicity, Inc. | Hardware/software co-debugging in a hardware description language |
| US6581191B1 (en) * | 1999-11-30 | 2003-06-17 | Synplicity, Inc. | Hardware debugging in a hardware description language |
| US7065481B2 (en) | 1999-11-30 | 2006-06-20 | Synplicity, Inc. | Method and system for debugging an electronic system using instrumentation circuitry and a logic analyzer |
| US6931572B1 (en) | 1999-11-30 | 2005-08-16 | Synplicity, Inc. | Design instrumentation circuitry |
| US7072818B1 (en) * | 1999-11-30 | 2006-07-04 | Synplicity, Inc. | Method and system for debugging an electronic system |
| US7356786B2 (en) * | 1999-11-30 | 2008-04-08 | Synplicity, Inc. | Method and user interface for debugging an electronic system |
| US6823497B2 (en) | 1999-11-30 | 2004-11-23 | Synplicity, Inc. | Method and user interface for debugging an electronic system |
| US20030061188A1 (en) | 1999-12-23 | 2003-03-27 | Linus Wiebe | General information management system |
| US6883032B1 (en) * | 2000-02-02 | 2005-04-19 | Lucent Technologies Inc. | Method and system for collecting data on the internet |
| US6484292B1 (en) * | 2000-02-07 | 2002-11-19 | Xilinx, Inc. | Incremental logic synthesis system for revisions of logic circuit designs |
| US7240296B1 (en) * | 2000-02-11 | 2007-07-03 | Microsoft Corporation | Unified navigation shell user interface |
| US6438737B1 (en) * | 2000-02-15 | 2002-08-20 | Intel Corporation | Reconfigurable logic for a computer |
| US6625783B2 (en) * | 2000-02-16 | 2003-09-23 | Logic Research Co., Ltd. | State machine, semiconductor device using state machine, and method of design thereof |
| US6658598B1 (en) | 2000-02-17 | 2003-12-02 | Motive Communications, Inc. | Technical support chain automation with guided self-help capability using active content assertions |
| KR100496056B1 (ko) * | 2000-02-26 | 2005-06-17 | 주식회사 하우리 | 인터넷 기반의 원격 데이터 및 파일 복구 서비스 시스템및 그 방법 |
| US6754862B1 (en) | 2000-03-09 | 2004-06-22 | Altera Corporation | Gaining access to internal nodes in a PLD |
| US6988154B2 (en) | 2000-03-10 | 2006-01-17 | Arc International | Memory interface and method of interfacing between functional entities |
| US7047163B1 (en) * | 2000-03-13 | 2006-05-16 | International Business Machines Corporation | Method and apparatus for applying fine-grained transforms during placement synthesis interaction |
| US6976037B1 (en) * | 2000-03-27 | 2005-12-13 | Microsoft Corporation | Method and systems for DLL/COM redirection |
| US6963897B1 (en) * | 2000-03-30 | 2005-11-08 | United Devices, Inc. | Customer services and advertising based upon device attributes and associated distributed processing system |
| US6970814B1 (en) * | 2000-03-30 | 2005-11-29 | International Business Machines Corporation | Remote IP simulation modeling |
| JP2001290853A (ja) * | 2000-04-05 | 2001-10-19 | Nec Corp | 開発方法、開発支援システム及びプログラムを記憶した記憶媒体 |
| JP2001290844A (ja) * | 2000-04-05 | 2001-10-19 | Nec Corp | システム開発方法、開発支援システム及びプログラムを記憶した記憶媒体 |
| DE60005138T2 (de) * | 2000-04-06 | 2004-06-03 | Europäisches Laboratorium für Molekularbiologie | Rechnergesteuertes Mikroskop |
| US6587995B1 (en) * | 2000-04-19 | 2003-07-01 | Koninklijke Philips Electronics N.V. | Enhanced programmable core model with integrated graphical debugging functionality |
| US6789215B1 (en) * | 2000-04-21 | 2004-09-07 | Sprint Communications Company, L.P. | System and method for remediating a computer |
| US6665819B1 (en) * | 2000-04-24 | 2003-12-16 | Microsoft Corporation | Data capture and analysis for embedded systems |
| US6658600B1 (en) * | 2000-04-24 | 2003-12-02 | Microsoft Corporation | Target control abstraction for debugging embedded systems |
| US7266821B2 (en) * | 2000-04-27 | 2007-09-04 | Hyperion Solutions Corporation | Method and apparatus for processing jobs on an enterprise-wide computer system |
| US6986132B1 (en) | 2000-04-28 | 2006-01-10 | Sun Microsytems, Inc. | Remote incremental program binary compatibility verification using API definitions |
| US6883163B1 (en) * | 2000-04-28 | 2005-04-19 | Sun Microsystems, Inc. | Populating resource-constrained devices with content verified using API definitions |
| US6651186B1 (en) * | 2000-04-28 | 2003-11-18 | Sun Microsystems, Inc. | Remote incremental program verification using API definitions |
| US6675310B1 (en) * | 2000-05-04 | 2004-01-06 | Xilinx, Inc. | Combined waveform and data entry apparatus and method for facilitating fast behavorial verification of digital hardware designs |
| US6810508B1 (en) * | 2000-05-04 | 2004-10-26 | Xilinx, Inc. | Method for automatically-remapping an HDL netlist to provide compatibility with pre-synthesis behavioral test benches |
| US6817005B2 (en) * | 2000-05-25 | 2004-11-09 | Xilinx, Inc. | Modular design method and system for programmable logic devices |
| US7127704B2 (en) * | 2000-06-02 | 2006-10-24 | Sun Microsystems, Inc. | Interactive software engineering tool with support for embedded lexical contexts |
| US6823486B2 (en) * | 2000-06-05 | 2004-11-23 | Fujitsu Limited | Automatic test pattern generation for functional register transfer level circuits using assignment decision diagrams |
| US6826717B1 (en) * | 2000-06-12 | 2004-11-30 | Altera Corporation | Synchronization of hardware and software debuggers |
| US20020067364A1 (en) * | 2000-06-22 | 2002-06-06 | Lane John F. | Method for browsing various intelligent design data abstractions |
| US7100133B1 (en) * | 2000-06-23 | 2006-08-29 | Koninklijke Philips Electronics N.V | Computer system and method to dynamically generate system on a chip description files and verification information |
| JP3813414B2 (ja) | 2000-06-26 | 2006-08-23 | 東芝マイクロエレクトロニクス株式会社 | Asic設計支援システム |
| KR100455566B1 (ko) * | 2000-06-30 | 2004-11-09 | 인터내셔널 비지네스 머신즈 코포레이션 | 코드 갱신을 위한 장치 및 방법 |
| US6681353B1 (en) * | 2000-07-05 | 2004-01-20 | Emc Corporation | Methods and apparatus for obtaining a trace of a digital signal within a field programmable gate array device |
| JP2002032426A (ja) * | 2000-07-17 | 2002-01-31 | Mitsubishi Electric Corp | 回路シミュレーション装置、回路シミュレーション方法および回路シミュレーションプログラムを記録した記録媒体 |
| JP4493173B2 (ja) * | 2000-07-27 | 2010-06-30 | 株式会社ルネサステクノロジ | バックアノテーション方法 |
| US6918106B1 (en) | 2000-07-31 | 2005-07-12 | Sun Microsystems, Inc. | Method and apparatus for collocating dynamically loaded program files |
| US6542844B1 (en) | 2000-08-02 | 2003-04-01 | International Business Machines Corporation | Method and apparatus for tracing hardware states using dynamically reconfigurable test circuits |
| WO2002013065A1 (en) * | 2000-08-03 | 2002-02-14 | Epstein Bruce A | Information collaboration and reliability assessment |
| US6732003B1 (en) | 2000-08-07 | 2004-05-04 | Data I/O Corporation | Feeder/programming/loader system |
| GB2350917B (en) * | 2000-09-14 | 2001-05-30 | Mitel Semiconductor Ltd | System for manufacturing a semiconductor device |
| US6981245B1 (en) * | 2000-09-14 | 2005-12-27 | Sun Microsystems, Inc. | Populating binary compatible resource-constrained devices with content verified using API definitions |
| US6987736B1 (en) * | 2000-09-18 | 2006-01-17 | Bellsouth Intellectual Property Corp. | Router polling system and method |
| AU2001293290A1 (en) | 2000-09-21 | 2002-04-02 | Integrity Pc Innovations, Inc. | An automatic real-time file management method and apparatus |
| JP3716729B2 (ja) * | 2000-09-27 | 2005-11-16 | セイコーエプソン株式会社 | ユーザサポート |
| US7028084B1 (en) | 2000-09-27 | 2006-04-11 | Bellsouth Intellectual Property Corp. | xDSL connection monitor |
| US6591403B1 (en) * | 2000-10-02 | 2003-07-08 | Hewlett-Packard Development Company, L.P. | System and method for specifying hardware description language assertions targeting a diverse set of verification tools |
| US6671564B1 (en) | 2000-10-03 | 2003-12-30 | Data I/O Corporation | Portable programming system and control method therefor |
| US6904436B1 (en) * | 2000-10-04 | 2005-06-07 | Cypress Semiconductor Corporation | Method and system for generating a bit order data structure of configuration bits from a schematic hierarchy |
| US6304999B1 (en) * | 2000-10-23 | 2001-10-16 | Advanced Micro Devices, Inc. | Method and apparatus for embedded process control framework in tool systems |
| US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
| US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
| US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
| US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
| US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
| US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
| US7260597B1 (en) * | 2000-11-02 | 2007-08-21 | Sony Corporation | Remote manual, maintenance, and diagnostic services for networked electronic devices |
| DE60036625D1 (de) * | 2000-11-07 | 2007-11-15 | St Microelectronics Srl | Verfahren und System zur Schätzung des Leistungsverbrauchs von digitalen Schaltungen und zugehöriges Rechnerprogrammprodukt |
| NZ508052A (en) | 2000-11-09 | 2003-06-30 | Derek Ward | Programmable controller |
| US7002559B2 (en) * | 2000-11-13 | 2006-02-21 | Anoto Ab | Method, system and product for information management |
| US7222315B2 (en) * | 2000-11-28 | 2007-05-22 | Synplicity, Inc. | Hardware-based HDL code coverage and design analysis |
| US6539520B1 (en) * | 2000-11-28 | 2003-03-25 | Advanced Micro Devices, Inc. | Systems and methods for generating hardware description code |
| US6886160B1 (en) * | 2000-11-29 | 2005-04-26 | Hyung Sup Lee | Distribution of mainframe data in the PC environment |
| US6530069B2 (en) * | 2000-11-29 | 2003-03-04 | Unisys Corporation | Printed circuit board design, testing, and manufacturing process |
| US6490711B2 (en) | 2000-12-18 | 2002-12-03 | Yardstick Research, Llc | Method for creating a design verification test bench |
| US7200838B2 (en) | 2000-12-20 | 2007-04-03 | National Instruments Corporation | System and method for automatically generating a graphical program in response to a state diagram |
| DE10065401A1 (de) * | 2000-12-27 | 2003-03-06 | Siemens Ag | Automatisierungssystem |
| US6750879B2 (en) * | 2000-12-30 | 2004-06-15 | Intel Corporation | Method and apparatus for communicating cable modem problem demarcation through a graphical user interface |
| US6901407B2 (en) * | 2001-01-12 | 2005-05-31 | Rick D. Curns | System and method for updating project management scheduling charts |
| US20020111999A1 (en) * | 2001-02-13 | 2002-08-15 | Andersson Anders Jorgen Mikael | System and method for remote control of software and an attached device |
| US8214501B1 (en) | 2001-03-02 | 2012-07-03 | At&T Intellectual Property I, L.P. | Methods and systems for electronic data exchange utilizing centralized management technology |
| US6785834B2 (en) * | 2001-03-21 | 2004-08-31 | International Business Machines Corporation | Method and system for automating product support |
| US20020143898A1 (en) * | 2001-03-27 | 2002-10-03 | Mansfield Michael A. | System and method for providing personalized customer support |
| US7133822B1 (en) * | 2001-03-29 | 2006-11-07 | Xilinx, Inc. | Network based diagnostic system and method for programmable hardware |
| US7246328B2 (en) * | 2001-03-29 | 2007-07-17 | The Boeing Company | Method, computer program product, and system for performing automated linking between sheets of a drawing set |
| JPWO2002079968A1 (ja) * | 2001-03-30 | 2004-07-22 | セイコーエプソン株式会社 | 不具合対策のためのネットワーク技術 |
| US6789217B2 (en) * | 2001-04-10 | 2004-09-07 | Agilent Technologies, Inc. | System and method for allocating logic analyzer hardware resources |
| US6509201B1 (en) * | 2001-04-11 | 2003-01-21 | Advanced Micro Devices, Inc. | Method and apparatus for monitoring wafer stress |
| US6526559B2 (en) | 2001-04-13 | 2003-02-25 | Interface & Control Systems, Inc. | Method for creating circuit redundancy in programmable logic devices |
| US6605962B2 (en) | 2001-05-06 | 2003-08-12 | Altera Corporation | PLD architecture for flexible placement of IP function blocks |
| US7082104B2 (en) | 2001-05-18 | 2006-07-25 | Intel Corporation | Network device switch |
| US7076595B1 (en) | 2001-05-18 | 2006-07-11 | Xilinx, Inc. | Programmable logic device including programmable interface core and central processing unit |
| US6877146B1 (en) | 2001-06-03 | 2005-04-05 | Cadence Design Systems, Inc. | Method and apparatus for routing a set of nets |
| US20020198696A1 (en) * | 2001-06-08 | 2002-12-26 | Hector Sanchez | Method and apparatus for designing and making an integrated circuit |
| US6976239B1 (en) * | 2001-06-12 | 2005-12-13 | Altera Corporation | Methods and apparatus for implementing parameterizable processors and peripherals |
| US7716332B1 (en) | 2001-06-20 | 2010-05-11 | At&T Intellectual Property I, L.P. | System and method for server-based predictive caching of back-end system data |
| KR20030006140A (ko) * | 2001-07-11 | 2003-01-23 | (주)라인게이트 | 네트워크를 통한 개인용 컴퓨터의 소프트웨어 업데이트장치 및 그 방법 |
| US7337430B2 (en) * | 2001-07-20 | 2008-02-26 | The Mathworks, Inc. | Optimized look-up table calculations in block diagram software |
| US6629307B2 (en) * | 2001-07-24 | 2003-09-30 | Hewlett-Packard Development Company, Lp. | Method for ensuring correct pin assignments between system board connections using common mapping files |
| DE10137574B4 (de) * | 2001-07-31 | 2006-01-19 | Infineon Technologies Ag | Verfahren, Computerprogramm und Datenverarbeitungsanlage zur Verarbeitung von Netzwerktopologien |
| US20030028471A1 (en) * | 2001-08-01 | 2003-02-06 | Koichi Usui | Method for selling pre-owned integrated circuit manufacturing equipment online |
| US7010772B1 (en) * | 2001-08-28 | 2006-03-07 | Cypress Semiconductor Corp. | Method and apparatus for generating superset pinout for devices with high-speed transceiver channels |
| US7093224B2 (en) | 2001-08-28 | 2006-08-15 | Intel Corporation | Model-based logic design |
| US6721925B2 (en) | 2001-08-29 | 2004-04-13 | Intel Corporation | Employing intelligent logical models to enable concise logic representations for clarity of design description and for rapid design capture |
| US6640329B2 (en) | 2001-08-29 | 2003-10-28 | Intel Corporation | Real-time connection error checking method and process |
| US6643836B2 (en) | 2001-08-29 | 2003-11-04 | Intel Corporation | Displaying information relating to a logic design |
| US6708321B2 (en) | 2001-08-29 | 2004-03-16 | Intel Corporation | Generating a function within a logic design using a dialog box |
| US7130784B2 (en) | 2001-08-29 | 2006-10-31 | Intel Corporation | Logic simulation |
| US6859913B2 (en) | 2001-08-29 | 2005-02-22 | Intel Corporation | Representing a simulation model using a hardware configuration database |
| US7073156B2 (en) | 2001-08-29 | 2006-07-04 | Intel Corporation | Gate estimation process and method |
| US7107201B2 (en) | 2001-08-29 | 2006-09-12 | Intel Corporation | Simulating a logic design |
| US6983427B2 (en) * | 2001-08-29 | 2006-01-03 | Intel Corporation | Generating a logic design |
| SE0102918D0 (sv) * | 2001-08-30 | 2001-08-30 | St Jude Medical | Method for providing software to an implantable medical device system |
| JP2003085314A (ja) * | 2001-09-11 | 2003-03-20 | Ge Medical Systems Global Technology Co Llc | 遠隔サイト管理システム |
| US6798239B2 (en) * | 2001-09-28 | 2004-09-28 | Xilinx, Inc. | Programmable gate array having interconnecting logic to support embedded fixed logic circuitry |
| US6529365B1 (en) * | 2001-09-28 | 2003-03-04 | Intel Corporation | Multiple terminal SMT BGA-style wound capacitor |
| US6781407B2 (en) | 2002-01-09 | 2004-08-24 | Xilinx, Inc. | FPGA and embedded circuitry initialization and processing |
| US7420392B2 (en) * | 2001-09-28 | 2008-09-02 | Xilinx, Inc. | Programmable gate array and embedded circuitry initialization and processing |
| US7117479B2 (en) * | 2001-10-01 | 2006-10-03 | Sun Microsystems, Inc. | Language-sensitive whitespace adjustment in a software engineering tool |
| US6742174B1 (en) | 2001-10-19 | 2004-05-25 | Cadence Design Systems, Inc. | Similarity-driven synthesis for equivalence checking of complex designs |
| US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
| US6751783B1 (en) * | 2001-10-30 | 2004-06-15 | Lsi Logic Corporation | System and method for optimizing an integrated circuit design |
| JP2003140737A (ja) * | 2001-10-30 | 2003-05-16 | Fujitsu Ten Ltd | サポートシステム |
| US6668359B1 (en) * | 2001-10-31 | 2003-12-23 | Lsi Logic Corporation | Verilog to vital translator |
| US20030093536A1 (en) * | 2001-11-09 | 2003-05-15 | 't Hooft Maarten W. | Support interface module |
| US7143313B2 (en) * | 2001-11-09 | 2006-11-28 | Sun Microsystems, Inc. | Support interface module bug submitter |
| US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
| JP3792149B2 (ja) * | 2001-11-12 | 2006-07-05 | 任天堂株式会社 | 画像処理装置および画像処理プログラム |
| US7526422B1 (en) | 2001-11-13 | 2009-04-28 | Cypress Semiconductor Corporation | System and a method for checking lock-step consistency between an in circuit emulation and a microcontroller |
| US6651239B1 (en) * | 2001-11-13 | 2003-11-18 | Lsi Logic Corporation | Direct transformation of engineering change orders to synthesized IC chip designs |
| US7266731B2 (en) * | 2001-11-13 | 2007-09-04 | Sun Microsystems, Inc. | Method and apparatus for managing remote software code update |
| US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
| US6996758B1 (en) | 2001-11-16 | 2006-02-07 | Xilinx, Inc. | Apparatus for testing an interconnecting logic fabric |
| US6983405B1 (en) | 2001-11-16 | 2006-01-03 | Xilinx, Inc., | Method and apparatus for testing circuitry embedded within a field programmable gate array |
| US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
| US6701508B1 (en) * | 2001-11-19 | 2004-03-02 | Cypress Semiconductor Corporation | Method and system for using a graphics user interface for programming an electronic device |
| US6715132B1 (en) * | 2001-11-19 | 2004-03-30 | Cypress Semiconductor Corporation | Datasheet browsing and creation with data-driven datasheet tabs within a microcontroller design tool |
| US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
| US6901563B1 (en) * | 2001-11-19 | 2005-05-31 | Cypress Semiconductor Corporation | Storing of global parameter defaults and using them over two or more design projects |
| US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
| US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
| US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
| US6886092B1 (en) | 2001-11-19 | 2005-04-26 | Xilinx, Inc. | Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion |
| US20030097372A1 (en) * | 2001-11-20 | 2003-05-22 | Cynthia Bertini | Method and system for managing electrical schematic data |
| US6999910B2 (en) * | 2001-11-20 | 2006-02-14 | Lsi Logic Corporation | Method and apparatus for implementing a metamethodology |
| US20030132936A1 (en) * | 2001-11-21 | 2003-07-17 | Kevin Kreeger | Display of two-dimensional and three-dimensional views during virtual examination |
| US6775798B2 (en) * | 2001-11-28 | 2004-08-10 | Lsi Logic Corporation | Fast sampling test bench |
| US7359847B2 (en) * | 2001-11-30 | 2008-04-15 | International Business Machines Corporation | Tracking converage results in a batch simulation farm network |
| US6654941B1 (en) * | 2001-11-30 | 2003-11-25 | Cypress Semiconductor Corp. | Bus I/O placement guidance |
| US6769107B1 (en) * | 2001-12-03 | 2004-07-27 | Lsi Logic Corporation | Method and system for implementing incremental change to circuit design |
| US7493470B1 (en) | 2001-12-07 | 2009-02-17 | Arc International, Plc | Processor apparatus and methods optimized for control applications |
| US7587695B2 (en) * | 2001-12-10 | 2009-09-08 | Mentor Graphics Corporation | Protection boundaries in a parallel printed circuit board design environment |
| US6668361B2 (en) | 2001-12-10 | 2003-12-23 | International Business Machines Corporation | Method and system for use of a field programmable function within a chip to enable configurable I/O signal timing characteristics |
| US6711718B2 (en) | 2001-12-10 | 2004-03-23 | Charles Pfeil | Parallel electronic design automation: distributed simultaneous editing |
| US7516435B2 (en) * | 2001-12-10 | 2009-04-07 | Mentor Graphics Corporation | Reservation of design elements in a parallel printed circuit board design environment |
| US6545501B1 (en) | 2001-12-10 | 2003-04-08 | International Business Machines Corporation | Method and system for use of a field programmable function within a standard cell chip for repair of logic circuits |
| US6754881B2 (en) | 2001-12-10 | 2004-06-22 | International Business Machines Corporation | Field programmable network processor and method for customizing a network processor |
| US7047464B2 (en) * | 2001-12-10 | 2006-05-16 | International Business Machines Corporation | Method and system for use of a field programmable function within an application specific integrated circuit (ASIC) to access internal signals for external observation and control |
| US6708313B2 (en) | 2001-12-10 | 2004-03-16 | Charles Pfeil | Parallel electronic design automation: shared simultaneous editing |
| AU2002360535A1 (en) * | 2001-12-10 | 2003-06-23 | Mentor Graphics Corporation | Parallel electronic design automation: shared simultaneous editing |
| US6737208B1 (en) * | 2001-12-17 | 2004-05-18 | Advanced Micro Devices, Inc. | Method and apparatus for controlling photolithography overlay registration incorporating feedforward overlay information |
| US7007081B2 (en) * | 2001-12-19 | 2006-02-28 | Kabushiki Kaisha Toshiba | Peripheral equipment of computer |
| US6658628B1 (en) * | 2001-12-19 | 2003-12-02 | Lsi Logic Corporation | Developement of hardmac technology files (CLF, tech and synlib) for RTL and full gate level netlists |
| KR20030055824A (ko) * | 2001-12-27 | 2003-07-04 | 삼성전자주식회사 | 데이터 처리 장치용 구동 프로그램 원격 갱신 방법과 이를위한 데이터 처리 장치 및 데이터 포맷 |
| US6789234B2 (en) | 2001-12-28 | 2004-09-07 | International Business Machines Corporation | Method and system for a timing based logic entry |
| US6691207B2 (en) * | 2001-12-28 | 2004-02-10 | Hewlett-Packard Development Company, L.P. | Method and apparatus for implementing loop compression in a program counter trace |
| US20030125918A1 (en) * | 2002-01-02 | 2003-07-03 | International Business Machines Corporation | VHDL technology library method for efficient customization of chip gate delays |
| US6817000B2 (en) | 2002-01-02 | 2004-11-09 | International Business Machines Corporation | Delay correlation analysis and representation for vital complaint VHDL models |
| US7085701B2 (en) * | 2002-01-02 | 2006-08-01 | International Business Machines Corporation | Size reduction techniques for vital compliant VHDL simulation models |
| US20030135802A1 (en) * | 2002-01-14 | 2003-07-17 | Klein Jeff C. | Verification test method for programmable logic devices |
| US7197724B2 (en) | 2002-01-17 | 2007-03-27 | Intel Corporation | Modeling a logic design |
| US6678875B2 (en) | 2002-01-25 | 2004-01-13 | Logicvision, Inc. | Self-contained embedded test design environment and environment setup utility |
| US20030145300A1 (en) * | 2002-01-28 | 2003-07-31 | Tran Trung M. | Layout tracking solutions |
| US6854097B2 (en) * | 2002-01-31 | 2005-02-08 | Cadence Design Systems, Inc. | Method and apparatus for performing technology mapping |
| US6854098B2 (en) * | 2002-01-31 | 2005-02-08 | Cadence Design Systems, Inc. | Method and apparatus for performing technology mapping |
| US6687882B1 (en) * | 2002-01-31 | 2004-02-03 | Synplicity, Inc. | Methods and apparatuses for non-equivalence checking of circuits with subspace |
| US6990650B2 (en) * | 2002-01-31 | 2006-01-24 | Cadence Design Systems, Inc. | Method and apparatus for performing technology mapping |
| US7024639B2 (en) * | 2002-01-31 | 2006-04-04 | Cadence Design Systems, Inc. | Method and apparatus for specifying encoded sub-networks |
| US7076760B2 (en) * | 2002-01-31 | 2006-07-11 | Cadence Design Systems, Inc. | Method and apparatus for specifying encoded sub-networks |
| US6848086B2 (en) * | 2002-01-31 | 2005-01-25 | Cadence Design Systems, Inc. | Method and apparatus for performing technology mapping |
| US6857117B2 (en) * | 2002-01-31 | 2005-02-15 | Cadence Design Systems, Inc. | Method and apparatus for producing a circuit description of a design |
| US20030217026A1 (en) * | 2002-01-31 | 2003-11-20 | Steven Teig | Structure for storing a plurality os sub-networks |
| US7383524B2 (en) * | 2002-01-31 | 2008-06-03 | Cadence Design Systems, Inc | Structure for storing a plurality of sub-networks |
| US6820248B1 (en) | 2002-02-14 | 2004-11-16 | Xilinx, Inc. | Method and apparatus for routing interconnects to devices with dissimilar pitches |
| US6976160B1 (en) | 2002-02-22 | 2005-12-13 | Xilinx, Inc. | Method and system for controlling default values of flip-flops in PGA/ASIC-based designs |
| US6760898B1 (en) * | 2002-02-22 | 2004-07-06 | Xilinx, Inc. | Method and system for inserting probe points in FPGA-based system-on-chip (SoC) |
| US6754882B1 (en) | 2002-02-22 | 2004-06-22 | Xilinx, Inc. | Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC) |
| DE10207831A1 (de) * | 2002-02-25 | 2003-09-04 | Siemens Ag | Verfahren zum Projektieren und/oder Konfigurieren eines Projektes |
| US7007121B1 (en) | 2002-02-27 | 2006-02-28 | Xilinx, Inc. | Method and apparatus for synchronized buses |
| US6934922B1 (en) | 2002-02-27 | 2005-08-23 | Xilinx, Inc. | Timing performance analysis |
| US7111217B1 (en) | 2002-02-28 | 2006-09-19 | Xilinx, Inc. | Method and system for flexibly nesting JTAG TAP controllers for FPGA-based system-on-chip (SoC) |
| US6839874B1 (en) | 2002-02-28 | 2005-01-04 | Xilinx, Inc. | Method and apparatus for testing an embedded device |
| US7111220B1 (en) | 2002-03-01 | 2006-09-19 | Xilinx, Inc. | Network physical layer with embedded multi-standard CRC generator |
| US7088767B1 (en) | 2002-03-01 | 2006-08-08 | Xilinx, Inc. | Method and apparatus for operating a transceiver in different data rates |
| US7124382B1 (en) * | 2002-03-01 | 2006-10-17 | Xilinx, Inc. | Method and apparatus for rule file generation |
| US7187709B1 (en) | 2002-03-01 | 2007-03-06 | Xilinx, Inc. | High speed configurable transceiver architecture |
| US6961919B1 (en) | 2002-03-04 | 2005-11-01 | Xilinx, Inc. | Method of designing integrated circuit having both configurable and fixed logic circuitry |
| US8166185B2 (en) * | 2002-03-05 | 2012-04-24 | Hewlett-Packard Development Company, L.P. | System and method for enterprise software distribution |
| US20030171907A1 (en) * | 2002-03-06 | 2003-09-11 | Shay Gal-On | Methods and Apparatus for Optimizing Applications on Configurable Processors |
| US6983449B2 (en) | 2002-03-15 | 2006-01-03 | Electronic Data Systems Corporation | System and method for configuring software for distribution |
| US6735749B2 (en) | 2002-03-21 | 2004-05-11 | Sun Microsystems, Inc. | (Design rule check)/(electrical rule check) algorithms using a system resolution |
| US7403955B2 (en) * | 2002-03-21 | 2008-07-22 | International Business Machines Corporation | Method and system for updating attachment files |
| US7590618B2 (en) * | 2002-03-25 | 2009-09-15 | Hewlett-Packard Development Company, L.P. | System and method for providing location profile data for network nodes |
| US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
| US6938236B1 (en) * | 2002-03-29 | 2005-08-30 | Altera Corporation | Method of creating a mask-programmed logic device from a pre-existing circuit design |
| US7089473B2 (en) * | 2002-03-29 | 2006-08-08 | Intel Corporation | Method and apparatus for testing a circuit using a die frame logic analyzer |
| US7100139B1 (en) * | 2002-04-08 | 2006-08-29 | Cypress Semiconductor Corporation | Pinout views for allowed connections in GUI |
| US7024641B1 (en) * | 2002-04-10 | 2006-04-04 | Lsi Logic Corporation | Integrated circuit having a programmable gate array and a field programmable gate array and methods of designing and manufacturing the same using testing IC before configuring FPGA |
| US6842888B2 (en) | 2002-04-23 | 2005-01-11 | Freescale Semiconductor, Inc. | Method and apparatus for hierarchically restructuring portions of a hierarchical database based on selected attributes |
| US20030204386A1 (en) * | 2002-04-24 | 2003-10-30 | Glenn Colon-Bonet | Class-based system for circuit modeling |
| CN102902839B (zh) * | 2002-04-25 | 2016-04-06 | 新思科技公司 | 管理集成电路设计的装置和方法 |
| US7120652B2 (en) * | 2002-04-25 | 2006-10-10 | Sun Microsystems, Inc. | Method, system and program for determining version of storage devices and programs indicated in the resource information installed in the computer system |
| US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
| US7539680B2 (en) * | 2002-05-10 | 2009-05-26 | Lsi Corporation | Revision control for database of evolved design |
| US6973405B1 (en) | 2002-05-22 | 2005-12-06 | Xilinx, Inc. | Programmable interactive verification agent |
| US20030220920A1 (en) * | 2002-05-24 | 2003-11-27 | Mentor Graphics Corporation | Matching database fields in an electronic design automation environment |
| US7096082B1 (en) * | 2002-05-24 | 2006-08-22 | Methode Electronics, Inc. | Design control document linking template |
| US7801976B2 (en) * | 2002-05-28 | 2010-09-21 | At&T Intellectual Property I, L.P. | Service-oriented architecture systems and methods |
| US7318014B1 (en) | 2002-05-31 | 2008-01-08 | Altera Corporation | Bit accurate hardware simulation in system level simulators |
| US6779169B1 (en) * | 2002-05-31 | 2004-08-17 | Altera Corporation | Method and apparatus for placement of components onto programmable logic devices |
| US7363545B1 (en) * | 2002-06-03 | 2008-04-22 | Xilinx, Inc. | System and method for overcoming download cable bottlenecks during programming of integrated circuit devices |
| US7827510B1 (en) | 2002-06-07 | 2010-11-02 | Synopsys, Inc. | Enhanced hardware debugging with embedded FPGAS in a hardware description language |
| US6772405B1 (en) | 2002-06-13 | 2004-08-03 | Xilinx, Inc. | Insertable block tile for interconnecting to a device embedded in an integrated circuit |
| US6925621B2 (en) * | 2002-06-24 | 2005-08-02 | Agilent Technologies, Inc. | System and method for applying timing models in a static-timing analysis of a hierarchical integrated circuit design |
| US7386834B2 (en) * | 2002-06-28 | 2008-06-10 | Sun Microsystems, Inc. | Undo/redo technique for token-oriented representation of program code |
| US20040003373A1 (en) * | 2002-06-28 | 2004-01-01 | Van De Vanter Michael L. | Token-oriented representation of program code with support for textual editing thereof |
| US6789249B2 (en) * | 2002-06-28 | 2004-09-07 | Cray, Inc. | Boolean gate definition |
| US20040003374A1 (en) * | 2002-06-28 | 2004-01-01 | Van De Vanter Michael L. | Efficient computation of character offsets for token-oriented representation of program code |
| US6848084B1 (en) * | 2002-07-02 | 2005-01-25 | Cadence Design Systems, Inc. | Method and apparatus for verification of memories at multiple abstraction levels |
| US7085973B1 (en) | 2002-07-09 | 2006-08-01 | Xilinx, Inc. | Testing address lines of a memory controller |
| US20040010766A1 (en) * | 2002-07-10 | 2004-01-15 | Swope John M. | Method and system for automated design of printed circuit boards |
| US7197734B1 (en) | 2002-07-12 | 2007-03-27 | Altera Corporation | Method and apparatus for designing systems using logic regions |
| US6871332B2 (en) * | 2002-07-23 | 2005-03-22 | Sun Microsystems, Inc. | Structure and method for separating geometries in a design layout into multi-wide object classes |
| US7200024B2 (en) * | 2002-08-02 | 2007-04-03 | Micron Technology, Inc. | System and method for optically interconnecting memory devices |
| US8181125B2 (en) * | 2002-08-05 | 2012-05-15 | Hewlett-Packard Development Company, L.P. | System and method for providing compliant mapping between chip bond locations and package bond locations for an integrated circuit |
| US7200844B2 (en) * | 2002-08-08 | 2007-04-03 | Hewlett-Packard Development Company, Lp. | User installation of imaging device control system |
| US7254331B2 (en) * | 2002-08-09 | 2007-08-07 | Micron Technology, Inc. | System and method for multiple bit optical data transmission in memory systems |
| US7213216B2 (en) | 2002-08-09 | 2007-05-01 | Synplicity, Inc. | Method and system for debugging using replicated logic and trigger logic |
| US6904576B2 (en) | 2002-08-09 | 2005-06-07 | Synplicity, Inc. | Method and system for debugging using replicated logic |
| US20040032412A1 (en) * | 2002-08-13 | 2004-02-19 | Odom Brian Keith | Generating a graphical program based on a timing diagram |
| CN100377097C (zh) * | 2002-08-26 | 2008-03-26 | 联发科技股份有限公司 | 除错装置 |
| US20040122643A1 (en) * | 2002-08-29 | 2004-06-24 | Anderson Howard C. | Apparatus and method for simulating switched-capacitor circuits |
| US7836252B2 (en) * | 2002-08-29 | 2010-11-16 | Micron Technology, Inc. | System and method for optimizing interconnections of memory devices in a multichip module |
| US7099426B1 (en) | 2002-09-03 | 2006-08-29 | Xilinx, Inc. | Flexible channel bonding and clock correction operations on a multi-block data path |
| US7102907B2 (en) * | 2002-09-09 | 2006-09-05 | Micron Technology, Inc. | Wavelength division multiplexed memory module, memory system and method |
| US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
| US7092865B1 (en) | 2002-09-10 | 2006-08-15 | Xilinx, Inc. | Method and apparatus for timing modeling |
| US7124392B2 (en) | 2002-09-27 | 2006-10-17 | Stmicroelectronics, Pvt. Ltd. | Mapping of programmable logic devices |
| US7308492B2 (en) | 2002-10-02 | 2007-12-11 | Sony Corporation | Method and apparatus for use in remote diagnostics |
| FR2846766B1 (fr) * | 2002-10-31 | 2005-01-28 | Jdv | Procede d'identification et systeme de fichiers specialise pour la gestion de configuration |
| WO2004044769A1 (en) | 2002-11-11 | 2004-05-27 | Zxibix, Inc. | System and method of facilitating and evaluating user thinking about an arbitrary problem |
| US10395173B1 (en) | 2002-11-11 | 2019-08-27 | Zxibix, Inc. | System and methods for exemplary problem solving, thinking and learning using an exemplary archetype process and enhanced hybrid forms |
| US7720780B1 (en) | 2003-11-10 | 2010-05-18 | Zxibix, Inc. | System and method for facilitating collaboration and related multiple user thinking and cooperation regarding an arbitrary problem |
| US7730009B1 (en) | 2002-11-11 | 2010-06-01 | Zxibix, Inc. | System and methods for archetype enabled research and search |
| US8660972B1 (en) | 2002-11-11 | 2014-02-25 | Zxibix, Inc. | System and method to provide a customized problem solving environment for the development of user thinking about an arbitrary problem |
| US7685085B2 (en) | 2003-11-10 | 2010-03-23 | James Ralph Heidenreich | System and method to facilitate user thinking about an arbitrary problem with output and interfaces to external systems, components and resources |
| US7949617B1 (en) | 2002-11-11 | 2011-05-24 | Linda Shawn Higgins | System and methods for facilitating user thinking and learning utilizing enhanced interactive constructs |
| US6971083B1 (en) | 2002-11-13 | 2005-11-29 | Altera Corporation | Method for programming programmable logic device with blocks that perform multiplication and other arithmetic functions |
| US6907420B2 (en) | 2002-11-14 | 2005-06-14 | Vibren Technologies, Inc. | Parameterizing system and method |
| US7036046B2 (en) * | 2002-11-14 | 2006-04-25 | Altera Corporation | PLD debugging hub |
| US6895566B1 (en) * | 2002-11-19 | 2005-05-17 | Xilinx, Inc. | Methods and apparatus for isolating critical paths on an IC device having a thermal energy generator |
| US7024636B2 (en) * | 2002-11-20 | 2006-04-04 | Lsi Logic Corporation | Chip management system |
| US7003751B1 (en) * | 2003-01-10 | 2006-02-21 | Xilinx Inc. | Specification of the hierarchy, connectivity, and graphical representation of a circuit design |
| US7085706B1 (en) | 2003-01-14 | 2006-08-01 | Xilinx, Inc. | Systems and methods of utilizing virtual input and output modules in a programmable logic device |
| US7472737B1 (en) | 2003-01-15 | 2009-01-06 | Leannoux Properties Ag L.L.C. | Adjustable micro device feeder |
| US7076751B1 (en) * | 2003-01-24 | 2006-07-11 | Altera Corporation | Chip debugging using incremental recompilation |
| US7216276B1 (en) | 2003-02-27 | 2007-05-08 | Marvell International Ltd. | Apparatus and method for testing and debugging an integrated circuit |
| US7496818B1 (en) | 2003-02-27 | 2009-02-24 | Marvell International Ltd. | Apparatus and method for testing and debugging an integrated circuit |
| US7444571B1 (en) | 2003-02-27 | 2008-10-28 | Marvell International Ltd. | Apparatus and method for testing and debugging an integrated circuit |
| JP4908731B2 (ja) * | 2003-07-31 | 2012-04-04 | キヤノン株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
| US7853946B2 (en) * | 2003-02-28 | 2010-12-14 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and control program |
| US8706760B2 (en) * | 2003-02-28 | 2014-04-22 | Microsoft Corporation | Method to delay locking of server files on edit |
| US7197743B2 (en) * | 2003-03-04 | 2007-03-27 | Hitachi, Ltd. | Method for generating computer software for embedded systems |
| US7308564B1 (en) * | 2003-03-27 | 2007-12-11 | Xilinx, Inc. | Methods and circuits for realizing a performance monitor for a processor from programmable logic |
| US7991606B1 (en) * | 2003-04-01 | 2011-08-02 | Altera Corporation | Embedded logic analyzer functionality for system level environments |
| US7216330B1 (en) * | 2003-04-14 | 2007-05-08 | Altera Corporation | Method and apparatus for extending the capabilities of tools used for designing systems on programmable logic devices by registering a user specified procedure |
| US7254811B2 (en) | 2003-04-17 | 2007-08-07 | Ntt Docomo, Inc. | Update system and method for updating a scanning subsystem in a mobile communication framework |
| US7337101B1 (en) * | 2003-04-17 | 2008-02-26 | Altera Corporation | Method and apparatus for extending the capabilities of tools used for designing systems on programmable logic devices to satisfy timing requirements |
| US7191427B2 (en) * | 2003-04-25 | 2007-03-13 | Stmicroelectonics Pvt Ltd. | Method for mapping a logic circuit to a programmable look up table (LUT) |
| US20040225998A1 (en) * | 2003-05-06 | 2004-11-11 | Sun Microsystems, Inc. | Undo/Redo technique with computed of line information in a token-oriented representation of program code |
| US20040225997A1 (en) * | 2003-05-06 | 2004-11-11 | Sun Microsystems, Inc. | Efficient computation of line information in a token-oriented representation of program code |
| US7757197B1 (en) | 2003-05-29 | 2010-07-13 | Altera Corporation | Method and apparatus for utilizing constraints for the routing of a design on a programmable logic device |
| US7627842B1 (en) | 2003-06-03 | 2009-12-01 | Cadence Design Systems, Inc. | Method and system for verification of circuits with encoded signals |
| US7509246B1 (en) | 2003-06-09 | 2009-03-24 | Altera Corporation | System level simulation models for hardware modules |
| US7245145B2 (en) * | 2003-06-11 | 2007-07-17 | Micron Technology, Inc. | Memory module and method having improved signal routing topology |
| US7299450B2 (en) * | 2003-06-17 | 2007-11-20 | Microsoft Corporation | Undoing changes in a software configuration management system |
| US7506210B1 (en) * | 2003-06-26 | 2009-03-17 | Xilinx, Inc. | Method of debugging PLD configuration using boundary scan |
| US20050037787A1 (en) * | 2003-06-27 | 2005-02-17 | Rosett-Wireless Corporation | Wireless intelligent portable-server system (WIPSS) |
| US9778919B2 (en) * | 2003-06-27 | 2017-10-03 | Adobe Systems Incorporated | Dual context interaction with a content object for facilitating content creation and software development |
| US20050022152A1 (en) * | 2003-07-09 | 2005-01-27 | Turk Daniel J. | White body modeing and virtual evaluation system for mechanical assemblies |
| DE10331312A1 (de) * | 2003-07-10 | 2005-01-27 | Siemens Ag | Verfahren zum Projektieren und/oder Konfigurieren eines Projektes |
| US7360190B1 (en) * | 2003-07-11 | 2008-04-15 | Altera Corporation | Method and apparatus for performing retiming on field programmable gate arrays |
| US7350176B1 (en) * | 2003-07-17 | 2008-03-25 | Altera Corporation | Techniques for mapping to a shared lookup table mask |
| US7181703B1 (en) | 2003-07-22 | 2007-02-20 | Altera Corporation | Techniques for automated sweeping of parameters in computer-aided design to achieve optimum performance and resource usage |
| US7539900B1 (en) | 2003-07-29 | 2009-05-26 | Altera Corporation | Embedded microprocessor for integrated circuit testing and debugging |
| US20050050483A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | System and method analyzing design elements in computer aided design tools |
| US7086019B2 (en) * | 2003-08-25 | 2006-08-01 | Hewlett-Packard Development Company, L.P. | Systems and methods for determining activity factors of a circuit design |
| US7076752B2 (en) * | 2003-08-25 | 2006-07-11 | Hewlett-Packard Development Company, L.P. | System and method for determining unmatched design elements in a computer-automated design |
| US20050050492A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | Systems and methods for performing circuit analysis on a circuit design |
| US20050050482A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | System and method for determining applicable configuration information for use in analysis of a computer aided design |
| US7073152B2 (en) * | 2003-08-25 | 2006-07-04 | Hewlett-Packard Development Company, L.P. | System and method for determining a highest level signal name in a hierarchical VLSI design |
| US7058908B2 (en) * | 2003-08-25 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Systems and methods utilizing fast analysis information during detailed analysis of a circuit design |
| US20050050503A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | Systems and methods for establishing data model consistency of computer aided design tools |
| US20050050485A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | Systems and methods for identifying data sources associated with a circuit design |
| US7062727B2 (en) * | 2003-08-25 | 2006-06-13 | Hewlett-Packard Development Company, L.P. | Computer aided design systems and methods with reduced memory utilization |
| US7231336B2 (en) * | 2003-08-25 | 2007-06-12 | Legend Design Technology, Inc. | Glitch and metastability checks using signal characteristics |
| US20050050506A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | System and method for determining connectivity of nets in a hierarchical circuit design |
| US7032206B2 (en) * | 2003-08-25 | 2006-04-18 | Hewlett-Packard Development Company, L.P. | System and method for iteratively traversing a hierarchical circuit design |
| US20050049843A1 (en) * | 2003-08-29 | 2005-03-03 | Lee Hewitt | Computerized extension apparatus and methods |
| US7421014B2 (en) * | 2003-09-11 | 2008-09-02 | Xilinx, Inc. | Channel bonding of a plurality of multi-gigabit transceivers |
| US7111260B2 (en) * | 2003-09-18 | 2006-09-19 | International Business Machines Corporation | System and method for incremental statistical timing analysis of digital circuits |
| US20050071144A1 (en) * | 2003-09-25 | 2005-03-31 | Taiwan Semicondutor Manufacturing Co. | Method for providing VITAL model of embedded memory with delay back annotation |
| US7594204B1 (en) * | 2003-10-06 | 2009-09-22 | Altera Corporation | Method and apparatus for performing layout-driven optimizations on field programmable gate arrays |
| US7356454B2 (en) * | 2003-10-17 | 2008-04-08 | Ud Technology Corporation | Method and apparatus for emulation of logic circuits |
| US7120743B2 (en) | 2003-10-20 | 2006-10-10 | Micron Technology, Inc. | Arbitration system and method for memory responses in a hub-based memory system |
| US7086025B1 (en) * | 2003-10-23 | 2006-08-01 | Adaptec, Inc. | Programmable logic device partitioning method for application specific integrated circuit prototyping |
| US7234070B2 (en) | 2003-10-27 | 2007-06-19 | Micron Technology, Inc. | System and method for using a learning sequence to establish communications on a high-speed nonsynchronous interface in the absence of clock forwarding |
| FR2861481B1 (fr) * | 2003-10-27 | 2006-01-21 | Patrice Manoutsis | Atelier et procede de conception d'un reseau prediffuse programmable et support d'enregistrement pour leur mise en oeuvre |
| US7340729B2 (en) * | 2003-10-28 | 2008-03-04 | Sap Ag | Reducing recompilation frequency |
| US7409328B1 (en) | 2003-11-13 | 2008-08-05 | Cadence Design Systems, Inc. | System and method for communicating simulation solutions between circuit components in a hierarchical data structure |
| US8428928B1 (en) | 2003-11-13 | 2013-04-23 | Cadence Design Systems, Inc. | System and method for dynamically representing repetitive loads of a circuit during simulation |
| US7269541B1 (en) | 2003-11-13 | 2007-09-11 | Cadence Design Systems, Inc. | System and method for supporting multi-rate simulation of a circuit having hierarchical data structure |
| US7392170B1 (en) | 2003-11-13 | 2008-06-24 | Cadence Design Systems, Inc. | System and method for dynamically compressing circuit components during simulation |
| US20050114818A1 (en) * | 2003-11-21 | 2005-05-26 | Lsi Logic Corporation | Chip design command processor |
| US7305648B2 (en) * | 2003-11-21 | 2007-12-04 | Mentor Graphics Corporation | Distributed autorouting of conductive paths in printed circuit boards |
| US7590963B2 (en) * | 2003-11-21 | 2009-09-15 | Mentor Graphics Corporation | Integrating multiple electronic design applications |
| US7464102B2 (en) * | 2003-11-26 | 2008-12-09 | Microsoft Corporation | System and method for providing computer support tools |
| US7181383B1 (en) * | 2003-11-26 | 2007-02-20 | Cadence Design Systems, Inc. | System and method for simulating a circuit having hierarchical structure |
| US20050120340A1 (en) * | 2003-12-01 | 2005-06-02 | Skazinski Joseph G. | Apparatus, system, and method for automated generation of embedded systems software |
| US8346803B2 (en) * | 2003-12-12 | 2013-01-01 | Knapp Investment Company Limited | Dynamic generation of target files from template files and tracking of the processing of target files |
| US20050149890A1 (en) * | 2003-12-29 | 2005-07-07 | Tsai Vicki W. | Programming reconfigurable packetized networks |
| US7096434B2 (en) * | 2003-12-31 | 2006-08-22 | International Business Machines Corporation | Method, system and program product providing a configuration specification language supporting arbitrary mapping functions for configuration constructs |
| US7661101B2 (en) * | 2004-01-15 | 2010-02-09 | Parametric Technology Corporation | Synchronous and asynchronous collaboration between heterogeneous applications |
| US7437712B1 (en) * | 2004-01-22 | 2008-10-14 | Sprint Communications Company L.P. | Software build tool with revised code version based on description of revisions and authorizing build based on change report that has been approved |
| US7181584B2 (en) * | 2004-02-05 | 2007-02-20 | Micron Technology, Inc. | Dynamic command and/or address mirroring system and method for memory modules |
| US7206967B1 (en) | 2004-02-09 | 2007-04-17 | Altera Corporation | Chip debugging using incremental recompilation and register insertion |
| US7188329B2 (en) * | 2004-02-13 | 2007-03-06 | Inventec Corporation | Computer-assisted electronic component schematic linking method |
| US7284222B1 (en) * | 2004-06-30 | 2007-10-16 | Tabula, Inc. | Method and apparatus for identifying connections between configurable nodes in a configurable integrated circuit |
| US7193440B1 (en) * | 2004-02-14 | 2007-03-20 | Herman Schmit | Configurable circuits, IC's, and systems |
| US7157933B1 (en) | 2004-02-14 | 2007-01-02 | Herman Schmit | Configurable circuits, IC's, and systems |
| US7109752B1 (en) * | 2004-02-14 | 2006-09-19 | Herman Schmit | Configurable circuits, IC's, and systems |
| US7126373B1 (en) | 2004-02-14 | 2006-10-24 | Herman Schmit | Configurable logic circuits with commutative properties |
| US7193432B1 (en) | 2004-02-14 | 2007-03-20 | Herman Schmit | VPA logic circuits |
| US7167025B1 (en) | 2004-02-14 | 2007-01-23 | Herman Schmit | Non-sequentially configurable IC |
| US7126381B1 (en) | 2004-02-14 | 2006-10-24 | Herman Schmit | VPA interconnect circuit |
| US7425841B2 (en) | 2004-02-14 | 2008-09-16 | Tabula Inc. | Configurable circuits, IC's, and systems |
| US7424698B2 (en) * | 2004-02-27 | 2008-09-09 | Intel Corporation | Allocation of combined or separate data and control planes |
| US7366864B2 (en) | 2004-03-08 | 2008-04-29 | Micron Technology, Inc. | Memory hub architecture having programmable lane widths |
| WO2005093575A1 (en) * | 2004-03-09 | 2005-10-06 | Seiyang Yang | Dynamic-verification-based verification apparatus achieving high verification performance and verification efficency and the verification methodology using the same |
| US20050209722A1 (en) * | 2004-03-19 | 2005-09-22 | Ugs Corp. | System and method for automating architecture changes to system-level design |
| US7120723B2 (en) * | 2004-03-25 | 2006-10-10 | Micron Technology, Inc. | System and method for memory hub-based expansion bus |
| US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
| US20050223110A1 (en) * | 2004-03-30 | 2005-10-06 | Intel Corporation | Heterogeneous building block scalability |
| US20050229139A1 (en) * | 2004-03-30 | 2005-10-13 | Intel Corporation | Block-based processing in a packet-based reconfigurable architecture |
| US7073159B2 (en) * | 2004-03-31 | 2006-07-04 | Intel Corporation | Constraints-directed compilation for heterogeneous reconfigurable architectures |
| US7590797B2 (en) | 2004-04-08 | 2009-09-15 | Micron Technology, Inc. | System and method for optimizing interconnections of components in a multichip memory module |
| US7222213B2 (en) * | 2004-05-17 | 2007-05-22 | Micron Technology, Inc. | System and method for communicating the synchronization status of memory modules during initialization of the memory modules |
| US7415693B1 (en) * | 2004-05-21 | 2008-08-19 | Altera Corporation | Method and apparatus for reducing synthesis runtime |
| US7478355B2 (en) * | 2004-05-21 | 2009-01-13 | United Microelectronics Corp. | Input/output circuits with programmable option and related method |
| US7373567B2 (en) * | 2004-05-26 | 2008-05-13 | International Business Machines Corporation | System and method of providing error detection and correction capability in an integrated circuit using redundant logic cells of an embedded FPGA |
| JP2005348228A (ja) * | 2004-06-04 | 2005-12-15 | Hitachi Ltd | 動画像編集システム |
| US7225416B1 (en) * | 2004-06-15 | 2007-05-29 | Altera Corporation | Methods and apparatus for automatic test component generation and inclusion into simulation testbench |
| US7193438B1 (en) | 2004-06-30 | 2007-03-20 | Andre Rohe | Configurable integrated circuit with offset connection |
| US7312630B2 (en) | 2004-06-30 | 2007-12-25 | Tabula, Inc. | Configurable integrated circuit with built-in turns |
| US7408382B2 (en) * | 2004-06-30 | 2008-08-05 | Tabula, Inc. | Configurable circuits, IC's, and systems |
| US7282950B1 (en) | 2004-11-08 | 2007-10-16 | Tabula, Inc. | Configurable IC's with logic resources with offset connections |
| US7145361B1 (en) * | 2004-06-30 | 2006-12-05 | Andre Rohe | Configurable integrated circuit with different connection schemes |
| US20060004902A1 (en) * | 2004-06-30 | 2006-01-05 | Siva Simanapalli | Reconfigurable circuit with programmable split adder |
| US7439766B2 (en) * | 2004-06-30 | 2008-10-21 | Tabula, Inc. | Configurable logic circuits with commutative properties |
| US7449915B2 (en) * | 2004-06-30 | 2008-11-11 | Tabula Inc. | VPA logic circuits |
| US20060015775A1 (en) * | 2004-07-14 | 2006-01-19 | John Benavides | System and method for observing the behavior of an integrated circuit (IC) |
| US7480842B1 (en) * | 2004-07-16 | 2009-01-20 | Xilinx, Inc. | Method and apparatus for reducing the number of test designs for device testing |
| US7389490B2 (en) * | 2004-07-29 | 2008-06-17 | International Business Machines Corporation | Method, system and program product for providing a configuration specification language supporting selective presentation of configuration entities |
| US7386825B2 (en) * | 2004-07-29 | 2008-06-10 | International Business Machines Corporation | Method, system and program product supporting presentation of a simulated or hardware system including configuration entities |
| US7290240B1 (en) * | 2004-07-30 | 2007-10-30 | Altera Corporation | Leveraging combinations of synthesis, placement and incremental optimizations |
| US7171644B1 (en) * | 2004-08-06 | 2007-01-30 | Xilinx, Inc. | Implementation set-based guide engine and method of implementing a circuit design |
| US7360177B1 (en) | 2004-08-06 | 2008-04-15 | Xilinx, Inc. | Method and arrangement providing for implementation granularity using implementation sets |
| US7290241B1 (en) | 2004-08-06 | 2007-10-30 | Xilinx, Inc. | Method and system for managing behavior of algorithms |
| US7181704B1 (en) * | 2004-08-06 | 2007-02-20 | Xilinx, Inc. | Method and system for designing integrated circuits using implementation directives |
| US7146583B1 (en) | 2004-08-06 | 2006-12-05 | Xilinx, Inc. | Method and system for implementing a circuit design in a tree representation |
| US7373631B1 (en) * | 2004-08-11 | 2008-05-13 | Altera Corporation | Methods of producing application-specific integrated circuit equivalents of programmable logic |
| US8082531B2 (en) | 2004-08-13 | 2011-12-20 | Cypress Semiconductor Corporation | Method and an apparatus to design a processing system using a graphical user interface |
| US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
| US8286125B2 (en) * | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
| US7757294B1 (en) * | 2004-08-27 | 2010-07-13 | Xilinx, Inc. | Method and system for maintaining the security of design information |
| US7392331B2 (en) * | 2004-08-31 | 2008-06-24 | Micron Technology, Inc. | System and method for transmitting data packets in a computer system having a memory hub architecture |
| DE602005010639D1 (de) * | 2004-09-03 | 2008-12-11 | Derek Ward | Verbesserungen an numerischen Steuerungen und verwandten elektronischen Geräten |
| US20060101368A1 (en) * | 2004-09-08 | 2006-05-11 | Mentor Graphics Corporation | Distributed electronic design automation environment |
| US7546571B2 (en) | 2004-09-08 | 2009-06-09 | Mentor Graphics Corporation | Distributed electronic design automation environment |
| WO2006033419A1 (en) * | 2004-09-20 | 2006-03-30 | Sony Computer Entertainment Inc. | Methods and apparatus for distributing software applications |
| JP2006090727A (ja) * | 2004-09-21 | 2006-04-06 | Nec Engineering Ltd | オンチップ・ロジックアナライザ |
| US7480843B1 (en) | 2004-09-29 | 2009-01-20 | Xilinx, Inc. | Configuration access from a boundary-scannable device |
| JP4622442B2 (ja) * | 2004-10-14 | 2011-02-02 | 船井電機株式会社 | ディスク装置の自己診断装置 |
| US7342415B2 (en) * | 2004-11-08 | 2008-03-11 | Tabula, Inc. | Configurable IC with interconnect circuits that also perform storage operations |
| US7276933B1 (en) * | 2004-11-08 | 2007-10-02 | Tabula, Inc. | Reconfigurable IC that has sections running at different looperness |
| US7917559B2 (en) * | 2004-11-08 | 2011-03-29 | Tabula, Inc. | Configurable IC's with configurable logic circuits that perform adder and/or subtractor operations |
| US7301368B2 (en) * | 2005-03-15 | 2007-11-27 | Tabula, Inc. | Embedding memory within tile arrangement of a configurable IC |
| US7330050B2 (en) * | 2004-11-08 | 2008-02-12 | Tabula, Inc. | Storage elements for a configurable IC and method and apparatus for accessing data stored in the storage elements |
| US7743085B2 (en) * | 2004-11-08 | 2010-06-22 | Tabula, Inc. | Configurable IC with large carry chains |
| US7268586B1 (en) | 2004-11-08 | 2007-09-11 | Tabula, Inc. | Method and apparatus for accessing stored data in a reconfigurable IC |
| US7317331B2 (en) * | 2004-11-08 | 2008-01-08 | Tabula, Inc. | Reconfigurable IC that has sections running at different reconfiguration rates |
| US7295037B2 (en) * | 2004-11-08 | 2007-11-13 | Tabula, Inc. | Configurable IC with routing circuits with offset connections |
| US7224181B1 (en) * | 2004-11-08 | 2007-05-29 | Herman Schmit | Clock distribution in a configurable IC |
| US7259587B1 (en) | 2004-11-08 | 2007-08-21 | Tabula, Inc. | Configurable IC's with configurable logic resources that have asymetric inputs and/or outputs |
| US20070244958A1 (en) * | 2004-11-08 | 2007-10-18 | Jason Redgrave | Configurable IC's with carry bypass circuitry |
| US7242216B1 (en) | 2004-11-08 | 2007-07-10 | Herman Schmit | Embedding memory between tile arrangement of a configurable IC |
| US7573296B2 (en) | 2004-11-08 | 2009-08-11 | Tabula Inc. | Configurable IC with configurable routing resources that have asymmetric input and/or outputs |
| US7373618B1 (en) | 2004-11-12 | 2008-05-13 | Cadence Design Systems, Inc. | Method and system for selection and replacement of subcircuits in equivalence checking |
| US7716611B2 (en) * | 2004-11-13 | 2010-05-11 | Mentor Graphics Corporation | Logic injection |
| US7328420B1 (en) | 2004-11-18 | 2008-02-05 | Altera Corporation | Circuit design tools with optimization assistance |
| DE102005055229A1 (de) * | 2004-11-26 | 2006-06-08 | Continental Teves Ag & Co. Ohg | Festverdrahteter elektronischer Digitalschaltkreis |
| US7428721B2 (en) | 2004-12-01 | 2008-09-23 | Tabula, Inc. | Operational cycle assignment in a configurable IC |
| US7236009B1 (en) | 2004-12-01 | 2007-06-26 | Andre Rohe | Operational time extension |
| US7496879B2 (en) * | 2004-12-01 | 2009-02-24 | Tabula, Inc. | Concurrent optimization of physical design and operational cycle assignment |
| US20060123378A1 (en) * | 2004-12-03 | 2006-06-08 | Ipextreme Inc. | Method, System, and Software Product For Using Synthesizable Semiconductor Intellectual Property In Self-Documenting Electronic Extended Package |
| US7921076B2 (en) | 2004-12-15 | 2011-04-05 | Oracle International Corporation | Performing an action in response to a file system event |
| US8219807B1 (en) | 2004-12-17 | 2012-07-10 | Novell, Inc. | Fine grained access control for linux services |
| US7613963B1 (en) * | 2004-12-20 | 2009-11-03 | Williams-Pyro, Pnc. | Wireless method and apparatus for testing armament circuits |
| US8271785B1 (en) | 2004-12-20 | 2012-09-18 | Novell, Inc. | Synthesized root privileges |
| US7228472B2 (en) * | 2005-01-11 | 2007-06-05 | Hewlett-Packard Development Company, L.P. | System and method to control data capture |
| US7348799B2 (en) * | 2005-01-11 | 2008-03-25 | Hewlett-Packard Development Company, L.P. | System and method for generating a trigger signal |
| US7752016B2 (en) * | 2005-01-11 | 2010-07-06 | Hewlett-Packard Development Company, L.P. | System and method for data analysis |
| US7809991B2 (en) * | 2005-01-11 | 2010-10-05 | Hewlett-Packard Development Company, L.P. | System and method to qualify data capture |
| US7950010B2 (en) * | 2005-01-21 | 2011-05-24 | Sap Ag | Software deployment system |
| US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
| US7386814B1 (en) * | 2005-02-10 | 2008-06-10 | Xilinx, Inc. | Translation of high-level circuit design blocks into hardware description language |
| US7490072B1 (en) | 2005-02-16 | 2009-02-10 | Novell, Inc. | Providing access controls |
| US7277812B1 (en) * | 2005-02-18 | 2007-10-02 | Xilinx, Inc. | Data generator |
| US7634758B2 (en) * | 2005-03-02 | 2009-12-15 | Computer Associates Think, Inc. | System and method for backing up open files of a source control management repository |
| US7530033B2 (en) * | 2005-03-15 | 2009-05-05 | Tabula, Inc. | Method and apparatus for decomposing functions in a configurable IC |
| US7825684B2 (en) | 2005-03-15 | 2010-11-02 | Tabula, Inc. | Variable width management for a memory of a configurable IC |
| US20070244959A1 (en) * | 2005-03-15 | 2007-10-18 | Steven Teig | Configurable IC's with dual carry chains |
| US7230869B1 (en) | 2005-03-15 | 2007-06-12 | Jason Redgrave | Method and apparatus for accessing contents of memory cells |
| US7310003B2 (en) * | 2005-03-15 | 2007-12-18 | Tabula, Inc. | Configurable IC with interconnect circuits that have select lines driven by user signals |
| US7224182B1 (en) * | 2005-03-15 | 2007-05-29 | Brad Hutchings | Hybrid configurable circuit for a configurable IC |
| US7298169B2 (en) | 2005-03-15 | 2007-11-20 | Tabula, Inc | Hybrid logic/interconnect circuit in a configurable IC |
| US8000954B2 (en) | 2005-03-16 | 2011-08-16 | Gaterocket, Inc. | FPGA emulation system |
| US8205186B1 (en) | 2005-04-11 | 2012-06-19 | Synopsys, Inc. | Incremental modification of instrumentation logic |
| US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
| US8352935B2 (en) * | 2005-05-19 | 2013-01-08 | Novell, Inc. | System for creating a customized software distribution based on user requirements |
| US8074214B2 (en) * | 2005-05-19 | 2011-12-06 | Oracle International Corporation | System for creating a customized software installation on demand |
| US7735035B1 (en) | 2005-06-01 | 2010-06-08 | Cadence Design Systems, Inc. | Method and system for creating a boolean model of multi-path and multi-strength signals for verification |
| US20060277340A1 (en) * | 2005-06-03 | 2006-12-07 | Mar David B | System and method for providing layered profiles |
| US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
| US7577876B2 (en) * | 2005-06-28 | 2009-08-18 | Intel Corporation | Debug system for data tracking |
| US7375550B1 (en) * | 2005-07-15 | 2008-05-20 | Tabula, Inc. | Configurable IC with packet switch configuration network |
| US7550991B2 (en) * | 2005-07-15 | 2009-06-23 | Tabula, Inc. | Configurable IC with trace buffer and/or logic analyzer functionality |
| US7370295B1 (en) | 2005-07-21 | 2008-05-06 | Altera Corporation | Directed design space exploration |
| JP2007034584A (ja) * | 2005-07-26 | 2007-02-08 | Toshiba Corp | 高位合成装置、自動高位合成方法、高位合成プログラム及びゲートネットリスト自動検証方法 |
| US7464345B2 (en) * | 2005-08-01 | 2008-12-09 | Lsi Corporation | Resource estimation for design planning |
| US7346862B2 (en) * | 2005-08-19 | 2008-03-18 | Synopsys, Inc. | Method and apparatus for optimizing a logic network in a digital circuit |
| US20070050428A1 (en) * | 2005-08-25 | 2007-03-01 | Cliosoft Inc. | Method and system for version control of composite design objects |
| US8326926B2 (en) | 2005-09-13 | 2012-12-04 | Mentor Graphics Corporation | Distributed electronic design automation architecture |
| EP1949368A4 (en) * | 2005-10-05 | 2009-05-27 | Lg Electronics Inc | METHOD AND APPARATUS FOR SIGNAL PROCESSING AND CODING AND DECODING METHOD AND APPARATUS THEREOF |
| US20090150136A1 (en) * | 2005-10-10 | 2009-06-11 | Sei Yang Yang | Dynamic-based verification apparatus for verification from electronic system level to gate level, and verification method using the same |
| US8781808B2 (en) * | 2005-10-10 | 2014-07-15 | Sei Yang Yang | Prediction-based distributed parallel simulation method |
| US7372297B1 (en) | 2005-11-07 | 2008-05-13 | Tabula Inc. | Hybrid interconnect/logic circuits enabling efficient replication of a function in several sub-cycles to save logic and routing resources |
| US8463836B1 (en) | 2005-11-07 | 2013-06-11 | Tabula, Inc. | Performing mathematical and logical operations in multiple sub-cycles |
| US7765249B1 (en) | 2005-11-07 | 2010-07-27 | Tabula, Inc. | Use of hybrid interconnect/logic circuits for multiplication |
| US7818361B1 (en) | 2005-11-07 | 2010-10-19 | Tabula, Inc. | Method and apparatus for performing two's complement multiplication |
| US20070106960A1 (en) * | 2005-11-09 | 2007-05-10 | L-3 Integrated Systems Company | System and method for the development and distribution of a VHDL intellectual property core |
| JP2007140629A (ja) * | 2005-11-15 | 2007-06-07 | Yazaki Corp | Cad装置及びこれに用いられるプログラム |
| US7496474B2 (en) * | 2005-11-16 | 2009-02-24 | Lsi Corporation | Dynamic on-chip logic analysis |
| US8949455B2 (en) * | 2005-11-21 | 2015-02-03 | Oracle International Corporation | Path-caching mechanism to improve performance of path-related operations in a repository |
| US7793248B1 (en) | 2005-11-23 | 2010-09-07 | Altera Corporation | Method and apparatus for parameterizing hardware description language code in a system level design environment |
| US7489162B1 (en) | 2005-12-01 | 2009-02-10 | Tabula, Inc. | Users registers in a reconfigurable IC |
| US8417700B2 (en) * | 2005-12-01 | 2013-04-09 | Northrop Grumman Systems Corporation | Interactive tool for constructing and editing process diagrams |
| US7461362B1 (en) | 2005-12-01 | 2008-12-02 | Tabula, Inc. | Replacing circuit design elements with their equivalents |
| US7679401B1 (en) | 2005-12-01 | 2010-03-16 | Tabula, Inc. | User registers implemented with routing circuits in a configurable IC |
| US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
| US20070185929A1 (en) * | 2006-02-01 | 2007-08-09 | Sap Portals Isreal Ltd. | Method and apparatus for processing monitoring |
| JP2007219657A (ja) * | 2006-02-14 | 2007-08-30 | Hitachi Ltd | ストレージシステム及びそのリカバリ方法 |
| US20070220352A1 (en) * | 2006-02-28 | 2007-09-20 | Hernandez Adrian M | Method and apparatus for measuring signals in a semiconductor device |
| US8676973B2 (en) * | 2006-03-07 | 2014-03-18 | Novell Intellectual Property Holdings, Inc. | Light-weight multi-user browser |
| US7797497B1 (en) | 2006-03-08 | 2010-09-14 | Tabula, Inc. | System and method for providing more logical memory ports than physical memory ports |
| US7609085B1 (en) | 2006-03-08 | 2009-10-27 | Tabula, Inc. | Configurable integrated circuit with a 4-to-1 multiplexer |
| US7694083B1 (en) | 2006-03-08 | 2010-04-06 | Tabula, Inc. | System and method for providing a virtual memory architecture narrower and deeper than a physical memory architecture |
| US7504858B1 (en) | 2006-03-08 | 2009-03-17 | Tabula, Inc. | Configurable integrated circuit with parallel non-neighboring offset connections |
| US7518400B1 (en) | 2006-03-08 | 2009-04-14 | Tabula, Inc. | Barrel shifter implemented on a configurable integrated circuit |
| US7571412B1 (en) * | 2006-03-15 | 2009-08-04 | Altera Corporation | Method and system for semiconductor device characterization pattern generation and analysis |
| US7464362B1 (en) * | 2006-03-20 | 2008-12-09 | Altera Corporation | Method and apparatus for performing incremental compilation |
| US20070226201A1 (en) * | 2006-03-24 | 2007-09-27 | Microsoft Corporation | Obtaining user feedback in a networking environment |
| US7669097B1 (en) | 2006-03-27 | 2010-02-23 | Tabula, Inc. | Configurable IC with error detection and correction circuitry |
| US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
| US7529992B1 (en) | 2006-03-27 | 2009-05-05 | Tabula, Inc. | Configurable integrated circuit with error correcting circuitry |
| JP4814677B2 (ja) * | 2006-03-31 | 2011-11-16 | 株式会社荏原製作所 | 基板保持装置および研磨装置 |
| US7599760B2 (en) * | 2006-04-17 | 2009-10-06 | Bloom Energy Corporation | Online configurable control system for fuel cells |
| US7573282B2 (en) * | 2006-04-26 | 2009-08-11 | Hewlett-Packard Development Company, L.P. | Ball grid array connection monitoring system and method |
| US7634743B1 (en) * | 2006-07-21 | 2009-12-15 | Cadence Design Systems, Inc. | Method for updating a placed and routed netlist |
| US7784006B1 (en) | 2006-07-27 | 2010-08-24 | Xilinx, Inc. | Method and apparatus for directed physical implementation of a circuit design for an integrated circuit |
| US7490312B1 (en) | 2006-08-08 | 2009-02-10 | Xilinx, Inc. | Partition-based incremental implementation flow for use with a programmable logic device |
| US7590951B1 (en) * | 2006-08-08 | 2009-09-15 | Xilinx, Inc. | Plug-in component-based dependency management for partitions within an incremental implementation flow |
| US7761828B2 (en) * | 2006-08-18 | 2010-07-20 | Partition Design, Inc. | Partitioning electronic circuit designs into simulation-ready blocks |
| US7730480B2 (en) * | 2006-08-22 | 2010-06-01 | Novell, Inc. | System and method for creating a pattern installation by cloning software installed another computer |
| US7669157B1 (en) | 2006-09-05 | 2010-02-23 | Altera Corporation | Method and apparatus for performing incremental compilation using top-down and bottom-up design approaches |
| US7774652B2 (en) * | 2006-09-19 | 2010-08-10 | Hewlett-Packard Development Company, L.P. | Circuitry and method to detect conditions of data |
| US8539474B2 (en) * | 2006-09-28 | 2013-09-17 | International Business Machines Corporation | Method and system for management of interim software fixes |
| US8201143B2 (en) * | 2006-09-29 | 2012-06-12 | Microsoft Corporation | Dynamic mating of a modified user interface with pre-modified user interface code library |
| US20080109780A1 (en) * | 2006-10-20 | 2008-05-08 | International Business Machines Corporation | Method of and apparatus for optimal placement and validation of i/o blocks within an asic |
| US7594210B2 (en) * | 2006-11-16 | 2009-09-22 | Clk Design Automation, Inc. | Timing variation characterization |
| US7856615B2 (en) * | 2006-11-20 | 2010-12-21 | International Business Machines Corporation | Computer method and apparatus for managing software configurations using change flow hierarchies |
| US8127113B1 (en) | 2006-12-01 | 2012-02-28 | Synopsys, Inc. | Generating hardware accelerators and processor offloads |
| US7793243B1 (en) | 2006-12-04 | 2010-09-07 | Clk Design Automation, Inc. | Multi-engine static analysis |
| US7930666B1 (en) | 2006-12-12 | 2011-04-19 | Tabula, Inc. | System and method of providing a memory hierarchy |
| US7587697B1 (en) | 2006-12-12 | 2009-09-08 | Tabula, Inc. | System and method of mapping memory blocks in a configurable integrated circuit |
| US7620927B1 (en) | 2006-12-15 | 2009-11-17 | Xilinx, Inc. | Method and apparatus for circuit design closure using partitions |
| US8799448B2 (en) * | 2006-12-20 | 2014-08-05 | Microsoft Corporation | Generating rule packs for monitoring computer systems |
| US8229908B2 (en) * | 2007-01-31 | 2012-07-24 | Intuit Inc. | Dividing financial-data to facilitate simultaneous modifications by multiple users |
| US8429626B2 (en) * | 2007-02-15 | 2013-04-23 | Microsoft Corporation | Packaging content updates |
| US20080222111A1 (en) * | 2007-03-07 | 2008-09-11 | Oracle International Corporation | Database system with dynamic database caching |
| US7525344B2 (en) * | 2007-03-20 | 2009-04-28 | Tabula, Inc. | Configurable IC having a routing fabric with storage elements |
| US7535252B1 (en) | 2007-03-22 | 2009-05-19 | Tabula, Inc. | Configurable ICs that conditionally transition through configuration data sets |
| US7536615B1 (en) | 2007-03-26 | 2009-05-19 | Lattice Semiconductor Corporation | Logic analyzer systems and methods for programmable logic devices |
| US7743296B1 (en) | 2007-03-26 | 2010-06-22 | Lattice Semiconductor Corporation | Logic analyzer systems and methods for programmable logic devices |
| US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
| US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
| US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
| US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
| US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
| US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
| US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
| US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
| US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
| US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
| US7793247B1 (en) * | 2007-06-13 | 2010-09-07 | Xilinx, Inc. | Method and apparatus for directed physical implementation of a circuit design for an integrated circuit |
| US7839162B2 (en) | 2007-06-27 | 2010-11-23 | Tabula, Inc. | Configurable IC with deskewing circuits |
| US7501855B2 (en) * | 2007-06-27 | 2009-03-10 | Tabula, Inc | Transport network for a configurable IC |
| US8412990B2 (en) * | 2007-06-27 | 2013-04-02 | Tabula, Inc. | Dynamically tracking data values in a configurable IC |
| US7579867B2 (en) * | 2007-06-27 | 2009-08-25 | Tabula Inc. | Restructuring data from a trace buffer of a configurable IC |
| US7595655B2 (en) * | 2007-06-27 | 2009-09-29 | Tabula, Inc. | Retrieving data from a configurable IC |
| US7652498B2 (en) * | 2007-06-27 | 2010-01-26 | Tabula, Inc. | Integrated circuit with delay selecting input selection circuitry |
| US8069425B2 (en) | 2007-06-27 | 2011-11-29 | Tabula, Inc. | Translating a user design in a configurable IC for debugging the user design |
| US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
| WO2009035586A1 (en) | 2007-09-06 | 2009-03-19 | Tabula, Inc. | Configuration context switcher |
| CN101119387B (zh) * | 2007-09-10 | 2012-11-14 | 北京网秦天下科技有限公司 | 一种便利于定制、配置与迁移手机软件业务的方法和系统 |
| US8990651B2 (en) | 2007-09-19 | 2015-03-24 | Tabula, Inc. | Integrated circuit (IC) with primary and secondary networks and device containing such an IC |
| US7913208B2 (en) * | 2007-10-11 | 2011-03-22 | International Business Machines Corporation | Optimal simplification of constraint-based testbenches |
| US7827127B2 (en) * | 2007-10-26 | 2010-11-02 | Microsoft Corporation | Data scoping and data flow in a continuation based runtime |
| US9400814B2 (en) * | 2007-11-13 | 2016-07-26 | Oracle International Corporation | Hierarchy nodes derived based on parent/child foreign key and/or range values on parent node |
| US7908257B2 (en) * | 2008-01-15 | 2011-03-15 | Microsoft Corporation | Read mostly database tables |
| US8181148B2 (en) * | 2008-01-15 | 2012-05-15 | International Business Machines Corporation | Method for identifying and implementing flexible logic block logic for easy engineering changes |
| US8141028B2 (en) * | 2008-01-15 | 2012-03-20 | International Business Machines Corporation | Structure for identifying and implementing flexible logic block logic for easy engineering changes |
| US7506027B1 (en) | 2008-01-27 | 2009-03-17 | International Business Machines Corporation | Method and system for using workplace collaboration tools to reserve and track the usage of resources |
| US8863067B1 (en) | 2008-02-06 | 2014-10-14 | Tabula, Inc. | Sequential delay analysis by placement engines |
| US7895538B2 (en) * | 2008-02-20 | 2011-02-22 | International Business Machines Corporation | System and method for providing a common instruction table |
| US8265917B1 (en) * | 2008-02-25 | 2012-09-11 | Xilinx, Inc. | Co-simulation synchronization interface for IC modeling |
| US9483255B2 (en) * | 2008-03-04 | 2016-11-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Application resource updates |
| JP2009211606A (ja) * | 2008-03-06 | 2009-09-17 | Nec Corp | 回路設計支援システム、回路設計支援システムの表示方法、及びプログラム |
| US8140593B2 (en) * | 2008-05-15 | 2012-03-20 | Microsoft Corporation | Data viewer management |
| US8140581B2 (en) * | 2008-05-15 | 2012-03-20 | Microsoft Corporation | Configurable view on data models |
| US7970597B2 (en) * | 2008-05-15 | 2011-06-28 | Springsoft, Inc. | Event-driven emulation system |
| US8219944B2 (en) * | 2008-06-24 | 2012-07-10 | Cadence Design Systems, Inc. | Method and system performing block-level RC extraction |
| US8166435B2 (en) | 2008-06-26 | 2012-04-24 | Tabula, Inc. | Timing operations in an IC with configurable circuits |
| GB0811942D0 (en) * | 2008-07-01 | 2008-07-30 | Airbus Uk Ltd | Method of designing a structure |
| US7975025B1 (en) | 2008-07-08 | 2011-07-05 | F5 Networks, Inc. | Smart prefetching of data over a network |
| US8060845B2 (en) * | 2008-07-15 | 2011-11-15 | International Business Machines Corporation | Minimizing impact of design changes for integrated circuit designs |
| US8531197B2 (en) * | 2008-07-17 | 2013-09-10 | Freescale Semiconductor, Inc. | Integrated circuit die, an integrated circuit package and a method for connecting an integrated circuit die to an external device |
| US8978104B1 (en) * | 2008-07-23 | 2015-03-10 | United Services Automobile Association (Usaa) | Access control center workflow and approval |
| WO2010013098A1 (en) * | 2008-08-01 | 2010-02-04 | Alcatel Lucent | Data path debugging |
| WO2010016857A1 (en) | 2008-08-04 | 2010-02-11 | Tabula, Inc. | Trigger circuits and event counters for an ic |
| US7991775B2 (en) * | 2008-08-08 | 2011-08-02 | Oracle International Corporation | Global checkpoint SCN |
| US8166428B2 (en) * | 2008-08-18 | 2012-04-24 | Lsi Corporation | Synthesized logic replacement |
| JP5092995B2 (ja) * | 2008-08-26 | 2012-12-05 | 富士通株式会社 | 論理検証方法、装置およびプログラム |
| US8136062B2 (en) | 2008-08-28 | 2012-03-13 | International Business Machines Corporation | Hierarchy reassembler for 1×N VLSI design |
| US8122399B2 (en) | 2008-08-28 | 2012-02-21 | International Business Machines Corporation | Compiler for closed-loop 1×N VLSI design |
| US7975247B2 (en) * | 2008-08-28 | 2011-07-05 | Cliosoft Inc. | Method and system for organizing data generated by electronic design automation tools |
| US8132134B2 (en) | 2008-08-28 | 2012-03-06 | International Business Machines Corporation | Closed-loop 1×N VLSI design system |
| US8141016B2 (en) * | 2008-08-29 | 2012-03-20 | International Business Machines Corporation | Integrated design for manufacturing for 1×N VLSI design |
| US8156458B2 (en) * | 2008-08-29 | 2012-04-10 | International Business Machines Corporation | Uniquification and parent-child constructs for 1xN VLSI design |
| US7966598B2 (en) * | 2008-08-29 | 2011-06-21 | International Business Machines Corporation | Top level hierarchy wiring via 1×N compiler |
| US8707397B1 (en) * | 2008-09-10 | 2014-04-22 | United Services Automobile Association | Access control center auto launch |
| US8850525B1 (en) * | 2008-09-17 | 2014-09-30 | United Services Automobile Association (Usaa) | Access control center auto configuration |
| US8307010B2 (en) * | 2008-09-26 | 2012-11-06 | Microsoft Corporation | Data feature tracking through hierarchical node sets |
| US20110191739A1 (en) * | 2008-09-30 | 2011-08-04 | Advantest Corporation | Circuit design method, circuit design system, and recording medium |
| US20100107130A1 (en) * | 2008-10-23 | 2010-04-29 | International Business Machines Corporation | 1xn block builder for 1xn vlsi design |
| US8099693B2 (en) * | 2008-11-04 | 2012-01-17 | Cadence Design Systems, Inc. | Methods, systems, and computer program product for parallelizing tasks in processing an electronic circuit design |
| US8843862B2 (en) * | 2008-12-16 | 2014-09-23 | Synopsys, Inc. | Method and apparatus for creating and changing logic representations in a logic design using arithmetic flexibility of numeric formats for data |
| US8527947B2 (en) | 2008-12-28 | 2013-09-03 | International Business Machines Corporation | Selective notifications according to merge distance for software version branches within a software configuration management system |
| US8516399B2 (en) * | 2009-02-18 | 2013-08-20 | Mentor Graphics Corporation | Collaborative environment for physical verification of microdevice designs |
| US8214694B1 (en) * | 2009-03-12 | 2012-07-03 | Xilinx, Inc. | Lightweight probe and data collection within an integrated circuit |
| US8898618B2 (en) * | 2009-03-26 | 2014-11-25 | Altera Corporation | Interactive simplification of schematic diagram of integrated circuit design |
| US7821295B1 (en) | 2009-03-27 | 2010-10-26 | Altera Corporation | Methods and systems for improving a maximum operating frequency of a PLD having a shift register within an embedded memory block |
| US8191028B1 (en) | 2009-04-07 | 2012-05-29 | Altera Corporation | Methods and systems for improving a maximum operating frequency of an integrated circuit during a route phase |
| US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
| US8726226B2 (en) * | 2009-06-05 | 2014-05-13 | Microsoft Corporation | Integrated work lists for engineering project change management |
| US8984458B2 (en) * | 2009-07-22 | 2015-03-17 | Synopsys, Inc. | Dynamic rule checking in electronic design automation |
| US8756539B2 (en) * | 2009-07-31 | 2014-06-17 | National Instruments Corporation | NetList maintenance in a circuit diagram |
| US9170901B2 (en) * | 2009-08-18 | 2015-10-27 | Lexmark International, Inc. | System and method for analyzing an electronics device including a logic analyzer |
| US8745447B2 (en) * | 2009-08-18 | 2014-06-03 | Lexmark International, Inc. | System and method for analyzing an electronics device including a logic analyzer |
| US20160282408A1 (en) * | 2009-08-18 | 2016-09-29 | Lexmark International, Inc. | Integrated Circuit Including a Programmable Logic Analyzer with Enhanced and Debugging Capabilities and a Method Therefor |
| US8914681B2 (en) * | 2009-08-18 | 2014-12-16 | Lexmark International, Inc. | Integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilities and a method therefor |
| US20110047424A1 (en) * | 2009-08-18 | 2011-02-24 | James Ray Bailey | Integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilites and a method therefor |
| US8516304B2 (en) * | 2009-08-18 | 2013-08-20 | Lexmark International, Inc. | Integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilities and a method therefor |
| US8072234B2 (en) | 2009-09-21 | 2011-12-06 | Tabula, Inc. | Micro-granular delay testing of configurable ICs |
| US8234001B2 (en) * | 2009-09-28 | 2012-07-31 | International Business Machines Corporation | Tool commonality and stratification analysis to enhance a production process |
| US8255847B1 (en) * | 2009-10-01 | 2012-08-28 | Altera Corporation | Method and apparatus for automatic hierarchical design partitioning |
| US8156459B1 (en) * | 2009-11-10 | 2012-04-10 | Xilinx, Inc. | Detecting differences between high level block diagram models |
| US10268522B2 (en) * | 2009-11-30 | 2019-04-23 | Red Hat, Inc. | Service aggregation using graduated service levels in a cloud network |
| US8166437B2 (en) * | 2009-12-15 | 2012-04-24 | Apple Inc. | Automated pad ring generation for programmable logic device implementation of integrated circuit design |
| US8479135B2 (en) * | 2009-12-15 | 2013-07-02 | Apple Inc. | Automated framework for programmable logic device implementation of integrated circuit design |
| US8332795B2 (en) * | 2009-12-15 | 2012-12-11 | Apple Inc. | Automated pin multiplexing for programmable logic device implementation of integrated circuit design |
| US8302038B2 (en) * | 2009-12-15 | 2012-10-30 | Apple Inc. | Engineering change order language for modifying integrated circuit design files for programmable logic device implementation |
| US8281274B1 (en) | 2010-01-08 | 2012-10-02 | Altera Corporation | Method and apparatus for performing efficient incremental compilation |
| US8196085B1 (en) * | 2010-01-19 | 2012-06-05 | Altera Corporation | Interactive design optimization techniques and interface |
| US8705371B2 (en) * | 2010-03-19 | 2014-04-22 | At&T Intellectual Property I, L.P. | Locally diagnosing and troubleshooting service issues |
| US8032846B1 (en) | 2010-03-30 | 2011-10-04 | Synopsys, Inc. | Efficient provisioning of resources in public infrastructure for electronic design automation (EDA) tasks |
| US8196081B1 (en) | 2010-03-31 | 2012-06-05 | Xilinx, Inc. | Incremental placement and routing |
| US8661286B2 (en) * | 2010-05-21 | 2014-02-25 | Unisys Corporation | QProcessor architecture in a cluster configuration |
| US9230047B1 (en) * | 2010-06-11 | 2016-01-05 | Altera Corporation | Method and apparatus for partitioning a synthesis netlist for compile time and quality of results improvement |
| US20130036222A1 (en) * | 2010-06-14 | 2013-02-07 | Compuware Corporation | Inheritable dimensions in a service model |
| US8839162B2 (en) | 2010-07-14 | 2014-09-16 | International Business Machines Corporation | Specifying circuit level connectivity during circuit design synthesis |
| US8589361B2 (en) | 2010-08-30 | 2013-11-19 | Oracle International Corporation | Reduced disk space standby |
| US8938749B2 (en) | 2010-08-31 | 2015-01-20 | At&T Intellectual Property I, L.P. | System and method to troubleshoot a set top box device |
| WO2012075303A2 (en) * | 2010-12-01 | 2012-06-07 | Lexmark International, Inc. | A system and method for analyzing an electronics device including a logic analyzer |
| US8782730B2 (en) * | 2010-12-09 | 2014-07-15 | At&T Intellectual Property I, L.P. | User assistance via customer premises equipment media files |
| US8706705B1 (en) * | 2010-12-16 | 2014-04-22 | Conductor, Inc. | System and method for associating data relating to features of a data entity |
| US8686753B1 (en) | 2011-04-08 | 2014-04-01 | Altera Corporation | Partial reconfiguration and in-system debugging |
| US8880968B2 (en) | 2011-04-26 | 2014-11-04 | Texas Instruments Incorporated | Interposer having functional leads, TAP, trigger unit, and monitor circuitry |
| US8468477B2 (en) * | 2011-04-28 | 2013-06-18 | International Business Machines Corporation | Logic modification synthesis for high performance circuits |
| US8868492B2 (en) | 2011-06-15 | 2014-10-21 | Oracle International Corporation | Method for maximizing throughput and minimizing transactions response times on the primary system in the presence of a zero data loss standby replica |
| US9244510B1 (en) * | 2011-09-23 | 2016-01-26 | The Mathworks, Inc. | Bug report checks in a modeling system |
| JP5989655B2 (ja) * | 2011-10-20 | 2016-09-07 | 株式会社図研 | マルチボード設計装置、マルチボード設計方法、プログラムおよびコンピューター読み取り可能な記録媒体 |
| US20130103663A1 (en) * | 2011-10-22 | 2013-04-25 | Wikibrains, Ltd. | Networked mind mapping to enhance brainstorming |
| US8682974B2 (en) * | 2012-02-24 | 2014-03-25 | Blackberry Limited | Methods and systems for pausing and resuming a meeting session |
| US8745457B2 (en) * | 2012-03-30 | 2014-06-03 | Lsi Corporation | Methods and structure for utilizing external interfaces used during normal operation of a circuit to output test signals |
| US8762897B2 (en) * | 2012-05-18 | 2014-06-24 | Taiwan Semiconductor Manufacturing Company, Ltd. | Semiconductor device design system and method of using the same |
| US9471615B2 (en) * | 2012-06-06 | 2016-10-18 | Brandificant Inc. | Enhancing content mediated engagement |
| US20140068561A1 (en) * | 2012-09-05 | 2014-03-06 | Caterpillar Inc. | Control system having automatic component version management |
| US9141923B2 (en) | 2012-09-25 | 2015-09-22 | Bloom Energy Corporation | Optimizing contractual management of the total output of a fleet of fuel cells |
| US8612909B1 (en) | 2012-10-04 | 2013-12-17 | International Business Machines Corporation | Identifying logic blocks in a synthesized logic design that have specified inputs |
| JP6064529B2 (ja) * | 2012-11-07 | 2017-01-25 | 株式会社リコー | 情報処理装置 |
| EP4235444A3 (en) | 2012-11-09 | 2024-01-03 | Coherent Logix Incorporated | Real time analysis and control for a multiprocessor system |
| US9092314B2 (en) * | 2012-12-19 | 2015-07-28 | Xilinx, Inc. | On-the-fly technical support |
| US9395979B1 (en) * | 2012-12-20 | 2016-07-19 | Sprint Communications Company L.P. | Pre-emptive development conflict resolution |
| US9251554B2 (en) | 2012-12-26 | 2016-02-02 | Analog Devices, Inc. | Block-based signal processing |
| US10152500B2 (en) | 2013-03-14 | 2018-12-11 | Oracle International Corporation | Read mostly instances |
| US9436565B2 (en) | 2013-07-04 | 2016-09-06 | Altera Corporation | Non-intrusive monitoring and control of integrated circuits |
| US10311154B2 (en) | 2013-09-21 | 2019-06-04 | Oracle International Corporation | Combined row and columnar storage for in-memory databases for OLTP and analytics workloads |
| US9767178B2 (en) | 2013-10-30 | 2017-09-19 | Oracle International Corporation | Multi-instance redo apply |
| US10452797B2 (en) * | 2013-12-06 | 2019-10-22 | Synopsys, Inc. | Fault insertion for system verification |
| US9626239B2 (en) * | 2014-01-06 | 2017-04-18 | Red Hat, Inc. | Bug reporting and communication |
| US11748396B2 (en) | 2014-03-13 | 2023-09-05 | D2L Corporation | Systems and methods for generating metadata associated with learning resources |
| US9348961B2 (en) | 2014-03-27 | 2016-05-24 | Wipro Limited | Logic analyzer circuit for programmable logic device |
| US9203408B1 (en) | 2014-04-04 | 2015-12-01 | Altera Corporation | Reconfigurable logic analyzer circuitry |
| US9360523B2 (en) | 2014-04-18 | 2016-06-07 | Breker Verification Systems | Display in a graphical format of test results generated using scenario models |
| US9734273B2 (en) * | 2014-05-27 | 2017-08-15 | Mentor Graphics Corporation | System design management |
| CN105138526B (zh) * | 2014-05-30 | 2019-02-22 | 国际商业机器公司 | 用于为关系型数据库自动生成语义映射的方法和系统 |
| GB2526850B (en) | 2014-06-05 | 2020-11-25 | Advanced Risc Mach Ltd | Logic analyzer |
| US9378326B2 (en) * | 2014-09-09 | 2016-06-28 | International Business Machines Corporation | Critical region identification |
| TWI554768B (zh) * | 2014-10-21 | 2016-10-21 | Zeroplus Technology Co Ltd | Logic analyzer calibration method |
| US9405810B2 (en) | 2014-11-24 | 2016-08-02 | Asana, Inc. | Server side system and method for search backed calendar user interface |
| US9921819B2 (en) * | 2014-12-29 | 2018-03-20 | Airwatch Llc | Persistent mobile device enrollment |
| US9904518B1 (en) * | 2015-01-16 | 2018-02-27 | United Technologies Corporation | Support of undeveloped features in multi-user CAx environment |
| JP2016139273A (ja) * | 2015-01-27 | 2016-08-04 | 富士通株式会社 | 連携システム、連携プログラムおよび連携方法 |
| JP6125119B2 (ja) * | 2015-03-26 | 2017-05-10 | 三菱電機株式会社 | システム設計支援装置、システム設計支援方法及びシステム設計支援プログラム |
| US9792400B2 (en) * | 2015-03-31 | 2017-10-17 | Cavium, Inc. | Determination of flip-flop count in physical design |
| US10175976B1 (en) * | 2015-07-16 | 2019-01-08 | VCE IP Holding Company LLC | Systems and methods for avoiding version conflict in a shared cloud management tool |
| US20170046466A1 (en) | 2015-08-10 | 2017-02-16 | International Business Machines Corporation | Logic structure aware circuit routing |
| US10346573B1 (en) * | 2015-09-30 | 2019-07-09 | Cadence Design Systems, Inc. | Method and system for performing incremental post layout simulation with layout edits |
| US10747752B2 (en) | 2015-10-23 | 2020-08-18 | Oracle International Corporation | Space management for transactional consistency of in-memory objects on a standby database |
| US11657037B2 (en) | 2015-10-23 | 2023-05-23 | Oracle International Corporation | Query execution against an in-memory standby database |
| CN105678508A (zh) * | 2015-12-31 | 2016-06-15 | 上海筑想信息科技股份有限公司 | 一种项目全周期管理人机交互系统 |
| US9792395B1 (en) * | 2016-02-02 | 2017-10-17 | Xilinx, Inc. | Memory utilization in a circuit design |
| EP3244326B1 (de) * | 2016-05-10 | 2021-07-07 | dSPACE digital signal processing and control engineering GmbH | Verfahren zum erstellen einer fpga-netzliste |
| WO2018006048A1 (en) * | 2016-06-30 | 2018-01-04 | The Regents Of The University Of California | Interactive incremental synthesis flow for integrated circuit design |
| US10095726B2 (en) * | 2016-07-22 | 2018-10-09 | Ebay Inc. | Multiple workspace database engine |
| US10698771B2 (en) | 2016-09-15 | 2020-06-30 | Oracle International Corporation | Zero-data-loss with asynchronous redo shipping to a standby database |
| US10540152B1 (en) | 2016-09-23 | 2020-01-21 | Massachusetts Mutual Life Insurance Company | Systems, devices, and methods for software coding |
| US11138370B1 (en) | 2016-09-23 | 2021-10-05 | Massachusetts Mututal Life Insurance Company | Modifying and using spreadsheets to create a GUI on another device |
| US11210459B1 (en) | 2016-09-23 | 2021-12-28 | Massachusetts Mutual Life Insurance Company | Systems, devices, and methods for software coding |
| US10242141B2 (en) | 2016-09-27 | 2019-03-26 | Altera Corporation | Reset sequencing for reducing noise on a power distribution network |
| US11099894B2 (en) | 2016-09-28 | 2021-08-24 | Amazon Technologies, Inc. | Intermediate host integrated circuit between virtual machine instance and customer programmable logic |
| US10338135B2 (en) * | 2016-09-28 | 2019-07-02 | Amazon Technologies, Inc. | Extracting debug information from FPGAs in multi-tenant environments |
| US10250572B2 (en) | 2016-09-29 | 2019-04-02 | Amazon Technologies, Inc. | Logic repository service using encrypted configuration data |
| US10162921B2 (en) | 2016-09-29 | 2018-12-25 | Amazon Technologies, Inc. | Logic repository service |
| US10282330B2 (en) | 2016-09-29 | 2019-05-07 | Amazon Technologies, Inc. | Configurable logic platform with multiple reconfigurable regions |
| US10642492B2 (en) | 2016-09-30 | 2020-05-05 | Amazon Technologies, Inc. | Controlling access to previously-stored logic in a reconfigurable logic device |
| US10318686B2 (en) * | 2016-10-11 | 2019-06-11 | Intel Corporation | Methods for reducing delay on integrated circuits by identifying candidate placement locations in a leveled graph |
| US10068047B1 (en) | 2016-10-14 | 2018-09-04 | Altera Corporation | Systems and methods for designing an integrated circuit |
| US10891291B2 (en) | 2016-10-31 | 2021-01-12 | Oracle International Corporation | Facilitating operations on pluggable databases using separate logical timestamp services |
| US11115293B2 (en) | 2016-11-17 | 2021-09-07 | Amazon Technologies, Inc. | Networked programmable logic service provider |
| US11475006B2 (en) | 2016-12-02 | 2022-10-18 | Oracle International Corporation | Query and change propagation scheduling for heterogeneous database systems |
| US10496737B1 (en) | 2017-01-05 | 2019-12-03 | Massachusetts Mutual Life Insurance Company | Systems, devices, and methods for software coding |
| US10620965B2 (en) | 2017-03-22 | 2020-04-14 | Vmware, Inc. | Internet recovery of a windows configuration |
| US10445106B2 (en) | 2017-03-22 | 2019-10-15 | Vmware, Inc. | Persistent enrollment of a computing device using a BIOS |
| US10635819B2 (en) | 2017-03-22 | 2020-04-28 | Vmware, Inc. | Persistent enrollment of a computing device based on a temporary user |
| US10409619B2 (en) | 2017-03-22 | 2019-09-10 | Vmware, Inc. | Persistent enrollment of a computing device using vendor autodsicovery |
| US10740109B2 (en) | 2017-03-22 | 2020-08-11 | Vmware, Inc. | Configuring a computing device using managed operating system images |
| US10803039B2 (en) | 2017-05-26 | 2020-10-13 | Oracle International Corporation | Method for efficient primary key based queries using atomic RDMA reads on cache friendly in-memory hash index |
| US10691722B2 (en) | 2017-05-31 | 2020-06-23 | Oracle International Corporation | Consistent query execution for big data analytics in a hybrid database |
| US10387682B2 (en) | 2017-06-08 | 2019-08-20 | International Business Machines Corporation | Parallel access to running electronic design automation (EDA) application |
| US10977434B2 (en) | 2017-07-11 | 2021-04-13 | Asana, Inc. | Database model which provides management of custom fields and methods and apparatus therfor |
| US10719446B2 (en) | 2017-08-31 | 2020-07-21 | Oracle International Corporation | Directly mapped buffer cache on non-volatile memory |
| US11086876B2 (en) | 2017-09-29 | 2021-08-10 | Oracle International Corporation | Storing derived summaries on persistent memory of a storage device |
| US10802766B2 (en) | 2017-09-29 | 2020-10-13 | Oracle International Corporation | Database with NVDIMM as persistent storage |
| US10956335B2 (en) | 2017-09-29 | 2021-03-23 | Oracle International Corporation | Non-volatile cache access using RDMA |
| US10732836B2 (en) | 2017-09-29 | 2020-08-04 | Oracle International Corporation | Remote one-sided persistent writes |
| US11675761B2 (en) | 2017-09-30 | 2023-06-13 | Oracle International Corporation | Performing in-memory columnar analytic queries on externally resident data |
| US10623359B1 (en) | 2018-02-28 | 2020-04-14 | Asana, Inc. | Systems and methods for generating tasks based on chat sessions between users of a collaboration environment |
| US10586005B1 (en) * | 2018-03-21 | 2020-03-10 | Xilinx, Inc. | Incremental synthesis for changes to a circuit design |
| US11138021B1 (en) | 2018-04-02 | 2021-10-05 | Asana, Inc. | Systems and methods to facilitate task-specific workspaces for a collaboration work management platform |
| US10613735B1 (en) | 2018-04-04 | 2020-04-07 | Asana, Inc. | Systems and methods for preloading an amount of content based on user scrolling |
| CN110532577B (zh) * | 2018-05-24 | 2021-06-18 | 大唐移动通信设备有限公司 | 数字逻辑电路编译方法及装置 |
| US10785046B1 (en) * | 2018-06-08 | 2020-09-22 | Asana, Inc. | Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users |
| US10949391B2 (en) | 2018-08-30 | 2021-03-16 | International Business Machines Corporation | Automatically identifying source code relevant to a task |
| CN109348472B (zh) * | 2018-09-20 | 2021-11-05 | 广东小天才科技有限公司 | 一种基于单点推送的ota升级方法及系统 |
| US10816598B1 (en) * | 2018-10-01 | 2020-10-27 | Xilinx, Inc. | Dynamic debugging of circuits |
| US10616151B1 (en) | 2018-10-17 | 2020-04-07 | Asana, Inc. | Systems and methods for generating and presenting graphical user interfaces |
| US11170002B2 (en) | 2018-10-19 | 2021-11-09 | Oracle International Corporation | Integrating Kafka data-in-motion with data-at-rest tables |
| US10839118B1 (en) * | 2018-11-29 | 2020-11-17 | Xilinx, Inc. | Optimization-aware incremental synthesis |
| US10956845B1 (en) | 2018-12-06 | 2021-03-23 | Asana, Inc. | Systems and methods for generating prioritization models and predicting workflow prioritizations |
| US11568366B1 (en) | 2018-12-18 | 2023-01-31 | Asana, Inc. | Systems and methods for generating status requests for units of work |
| US11113667B1 (en) * | 2018-12-18 | 2021-09-07 | Asana, Inc. | Systems and methods for providing a dashboard for a collaboration work management platform |
| KR102105031B1 (ko) * | 2018-12-31 | 2020-04-27 | 주식회사 다빈시스템스 | 이동통신 장치에서의 타이밍 획득 장치 및 방법 |
| US10684870B1 (en) | 2019-01-08 | 2020-06-16 | Asana, Inc. | Systems and methods for determining and presenting a graphical user interface including template metrics |
| US11782737B2 (en) | 2019-01-08 | 2023-10-10 | Asana, Inc. | Systems and methods for determining and presenting a graphical user interface including template metrics |
| US11204683B1 (en) | 2019-01-09 | 2021-12-21 | Asana, Inc. | Systems and methods for generating and tracking hardcoded communications in a collaboration management platform |
| JP7202225B2 (ja) * | 2019-03-12 | 2023-01-11 | ローム株式会社 | 半導体装置及びデバッグシステム |
| CN114144763B (zh) | 2019-05-29 | 2026-02-17 | 美国莱迪思半导体公司 | 用于可编程逻辑器件的远程编程系统和方法 |
| US11341445B1 (en) | 2019-11-14 | 2022-05-24 | Asana, Inc. | Systems and methods to measure and visualize threshold of user workload |
| US11558259B2 (en) | 2019-12-27 | 2023-01-17 | Arteris, Inc. | System and method for generating and using physical roadmaps in network synthesis |
| US10990724B1 (en) * | 2019-12-27 | 2021-04-27 | Arteris, Inc. | System and method for incremental topology synthesis of a network-on-chip |
| US11121933B2 (en) | 2019-12-27 | 2021-09-14 | Arteris, Inc. | Physically aware topology synthesis of a network |
| US11665776B2 (en) | 2019-12-27 | 2023-05-30 | Arteris, Inc. | System and method for synthesis of a network-on-chip for deadlock-free transformation |
| US11657203B2 (en) | 2019-12-27 | 2023-05-23 | Arteris, Inc. | Multi-phase topology synthesis of a network-on-chip (NoC) |
| US11783253B1 (en) | 2020-02-11 | 2023-10-10 | Asana, Inc. | Systems and methods to effectuate sets of automated actions outside and/or within a collaboration environment based on trigger events occurring outside and/or within the collaboration environment |
| US11599855B1 (en) | 2020-02-14 | 2023-03-07 | Asana, Inc. | Systems and methods to attribute automated actions within a collaboration environment |
| US11763259B1 (en) | 2020-02-20 | 2023-09-19 | Asana, Inc. | Systems and methods to generate units of work in a collaboration environment |
| US11418448B2 (en) | 2020-04-09 | 2022-08-16 | Arteris, Inc. | System and method for synthesis of a network-on-chip to determine optimal path with load balancing |
| US11537769B2 (en) * | 2020-05-12 | 2022-12-27 | Renesas Electronics Corporation | Simulator and simulation method |
| US11455601B1 (en) | 2020-06-29 | 2022-09-27 | Asana, Inc. | Systems and methods to measure and visualize workload for completing individual units of work |
| US11449836B1 (en) | 2020-07-21 | 2022-09-20 | Asana, Inc. | Systems and methods to facilitate user engagement with units of work assigned within a collaboration environment |
| US11568339B2 (en) | 2020-08-18 | 2023-01-31 | Asana, Inc. | Systems and methods to characterize units of work based on business objectives |
| US11769115B1 (en) | 2020-11-23 | 2023-09-26 | Asana, Inc. | Systems and methods to provide measures of user workload when generating units of work based on chat sessions between users of a collaboration environment |
| US11405435B1 (en) | 2020-12-02 | 2022-08-02 | Asana, Inc. | Systems and methods to present views of records in chat sessions between users of a collaboration environment |
| CN112612241B (zh) * | 2020-12-15 | 2021-09-28 | 中国航空综合技术研究所 | 航空装备现场可编程逻辑器件软件安全性分析方法 |
| US11601357B2 (en) | 2020-12-22 | 2023-03-07 | Arteris, Inc. | System and method for generation of quality metrics for optimization tasks in topology synthesis of a network |
| US11281827B1 (en) | 2020-12-26 | 2022-03-22 | Arteris, Inc. | Optimization of parameters for synthesis of a topology using a discriminant function module |
| US11449655B2 (en) | 2020-12-30 | 2022-09-20 | Arteris, Inc. | Synthesis of a network-on-chip (NoC) using performance constraints and objectives |
| US12289384B2 (en) | 2021-02-12 | 2025-04-29 | Arteris, Inc. | System and method for synthesis of connectivity to an interconnect in a multi-protocol system-on-chip (SoC) |
| US11956127B2 (en) | 2021-03-10 | 2024-04-09 | Arteris, Inc. | Incremental topology modification of a network-on-chip |
| US11639962B1 (en) | 2021-03-12 | 2023-05-02 | Xilinx, Inc. | Scalable scan architecture for multi-circuit block arrays |
| US11263377B1 (en) | 2021-03-31 | 2022-03-01 | Xilinx, Inc. | Circuit architecture for expanded design for testability functionality |
| US11694162B1 (en) | 2021-04-01 | 2023-07-04 | Asana, Inc. | Systems and methods to recommend templates for project-level graphical user interfaces within a collaboration environment |
| US11676107B1 (en) | 2021-04-14 | 2023-06-13 | Asana, Inc. | Systems and methods to facilitate interaction with a collaboration environment based on assignment of project-level roles |
| US11553045B1 (en) | 2021-04-29 | 2023-01-10 | Asana, Inc. | Systems and methods to automatically update status of projects within a collaboration environment |
| US11803814B1 (en) | 2021-05-07 | 2023-10-31 | Asana, Inc. | Systems and methods to facilitate nesting of portfolios within a collaboration environment |
| US11792028B1 (en) | 2021-05-13 | 2023-10-17 | Asana, Inc. | Systems and methods to link meetings with units of work of a collaboration environment |
| US11809222B1 (en) | 2021-05-24 | 2023-11-07 | Asana, Inc. | Systems and methods to generate units of work within a collaboration environment based on selection of text |
| US12141756B1 (en) | 2021-05-24 | 2024-11-12 | Asana, Inc. | Systems and methods to generate project-level graphical user interfaces within a collaboration environment |
| US11290095B1 (en) | 2021-05-25 | 2022-03-29 | Xilinx, Inc. | Programmable dynamic clock stretch for at-speed debugging of integrated circuits |
| US12093859B1 (en) | 2021-06-02 | 2024-09-17 | Asana, Inc. | Systems and methods to measure and visualize workload for individual users |
| US12182505B1 (en) | 2021-06-10 | 2024-12-31 | Asana, Inc. | Systems and methods to provide user-generated project-level graphical user interfaces within a collaboration environment |
| JP7690789B2 (ja) * | 2021-06-22 | 2025-06-11 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
| US11756000B2 (en) | 2021-09-08 | 2023-09-12 | Asana, Inc. | Systems and methods to effectuate sets of automated actions within a collaboration environment including embedded third-party content based on trigger events |
| US12184499B2 (en) | 2021-09-29 | 2024-12-31 | Arteris, Inc. | System and method for editing a network-on-chip (NOC) |
| US12438829B2 (en) | 2021-09-29 | 2025-10-07 | Arteris, Inc. | System and method for deadlock detection in network-on-chip (NoC) having external dependencies |
| US12524590B2 (en) | 2021-09-29 | 2026-01-13 | Arteris, Inc. | Synthesis of a network-on-chip (NoC) for insertion of pipeline stages |
| US12159262B1 (en) | 2021-10-04 | 2024-12-03 | Asana, Inc. | Systems and methods to provide user-generated graphical user interfaces within a collaboration environment |
| US11635884B1 (en) | 2021-10-11 | 2023-04-25 | Asana, Inc. | Systems and methods to provide personalized graphical user interfaces within a collaboration environment |
| US12536503B1 (en) | 2021-12-06 | 2026-01-27 | Asana, Inc. | Systems and methods to track and present navigation through records of a collaboration environment |
| US11755804B2 (en) | 2021-12-28 | 2023-09-12 | Xilinx, Inc. | Hybrid synchronous and asynchronous control for scan-based testing |
| US12093896B1 (en) | 2022-01-10 | 2024-09-17 | Asana, Inc. | Systems and methods to prioritize resources of projects within a collaboration environment |
| US12190292B1 (en) | 2022-02-17 | 2025-01-07 | Asana, Inc. | Systems and methods to train and/or use a machine learning model to generate correspondences between portions of recorded audio content and work unit records of a collaboration environment |
| US12118514B1 (en) | 2022-02-17 | 2024-10-15 | Asana, Inc. | Systems and methods to generate records within a collaboration environment based on a machine learning model trained from a text corpus |
| US11836681B1 (en) | 2022-02-17 | 2023-12-05 | Asana, Inc. | Systems and methods to generate records within a collaboration environment |
| US11997425B1 (en) | 2022-02-17 | 2024-05-28 | Asana, Inc. | Systems and methods to generate correspondences between portions of recorded audio content and records of a collaboration environment |
| US12067335B2 (en) | 2022-04-11 | 2024-08-20 | Arteris, Inc. | Automatic configuration of pipeline modules in an electronics system |
| US12051045B1 (en) | 2022-04-28 | 2024-07-30 | Asana, Inc. | Systems and methods to characterize work unit records of a collaboration environment based on stages within a workflow |
| US12288171B1 (en) | 2022-07-18 | 2025-04-29 | Asana, Inc. | Systems and methods to provide records for new users of a collaboration environment |
| US12412156B1 (en) | 2022-07-21 | 2025-09-09 | Asana, Inc. | Systems and methods to characterize work unit records of a collaboration environment based on freeform arrangement of visual content items |
| US12487966B2 (en) | 2022-11-18 | 2025-12-02 | Bank Of America Corporation | Dynamic file selection process to transfer required data file between different servers in near real-time |
| US11863601B1 (en) | 2022-11-18 | 2024-01-02 | Asana, Inc. | Systems and methods to execute branching automation schemes in a collaboration environment |
| US12287849B1 (en) | 2022-11-28 | 2025-04-29 | Asana, Inc. | Systems and methods to automatically classify records managed by a collaboration environment |
| US20230213581A1 (en) * | 2023-03-16 | 2023-07-06 | Intel Corporation | Techniques For Capturing Signals From Logic Circuits At A Logic Analyzer |
| US12401655B1 (en) | 2023-04-24 | 2025-08-26 | Asana, Inc. | Systems and methods to manage access to assets of a computer environment based on user and asset grouping |
| US12423121B1 (en) | 2023-11-09 | 2025-09-23 | Asana, Inc. | Systems and methods to customize a user interface of a collaboration environment based on ranking of work unit records managed by the collaboration environment |
Family Cites Families (138)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3617714A (en) * | 1969-04-15 | 1971-11-02 | Bell Telephone Labor Inc | Method of minimizing the interconnection cost of linked objects |
| EP0158633A4 (en) * | 1983-10-07 | 1986-07-24 | Nat Information Utilities Corp | EDUCATION SYSTEM. |
| US4558413A (en) * | 1983-11-21 | 1985-12-10 | Xerox Corporation | Software version management system |
| EP0163273B1 (en) * | 1984-05-28 | 1993-10-13 | Advantest Corporation | Logic analyzer |
| US5050091A (en) * | 1985-02-28 | 1991-09-17 | Electric Editor, Inc. | Integrated electric design system with automatic constraint satisfaction |
| JPH0756656B2 (ja) * | 1985-09-26 | 1995-06-14 | 株式会社日立製作所 | ゲ−ト論理自動更新方法 |
| DE3611872C1 (de) | 1986-04-09 | 1987-04-30 | Rohle & Schwarz Gmbh & Co Kg | Logikanalysator |
| US4835736A (en) * | 1986-08-25 | 1989-05-30 | Tektronix, Inc. | Data acquisition system for capturing and storing clustered test data occurring before and after an event of interest |
| US5365165A (en) * | 1986-09-19 | 1994-11-15 | Actel Corporation | Testability architecture and techniques for programmable interconnect architecture |
| US4916738A (en) * | 1986-11-05 | 1990-04-10 | International Business Machines Corp. | Remote access terminal security |
| US5155836A (en) | 1987-01-27 | 1992-10-13 | Jordan Dale A | Block diagram system and method for controlling electronic instruments with simulated graphic display |
| US4827427A (en) * | 1987-03-05 | 1989-05-02 | Hyduke Stanley M | Instantaneous incremental compiler for producing logic circuit designs |
| US5220657A (en) * | 1987-12-02 | 1993-06-15 | Xerox Corporation | Updating local copy of shared data in a collaborative system |
| US4847612A (en) * | 1988-01-13 | 1989-07-11 | Plug Logic, Inc. | Programmable logic device |
| US5197016A (en) * | 1988-01-13 | 1993-03-23 | International Chip Corporation | Integrated silicon-software compiler |
| JP2678283B2 (ja) | 1988-03-15 | 1997-11-17 | 株式会社日立製作所 | データ通信制御装置 |
| US5301318A (en) * | 1988-05-13 | 1994-04-05 | Silicon Systems, Inc. | Hierarchical netlist extraction tool |
| US5008814A (en) * | 1988-08-15 | 1991-04-16 | Network Equipment Technologies, Inc. | Method and apparatus for updating system software for a plurality of data processing units in a communication network |
| US5452231A (en) * | 1988-10-05 | 1995-09-19 | Quickturn Design Systems, Inc. | Hierarchically connected reconfigurable logic assembly |
| JP3060018B2 (ja) * | 1988-10-05 | 2000-07-04 | クイックターン デザイン システムズ インコーポレイテッド | 複数の電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法 |
| US5329470A (en) | 1988-12-02 | 1994-07-12 | Quickturn Systems, Inc. | Reconfigurable hardware emulation system |
| US5155837A (en) * | 1989-03-02 | 1992-10-13 | Bell Communications Research, Inc. | Methods and apparatus for software retrofitting |
| US5111413A (en) * | 1989-03-24 | 1992-05-05 | Vantage Analysis Systems, Inc. | Computer-aided engineering |
| US5051938A (en) * | 1989-06-23 | 1991-09-24 | Hyduke Stanley M | Simulation of selected logic circuit designs |
| US5367468A (en) * | 1990-02-21 | 1994-11-22 | Kabushiki Kaisha Toshiba | Design aid method and design aid apparatus for integrated circuits |
| US5278769A (en) | 1991-04-12 | 1994-01-11 | Lsi Logic Corporation | Automatic logic model generation from schematic data base |
| US5220512A (en) | 1990-04-19 | 1993-06-15 | Lsi Logic Corporation | System for simultaneous, interactive presentation of electronic circuit diagrams and simulation data |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| US5870308A (en) * | 1990-04-06 | 1999-02-09 | 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 |
| US5623418A (en) | 1990-04-06 | 1997-04-22 | Lsi Logic Corporation | System and method for creating and validating structural description of electronic system |
| US5572436A (en) * | 1990-04-06 | 1996-11-05 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design |
| DE69130587T2 (de) * | 1990-05-10 | 1999-05-06 | Hewlett-Packard Co., Palo Alto, Calif. | System zum Integrieren von Anwenderprogrammen in eine heterogene Netzwerkumgebung |
| US5423023A (en) * | 1990-06-25 | 1995-06-06 | Prime Computer, Inc. | Method and apparatus for providing a user configurable system which integrates and manages a plurality of different task and software tools |
| US5206939A (en) * | 1990-09-24 | 1993-04-27 | Emc Corporation | System and method for disk mapping and data retrieval |
| JPH0756628B2 (ja) * | 1990-10-22 | 1995-06-14 | 富士ゼロックス株式会社 | グラフィカル・ユーザインターフェースの編集装置 |
| US5222134A (en) * | 1990-11-07 | 1993-06-22 | Tau Systems Corporation | Secure system for activating personal computer software at remote locations |
| DE4042262A1 (de) * | 1990-12-31 | 1992-07-02 | Richt Stefan | Verfahren zur analyse der funktionsweise von digitalen schaltungen |
| US5124588A (en) * | 1991-05-01 | 1992-06-23 | North American Philips Corporation | Programmable combinational logic circuit |
| US5341308A (en) * | 1991-05-17 | 1994-08-23 | Altera Corporation | Methods for allocating circuit elements between circuit groups |
| AU2158692A (en) * | 1991-05-24 | 1993-01-08 | British Technology Group Usa, Inc. | Optimizing compiler for computers |
| US5333316A (en) * | 1991-08-16 | 1994-07-26 | International Business Machines Corporation | Locking and row by row modification of a database stored in a single master table and multiple virtual tables of a plurality of concurrent users |
| US5550782A (en) * | 1991-09-03 | 1996-08-27 | Altera Corporation | Programmable logic array integrated circuits |
| US5574655A (en) | 1991-10-30 | 1996-11-12 | Xilinx, Inc. | Method of allocating logic using general function components |
| US5513124A (en) | 1991-10-30 | 1996-04-30 | Xilinx, Inc. | Logic placement using positionally asymmetrical partitioning method |
| US5499192A (en) * | 1991-10-30 | 1996-03-12 | Xilinx, Inc. | Method for generating logic modules from a high level block diagram |
| US5553001A (en) * | 1991-10-30 | 1996-09-03 | Xilinx, Inc. | Method for optimizing resource allocation starting from a high level |
| US5422833A (en) * | 1991-10-30 | 1995-06-06 | Xilinx, Inc. | Method and system for propagating data type for circuit design from a high level block diagram |
| US5452227A (en) * | 1991-11-13 | 1995-09-19 | Westinghouse Elec. Corp. | Method and apparatus for converting a programmable logic device designed into a selectable target gate array design |
| JP2791243B2 (ja) * | 1992-03-13 | 1998-08-27 | 株式会社東芝 | 階層間同期化システムおよびこれを用いた大規模集積回路 |
| US5526517A (en) * | 1992-05-15 | 1996-06-11 | Lsi Logic Corporation | Concurrently operating design tools in an electronic computer aided design system |
| EP0964345A3 (en) * | 1992-08-26 | 2006-05-03 | Matsushita Electric Industrial Co., Ltd. | A function design device in an LSI automated design system |
| US5425036A (en) * | 1992-09-18 | 1995-06-13 | Quickturn Design Systems, Inc. | Method and apparatus for debugging reconfigurable emulation systems |
| US5473547A (en) * | 1992-10-26 | 1995-12-05 | Fujitsu Limited | Logic synthesizer for engineering changes |
| US5603043A (en) * | 1992-11-05 | 1997-02-11 | Giga Operations Corporation | System for compiling algorithmic language source code for implementation in programmable hardware |
| US5694578A (en) * | 1992-12-18 | 1997-12-02 | Silicon Graphics, Inc. | Computer-implemented method and apparatus for converting data according to a selected data transformation |
| US5617327A (en) * | 1993-07-30 | 1997-04-01 | Xilinx, Inc. | Method for entering state flow diagrams using schematic editor programs |
| US5436849A (en) * | 1993-02-09 | 1995-07-25 | International Business Machines Corporation | Incremental logic synthesis system for efficient revision of logic circuit designs |
| US5761079A (en) * | 1993-02-09 | 1998-06-02 | International Business Machines Corporation | Engineering change management system employing a smart editor |
| US5519633A (en) * | 1993-03-08 | 1996-05-21 | International Business Machines Corporation | Method and apparatus for the cross-sectional design of multi-layer printed circuit boards |
| US5519866A (en) * | 1993-06-28 | 1996-05-21 | Taligent, Inc. | Method and apparatus of incrementally linking components of a modeled computer program |
| US5504885A (en) * | 1993-06-29 | 1996-04-02 | Texas Instruments Incorporated | O-R gateway: a system for connecting object-oriented application programs and relational databases |
| JP3165765B2 (ja) * | 1993-09-20 | 2001-05-14 | 富士通株式会社 | Cad設計支援装置 |
| CA2126265A1 (en) | 1993-09-27 | 1995-03-28 | Michael Robert Cantone | System for synthesizing field programmable gate array implementations from high level circuit descriptions |
| US5640542A (en) | 1993-10-29 | 1997-06-17 | Intel Corporation | On-chip in-circuit-emulator memory mapping and breakpoint register modules |
| US5583759A (en) * | 1993-11-22 | 1996-12-10 | Huntington Bancshares, Inc. | Mechanism for expediting the deposit, transport and submission of checks into the payment system |
| US6038586A (en) * | 1993-12-30 | 2000-03-14 | Frye; Russell | Automated software updating and distribution |
| US5537295A (en) * | 1994-03-04 | 1996-07-16 | Altera Corporation | Universal reconfigurable printed circuit board |
| US5937190A (en) * | 1994-04-12 | 1999-08-10 | Synopsys, Inc. | Architecture and methods for a hardware description language source level analysis and debugging system |
| US5557533A (en) | 1994-04-19 | 1996-09-17 | Lsi Logic Corporation | Cell placement alteration apparatus for integrated circuit chip physical design automation system |
| US5644686A (en) * | 1994-04-29 | 1997-07-01 | International Business Machines Corporation | Expert system and method employing hierarchical knowledge base, and interactive multimedia/hypermedia applications |
| US5661660A (en) * | 1994-05-09 | 1997-08-26 | Xilinx, Inc. | Method for providing multiple function symbols |
| US5721912A (en) * | 1994-08-05 | 1998-02-24 | Data Integration Solutions Corp. | Graphical user interface for creating database integration specifications |
| US5604680A (en) * | 1994-08-15 | 1997-02-18 | Cadence Design Systems, Inc. | Virtual interface representation of hierarchical symbolic layouts |
| US5586304A (en) | 1994-09-08 | 1996-12-17 | Compaq Computer Corporation | Automatic computer upgrading |
| US5625565A (en) * | 1994-09-09 | 1997-04-29 | Cadence Design Systems, Inc. | System and method for generating a template for functional logic symbols |
| US5572712A (en) * | 1994-09-30 | 1996-11-05 | Vlsi Technology, Inc. | Method and apparatus for making integrated circuits with built-in self-test |
| US5592392A (en) * | 1994-11-22 | 1997-01-07 | Mentor Graphics Corporation | Integrated circuit design apparatus with extensible circuit elements |
| US5583749A (en) | 1994-11-30 | 1996-12-10 | Altera Corporation | Baseboard and daughtercard apparatus for reconfigurable computing systems |
| US5745748A (en) * | 1994-12-09 | 1998-04-28 | Sprint Communication Co. L.P. | System and method for direct accessing of remote data |
| US5629617A (en) | 1995-01-06 | 1997-05-13 | Hewlett-Packard Company | Multiplexing electronic test probe |
| JPH08212246A (ja) * | 1995-02-08 | 1996-08-20 | Hitachi Ltd | 論理生成方法 |
| US5600790A (en) * | 1995-02-10 | 1997-02-04 | Research In Motion Limited | Method and system for loading and confirming correct operation of an application program in a target system |
| US5699275A (en) * | 1995-04-12 | 1997-12-16 | Highwaymaster Communications, Inc. | System and method for remote patching of operating code located in a mobile unit |
| US5636133A (en) * | 1995-05-19 | 1997-06-03 | International Business Machines Corporation | Efficient generation of fill shapes for chips and packages |
| US5724251A (en) * | 1995-06-07 | 1998-03-03 | Advanced Micro Devices, Inc. | System and method for designing, fabricating and testing multiple cell test structures to validate a cell library |
| US5568437A (en) * | 1995-06-20 | 1996-10-22 | Vlsi Technology, Inc. | Built-in self test for integrated circuits having read/write memory |
| JP3163959B2 (ja) * | 1995-08-09 | 2001-05-08 | ヤマハ株式会社 | Lsi設計データのファイル変換方法及び装置 |
| JPH0962716A (ja) * | 1995-08-18 | 1997-03-07 | Sony Corp | 回路設計方法及び回路設計装置 |
| US5805861A (en) * | 1995-08-29 | 1998-09-08 | Unisys Corporation | Method of stabilizing component and net names of integrated circuits in electronic design automation systems |
| US5727187A (en) * | 1995-08-31 | 1998-03-10 | Unisys Corporation | Method of using logical names in post-synthesis electronic design automation systems |
| US5867396A (en) * | 1995-08-31 | 1999-02-02 | Xilinx, Inc. | Method and apparatus for making incremental changes to an integrated circuit design |
| US5790416A (en) * | 1995-09-18 | 1998-08-04 | Motorola, Inc. | Updating hierarchical DAG representations through a bottom up method |
| US5670895A (en) * | 1995-10-19 | 1997-09-23 | Altera Corporation | Routing connections for programmable logic array integrated circuits |
| US5608342A (en) | 1995-10-23 | 1997-03-04 | Xilinx, Inc. | Hierarchical programming of electrically configurable integrated circuits |
| US6014506A (en) * | 1995-10-31 | 2000-01-11 | Vlsi Technology, Inc. | Method and apparatus for improving engineering change order placement in integrated circuit designs |
| US5953236A (en) * | 1995-10-31 | 1999-09-14 | Vlsi Technology, Inc. | Method and apparatus for implementing engineering change orders in integrated circuit designs |
| US5712794A (en) * | 1995-11-03 | 1998-01-27 | Motorola, Inc. | Automated method for adding attributes indentified on a schematic diagram to an integrated circuit layout |
| US5909376A (en) | 1995-11-20 | 1999-06-01 | Lsi Logic Corporation | Physical design automation system and process for designing integrated circuit chips using highly parallel sieve optimization with multiple "jiggles" |
| US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
| US5717695A (en) | 1995-12-04 | 1998-02-10 | Silicon Graphics, Inc. | Output pin for selectively outputting one of a plurality of signals internal to a semiconductor chip according to a programmable register for diagnostics |
| US5724345A (en) * | 1995-12-13 | 1998-03-03 | Lucent Technologies Inc. | System and method for a scalable and reliable transmission of electronic software distribution |
| US5909545A (en) * | 1996-01-19 | 1999-06-01 | Tridia Corporation | Method and system for on demand downloading of module to enable remote control of an application program over a network |
| US5812847A (en) * | 1996-02-02 | 1998-09-22 | International Business Machines Corporation | Rule-based method for designing user interfaces for applications |
| US6020758A (en) * | 1996-03-11 | 2000-02-01 | Altera Corporation | Partially reconfigurable programmable logic device |
| US5764079A (en) * | 1996-03-11 | 1998-06-09 | Altera Corporation | Sample and load scheme for observability of internal nodes in a PLD |
| JP2869379B2 (ja) * | 1996-03-15 | 1999-03-10 | 三菱電機株式会社 | プロセッサ合成システム及びプロセッサ合成方法 |
| US5875112A (en) * | 1996-03-20 | 1999-02-23 | Altera Corporation | Methods for implementing circuit designs in physical circuits |
| US5673198A (en) | 1996-03-29 | 1997-09-30 | Xilinx, Inc. | Concurrent electronic circuit design and implementation |
| US6049671A (en) * | 1996-04-18 | 2000-04-11 | Microsoft Corporation | Method for identifying and obtaining computer software from a network computer |
| US5870410A (en) * | 1996-04-29 | 1999-02-09 | Altera Corporation | Diagnostic interface system for programmable logic system development |
| US5850348A (en) * | 1996-05-01 | 1998-12-15 | Viewlogic Systems, Inc. | Automated circuit design case management |
| US5825661A (en) * | 1996-05-01 | 1998-10-20 | International Business Machines Corporation | Method and apparatus for automatic post-layout optimization of an integrated circuit |
| US5821771A (en) * | 1996-05-21 | 1998-10-13 | Altera Corporation | Method and apparatus for monitoring or forcing an internal node in a programmable device |
| US5784636A (en) * | 1996-05-28 | 1998-07-21 | National Semiconductor Corporation | Reconfigurable computer architecture for use in signal processing applications |
| US5878225A (en) * | 1996-06-03 | 1999-03-02 | International Business Machines Corporation | Dual communication services interface for distributed transaction processing |
| US5790796A (en) * | 1996-06-14 | 1998-08-04 | Symantec Corporation | Polymorphic package files to update software components |
| US5819072A (en) * | 1996-06-27 | 1998-10-06 | Unisys Corporation | Method of using a four-state simulator for testing integrated circuit designs having variable timing constraints |
| US5831863A (en) * | 1996-06-28 | 1998-11-03 | Lsi Logic Corporation | Advanced modular cell placement system with wire length driven affinity system |
| US5809145A (en) * | 1996-06-28 | 1998-09-15 | Paradata Systems Inc. | System for distributing digital information |
| US5717699A (en) | 1996-07-18 | 1998-02-10 | Hewlett-Packard Company | Method and apparatus for accessing internal integrated circuit signals |
| US5812416A (en) * | 1996-07-18 | 1998-09-22 | Lsi Logic Corporation | Integrated circuit design decomposition |
| US5903475A (en) * | 1996-07-18 | 1999-05-11 | Lsi Logic Corporation | System simulation for testing integrated circuit models |
| US6067582A (en) * | 1996-08-13 | 2000-05-23 | Angel Secure Networks, Inc. | System for installing information related to a software application to a remote computer over a network |
| US5812561A (en) * | 1996-09-03 | 1998-09-22 | Motorola, Inc. | Scan based testing of an integrated circuit for compliance with timing specifications |
| GB2318664B (en) * | 1996-10-28 | 2000-08-23 | Altera Corp | Embedded logic analyzer for a programmable logic device |
| US5946219A (en) * | 1996-10-30 | 1999-08-31 | Atmel Corporation | Method and system for configuring an array of logic devices |
| US5826265A (en) * | 1996-12-06 | 1998-10-20 | International Business Machines Corporation | Data management system having shared libraries |
| US5960191A (en) | 1997-05-30 | 1999-09-28 | Quickturn Design Systems, Inc. | Emulation system with time-multiplexed interconnect |
| US6157210A (en) | 1997-10-16 | 2000-12-05 | Altera Corporation | Programmable logic device with circuitry for observing programmable logic circuit signals and for preloading programmable logic circuits |
| US6286114B1 (en) * | 1997-10-27 | 2001-09-04 | Altera Corporation | Enhanced embedded logic analyzer |
| US6247147B1 (en) * | 1997-10-27 | 2001-06-12 | Altera Corporation | Enhanced embedded logic analyzer |
| US6016563A (en) * | 1997-12-30 | 2000-01-18 | Fleisher; Evgeny G. | Method and apparatus for testing a logic design of a programmable logic device |
| US6052531A (en) * | 1998-03-25 | 2000-04-18 | Symantec Corporation | Multi-tiered incremental software updating |
-
1997
- 1997-10-27 GB GB9722675A patent/GB2318664B/en not_active Expired - Lifetime
- 1997-10-27 US US08/957,957 patent/US5983277A/en not_active Expired - Lifetime
- 1997-10-27 US US08/958,414 patent/US6205579B1/en not_active Expired - Lifetime
- 1997-10-27 US US08/958,432 patent/US6120550A/en not_active Expired - Lifetime
- 1997-10-27 US US08/958,778 patent/US6161211A/en not_active Expired - Lifetime
- 1997-10-27 US US08/958,798 patent/US6026226A/en not_active Expired - Lifetime
- 1997-10-27 US US08/958,435 patent/US6182247B1/en not_active Expired - Lifetime
- 1997-10-27 GB GB9722677A patent/GB2318665B/en not_active Expired - Fee Related
- 1997-10-27 JP JP9294547A patent/JPH10232891A/ja active Pending
- 1997-10-27 US US08/958,434 patent/US6110223A/en not_active Expired - Lifetime
- 1997-10-27 US US08/958,431 patent/US6317860B1/en not_active Expired - Lifetime
- 1997-10-27 JP JP9294546A patent/JPH10232890A/ja active Pending
- 1997-10-27 US US08/958,777 patent/US6311309B1/en not_active Expired - Lifetime
- 1997-10-27 GB GB9722680A patent/GB2321322B/en not_active Expired - Fee Related
- 1997-10-27 JP JP9294544A patent/JPH10222374A/ja active Pending
- 1997-10-27 US US08/958,002 patent/US6134705A/en not_active Expired - Lifetime
- 1997-10-27 US US08/958,436 patent/US6102964A/en not_active Expired - Lifetime
- 1997-10-27 US US08/958,626 patent/US6321369B1/en not_active Expired - Lifetime
-
1999
- 1999-08-26 US US09/383,479 patent/US6298319B1/en not_active Expired - Lifetime
-
2000
- 2000-07-06 US US09/610,787 patent/US6389558B1/en not_active Expired - Lifetime
- 2000-07-07 US US09/611,376 patent/US6588004B1/en not_active Expired - Lifetime
- 2000-08-15 US US09/639,657 patent/US6490717B1/en not_active Expired - Lifetime
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007172056A (ja) * | 2005-12-19 | 2007-07-05 | Toyota Motor Corp | 設計支援システム、設計支援方法及び設計支援プログラム |
| WO2009154045A1 (ja) * | 2008-06-20 | 2009-12-23 | コニカミノルタホールディングス株式会社 | 情報処理方法および情報処理装置 |
| JP4853573B2 (ja) * | 2008-06-20 | 2012-01-11 | コニカミノルタホールディングス株式会社 | 情報処理方法、情報処理装置およびプログラム |
| JP2018018462A (ja) * | 2016-07-29 | 2018-02-01 | 富士通株式会社 | 旅程編集処理プログラム |
| US10481926B2 (en) | 2016-11-30 | 2019-11-19 | Lsis Co., Ltd. | Apparatus for compiling script |
Also Published As
| Publication number | Publication date |
|---|---|
| US6182247B1 (en) | 2001-01-30 |
| US6026226A (en) | 2000-02-15 |
| GB2318664A (en) | 1998-04-29 |
| US6389558B1 (en) | 2002-05-14 |
| GB9722677D0 (en) | 1997-12-24 |
| US6161211A (en) | 2000-12-12 |
| US6102964A (en) | 2000-08-15 |
| US6205579B1 (en) | 2001-03-20 |
| JPH10232890A (ja) | 1998-09-02 |
| GB9722675D0 (en) | 1997-12-24 |
| US6317860B1 (en) | 2001-11-13 |
| GB2318665B (en) | 2000-06-28 |
| GB2318665A (en) | 1998-04-29 |
| JPH10222374A (ja) | 1998-08-21 |
| US6110223A (en) | 2000-08-29 |
| US6311309B1 (en) | 2001-10-30 |
| GB2321322B (en) | 2001-10-10 |
| US6588004B1 (en) | 2003-07-01 |
| US6120550A (en) | 2000-09-19 |
| GB9722680D0 (en) | 1997-12-24 |
| GB2321322A (en) | 1998-07-22 |
| US6321369B1 (en) | 2001-11-20 |
| US6298319B1 (en) | 2001-10-02 |
| US6490717B1 (en) | 2002-12-03 |
| US6134705A (en) | 2000-10-17 |
| GB2318664B (en) | 2000-08-23 |
| US5983277A (en) | 1999-11-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH10232891A (ja) | 電子設計自動化用ワークグループコンピューティング | |
| US6574788B1 (en) | Method and system for automatically generating low level program commands as dependency graphs from high level physical design stages | |
| US6339836B1 (en) | Automated design partitioning | |
| 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 | |
| US6026220A (en) | Method and apparatus for incremntally optimizing a circuit design | |
| US5111413A (en) | Computer-aided engineering | |
| US5831869A (en) | Method of compacting data representations of hierarchical logic designs used for static timing analysis | |
| US6817005B2 (en) | Modular design method and system for programmable logic devices | |
| US6292931B1 (en) | RTL analysis tool | |
| US5526277A (en) | ECAD system for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic descriptions thereof | |
| US6378123B1 (en) | Method of handling macro components in circuit design synthesis | |
| US6836877B1 (en) | Automatic synthesis script generation for synopsys design compiler | |
| US6173435B1 (en) | Internal clock handling in synthesis script | |
| US6295636B1 (en) | RTL analysis for improved logic synthesis | |
| NL192892C (nl) | Computer-ondersteund systeem voor het ontwerpen van geïntegreerde schakelingen. | |
| US6289498B1 (en) | VDHL/Verilog expertise and gate synthesis automation system | |
| US6263483B1 (en) | Method of accessing the generic netlist created by synopsys design compilier | |
| US5956256A (en) | Method and apparatus for optimizing a circuit design having multi-paths therein | |
| US5805861A (en) | Method of stabilizing component and net names of integrated circuits in electronic design automation systems | |
| US5864487A (en) | Method and apparatus for identifying gated clocks within a circuit design using a standard optimization tool | |
| US20020162086A1 (en) | RTL annotation tool for layout induced netlist changes | |
| US5436849A (en) | Incremental logic synthesis system for efficient revision of logic circuit designs | |
| US6289491B1 (en) | Netlist analysis tool by degree of conformity | |
| US5912819A (en) | Method for designing an architectural system | |
| US7111275B2 (en) | Electronic circuit design analysis system |