JPH0561936A - 論理回路の階層展開方法 - Google Patents

論理回路の階層展開方法

Info

Publication number
JPH0561936A
JPH0561936A JP3221635A JP22163591A JPH0561936A JP H0561936 A JPH0561936 A JP H0561936A JP 3221635 A JP3221635 A JP 3221635A JP 22163591 A JP22163591 A JP 22163591A JP H0561936 A JPH0561936 A JP H0561936A
Authority
JP
Japan
Prior art keywords
hierarchy
procedure
block
name
connection information
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
JP3221635A
Other languages
English (en)
Inventor
Sumio Oguri
澄男 小栗
Tetsuya Okumoto
哲也 奥本
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP3221635A priority Critical patent/JPH0561936A/ja
Publication of JPH0561936A publication Critical patent/JPH0561936A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 階層設計された論理回路の階層展開に要する
時間を短縮する。 【構成】 各階層の内部構造を表す接続情報を外部記憶
から主記憶上に順次読み出し(S81)、接続情報を読み
出す都度、各接続情報に対して、階層展開手順を主記憶
上に設定し(S82) 、接続情報が下位階層を持たない場
合はそのレコードをそのまま出力する手順を主記憶上に
設定し(S83)、一方、下位階層を持つ場合は下位階層
へ制御を移す手順を設定する(S84)。処理対象の全階
層に対して、ステップ81〜ステップ84を行った後、最上
位階層に対応する階層展開手順に制御を移行して階層展
開を実行する(S85)。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、階層設計された論理回
路を階層展開する方法に関する。
【0002】
【従来の技術】図1乃至図3は3階層に設計された論理
回路の回路図及び各回路図の接続情報を示す図であっ
て、図1は最上位階層の回路図、図2は図1におけるブ
ロックAの内部構造を示す回路図、図3は図2における
ブロックBの内部構造を示す回路図である。
【0003】図1乃至図3に示す各回路図の下部には、
この論理回路の構造を表現する接続記述の一例を示す。
CAD装置では、このように記述された接続情報を用い
て図1乃至図3に示す論理回路に対する論理シミュレー
ション,配置配線等の処理を行う。
【0004】この記述例は、1行に1ゲート又は1ブロ
ックの接続を記述し、各行は先頭からゲート又はブロッ
クの名前、その型名、入力信号線数、出力信号線数、入
力信号線名、出力信号線名の順に記述するという記述規
則に則っている。
【0005】階層設計された論理回路に対して論理シミ
ュレータ,タイミング検証プログラム,配置配線プログ
ラム等のCADプログラムを適用する際、その構造を最
下位階層まで展開しなければならない場合がある。
【0006】図4は、階層設計された論理回路を階層展
開する従来方法の手順を示すフローチャートである。な
お、階層設計された論理回路の接続情報は記憶容量が大
きい外部記憶に格納されており、外部記憶に格納されて
ある各素子の接続情報を主記憶に読み出して階層展開を
行うが、途中の処理結果は一時的にFIFO(First In
First Out)バッファに保持される。
【0007】まず、FIFOバッファを初期化して空に
する(S101 )。FIFOバッファが空であるか否かを
調べ(S102 )、FIFOバッファが空の場合、未処理
の素子が外部記憶に残っているか否かを調べる(S103
)。未処理の素子が外部記憶に残っている場合、素子
のレコードを外部記憶から読み込む(S104 )。
【0008】ステップ102 の結果、処理すべきレコード
がFIFOバッファに保持されている場合、FIFOバ
ッファから1レコードをPOPする(S105 )。
【0009】ステップ104 又は105 の結果、処理すべき
レコードが得られると、そのレコードが表す型が最下位
階層の素子であるか、又は下位階層を持つブロックであ
るかを調べ(S106 )、最下位階層の素子である場合、
得られたレコードをそのまま外部ファイルへ出力する
(S107 )。
【0010】ステップ106 の結果、下位階層を持つブロ
ックである場合、外部記憶にアクセスして該当ブロック
の構造データのレコードを検索して主記憶に読み込む
(S108 )。読み込んだ各レコードに対して、ブロック
外と接続されている信号線には外部の信号線名を付し、
ブロック内の信号線には、上位階層のブロック名・信号
線名として使用許可されていない文字・内部信号線名の
3個を連接して作ったユニークな信号線名を付し、ブロ
ック内のゲート又はブロックには、上位階層のブロック
名・ゲート又はブロックの名前として使用許可されてい
ない文字・ブロック内での名前の3個を連接して作った
ユニークな名前を付して接続情報を変換し(S109 )、
変換結果をFIFOバッファへPUSHする(S110
)。
【0011】以上の処理を、外部記憶に未処理の素子が
なくなるSTOP条件になるまで繰り返して階層展開が
完了する。
【0012】
【発明が解決しようとする課題】以上のような従来の階
層展開方法では、下位階層を持つブロックを階層展開す
る都度、低速の外部記憶にアクセスして該当ブロックの
構造データを検索しなければならないので階層展開に長
時間を要するという問題があった。
【0013】本発明はこのような問題点を解決するため
になされたものであって、展開対象の全構造データを予
め高速の記憶装置に読み出し、読み出した構造データか
ら展開データを得る手順を設定した後に階層展開するこ
とにより、短時間で階層展開できる方法の提供を目的と
する。
【0014】
【課題を解決するための手段】本発明に係る階層展開方
法は、展開対象の全構造データをより高速の記憶装置に
予め読み出しておくとともに、読み出した構造データの
うち、展開されるべき構造データの下位階層の構造デー
タを上位の階層の構造データと結合することにより、展
開後に他の階層の構造データと識別可能な構造データに
変換する手順を設定した後、読み出しておいた構造デー
タ及び設定しておいた手順を用いて階層展開することを
特徴とする。
【0015】
【作用】本発明に係る階層展開方法は、階層展開する前
に、展開対象となる階層の全構造データをより高速な記
憶装置へ読み出しておくとともに、読み出した構造デー
タのうち、展開すべき構造データから参照される下位階
層の構造データを上位階層の構造データと結合して展開
構造データに変換する構造データ専用の階層展開手順を
設定しておき、その後、読み出しておいた構造データを
用いて各構造データ対応で設定している階層展開手順を
実行することにより階層展開する。
【0016】
【実施例】以下、本発明をその実施例を示す図面に基づ
いて説明する。図5及び図6は、本発明に係る階層展開
方法の一実施例の手順を示すフローチャートである。
【0017】処理対象の階層を1つ選択し(S1)、処
理対象の階層のブロック名と、この階層に割り当てられ
た主記憶上のエントリアドレスとを対応付けて登録する
(S2)。
【0018】処理対象の階層の内部構造を表すゲート又
はブロックのレコードを外部記憶から得る(S3)。処
理対象の階層が最上位の階層か否かを調べ(S4)、最
上位の階層の場合、主記憶上にゲート名又はブロック名
を配置し、書き込んだゲート名又はブロック名の先頭ア
ドレスを記憶する(S5)。このゲート又はブロックに
接続される全信号線名を主記憶上に配置し、これら信号
線名群のそれぞれの先頭アドレスを記憶する(S6)。
【0019】ステップ4の結果、処理対象の階層が最上
位でない場合、処理対象のブロックがその上位階層から
参照された時に行うべき階層展開手順を主記憶上に設定
する(後述する処理S)(S7)。
【0020】読み込まれたゲート又はブロックのレコー
ドに下位階層があるか否かを調べ(S8)、下位階層が
ある場合、主記憶に予め記憶されているゲート名及び信
号線名を外部ファイルへそのまま出力する手順を主記憶
上に設定する(S9)。
【0021】ステップ8の結果、下位階層がある場合、
レコード中のブロック名の先頭アドレスと、接続されて
いる信号線群の名前の先頭アドレス群とを引数として下
の階層ブロックへ制御を渡す呼び出し手順を主記憶上に
設定する(S10)。
【0022】その際、下の階層のデータが既に主記憶に
書き込まれてエントリアドレスが割り当てられていると
は限らないので、下位の階層ブロックの名前を用いた一
時的な呼び出し手順を設定する。未処理素子が残ってい
るか否かを調べ(S11)、ステップ3〜ステップ10の処
理を全レコードに対して繰り返す。
【0023】次に、未処理の階層データが残っているか
否かを調べ(S12)、全階層に対してステップ1〜ステ
ップ10の処理を繰り返し、全階層データの主記憶への配
置を完了する。
【0024】主記憶上の配置が完了した後、名前参照に
よる下位階層の呼び出し手順を、主記憶に配置された手
順のエントリアドレス参照の呼び出し手順に変更する
(S13)。
【0025】以上で階層展開の準備が完了する。最後
に、最上位の階層展開手順に制御を移すことによって階
層展開を実行する(S14)。
【0026】図7は、前述の階層展開手順を主記憶上に
設定する処理Sの手順を示すフローチャートである。ブ
ロックが呼び出された時に、1段上位の階層からゲート
又はブロックの名前を受け取り記憶する手順を主記憶上
に設定する(S71)。ブロックが呼び出された時に、こ
のブロックに接続される信号線群の信号線名群を1段上
位の階層から受け取り記憶する手順を主記憶上に設定す
る(S72)。
【0027】ブロック内のゲート又はブロックに対し、
上位階層のブロック名・ブロック名として使用が許可さ
れていない文字・ブロック内でのゲート又はブロックの
名前の3つを連接したユニークな名前を作り、この名前
を記憶する手順を主記憶上に設定する(S73)。
【0028】ブロック外と接続される信号線に対し、1
段上位の階層から受け取った信号線名をその信号線名と
する手順を主記憶上に設定する(S74)。
【0029】ブロック内の信号線に対し、上位ブロック
の名前・信号線名として使用が許可されていない文字・
ブロック内での信号線名の3つを連接したユニークな名
前を作り、この名前を記憶する手順を主記憶上に設定す
る(S75)。以上で階層展開手順の主記憶上への設定
(処理S)が完了する。
【0030】図8は、本発明に係る階層展開方法の概略
を示すフローチャートである。即ち、各階層の内部構造
を表す接続情報を外部記憶から主記憶上に順次読み出し
(S81)、接続情報を読み出す都度、各接続情報に対し
て、階層展開手順を主記憶上に設定し(S82) 、接続情
報が下位階層を持たない場合はそのレコードをそのまま
出力する手順を主記憶上に設定し(S83)、一方、下位
階層を持つ場合は下位階層へ制御を移す手順を設定する
(S84)。処理対象の全階層に対して、ステップ81〜ス
テップ84を行った後、最上位階層に対応する階層展開手
順に制御を移行して階層展開を実行する(S85)。
【0031】次に、全階層の階層展開手順が主記憶上に
配置された後で、一部階層の内部構造に変更が加えられ
るなどして、階層展開手順を更新する場合について図9
及び図10に示すフローチャートに基づいて説明する。
【0032】更新する階層を1つ選択し(S20)、この
階層の古い階層展開手順を廃棄し、使用していた主記憶
を開放する(S21)。処理対象の階層のブロック名と、
この階層に割り当てられた主記憶上のエントリアドレス
とを対応付けて登録する(S2)。以下、ステップ3〜
ステップ11までは、前述の新規作成時の手順と同様であ
るので説明を省略する。
【0033】主記憶上に階層展開手順を配置した後、こ
の階層を参照する上位階層の呼び出し手順を、新しいエ
ントリアドレスに置き換える(S22)。更新すべき階層
が残っているか否かを調べ(S23)、更新対象の全階層
に対して上述の処理を繰り返す。
【0034】更新対象の全階層に対する処理が完了した
後、最上位の階層展開手順に制御を移すことによって階
層展開を実行する(S14)。
【0035】なお、上記実施例では主記憶上に直接階層
展開手順を設定する場合について説明したが、ソースコ
ードで作成されたモジュールをコンパイルしてオブジェ
クトコードを得て、これらを結合編集して実行可能なロ
ードモジュールを得るコンピュータシステムにおける階
層展開方法の手順を図11及び図12に示すフローチャート
に基づいて説明する。
【0036】なお、ステップ1〜ステップ6までは前述
の手順と同様であるので説明を省略する。ステップ4の
結果、処理対象の階層が最上位でない場合、処理対象の
ブロックがその上位階層から参照された時に行うべき階
層展開手順のソースコードを出力する(後述する処理
P)(S30)。
【0037】読み込まれたゲート又はブロックのレコー
ドに下位階層があるか否かを調べ(S8)、下位階層が
ある場合、主記憶に予め記憶されているゲート名及び信
号線名を外部ファイルへそのまま出力する手順のソース
コードを出力する(S31)。
【0038】ステップ8の結果、下位階層がある場合、
レコード中のブロック名の先頭アドレスと、接続されて
いる信号線群の名前の先頭アドレス群とを引数として下
の階層ブロックへ制御を渡す呼び出し手順のソースコー
ドを出力する(S32)。以上を各階層の全レコード及び
全階層に対して繰り返す。
【0039】ステップ30, 31及び32で出力されたソース
コードをコンパイルし、階層毎にオブジェクトコードを
得てこれらを結合編集し、実行可能なロードモジュール
を得る(S33)。
【0040】以上で階層展開の準備が完了する。最後
に、ロードモジュールを実行して階層展開する(S3
4)。
【0041】図13は、前述の階層展開手順のソースコー
ドを出力する処理Pの手順を示すフローチャートであ
る。ブロックが呼び出された時に、1段上位の階層から
ゲート又はブロックの名前を受け取り記憶するソースコ
ードを出力する(S301 )。ブロックが呼び出された時
に、このブロックに接続される信号線群の信号線名群を
1段上位の階層から受け取り記憶するソースコードを出
力する(S302 )。
【0042】ブロック内のゲート又はブロックに対し、
上位階層のブロック名・ブロック名として使用が許可さ
れていない文字・ブロック内でのゲート又はブロックの
名前の3つを連接したユニークな名前を作り、この名前
を記憶するソースコードを出力する(S303 )。
【0043】ブロック外と接続される信号線に対し、1
段上位の階層から受け取った信号線名をその信号線名と
するソースコードを出力する(S304 )。
【0044】ブロック内の信号線に対し、上位ブロック
の名前・信号線名として使用が許可されていない文字・
ブロック内での信号線名の3つを連接したユニークな名
前を作り、この名前を記憶するソースコードを出力する
(S305 )。以上で階層展開手順のソースコード出力
(処理P)が完了する。
【0045】以上は階層データが新規作成された場合に
ついて説明したが、全階層の階層展開手順が主記憶上に
配置された後で、一部階層の内部構造に変更が加えられ
るなどして、階層展開手順を更新する場合について図14
及び図15に示すフローチャートに基づいて説明する。
【0046】更新する階層を1つ選択する(S20)。以
下、ステップ3〜6,30, 8,31,32及び11は前述の新
規作成時の手順と同様であるので説明を省略する。
【0047】以上の処理が1つの階層の全レコードに対
して行われた後、出力されたソースコードをコンパイル
してオブジェクトコードを得る(S40)。以上を更新対
象の全階層に対して行い、その結果得られた新しいオブ
ジェクトコードと更新対象外のオブジェクトコードとを
結合編集してロードモジュールを得る(S41)。作成さ
れたロードモジュールを実行して階層展開する(S3
4)。
【0048】図16乃至18は、上述の方法において出力さ
れた図1乃至3の構造データにそれぞれ対応するC言語
によるプログラムのソースコードを示す図である。
【0049】
【発明の効果】以上のように、本発明に係る階層展開方
法は、展開対象となる全構造データをより高速の記憶装
置に読み出しておき、各構造データ対応の階層展開手順
を設定した後、これらを用いて階層展開するので展開に
要する時間が大幅に短縮できるという優れた効果を奏す
る。
【図面の簡単な説明】
【図1】論理回路の接続情報の記述例を示す図である。
【図2】論理回路の接続情報の記述例を示す図である。
【図3】論理回路の接続情報の記述例を示す図である。
【図4】従来の階層展開方法の手順を示すフローチャー
トである。
【図5】本発明に係る階層展開方法の一実施例の手順を
示すフローチャートである。
【図6】本発明に係る階層展開方法の一実施例の手順を
示すフローチャートである。
【図7】本発明に係る階層展開方法の一実施例の一部手
順を示すフローチャートである。
【図8】本発明に係る階層展開方法の概略を示すフロー
チャートである。
【図9】本発明に係る階層展開方法の一実施例の更新手
順を示すフローチャートである。
【図10】本発明に係る階層展開方法の一実施例の更新
手順を示すフローチャートである。
【図11】本発明に係る階層展開方法の他の実施例手順
を示すフローチャートである。
【図12】本発明に係る階層展開方法の他の実施例手順
を示すフローチャートである。
【図13】本発明に係る階層展開方法の他の実施例の一
部手順を示すフローチャートである。
【図14】本発明に係る階層展開方法の他の実施例の更
新手順を示すフローチャートである。
【図15】本発明に係る階層展開方法の他の実施例の更
新手順を示すフローチャートである。
【図16】本発明に係る階層展開方法の他の実施例手順
のプログラム例である。
【図17】本発明に係る階層展開方法の他の実施例手順
のプログラム例である。
【図18】本発明に係る階層展開方法の他の実施例手順
のプログラム例である。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年1月31日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】図16
【補正方法】変更
【補正内容】
【図16】

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 階層設計された論理回路の構造を表す構
    造データを第1の記憶装置から該第1の記憶装置より高
    速な第2の記憶装置に読み出して論理回路を階層展開す
    る方法において、展開対象の全構造データを第1の記憶
    装置から第2の記憶装置に読み出しておくとともに、読
    み出した構造データのうち、展開されるべき構造データ
    の下位階層の構造データを上位階層の構造データと結合
    して展開データに変換する手順を設定しておき、第2の
    記憶装置に読み出している構造データ及び設定しておい
    た手順を用いて階層展開することを特徴とする論理回路
    の階層展開方法。
