JPH04177470A - Logic circuit developing system - Google Patents

Logic circuit developing system

Info

Publication number
JPH04177470A
JPH04177470A JP2303415A JP30341590A JPH04177470A JP H04177470 A JPH04177470 A JP H04177470A JP 2303415 A JP2303415 A JP 2303415A JP 30341590 A JP30341590 A JP 30341590A JP H04177470 A JPH04177470 A JP H04177470A
Authority
JP
Japan
Prior art keywords
processing
circuit
compile
compilation
link
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2303415A
Other languages
Japanese (ja)
Inventor
Hitoshi Kurosaka
均 黒坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2303415A priority Critical patent/JPH04177470A/en
Publication of JPH04177470A publication Critical patent/JPH04177470A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To speed up processing by utilizing the fact that circuit developing processing can be separated to two processing of compilation and linkage when circuit description data is developed to the data structure of logic circuit information required for logic simulation. CONSTITUTION:A compilation scheduler 2 allocates circuit information to be compiled to compilation/linkage processors 7 by using a compilation/linkage execution processing information storage means 1. A linkage scheduler 3 also allocates the circuit information to be linked to the processors 7 by using the compilation/linkage execution storage means 1. Compilation and linkage information are rewritten by the compilation scheduler 2 and the linkage scheduler 3 via a bus 4. When a processor which performs the compilation and the linkage is allocated, the processing is executed by the compilation/linkage processor 7. When the processing is executed, memory 8 owned by every processor is used in the storage of data in a part in charge, and shared memory 6 is used in the storage of control information via a bus 5.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は論理回路展開方式、特に回路図などの回路記述
データを論理シミュレーションに必要となる論理回路情
報のデータ構造に展開するための論理回路展開方式に関
する。
[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to a logic circuit development method, particularly a logic circuit for developing circuit description data such as a circuit diagram into a data structure of logic circuit information required for logic simulation. Regarding the deployment method.

〔従来の技術〕[Conventional technology]

従来、この種の論理回路展開方式は、単一プロセッサで
論理回路を展開する方式と複数プロセッサで論理回路を
展開する方式とがある。
Conventionally, this type of logic circuit development method includes a method in which a logic circuit is developed using a single processor and a method in which a logic circuit is developed using multiple processors.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上述した従来の論理回路展開方式は、単一プロセッサで
論理回路を展開する場合には、回路情報が増大すると処
理速度がその分、低下するという問題がある。また、複
数プロセッサで論理回路を展開する場合には、特に処理
順序に工夫がないため、プロセッサ数に応じた処理速度
が得られないという問題がある。
The above-described conventional logic circuit development method has a problem in that when a single processor develops a logic circuit, as circuit information increases, the processing speed decreases accordingly. Furthermore, when a logic circuit is developed using a plurality of processors, there is a problem in that the processing speed cannot be achieved in accordance with the number of processors because there is no special consideration for the processing order.

〔課題を解決するための手段〕[Means to solve the problem]

本発明の論理回路展開方式は、回路図などの回路記述デ
ータを論理シミュレーションに必要となる論理回路情報
のデータ構造に展開するための論理回路展開方式におい
て、トリー状に展開した回路記述データのノードごとの
回路データにレベルを付して記憶するコンパイル・リン
ク実行情報記憶手段と、前記ノードごとの回路データの
コンパイル処理とリンク処理との処理状況を記憶するコ
ンパイル・リンク判定情報記憶手段と、複数のプロセッ
サのうちの空きのプロセッサを選定して下位レベルの前
記回路データからコンパイル処理を実行させ、実行に従
って前記処理状況の記憶を更新するコンパイルスケジュ
ーラと、このコンパイルスケジューラの制御によりコン
パイル処理が下位レベルから上位レベルに移行したとき
起動され、前記複数のプロセッサのうち空きのプロセッ
サを選定してコンパイルの終了した前記回路データのリ
ンク処理を実行させ、実行に従って前記処理状況の記憶
を更新するリンクスケジューラとを有することにより構
成される。
The logic circuit expansion method of the present invention is a logic circuit expansion method for expanding circuit description data such as a circuit diagram into a data structure of logic circuit information required for logic simulation. a compile/link execution information storage means for storing circuit data for each node with a level attached thereto; a compile/link judgment information storage means for storing processing status of circuit data compiling processing and linking processing for each node; a compile scheduler that selects an empty processor among the processors of the lower level circuit data and executes the compile process from the circuit data at the lower level, and updates the memory of the processing status according to the execution; a link scheduler that is activated when the computer moves to a higher level, selects an empty processor among the plurality of processors to execute link processing of the circuit data that has been compiled, and updates the memory of the processing status according to the execution; It is constituted by having.

以上の構成は回路展開処理がコンパイルとリンクとの二
つの処理に分けられることを利用し、それぞれを並列に
実行することにより処理を高速化できることによる。
The above configuration utilizes the fact that the circuit expansion process is divided into two processes, compiling and linking, and can speed up the processing by executing each process in parallel.

〔実施例〕〔Example〕

次に、本発明について図面を参照して説明する。 Next, the present invention will be explained with reference to the drawings.

第1図は本発明の一実施例の構成図である。コンパイル
スケジューラ2はコンパイル・リンク実行情報記憶手段
1を用い、コンパイルする回路情報をコンパイル・リン
ク処理プロセッサ7に割振る。リンクスケジューラ3も
またコンパイル・リンク実行情報記憶手段1を用い、リ
ンクする回路情報をプロセッサ7に割り振る。コンパイ
ルおよびリンク情報はバス4を通して、コンパイルスケ
ジューラ2、およびリンクスケジューラ3により書換え
られる。コンパイルおよびリンクするプロセッサが割振
られるとコンパイル・リンク処理プロセッサ7で処理実
行を行う。処理実行に際してプロセッサごとに所有して
いるメモリ8が分担部分のデータ記憶に使用され、制御
情報の記憶にバス5を介して共用メモリ6を使用して回
路情報の展開処理を行う。
FIG. 1 is a block diagram of an embodiment of the present invention. The compile scheduler 2 uses the compile/link execution information storage means 1 to allocate circuit information to be compiled to the compile/link processing processor 7. The link scheduler 3 also uses the compile/link execution information storage means 1 to allocate circuit information to be linked to the processor 7. Compilation and link information is rewritten via bus 4 by compile scheduler 2 and link scheduler 3. When a processor for compiling and linking is allocated, the compiling/linking processor 7 executes the processing. When processing is executed, the memory 8 owned by each processor is used to store data for the assigned portion, and the shared memory 6 is used via the bus 5 to store control information, and circuit information is expanded.

第2図(a)は回路情報の一例を示す図で、第2図(b
)は第2図(a)の回路情報をトリー状に展開したデー
タの形式を示す図である。第2図(b)の円(以下ノー
ドという)の右上の数字は階層の深さ(以下レベルとい
う)を示す情報で、コンパイルスケジューラ2およびリ
ンクスケジューラ3はこの数字を利用して実行順序を決
める。
Figure 2(a) is a diagram showing an example of circuit information, and Figure 2(b) is a diagram showing an example of circuit information.
) is a diagram showing a data format in which the circuit information of FIG. 2(a) is developed into a tree shape. The number at the top right of the circle (hereinafter referred to as node) in Figure 2(b) is information indicating the depth of the hierarchy (hereinafter referred to as level), and compile scheduler 2 and link scheduler 3 use this number to determine the execution order. .

