JPH0896003A - 回路遅延算出装置およびその方法 - Google Patents
回路遅延算出装置およびその方法Info
- Publication number
- JPH0896003A JPH0896003A JP6229835A JP22983594A JPH0896003A JP H0896003 A JPH0896003 A JP H0896003A JP 6229835 A JP6229835 A JP 6229835A JP 22983594 A JP22983594 A JP 22983594A JP H0896003 A JPH0896003 A JP H0896003A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- delay
- delay time
- data
- signal
- 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)【要約】
【目的】 機能レベルで記述された回路の遅延時間を見
積もることができる回路遅延算出装置およびその方法を
提供する。 【構成】 入力HDLデータ110はHDLで回路を記
述したテキストデータである。記述解析部100は入力
HDLデータ110を構文解析し、構文解析データ12
0として出力する。遅延解析部102は構文解析データ
120を解析し、相対遅延データ130として出力す
る。遅延見積部104は現実手段データ140等を参照
して、相対遅延データ130から入力HDLデータ11
0に記述された回路における実時間的な遅延時間それぞ
れを算出し、絶対遅延データ150として出力する。
積もることができる回路遅延算出装置およびその方法を
提供する。 【構成】 入力HDLデータ110はHDLで回路を記
述したテキストデータである。記述解析部100は入力
HDLデータ110を構文解析し、構文解析データ12
0として出力する。遅延解析部102は構文解析データ
120を解析し、相対遅延データ130として出力す
る。遅延見積部104は現実手段データ140等を参照
して、相対遅延データ130から入力HDLデータ11
0に記述された回路における実時間的な遅延時間それぞ
れを算出し、絶対遅延データ150として出力する。
Description
【0001】
【産業上の利用分野】本発明は半導体装置の論理設計の
際に用いられる時間遅延を算出する回路遅延算出装置に
関する。
際に用いられる時間遅延を算出する回路遅延算出装置に
関する。
【0002】
【従来の技術】半導体装置(集積回路)内で発生する時
間遅延の値は、一般に半導体装置に用いられている論理
演算回路がそれぞれ固有に信号に与える遅延時間と、内
部配線が信号に与える遅延時間の総和として算出され
る。このように、半導体装置の時間遅延を半導体装置内
の論理演算回路および内部配線(以下、これらを総称し
て「回路要素」と記す)それぞれの遅延時間の総和を算
出する場合、遅延時間算出の対称となる回路を論理演算
回路等の相互接続網として表現する必要がある。
間遅延の値は、一般に半導体装置に用いられている論理
演算回路がそれぞれ固有に信号に与える遅延時間と、内
部配線が信号に与える遅延時間の総和として算出され
る。このように、半導体装置の時間遅延を半導体装置内
の論理演算回路および内部配線(以下、これらを総称し
て「回路要素」と記す)それぞれの遅延時間の総和を算
出する場合、遅延時間算出の対称となる回路を論理演算
回路等の相互接続網として表現する必要がある。
【0003】
【発明が解決しようとする課題】近年、半導体装置の論
理設計において、トップダウン設計方法が用いられるよ
うになってきた。トップダウン設計方法には、以下のよ
うな特徴がある。トップダウン設計方法においては、半
導体装置の回路をハードウエア記述言語(HDL)を用
いて記述する。HDLを用いて論理演算回路を記述する
ことにより、論理演算回路の相互接続網による記述より
も抽象的な機能レベルで回路を表現することができるよ
うになった。よって、トップダウン設計方法を用いる
と、機能レベルで設計した回路を現実の回路として実現
する手段(実現手段)と独立に回路の論理設計をするこ
とができる。論理設計と実現手段とが独立していること
は、設計の再利用、具体的にはHDLで記述した回路を
ある実現手段により実現している場合に、実現手段のみ
を独立にバージョンアップすることができる等の面で非
常に有効である。
理設計において、トップダウン設計方法が用いられるよ
うになってきた。トップダウン設計方法には、以下のよ
うな特徴がある。トップダウン設計方法においては、半
導体装置の回路をハードウエア記述言語(HDL)を用
いて記述する。HDLを用いて論理演算回路を記述する
ことにより、論理演算回路の相互接続網による記述より
も抽象的な機能レベルで回路を表現することができるよ
うになった。よって、トップダウン設計方法を用いる
と、機能レベルで設計した回路を現実の回路として実現
する手段(実現手段)と独立に回路の論理設計をするこ
とができる。論理設計と実現手段とが独立していること
は、設計の再利用、具体的にはHDLで記述した回路を
ある実現手段により実現している場合に、実現手段のみ
を独立にバージョンアップすることができる等の面で非
常に有効である。
【0004】また、トップダウン設計方法においては、
論理合成による回路表現変換を行う。つまり、論理合成
技術を用いることにより、機能レベルで記述された回路
を論理演算回路の相互接続網の表現に自動的に変換する
ことができる。機能レベルで記述された回路を論理合成
により変換する際には、回路の実現手段や回路の性能
(動作速度、回路規模)を設計制約として与えることが
できる。したがって、1つの機能レベルの回路から異な
る実現手段それぞれに対して最適な論理演算回路の相互
接続網表現の回路を生成することができる。
論理合成による回路表現変換を行う。つまり、論理合成
技術を用いることにより、機能レベルで記述された回路
を論理演算回路の相互接続網の表現に自動的に変換する
ことができる。機能レベルで記述された回路を論理合成
により変換する際には、回路の実現手段や回路の性能
(動作速度、回路規模)を設計制約として与えることが
できる。したがって、1つの機能レベルの回路から異な
る実現手段それぞれに対して最適な論理演算回路の相互
接続網表現の回路を生成することができる。
【0005】しかしながら、論理合成を用いつつ遅延時
間を算出しようとする場合には1つの矛盾が生じる。つ
まり、論理合成を行う際には、制約条件として論理演算
回路それぞれの遅延時間(速度)を与える必要がある。
このため、回路の遅延時間を論理合成前に見積もる必要
があるが、従来の技術として示した回路要素それぞれの
遅延時間の総和を算出する方法は、回路が論理演算回路
の相互接続網として記述されている場合にのみ適用可能
である。つまり回路要素それぞれの遅延時間は論理合成
の後に初めて判明する。
間を算出しようとする場合には1つの矛盾が生じる。つ
まり、論理合成を行う際には、制約条件として論理演算
回路それぞれの遅延時間(速度)を与える必要がある。
このため、回路の遅延時間を論理合成前に見積もる必要
があるが、従来の技術として示した回路要素それぞれの
遅延時間の総和を算出する方法は、回路が論理演算回路
の相互接続網として記述されている場合にのみ適用可能
である。つまり回路要素それぞれの遅延時間は論理合成
の後に初めて判明する。
【0006】論理合成の前に回路の遅延時間を見積もる
ためには、例えば設計者の経験的な知識にたよったり、
論理合成を繰り返し適用したりする方法が現在のところ
取られている。しかし、半導体装置の回路規模の増大や
設計期間短縮の必要から、これらの方法を採ることが難
しくなってきていた。
ためには、例えば設計者の経験的な知識にたよったり、
論理合成を繰り返し適用したりする方法が現在のところ
取られている。しかし、半導体装置の回路規模の増大や
設計期間短縮の必要から、これらの方法を採ることが難
しくなってきていた。
【0007】本発明は上述した従来技術の問題点に鑑み
てなされたものであり、HDL等により抽象的な機能レ
ベルで記述された回路の遅延時間を見積もることができ
る回路遅延算出装置およびその方法を提供することを目
的とする。
てなされたものであり、HDL等により抽象的な機能レ
ベルで記述された回路の遅延時間を見積もることができ
る回路遅延算出装置およびその方法を提供することを目
的とする。
【0008】
【課題を解決するための手段】上述の目的を達成するた
めに、本発明の回路遅延算出装置は、入力端子と出力端
子との間に接続された回路要素から構成される回路を所
定の記述言語で記述したテキストから、該入力端子それ
ぞれから入力された信号が、いずれの回路要素を介して
いずれの出力端子から出力されるかを示す信号経路を解
析する回路解析手段と、前記回路要素それぞれが信号に
与える遅延時間に対応する符号と該回路要素とを対応付
け、 前記各回路要素が信号に与える遅延時間に対応す
る符号と該回路要素とを対応付け、前記各信号経路に含
まれる前記入力端子と前記出力端子との組み合わせの間
それぞれの遅延時間を、該符号を用いた式として算出す
る第1の遅延時間算出手段と、前記式に含まれる符号そ
れぞれと、該符号と対応する前記回路要素それぞれが実
現された場合に信号に与える実際の遅延時間の値とを対
応付け、前記信号経路の入力端子と出力端子との間で信
号に与えられる遅延時間の値を算出する第2の遅延時間
算出手段とを有する。
めに、本発明の回路遅延算出装置は、入力端子と出力端
子との間に接続された回路要素から構成される回路を所
定の記述言語で記述したテキストから、該入力端子それ
ぞれから入力された信号が、いずれの回路要素を介して
いずれの出力端子から出力されるかを示す信号経路を解
析する回路解析手段と、前記回路要素それぞれが信号に
与える遅延時間に対応する符号と該回路要素とを対応付
け、 前記各回路要素が信号に与える遅延時間に対応す
る符号と該回路要素とを対応付け、前記各信号経路に含
まれる前記入力端子と前記出力端子との組み合わせの間
それぞれの遅延時間を、該符号を用いた式として算出す
る第1の遅延時間算出手段と、前記式に含まれる符号そ
れぞれと、該符号と対応する前記回路要素それぞれが実
現された場合に信号に与える実際の遅延時間の値とを対
応付け、前記信号経路の入力端子と出力端子との間で信
号に与えられる遅延時間の値を算出する第2の遅延時間
算出手段とを有する。
【0009】好適には、前記回路解析手段は、前記信号
経路それぞれを、前記出力端子を根とし、該出力端子に
対応する前記回路要素および前記入力端子をそれぞれ節
および葉とするグラフとして記述する。好適には、前記
第1の遅延時間算出手段は、前記回路要素として単位論
理演算回路ごとに前記符号との対応付けを行う。好適に
は、前記第2の遅延時間算出手段は、前記符号と前記実
際の遅延時間との関係を示す変換テーブルを有し、前記
変換テーブルを参照して前記符号と前記実際の遅延時間
とを対応付ける。好適には、算出された前記遅延時間の
値を、前記回路の回路規模および前記信号経路の分岐
数、またはこれらのいずれかに対応して重み付け補正す
る補正手段をさらに有する。
経路それぞれを、前記出力端子を根とし、該出力端子に
対応する前記回路要素および前記入力端子をそれぞれ節
および葉とするグラフとして記述する。好適には、前記
第1の遅延時間算出手段は、前記回路要素として単位論
理演算回路ごとに前記符号との対応付けを行う。好適に
は、前記第2の遅延時間算出手段は、前記符号と前記実
際の遅延時間との関係を示す変換テーブルを有し、前記
変換テーブルを参照して前記符号と前記実際の遅延時間
とを対応付ける。好適には、算出された前記遅延時間の
値を、前記回路の回路規模および前記信号経路の分岐
数、またはこれらのいずれかに対応して重み付け補正す
る補正手段をさらに有する。
【0010】また、本発明の回路遅延算出方法は、回路
の機能を所定の記述言語で記述したテキストから、該機
能を実現するための回路要素間の信号経路を解析し、前
記信号経路に含まれる回路要素が信号に与える遅延時間
を、該回路要素それぞれに対応する符号を用いた式とし
て算出し、前記式に含まれる符号それぞれと、該符号と
対応する前記回路要素それぞれが実現された場合に信号
に与える実際の遅延時間の値とを対応付け、前記信号経
路において信号に与えられる遅延時間の値を算出する。
の機能を所定の記述言語で記述したテキストから、該機
能を実現するための回路要素間の信号経路を解析し、前
記信号経路に含まれる回路要素が信号に与える遅延時間
を、該回路要素それぞれに対応する符号を用いた式とし
て算出し、前記式に含まれる符号それぞれと、該符号と
対応する前記回路要素それぞれが実現された場合に信号
に与える実際の遅延時間の値とを対応付け、前記信号経
路において信号に与えられる遅延時間の値を算出する。
【0011】
【作用】回路解析手段は、半導体装置の内部回路等をH
DLといったハードウェア記述言語で記述したテキスト
を構文解析し、その回路を構成する論理演算回路および
内部配線等の回路要素と入出力関係の接続を示す信号経
路を、例えば出力端子を根とし、入力端子を葉とし、回
路要素を節とした木状のグラフの形式の構文解析データ
として出力する。第1の遅延時間算出手段は、回路解析
手段が生成した構文解析データに含まれる各信号経路の
回路要素それぞれと、これらの回路要素が信号に与える
遅延時間に対応する符号とを対応付け、1組の入力端子
と出力端子との間で信号が受ける遅延時間それぞれを、
これらの符号を用いた式として算出し、相対遅延データ
として出力する。第2の遅延時間算出手段は、相対遅延
データの各式に含まれる符号それぞれに実際の遅延時間
を代入し、回路が現実の半導体装置として実現された際
に入力端子と出力端子との間で信号に与える実際の遅延
時間を算出し、絶対遅延データとして出力する。
DLといったハードウェア記述言語で記述したテキスト
を構文解析し、その回路を構成する論理演算回路および
内部配線等の回路要素と入出力関係の接続を示す信号経
路を、例えば出力端子を根とし、入力端子を葉とし、回
路要素を節とした木状のグラフの形式の構文解析データ
として出力する。第1の遅延時間算出手段は、回路解析
手段が生成した構文解析データに含まれる各信号経路の
回路要素それぞれと、これらの回路要素が信号に与える
遅延時間に対応する符号とを対応付け、1組の入力端子
と出力端子との間で信号が受ける遅延時間それぞれを、
これらの符号を用いた式として算出し、相対遅延データ
として出力する。第2の遅延時間算出手段は、相対遅延
データの各式に含まれる符号それぞれに実際の遅延時間
を代入し、回路が現実の半導体装置として実現された際
に入力端子と出力端子との間で信号に与える実際の遅延
時間を算出し、絶対遅延データとして出力する。
【0012】
【実施例】以下、本発明の実施例を説明する。まず、図
1を参照して本発明の回路遅延算出システム1の構成を
説明する。回路遅延算出システム1は、入力HDLデー
タ110から、その内部回路の遅延時間を見積もり、見
積結果を絶対遅延データ150として出力する。図1に
示すように、回路遅延算出システム1は、回路遅延算出
装置10と、回路遅延算出装置10が入出力する入力H
DLデータ110、構文解析データ120、相対遅延デ
ータ130、実現手段データ140および絶対遅延デー
タ150から構成され、回路遅延算出装置10は、記述
解析部100、遅延解析部102、遅延見積部104お
よび絶対遅延変換表106から構成される。なお、回路
遅延算出装置10の各構成要素は、例えば計算機上にソ
フトウェアとして実現される。
1を参照して本発明の回路遅延算出システム1の構成を
説明する。回路遅延算出システム1は、入力HDLデー
タ110から、その内部回路の遅延時間を見積もり、見
積結果を絶対遅延データ150として出力する。図1に
示すように、回路遅延算出システム1は、回路遅延算出
装置10と、回路遅延算出装置10が入出力する入力H
DLデータ110、構文解析データ120、相対遅延デ
ータ130、実現手段データ140および絶対遅延デー
タ150から構成され、回路遅延算出装置10は、記述
解析部100、遅延解析部102、遅延見積部104お
よび絶対遅延変換表106から構成される。なお、回路
遅延算出装置10の各構成要素は、例えば計算機上にソ
フトウェアとして実現される。
【0013】入力HDLデータ110は、例えば、ハー
ドウェア記述言語HDLで論理演算を行う半導体装置内
部の回路を記述したテキストデータである。なお、説明
の簡略化のために、入力HDLデータ110において、
階層構造を有さない組み合わせ論理回路のみからなる回
路が、出力信号を左辺とし、入力信号と回路要素の論理
等(演算子)を右辺とする式(代入文)の形式で記述さ
れている場合について説明する。
ドウェア記述言語HDLで論理演算を行う半導体装置内
部の回路を記述したテキストデータである。なお、説明
の簡略化のために、入力HDLデータ110において、
階層構造を有さない組み合わせ論理回路のみからなる回
路が、出力信号を左辺とし、入力信号と回路要素の論理
等(演算子)を右辺とする式(代入文)の形式で記述さ
れている場合について説明する。
【0014】記述解析部100は、入力HDLデータ1
10を構文解析し、その結果を構文解析データ120と
して出力する。遅延解析部102は、構文解析データ1
20を解析し、その結果を相対遅延データ130として
出力する。遅延見積部104は、実現手段データ140
と絶対遅延変換表106とを参照して相対遅延データ1
30から入力HDLデータ110に記述された回路が実
現された場合の1組の入力端子と出力端子との間の実時
間的な遅延時間それぞれを算出し、その結果を絶対遅延
データ150として出力する。
10を構文解析し、その結果を構文解析データ120と
して出力する。遅延解析部102は、構文解析データ1
20を解析し、その結果を相対遅延データ130として
出力する。遅延見積部104は、実現手段データ140
と絶対遅延変換表106とを参照して相対遅延データ1
30から入力HDLデータ110に記述された回路が実
現された場合の1組の入力端子と出力端子との間の実時
間的な遅延時間それぞれを算出し、その結果を絶対遅延
データ150として出力する。
【0015】以下、図2〜図5を参照して、回路遅延算
出システム1において用いられる各データの内容および
形式を説明する。構文解析データ120の内容は、例え
ば図2に示すように、入力HDLデータ110に記述さ
れた回路の出力端子を根とし、入力端子を葉とし、論理
演算回路に対応する演算子を内部節(葉でない節)とす
るグラフ(構文解析木)を記述するデータである。内部
節の子節への枝は演算子のオペランドを示し、逆に、内
部節の親節への枝は内部節における演算結果の引渡しを
示す。ここで、「葉」および「内部節」は以下のように
定義される。つまり、「葉」は、それより下位に節を持
たない節を示し、「内部節」はそれより下位に節を有す
る節を示す。また、「親節」と「子節」とは節の間の関
係を示しており、「親節」はある節の上位の節を示し、
ある節について必ず1つである。また、「子節」とは、
ある節の下位の節を示し、ある節について複数ある場合
がある。なお、図2は、入力HDLデータ110に含ま
れている、HDLにより次式で記述されるデータを遅延
解析部102が構文解析して得られた構文解析木を示し
ている。
出システム1において用いられる各データの内容および
形式を説明する。構文解析データ120の内容は、例え
ば図2に示すように、入力HDLデータ110に記述さ
れた回路の出力端子を根とし、入力端子を葉とし、論理
演算回路に対応する演算子を内部節(葉でない節)とす
るグラフ(構文解析木)を記述するデータである。内部
節の子節への枝は演算子のオペランドを示し、逆に、内
部節の親節への枝は内部節における演算結果の引渡しを
示す。ここで、「葉」および「内部節」は以下のように
定義される。つまり、「葉」は、それより下位に節を持
たない節を示し、「内部節」はそれより下位に節を有す
る節を示す。また、「親節」と「子節」とは節の間の関
係を示しており、「親節」はある節の上位の節を示し、
ある節について必ず1つである。また、「子節」とは、
ある節の下位の節を示し、ある節について複数ある場合
がある。なお、図2は、入力HDLデータ110に含ま
れている、HDLにより次式で記述されるデータを遅延
解析部102が構文解析して得られた構文解析木を示し
ている。
【0016】
【数1】 out=(in1−in2)+(in3+in4*in5) …(1) ただし、outは出力端子(出力信号)を示し、in1
〜in5は入力端子(入力信号)を示し、+は加算(n
11,n22)を示し、−は減算(n21)を示し、*
は乗算(n31)を示す。
〜in5は入力端子(入力信号)を示し、+は加算(n
11,n22)を示し、−は減算(n21)を示し、*
は乗算(n31)を示す。
【0017】相対遅延データ130の内容は、回路の入
力端子と出力端子との全ての組合わせに対して、入力端
子と出力端子との間に接続された論理演算回路および内
部配線(以下、これらを「回路要素」と総称する)とに
それぞれ対応した符号(演算子遅延データ)を付して表
の形式で記述したデータである。相対遅延値は、入出力
間の遅延量を抽象的に表しており、演算子遅延データの
和として表される。演算子遅延データは、例えば、次式
のように記述される。
力端子と出力端子との全ての組合わせに対して、入力端
子と出力端子との間に接続された論理演算回路および内
部配線(以下、これらを「回路要素」と総称する)とに
それぞれ対応した符号(演算子遅延データ)を付して表
の形式で記述したデータである。相対遅延値は、入出力
間の遅延量を抽象的に表しており、演算子遅延データの
和として表される。演算子遅延データは、例えば、次式
のように記述される。
【0018】
【数2】 T(演算子種類:ビット幅情報) …(2)
【0019】なお、相対遅延データ130は、図3に示
すように表形式になっており、1行分のデータ、つま
り、入力端子、出力端子およびこれらに対応する相対遅
延値のデータをレコードと呼ぶ。また、各レコードの各
項目をフィールドと呼ぶ。つまり、相対遅延データ13
0の1レコードは、「入力名」「出力名」および「相対
遅延値」という3つのフィールドを有している。
すように表形式になっており、1行分のデータ、つま
り、入力端子、出力端子およびこれらに対応する相対遅
延値のデータをレコードと呼ぶ。また、各レコードの各
項目をフィールドと呼ぶ。つまり、相対遅延データ13
0の1レコードは、「入力名」「出力名」および「相対
遅延値」という3つのフィールドを有している。
【0020】絶対遅延変換表106は、図4に示すよう
に、相対遅延データ130の相対遅延値と、絶対遅延デ
ータ150の説明において後述する実現手段固有の絶対
遅延値とを対応付ける表の形式で記述される。絶対遅延
変換表106は、予め、何らかの手段により、例えば実
現手段がサポートする論理回路を実測することにより測
定された遅延時間に基づいて、回路遅延算出システム1
による遅延時間の見積もり作業の前に作成される。
に、相対遅延データ130の相対遅延値と、絶対遅延デ
ータ150の説明において後述する実現手段固有の絶対
遅延値とを対応付ける表の形式で記述される。絶対遅延
変換表106は、予め、何らかの手段により、例えば実
現手段がサポートする論理回路を実測することにより測
定された遅延時間に基づいて、回路遅延算出システム1
による遅延時間の見積もり作業の前に作成される。
【0021】絶対遅延データ150の内容は、回路の入
力端子と出力端子との全ての組み合わせと、入力端子と
出力端子との間に接続された回路要素を、実現手段によ
り現実の回路とした場合に、その実現手段に固有の遅延
時間(絶対遅延値)に対応付けた表の形式で記述したデ
ータである。絶対遅延値は入出力間の遅延量を具体的に
表しており、通常の時間の単位、例えばナノ秒(ns)
で表される。図5に示すように、絶対遅延データ150
は、相対遅延データ130と同様の形式になっており、
絶対遅延情報レコードは、「入力名」「出力名」「絶対
遅延値」という3つのフィールドを有する。
力端子と出力端子との全ての組み合わせと、入力端子と
出力端子との間に接続された回路要素を、実現手段によ
り現実の回路とした場合に、その実現手段に固有の遅延
時間(絶対遅延値)に対応付けた表の形式で記述したデ
ータである。絶対遅延値は入出力間の遅延量を具体的に
表しており、通常の時間の単位、例えばナノ秒(ns)
で表される。図5に示すように、絶対遅延データ150
は、相対遅延データ130と同様の形式になっており、
絶対遅延情報レコードは、「入力名」「出力名」「絶対
遅延値」という3つのフィールドを有する。
【0022】以下、図7〜図11を参照して、回路遅延
算出装置10の各構成要素における処理を説明する。記
述解析部100は、例えば「Alfred V. Aho, Ravi Seth
i, and Jeffrey D.Ullman. Compilers: Principles, Te
chniques, and Tools. Addison Wesley,1986.」(文献
1)に開示されている方法に従って、例えばグラフ形式
で図6(A)〜(C)に示すように表せる入力端子in
0〜in5と出力端子out0〜out2と3つの論理
演算回路(n41,n42,n51)から構成される回
路を、HDLにより下表(表1)のように記述した入力
HDLデータ110を構文解析して構文解析データ12
0を生成する。つまり、図6(A)〜(C)に示す論理
演算回路を構文解析すると下表(表1)のような内容の
構文解析データ120を得ることができる。
算出装置10の各構成要素における処理を説明する。記
述解析部100は、例えば「Alfred V. Aho, Ravi Seth
i, and Jeffrey D.Ullman. Compilers: Principles, Te
chniques, and Tools. Addison Wesley,1986.」(文献
1)に開示されている方法に従って、例えばグラフ形式
で図6(A)〜(C)に示すように表せる入力端子in
0〜in5と出力端子out0〜out2と3つの論理
演算回路(n41,n42,n51)から構成される回
路を、HDLにより下表(表1)のように記述した入力
HDLデータ110を構文解析して構文解析データ12
0を生成する。つまり、図6(A)〜(C)に示す論理
演算回路を構文解析すると下表(表1)のような内容の
構文解析データ120を得ることができる。
【0023】
【表1】module test(in0,in1,i
n2,in3,in4,in5,out0,out1,
out3) input〔3:0〕 in0,in2,in3,in
4; input〔7:0〕 in5; output〔3:0〕 out0,out1; output〔7:0〕out2; assign out0=in0; assign out1=in1+in2; assign out2=in3*in4+in5; ただし、〔3:0〕等は、〔msb:lsb〕を意味
し、信号線の幅を示している。
n2,in3,in4,in5,out0,out1,
out3) input〔3:0〕 in0,in2,in3,in
4; input〔7:0〕 in5; output〔3:0〕 out0,out1; output〔7:0〕out2; assign out0=in0; assign out1=in1+in2; assign out2=in3*in4+in5; ただし、〔3:0〕等は、〔msb:lsb〕を意味
し、信号線の幅を示している。
【0024】遅延解析部102は、構文解析データ12
0に含まれる全ての構文解析木に対して、図7〜図9に
示すステップ100(S100)、ステップ110(S
110)およびステップ120(S120)の処理を行
う。図7に示すように、S100のステップ101(S
101)において、遅延解析部102は、例えば「Dona
ld E. Knuth. The Art of Computer Programming Volum
e1. Addison Wesley. 」(文献2)に開示されている方
法に従って、構文解析データ120の各構文解析木の根
を開始節として節を行きがけ順になぞりながら、節に通
し番号を付ける。ここで、節の番号は0から始まり(0
オリジンであり)、n番目の節の番号をNn と記述し、
最後の節の番号をNmax と記述する。
0に含まれる全ての構文解析木に対して、図7〜図9に
示すステップ100(S100)、ステップ110(S
110)およびステップ120(S120)の処理を行
う。図7に示すように、S100のステップ101(S
101)において、遅延解析部102は、例えば「Dona
ld E. Knuth. The Art of Computer Programming Volum
e1. Addison Wesley. 」(文献2)に開示されている方
法に従って、構文解析データ120の各構文解析木の根
を開始節として節を行きがけ順になぞりながら、節に通
し番号を付ける。ここで、節の番号は0から始まり(0
オリジンであり)、n番目の節の番号をNn と記述し、
最後の節の番号をNmax と記述する。
【0025】ステップ102(S102)において、遅
延解析部102は、数値iに0を代入する(i:=
0)。ステップ103(S103)において、遅延解析
部102は数値iがNmax より大きいか否かを判断す
る。数値iがNmax より大きい場合にはS104の処理
に進み、数値iがNmax 以下である場合にはS105の
処理に進む。ステップ104(S104)において、遅
延解析部102は生成した、例えば下表に示す相対遅延
データ130のレコード全てをまとめて出力し、構文解
析データ120に含まれる次の構文解析木の処理に移
る。
延解析部102は、数値iに0を代入する(i:=
0)。ステップ103(S103)において、遅延解析
部102は数値iがNmax より大きいか否かを判断す
る。数値iがNmax より大きい場合にはS104の処理
に進み、数値iがNmax 以下である場合にはS105の
処理に進む。ステップ104(S104)において、遅
延解析部102は生成した、例えば下表に示す相対遅延
データ130のレコード全てをまとめて出力し、構文解
析データ120に含まれる次の構文解析木の処理に移
る。
【0026】
【表2】 (入力名) (出力名) (相対遅値) in0 out0 0 in1 out1 T(+:4,4) in2 out1 T(+:4,4) in3 out2 T(*:4,4)+T(+:8,8) in4 out2 T(*:4,4)+T(+:8,8) in5 out2 T(+:8,8) ただし、(4,4)等は、演算子の2つのオペランドの
ビット幅を示す。
ビット幅を示す。
【0027】ステップ105(S105)において、遅
延解析部102は、数値iが0である(i==0)か否
かを判断する。数値iが0である場合には、図9に示す
S120の処理に進み、数値iが0でない場合には、図
8に示すS110の処理に進む。ステップ106(S1
06)において、遅延解析部102は数値iを1増加
(インクリメント)してS103の処理に進む。
延解析部102は、数値iが0である(i==0)か否
かを判断する。数値iが0である場合には、図9に示す
S120の処理に進み、数値iが0でない場合には、図
8に示すS110の処理に進む。ステップ106(S1
06)において、遅延解析部102は数値iを1増加
(インクリメント)してS103の処理に進む。
【0028】図8に示すように、S110のステップ1
11(S111)において、1個の相対遅延データ13
0のレコードを作成する。ステップ112(S112)
において、遅延解析部102は、S111の処理におい
て生成したレコードの出力名フィールドに根の名前を書
き込む。ステップ113(S113)において、遅延解
析部102は、S111の処理において生成したレコー
ドの入力名フィールドに子節の節番号を書き込む。
11(S111)において、1個の相対遅延データ13
0のレコードを作成する。ステップ112(S112)
において、遅延解析部102は、S111の処理におい
て生成したレコードの出力名フィールドに根の名前を書
き込む。ステップ113(S113)において、遅延解
析部102は、S111の処理において生成したレコー
ドの入力名フィールドに子節の節番号を書き込む。
【0029】図9に示すように、S120のステップ1
21(S121)において、遅延解析部102は、相対
遅延データ130の入力名フィールドがiであるレコー
ドを探索する。探索の結果見つかったレコードをR1と
する。ステップ122(S122)において、遅延解析
部102は、S121で発見したi番目の節Niが構文
解析木の葉であるか、つまり、入力端子に対応するか否
かを判断する。節Niが葉である場合にはS123の処
理に進み、節Niが葉でない場合にはS124の処理に
進む。
21(S121)において、遅延解析部102は、相対
遅延データ130の入力名フィールドがiであるレコー
ドを探索する。探索の結果見つかったレコードをR1と
する。ステップ122(S122)において、遅延解析
部102は、S121で発見したi番目の節Niが構文
解析木の葉であるか、つまり、入力端子に対応するか否
かを判断する。節Niが葉である場合にはS123の処
理に進み、節Niが葉でない場合にはS124の処理に
進む。
【0030】ステップ123(S123)において、遅
延解析部102はS121で見つけたレコードの入力名
フィールドに入力端子の名前(入力名)を書き込む。ス
テップ124(S124)において、遅延解析部102
は、節Niの演算子の種類とビット幅から決まる演算子
遅延データを求める。ステップ125(S125)にお
いて、遅延解析部102は、レコードR1の相対遅延値
フィールドに、求めた演算子遅延データを加算する。ス
テップ126(S126)において、遅延解析部102
は、節Niの子節の数をmとおき、レコードR1をm−
1個複製する。複製したレコードをRj(j=2〜m)
とする。ステップ127(S127)において、遅延解
析部102は、レコードRj(j=1〜m)の入力名フ
ィールドにj番目の子節番号をそれぞれ書き込む。以上
説明した遅延解析部102の処理により、相対遅延デー
タ130が生成される。
延解析部102はS121で見つけたレコードの入力名
フィールドに入力端子の名前(入力名)を書き込む。ス
テップ124(S124)において、遅延解析部102
は、節Niの演算子の種類とビット幅から決まる演算子
遅延データを求める。ステップ125(S125)にお
いて、遅延解析部102は、レコードR1の相対遅延値
フィールドに、求めた演算子遅延データを加算する。ス
テップ126(S126)において、遅延解析部102
は、節Niの子節の数をmとおき、レコードR1をm−
1個複製する。複製したレコードをRj(j=2〜m)
とする。ステップ127(S127)において、遅延解
析部102は、レコードRj(j=1〜m)の入力名フ
ィールドにj番目の子節番号をそれぞれ書き込む。以上
説明した遅延解析部102の処理により、相対遅延デー
タ130が生成される。
【0031】以下、図10および図11を参照して遅延
見積部104の処理を説明する。遅延見積部104は、
相対遅延データ130に含まれる相対遅延値に対して、
図10および図11にそれぞれ示すステップ200(S
200)およびステップ210(S210)の処理を行
う。図10に示すように、S200のステップ201
(S201)において、遅延見積部104は、相対遅延
データ130に含まれるレコード数をnr としてnr個
の絶対遅延値レコードを作成する。
見積部104の処理を説明する。遅延見積部104は、
相対遅延データ130に含まれる相対遅延値に対して、
図10および図11にそれぞれ示すステップ200(S
200)およびステップ210(S210)の処理を行
う。図10に示すように、S200のステップ201
(S201)において、遅延見積部104は、相対遅延
データ130に含まれるレコード数をnr としてnr個
の絶対遅延値レコードを作成する。
【0032】ステップ202(S202)において、遅
延見積部104は、数値iに1を代入する(i:=
1)。ステップ203(S203)において、遅延見積
部104は、数値iがnr よりも大きいが否かを判断す
る。数値iがnr よりも大きい場合にはS204の処理
に進み、数値iがnr 以下である場合には、図11に示
すS210の処理に進む。ステップ204(S204)
において、遅延見積部104は、生成したレコード全て
を、例えば下表に示す絶対遅延データ150として出力
する。
延見積部104は、数値iに1を代入する(i:=
1)。ステップ203(S203)において、遅延見積
部104は、数値iがnr よりも大きいが否かを判断す
る。数値iがnr よりも大きい場合にはS204の処理
に進み、数値iがnr 以下である場合には、図11に示
すS210の処理に進む。ステップ204(S204)
において、遅延見積部104は、生成したレコード全て
を、例えば下表に示す絶対遅延データ150として出力
する。
【0033】
【表3】 (入力名) (出力名) (絶対遅値値;ns) in0 out0 0 in1 out1 4 in2 out1 4 in3 out2 14 in4 out2 14 in5 out2 8
【0034】ステップ205(S205)において、遅
延見積部104は、数値iをインクリメントする。
延見積部104は、数値iをインクリメントする。
【0035】図11に示すように、S210のステップ
211(S211)において、遅延見積部104は、i
番目の相対遅延データ130のレコードの入力名フィー
ルドを、絶対遅延データ150のi番目の入力名フィー
ルドに複製し、相対遅延データ130のi番目のレコー
ドの出力名フィールドを、絶対遅延データ150のi番
目のレコードの出力名フィールドに複製する。ステップ
212(S212)において、遅延見積部104は、相
対遅延データ130のi番目のレコードの相対遅延値フ
ィールドから相対遅延値を取り出す。この相対遅延値に
含まれる演算子遅延データ情報の数をno とする。
211(S211)において、遅延見積部104は、i
番目の相対遅延データ130のレコードの入力名フィー
ルドを、絶対遅延データ150のi番目の入力名フィー
ルドに複製し、相対遅延データ130のi番目のレコー
ドの出力名フィールドを、絶対遅延データ150のi番
目のレコードの出力名フィールドに複製する。ステップ
212(S212)において、遅延見積部104は、相
対遅延データ130のi番目のレコードの相対遅延値フ
ィールドから相対遅延値を取り出す。この相対遅延値に
含まれる演算子遅延データ情報の数をno とする。
【0036】ステップ213(S213)において、遅
延見積部104は、数値jに1を代入し(j:=1)、
数値dに0を代入する(d:=0)。ステップ214
(S214)において、遅延見積部104は、数値jが
no より大きいか否かを判断する。数値jがno よりも
大きい場合にはS215の処理に進み、数値jがno よ
りも小さい場合にはS216の処理に進む。
延見積部104は、数値jに1を代入し(j:=1)、
数値dに0を代入する(d:=0)。ステップ214
(S214)において、遅延見積部104は、数値jが
no より大きいか否かを判断する。数値jがno よりも
大きい場合にはS215の処理に進み、数値jがno よ
りも小さい場合にはS216の処理に進む。
【0037】ステップ215(S215)において、遅
延見積部104は、絶対遅延データ150のi番目のレ
コードの絶対遅延値フィールドに書き込む。ステップ2
16(S216)において、遅延見積部104は、実現
手段データ140と、下表に示すような絶対遅延変換表
106とを参照してj番目の演算子遅延データを絶対遅
延値に変換し、変換結果を絶対遅延値djとする。
延見積部104は、絶対遅延データ150のi番目のレ
コードの絶対遅延値フィールドに書き込む。ステップ2
16(S216)において、遅延見積部104は、実現
手段データ140と、下表に示すような絶対遅延変換表
106とを参照してj番目の演算子遅延データを絶対遅
延値に変換し、変換結果を絶対遅延値djとする。
【0038】
【表4】 (演算子遅延データ) (絶対遅延時間;ns) T(+:4,4) 4 T(*:4,4) 6 T(+:8,8) 8
【0039】ステップ217(S217)において、遅
延見積部104は、数値dにd+djを代入する(d:
=d+dj)。ステップ218(S218)において、
数値jをインクリメントする。以上に説明した処理によ
り、遅延見積部104は、絶対遅延変換表106および
実現手段データ140を参照して、相対遅延データ13
0から絶対遅延データ150を生成する。
延見積部104は、数値dにd+djを代入する(d:
=d+dj)。ステップ218(S218)において、
数値jをインクリメントする。以上に説明した処理によ
り、遅延見積部104は、絶対遅延変換表106および
実現手段データ140を参照して、相対遅延データ13
0から絶対遅延データ150を生成する。
【0040】以上述べたように、本発明の回路遅延算出
システム1によれば、相互接続網の形式で記述されてい
る回路の他、HDLにより機能レベルで記述されている
回路の遅延時間の見積もりもが可能である。また、本発
明の回路遅延算出システム1によれば、機能レベルで記
述されている回路についても遅延時間を見積もることが
できるので、上述の論理合成時に遅延時間の見積もりを
行う際に生じていたような問題を解決することができ
る。
システム1によれば、相互接続網の形式で記述されてい
る回路の他、HDLにより機能レベルで記述されている
回路の遅延時間の見積もりもが可能である。また、本発
明の回路遅延算出システム1によれば、機能レベルで記
述されている回路についても遅延時間を見積もることが
できるので、上述の論理合成時に遅延時間の見積もりを
行う際に生じていたような問題を解決することができ
る。
【0041】以上説明した実施例に示した他、本発明の
回路遅延算出装置は、遅延時間見積もりの対称となる回
路を、論理合成等により論理演算回路の相互接続網とし
て表現したあとに遅延を測定し、その値を本方式による
見積結果と比較し、その差異を情報として絶対遅延変換
表を自動的に更新するように構成する、つまり、学習機
能を付加して構成してもよい。また、回路の規模が増大
するにつれて回路の遅延時間も増大するので、まず遅延
見積りを行う回路の回路規模を見積もり、見積もった回
路規模に対応して算出した絶対遅延値に重み付けをする
ように回路遅延算出装置を構成してもよい。また、構造
解析木あるいはそれを容易に構築できる図面を入力する
画像入力手段を付加して回路遅延算出装置を構成しても
よい。また、本発明の回路遅延算出装置は、組み合わせ
論理演算回路のみから構成される回路の他、階層構造を
有したり順序論理を含んだりする回路の遅延時間見積も
りにも容易に適用することができる。
回路遅延算出装置は、遅延時間見積もりの対称となる回
路を、論理合成等により論理演算回路の相互接続網とし
て表現したあとに遅延を測定し、その値を本方式による
見積結果と比較し、その差異を情報として絶対遅延変換
表を自動的に更新するように構成する、つまり、学習機
能を付加して構成してもよい。また、回路の規模が増大
するにつれて回路の遅延時間も増大するので、まず遅延
見積りを行う回路の回路規模を見積もり、見積もった回
路規模に対応して算出した絶対遅延値に重み付けをする
ように回路遅延算出装置を構成してもよい。また、構造
解析木あるいはそれを容易に構築できる図面を入力する
画像入力手段を付加して回路遅延算出装置を構成しても
よい。また、本発明の回路遅延算出装置は、組み合わせ
論理演算回路のみから構成される回路の他、階層構造を
有したり順序論理を含んだりする回路の遅延時間見積も
りにも容易に適用することができる。
【0042】
【発明の効果】以上述べたように本発明によれば、HD
L等により抽象的な機能レベルで記述された回路の遅延
時間を見積もることができる。
L等により抽象的な機能レベルで記述された回路の遅延
時間を見積もることができる。
【図1】本発明の回路遅延算出装置の構成を示す図であ
る。
る。
【図2】図1に示した入力HDLデータに含まれる式1
で記述されるデータを、遅延解析部が構文解析して得ら
れた構文解析木を示す図である。
で記述されるデータを、遅延解析部が構文解析して得ら
れた構文解析木を示す図である。
【図3】図1に示した相対遅延データの形式を示す図で
ある。
ある。
【図4】図1に示した相対遅延データの形式を示す図で
ある。
ある。
【図5】図1に示した絶対遅延データの形式を示す図で
ある。
ある。
【図6】図1に示した入力HDLデータの内容を例示す
る図である。
る図である。
【図7】図1に示した遅延解析部の第1の処理(S10
0)を示すフローチャート図である。
0)を示すフローチャート図である。
【図8】図1に示した遅延解析部の第2の処理(S11
0)を示すフローチャート図である。
0)を示すフローチャート図である。
【図9】図1に示した遅延解析部の第3の処理(S12
0)を示すフローチャート図である。
0)を示すフローチャート図である。
【図10】図1に示した遅延見積部の第1の処理(S2
00)を示すフローチャート図である。
00)を示すフローチャート図である。
【図11】図1に示した遅延見積部の第2の処理(S2
10)を示すフローチャート図である。
10)を示すフローチャート図である。
1…回路遅延算出システム、10…回路遅延算出装置、
100…記述解析部、102…遅延解析部、104…遅
延見積部、106…絶対遅延変換表、110…入力HD
Lデータ、120…構文解析データ、130…相対遅延
データ、140…実現手段データ
100…記述解析部、102…遅延解析部、104…遅
延見積部、106…絶対遅延変換表、110…入力HD
Lデータ、120…構文解析データ、130…相対遅延
データ、140…実現手段データ
Claims (6)
- 【請求項1】入力端子と出力端子との間に接続された回
路要素から構成される回路を所定の記述言語で記述した
テキストから、該入力端子それぞれから入力された信号
が、いずれの回路要素を介していずれの出力端子から出
力されるかを示す信号経路を解析する回路解析手段と、 前記各回路要素が信号に与える遅延時間に対応する符号
と該回路要素とを対応付け、前記各信号経路に含まれる
前記入力端子と前記出力端子との組み合わせの間それぞ
れの遅延時間を、該符号を用いた式として算出する第1
の遅延時間算出手段と、 前記式に含まれる符号それぞれと、該符号と対応する前
記回路要素それぞれが実現された場合に信号に与える実
際の遅延時間の値とを対応付け、前記信号経路の入力端
子と出力端子との間で信号に与えられる遅延時間の値を
算出する第2の遅延時間算出手段とを有する回路遅延算
出装置。 - 【請求項2】前記回路解析手段は、前記信号経路それぞ
れを、前記出力端子を根とし、該出力端子に対応する前
記回路要素および前記入力端子をそれぞれ節および葉と
するグラフとして記述する請求項1に記載の回路遅延算
出装置。 - 【請求項3】前記第1の遅延時間算出手段は、前記回路
要素として単位論理演算回路ごとに前記符号との対応付
けを行う請求項1または2に記載の回路遅延算出装置。 - 【請求項4】前記第2の遅延時間算出手段は、 前記符号と前記実際の遅延時間との関係を示す変換テー
ブルを有し、 前記変換テーブルを参照して前記符号と前記実際の遅延
時間とを対応付ける請求項1〜3のいずれかに記載の回
路遅延算出装置。 - 【請求項5】算出された前記遅延時間の値を、前記回路
の回路規模および前記信号経路の分岐数、またはこれら
のいずれかに対応して重み付け補正する補正手段をさら
に有する請求項1〜4のいずれかに記載の回路遅延算出
装置。 - 【請求項6】回路の機能を所定の記述言語で記述したテ
キストから、該機能を実現するための回路要素間の信号
経路を解析し、 前記信号経路に含まれる回路要素が信号に与える遅延時
間を、該回路要素それぞれに対応する符号を用いた式と
して算出し、 前記式に含まれる符号それぞれと、該符号と対応する前
記回路要素それぞれが実現された場合に信号に与える実
際の遅延時間の値とを対応付け、前記信号経路において
信号に与えられる遅延時間の値を算出する回路遅延算出
方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6229835A JPH0896003A (ja) | 1994-09-26 | 1994-09-26 | 回路遅延算出装置およびその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6229835A JPH0896003A (ja) | 1994-09-26 | 1994-09-26 | 回路遅延算出装置およびその方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0896003A true JPH0896003A (ja) | 1996-04-12 |
Family
ID=16898426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6229835A Pending JPH0896003A (ja) | 1994-09-26 | 1994-09-26 | 回路遅延算出装置およびその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0896003A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011237888A (ja) * | 2010-05-06 | 2011-11-24 | Fujitsu Ltd | 検証支援プログラム、検証支援装置および検証支援方法 |
-
1994
- 1994-09-26 JP JP6229835A patent/JPH0896003A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011237888A (ja) * | 2010-05-06 | 2011-11-24 | Fujitsu Ltd | 検証支援プログラム、検証支援装置および検証支援方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240028306A1 (en) | Multi-lingual line-of-code completion system | |
JP3345763B2 (ja) | 自然言語翻訳装置 | |
Ladd et al. | A*: A language for implementing language processors | |
Jakobson et al. | CALIDA: a system for integrated retrieval from multiple heterogeneous databases | |
JP2002520716A (ja) | 構成記述言語システム | |
Štuikys et al. | Open PROMOL: an experimental language for target program modification | |
JPH0896003A (ja) | 回路遅延算出装置およびその方法 | |
CN115292347A (zh) | 一种基于规则的主动式sql算法性能检查装置及方法 | |
Quix et al. | Matching of ontologies with xml schemas using a generic metamodel | |
ter Hofstede et al. | Fact orientation in complex object role modelling techniques | |
JPH03260766A (ja) | 括弧生成判定機能付翻訳装置 | |
JP2606056B2 (ja) | 知識ベース構築方式 | |
US7506287B2 (en) | Method, system, and program product for pre-compile processing of hardware design language (HDL) source files | |
CN115345155B (zh) | Sv运行时的表达式求值方法 | |
ter Hofstede et al. | Grammar based information modelling | |
Harris et al. | Generation of Verification Artifacts from Natural Language Descriptions | |
CN115563150B (zh) | Hive SQL与执行引擎DAG的映射方法、设备及存储介质 | |
Wand et al. | A modular, extensible proof method for small-step flow analyses | |
JP2606541B2 (ja) | 知識獲得方式 | |
Helzerman et al. | Parallel parsing of spoken language | |
JP3339006B2 (ja) | 機械翻訳装置における並列名詞句処理装置 | |
Middelhoek | Transformational design of digital circuits | |
CN115202634A (zh) | 行情数据量化处理方法及设备 | |
JPH06236394A (ja) | 自然言語自動翻訳装置 | |
Vít | Grammar-Based Translation Framework |