JP3221635A 1991-09-02 1991-09-02 論理回路の階層展開方法 Pending JPH0561936A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3221635A JPH0561936A (ja) 1991-09-02 1991-09-02 論理回路の階層展開方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3221635A JPH0561936A (ja) 1991-09-02 1991-09-02 論理回路の階層展開方法

Publications (1)

Publication Number Publication Date
JPH0561936A true JPH0561936A (ja) 1993-03-12

Family

ID=16769865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3221635A Pending JPH0561936A (ja) 1991-09-02 1991-09-02 論理回路の階層展開方法

Country Status (1)

Country Link
JP (1) JPH0561936A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771992B1 (en) 1998-07-03 2004-08-03 Fujitsu Limited Portable telephone

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771992B1 (en) 1998-07-03 2004-08-03 Fujitsu Limited Portable telephone

Similar Documents

Publication Publication Date Title
US5212650A (en) Procedure and data structure for synthesis and transformation of logic circuit designs
US5175696A (en) Rule structure in a procedure for synthesis of logic circuits
JPH0452856A (ja) 文書処理装置
JP3163959B2 (ja) Lsi設計データのファイル変換方法及び装置
JPH0561936A (ja) 論理回路の階層展開方法
JPH04360246A (ja) ファイル圧縮装置
US5245549A (en) Gate addressing system for logic simulation machine
JP2653403B2 (ja) 半導体装置の製造方法
JP3102222B2 (ja) 知識獲得方法及びその実施装置
JP2705549B2 (ja) 集積回路設計データ変換装置およびそのデータの階層展開方法
JP2002032427A (ja) Lsiの接続検証装置、接続検証方法および接続検証プログラムを記録した媒体
JP3199036B2 (ja) I/o部分回路自動生成システム及びその方法ならびにi/o部分回路自動生成プログラムを格納した記憶媒体
JPH05225012A (ja) データ列変換復元方法
CN114064654A (zh) 集成电路的逻辑关系系统的建立方法及查询方法
JP2835082B2 (ja) 論理回路合成装置
JP2001282864A (ja) 機能ブロック修正方法
JP3491618B2 (ja) 集積回路のネットリスト生成方式及びプログラム
JPS63153673A (ja) 論理回路構造の自動合成の手順およびデータベース構造
JPH09251483A (ja) セルライブラリ作成方法
JPS6019258A (ja) 記憶装置
CN116028113A (zh) 一种新版设计器兼容旧版流程的方法、系统、设备及介质
JPS63153675A (ja) 論理回路設計の合成手順におけるデータベース構造アクセス方法
JPH0281178A (ja) Cadライブラリ管理方法
JPH09153072A (ja) 回路データ検証方法
JPH0520396A (ja) 回路データ接続追跡システム