第3図は各ノードごとに持っていて、第1図のコンパイ
ル・リンク実行情報記憶手段1の中に記憶されているコ
ンパイルおよびリンクの処理状況を判定するためのコン
パイル・リンク判定情報を示す図である。この情報はコ
ンパイル処理、またはリンク処理を行うノードを探す場
合に使われる。
FIG. 3 is a diagram showing compile/link determination information for determining the processing status of compilation and linking, which is held in each node and stored in the compile/link execution information storage means 1 of FIG. 1. It is. This information is used when searching for a node to perform compile or link processing.

第4図は第1図のコンパイル・リンク実行情報記憶手段
1の中に記憶されているコンパイルΦリンク処理プロセ
ッサ7の各プロセッサの使用状況を表わすデータを示す
図である。コンパイル、およびリンクを並列実行するた
めに空きの状態にあるプロセッサを見つける場合に利用
する。
FIG. 4 is a diagram showing data representing the usage status of each processor of the compile Φ link processing processor 7, which is stored in the compile/link execution information storage means 1 of FIG. 1. Used to find free processors for parallel execution of compilation and linking.

第5図(a)はコンパイルスケジューラ2の処理のフロ
ー図である。コンパイルスケジューラ2ではまず、各ノ
ードのコンパイル判定情報の終了フラグを見て、コンパ
イルが終了しているか調べる(ステップAI)。全ての
コンパイルが終了している場合は処理を終了する。まだ
コンパイルしていないノードが存在する場合は第2図(
b)で示した各ノードのレベルを見て、レベルの数字の
大きな順にノードを取出す(ステップA2)。取り出し
たノードがコンパイル処理を終了しているかを調べる(
ステップA3)。処理が終了している場合はステップA
1に戻る。処理が終了していない場合は第4図で示した
プロセッサの使用状況を示すデータを調べ空きプロセッ
サがある場合はこのプロセッサを割当て(ステップA4
)、プロセッサ使用状況を更新する(ステップA5)。
FIG. 5(a) is a flow diagram of the processing of the compile scheduler 2. The compilation scheduler 2 first checks the completion flag of the compilation determination information of each node to determine whether the compilation has been completed (step AI). If all compilations have been completed, the process ends. If there are nodes that have not been compiled yet, please refer to Figure 2 (
The level of each node shown in b) is checked, and nodes are extracted in descending order of level number (step A2). Check whether the extracted node has finished compilation processing (
Step A3). If the process has finished, step A
Return to 1. If the processing has not been completed, the data showing the usage status of the processor shown in FIG. 4 is checked, and if there is a free processor, this processor is allocated (step A4).
), the processor usage status is updated (step A5).

