JPH0423076A - ハードウエア自動設計システムの前処理方式 - Google Patents
ハードウエア自動設計システムの前処理方式Info
- Publication number
- JPH0423076A JPH0423076A JP2127164A JP12716490A JPH0423076A JP H0423076 A JPH0423076 A JP H0423076A JP 2127164 A JP2127164 A JP 2127164A JP 12716490 A JP12716490 A JP 12716490A JP H0423076 A JPH0423076 A JP H0423076A
- Authority
- JP
- Japan
- Prior art keywords
- language
- logic circuit
- specifications
- function
- section
- 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)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、論理回路の機能仕様からハードウェアを設計
するためのハードウェア自動設計システムの前処理方法
に関するものである。
するためのハードウェア自動設計システムの前処理方法
に関するものである。
[従来の技術]
近年LSIの大規模化及びカスタム化に伴い、論理設計
にコンビ二−タを用いて設計の効率化と共に大衆化も図
られている。一般にこれらはハードウェア自動設計シス
テムと呼ばれており、設計したいハードウェアの機能を
記述して、それを論理回路として自動的に合成し、シミ
ュレーションによって確かめられるようなシステムであ
る。このようなシステムでは、ハードウェアの機能を特
別な言語で記述する方法C以下、このような言語を機能
記述用言語ということにする)が知られている。例えば
、特開平2−39376号公報では論理合成の入力とし
て特別なRTL言藷を用意している。又、一般にこのよ
うな言語でハードウェアの機能記述を行う筋に、アルゴ
リズムが正しいかどうかを検証しなければならないが、
これには汎用コンピュータ言語である高級プログラミン
グ言語(以下、このような言語を検証用言語ということ
にする)を使ってプログラミングして確かめているのが
現状である。
にコンビ二−タを用いて設計の効率化と共に大衆化も図
られている。一般にこれらはハードウェア自動設計シス
テムと呼ばれており、設計したいハードウェアの機能を
記述して、それを論理回路として自動的に合成し、シミ
ュレーションによって確かめられるようなシステムであ
る。このようなシステムでは、ハードウェアの機能を特
別な言語で記述する方法C以下、このような言語を機能
記述用言語ということにする)が知られている。例えば
、特開平2−39376号公報では論理合成の入力とし
て特別なRTL言藷を用意している。又、一般にこのよ
うな言語でハードウェアの機能記述を行う筋に、アルゴ
リズムが正しいかどうかを検証しなければならないが、
これには汎用コンピュータ言語である高級プログラミン
グ言語(以下、このような言語を検証用言語ということ
にする)を使ってプログラミングして確かめているのが
現状である。
[発明が解決しようとする課題]
このように、考案したアルゴリズムをハードウェア化し
ようとするときには、通常高級プログラミング言語の検
証用言語を使って正常に動くかどうかをコンピュータを
使って検証し、アルゴリズムの確認を行っている。この
確認作業の後、改めて機能記述用言語で記述し直してか
らハードウェア自動設計システムで論理回路を作成する
ので、・2つの言語を学習しなければならない・機能仕
様を再度記述する ・書き直しでの変換ミスが入り込む という問題があった。
ようとするときには、通常高級プログラミング言語の検
証用言語を使って正常に動くかどうかをコンピュータを
使って検証し、アルゴリズムの確認を行っている。この
確認作業の後、改めて機能記述用言語で記述し直してか
らハードウェア自動設計システムで論理回路を作成する
ので、・2つの言語を学習しなければならない・機能仕
様を再度記述する ・書き直しでの変換ミスが入り込む という問題があった。
本発明は、上記のような問題を解決するために、検証用
言語と機能記述用言語とを一本化して、ハードウェア設
計者が2つの言語を覚えなくても良いようにして、2言
語間の変換ミスをなくし且つ設計作業全体での動索化を
図ることを目的とする。
言語と機能記述用言語とを一本化して、ハードウェア設
計者が2つの言語を覚えなくても良いようにして、2言
語間の変換ミスをなくし且つ設計作業全体での動索化を
図ることを目的とする。
EaMを解決するための手段」
上記目的を達成するために請求項1に記載されている発
明は、論理回路の機能仕様を入力する入力部と、ユーザ
との会話を制御する二−ザイシタフェース部と、in記
論理回路の機能仕様を解析する解析部と、解析結果から
論理合成システム用のCADデータを生成するCADデ
ータ生成部とを備えて、論理回路の機能仕様から論理回
路を合成するハードウェア自動設計システムにおいて、
前記入力部は論理回路機能を検証するときに用いた機能
仕様をそのまま入力し、機能仕様の不要部分と使用メモ
リ情報の指示をユーザインターフニス部で得て、変数の
入出力と結合関係及び演算の発生順序等の解析を行ない
、ハードウェア自動設計システム用のCADデータを生
成するようにしたことを特徴としている。
明は、論理回路の機能仕様を入力する入力部と、ユーザ
との会話を制御する二−ザイシタフェース部と、in記
論理回路の機能仕様を解析する解析部と、解析結果から
論理合成システム用のCADデータを生成するCADデ
ータ生成部とを備えて、論理回路の機能仕様から論理回
路を合成するハードウェア自動設計システムにおいて、
前記入力部は論理回路機能を検証するときに用いた機能
仕様をそのまま入力し、機能仕様の不要部分と使用メモ
リ情報の指示をユーザインターフニス部で得て、変数の
入出力と結合関係及び演算の発生順序等の解析を行ない
、ハードウェア自動設計システム用のCADデータを生
成するようにしたことを特徴としている。
[作 用コ
先ず、考案されたアルゴリズムは検証用言語で記述され
、コンピュータによって検証される。
、コンピュータによって検証される。
次に、その検証用言語で書かれたアルゴリズムはそのま
ま機能記述用言語で書かれたものとして入力され、不要
部分やハードウェア化に必要な情報をユーザとの会話に
よって得てから、解析部で構造解析し、ハードウェア自
動設計システムで使用できるようなCADデータを生成
出力する。
ま機能記述用言語で書かれたものとして入力され、不要
部分やハードウェア化に必要な情報をユーザとの会話に
よって得てから、解析部で構造解析し、ハードウェア自
動設計システムで使用できるようなCADデータを生成
出力する。
[実 施 例]
以下に本発明の一実施例を図面を用いて詳細に説明する
。本実施例では、検証用言語/機能記述用言語をC言語
としているが、他の高級プログラミング言語であっても
良いことはいうまでもない。
。本実施例では、検証用言語/機能記述用言語をC言語
としているが、他の高級プログラミング言語であっても
良いことはいうまでもない。
第1図は、本発明におけるハードウェア自動設計システ
ムの実施例を示すブロック図である。
ムの実施例を示すブロック図である。
10は機能記述用言語で書かれた機能仕様を、11は入
力部を、12は解析部を、13はユーザインターフェー
ス部を、14はCADデータ生成部を、15は解析結果
記憶部を、16はCADデータ記憶部を示している。
力部を、12は解析部を、13はユーザインターフェー
ス部を、14はCADデータ生成部を、15は解析結果
記憶部を、16はCADデータ記憶部を示している。
入力部11は、アルゴリズムをC言語(機能記述用言語
)で記述した機能仕様を入力し、s+nclude、
=define、 :1fdef等によ↓ノ指示された
ファイルの包含、文字列の置換、マグロの置換及び条件
付きコンパイル等、C言語処理系のブリプロセッサと同
じ処理を行う。その結果は解析部12へ2度される。
)で記述した機能仕様を入力し、s+nclude、
=define、 :1fdef等によ↓ノ指示された
ファイルの包含、文字列の置換、マグロの置換及び条件
付きコンパイル等、C言語処理系のブリプロセッサと同
じ処理を行う。その結果は解析部12へ2度される。
解析部12は機能仕様のうち論理設計に不要な部分をユ
ーザインターフェース部13を通してユザと会話しなが
ら削除処理、メモリ情報の要求及び構造解析等を行い、
解析結果記憶部15ノ\格納する。
ーザインターフェース部13を通してユザと会話しなが
ら削除処理、メモリ情報の要求及び構造解析等を行い、
解析結果記憶部15ノ\格納する。
第2図は本実施例における解析部の処理の流れを示すフ
ローチャートである。
ローチャートである。
第3図に示したクイックソートのアルゴリズムを回路設
計する例を、第2図を用いてより詳細に説明する。
計する例を、第2図を用いてより詳細に説明する。
テップ1
ユーザインターフェース部13は、ユーザにハードウェ
ア化するのに関係のない部分を質問形式で入力を促す。
ア化するのに関係のない部分を質問形式で入力を促す。
この指示から不要部分を削除すると、第4図のようにな
る。
る。
ステップ2
更に、ユーザインタフェース部13は、第5図のように
ユーザとの会話によって、配列等のメモリアロケートで
確保する記憶領域がとのようなメモリを使用するかの情
報(種類。
ユーザとの会話によって、配列等のメモリアロケートで
確保する記憶領域がとのようなメモリを使用するかの情
報(種類。
サイズ、構成、スピード等)を収集する。
ステップ3
ステップlで不要部分を削除した機能仕様に対して、識
別子、キーワード、定数、文字列、演算子、区切り等を
判定し、入力を単語とその属性との対応表を作成すると
いう、所謂字句解析を行う。
別子、キーワード、定数、文字列、演算子、区切り等を
判定し、入力を単語とその属性との対応表を作成すると
いう、所謂字句解析を行う。
ステップ4
機能仕様と字句解析の結果とから、次のようなステップ
で構造解析を行う。
で構造解析を行う。
・関数単位に分割する。
・変数は定義された場所により次の2つのタイプに分類
して抽出する。
して抽出する。
関数外のとき:外部変数。
関数内のとき、内部変数。
演算子に使われていると、
それに関係する入力と出力の
変数名と演算子を一組とする。
・文の並びや制御文1f−then、 for、 wh
ile。
ile。
do−while、 gol、o、関数呼出し等の出現
順序から、演算の発生順序を解析する。
順序から、演算の発生順序を解析する。
(但し、関数の再帰的呼出しはスタックを用いて実現す
る。) ステップ5 その解析結果を解析結果記憶部15に格納する。
る。) ステップ5 その解析結果を解析結果記憶部15に格納する。
CADデータ生成部14は、解析結果記憶部15にある
解析結果をハードウェア自動設計システムへ入力する形
式(例えば、第6図のようなデータフローとタイムチャ
ート、及び第7図のようなメモリ情報等の情報)を生成
し、CADデータ記憶部16へ格納する。
解析結果をハードウェア自動設計システムへ入力する形
式(例えば、第6図のようなデータフローとタイムチャ
ート、及び第7図のようなメモリ情報等の情報)を生成
し、CADデータ記憶部16へ格納する。
[発明の効果コ
以上述べたように、請求項1に記載されている発明によ
れば、ハードウェア設計のための特別な言語を学習する
必要がなくなり、設計に専念できる5又、アルゴリズム
の検証用言語をそのまま入力するため変換ミスがなくな
り、全体の設計時間も減少する。ハードウェア設計に詳
しくないシステムエンジニアでもハードウェアの設計が
できるようになる。更に、独自のハードウェア自動設計
システムに本発明に基づく前処理方式を組み込むことに
より汎用の高級プログラミング言語入力によるハードウ
ェア自動設計システムが構築できる。
れば、ハードウェア設計のための特別な言語を学習する
必要がなくなり、設計に専念できる5又、アルゴリズム
の検証用言語をそのまま入力するため変換ミスがなくな
り、全体の設計時間も減少する。ハードウェア設計に詳
しくないシステムエンジニアでもハードウェアの設計が
できるようになる。更に、独自のハードウェア自動設計
システムに本発明に基づく前処理方式を組み込むことに
より汎用の高級プログラミング言語入力によるハードウ
ェア自動設計システムが構築できる。
第1図は本発明の実施例を示すブロック図、第2図は解
析部の処理の流れを示すフローチャート、第3図は検証
用言語(機能記述用言語)で書かれた回路設計のアルゴ
リズムを示すプログラム例。 第4図は不要部分を削除したプログラム例、第5図はユ
ーザインターフェース部の会話例、第6図はデータフロ
ー&タイムチャートの生成例、第7図はメモリ情報の生
成例である。 10 ・機能仕様、11・・入力部、12−・解析部
、 13 ユーザインターフェース部、 14・C、A Dデータ生成部、 15・解析結果記憶部、 +6−CADデータ記憶部。
析部の処理の流れを示すフローチャート、第3図は検証
用言語(機能記述用言語)で書かれた回路設計のアルゴ
リズムを示すプログラム例。 第4図は不要部分を削除したプログラム例、第5図はユ
ーザインターフェース部の会話例、第6図はデータフロ
ー&タイムチャートの生成例、第7図はメモリ情報の生
成例である。 10 ・機能仕様、11・・入力部、12−・解析部
、 13 ユーザインターフェース部、 14・C、A Dデータ生成部、 15・解析結果記憶部、 +6−CADデータ記憶部。
Claims (1)
- 1、論理回路の機能仕様を入力する入力部と、ユーザと
の会話を制御するユーザインターフェース部と、前記論
理回路の機能仕様を解析する解析部と、解析結果から論
理合成システム用のCADデータを生成するCADデー
タ生成部とを備えて論理回路の機能仕様から論理回路を
合成するハードウェア自動設計システムにおいて、前記
入力部は論理回路機能を検証するときに用いた機能仕様
をそのまま入力し、機能仕様の不要部分と使用メモリ情
報の指示を前記ユーザインターフェース部で得て、変数
の入出力と結合関係及び演算の発生順序等の解析を行な
い、ハードウェア自動設計システム用のCADデータを
生成するようにしたことを特徴とするハードウェア自動
設計システムの前処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2127164A JPH0423076A (ja) | 1990-05-17 | 1990-05-17 | ハードウエア自動設計システムの前処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2127164A JPH0423076A (ja) | 1990-05-17 | 1990-05-17 | ハードウエア自動設計システムの前処理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0423076A true JPH0423076A (ja) | 1992-01-27 |
Family
ID=14953236
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2127164A Pending JPH0423076A (ja) | 1990-05-17 | 1990-05-17 | ハードウエア自動設計システムの前処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0423076A (ja) |
-
1990
- 1990-05-17 JP JP2127164A patent/JPH0423076A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5557774A (en) | Method for making test environmental programs | |
| US6317871B1 (en) | System for ensuring the accuracy of file structures in a source-to-source computer program translator | |
| JPH08202545A (ja) | ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法 | |
| JPH11513512A (ja) | ディジタル信号プロセッサの製造方法 | |
| CN112527256A (zh) | 一种集成化水电站模型开发系统及方法 | |
| JP2801931B2 (ja) | 論理設計処理装置および回路変換ルール翻訳装置ならびに回路変換ルール翻訳方法 | |
| JP3196675B2 (ja) | 言語処理方式 | |
| JPH0423076A (ja) | ハードウエア自動設計システムの前処理方式 | |
| Cyrluk et al. | Theorem proving: Not an esoteric diversion, but the unifying framework for industrial verification | |
| Schöpp et al. | Requirements-based code model checking | |
| Ruggiero et al. | Analysis of data flow models using the SARA graph model of behavior | |
| Bjarnason | Interactive Tool Support for Domain-Specific Languages | |
| JP2882876B2 (ja) | プログラム試験方法 | |
| JP2539070B2 (ja) | コンパイラ処理装置 | |
| KR0161763B1 (ko) | 오엠티 기법을 이용한 설계 정보 편집 방법 | |
| JP2861630B2 (ja) | 接続構造解析器 | |
| Pehrson | An interactive framework for design automation | |
| JPH04137073A (ja) | 設計図面作成装置 | |
| JP2001022808A (ja) | 論理回路削減装置ならびに論理シミュレーション方法および装置 | |
| CN119598918A (zh) | 一种模块参数化文件的生成方法及装置 | |
| JPH06348463A (ja) | 入出力装置模擬部作成方法 | |
| JPH0358232A (ja) | プリプロセッサ呼び出し方式 | |
| Beauregard et al. | Schematic coding on an IBM-PC | |
| Meyer | CAD tool interchangeability through net list translation | |
| JPH05204705A (ja) | 未定義変数検出処理方法 |