JPH0822486A - 論理回路シミュレ−ション方法 - Google Patents
論理回路シミュレ−ション方法Info
- Publication number
- JPH0822486A JPH0822486A JP6175980A JP17598094A JPH0822486A JP H0822486 A JPH0822486 A JP H0822486A JP 6175980 A JP6175980 A JP 6175980A JP 17598094 A JP17598094 A JP 17598094A JP H0822486 A JPH0822486 A JP H0822486A
- Authority
- JP
- Japan
- Prior art keywords
- logic
- expression table
- logic circuit
- logic element
- signal line
- 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
Abstract
(57)【要約】
【目的】 論理回路の接続形態に影響を与えず、論理素
子の信号変化のイベント数を削減し、論理シミュレ−シ
ョン処理を高速化することにある。 【構成】 論理回路の論理素子及びその接続の情報を計
算機に読込み、ネット表現テーブル(以下、テーブル
1)及び論理素子表現テーブル(以下、テーブル2)を
作成し、論理回路における指定された制御信号線のパラ
メタをもとに論理回路の接続状態をテーブル1及び2を
トレースして各論理素子を制御信号線単位の集合体に分
割し、集合体単位毎にテーブル1及び2をトレースして
各論理素子の論理回路における接続段数を求め、同一集
合体における同一接続段数の論理素子のテーブル2を抽
出し、該同一接続段数の論理素子を多入力素子としてま
とめ、該多入力素子のテーブル2を新たに生成すると共
に該テーブル2に関連する新たなテーブル1を生成し、
この新たなテーブルを用いてシミュレーションをする。
子の信号変化のイベント数を削減し、論理シミュレ−シ
ョン処理を高速化することにある。 【構成】 論理回路の論理素子及びその接続の情報を計
算機に読込み、ネット表現テーブル(以下、テーブル
1)及び論理素子表現テーブル(以下、テーブル2)を
作成し、論理回路における指定された制御信号線のパラ
メタをもとに論理回路の接続状態をテーブル1及び2を
トレースして各論理素子を制御信号線単位の集合体に分
割し、集合体単位毎にテーブル1及び2をトレースして
各論理素子の論理回路における接続段数を求め、同一集
合体における同一接続段数の論理素子のテーブル2を抽
出し、該同一接続段数の論理素子を多入力素子としてま
とめ、該多入力素子のテーブル2を新たに生成すると共
に該テーブル2に関連する新たなテーブル1を生成し、
この新たなテーブルを用いてシミュレーションをする。
Description
【0001】
【産業上の利用分野】本発明は、処理回路の論理検証に
用いる論理シミュレーションに係り、特に、論理検証対
象論理回路における最適な論理統合手法に関するもので
ある。
用いる論理シミュレーションに係り、特に、論理検証対
象論理回路における最適な論理統合手法に関するもので
ある。
【0002】
【従来の技術】デジタル論理回路の論理設計において、
設計対象の論理回路をハードウエアとして作成すること
なしに、その論理機能が正しいか否か検証する手段とし
て、論理シミュレーションを用いた動作確認を実施して
いる。これらの論理シミュレーション手法として、特開
昭63−211036号公報や特開平3−42736号
公報で示されるように、設計対象の論理回路を論理回路
シミュレーションに適した構造に論理素子を編集し、計
算機時間の短縮・使用メモリ量を削減する手法がある。
また、回路のゲ−ト種類で処理を分割し、並列の論理シ
ミュレ−ションを実現する手法として、特開平3−91
869号公報に示される手法があげられ、同一機能の論
理素子を1集合体として取り扱う論理回路シミュレ−シ
ョン方法としては、特開平5−46694号公報で提案
されているが、フリップフロップ単位を対象としてお
り、1集合体の出力端子を1本にまとめて各論理素子間
の信号変化を伝播する手段である信号変化イベント数を
削減する手法を用いているが、フリップフロップ以外の
論理素子については、これらの集合体としての考慮がな
されていない。
設計対象の論理回路をハードウエアとして作成すること
なしに、その論理機能が正しいか否か検証する手段とし
て、論理シミュレーションを用いた動作確認を実施して
いる。これらの論理シミュレーション手法として、特開
昭63−211036号公報や特開平3−42736号
公報で示されるように、設計対象の論理回路を論理回路
シミュレーションに適した構造に論理素子を編集し、計
算機時間の短縮・使用メモリ量を削減する手法がある。
また、回路のゲ−ト種類で処理を分割し、並列の論理シ
ミュレ−ションを実現する手法として、特開平3−91
869号公報に示される手法があげられ、同一機能の論
理素子を1集合体として取り扱う論理回路シミュレ−シ
ョン方法としては、特開平5−46694号公報で提案
されているが、フリップフロップ単位を対象としてお
り、1集合体の出力端子を1本にまとめて各論理素子間
の信号変化を伝播する手段である信号変化イベント数を
削減する手法を用いているが、フリップフロップ以外の
論理素子については、これらの集合体としての考慮がな
されていない。
【0003】
【発明が解決しようとする課題】従来手法では、対象論
理回路の各論理素子について削除、最適化することが可
能であるが、論理シミュレ−ションの処理速度に関連の
深い論理素子の信号変化イベント量については、考慮が
不十分である。すなわち、信号変化のない論理素子の削
減手法、同一機能の論理素子を一連の処理対象グル−プ
として分割し、各論理素子単位に論理シミュレーション
処理を実行することであり、論理素子信号変化が発生す
る論理素子の個数に変化はなく、信号変化のイベントは
変わらない。したがって、論理シミュレ−ション処理の
イベント処理時間は削減することができない。本発明の
目的は、論理回路の接続形態に影響を与えず、論理素子
の信号変化のイベント数を削減し、論理シミュレ−ショ
ン処理を高速化することにある。
理回路の各論理素子について削除、最適化することが可
能であるが、論理シミュレ−ションの処理速度に関連の
深い論理素子の信号変化イベント量については、考慮が
不十分である。すなわち、信号変化のない論理素子の削
減手法、同一機能の論理素子を一連の処理対象グル−プ
として分割し、各論理素子単位に論理シミュレーション
処理を実行することであり、論理素子信号変化が発生す
る論理素子の個数に変化はなく、信号変化のイベントは
変わらない。したがって、論理シミュレ−ション処理の
イベント処理時間は削減することができない。本発明の
目的は、論理回路の接続形態に影響を与えず、論理素子
の信号変化のイベント数を削減し、論理シミュレ−ショ
ン処理を高速化することにある。
【0004】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、論理回路における論理素子及びその接続
の情報を計算機に読み込み、計算機上で前記論理回路の
論理動作の検証を行なう論理回路シミュレーション方法
において、論理回路における論理素子及びその接続の情
報を計算機に読み込み、ネット表現テーブル及び論理素
子表現テーブルを作成し、論理回路における指定された
制御信号線のパラメタをもとに論理回路の接続状態を前
記ネット表現テーブル及び論理素子表現テーブルをトレ
ースして論理回路の各論理素子を制御信号線単位の集合
体に分割し、制御信号線単位の集合体単位毎に前記ネッ
ト表現テーブル及び論理素子表現テーブルをトレースし
て各論理素子の論理回路における接続段数を求め、同一
集合体における同一接続段数の論理素子の論理素子表現
テーブルを抽出し、該同一接続段数の論理素子を多入力
素子としてまとめ、該多入力素子の論理素子表現テーブ
ルを新たに生成すると共に該論理素子表現テーブルに関
連する新たなネット表現テーブルを生成し、前記各集合
体毎に入力信号値を変化させ、各集合体毎に前記新たに
生成したネット表現テーブル及び論理素子表現テーブル
を用いて信号値伝播を行なうようにしている。
め、本発明は、論理回路における論理素子及びその接続
の情報を計算機に読み込み、計算機上で前記論理回路の
論理動作の検証を行なう論理回路シミュレーション方法
において、論理回路における論理素子及びその接続の情
報を計算機に読み込み、ネット表現テーブル及び論理素
子表現テーブルを作成し、論理回路における指定された
制御信号線のパラメタをもとに論理回路の接続状態を前
記ネット表現テーブル及び論理素子表現テーブルをトレ
ースして論理回路の各論理素子を制御信号線単位の集合
体に分割し、制御信号線単位の集合体単位毎に前記ネッ
ト表現テーブル及び論理素子表現テーブルをトレースし
て各論理素子の論理回路における接続段数を求め、同一
集合体における同一接続段数の論理素子の論理素子表現
テーブルを抽出し、該同一接続段数の論理素子を多入力
素子としてまとめ、該多入力素子の論理素子表現テーブ
ルを新たに生成すると共に該論理素子表現テーブルに関
連する新たなネット表現テーブルを生成し、前記各集合
体毎に入力信号値を変化させ、各集合体毎に前記新たに
生成したネット表現テーブル及び論理素子表現テーブル
を用いて信号値伝播を行なうようにしている。
【0005】また、前記論理回路の各論理素子を制御信
号線単位の集合体に分割するとき、論理回路における指
定された制御信号線のパラメタをもとに該制御信号線か
らフリップフロップの論理素子表現テーブルまでの接続
状態をトレースし、各制御信号線単位にフリップフロッ
プの論理素子表現テーブルに分割区分番号を付与して分
類し、次いで分割区分番号が同一のフリップフロップの
論理素子表現テーブルから接続先のネット表現テーブル
及び論理素子表現テーブルを順次トレースし、分割区分
番号が異なるフリップフロップの論理素子表現テーブル
あるいは論理回路の入出力端子を端点として、該端点ま
でに存在する論理素子表現テーブルにトレース開始のフ
リップフロップの論理素子表現テーブルと同じ分割区分
番号を付与し、同一の分割区分番号を付与された論理素
子表現テーブルの各論理素子を制御信号線単位の集合体
とするようにしている。
号線単位の集合体に分割するとき、論理回路における指
定された制御信号線のパラメタをもとに該制御信号線か
らフリップフロップの論理素子表現テーブルまでの接続
状態をトレースし、各制御信号線単位にフリップフロッ
プの論理素子表現テーブルに分割区分番号を付与して分
類し、次いで分割区分番号が同一のフリップフロップの
論理素子表現テーブルから接続先のネット表現テーブル
及び論理素子表現テーブルを順次トレースし、分割区分
番号が異なるフリップフロップの論理素子表現テーブル
あるいは論理回路の入出力端子を端点として、該端点ま
でに存在する論理素子表現テーブルにトレース開始のフ
リップフロップの論理素子表現テーブルと同じ分割区分
番号を付与し、同一の分割区分番号を付与された論理素
子表現テーブルの各論理素子を制御信号線単位の集合体
とするようにしている。
【0006】また、前記各論理素子の論理回路における
接続段数を求めるとき、前記集合体単位内の入力端子あ
るいは入力側フリップフロップから各論理素子までの遅
延時間を求め、同一遅延時間を持つ論理素子を同一接続
段数とするようにしている。
接続段数を求めるとき、前記集合体単位内の入力端子あ
るいは入力側フリップフロップから各論理素子までの遅
延時間を求め、同一遅延時間を持つ論理素子を同一接続
段数とするようにしている。
【0007】
【作用】通常、論理シミュレ−ションで使用する各論理
素子の信号値は、最大32値程度、一般的には、4値も
しくは8値の信号値レベルで表現される。これらの信号
値を計算機上で取り扱うためには、2ビットあるいは3
ビットのメモリ領域で表現可能であるが、従来1論理素
子を1回の論理演算によって実行していた。本発明によ
れば、各論理素子の信号変化を多入力機能素子で1個に
集約することができ、4値の信号レベルを取り扱う論理
シミュレータでは、1語4バイトのデータ処理を行う計
算機上では2入力AND素子の論理演算として、16論
理素子を1回の論理演算で取り扱うことができる。した
がって、各論理素子間の信号変化を伝播するイベント量
を削減することができると同時に、各論理素子の信号変
化に伴う論理素子の論理演算処理を高速にできる。
素子の信号値は、最大32値程度、一般的には、4値も
しくは8値の信号値レベルで表現される。これらの信号
値を計算機上で取り扱うためには、2ビットあるいは3
ビットのメモリ領域で表現可能であるが、従来1論理素
子を1回の論理演算によって実行していた。本発明によ
れば、各論理素子の信号変化を多入力機能素子で1個に
集約することができ、4値の信号レベルを取り扱う論理
シミュレータでは、1語4バイトのデータ処理を行う計
算機上では2入力AND素子の論理演算として、16論
理素子を1回の論理演算で取り扱うことができる。した
がって、各論理素子間の信号変化を伝播するイベント量
を削減することができると同時に、各論理素子の信号変
化に伴う論理素子の論理演算処理を高速にできる。
【0008】
【実施例】以下、本発明の一実施例を図面により詳細に
説明する。図1に、本発明の多入力機能素子を生成する
ための論理コンパイルフロ−を示す。図2に各論理素子
間の信号名接続状態を示すネット表現テーブル構成を示
す。該テーブルは信号名テーブルとネットテーブルから
なる。図3に論理素子を表現した論理素子表現テーブル
構成を示す。該テーブルは素子テーブルと信号値テーブ
ルと出力値テーブルからなる。また、これらのテーブル
の接続関連事例として、図8に対象論理回路の接続状態
をネット表現テーブルと論理素子表現テーブルにより表
現したものを示す。
説明する。図1に、本発明の多入力機能素子を生成する
ための論理コンパイルフロ−を示す。図2に各論理素子
間の信号名接続状態を示すネット表現テーブル構成を示
す。該テーブルは信号名テーブルとネットテーブルから
なる。図3に論理素子を表現した論理素子表現テーブル
構成を示す。該テーブルは素子テーブルと信号値テーブ
ルと出力値テーブルからなる。また、これらのテーブル
の接続関連事例として、図8に対象論理回路の接続状態
をネット表現テーブルと論理素子表現テーブルにより表
現したものを示す。
【0009】図2のネット表現テーブルにおいて、20
1は信号名テーブルであり、各レコードには、信号名2
03と、接続元アドレス204、すなわち接続元の素子
の素子テーブルのアドレスと、接続先アドレス205、
すなわち接続先のネットテーブルのレコードアドレスが
記述される。202はネットテーブルであり、テーブル
の各レコードには、リンク206、すなわちリンクする
ネットテーブルのレコードアドレス(“0”はリンク無
しを示す)と、端子位置207、すなわち素子テーブル
のピン番号と、アドレス208すなわち接続先の素子の
素子テーブルのアドレスが記述される。図3の論理素子
表現テーブルにおいて、310は素子テーブル、320
は信号値テーブル、330は出力値テーブルであり、こ
こでは、論理素子表現テーブルは、信号値、出力値を別
テーブルにまとめて素子テーブルと信号値テーブル、出
力値テーブルを分離することにより、複数論理素子の信
号値、出力値を取り扱えるようにしているが、信号値、
出力値は単独のテーブルとせずに素子テーブル310に
含めることもできる。なお、これらテーブルの各項目に
ついては後述の説明において順次明らかにされる。
1は信号名テーブルであり、各レコードには、信号名2
03と、接続元アドレス204、すなわち接続元の素子
の素子テーブルのアドレスと、接続先アドレス205、
すなわち接続先のネットテーブルのレコードアドレスが
記述される。202はネットテーブルであり、テーブル
の各レコードには、リンク206、すなわちリンクする
ネットテーブルのレコードアドレス(“0”はリンク無
しを示す)と、端子位置207、すなわち素子テーブル
のピン番号と、アドレス208すなわち接続先の素子の
素子テーブルのアドレスが記述される。図3の論理素子
表現テーブルにおいて、310は素子テーブル、320
は信号値テーブル、330は出力値テーブルであり、こ
こでは、論理素子表現テーブルは、信号値、出力値を別
テーブルにまとめて素子テーブルと信号値テーブル、出
力値テーブルを分離することにより、複数論理素子の信
号値、出力値を取り扱えるようにしているが、信号値、
出力値は単独のテーブルとせずに素子テーブル310に
含めることもできる。なお、これらテーブルの各項目に
ついては後述の説明において順次明らかにされる。
【0010】まず、論理回路のモデル化方法について図
8のテーブル接続関連を用いて、詳細に説明する。図8
(1)は、対象論理回路例を示したもので、この論理回
路をネット接続状態を示す信号名テーブル、ネットテー
ブルと各論理素子の機能を表わす素子テーブルに設定し
た事例を図8(2)に示す。本事例では、たとえば、図
8(1)の信号線Fは信号名テーブル801の第6番目
のレコードにその信号名称を設定し、その接続元アドレ
スとして素子テーブル803のfを示し、接続先アドレ
スは、ネットテーブル802の該当接続先を示すレコー
ド番号6を設定する。なお、ここでは素子テーブルは簡
略化されたものが示されている。また、ネットテーブル
802では、同一信号線が複数の接続先を持つとき、リ
ンク情報として、各接続先の素子テーブルのアドレスを
持つレコードを順次生成する。本事例では、信号線F
は、接続元として素子テーブルfより接続され、接続先
としてネットテーブル802のレコード6で示される素
子テーブルgのピン番号2と、レコード7で示される素
子テーブルhのピン番号1に接続していることを示す。
また素子テーブルgは、出力信号線として、信号線名G
を持つ信号名テーブル801のc(レコードアドレス)
に接続している。さらに、各論理素子の信号値は、該当
素子テーブル803から直接参照できる部分に各入力端
子・出力端子毎に持ち、論理素子の演算とその結果を容
易に設定できる方法とする。本事例では、素子テーブル
803内に準備したv1・v2がそれぞれ入力端子ピン
番号1・入力端子ピン番号2の入力信号値領域を表し、
ovが出力信号値領域を表す。
8のテーブル接続関連を用いて、詳細に説明する。図8
(1)は、対象論理回路例を示したもので、この論理回
路をネット接続状態を示す信号名テーブル、ネットテー
ブルと各論理素子の機能を表わす素子テーブルに設定し
た事例を図8(2)に示す。本事例では、たとえば、図
8(1)の信号線Fは信号名テーブル801の第6番目
のレコードにその信号名称を設定し、その接続元アドレ
スとして素子テーブル803のfを示し、接続先アドレ
スは、ネットテーブル802の該当接続先を示すレコー
ド番号6を設定する。なお、ここでは素子テーブルは簡
略化されたものが示されている。また、ネットテーブル
802では、同一信号線が複数の接続先を持つとき、リ
ンク情報として、各接続先の素子テーブルのアドレスを
持つレコードを順次生成する。本事例では、信号線F
は、接続元として素子テーブルfより接続され、接続先
としてネットテーブル802のレコード6で示される素
子テーブルgのピン番号2と、レコード7で示される素
子テーブルhのピン番号1に接続していることを示す。
また素子テーブルgは、出力信号線として、信号線名G
を持つ信号名テーブル801のc(レコードアドレス)
に接続している。さらに、各論理素子の信号値は、該当
素子テーブル803から直接参照できる部分に各入力端
子・出力端子毎に持ち、論理素子の演算とその結果を容
易に設定できる方法とする。本事例では、素子テーブル
803内に準備したv1・v2がそれぞれ入力端子ピン
番号1・入力端子ピン番号2の入力信号値領域を表し、
ovが出力信号値領域を表す。
【0011】これらの論理素子表現テーブルとネット表
現テーブルの作成方法を、図1の論理コンパイルフロ
ー、図2のネット表現テーブル構成、図3の論理素子表
現テーブル構成、および、図6の論理回路例を用いて説
明する。対象論理回路の信号変化発生要因に対応した論
理回路の分割手段として、図1の論理コンパイルフロー
では、まずステップ101において、シミュレ−ション
対象論理回路内に存在する各論理素子を読み込み、各論
理素子とフリップフロップ、あるいは対象論理回路の入
出力端子との接続関連、および、各論理素子間の接続状
態を信号名テーブル201とネットテーブル202、素
子テーブル310および信号値テーブル320、出力値
テーブル330に作成する。ステップ102では、あら
かじめ入力カ−ドや記憶媒体より指定されたクロックな
どの制御信号線のパラメタをもとに、該当信号線から素
子テーブル310の素子機能311がフリップフロップ
を示す部分までの接続状態、すなわち図6の論理回路例
で示す入力端子CK0からフリップフロップ611、6
12、613の接続状態および、入力端子CK1からフ
リップフロップ661、662、663までの接続状態
を上記信号名テーブル201、ネットテーブル202と
素子テーブル310、出力値テーブル330を用いてト
レースし、各制御信号単位にフリップフロップ論理素子
の分割区分318に番号を付加し分類する。図6の論理
回路例では、各フリップフロップの分割区分として、入
力端子CK0から接続されるフリップフロップ611、
612、613については番号1を設定し、入力端子C
K1から接続されるフリップフロップ661、662、
663については番号2を設定する。つぎのステップ1
03では、分割区分318が同一のフリップフロップ論
理素子を抽出し、その論理素子の接続先をネット表現テ
ーブルと論理素子表現テーブルを用いて、順次トレース
し、分割区分番号が異なるフリップフロップ論理素子、
あるいは、対象論理回路の入出力端子を各論理素子グル
ープの端点として、その間に囲まれる論理素子の素子表
現テーブルの分割区分318に、トレース開始のフリッ
プフロップ素子の分割区分318と同じ数値を付加し、
各制御信号線ごとに同一分割区分の番号単位とすること
により、対象論理回路の各論理素子を制御信号線単位の
集合体に分割する。
現テーブルの作成方法を、図1の論理コンパイルフロ
ー、図2のネット表現テーブル構成、図3の論理素子表
現テーブル構成、および、図6の論理回路例を用いて説
明する。対象論理回路の信号変化発生要因に対応した論
理回路の分割手段として、図1の論理コンパイルフロー
では、まずステップ101において、シミュレ−ション
対象論理回路内に存在する各論理素子を読み込み、各論
理素子とフリップフロップ、あるいは対象論理回路の入
出力端子との接続関連、および、各論理素子間の接続状
態を信号名テーブル201とネットテーブル202、素
子テーブル310および信号値テーブル320、出力値
テーブル330に作成する。ステップ102では、あら
かじめ入力カ−ドや記憶媒体より指定されたクロックな
どの制御信号線のパラメタをもとに、該当信号線から素
子テーブル310の素子機能311がフリップフロップ
を示す部分までの接続状態、すなわち図6の論理回路例
で示す入力端子CK0からフリップフロップ611、6
12、613の接続状態および、入力端子CK1からフ
リップフロップ661、662、663までの接続状態
を上記信号名テーブル201、ネットテーブル202と
素子テーブル310、出力値テーブル330を用いてト
レースし、各制御信号単位にフリップフロップ論理素子
の分割区分318に番号を付加し分類する。図6の論理
回路例では、各フリップフロップの分割区分として、入
力端子CK0から接続されるフリップフロップ611、
612、613については番号1を設定し、入力端子C
K1から接続されるフリップフロップ661、662、
663については番号2を設定する。つぎのステップ1
03では、分割区分318が同一のフリップフロップ論
理素子を抽出し、その論理素子の接続先をネット表現テ
ーブルと論理素子表現テーブルを用いて、順次トレース
し、分割区分番号が異なるフリップフロップ論理素子、
あるいは、対象論理回路の入出力端子を各論理素子グル
ープの端点として、その間に囲まれる論理素子の素子表
現テーブルの分割区分318に、トレース開始のフリッ
プフロップ素子の分割区分318と同じ数値を付加し、
各制御信号線ごとに同一分割区分の番号単位とすること
により、対象論理回路の各論理素子を制御信号線単位の
集合体に分割する。
【0012】ステップ104では、分割した集合体単位
すなわち、分割区分318が同一の各論理素子に対応す
る素子テーブル310の出力値アドレス317から対象
集合体の出力端子であるフリップフロップや対象論理回
路の出力端子までの論理素子段数を素子テーブル310
と信号名テーブル201とネットテーブル202を対象
素子テーブル310からトレースし、素子テーブル31
0の通過回数を算出し、各素子テーブル310の接続段
数313に該素子の出力端点までの接続段数を示す通過
回数を設定する。
すなわち、分割区分318が同一の各論理素子に対応す
る素子テーブル310の出力値アドレス317から対象
集合体の出力端子であるフリップフロップや対象論理回
路の出力端子までの論理素子段数を素子テーブル310
と信号名テーブル201とネットテーブル202を対象
素子テーブル310からトレースし、素子テーブル31
0の通過回数を算出し、各素子テーブル310の接続段
数313に該素子の出力端点までの接続段数を示す通過
回数を設定する。
【0013】さらに、ステップ105で分割区分318
が同一の対象集合体のうち出力端点まで同一接続段数に
ある素子テーブル310の素子機能311および入力端
子数を示す入力数314が同一である論理素子を素子テ
ーブルから抽出し、また素子遅延時間を用いる論理シミ
ュレーションでは、同一遅延時間を持つ論理素子を抽出
条件として用いて、上記同一条件が成立する論理素子を
多入力素子としてまとめ、新たな素子テーブル310を
作成する。該当素子の接続状態として、まとめた論理素
子数を素子数315に設定し、また各素子の入力端子の
信号値テーブル320は各素子の取りまとめ順nに従っ
て、信号値n1,信号値n2のように配列し、各素子の
出力値331についても出力値n,信号名テーブル20
1のアドレス332をアドレスnで示すように配列する
とともに、ネットテーブル202の端子位置207につ
いても素子の取りまとめ順nと各素子の入力端子番号を
分類し、さらに、素子テーブルアドレス208も新たに
作成した多入力素子の素子テーブル310を示すアドレ
スに更新する。ここで、多入力論理素子のための新たな
素子テーブルが作成されて、不要となった素子テーブル
310、信号値テーブル320、出力値テーブル330
は、論理素子のための新たな登録エリアとして利用す
る。一方、対象集合体を抽出するためのフリップフロッ
プについても、ステップ102で制御信号単位に分割し
た分割区分318と素子機能311が同一であり、さら
に、入力数314が同一であるものをまとめ、多入力論
理素子として、新たな素子テーブル310および信号値
テーブル320、出力値テーブル330を作成する。
が同一の対象集合体のうち出力端点まで同一接続段数に
ある素子テーブル310の素子機能311および入力端
子数を示す入力数314が同一である論理素子を素子テ
ーブルから抽出し、また素子遅延時間を用いる論理シミ
ュレーションでは、同一遅延時間を持つ論理素子を抽出
条件として用いて、上記同一条件が成立する論理素子を
多入力素子としてまとめ、新たな素子テーブル310を
作成する。該当素子の接続状態として、まとめた論理素
子数を素子数315に設定し、また各素子の入力端子の
信号値テーブル320は各素子の取りまとめ順nに従っ
て、信号値n1,信号値n2のように配列し、各素子の
出力値331についても出力値n,信号名テーブル20
1のアドレス332をアドレスnで示すように配列する
とともに、ネットテーブル202の端子位置207につ
いても素子の取りまとめ順nと各素子の入力端子番号を
分類し、さらに、素子テーブルアドレス208も新たに
作成した多入力素子の素子テーブル310を示すアドレ
スに更新する。ここで、多入力論理素子のための新たな
素子テーブルが作成されて、不要となった素子テーブル
310、信号値テーブル320、出力値テーブル330
は、論理素子のための新たな登録エリアとして利用す
る。一方、対象集合体を抽出するためのフリップフロッ
プについても、ステップ102で制御信号単位に分割し
た分割区分318と素子機能311が同一であり、さら
に、入力数314が同一であるものをまとめ、多入力論
理素子として、新たな素子テーブル310および信号値
テーブル320、出力値テーブル330を作成する。
【0014】以上の処理ステップにより、図6の論理回
路例は、図7に示す処理結果論理モデルのように表現さ
れる。このように、単一論理素子を多入力論理素子とし
て生成することができ、論理シミュレータでのシミュレ
ーション対象論理素子数を削減できる。
路例は、図7に示す処理結果論理モデルのように表現さ
れる。このように、単一論理素子を多入力論理素子とし
て生成することができ、論理シミュレータでのシミュレ
ーション対象論理素子数を削減できる。
【0015】これらの論理コンパイル結果を用いた論理
シミュレーション手順について、まず、論理シミュレー
ションにおける信号変化の伝播方法としての、各論理素
子の入力端子に接続する信号線の信号値が変化した論理
素子のみを対象とした論理素子の出力信号値算出を行う
ことを特徴とするイベントドリブン方式での信号伝播手
順について、図8のテ−ブル接続関連と図9のイベント
処理方法を用いて詳細に説明する。図8(1)の論理素
子eの信号伝播遅延時間を2とし、論理素子fの信号伝
播遅延時間を1としたとき、時刻tにおいて、入力端子
A,B,C,DにそれぞれHighの信号値を与えたと
き、図9(1)で示すように、タイムホイール上の時刻
tのイベントとして、論理素子e、論理素子fの出力値
計算を行うための信号変化イベントがイベントテーブル
に登録される。
シミュレーション手順について、まず、論理シミュレー
ションにおける信号変化の伝播方法としての、各論理素
子の入力端子に接続する信号線の信号値が変化した論理
素子のみを対象とした論理素子の出力信号値算出を行う
ことを特徴とするイベントドリブン方式での信号伝播手
順について、図8のテ−ブル接続関連と図9のイベント
処理方法を用いて詳細に説明する。図8(1)の論理素
子eの信号伝播遅延時間を2とし、論理素子fの信号伝
播遅延時間を1としたとき、時刻tにおいて、入力端子
A,B,C,DにそれぞれHighの信号値を与えたと
き、図9(1)で示すように、タイムホイール上の時刻
tのイベントとして、論理素子e、論理素子fの出力値
計算を行うための信号変化イベントがイベントテーブル
に登録される。
【0016】次に、シミュレーション時刻がtとなった
とき、時刻tに対応するイベントテーブルのエントリに
登録されている最初のイベントを取り出し、そのイベン
トが示す論理素子eの出力値計算を行い、その出力値を
伝播するために、図8(2)のテーブル803の素子e
の接続先アドレスからテーブル801の信号名テーブル
を介し、テーブル802のネットテーブル上に登録され
ている信号接続先の論理素子テーブルのアドレスを検索
し、該当アドレスgを現時刻から素子の信号値伝播遅延
時間2を示す時刻t+2のイベントとしてイベントテー
ブルに登録する。また、時刻tに対応するイベントテー
ブルのエントリにリンクされたエントリに登録されてい
る論理素子fのイベントを取り出し、そのイベントが示
す論理素子fの出力値計算を行うとともに、出力信号値
の伝播先である論理素子g、hのイベントをタイムホイ
ール上の現時刻t+1に対応するイベントテーブルのエ
ントリに登録する。時刻tに対応するイベントテーブル
のエントリに登録されたイベントをすべて処理したの
ち、時刻を進め、次の時刻のイベント処理を同様に行い
論理回路上で発生する信号変化を逐次後段の論理へ伝播
することにより論理回路シミュレーションを実行する。
とき、時刻tに対応するイベントテーブルのエントリに
登録されている最初のイベントを取り出し、そのイベン
トが示す論理素子eの出力値計算を行い、その出力値を
伝播するために、図8(2)のテーブル803の素子e
の接続先アドレスからテーブル801の信号名テーブル
を介し、テーブル802のネットテーブル上に登録され
ている信号接続先の論理素子テーブルのアドレスを検索
し、該当アドレスgを現時刻から素子の信号値伝播遅延
時間2を示す時刻t+2のイベントとしてイベントテー
ブルに登録する。また、時刻tに対応するイベントテー
ブルのエントリにリンクされたエントリに登録されてい
る論理素子fのイベントを取り出し、そのイベントが示
す論理素子fの出力値計算を行うとともに、出力信号値
の伝播先である論理素子g、hのイベントをタイムホイ
ール上の現時刻t+1に対応するイベントテーブルのエ
ントリに登録する。時刻tに対応するイベントテーブル
のエントリに登録されたイベントをすべて処理したの
ち、時刻を進め、次の時刻のイベント処理を同様に行い
論理回路上で発生する信号変化を逐次後段の論理へ伝播
することにより論理回路シミュレーションを実行する。
【0017】次に、本発明における論理シミュレーショ
ン実行手順について詳細に説明する。図4の論理シミュ
レーション実行フローは、まず、ステップ401におい
て論理コンパイルで生成した論理表現テーブルの信号名
テーブル201、ネットテーブル202、素子テーブル
310、信号値テーブル320、出力値テーブル330
をメモリ上に作成し、各論理素子信号値の初期値を不定
値として設定するとともに、信号値の変化を伝播するた
めのイベントテーブルを作成し、シミュレーション時間
を0に設定する。ステップ402において、あらかじめ
DISCなどに準備した入力信号値等の入力データを読
み込み、該当シミュレーション時間に相当する入力信号
値を与えるべき該当信号線について、その信号名テーブ
ル201の接続先アドレス205が示すネットテーブル
202のアドレス208から素子テーブル310と端子
位置207により信号値テーブルの設定位置を求め、素
子テーブルの入力値アドレスが接続する信号値テーブル
320の端子位置207が示す入力信号値321に信号
値を伝播するとともに、該当信号値伝播先の素子テーブ
ル310のフラグ312がオフのとき、該当論理素子に
対する信号変化イベントをイベントテーブル502に登
録する。素子テーブル310のフラグ312は、該当論
理素子に対しすでにイベントを登録していることを示
す。すなわち素子テーブル310のフラグ312がオン
となっているときは、該当論理素子へのイベント登録を
行わない。本手法を施すことにより、同一論理素子へ重
複してイベント登録することを抑止し、処理イベント数
を削減する。
ン実行手順について詳細に説明する。図4の論理シミュ
レーション実行フローは、まず、ステップ401におい
て論理コンパイルで生成した論理表現テーブルの信号名
テーブル201、ネットテーブル202、素子テーブル
310、信号値テーブル320、出力値テーブル330
をメモリ上に作成し、各論理素子信号値の初期値を不定
値として設定するとともに、信号値の変化を伝播するた
めのイベントテーブルを作成し、シミュレーション時間
を0に設定する。ステップ402において、あらかじめ
DISCなどに準備した入力信号値等の入力データを読
み込み、該当シミュレーション時間に相当する入力信号
値を与えるべき該当信号線について、その信号名テーブ
ル201の接続先アドレス205が示すネットテーブル
202のアドレス208から素子テーブル310と端子
位置207により信号値テーブルの設定位置を求め、素
子テーブルの入力値アドレスが接続する信号値テーブル
320の端子位置207が示す入力信号値321に信号
値を伝播するとともに、該当信号値伝播先の素子テーブ
ル310のフラグ312がオフのとき、該当論理素子に
対する信号変化イベントをイベントテーブル502に登
録する。素子テーブル310のフラグ312は、該当論
理素子に対しすでにイベントを登録していることを示
す。すなわち素子テーブル310のフラグ312がオン
となっているときは、該当論理素子へのイベント登録を
行わない。本手法を施すことにより、同一論理素子へ重
複してイベント登録することを抑止し、処理イベント数
を削減する。
【0018】ステップ403では、タイムホイール50
1で示される時刻のイベントテーブル502に登録され
ている素子アドレス503の示す素子テーブル310を
読み込み、該当論理素子のフラグ312をオフにすると
ともに、集合体の全入力信号値に対する全出力信号値を
算出し、ステップ404において、集合体の各論理素子
の出力信号値331と算出結果の出力信号値を比較し、
出力値に変化が生じたとき、ステップ405で出力値が
変化した該当論理素子の出力信号値331の更新と、そ
の信号線接続先のアドレス332が示す信号名テーブル
201から素子テーブル310へのトレースを実施し、
伝播先の信号値321に対し算出結果の信号値を伝播す
る。また、ステップ406で信号線接続先の素子テーブ
ル310のフラグ312がオフであれば、ステップ40
7でそのフラグ312をオンに設定し、新たな信号変化
イベントを各論理素子の遅延時間を加えた時間で示され
るタイムホイール501の該当時間に対して、信号接続
先の素子アドレスをイベント502に登録する。ステッ
プ408で示すように、シミュレーション経過時間上の
信号変化イベントがなくなるまで、ステップ403から
ステップ407の処理をくり返し、該当時間内のイベン
トがなくなったら、ステップ409において、シミュレ
ーション経過時間を進め、シミュレーション終了時間ま
でステップ402からステップ409の処理を繰り返
す。発生した新信号変化イベントは、各論理素子の遅延
時間を加えた時間で示されるタイムホイール501の該
当時間に対して登録する。
1で示される時刻のイベントテーブル502に登録され
ている素子アドレス503の示す素子テーブル310を
読み込み、該当論理素子のフラグ312をオフにすると
ともに、集合体の全入力信号値に対する全出力信号値を
算出し、ステップ404において、集合体の各論理素子
の出力信号値331と算出結果の出力信号値を比較し、
出力値に変化が生じたとき、ステップ405で出力値が
変化した該当論理素子の出力信号値331の更新と、そ
の信号線接続先のアドレス332が示す信号名テーブル
201から素子テーブル310へのトレースを実施し、
伝播先の信号値321に対し算出結果の信号値を伝播す
る。また、ステップ406で信号線接続先の素子テーブ
ル310のフラグ312がオフであれば、ステップ40
7でそのフラグ312をオンに設定し、新たな信号変化
イベントを各論理素子の遅延時間を加えた時間で示され
るタイムホイール501の該当時間に対して、信号接続
先の素子アドレスをイベント502に登録する。ステッ
プ408で示すように、シミュレーション経過時間上の
信号変化イベントがなくなるまで、ステップ403から
ステップ407の処理をくり返し、該当時間内のイベン
トがなくなったら、ステップ409において、シミュレ
ーション経過時間を進め、シミュレーション終了時間ま
でステップ402からステップ409の処理を繰り返
す。発生した新信号変化イベントは、各論理素子の遅延
時間を加えた時間で示されるタイムホイール501の該
当時間に対して登録する。
【0019】このように、論理素子の信号変化イベント
を各論理素子の集合体単位に発生し、また、各集合体の
論理演算もまとめて実行し、さらに、同一論理素子への
信号変化イベントを重複させないことにより、信号変化
に対する計算機処理回数を削減できる。本手法の応用と
して、遅延時間を考慮した論理回路シミュレーションに
おける論理コンパイル時の多入力論理素子作成手法は、
図1のステップ103で分割した集合体に対して、ステ
ップ104でフリップフロップの出力端子からの遅延時
間をさらなる分割区分として用い、ステップ105で
は、各分割区分毎に同一機能素子でかつ同一入力端子数
を持つ論理素子を1つの素子表現テーブルとしてまとめ
ることにより、本手順による論理回路シミュレーション
を実現できる。また、集合体毎にシミュレーションを実
行できるため、並列計算機、ベクトル計算機等を用い
て、集合体を複数のプロセッサに分散させて並列処理す
ることができる。
を各論理素子の集合体単位に発生し、また、各集合体の
論理演算もまとめて実行し、さらに、同一論理素子への
信号変化イベントを重複させないことにより、信号変化
に対する計算機処理回数を削減できる。本手法の応用と
して、遅延時間を考慮した論理回路シミュレーションに
おける論理コンパイル時の多入力論理素子作成手法は、
図1のステップ103で分割した集合体に対して、ステ
ップ104でフリップフロップの出力端子からの遅延時
間をさらなる分割区分として用い、ステップ105で
は、各分割区分毎に同一機能素子でかつ同一入力端子数
を持つ論理素子を1つの素子表現テーブルとしてまとめ
ることにより、本手順による論理回路シミュレーション
を実現できる。また、集合体毎にシミュレーションを実
行できるため、並列計算機、ベクトル計算機等を用い
て、集合体を複数のプロセッサに分散させて並列処理す
ることができる。
【0020】
【発明の効果】本発明によれば、論理回路シミュレーシ
ョンにおける同一機能の論理素子を1つの集合体として
用いることにより、論理回路の信号変化イベントを削減
し、論理シミュレーションに要する計算機時間を削減す
ることができる。また、並列計算機、ベクトル計算機等
を用い、各論理素子の集合体を複数のプロセッサに分散
し論理演算を並列に実行することができる。
ョンにおける同一機能の論理素子を1つの集合体として
用いることにより、論理回路の信号変化イベントを削減
し、論理シミュレーションに要する計算機時間を削減す
ることができる。また、並列計算機、ベクトル計算機等
を用い、各論理素子の集合体を複数のプロセッサに分散
し論理演算を並列に実行することができる。
【図1】多入力機能素子を生成するための論理コンパイ
ルフローを示す図である。
ルフローを示す図である。
【図2】ネット表現テーブルの構成を示す図である。
【図3】論理素子表現テーブルの構成を示す図である。
【図4】論理シミュレーション実行フローを示す図であ
る。
る。
【図5】イベントテーブルの構成を示す図である。
【図6】論理回路例を示す図である。
【図7】論理コンパイル処理結果の論理モデルを示す図
である。
である。
【図8】ネット表現テーブルと論理素子表現テーブルの
テ−ブル接続関連の実例を示す図である。
テ−ブル接続関連の実例を示す図である。
【図9】イベント処理方法を説明するための図である。
Claims (3)
- 【請求項1】 論理回路における論理素子及びその接続
の情報を計算機に読み込み、計算機上で前記論理回路の
論理動作の検証を行なう論理回路シミュレーション方法
において、 論理回路における論理素子及びその接続の情報を計算機
に読み込み、ネット表現テーブル及び論理素子表現テー
ブルを作成し、 論理回路における指定された制御信号線のパラメタをも
とに論理回路の接続状態を前記ネット表現テーブル及び
論理素子表現テーブルをトレースして論理回路の各論理
素子を制御信号線単位の集合体に分割し、 制御信号線単位の集合体単位毎に前記ネット表現テーブ
ル及び論理素子表現テーブルをトレースして各論理素子
の論理回路における接続段数を求め、 同一集合体における同一接続段数の論理素子の論理素子
表現テーブルを抽出し、該同一接続段数の論理素子を多
入力素子としてまとめ、該多入力素子の論理素子表現テ
ーブルを新たに生成すると共に該論理素子表現テーブル
に関連する新たなネット表現テーブルを生成し、 前記各集合体毎に入力信号値を変化させ、各集合体毎に
前記新たに生成したネット表現テーブル及び論理素子表
現テーブルを用いて信号値伝播を行なうことを特徴とす
る論理回路シミュレーション方法。 - 【請求項2】 請求項1記載の論理回路シミュレーショ
ン方法において、 前記論理回路の各論理素子を制御信号線単位の集合体に
分割するとき、 論理回路における指定された制御信号線のパラメタをも
とに該制御信号線からフリップフロップの論理素子表現
テーブルまでの接続状態をトレースし、各制御信号線単
位にフリップフロップの論理素子表現テーブルに分割区
分番号を付与して分類し、次いで分割区分番号が同一の
フリップフロップの論理素子表現テーブルから接続先の
ネット表現テーブル及び論理素子表現テーブルを順次ト
レースし、分割区分番号が異なるフリップフロップの論
理素子表現テーブルあるいは論理回路の入出力端子を端
点として、該端点までに存在する論理素子表現テーブル
にトレース開始のフリップフロップの論理素子表現テー
ブルと同じ分割区分番号を付与し、同一の分割区分番号
を付与された論理素子表現テーブルの各論理素子を制御
信号線単位の集合体とすることを特徴とする論理回路シ
ミュレーション方法。 - 【請求項3】 請求項1記載の論理回路シミュレーショ
ン方法において、 前記各論理素子の論理回路における接続段数を求めると
き、 前記集合体単位内の入力端子あるいは入力側フリップフ
ロップから各論理素子までの遅延時間を求め、同一遅延
時間を持つ論理素子を同一接続段数とすることを特徴と
する論理回路シミュレーション方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6175980A JPH0822486A (ja) | 1994-07-05 | 1994-07-05 | 論理回路シミュレ−ション方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6175980A JPH0822486A (ja) | 1994-07-05 | 1994-07-05 | 論理回路シミュレ−ション方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0822486A true JPH0822486A (ja) | 1996-01-23 |
Family
ID=16005604
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6175980A Pending JPH0822486A (ja) | 1994-07-05 | 1994-07-05 | 論理回路シミュレ−ション方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0822486A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6978429B2 (en) | 2002-12-02 | 2005-12-20 | Renesas Technology Corp. | Logic simulation apparatus for performing logic simulation in high speed |
| JP2012205021A (ja) * | 2011-03-24 | 2012-10-22 | Yamaha Corp | 編集装置及びプログラム |
-
1994
- 1994-07-05 JP JP6175980A patent/JPH0822486A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6978429B2 (en) | 2002-12-02 | 2005-12-20 | Renesas Technology Corp. | Logic simulation apparatus for performing logic simulation in high speed |
| JP2012205021A (ja) * | 2011-03-24 | 2012-10-22 | Yamaha Corp | 編集装置及びプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH07306882A (ja) | ディレイ・レーシング・エラーリスト出力装置 | |
| JP3904645B2 (ja) | ハードウェア/ソフトウェア協調シミュレーション装置 | |
| WO1999009497A1 (fr) | Procede d'extraction de caracteristiques de synchronisation de circuits a transistors, support de stockage stockant une bibliotheque de caracteristiques de synchronisation, procede de conception de lsi et procede d'extraction par grille | |
| US20090271750A1 (en) | Timing constraint merging in hierarchical soc designs | |
| JPH0822486A (ja) | 論理回路シミュレ−ション方法 | |
| JP2508620B2 (ja) | 論理回路シミュレ―ション装置 | |
| JP2853649B2 (ja) | 論理シミュレーション用モデルの作成方法 | |
| US6463572B1 (en) | IC timing analysis with known false paths | |
| JP3080037B2 (ja) | 論理シミュレーション用モデルの作成方法 | |
| JP2856141B2 (ja) | 遅延情報処理方法及び遅延情報処理装置 | |
| JP2845154B2 (ja) | 論理シミュレーション用モデルの作成方法 | |
| JPH05128194A (ja) | 論理回路シミユレーシヨン方式および木構造論理素子ブロツクの識別子生成方式 | |
| JPH0546694A (ja) | 論理シミユレーシヨン方式 | |
| JPH06310601A (ja) | レイアウト設計方法 | |
| JPH11259555A (ja) | マクロの設計方法 | |
| JPH09259171A (ja) | 組み合わせ論理回路における真理値表作成方法 | |
| CN120579508A (zh) | 匹配信息生成方法、装置及相关设备 | |
| CN119514437A (zh) | 基于抽象时序图的时序分析方法、电子设备及存储介质 | |
| JPS6311715B2 (ja) | ||
| JPH06243190A (ja) | 論理シミュレータ | |
| JPH1063711A (ja) | 集積回路の特性値抽出方法 | |
| JPH02118850A (ja) | 論理シミュレーション方法 | |
| JPH06290230A (ja) | 論理シミュレーション装置 | |
| JPH03257586A (ja) | 論理回路のタイミングシミュレーション方式 | |
| JPH05298390A (ja) | 位置情報を利用したクロツク分配方法 |