次に処理は二つに分かれ、並列に実行される。一つはス
テップAIに戻り、コンパイルが終了していないノード
を探す。もう一つはコンパイル実行処理へ進む(ステッ
プA6)。コンパイルが終了すると、コンパイルしたノ
ードのコンパイル判定情報を更新する(ステップA7)
。次に第2図(b)を参照して、コンパイル処理を終了
したノードの上位ノードのリンク判定情報にある下位ノ
ードのコンパイル終了状況を更新する(ステップA8)
。次にプロセッサ使用状況を更新する(ステップA9)
The process is then divided into two parts and executed in parallel. One is to return to step AI and search for nodes for which compilation has not been completed. The other step is to proceed to compile execution processing (step A6). When the compilation is completed, update the compilation judgment information of the compiled node (step A7)
. Next, referring to FIG. 2(b), update the compilation completion status of the lower node in the link determination information of the upper node of the node that has completed the compilation process (step A8).
. Next, update the processor usage status (step A9)
.

第5図(b)はリンクスケジューラ3の処理のフロー図
である。リンクスケジューラ3はコンパイルスケジュー
ラ2がステップA8の更新を行なうと直ちに起動されて
、まず、各ノードのリンク判定情報の終了フラグを見て
、リンクが終了しているか調べる(ステップBl)。全
てのリンクが終了している場合は処理を終了する。まだ
リンクしていないノードが存在する場合は第2図(b)
で示した各ノードのレベルを見て、レベルの大きな順に
ノードを取り出す(ステップB2)。取り出したノード
がリンク処理を終了しているかを調べる。また、下位の
ノードのコンパイル、リンク処理が終了していてリンク
可能かを調べる(ステップB3)。処理が終了している
場合はステップB1に戻る。処理が終了していない場合
は第4図で示したプロセッサの使用状況を示すデータを
調べ、空きプロセッサがある場合はこのプロセッサを割
当て(ステップB4)、プロセッサの使用状況を更新す
る(ステップB5)。次に処理は二つに分かれ、並列に
実行される。一つはステップB1に戻り、リンクが終了
していないノードを探す。もう一つはリンク実行処理へ
進む(ステップBS)。リンクが終了すると、リンクし
たノードのリンク判定情報を更新する(ステップB7)
FIG. 5(b) is a flow diagram of the processing of the link scheduler 3. The link scheduler 3 is activated immediately after the compilation scheduler 2 performs the update in step A8, and first checks the end flag of the link determination information of each node to determine whether the link has ended (step B1). If all links have been completed, the process ends. If there are nodes that have not yet been linked, please refer to Figure 2 (b).
Check the level of each node indicated by and extract the nodes in descending order of level (step B2). Check whether the extracted node has completed link processing. Also, it is checked whether the compiling and linking processes of the lower nodes have been completed and linkage is possible (step B3). If the processing has ended, the process returns to step B1. If the processing has not been completed, check the data indicating the processor usage shown in FIG. 4, and if there is a free processor, allocate this processor (step B4) and update the processor usage (step B5). . The process is then divided into two parts and executed in parallel. One is to return to step B1 and search for a node for which the link has not ended. The other step is to proceed to link execution processing (step BS). When the link ends, link determination information of the linked node is updated (step B7).
.

