WO2004001634A1 - 論理検証システム,論理検証方法,コンピュータプログラム,および記録媒体 - Google Patents

論理検証システム,論理検証方法,コンピュータプログラム,および記録媒体 Download PDF

Info

Publication number
WO2004001634A1
WO2004001634A1 PCT/JP2002/006347 JP0206347W WO2004001634A1 WO 2004001634 A1 WO2004001634 A1 WO 2004001634A1 JP 0206347 W JP0206347 W JP 0206347W WO 2004001634 A1 WO2004001634 A1 WO 2004001634A1
Authority
WO
WIPO (PCT)
Prior art keywords
verification
model
logic
template
library
Prior art date
Application number
PCT/JP2002/006347
Other languages
English (en)
French (fr)
Inventor
Yoshinao Umeda
Original Assignee
Primegate Limited
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 Primegate Limited filed Critical Primegate Limited
Priority to PCT/JP2002/006347 priority Critical patent/WO2004001634A1/ja
Priority to AU2002313263A priority patent/AU2002313263A1/en
Publication of WO2004001634A1 publication Critical patent/WO2004001634A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Definitions

  • HDL is a language that describes electronic circuit systems like programs, from simple ones like logic gates to complex ones like VLSI.
  • VHD L and Verilog are global standards standardized by the IEEE (American Institute of Electrical and Electronics Engineers).
  • VHD L and Verilog are representative of languages that are the prerequisites for the effective use and sharing of design assets (IPs) that are currently being discussed.
  • the C ++ language is extended, and a logic circuit is automatically generated using a language developed for system-level simulation and high-level synthesis (hereinafter referred to as the extended C language).
  • the extended C language Some extended C languages are called Spec C and System C, and compiling them into the HDL language requires expensive and dedicated compilers.
  • high-level synthesis is a system-level synthesis. This is the process of realizing a source 'program abstracted into a bell to a RTL (Register Transfer Level) level or a netlist.
  • RTL refers to a model that operates in units of one clock cycle of a logic circuit.
  • the netlist refers to the logical connection information of the LSI circuit. Normally, the netlist is converted into physical layout and wiring information to manufacture the LSI.
  • the conventional logic verification system has the following problems. With the automatic generation of logic circuits using the extended C language, it is difficult for designers to realize free and infinite combinations. The reality is that it will take some time to complete the extended C language, which is highly complete as a general-purpose product. Even if such a highly complete extended C language is completed, expensive equipment and a dedicated compiler will be required. In addition, advanced expertise is required to master it.
  • the logic verification system using the extended C language has the above-mentioned problems, and improvement measures from a different viewpoint from the extended C language are required.
  • the present invention has been made in view of the above problems of the conventional logic verification system, and an object of the present invention is to extend the software for describing the source without programming language itself. In addition, extended software and a dedicated programming language. Without having to develop a This provides a new and improved logic verification system, logic verification method, and related technologies that enable efficient and inexpensive RTL model generation and logic verification. Is Rukoto.
  • Another object of the present invention is to provide a logic circuit that cannot be realized as intended in a software programming language for describing a source.
  • An object of the present invention is to provide a new and improved logic verification system, a logic verification method, and its peripheral technologies that can clearly inform a designer of a problem and can assist a designer in solving a problem based on an idea.
  • a library group 110
  • a verification process section 120
  • a verification result output section 130
  • a logic verification system 100 provided with:
  • the library group (110) includes a template library (111) and a system verification library (112).
  • the verification process section (120) includes the following components.
  • the verification result output unit (130) outputs the verification result (152) by the system verification unit.
  • a library group (110), a verification process section (120), and a verification result output section (130) are provided.
  • a logic verification system (100) is provided.
  • the library group (110) includes a template library (111), a system verification library (112), and a logic verification library (113).
  • the verification process section (120) includes the following components.
  • a template generation unit (1 2 1) that generates a template (144) that can be used as a template when writing in a programming language (for example, the C + + language).
  • a first build execution unit (1 2 2) that executes the build execution of the system model and generates a first execution form (150)
  • a second build execution unit (125) that performs a build execution of the functional model and the verification model and generates a second executable form (162).
  • a logic verification unit that performs logic verification of the second executable form based on the logic verification library (126)
  • the verification result output section (130) outputs the verification result (152) by the system verification section and the verification result (164) by the logic verification section. According to this configuration, the following excellent effects can be obtained. (a) the effects of the library group, (b) the effects of the template, (c) the effects of the system verification unit and the logic verification unit, and (d) the other effects.
  • the amount of coding is less than one-fifth that of the past, and the design speed and design quality are more than five times higher. Also, by building a library group for each LSI application, commercialization can be achieved in a short period of time, and the library group is highly expandable.
  • the usefulness of the present invention was proved within a short period of about six months after the start of the research and development of the present invention.
  • the system verification (without model conversion) at the source level of software 'programming language eg, C ++ language
  • the source level of software 'programming language eg, C ++ language
  • Sources in software 'programming languages eg, C ++
  • HDL sources after system verification and logic verification.
  • template generation unit enables designers using a widely used software programming language (for example, C ++ language) to design an unlimited number of free combinations.
  • a widely used software programming language for example, C ++ language
  • template generation is a kind of design constraint for designers, but by providing a structure and a group of functions that combine convenience as a framework, it is possible to give designers more benefits than the disadvantages due to design constraints. in c this can be generally widespread software Touea programming language (e.g., C + + language) are possible build run in native compilers, less that problems will be caused, and performance high.
  • Touea programming language e.g., C + + language
  • the system verification unit verifies the executable system generated based on the template by referring to the system verification library, and the logic verification unit bases the template by referring to the logic verification library.
  • the logic verification of the executable generated in the above can be performed. According to such a logic verification method, it is possible to clearly inform the designer of a part of the system model, function model, and verification model that is not “perfect”, and to assist the designer in solving problems using ideas. Is possible.
  • System verification and logic verification can be performed in the C ++ language, which has a high penetration rate, and can be used in a globalized society.
  • a logic verification method can be executed by the logic verification system according to the first aspect, for example, and includes the following steps.
  • a logic verification method is provided.
  • the logic verification method of the present invention can be executed by, for example, the logic verification system according to the second aspect, and includes the following steps.
  • FIG. 1 is an explanatory diagram of a logic verification system 100.
  • Fig. 2 is an explanatory diagram of the logic verification method using the logic verification system 100.
  • FIG. 3 is an explanatory diagram showing a result display by the verification result output unit 130.
  • FIG. 4 is an explanatory diagram showing a comparison between the present embodiment and the conventional technology with regard to the amount of coding, where (a) shows the conventional technology and (b) shows the embodiment.
  • FIG. 5 is an explanatory diagram showing an example of a hardware configuration of a computer system 200 capable of realizing a logic verification system. BEST MODE FOR CARRYING OUT THE INVENTION
  • a logic verification system according to the present invention will be described below with reference to the accompanying drawings. The preferred embodiments of the present invention, the logic verification method, and the related invention will be described in detail.
  • components having substantially the same functional configuration are denoted by the same reference numerals, and redundant description is omitted.
  • FIG. 1 is an explanatory diagram of a logic verification system 100 according to the present embodiment.
  • Fig. 2 is an explanatory diagram of the logic verification method using the logic verification system 100.
  • the logic verification system 100 is composed of a library group 110 in which various data are stored in a library, and a verification process unit 1 that performs verification processing using various data stored in the library group. It is mainly composed of 20 and a verification result output unit 130 that displays the processing result by the verification process unit 120. The following describes each component in detail.
  • the library group 110 is a library of various data used in the verification process unit 120 at the subsequent stage.
  • the library group 110 includes a template library 111 that stores various data used by the template generation unit 121 described later for generating a template, and a system verification unit 121 described below.
  • 1 2 3 is a system verification library that stores various data used for logic verification processing 1 1 2 and: a logic verification unit 1 26 described later stores various data used for logic verification processing Logic verification library 113.
  • various data used for template generation and logic verification processing are made into a library for LSI applications, so that who can write what and where without needing advanced expertise. But I understand.
  • the verification process section 120 includes a template generation section 121, a C ++ system model build execution section 122, a system verification section 123, and a C ++ section. It consists of a model conversion section 124, a C ++ verification Z function model build execution section 125, and a logic verification section 126. The following describes each component in detail.
  • the template generation unit 121 becomes a template for programming in the C ++ language based on the template library 111 and the terminal information Z structure information 142 stored in the library group 110.
  • a template 144 is generated (step S 1 in FIG. 2).
  • the designer gives a predetermined algorithm to this template 144 and performs coding to generate a C ++ system model 144, a C ++ functional model 1554, and a C ++ verification model 1558. (Step S2 in FIG. 2). All of the C ++ system model 146, C ++ functional model 154, and C ++ verification model 158 have interfaces with command line arguments. For this reason, all operations can be batch-filed. (Build execution part 1 2 2)
  • the C ++ system model build execution unit 122 executes the build execution using the general-purpose C ++ compiler 148 against the C ++ system model 146 designed as described above. Do. As a result of the build execution, a C ++ executable form 150 is generated (step S3 in FIG. 2).
  • a general-purpose C ++ compiler 148 can be used, it is inexpensive and the execution procedure can be learned without requiring advanced technical knowledge. Also, high-speed simulation can be realized.
  • the system verification unit 123 performs system verification of the C ++ executable 150 generated as described above using the system verification library 112 stored in the library unit 110, and verifies the system.
  • the result 1 52 is generated (step S 4 in FIG. 2).
  • System verification refers to performing verification at the system level with a high level of abstraction.
  • the designer performs coding by giving a predetermined algorithm to the template 144, and generates a C ++ functional model 154.
  • the function model is a model of the function to be converted into a circuit.
  • the C ++ function model 154 has an interface with command line arguments, and can be batch-processed.
  • the C ++ model converter 124 converts the C ++ functional model 154 designed as described above into a model, and generates an HD L—RTL model 156 (step in FIG. 2). S5).
  • C ++ model conversion Section 124 performs the process of realizing the source program abstracted at the system level down to the RTL level or netlist, so-called high-level synthesis, and generates an HDL-RTL model 156.
  • the netlist is generated by logically synthesizing the generated HDL-RTL model 156 (step S6 in Fig. 2).
  • the designer gives a predetermined algorithm to the template 144, performs coding, and generates a C ++ verification model 158.
  • the verification model is a pseudo model of the test contents for verifying the circuit.
  • the C ++ verification model 158 has an interface with command-line arguments, and can be batch-filed.
  • the C ++ verification / function model build execution unit 1 25 is a general-purpose C ++ compiler 1 compared to the C ++ function model 15 4 and the C ++ verification model 15 8 designed as described above. Use 60 to execute the build. As a result of the build execution, C ++ executable form 1 62 is generated.
  • the C ++ compiler 160 is substantially the same as the above-mentioned C ++ compiler 148, and can be used for general purposes, so it is inexpensive and requires advanced expertise. It is possible to learn the execution procedure without doing it. Also, high-speed simulation can be realized.
  • the logic verification unit 126 performs logic verification of the C ++ executable form generated as described above using the logic verification library 113 stored in the library unit 110, and performs verification.
  • the result 1 6 4 is generated.
  • Logic check Proof means verifying a source at the logical or RTL level.
  • the verification result output unit 130 outputs the verification result 152 obtained by the system verification unit 123 and the verification result 164 obtained by the logic verification unit 126 as one verification result.
  • the verification results are displayed visually on a display unit 132 such as a high-speed waveform viewer, and are also printed on paper 166 by a printing unit such as a printer.
  • the high-speed waveform viewer is a device that displays a simulation result file, which has a file capacity of several gigabytes or several terabytes in the future, as a waveform at high speed.
  • Fig. 3 is an explanatory diagram showing the verification results displayed on the display unit 132 in a video or printed on paper. The example shown in Fig.
  • Fig. 4 is an explanatory diagram showing a comparison between the present embodiment and the conventional technology with regard to the amount of coding, where (a) shows the conventional technology and (b) shows the embodiment.
  • the designer had to write all the processing algorithms, file reading control, and so on.
  • the input data for example, input image
  • the system is verified and obtained as output data (for example, output image).
  • Fig. 4 (b) there is a part described in advance by the template, so that the designer only needs to describe the processing algorithm. .
  • file output control for RTL verification is described.
  • the input data for example, the input image
  • the output data for example, the output image
  • FIG. 5 is an explanatory diagram showing an example of a hardware configuration of a computer system capable of realizing the logic verification system according to the present embodiment.
  • This computer system 200 is composed of a computer main body including a CPU 210, a memory 220, and a hard disk (HD) 230.
  • the computer main body 240 It consists of 240 and input means 250 such as a keyboard and mouse connected to the computer main body 240.
  • input means 250 such as a keyboard and mouse connected to the computer main body 240.
  • the minimum necessary components are shown, such as display means such as a monitor that outputs the verification result 260, printing means such as a printer, logic verification program 270, and C +
  • the reading means interface for reading the + compiler 280 (corresponding to the C ++ compilers 148 and 160 in FIG. 1) from the recording medium is not shown.
  • the logic verification program 270 for executing the logic verification method described above is a computer such as a floppy disk or CD-ROM. It is stored in a recording medium readable by the main body 240.
  • the above-described logic verification method can be executed in the computer system 200. It is assumed that the logic verification program 270 includes all necessary data such as a logic data test pattern in addition to a program for executing the above-described logic verification method.
  • the CPU 210 reads out the logic verification program 270 stored in the hard disk 230, expands it on the memory 220, and executes it.
  • the processing is performed by inputting a processing execution command and an input specification or an output specification by the input means 250 to operate so as to output a verification result 260. As described above, according to the present embodiment, the following effects can be obtained.
  • the design speed and design quality can be improved.
  • the description of the C ++ system model 146, the C ++ functional model 154, and the C ++ verification model 158 can be more efficiently described. Quality can be improved.
  • the coding amount is less than one-fifth of the conventional one, and Speed and design quality more than 5 times. Also, by building a library group 110 for each LSI application, commercialization can be achieved in a short time, and the library group 110 has high expandability.
  • system verification can be performed at the source level of C ++ (without model conversion). It is possible to perform logical verification.
  • C ++ language source can be converted to HDL source after system verification and logic verification.
  • template generation unit 121 allows designers using the C ++ language to design freely infinite combinations.
  • template generation is a kind of design constraint for designers, but by providing a structure and functions that combine convenience as a framework, it is possible to give designers more profit than the disadvantages caused by design constraints. is there.
  • the build can be executed with the C ++ language native compilers 148 and 160, with few problems and high performance.
  • since there is no need to use extended C language developed for system-level simulation and high-level synthesis expensive equipment and dedicated compilers are not required. Does not require extensive expertise.
  • high-level synthesis using the extended C language requires the development of a dedicated compiler. In general, there are dozens of R & D developers involved in the development. + + Compiler research and development is estimated to be in the hundreds. It can be said that the superiority of the performance of the present invention is overwhelming even from the viewpoint of the difference in resources for compiler development.
  • the system verification unit 123 refers to the system verification library 112 and executes the executable form generated based on the template.
  • the logic verification section 126 can perform logic verification of the executable form generated based on the template by referring to the logic verification library 113. According to such a logic verification method, the C ++ system model 146, the C ++ functional model 154, and the C ++ verification model 158, which are not “perfect”, are clearly identified to the designer. It is possible to inform designers and help designers solve problems based on ideas. '
  • System verification and logic verification can be performed in the C ++ language, which has a high penetration rate, and can be used in a globalized society.
  • the present invention is applicable as a logic verification system, a logic verification method, and peripheral technologies thereof.
  • the present invention is applicable to a hardware description language (HDL)
  • HDL hardware description language

