JPH0423076A - Preprocessing system for hardware automatic design system - Google Patents
Preprocessing system for hardware automatic design systemInfo
- 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
- 238000013461 design Methods 0.000 title claims abstract description 27
- 238000007781 pre-processing Methods 0.000 title claims description 4
- 238000004458 analytical method Methods 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims abstract description 19
- 238000000034 method Methods 0.000 claims description 4
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000003786 synthesis reaction Methods 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000004422 calculation algorithm Methods 0.000 abstract description 10
- 238000012795 verification Methods 0.000 abstract description 9
- 238000012545 processing Methods 0.000 abstract description 8
- 238000012217 deletion Methods 0.000 abstract description 2
- 230000037430 deletion Effects 0.000 abstract description 2
- 238000006467 substitution reaction Methods 0.000 abstract 2
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012916 structural analysis Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Abstract
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、論理回路の機能仕様からハードウェアを設計
するためのハードウェア自動設計システムの前処理方法
に関するものである。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a preprocessing method for an automatic hardware design system for designing hardware from functional specifications of a logic circuit.
[従来の技術]
近年LSIの大規模化及びカスタム化に伴い、論理設計
にコンビ二−タを用いて設計の効率化と共に大衆化も図
られている。一般にこれらはハードウェア自動設計シス
テムと呼ばれており、設計したいハードウェアの機能を
記述して、それを論理回路として自動的に合成し、シミ
ュレーションによって確かめられるようなシステムであ
る。このようなシステムでは、ハードウェアの機能を特
別な言語で記述する方法C以下、このような言語を機能
記述用言語ということにする)が知られている。例えば
、特開平2−39376号公報では論理合成の入力とし
て特別なRTL言藷を用意している。又、一般にこのよ
うな言語でハードウェアの機能記述を行う筋に、アルゴ
リズムが正しいかどうかを検証しなければならないが、
これには汎用コンピュータ言語である高級プログラミン
グ言語(以下、このような言語を検証用言語ということ
にする)を使ってプログラミングして確かめているのが
現状である。[Prior Art] In recent years, as LSIs have become larger and more customizable, combinators have been used in logic design to improve efficiency and popularize the design. Generally, these systems are called automatic hardware design systems, and are systems in which the functions of the hardware to be designed are described, automatically synthesized as a logic circuit, and verified through simulation. For such systems, a method C (hereinafter, such a language will be referred to as a function description language) is known in which hardware functions are described in a special language. For example, in Japanese Patent Laid-Open No. 2-39376, a special RTL language is prepared as an input for logic synthesis. Also, in general, when describing hardware functions using such a language, it is necessary to verify whether the algorithm is correct.
Currently, this is verified by programming using a high-level programming language (hereinafter such a language will be referred to as a verification language), which is a general-purpose computer language.
[発明が解決しようとする課題]
このように、考案したアルゴリズムをハードウェア化し
ようとするときには、通常高級プログラミング言語の検
証用言語を使って正常に動くかどうかをコンピュータを
使って検証し、アルゴリズムの確認を行っている。この
確認作業の後、改めて機能記述用言語で記述し直してか
らハードウェア自動設計システムで論理回路を作成する
ので、・2つの言語を学習しなければならない・機能仕
様を再度記述する
・書き直しでの変換ミスが入り込む
という問題があった。[Problem to be solved by the invention] As described above, when attempting to implement a devised algorithm into hardware, the algorithm is usually verified by using a computer to verify whether it works normally using a verification language that is a high-level programming language. We are currently checking. After this confirmation work, we will rewrite the description in the functional description language and then create the logic circuit using the automatic hardware design system, so we will have to learn two languages, write the functional specifications again, and rewrite them. There was a problem that conversion errors were introduced.
本発明は、上記のような問題を解決するために、検証用
言語と機能記述用言語とを一本化して、ハードウェア設
計者が2つの言語を覚えなくても良いようにして、2言
語間の変換ミスをなくし且つ設計作業全体での動索化を
図ることを目的とする。In order to solve the above problems, the present invention integrates a verification language and a function description language so that hardware designers do not have to learn two languages. The purpose is to eliminate conversion errors between the two and to streamline the entire design process.
EaMを解決するための手段」
上記目的を達成するために請求項1に記載されている発
明は、論理回路の機能仕様を入力する入力部と、ユーザ
との会話を制御する二−ザイシタフェース部と、in記
論理回路の機能仕様を解析する解析部と、解析結果から
論理合成システム用のCADデータを生成するCADデ
ータ生成部とを備えて、論理回路の機能仕様から論理回
路を合成するハードウェア自動設計システムにおいて、
前記入力部は論理回路機能を検証するときに用いた機能
仕様をそのまま入力し、機能仕様の不要部分と使用メモ
リ情報の指示をユーザインターフニス部で得て、変数の
入出力と結合関係及び演算の発生順序等の解析を行ない
、ハードウェア自動設計システム用のCADデータを生
成するようにしたことを特徴としている。``Means for Solving EaM'' To achieve the above object, the invention described in claim 1 includes an input unit for inputting functional specifications of a logic circuit, and a bidirectional interface for controlling conversation with a user. a CAD data generating section that generates CAD data for a logic synthesis system from the analysis results, and synthesizes a logic circuit from the functional specifications of the logic circuit. In automatic hardware design system,
The input section inputs the functional specifications used when verifying the logic circuit function as is, obtains instructions on unnecessary parts of the functional specifications and memory usage information from the user interface section, and inputs/outputs variables, connection relationships, and calculations. The present invention is characterized in that it analyzes the order of occurrence, etc., and generates CAD data for an automatic hardware design system.
[作 用コ
先ず、考案されたアルゴリズムは検証用言語で記述され
、コンピュータによって検証される。[How it works: First, the devised algorithm is written in a verification language and verified by a computer.
次に、その検証用言語で書かれたアルゴリズムはそのま
ま機能記述用言語で書かれたものとして入力され、不要
部分やハードウェア化に必要な情報をユーザとの会話に
よって得てから、解析部で構造解析し、ハードウェア自
動設計システムで使用できるようなCADデータを生成
出力する。Next, the algorithm written in the verification language is input as it is written in the functional description language, and after obtaining unnecessary parts and information necessary for hardware implementation through a conversation with the user, the analysis section Analyze the structure and generate and output CAD data that can be used in automatic hardware design systems.
[実 施 例]
以下に本発明の一実施例を図面を用いて詳細に説明する
。本実施例では、検証用言語/機能記述用言語をC言語
としているが、他の高級プログラミング言語であっても
良いことはいうまでもない。[Example] An example of the present invention will be described below in detail with reference to the drawings. In this embodiment, C language is used as the verification language/function description language, but it goes without saying that other high-level programming languages may be used.
第1図は、本発明におけるハードウェア自動設計システ
ムの実施例を示すブロック図である。FIG. 1 is a block diagram showing an embodiment of an automatic hardware design system according to the present invention.
10は機能記述用言語で書かれた機能仕様を、11は入
力部を、12は解析部を、13はユーザインターフェー
ス部を、14はCADデータ生成部を、15は解析結果
記憶部を、16はCADデータ記憶部を示している。10 is a functional specification written in a functional description language, 11 is an input section, 12 is an analysis section, 13 is a user interface section, 14 is a CAD data generation section, 15 is an analysis result storage section, 16 indicates a CAD data storage section.
入力部11は、アルゴリズムをC言語(機能記述用言語
)で記述した機能仕様を入力し、s+nclude、
=define、 :1fdef等によ↓ノ指示された
ファイルの包含、文字列の置換、マグロの置換及び条件
付きコンパイル等、C言語処理系のブリプロセッサと同
じ処理を行う。その結果は解析部12へ2度される。The input unit 11 inputs a functional specification in which an algorithm is written in C language (a functional description language), and inputs s+nclude,
=define, :1fdef etc. to perform the same processing as the briprocessor of the C language processing system, such as inclusion of the file specified by ↓, character string replacement, tuna replacement, and conditional compilation. The results are sent to the analysis section 12 twice.
解析部12は機能仕様のうち論理設計に不要な部分をユ
ーザインターフェース部13を通してユザと会話しなが
ら削除処理、メモリ情報の要求及び構造解析等を行い、
解析結果記憶部15ノ\格納する。The analysis unit 12 performs deletion processing, requests for memory information, structural analysis, etc. while communicating with the user through the user interface unit 13 for parts of the functional specifications that are unnecessary for logical design.
The analysis results are stored in the storage section 15.
第2図は本実施例における解析部の処理の流れを示すフ
ローチャートである。FIG. 2 is a flowchart showing the processing flow of the analysis section in this embodiment.
第3図に示したクイックソートのアルゴリズムを回路設
計する例を、第2図を用いてより詳細に説明する。An example of circuit design for the quick sort algorithm shown in FIG. 3 will be explained in more detail using FIG. 2.
テップ1
ユーザインターフェース部13は、ユーザにハードウェ
ア化するのに関係のない部分を質問形式で入力を促す。Step 1 The user interface section 13 prompts the user to input parts unrelated to hardware implementation in the form of questions.
この指示から不要部分を削除すると、第4図のようにな
る。If unnecessary parts are deleted from this instruction, the result will be as shown in Fig. 4.
ステップ2
更に、ユーザインタフェース部13は、第5図のように
ユーザとの会話によって、配列等のメモリアロケートで
確保する記憶領域がとのようなメモリを使用するかの情
報(種類。Step 2 Furthermore, as shown in FIG. 5, the user interface unit 13, through a conversation with the user, obtains information (types) about the type of memory to be used for the memory area secured by memory allocation such as an array.
サイズ、構成、スピード等)を収集する。size, configuration, speed, etc.).
ステップ3
ステップlで不要部分を削除した機能仕様に対して、識
別子、キーワード、定数、文字列、演算子、区切り等を
判定し、入力を単語とその属性との対応表を作成すると
いう、所謂字句解析を行う。Step 3 For the functional specifications from which unnecessary parts were removed in Step 1, identifiers, keywords, constants, character strings, operators, delimiters, etc. are determined, and a correspondence table between input words and their attributes is created. Perform lexical analysis.
ステップ4
機能仕様と字句解析の結果とから、次のようなステップ
で構造解析を行う。Step 4 Perform structural analysis using the following steps based on the functional specifications and the results of lexical analysis.
・関数単位に分割する。- Divide into function units.
・変数は定義された場所により次の2つのタイプに分類
して抽出する。- Variables are classified and extracted into the following two types depending on the location where they are defined.
関数外のとき:外部変数。When outside a function: external variable.
関数内のとき、内部変数。Internal variables when inside a function.
演算子に使われていると、 それに関係する入力と出力の 変数名と演算子を一組とする。When used as an operator, the inputs and outputs related to it A pair of variable name and operator.
・文の並びや制御文1f−then、 for、 wh
ile。・Sentence sequences and control sentences 1f-then, for, wh
ile.
do−while、 gol、o、関数呼出し等の出現
順序から、演算の発生順序を解析する。The order in which operations occur is analyzed from the order in which do-while, gol, o, function calls, etc. appear.
(但し、関数の再帰的呼出しはスタックを用いて実現す
る。)
ステップ5
その解析結果を解析結果記憶部15に格納する。(However, recursive calling of functions is realized using a stack.) Step 5 The analysis results are stored in the analysis result storage section 15.
CADデータ生成部14は、解析結果記憶部15にある
解析結果をハードウェア自動設計システムへ入力する形
式(例えば、第6図のようなデータフローとタイムチャ
ート、及び第7図のようなメモリ情報等の情報)を生成
し、CADデータ記憶部16へ格納する。The CAD data generation unit 14 inputs the analysis results stored in the analysis result storage unit 15 into the automatic hardware design system (for example, data flow and time charts as shown in FIG. 6, and memory information as shown in FIG. 7). etc.) and stores it in the CAD data storage section 16.
[発明の効果コ
以上述べたように、請求項1に記載されている発明によ
れば、ハードウェア設計のための特別な言語を学習する
必要がなくなり、設計に専念できる5又、アルゴリズム
の検証用言語をそのまま入力するため変換ミスがなくな
り、全体の設計時間も減少する。ハードウェア設計に詳
しくないシステムエンジニアでもハードウェアの設計が
できるようになる。更に、独自のハードウェア自動設計
システムに本発明に基づく前処理方式を組み込むことに
より汎用の高級プログラミング言語入力によるハードウ
ェア自動設計システムが構築できる。[Effects of the Invention] As described above, according to the invention described in claim 1, it is no longer necessary to learn a special language for hardware design, and the five-pronged algorithm can be verified, allowing the user to concentrate on the design. Because the user language is entered as is, conversion errors are eliminated and the overall design time is also reduced. Even system engineers who are not familiar with hardware design will be able to design hardware. Furthermore, by incorporating the preprocessing method based on the present invention into a unique automatic hardware design system, an automatic hardware design system using general-purpose high-level programming language input can be constructed.
第1図は本発明の実施例を示すブロック図、第2図は解
析部の処理の流れを示すフローチャート、第3図は検証
用言語(機能記述用言語)で書かれた回路設計のアルゴ
リズムを示すプログラム例。
第4図は不要部分を削除したプログラム例、第5図はユ
ーザインターフェース部の会話例、第6図はデータフロ
ー&タイムチャートの生成例、第7図はメモリ情報の生
成例である。
10 ・機能仕様、11・・入力部、12−・解析部
、
13 ユーザインターフェース部、
14・C、A Dデータ生成部、
15・解析結果記憶部、
+6−CADデータ記憶部。Fig. 1 is a block diagram showing an embodiment of the present invention, Fig. 2 is a flowchart showing the processing flow of the analysis section, and Fig. 3 is a circuit design algorithm written in a verification language (functional description language). Example program shown. FIG. 4 shows an example of a program with unnecessary parts deleted, FIG. 5 shows an example of conversation in the user interface section, FIG. 6 shows an example of data flow and time chart generation, and FIG. 7 shows an example of memory information generation. 10 - Functional specifications, 11 - Input unit, 12 - Analysis unit, 13 User interface unit, 14 - C, AD data generation unit, 15 - Analysis result storage unit, +6 - CAD data storage unit.
Claims (1)
の会話を制御するユーザインターフェース部と、前記論
理回路の機能仕様を解析する解析部と、解析結果から論
理合成システム用のCADデータを生成するCADデー
タ生成部とを備えて論理回路の機能仕様から論理回路を
合成するハードウェア自動設計システムにおいて、前記
入力部は論理回路機能を検証するときに用いた機能仕様
をそのまま入力し、機能仕様の不要部分と使用メモリ情
報の指示を前記ユーザインターフェース部で得て、変数
の入出力と結合関係及び演算の発生順序等の解析を行な
い、ハードウェア自動設計システム用のCADデータを
生成するようにしたことを特徴とするハードウェア自動
設計システムの前処理方式。1. An input section for inputting the functional specifications of the logic circuit, a user interface section for controlling conversation with the user, an analysis section for analyzing the functional specifications of the logic circuit, and CAD data for the logic synthesis system based on the analysis results. In an automatic hardware design system that synthesizes a logic circuit from the functional specifications of the logic circuit, the input section inputs the functional specifications used when verifying the logic circuit functions as they are, and generates CAD data. Obtain instructions on unnecessary parts of specifications and memory usage information from the user interface section, analyze input/output and coupling relationships of variables, order of occurrence of operations, etc., and generate CAD data for an automatic hardware design system. A preprocessing method for an automatic hardware design system characterized by the following.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2127164A JPH0423076A (en) | 1990-05-17 | 1990-05-17 | Preprocessing system for hardware automatic design system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2127164A JPH0423076A (en) | 1990-05-17 | 1990-05-17 | Preprocessing system for hardware automatic design system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0423076A true JPH0423076A (en) | 1992-01-27 |
Family
ID=14953236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2127164A Pending JPH0423076A (en) | 1990-05-17 | 1990-05-17 | Preprocessing system for hardware automatic design system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0423076A (en) |
-
1990
- 1990-05-17 JP JP2127164A patent/JPH0423076A/en 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 (en) | Object-oriented system and method for generation of target language code | |
JPH11513512A (en) | Method of manufacturing digital signal processor | |
CN112527256A (en) | Integrated hydropower station model development system and method | |
JP2801931B2 (en) | Logic design processing device, circuit conversion rule translation device, and circuit conversion rule translation method | |
JP3196675B2 (en) | Language processing method | |
JPH0423076A (en) | Preprocessing system for hardware automatic design system | |
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 (en) | Program test method | |
JP2539070B2 (en) | Compiler processor | |
KR100309674B1 (en) | Transaction preprocessing method of real-time database management system | |
JP2974401B2 (en) | LSI design support equipment | |
KR0161763B1 (en) | Design information edit method | |
JP2861630B2 (en) | Connection structure analyzer | |
CN111984243A (en) | General security check and function extension method and device based on annotation | |
Pehrson | An interactive framework for design automation | |
Beauregard et al. | Schematic coding on an IBM-PC | |
JPH06348463A (en) | Method for generating input/output device simulating part | |
JPH03282826A (en) | Parallel conversion translating system | |
JPS62297973A (en) | Editing device for soft specification using meaning of input data | |
Campos et al. | Context sensitive user interfaces |