次に第2図(b)を参照してリンク処理を終了したノー
ドの上位ノードのリンク判定情報にある下位ノードのリ
ンク終了状況を更新する(ステップB8)。次にプロセ
ッサ使用状況を更新する(ステップB9)。
Next, referring to FIG. 2(b), the link termination status of the lower node in the link determination information of the upper node of the node that has completed the link processing is updated (step B8). Next, the processor usage status is updated (step B9).

第6図(a)はノードの出力端子側(以下後段のノード
という)への接続が単一ノードの場合のプロセッサへの
割付は方法を示す図である。単一ノードの場合は後段の
ノードを同一プロセッサに割振る。これは接続が密であ
るので違うプロセッサに割り振るとプロセッサ間の通信
が増大することを避けるためである。
FIG. 6(a) is a diagram showing a method of allocation to processors when a single node is connected to the output terminal side of a node (hereinafter referred to as a subsequent node). In the case of a single node, subsequent nodes are allocated to the same processor. This is to avoid increasing communication between processors when allocated to different processors since the connections are dense.

第6図(b)は後段のノードへの接続が複数のノードの
場合のプロセッサへの割付は方法を示す図である。複数
ノードの場合は後段の一つのノードは同一プロセッサに
割り振り、残りは別のプロセッサに割り振る。こうする
ことで、シミュレーション時に並列実行が可能となる。
FIG. 6(b) is a diagram showing a method for allocating processors when a plurality of nodes are connected to a subsequent node. In the case of multiple nodes, one node in the latter stage is allocated to the same processor, and the rest are allocated to different processors. This allows parallel execution during simulation.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明の論理回路展開方式は、一部
のリンク処理を全てのコンパイル処理が終了しない間に
並列実行できるため、処理が従来の方式に比べ高速に行
うことができるという効果がある。
As explained above, the logic circuit expansion method of the present invention has the effect that processing can be performed faster than conventional methods because some link processing can be executed in parallel before all compilation processing is completed. be.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の一実施例の構成図、第2図(a)は回
路情報の一例を示す図、第2図(b)は第2図(a)の
回路情報をトリー状のデータに展開したデータの形式を
示す図、第3図はコンパイル・リンク判定情報を示す図
、第4図はプロセッサの使用状況を表わすデータを示す
図、第5図(a)はコンパイルスケジューラの処理のフ
ロー図、第5図(b)はリンクスケジューラの処理のフ
ロー図、第6図(a)は後段の7−ドが単一の場合のプ
ロセッサへの割付は方法を示す図、第6図(b)は後段
のノードが複数の場合のプロセッサの割付は方法を示す
図である。 1・・・コンパイル・リンク実行情報記憶手段、2・・
・コンパイルスケジューラ、3・・・リンクスケンユ−
ラ、4.5・・・バス、6・・・共用メモリ、7・・・
コンパイル・リンク処理プロセッサ、8・・・メモリ。
FIG. 1 is a block diagram of an embodiment of the present invention, FIG. 2(a) is a diagram showing an example of circuit information, and FIG. 2(b) is a diagram showing the circuit information of FIG. 2(a) as tree-shaped data. 3 is a diagram showing the compile/link judgment information, FIG. 4 is a diagram showing data representing the usage status of the processor, and FIG. 5(a) is a diagram showing the processing of the compile scheduler. Flowchart, FIG. 5(b) is a flowchart of the processing of the link scheduler, FIG. 6(a) is a diagram showing the method of allocation to processors when there is a single 7-word in the subsequent stage, and FIG. b) is a diagram showing a method for allocating processors when there are a plurality of subsequent nodes. 1...Compile/link execution information storage means, 2...
・Compile scheduler, 3... Link scheduler
La, 4.5...Bus, 6...Shared memory, 7...
Compilation/link processing processor, 8...memory.

Claims (1)

