JPS61120976A - 論理回路シミユレ−シヨン方法 - Google Patents

論理回路シミユレ−シヨン方法

Info

Publication number
JPS61120976A
JPS61120976A JP59242324A JP24232484A JPS61120976A JP S61120976 A JPS61120976 A JP S61120976A JP 59242324 A JP59242324 A JP 59242324A JP 24232484 A JP24232484 A JP 24232484A JP S61120976 A JPS61120976 A JP S61120976A
Authority
JP
Japan
Prior art keywords
boolean
signal value
operators
expression
computed
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
JP59242324A
Other languages
English (en)
Inventor
Masayuki Miyoshi
三善 正之
Yoshiharu Kazama
風間 芳春
Osamu Tada
修 多田
Yasuo Nagura
康夫 名倉
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.)
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
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 Hitachi Ltd, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP59242324A priority Critical patent/JPS61120976A/ja
Publication of JPS61120976A publication Critical patent/JPS61120976A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はディジタル論理装置の論理回路シミュレーショ
ン方法に関する。
〔発明の背景〕
ブール式等の演算式の表現方法には、ボーランド記法が
一般に使用される(例えば「共立総合コンピュータ辞典
」第2版、2.2.5中間言語への翻訳参照)。これに
よる従来の論理回路シミュレーション方法を第8図及び
第9図により説明する。
第8図に示すように0例えばa+b*c*d*e*f+
g*hのブール式を演算子と被演算子の組の列として、
ボーランド話法で表現する。その際、被演算子について
は、信号値格納領域のエン−トリを表す値を入れておく
。論理の結線情報としては、第9図に示した様に、ファ
ンアウト先の演算式を記述しているエリアのアドレス9
01と。
ファンアウト先の信号値格納領域内で、この演算式の出
力値903が占める位置902が必要になる。第9図の
場合、ファンアウト先の信号値格納領域で信号値903
が1番目に格納されているので、信号値占有位置902
の値は1となる。
しかし、この従来方法によれば、ブール式を表現する際
、信号値格納領域のエントリを変数の数だけ必要とする
ため、論理モデルを形成するのに必要なメモリ量が大き
いという欠点があった。
〔発明の目的〕
本発明の目的は、ブール式で表現された論理回路を論理
シミュレーションする際に必要となる汎用コンピュータ
上のメモリ領域を小さくすることにある。
〔発明の概要〕
本発明はブール式を、ブール式の種llIを表す「ブー
ル関数コード]と、変数の配置状態を表す「項割付コー
ド」のみで表現することにある6取り扱い可能なブール
式を[変数が単一演算子で結合されているところの論理
式(これを項という)が、別の単一演算子で結合されて
いるという形を持つブール式」に限定する。ブール関数
コードは。
項内の単一演算子と項同志間を結合している演算子との
組合せを表す。
〔発明の実施例〕 第1図は本発明によるブール式と項割付コードと信号値
格納領域の関係を示す。3値、4値の信号値を扱うシミ
ュレータでは、2ビツトで1個の信号値を表現できるた
め、1バイト(8ビツト)には、4個の信号値を格納で
きる。そこで、n個の変数で構成されている項に対応す
る信号値格納領域を↑n / 4↑バイトとする。ここ
で↑↑は少数意思下切り上げを表す。この際、第1図の
101の様に、余りビットは項内の単一演算子の種類に
よってrr 1 rl又はrl Orlで埋めておく。
例えば、AND(7)場合は”1”、OR,FOR(7
)場合はII O4′を埋める。項割付コードは第1図
に示す様に、各1ビツトが信号値格納領域の1バイトに
対応している。項割付コードのあるビットが“0″なら
ば、対応する領域が項の信号値格納領域の最後であるこ
とを示し 111 IIならば対応する領域が項の信号
値格納領域の途中であり1次に続く信号値格納領域内の
信号値と同じ項を構成することを示す。
初め、ブール式によりブール関数コード、項割付コード
、信号値格納領域を生成する方法を説明する。第6図は
そのフローチャートを示す。ここで、ブール式の例は、
第2図に示すブール式を用いるとする。
(1)まず最初にブール式を2分木に変換する(601
)。第3図に変換後の2分木を示す。2分木に変換する
方法は、例えば先の「共立総合コンピュータ辞典」第2
版、2.2.4記号表。
2.2.5中間言語への翻訳に記載されている。
2分木中より2額類の演算子301.302を取り出し
、下位にある演算子を項内の演算子とする。この場合、
′*″がそれにあたる。逆にII + ′1が項と項を
結合する演算子となる。今後。
項内の演算子を下位演算子、項と項を結合する演算子を
上位演算子と呼ぶ。
(2)上位演算子に直接つながる下位演算子、又は被演
算子を節とする(602)。ここで各節が項を代表して
いることになる。第3図の2分木では、被演算子303
.演算子302.304の3つが節となる。
(3)上位演算子、下位演算子の種類より、第4図(A
)のブール関数コード一覧表を参照し・てブール関数コ
ードを決める(602)。第2図のブール式の場合、上
位演算子がパ+(OR)”。
下位演算子が’* (AND)”なので、ブール関数コ
ードはrlJとなる。
(4)  (2)で抽出した節の下位にある被演算子の
数を数える(603)。第2図のブール式の場合の例を
第4図(B)に示す。
(5)  (4)で求めた各節の被演算子数より、各項
の゛信号値格納メモリ領域量を次式により求める(60
3)。
メモリ領域量=((被演算子の数−1)/4)+1第2
図のブール式の場合の結果を第4図(C)に示す。
(6)各節に対応する項割付コードを、以下の条件によ
り決定する(604,605)。
イ、各節の項割付コードの長さは、(メモリ領。
減量)ビットとする。
口、右端のビットをtr OIIとし、その他を″ビ′
とする。
上記の条件に従って決定した項割付コードを第4図(D
)に示す。
(7)  (5)で求めたメモリ領域量より、各節に含
まれる被演算子の信号値が信号値格納領域の何バイト目
から格納されるかを、以下の式を用いて求める(606
)。
(I≧2) P(I):I番目の節に含まれる信号値の格納が始まる
バイト位置 A(I):I番目の節の信号値格納メモリ領減量上記の
式を使って各節の信号値格納開始バイトを求めた結果を
第4図(E)に示す。
(8)各被演算子の信号値格納領域内で占める位置を下
記の式により求める(607)。この場合の位置とは、
信号値格納メモリ領域の先頭から2ヒツトを1嗅位とし
て数えた位置である。
B=4XP+C B:信号値の位置 P:該被演算子を含んでいる節の信号値格納開始バイト
位置 C:該被演算子の節円での出現順序 上記の式で求めた各被演算子の信号値の占有位置を第4
図(F)に示す。第4図(F)は2ビツトを1単位とし
、信号値格納領域の先頭2ビツトを占有位置の1番目と
している。
(9)以上の処理を節が終了するまで繰り返す(608
,609)。
(10)  最後に、各節の項割付コードをつなげて全
体の項割付コードとする(610)。これにより、第2
図のブール式は第5図のように表現される。
次に、ブール関数コード、項割付コード、信号値格納領
域からブール式の値を算畠する方法を説明する。第7図
はそのフローチャートを示す。
(1)ブール関数コードより、上位演算子、下位演算子
を決定する(701)。
(2)出力値の初期値を決める(702.703゜70
4)。この初期値は演算結果に影響を及ぼさない値がと
られる。即ち、上位演算子がANDの場合は1.、OR
,FORの場合は0である。
(3)信号値格納領域の1バイト目を処理対象信号値領
域とする(705)。
(4)中間出力値(項毎の演算結果)の初期値を決める
(706,707,708)、この初期値は1項毎の演
算結果に影響を及ぼさない値がとられる。即ち、下位演
算子がANDの場合はl。
OR,EORの場合は0である。
(5)処理対象信号値領域に対し5下位演算子による演
算を行う (709)。
(6)  (5)の結果と中間出力値とに対し、下位演
算子による演算を行い(710)、新しい中間出力値と
する。
(7)項割付コードの対応するビットで1項が次のバイ
トに続いているかどうか判定しく712)、続いている
場合は現在の処理対象信号値領域の次のバイトを、新た
な処理対象信号値領域とする(71”3)。切れている
場合は、出力値と中間出力値とに対し上位演算子による
演算を行い。
新しい出力値としく714)、その後、現在の処理対象
信号値領域の次のバイトを新たな処理対象信号値領域と
する(7 L 5)。
(8)以上の処理を、全ての信号値格納領域を処理し終
えるまで繰り返す(7!l)。
(9)最後の項の中間出力値を計算した後、その中間出
力値と出力値とに対し、上位演算子による演算を行い5
最終的な出力値とする(716)。
以下、実際にデータがどう動くかを、第5図の例で、a
=Q、b==t、(=l、d=Q、 e=l。
f”On g”11 h=1の場合を想定して説明する
ブール関数コードが「1」であることから、上位演算子
が○R1下位演算子がANDとなる。従って、出力値の
初期値は「0」、中間出力値の初期値は「1」となる。
信号値格納領域では、「0(a)、It  1.IJが
最初に処理対象となる。これにAND演算を行い「0」
を得た後、中間出力値とAND演算を行い「0」を得る
。項割付コードの対応するビットが0″なので、出力値
「0」と中間出力値「0」とでOR演算を行い、新しい
出力値「0」を得る0次にrl(b)、1(c)、1(
d)、1(e)Jを処理対象とし、中間出力値を「1」
に初期化する。処理対象信号値領域に対しAND演算を
行い「1」を得 中間出力値「1」とAND?tatI
を行い新たな中間出力値として「1」k得る2項割付コ
ートの対応するヒントが′″1゛なので、中間出力値を
初期化せずに次のバイト[0(fL  1.l、l、J
 を処理対象とする。処理対象信号値領域に対し、AN
D演算を行い「0」を得、中間出力値「1」とAND演
算を行い新たな中間出力値として「0」を得る。項割付
コードの対応するヒツトが” o ”なので、出力値「
0」と中間出力値rOJとでOR演算を行い、新たな出
力値「0」を得る。次にrl、(g)、1(h)、1.
Nを処理対象とし、中間出力値をrlJに初期化する。
処理対象信号値領域にAN、D演算を行い「1」を得、
中間出力値rNとAND演算を行い新たな中間出力値と
して「l」を得る。これで全ての信号値格納領域を処理
し終えたことになり、出力値「0」と中間出力値rlJ
 とでOR演算を行い。
最終的な出力値rlJを得る。これが第5図で示したブ
ール式の出力値となる。
〔発明の効果〕
以上説明した様に2本発明によれば、ブール式で記述さ
れた論理を表現する際、ブール式のボーラント表現を、
汎用コンピュータ上に持つ必要がなくなり、所要メモリ
領域量を低減できる。
【図面の簡単な説明】
第1図は本発明によるブール式と項割付コードと信号値
格納領域の関係を示す図、第2図はブール式の一例を示
す図、第3図は第2図のブール式を2分木に変換した場
合を示す図、第4図(A)〜(F)はブール関数コード
表、被演算子数一覧表。 メモリ領域量一覧表1項割付コード一覧表、信号値格納
開始バイト一覧表、信号値占有位置一覧表を示す図、第
5図は第2図の例の本発明によるブール式表現を示す図
、第6図及び第7図は本発明による処理フローを示す図
、第8図及び第9図は従来の方法を説明する図である6 α十す木c*d*e*f +シ太h e( 第4図IE) 第4図げ) 第5図 プ゛−ル囚tχコーC゛    ロ エpか1付コードロコココ イ1tilf!4n冷i4  c+1i1++b+c・
dief’+°円°h°円第6図 第7図 7丁ζ−)ン):’ & tl       イ81(
(≦ルト翻摩自戒第9図

Claims (1)

    【特許請求の範囲】
  1. (1)コンピュータ上にブール式で表現された論理回路
    と等価な論理回路モデルを形成し、該論理回路モデルに
    一定の信号値を入力して、論理回路動作を行わせる論理
    回路シミュレーション方法において、ブール式を、変数
    が単一演算子で結合されている形を持つ論理式と、それ
    ら論理式を結合している別の単一演算子とで記述し、一
    つの論理式に属する変数の信号値を一まとめにして表現
    することを特徴とする論理回路シミュレーション方法。
JP59242324A 1984-11-19 1984-11-19 論理回路シミユレ−シヨン方法 Pending JPS61120976A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59242324A JPS61120976A (ja) 1984-11-19 1984-11-19 論理回路シミユレ−シヨン方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59242324A JPS61120976A (ja) 1984-11-19 1984-11-19 論理回路シミユレ−シヨン方法

Publications (1)

Publication Number Publication Date
JPS61120976A true JPS61120976A (ja) 1986-06-09

Family

ID=17087508

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59242324A Pending JPS61120976A (ja) 1984-11-19 1984-11-19 論理回路シミユレ−シヨン方法

Country Status (1)

Country Link
JP (1) JPS61120976A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6370337A (ja) * 1986-09-12 1988-03-30 Hitachi Ltd 集約配線システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6370337A (ja) * 1986-09-12 1988-03-30 Hitachi Ltd 集約配線システム

Similar Documents

Publication Publication Date Title
Immerman Expressibility and parallel complexity
US3591787A (en) Division system and method
JPS5975347A (ja) 論理回路のシミユレ−シヨン装置
WO2005050494A1 (ja) グラフ幅削減装置及びグラフ幅削減方法、並びに論理回路合成装置及び論理回路合成方法
US5530664A (en) Method and apparatus for automatically designing logic circuit, and multiplier
US5903470A (en) Method and apparatus for automatically designing logic circuit, and multiplier
JPS6314378B2 (ja)
JPS61120976A (ja) 論理回路シミユレ−シヨン方法
US3937941A (en) Method and apparatus for packed BCD sign arithmetic employing a two's complement binary adder
JPH034936B2 (ja)
US5621860A (en) Memory organization method for a fuzzy logic controller and corresponding device
CN113835688A (zh) 一种科学计算语言解释器的对象封装方法
JPH06149927A (ja) 積和形論理式の処理方法
US5572708A (en) Hardware simulator capable of dealing with a description of a functional level
JPS61500990A (ja) 浮動小数点条件符号生成方式
JP3035506B2 (ja) データ型変換装置
JPH0140370B2 (ja)
GB1593136A (en) Data processing
JPS6077244A (ja) Crc回路
JP2853790B2 (ja) 算術演算を含む論理式の表現装置
KR20230056550A (ko) 자연어 처리 방법 및 장치
JP2624738B2 (ja) 丸め処理方式
JPS6138493B2 (ja)
Duncan et al. A postfix notation for logic circuits
JPS59139445A (ja) 3x3マトリクス式±5進化10進数の加算回路