Abstract

ネイティブなコンパイラを使用することができ,効率的かつ安価にRTLモデル生成および論理検証を行うことの可能な論理検証システムを提供する。論理検証システム100は,テンプレートライブラリ111,システム検証ライブラリ112,および論理検証ライブラリ113を含むライブラリ群110と,テンプレートライブラリと端子情報および/または構造情報142とを基に,C++システムモデル146,C++機能モデル154,およびC++検証モデル158をC++言語で記述する際のひな形となるテンプレート144を生成するテンプレート生成部121を備えたことを特徴とする。ライブラリに手順や確認方法およびノウハウを埋め込んでおき,それを用途別に自動生成することで,コーディング量を格段に減らすことが可能である。

Description

明 細 書 論理検証システム, 論理検証方法, コンピュータプログラム, お ょぴ記録媒体 技術分野 本発明は論理検証システム, 論理検証方法, およびその周辺技術 に力 力、り, 特に, HD L (H a r d w a r e D e s c r i p t i o n L a n g u a g e ) 設計支援システムに適用可能な技術に関 する。 背景技術 近年, L S I (L a r g e S c a l e I n t e g r a t i o n) の高集積化と高速化に伴い, 電子回路の設計はますます複雑な ものになっている。 このような背景から, コンピュータ上に論理ゲ ー ト回路図を入力し, シミ ュ レーショ ンによって動作を確認する設 計手法がごく一般的になっている。 さらに, 数万ゲートを超える大 規模回路の設計に対応するため, ハードウェア記述言語 (HD L : H a r d w a r e D e s c r i p t i o n L a n g u a g e ; と論理合成ツールを用いた設計手法が実用化されてきた。 HD Lは ディジタル回路全般に対する記述を可能にした言語であり, HD L を用いて L S Iの動作を記述, 検証した後に, 論理合成ツールを用 いて自動的にゲート回路を生成することができる。このようにして, 従来, 難しかった大規模回路を短期間で設計することが可能となつ ている。 HD Lは, 論理ゲートのような簡単なものから V L S Iなど複雑 なものまで, 電子回路システムをプログラムのように記述する言語 である。 VHD Lも V e r i l o gも I E E E (ァメ リ力電気 ·電 子通信学会) で標準化された世界標準である。 VHD Lと V e r i l o gは, 今話題の設計資産 ( I P) の有効利用, 共有の前提とな る言語の代表的なものである。 二論理回路設計を行う際には, VHD Lや V e r i l o gな どの HD Lで直接記述するほか, 現在最も普及している言語である C + +言語で記述し, それを HD Lにコンパイルする方法がある。 したがって, 基本的に, C + +言語と論理回路を理解していれば, HD Lによる論理回路設計は可能である。 しかしながら, それでも C ++言語による論理回路設計は難しい面が多く, また, C ++言 語あるいは論理回路に関する設計者の理解度が不足している場合が ある。 また, C + +言語で意図した通りに論理回路を具現化できて いない場合, その具現化できていない箇所を特定することが困難な 場合がある。 このよ うな事情から, C + +言語を拡張したものでシステムレべ ルシミ ュレーショ ンおよび高位合成用に開発された言語 (以下, 拡 張 C言語という。)を用いて論理回路の自動生成を行おうという試み がある。 拡張 C言語には, S p e c Cや S y s t e mCと称される ものがあり, HD L言語へのコンパイルのためには, それぞれ高額 な専用のコンパイラが必要である。 しかしながら, 設計者による自 由な無限の組合せの設計を行うには, 拡張 C言語では完全な状態を 作り出すことには限界があった。 なお, 高位合成とは, システムレ ベルに抽象ィ匕したソース ' プログラムを RT L (R e g i s t e r T r a n s f e r L e v e l ) レべノレまたはネッ ト リス トまで具 現化する処理をいう。 また, RT Lとは, 論理回路の 1 クロックサ ィクル単位で動作するモデルをいう。 また, ネッ ト リス トとは, L S I 回路の論理的な接続情報をいい, 通常ネッ トリス トを物理的な 配置 ·配線情報へ変換して L S I を製造する。 以上説明したよ うに, 従来の論理検証システムには以下の問題点 があった。 拡張 C言語を用いた論理回路の自動生成では, 設計者による自由 な無限の組合せの実現を図ることが難しい。 汎用品と して完成度の 高い拡張 C言語の完成にはまだ時間が掛かるのが現実である。また, このような完成度の高い拡張 C言語が完成したと しても, 高額な機 器や専用のコンパイラが必要となる。 また, 使いこなすためには高 度な専門知識が必要とされる。 このため, 結局は設計者の自由な設 計の妨げとなるばかりでなく, シミュレーション結果の有効な確認 手法の確立が必要であり, また, HD Lレ.ベルで問題が発生した際 にはシステムレベルでの修正が必要となる。 このよ うに, 拡張 C言 語を用いた論理検証システムには上述のよ うな問題点があり, 拡張 C言語とは別の観点からの改善策が希求されている。 本発明は, 従来の論理検証システムが有する上記問題点に鑑みて なされたものであり, 本発明の目的は, ソースを記述するためのソ フ トウエア ' プログラミング言語そのものを拡張することなく, す なわち, 拡張されたソフ トウエア · プログラミング言語専用のコン 、。ィラを開発することなく, もともと存在するネィティブなコンパ イラを使用することができ, これにより, 効率的かつ安価に RT L モデル生成および論理検証を行うことの可能な, 新規かつ改良され た論理検証システム, 論理検証方法, およびその周辺技術を提供す ることである。 さらに, 本発明の別の目的は, ソースを記述するためのソフ トゥ エア · プログラミング言語で意図した通りに論理回路を具現化でき ていない場合, その具現化できていない箇所を特定して設計者に明 確に知らせることができ, 設計者のアイディアによる問題解決を支 援するこ との可能な, 新規かつ改良された論理検証システム, 論理 検証方法, およびその周辺技術を提供することである。 発明の開示 上記課題を解決するため, 本発明の第 1の観点によれば, ライブ ラリ群 ( 1 1 0 ) と, 検証プロセス部 ( 1 2 0 ) と, 検証結果出力 部 ( 1 3 0) とを備えたことを特徴とする論理検証システム ( 1 0 0 ) が提供される。
ライブラリ群 ( 1 1 0) は, テンプレートライブラリ ( 1 1 1 ), およびシステム検証ライブラリ ( 1 1 2) を含む。
検証プロセス部 ( 1 2 0 ) は, 以下の構成要素を含む。
•前記テンプレートライブラリ と端子情報および/または構造情報 ( 1 4 2 ) とを基に, システムモデル ( 1 4 6 ) をソフ ト ウェア ' プログラミング言語 (例えば, C + +言語) で記述する際のひな形 となるテンプレート ( 1 4 4 ) を生成するテンプレート生成部 ( 1 2 1 )
- 前記システムモデルのビルド実行を行い実行形式を生成するビル ド実行部 ( 1 2 2)
• 前記システム検証ライブラリ を基に, 前記実行形式のシステム検 証を行うシステム検証部 ( 1 2 3 )
検証結果出力部 ( 1 3 0 ) は, 前記システム検証部による検証結 果 ( 1 5 2) を出力する。 また, 本発明の第 2の観点によれば, ライブラリ群 ( 1 1 0) と, 検証プロセス部 ( 1 2 0 ) と, 検証結果出力部 ( 1 3 0 ) とを備え たことを特徴とする論理検証システム ( 1 0 0) が提供される。
ライブラリ群 ( 1 1 0 ) は, テンプレートライブラ リ ( 1 1 1 ), システム検証ライブラリ ( 1 1 2 ), および論理検証ライブラリ ( 1 1 3) を含む。
検証プロセス部 ( 1 2 0 ) は, 以下の構成要素を含む。
- 前記テンプレートライブラリ と端子情報および/または構造情報 ( 1 4 2) とを基に, システムモデル ( 1 4 6 ), 機能モデル ( 1 5 4), および検証モデル ( 1 5 8 ) をソフ トウェア 'プログラミング 言語 (例えば, C + +言語) で記述する際のひな形となるテンプレ ー ト ( 1 4 4) を生成するテンプレー ト生成部 ( 1 2 1 )
•前記システムモデルのビルド実行を行い第 1の実行形式( 1 5 0) を生成する第 1のビルド実行部 ( 1 2 2)
' 前記システム検証ライブラリ を基に, 前記第 1の実行形式のシス テム検証を行う システム検証部 ( 1 2 3 )
' 前記機能モデルのモデル変換を行い R T Lモデル ( 1 5 6 ) を生 成するモデル変換部 ( 1 2 4)
• 前記機能モデル, および前記検証モデルのビルド実行を行い第 2 の実行形式 ( 1 6 2 ) を生成する第 2のビルド実行部 ( 1 2 5 ) •前記論理検証ライブラリを基に, 前記第 2の実行形式の論理検証 を行う論理検証部 ( 1 2 6 )
検証結果出力部 ( 1 3 0 ) は, 前記システム検証部による検証結 果 ( 1 5 2), および前記論理検証部による検証結果 ( 1 6 4) を出 力する。 かかる構成によれば, 以下のような優れた効果がある。 ( a ) ライ ブラリ群の効果, (b )テンプレートの効果, ( c )システム検証部, 論理検証部の効果, (d) その他の効果に分けて説明する。
( a ) ライブラリ群の効果
ライブラリに手順や確認方法おょぴノゥハウを埋め込んでおき, それを用途別に自動生成することで, コーディング量を格段に減ら すことが可能である。 このようにして, 設計スピードおよび設計品 質の向上を図ることができる。 特に, ソフトウェア · プロダラミン グ言語として C + +言語を用いることで,システムモデル( 1 4 6 ), 機能モデル ( 1 5 4 ), および検証モデル ( 1 5 8 ) の記述の効率化 と高品質化を図ることができる。 発明者の見知によれば, コーディ ング量は従来の 5分の 1以下となり, 設計ス.ピードおよび設計品質 は 5倍以上になる。 また, L S I の用途別にライブラリ群を構築することによって, 短期間で製品化を図ることができ, また, ライブラリ群の拡張性も 高い。 発明者の見知によれば, 本発明の研究開発を開始して約半年 という短い期間でその有用性を立証できた点で, 従来技術の約 2 0 倍の速さで製品化可能である。 さらにまた, ライブラリ群にシステム検証ライブラリ と論理検証 ライブラリを含むようにしたことで, ソフトウェア ' プロダラミ ン グ言語 (例えば, C + +言語) のソースレベルで (モデル変換しな いで) システム検証おょぴ論理検証を実行することが可能である。 ソフ トウェア ' プログラミング言語 (例えば, C + +言語) のノ、 ー スは, システム検証おょぴ論理検証の後, H D Lソースへ変換可能 である。
( b ) テンプレー トの効果
テンプレート生成部を備えたことによって, 一般に普及している ソフ トウェア · プログラミング言語 (例えば, C + +言語) を用い た設計者に自由な無限の組合せの設計を可能にする。 すなわち, テ ンプレート生成は設計者にとって一種の設計制約となるが, 利便性 を兼ね備えた構造および関数群を骨組みとして提供することで, 設 計制約による不利益以上の利益を設計者に与えることが可能である c このように, 一般に普及しているソフ トウエア · プログラミング 言語 (例えば, C + +言語) のネイティブなコンパイラでビルド実 行が可能であり, 不具合が生じることが少なく, かつ性能も高い。 また, システムレベルシミ ユ レーショ ンおよび高位合成用に開発さ れた拡張 C言語などを用いることがないため, 高額な機器や専用の コンパイラを必要とせず, また, 使いこなすために高度な専門知識 を必要としない。 また, 拡張 C言語による高位合成が専用のコンパィラの開発を必 要とし, 一般にその開発のためにかかる研究開発者が数十人である のに対し, 例えば, 本発明で利用可能なネイティブな c + +コンパ ィラの研究開発者は数百人であるとされている。 このよ うなコンパ ィラ開発に対するリ ソース差からみても, 本発明の性能の優位性は 圧倒的であると言える。
( c ) システム検証部, 論理検証部の効果
システム検証部はシステム検証ライブラリを参照することによつ て,テンプレートを基に生成された実行形式のシステム検証を行い, また, 論理検証部は論理検証ライブラリを参照することによってテ ンプレートを基に生成された実行形式の論理検証を行うことができ る。 このような論理検証方法によれば, システムモデル, 機能モデ ル, および検証モデルの 「完全な状態」 でない箇所を設計者に明確 に知らせることができ, 設計者のアイディァによる問題解決を支援 することが可能である。
( d ) その他の効果
その他の効果としては,以下に挙げた実社会的な効果が得られる。
1 ) システム検証および論理検証を普及率の高い C + +言語で行う ことができ, グローバル化社会に対応可能である。
2) L S I 開発向け C + +言語技術者として新規雇用形態を創出す ることが可能である。
3 ) アルゴリズム研究向け C + +言語と, L S I開発向け C + +言 語をシームレスに橋渡し可能である。
4) 画像処理向け L S I開発用アルゴリズムおよびィンプリメント を C + +言語で効率的に行うことが可能である。
5 )装置メーカ側が UML(U n i f i e d Mo d e l i n g L a n g u a g e (登録商標):統一モデリング言語) などを使用した 企画検討へ資源集中可能である。 また,本発明の第 3の観点によれば,論理検証方法が提供される。 本発明の論理検証方法は, 例えば上記第 1の観点にかかる論理検証 システムにより実行可能であり, 以下の各工程を含む。
( a ) システムモデルをソフトウェア ' プログラミング言語 (例え ば, C + +言語) で記述する際のひな形となるテンプレートを生成 する第 1工程
( b ) 前記テンプレートを基に, 前記システムモデルを生成する第 2工程
( c ) 前記システムモデルを前記ソフ トウェア · プロダラミング言 語のコンパィラにより コンパイルして実行形式を生成する第 3工程 ( d ) 前記実行形式のシステム検証を行う第 4工程 また,本発明の第 4の観点によれば,論理検証方法が提供される。 本発明の論理検証方法は, 例えば上記第 2の観点にかかる論理検証 システムにより実行可能であり, 以下の各工程を含む。
( a ) システムモデル, 機能モデル, および検証モデルをソフ トゥ ユア . プログラミング言語 (例えば, C + +言語) で記述する際の ひな形となるテンプレートを生成する第 1工程
( b ) 前記テンプレートを基に, 前記システムモデル, 前記機能モ デル, および前記検証モデルを生成する第 2工程
( c ) 前記システムモデル, 前記機能モデル, および前記検証モデ ルを前記ソフ トウエア · プログラミング言語のコンパイラによりコ ンパイルして実行形式を生成する第 3工程
( d ) 前記実行形式のシステム検証 Z論理検証を行う第 4工程 また, 本発明の他の観点によれば, 上記本発明の第 2の観点にか かる論理検証方法をコンピュータに実行させるためのコンピュータ プログラムが提供される。 また, 本発明によれば, そのコンビユ ー タプログラムを格納した, コンピュータにより読み取り可能な記録 媒体が提供される。 ここで記録媒体とは, データや情報を保持し, 必要に応じて読み出すことのできる媒体, 例えばフ口ッピーディス クゃ C D— R O Mなどをいう。 図面の簡単な説明 . 第 1図は, 論理検証システム 1 0 0の説明図である。 第 2図は, 論理検証システム 1 0 0による論理検証方法の説明図 である。 第 3図は, 検証結果出力部 1 3 0による結果表示を示す説明図で ある。 第 4図は, コーディング量に関して, 本実施の形態と従来技術と の比較を示す説明図であり, ( a ) は従来技術, (b ) は本実施の形 態を示している。 第 5図は, 論理検証システムを実現可能なコンピュータシステム 2 0 0のハードウエア構成の一例を示す説明図である。 発明を実施するための最良の形態 以下に添付図面を参照しながら, 本発明にかかる論理検証システ ム, 論理検証方法, およびその関連発明の好適な実施の形態につい て詳細に説明する。 なお, 本明細書及び図面において, 実質的に同 一の機能構成を有する構成要素については, 同一の符号を付するこ とにより重複説明を省略する。
第 1図は, 本実施の形態にかかる論理検証システム 1 0 0の説明 図である。
第 2図は, 論理検証システム 1 0 0による論理検証方法の説明図 である。 論理検証システム 1 0 0は, 第 1図に示したように, 各種データ をライブラリ化したライブラリ群 1 1 0と, ライブラリ群に格納さ れた各種データを用いて検証処理を行う検証プロセス部 1 2 0 と, 検証プロセス部 1 2 0による処理結果を表示する検証結果出力部 1 3 0 とにより主に構成されている。 以下に, 各構成要素について詳 細に説明する。
(ライブラリ群 1 1 0 )
ライブラリ群 1 1 0は, 後段の検証プロセス部 1 2 0において用 いられる各種データをライブラリ化したものである。 ライブラリ群 1 1 0は, 第 1図に示したように, 後述のテンプレー ト生成部 1 2 1がテンプレー トの生成に用いる各種データを格納するテンプレー トライブラリ 1 1 1 と, 後述のシステム検証部 1 2 3が論理検証処 理に用いる各種データを格納するシステム検証ライブラリ 1 1 2と : 後述の論理検証部 1 2 6が論理検証処理に用いる各種データを格納 する論理検証ライブラリ 1 1 3とにより構成されている。 本実施の 形態ではこのように, テンプレート生成や論理検証処理に用いられ る各種データを L S Iの用途向けにライブラリ化することで, 高度 な専門知識を必要とせずに何をどこに記述するか誰にでも分かる。
(検証プロセス部 1 2 0)
検証プロセス部 1 2 0は, 第 1図に示したように, テンプレート 生成部 1 2 1 と, C + +システムモデルのビルド実行部 1 2 2と, システム検証部 1 2 3と, C + +モデル変換部 1 2 4と, C + +検 証 Z機能モデルのビルド実行部 1 2 5 と, 論理検証部 1 2 6とによ り構成されている。 以下に, 各構成要素について詳細に説明する。
(テンプレート生成部 1 2 1 )
テンプレート生成部 1 2 1は, ライブラリ群 1 1 0に格納された テンプレートライブラリ 1 1 1 と端子情報 Z構造情報 1 4 2をもと に, C + +言語によるプロダラミングのためのひな形となるテンプ レート 1 4 4を生成する (第 2図のステップ S 1 )。 設計者は, この テンプレート 1 4 4に所定のアルゴリ ズムを与えてコーディングを 行い, C + +システムモデル 1 4 6 , C + +機能モデル 1 5 4, C + +検証モデル 1 5 8を生成する (第 2図のステップ S 2)。 C + + システムモデル 1 4 6 , C + +機能モデル 1 5 4, C + +検証モデ ノレ 1 5 8のすベてのモデノレは, コマ ンドライン引数とのインタフエ ースを持っている。 このため, すべての作業をバッチフアイル化可 能である。 (ビルド実行部 1 2 2)
C + +システムモデルのビルド実行部 1 2 2は, 上述のよ うに設 計された C + +システムモデル 1 4 6に対し, 汎用の C + +コンパ イラ 1 4 8を用いて, ビルド実行を行う。 ビルド実行の結果, C + +実行形式 1 5 0が生成される (第 2図のステップ S 3 )。 ここで, C + +コンパイラ 1 4 8は汎用のものを用いることができるので, 安価であるとともに, 高度な専門知識を必要とせずに実行手順を習 得可能である。 また, 高速なシミ ュ レーショ ンを実現可能である。
(システム検証部 1 2 3 )
システム検証部 1 2 3は, ライブラリ部 1 1 0に格納されたシス テム検証ライブラリ 1 1 2を用いて, 上述のよ うに生成された C + +実行形式 1 5 0のシステム検証を行い, 検証結果 1 5 2を生成す る (第 2図のステップ S 4)。 システム検証とは, 抽象度の高いシス テムレベルで検証を行う ことをいう。 また, 設計者は, テンプレート 1 44に所定のアルゴリズムを与 えてコーディングを行い, C + +機能モデル 1 5 4を生成する。 機 能モデルとは,回路化する機能を擬似的にモデル化したものである。 上述のよ うに, C + +機能モデル 1 5 4は, コマンドライン引数と のィンタフェースを持っており, 作業をバッチファイル化可能であ る。
(C + +モデル変換部 1 2 4)
C + +モデル変換部 1 2 4は, 上述のように設計された C + +機 能モデル 1 5 4をモデル変換して, HD L— R T Lモデル 1 5 6を 生成する (第 2図のステップ S 5 )。 このように, C + +モデル変換 部 1 2 4は, システムレベルに抽象化したソース · プログラムを R T Lレベルまたはネッ トリ ス トまで具現化する処理, いわゆる高位 合成を行い, H D L— R T Lモデル 1 5 6を生成する。 生成された H D L— R T Lモデル 1 5 6を論理合成することによりネッ トリ ス トが生成される (第 2図のステップ S 6 )。 さらにまた, 設計者は, テンプレート 1 4 4に所定のァルゴリズ ムを与えてコーディングを行い, C + +検証モデル 1 5 8を生成す る。 検証モデルとは,. 回路を検証するための試験内容を擬似的にモ デル化したものである。上述のように, C + +検証モデル 1 5 8は, コマンドライン引数とのインタフェースを持っており, 作業をバッ チフアイル化可能である。
(ビルド実行部 1 2 5 )
C + +検証/機能モデルのビルド実行部 1 2 5は, 上述のように 設計された C + +機能モデル 1 5 4および C + +検証モデル 1 5 8 に対し, 汎用の C + +コンパイラ 1 6 0を用いて, ビルド実行を行 う。 ビルド実行の結果, C + +実行形式 1 6 2が生成される。 ここ で, C + +コンパイラ 1 6 0は, 上述の C + +コンパイラ 1 4 8 と 実質的に同様であり, 汎用のものを用いることができるので, 安価 であるとともに, 高度な専門知識を必要とせずに実行手順を習得可 能である。 また, 高速なシミ ュ レーショ ンを実現可能である。
(論理検証部 1 2 6 )
論理検証部 1 2 6は, ライブラリ部 1 1 0に格納された論理検証 ライブラリ 1 1 3を用いて, 上述のように生成された C + +実行形 式 1 6 2の論理検証を行い, 検証結果 1 6 4が生成される。 論理検 証とは, 論理レベルや R T L レベルのソース ♦ プログラムを検証す ることをいう。
(検証結果出力部 1 3 0 )
検証結果出力部 1 3 0は, システム検証部 1 2 3により得られた 検証結果 1 5 2と, 論理検証部 1 2 6により得られた検証結果 1 6 4とを一つの検証結果として出力する。 第 1図に示した例では, 検 証結果は, 高速波形ビューァなどの表示部 1 3 2により映像的に表 示されるとともに, プリンタなどの印刷部により紙面 1 6 6に印刷 される。 高速波形ビューァとは, 数ギガバイ トレベルや今後は数テ ラバイ トのファイル要領となるシミ ユレーショ ン結果ファイルを波 形として高速に表示する装置である。 第 3図は, 表示部 1 3 2に映像的に表示され, あるいは, 紙面に 印刷された検証結果を示す説明図である。第 3図に示した一例では, 信号名表示ビュー 1 3 4, 信号値表示ビュー 1 3 6 , および波形表 示ビュー 1 3 8などからなる。 設計者は, この検証結果を参照する こ とによ り , C + +システムモデル.1 4 6 , C + +機能モデル 1 5 4, あるいは検証モデル 1 5 8の再構築などを行うことができる。 第 4図は, コーディング量に関して, 本実施の形態と従来技術と の比較を示す説明図であり, ( a ) は従来技術, (b ) は本実施の形 態を示している。 従来技術では, 第 4図 ( a ) に示したように, 処理アルゴリズム, フアイル読み込み制御などをすベて設計者が自分で記述しなければ ならなかった。 これにより, 入力データ (例えば, 入力画像) はシ ステム検証されて出力データ (例えば, 出力画像) として得られる。 これに対し, 本実施の形態では, 第 4図 (b ) に示したように, テ ンプレートにより予め記述された部分があるため, 設計者は処理ァ ルゴリズムのみを記述すればよいことになる。 ここで, テンプレー ト部には, ファイル読み込み制御などのほか, RT L検証用フアイ ル出力制御が記述されている。このことにより,本実施の形態では, 入力データ (例えば, 入力画像) はシステム検証されて, 出力デー タ (例えば, 出力画像) と次工程用データが得られる。
(コンピュータシステム 2 0 0)
上述の論理検証システムは, 一般のコンピュータシステムにおい て実現可能である。 第 5図は, 本実施の形態にかかる論理検証シス テムを実現可能なコンピュータシステムのハードウェア構成の一例 を示す説明図である。 このコンピュータシステム 2 0 0は, C PU 2 1 0 , メモリ 2 2 0 , およびハードディスク (HD) 2 3 0を含むコンピュータ本体
2 4 0と, コンピュータ本体 2 4 0に接続されるキーボードゃマゥ スなどの入力手段 2 5 0により構成されている。 第 5図に示した一 例では必要最小限の構成要素を示しており, 検証結果 2 6 0を出力 するモニタなどの表示手段やプリンタなどの印刷手段, 論理検証プ ログラム 2 7 0や C + +コンパイラ 2 8 0 (第 1図の C + +コンパ イラ 1 4 8 , 1 6 0に相当) を記録媒体から読み取るための読み取 り手段ゃィンタフェースなどは図示していない。 上述の論理検証方法を実行するための論理検証プログラム 2 7 0 は, 例えばフロッピーディスクや C D— R O Mなどのコンピュータ 本体 2 4 0により読み取り可能な記録媒体に格納されている。 この 論理検証プログラム 2 7 0がハードディスク 2 3 0に格納されるこ とにより, このコンピュータシステム 2 0 0において上述の論理検 証方法を実行可能となる。 なお, 論理検証プログラム 2 7 0には, 上述の論理検証方法を実行するためのプログラムのほか, 論理デー タゃテス トパターンなど必要なデータがすべて含まれているものと する。 コンピュータシステム 2 0 0においては, C P U 2 1 0がハー ド ディスク 2 3 0に格納された論理検証プログラム 2 7 0を読み出し てメモリ 2 2 0上に展開して実行する。上述の論理検証方法に従い, 入力手段 2 5 0により処理実行コマンドおよび入力指定または出力 指定を入力して処理を行うことにより, 検証結果 2 6 0を出力する ように動作する。 以上説明したように, 本実施の形態によれば以下の効果が得られ る。
( a ) ライブラリ群の効果
ライブラリ群 1 1 0に手順や確認方法おょぴノゥハウを埋め込ん でおき, それを用途別に自動生成することで, コーディング量を格 段に減らすことが可能である。 このようにして, 設計スピー ドおよ び設計品質の向上を図ることができる。 特に, ソフ トウェア · プロ グラミング言語として C + +言語を用いることで, C + +システム モデル 1 4 6, C + +機能モデル 1 5 4, および C + +検証モデル 1 5 8の記述の効率化と高品質化を図ることができる。 発明者の見 知によれば, コーディング量は従来の 5分の 1以下となり, 設計ス ピードおよび設計品質は 5倍以上になる。 また, L S Iの用途別にライブラリ群 1 1 0を構築することによ つて, 短期間で製品化を図ることができ, また, ライブラリ群 1 1 0の拡張性も高い。 発明者の見知によれば, 本発明の研究開発を開 始して約半年という短い期間でその有用性を立証できた点で, 従来 技術の約 2 0倍の速さで製品化可能である。 さらにまた, ライブラリ群 1 1 0にシステム検証ライブラリ 1 1 2と論理検証ライブラリ 1 1 2を含むようにしたことで, C + +言 語のソースレベルで (モデル変換しないで) システム検証おょぴ論 理検証を実行することが可能である。 C + +言語のソースは, シス テム検証おょぴ論理検証の後, H D Lソースへ変換可能である。
( b ) テンプレー トの効果
テンプレート生成部 1 2 1を備えたことによって, C + +言語を 用いた設計者に自由な無限の組合せの設計を可能にする。すなわち, テンプレート生成は設計者にとって一種の設計制約となるが, 利便 性を兼ね備えた構造および関数群を骨組みとして提供することで, 設計制約による不利益以上の利益を設計者に与えることが可能であ る。 このように, C + +言語のネイティブなコンパイラ 1 4 8, 1 6 0でビルド実行が可能であり, 不具合が生じることが少なく, かつ 性能も高い。 また, システムレベルシミ ュレーショ ンおよび高位合 成用に開発された拡張 C言語などを用いることがないため, 高額な 機器や専用のコンパイラを必要とせず, また, 使いこなすために高 度な専門知識を必要としない。 また, 拡張 C言語による高位合成が専用のコンパィラの開発を必 要とし, 一般にその開発のためにかかる研究開発者が数十人である のに対し, 例えば, 本発明で利用可能なネイティブな C + +コンパ イラの研究開発者は数百人であるとされている。 このようなコンパ ィラ開発に対するリ ソース差からみても, 本発明の性能の優位性は 圧倒的であると言える。
( c ) .システム検証部 1 2 3, 論理検証部 1 2 6の効果 ' システム検証部 1 2 3はシステム検証ライブラリ 1 1 2を参照す ることによって, テンプレー トを基に生成された実行形式のシステ ム検証を行い, また, 論理検証部 1 2 6は論理検証ライブラリ 1 1 3を参照することによってテンプレートを基に生成された実行形式 の論理検証を行うことができる。このような論理検証方法によれば, C + +システムモデル 1 4 6, C + +機能モデル 1 5 4, および C + +検証モデル 1 5 8 の 「完全な状態」 でない箇所を設計者に明確 に知らせることができ, 設計者のアイディアによる問題解決を支援 することが可能である。 '
( d ) その他の効果
その他の効果としては,以下に挙げた実社会的な効果が得られる。 1 ) システム検証および論理検証を普及率の高い C + +言語で行う ことができ, グローバル化社会に対応可能である。
2 ) L S I開発向け C + +言語技術者として新規雇用形態を創出す ることが可能である。
3 ) アルゴリ ズム研究向け C + +言語と, L S I開発向け C + +言 語をシームレスに橋渡し可能である。
4) 画像処理向け L S I開発用アルゴリズムおよぴィンプリメント を C + +言語で効率的に行うことが可能である。
5 )装置メーカ側が UML (U n i f i e d Mo d e l i n g L a n g u a g e (登録商標):統一モデリング言語) など 使用した 企画検討へ資源集中可能である。 以上,添付図面を参照しながら本発明にかかる論理検証システム, 論理検証方法, およびその関連発明の好適な実施形態について説明 したが, 本発明はかかる例に限定されない。 当業者であれば, 特許 請求の範囲に記載された技術的思想の範疇内において各種の変更例 または修正例に想到し得ることは明らかであり, それらについても 当然に本発明の技術的範囲に属するものと了解される。 以上説明したように, 本発明によれば, ソースを記述するための ソフ トウェア ' プログラミング言語そのものを拡張することなく, すなわち, 拡張されたソフ トウ ア · プログラミング言語専用のコ ンパイラを開発することなく, もともと存在するネィティプなコン パイラを使用することができ, これにより, 効率的かつ安価に RT Lモデル生成および論理検証を行うことが可能である。 さらに,本発明によれば, ソースを記述するためのソフ トウ ア · プロダラミング言語で意図した通りに論理回路を具現化できていな い場合, その具現化できていない箇所を特定して設計者に明確に知 らせることができ, 設計者のアイディァによる問題解決を支援する ことが可能である。 さらに, 本発明によれば, 上記発明の実施の形態の効果として説 明した様々な効果を得ることができ, 近年におけるモパイル機器や ディジタル情報家電による第 2のダウンサイジング革命を背景に, 特異なシステム L S I需要が創出されることが予測され, 本発明を 製品として具現化した際における普及拡大は計り知れない。 産業上の利用の可能性 本発明は論理検証システム, 論理検証方法, およびその周辺技術 として適用可能である。 特に, 本発明は, HD L (H a r d w a r e D e s c r i p t i o n L a n g u a g e ) |S r支援シスァ ムに適用可能である。