【特許請求の範囲】[Claims] 回路図などの回路記述データを論理シミュレーションに
必要となる論理回路情報のデータ構造に展開するための
論理回路展開方式において、トリー状に展開した回路記
述データのノードごとの回路データにレベルを付して記
憶するコンパイル・リンク実行情報記憶手段と、前記ノ
ードごとの回路データのコンパイル処理とリンク処理と
の処理状況を記憶するコンパイル・リンク判定情報記憶
手段と、複数のプロセッサのうちの空きのプロセッサを
選定して下位レベルの前記回路データからコンパイル処
理を実行させ、実行に従って前記処理状況の記憶を更新
するコンパイルスケジューラと、このコンパイルスケジ
ューラの制御によりコンパイル処理が下位レベルから上
位レベルに移行したとき起動され、前記複数のプロセッ
サのうち空きのプロセッサを選定してコンパイルの終了
した前記回路データのリンク処理を実行させ、実行に従
って前記処理状況の記憶を更新するリンクスケジューラ
とを有することを特徴とする論理回路展開方式。
In the logic circuit expansion method for expanding circuit description data such as circuit diagrams into a data structure of logic circuit information required for logic simulation, a level is attached to the circuit data for each node of the circuit description data expanded in a tree shape. a compile/link execution information storage means for storing compile/link execution information for each node; a compile/link determination information storage means for storing the processing status of circuit data compilation processing and link processing for each node; a compile scheduler that selects and executes a compile process from the circuit data at a lower level and updates the memory of the process status according to the execution; and a compile scheduler that is activated when the compile process moves from the lower level to the upper level under the control of this compile scheduler. , a link scheduler that selects an empty processor among the plurality of processors to execute link processing of the circuit data that has been compiled, and updates the memory of the processing status according to the execution. Deployment method.
JP2303415A 1990-11-08 1990-11-08 Logic circuit developing system Pending JPH04177470A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2303415A JPH04177470A (en) 1990-11-08 1990-11-08 Logic circuit developing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2303415A JPH04177470A (en) 1990-11-08 1990-11-08 Logic circuit developing system

Publications (1)

Publication Number Publication Date
JPH04177470A true JPH04177470A (en) 1992-06-24

Family

ID=17920747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2303415A Pending JPH04177470A (en) 1990-11-08 1990-11-08 Logic circuit developing system

Country Status (1)

Country Link
JP (1) JPH04177470A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007144940A1 (en) * 2006-06-13 2007-12-21 Fujitsu Limited Hdl processing method, program, and computer-readable storage medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007144940A1 (en) * 2006-06-13 2007-12-21 Fujitsu Limited Hdl processing method, program, and computer-readable storage medium
JPWO2007144940A1 (en) * 2006-06-13 2009-10-29 富士通株式会社 HDL processing method, program, and computer-readable storage medium
JP4682245B2 (en) * 2006-06-13 2011-05-11 富士通株式会社 HDL processing method, program, and computer-readable storage medium
US8024681B2 (en) 2006-06-13 2011-09-20 Fujitsu Limited Hierarchical HDL processing method and non-transitory computer-readable storage medium

Similar Documents

Publication Publication Date Title
US8464217B2 (en) Object-oriented support for dynamic assignment of parallel computing resources
CN106709704B (en) Intelligent contract upgrading method based on license chain
CN108614726B (en) Virtual machine creation method and device
US5768594A (en) Methods and means for scheduling parallel processors
US7146300B2 (en) Method of co-simulating a digital circuit
US8904347B2 (en) Apparatus, method and system for building software by composition
US20140130021A1 (en) System and method for translating program functions for correct handling of local-scope variables and computing system incorporating the same
WO2004053689A2 (en) A virtual machine for network processors
Lucco Parallel programming in a virtual object space
US7197600B2 (en) Transferring data along with code for program overlays
CN111666210A (en) Chip verification method and device
WO2024065867A1 (en) Memory optimization method and apparatus used for neural network compilation
US20020062478A1 (en) Compiler for compiling source programs in an object-oriented programming language
CN117034821B (en) Regression verification method and medium for chip design front-end simulation verification
JPH04177470A (en) Logic circuit developing system
Ishimura et al. Aspect-Oriented Programming based building block platform to construct Domain-Specific Language for HPC application
EP0598476B1 (en) Compilation mechanism for a simulation model
Gottlieb PLUS: a PL/I Based Ultracomputer Simulator, I.
CN113626005A (en) Block chain basic contract development and deployment method, equipment and storage medium
CN116303154B (en) Base address register resource allocation method and medium for data processing unit
EP1306757A2 (en) Transferring data along with code for program overlays
Bogle Efficient Distributed Graph Algorithms for High Performance Computing Contexts
EP0592076B1 (en) Compilation mechanism for a simulation model
JP2842571B2 (en) Procedure call method
CN117851505A (en) Block slicing method and device