JPH0423076A - Preprocessing system for hardware automatic design system - Google Patents

Preprocessing system for hardware automatic design system

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
Application number
JP2127164A
Other languages
Japanese (ja)
Inventor
Masashi Tokuda
正志 徳田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2127164A priority Critical patent/JPH0423076A/en
Publication of JPH0423076A publication Critical patent/JPH0423076A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To efficiently perform the design work by unifying a language for verification and a language for function description. CONSTITUTION:Function specifications used for verification of logic circuit functions are inputted to an input part 11 as they are, that is, function specifications where an algorithm is described in the C language (language for function description) are inputted there, and the same processing as a preprocessor in the C language processing system like file inclusion, character string substitution, macro substitution, or conditional compilation indicated by #inc/ude, #define, #ifdef, or the like is performed, and the results are transferred to an analyzing part 12. The analyzing part 12 performs deletion processing of parts unnecessary for logic design out of function specifications, memory information request, structure analysis, or the like while having conversations with a user through a user interface part 13, and the results are stored in an analysis result storage part 15. Thus, misconversion between two languages is eliminated to efficiently perform the design work.

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.

【図面の簡単な説明】[Brief explanation of drawings]

第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)

【特許請求の範囲】[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.
JP2127164A 1990-05-17 1990-05-17 Preprocessing system for hardware automatic design system Pending JPH0423076A (en)

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)

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