Claims

請求の範囲
( 1 ) 論理検証システムにおいて,
テンプレートライブラリ, およびシステム検証ライブラリを含む ライブラリ群と,
前記テンプレー トライブラリ と端子情報および/または構造情報 とを基に , システムモデルをソフ トウエア . プロダラ ミング言語で 記述する際のひな形となるテンプレートを生成するテンプレート生 成部と,
前記システムモデルのビルド実行を行い実行形式を生成するビル ド実行部と,
前記システム検証ライブラリを基に, 前記実行形式のシステム検 証を行うシステム検証部と,
前記システム検証部による検証結果を出力する検証結果出力部と, を備えたことを特徴とする, 論理検証システム。
( 2 ) 前記ソフ トウエア · プログラミング言語は C + +言語であ ることを特徴と.する, 請求項 1に記載の論理検証システム。
( 3 ) 論理検証システムにおいて,
テンプレートライブラリ, システム検証ライブラリ, および論理 検証ライブラリを含むライブラリ群と,
前記テンプレー トライブラリ と端子情報および/または構造情報 とを基に, システムモデル, 機能モデル, および検証モデルをソフ トウエア ' プログラミング言語で記述する際のひな形となるテンプ レートを生成するテンプレート生成部と ,
前記システムモデルのビルド実行を行い第 1 の実行形式を生成す る第 1のビルド実行部と,
前記システム検証ライブラリを基に, 前記第 1の実行形式のシス テム検証を行うシステム検証部と,
前記機能モデルのモデル変換を行い R T Lモデルを生成するモデ ル変換部と,
前記機能モデル, および前記検証モデルのビルド実行を行い第 2 の実行形式を生成する第 2のビルド実行部と,
前記論理検証ライブラリを基に, 前記第 2の実行形式の論理検証 を行う論理検証部と,
前記システム検証部による検証結果, および前記論理検証部によ る検証結果を出力する検証結果出力部と,
を備えたことを特徴とする, 論理検証システム。
( 4 ) 前記ソフ トウエア · プログラミング言語は C + +言語であ ることを特徴とする, 請求項 3に記載の論理検証システム。
( 5 ) 論理検証方法において,
システムモデルをソフトウエア · プログラミング言語で記述する 際のひな形となるテンプレートを生成する第 1工程と,
前記テンプレートを基に, 前記システムモデルを生成する第 2ェ 程と,
前記システムモデルを前記ソフ トウエア ♦ プロダラミング言語の コンパイラにより コンパイルして実行形式を生成する第 3工程と , 前記実行形式のシステム検証を行う第 4工程と,
を含むことを特徴とする, 論理検証方法。
( 6 ) 前記ソフ トウェア ' プログラミング言語は C + +言語であ ることを特徴とする, 請求項 5に記載の論理検証方法。
( 7 ) コンピュータをして請求項 5に記載の論理検証方法を実行 させるための, コンピュータプログラム。
(8) 請求項 7に記載のコンピュータプログラムを格納した, コ ンピュータにより読み取り可能な記録媒体。
( 9) 論理検証方法において,
システムモデル,機能モデル,および検証モデルをソフ トウエア ' プログラミング言語で記述する際のひな形となるテンプレートを生 成する第 1工程と,
前記テンプレートを基に,前記システムモデル,前記機能モデル, および前記検証モデルを生成する第 2工程と,
前記システムモデル, 前記機能モデル, および前記検証モデルを 前記ソフ トウエア ' プログラミング言語のコンパィラによりコンパ ィルして実行形式を生成する第 3工程と,
前記実行形式のシステム検証 Z論理検証を行う第 4工程と, を含むことを特徴とする, 論理検証方法。
( 1 0) 前記ソフ トウェア ' プログラミング言語は C + +言語で あることを特徴とする, 請求項 9に記載の論理検証方法。
( 1 1 ) コンピュータをして請求項 9に記載の論理検証方法を実 行させるための, コンピュータプログラム。
( 1 2) 請求項 1 1に記載のコンピュータプログラムを格納した, コンピュータにより読み取り可能な記録媒体。
PCT/JP2002/006347 2002-06-25 2002-06-25 論理検証システム,論理検証方法,コンピュータプログラム,および記録媒体 WO2004001634A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2002/006347 WO2004001634A1 (ja) 2002-06-25 2002-06-25 論理検証システム,論理検証方法,コンピュータプログラム,および記録媒体
AU2002313263A AU2002313263A1 (en) 2002-06-25 2002-06-25 Logic verifying system, logic verifying method, computer program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/006347 WO2004001634A1 (ja) 2002-06-25 2002-06-25 論理検証システム,論理検証方法,コンピュータプログラム,および記録媒体

Publications (1)

Publication Number Publication Date
WO2004001634A1 true WO2004001634A1 (ja) 2003-12-31

Family

ID=29808144

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/006347 WO2004001634A1 (ja) 2002-06-25 2002-06-25 論理検証システム,論理検証方法,コンピュータプログラム,および記録媒体

Country Status (2)

Country Link
AU (1) AU2002313263A1 (ja)
WO (1) WO2004001634A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915520A (zh) * 2015-06-30 2015-09-16 中国西电电气股份有限公司 一种直流输电换流站交流滤波器跳闸逻辑仿真方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187767A (ja) * 1996-12-24 1998-07-21 Mitsubishi Electric Corp パラメータ化hdl記述方法、論理合成装置および論理合成プログラムを記録した媒体
JPH1125136A (ja) * 1997-07-01 1999-01-29 Fujitsu Ltd Hdl記述生成装置及び方法並びにhdl記述生成プログラムを記録した記録媒体
JP2000315222A (ja) * 1999-04-30 2000-11-14 Matsushita Electric Ind Co Ltd 集積回路装置の設計用データベース及び集積回路装置の設計方法
US20010021903A1 (en) * 1999-12-02 2001-09-13 Hiroshi Ryu Method, and apparatus for simulating a system using an object oriented language

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187767A (ja) * 1996-12-24 1998-07-21 Mitsubishi Electric Corp パラメータ化hdl記述方法、論理合成装置および論理合成プログラムを記録した媒体
JPH1125136A (ja) * 1997-07-01 1999-01-29 Fujitsu Ltd Hdl記述生成装置及び方法並びにhdl記述生成プログラムを記録した記録媒体
JP2000315222A (ja) * 1999-04-30 2000-11-14 Matsushita Electric Ind Co Ltd 集積回路装置の設計用データベース及び集積回路装置の設計方法
US20010021903A1 (en) * 1999-12-02 2001-09-13 Hiroshi Ryu Method, and apparatus for simulating a system using an object oriented language

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HIDEFUMI KUROKAWA: "SOC no jizen kensho o jitsugen suru C++simulator 'ClassMate'", THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS GIJUTSU KENKYU HOKOKU (FTS09/71-99), vol. 98, no. 293, 22 September 1998 (1998-09-22), pages 17 - 24, XP002954407 *
MOTOHIDE OTSUBO ET AL.: "C gengo base seikkei shuho nokochiku", NEC TECHNICAL JOURNAL, NEC CORP., vol. 54, no. 3, 23 March 2001 (2001-03-23), pages 187 - 190, XP002954408 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915520A (zh) * 2015-06-30 2015-09-16 中国西电电气股份有限公司 一种直流输电换流站交流滤波器跳闸逻辑仿真方法

Also Published As

Publication number Publication date
AU2002313263A1 (en) 2004-01-06

Similar Documents

Publication Publication Date Title
JP4255079B2 (ja) アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法
JP4994393B2 (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
Pimentel The artemis workbench for system-level performance evaluation of embedded systems
WO2002001424A2 (en) System and method relating to verification of integrated circuit design
US8181131B2 (en) Enhanced analysis of array-based netlists via reparameterization
JP4492803B2 (ja) 動作合成装置及びプログラム
US8539406B2 (en) Equivalence checking for retimed electronic circuit designs
JPH11513512A (ja) ディジタル信号プロセッサの製造方法
US20110197172A1 (en) Design verification apparatus and design verification program
JP2005141624A (ja) 検証装置、検証方法およびプログラム
US11513818B1 (en) Method, product, and system for integrating a hardware accelerator with an extensible processor
Bazydlo et al. Translation UML diagrams into Verilog
Huang et al. A framework for reliability-aware embedded system design on multiprocessor platforms
JP2007164780A (ja) 方法、システムおよびプログラム(設計を検証する方法およびシステム)
JP3173729B2 (ja) 論理シミュレーション方法及びそのシステム
JP2009230677A (ja) プロパティ生成システムおよびプロパティ検証システム
US20040153301A1 (en) Integrated circuit development methodology
US7113901B1 (en) Reuse of hardware components
WO2004001634A1 (ja) 論理検証システム,論理検証方法,コンピュータプログラム,および記録媒体
JP2014215768A (ja) 性能評価用トランザクション生成プログラム及び性能評価用トランザクション生成装置
Chakravarthi et al. System on Chip (SOC) Architecture: A Practical Approach
US20190012418A1 (en) Simulation program, method, and device
Karatsu VLSI design language standardization effort in Japan
Borrione et al. Property-based dynamic verification and test
JP5233354B2 (ja) プロパティ検証システム、プロパティ検証方法、及びプログラム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP