JP2010204720A - 回路設計支援システム、回路設計支援方法及びプログラム - Google Patents

回路設計支援システム、回路設計支援方法及びプログラム Download PDF

Info

Publication number
JP2010204720A
JP2010204720A JP2009046539A JP2009046539A JP2010204720A JP 2010204720 A JP2010204720 A JP 2010204720A JP 2009046539 A JP2009046539 A JP 2009046539A JP 2009046539 A JP2009046539 A JP 2009046539A JP 2010204720 A JP2010204720 A JP 2010204720A
Authority
JP
Japan
Prior art keywords
information
circuit design
design support
overflow
description
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
JP2009046539A
Other languages
English (en)
Inventor
Wataru Takahashi
渡 高橋
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009046539A priority Critical patent/JP2010204720A/ja
Publication of JP2010204720A publication Critical patent/JP2010204720A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】動作記述からオーバーフローを起こす可能性がある箇所を静的に検出する。
【解決手段】ビット幅が明記された信号情報104及び関数情報105、並びに動作情報106を含む動作記述108が入力される入力部101と、入力部101に入力された動作記述108から、信号情報104、関数情報105及び動作情報106を取得し、信号情報104及び関数情報105を動作情報106に代入して動作情報106に従って演算し、該演算結果と信号情報104または関数情報105とのビット幅を比較することにより、動作情報106におけるオーバーフローを検出するオーバーフロー検出部102と、動作記述108のうちオーバーフロー検出部102にてオーバーフローが検出された箇所を表示する出力部103とを有する。
【選択図】図1

Description

本発明は、回路設計支援システム、回路設計支援方法及びプログラムに関し、特に、動作記述から回路を生成する動作合成において、入力する動作記述の不具合を検出する機能を有する回路設計支援システム、回路設計支援方法及びプログラムに関する。
LSI設計においては、RTL記述よりも抽象度が高い動作記述でハードウェアの動作仕様を記述し、動作合成ツールでRTL記述を自動生成することで設計期間の短縮を実現している。このような動作記述を用いたLSI設計が行われている(例えば、特許文献1参照。)。
このような動作記述では、RTL記述と同様に各変数のビット幅を明記するが、この変数のビット幅を、誤って必要なビット幅よりも小さなビット幅で宣言してしまった場合、値を代入したときに上位ビットが削れるオーバーフローが発生してしまい、期待した動作にならない。
このような間違いを検出する方法としては、実際に動作記述に入力を与えてシミュレーションを行い、出力が期待した値になっているかを確認する方法が行われている。
特開平5−181931号公報
しかしながら、上述したように、実際に動作記述に入力を与えてシミュレーションを行い、出力が期待した値になっているかを確認する方法においては、入力する値によっては該当箇所がオーバーフローを起こさないため、検出をもらすことがあるという問題点がある。
本発明は、上述したような技術が有する問題点に鑑みてなされたものであって、動作記述からオーバーフローを起こす可能性がある箇所を静的に検出することができる回路設計支援システム、回路設計支援方法及びプログラムを提供することを目的とする。
上記目的を達成するために本発明は、
ビット幅を特定可能な信号情報及び関数情報、並びに動作情報を含む動作記述が入力される入力手段と、
前記入力手段に入力された動作記述から、前記信号情報、前記関数情報及び前記動作情報を取得し、前記信号情報及び前記関数情報を前記動作情報に代入して前記動作情報に従って演算し、該演算結果と前記信号情報または前記関数情報とのビット幅を比較することにより、前記動作情報におけるオーバーフローを検出する検出手段と、
前記動作記述のうち前記検出手段にてオーバーフローが検出された箇所を表示する出力手段とを有する。
本発明は、上記のように構成されているため、動作記述からオーバーフローを起こす可能性がある箇所を静的に検出することができ、それにより、動作記述上のどの箇所でオーバーフローが起こる可能性があるかがシミュレーションをしないでもわかるようになり、間違ってオーバーフローを起こしていないかを確認することができる。
本発明の回路設計支援システムの実施の一形態を示すブロック図である。 図1に示した回路設計支援システムにおける回路設計支援方法を説明するためのフローチャートである。 図1に示した入力部に入力される動作記述の一例を示す図である。 図1に示したオーバーフロー検出部にて取得された情報を示す図であり、(a)は信号情報を示す図、(b)は関数情報を示す図、(c)は動作情報を示す図である。 図1に示した違反情報の一例を示す図である。 図1に示した出力部から表示出力される動作記述の例を示す図である。
以下に、本発明の実施の形態について図面を参照して説明する。
図1は、本発明の回路設計支援システムの実施の一形態を示すブロック図である。
本形態は図1に示すように、信号情報104、関数情報105及び動作情報106を含む動作記述108が入力され、この動作記述108を受け付ける入力部101と、入力部に入力されて受け付けられた動作記述108から、信号情報104、関数情報105及び動作情報106を取得し、信号情報104及び関数情報105を動作情報106に代入して動作情報106に従って演算し、その演算結果と信号情報104または関数情報105とを比較することにより、動作情報106におけるオーバーフローを検出するオーバーフロー検出部102と、動作記述108のうちオーバーフロー検出部102にてオーバーフローが検出された箇所となる行に特定の記号が表示された動作記述109を表示する出力部103とから構成されている。
以下に、上記のように構成された回路設計支援システムにおける回路設計支援方法について説明する。
図2は、図1に示した回路設計支援システムにおける回路設計支援方法を説明するためのフローチャートである。
動作記述108が入力部101に入力されると、入力部101は、この動作記述108を受け付ける(ステップS1)。
図3は、図1に示した入力部101に入力される動作記述108の一例を示す図である。
図3に示すように、図1に示した入力部101に入力される動作記述108は、ビット幅が明記された信号情報104及び関数情報105、並びに動作情報106が含まれている。
図3に示したような動作記述108が入力部101にて受け付けられると、オーバーフロー検出部102は、まず、入力部101にて受け付けられた動作記述108から、信号情報104、関数情報105及び動作情報106を1文ずつ取得する(ステップS2)。
図4は、図1に示したオーバーフロー検出部102にて取得された情報を示す図であり、(a)は信号情報104を示す図、(b)は関数情報105を示す図、(c)は動作情報106を示す図である。
図4に示すように、オーバーフロー検出部102は、入力部101にて受け付けられた動作記述108から、信号情報104関数情報105及び動作情報106を取得する。
次に、オーバーフロー検出部102は、取得した信号情報104及び関数情報105を動作情報106に代入し、動作情報106に従って演算を行う(ステップS3)。
そして、オーバーフロー検出部102は、演算結果のビット幅とその演算にて動作情報106に代入した信号情報104や関数情報105のビット幅とを比較し、比較した結果、演算結果が、信号情報104や関数情報105のビット幅で表せる範囲を超えている場合、その箇所をオーバーフローとして検出する(ステップS4)。
例えば、図3に示した動作記述におけるa<<3は、変数aは3ビットのsignedの変数であるため、計算結果は−32以上24以下になる。同様に、b>>2は、bは10ビットのunsignedの変数であるため、計算結果は0以上255以下になる。そして、それらの和である((a<<3)+(b>>2))は−32以上279以下になる。オーバーフロー検出部102においては、この値が、信号情報104による代入先の変数cが表すことができる値の範囲に収まっていない場合にオーバーフロー違反として違反情報に登録する。この例では、信号情報104による変数cはsignedの9ビットであるため、−256以上255以下の範囲しか表せないこととなり、オーバーフローとして違反情報に登録する。同様に、関数の実引数における計算結果について仮引数の変数への代入においてもオーバーフローが起こらないか、また、return文における計算結果についても関数の返り値への代入においてオーバーフローが起こらないかのチェックを行いオーバーフローが起こる場合は違反情報107に登録する。
図5は、図1に示した違反情報107の一例を示す図である。
図5に示すように、オーバーフロー検出部102においては、オーバーフローが検出された箇所を違反情報107に登録する。
その後、出力部103において、動作記述108と違反情報107とに基づいて、動作記述108に対して、オーバーフローが検出されて違反情報107として登録された箇所となる行を強調表示する(ステップS5)。
図6は、図1に示した出力部103から表示出力される動作記述109の例を示す図である。
図6に示すように、出力部103においては、動作記述109の違反箇所以外の行、すなわちオーバーフローが検出されなかった行の先頭にはタブを挿入し、また、違反箇所の行、すなわちオーバーフローが検出された行には、特定の記号となる“!!”とタブを挿入した動作記述109を表示出力する。
これにより、動作記述109のうち、違反箇所、すなわちオーバーフローが起こる行を視覚的に認識することができる。
なお、本形態においては、ビット幅が明記された信号情報104及び関数情報105、並びに動作情報106が含まれた動作記述108が入力され、このビット幅を用いてオーバーフローを検出するものを例に挙げて説明したが、その他に、定義された型によってビット幅が特定可能であり、その型による動作記述が入力され、この型で宣言されたビット幅を取得し、取得したビット幅を用いてオーバーフローを検出するもの等、ビット幅を特定可能な信号情報及び関数情報、並びに動作情報を含む動作記述が入力され、そのビット幅を用いてオーバーフローを検出するものであれば、本発明を適用することができる。
また、本発明においては、回路設計支援システム内の処理は上述の専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを回路設計支援システムにて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを回路設計支援システムに読み込ませ、実行するものであっても良い。回路設計支援システムにて読取可能な記録媒体とは、ICカードやメモリカード、あるいは、フロッピーディスク(登録商標)、光磁気ディスク、DVD、CDなどの移設可能な記録媒体の他、回路設計支援システムに内蔵されたHDD等を指す。この記録媒体に記録されたプログラムは、例えば、制御ブロックにて読み込まれ、制御ブロックの制御によって、上述したものと同様の処理が行われる。
101 入力部
102 オーバーフロー検出部
103 出力部
104 信号情報
105 関数情報
106 動作情報
107 違反情報
108,109 動作記述

Claims (15)

  1. ビット幅を特定可能な信号情報及び関数情報、並びに動作情報を含む動作記述が入力される入力手段と、
    前記入力手段に入力された動作記述から、前記信号情報、前記関数情報及び前記動作情報を取得し、前記信号情報及び前記関数情報を前記動作情報に代入して前記動作情報に従って演算し、該演算結果と前記信号情報または前記関数情報とのビット幅を比較することにより、前記動作情報におけるオーバーフローを検出する検出手段と、
    前記動作記述のうち前記検出手段にてオーバーフローが検出された箇所を表示する出力手段とを有する回路設計支援システム。
  2. 請求項1に記載の回路設計支援システムにおいて、
    前記信号情報及び関数情報に、前記ビット幅が明記されている回路設計支援システム。
  3. 請求項1に記載の回路設計支援システムにおいて、
    前記信号情報及び関数情報のビット幅は、前記動作記述の定義された型によって特定可能である回路設計支援システム。
  4. 請求項1乃至3のいずれか1項に記載の回路設計支援システムにおいて、
    前記出力手段は、前記検出手段にてオーバーフローが検出された箇所を強調表示する回路設計支援システム。
  5. 請求項4に記載の回路設計支援システムにおいて、
    前記出力手段は、前記検出手段にてオーバーフローが検出された箇所となる行の先頭に特定の記号を表示する回路設計支援システム。
  6. ビット幅を特定可能な信号情報及び関数情報、並びに動作情報を含む動作記述を受け付ける処理と、
    前記動作記述から、前記信号情報、前記関数情報及び前記動作情報を取得する処理と、
    前記信号情報及び前記関数情報を前記動作情報に代入して前記動作情報に従って演算する処理と、
    該演算結果と前記信号情報または前記関数情報とのビット幅を比較することにより、前記動作情報におけるオーバーフローを検出する処理と、
    前記動作記述のうち前記オーバーフローが検出された箇所を表示する処理とを有する回路設計支援方法。
  7. 請求項6に記載の回路設計支援方法において、
    前記信号情報及び関数情報に、前記ビット幅が明記されている回路設計支援方法。
  8. 請求項6に記載の回路設計支援方法において、
    前記信号情報及び関数情報のビット幅は、前記動作記述の定義された型によって特定可能である回路設計支援方法。
  9. 請求項6乃至8のいずれか1項に記載の回路設計支援方法において、
    前記動作記述のうち前記オーバーフローが検出された箇所を強調表示する回路設計支援方法。
  10. 請求項9に記載の回路設計支援方法において、
    前記動作記述のうち前記オーバーフローが検出された箇所となる行の先頭に特定の記号を表示する回路設計支援方法。
  11. コンピュータに、
    ビット幅を特定可能な信号情報及び関数情報、並びに動作情報を含む動作記述を受け付ける手順と、
    前記動作記述から、前記信号情報、前記関数情報及び前記動作情報を取得する手順と、
    前記信号情報及び前記関数情報を前記動作情報に代入して前記動作情報に従って演算する手順と、
    該演算結果と前記信号情報または前記関数情報とのビット幅を比較することにより、前記動作情報におけるオーバーフローを検出する手順と、
    前記動作記述のうち前記オーバーフローが検出された箇所を表示する手順とを実行させるためのプログラム。
  12. 請求項11に記載のプログラムにおいて、
    前記信号情報及び関数情報に、前記ビット幅が明記されているプログラム。
  13. 請求項11に記載のプログラムにおいて、
    前記信号情報及び関数情報のビット幅は、前記動作記述の定義された型によって特定可能であるプログラム。
  14. 請求項11乃至13のいずれか1項に記載のプログラムにおいて、
    コンピュータに、
    前記動作記述のうち前記オーバーフローが検出された箇所を強調表示する手順を実行させるためのプログラム。
  15. 請求項14に記載のプログラムにおいて、
    コンピュータに、
    前記動作記述のうち前記オーバーフローが検出された箇所となる行の先頭に特定の記号を表示する手順を実行させるためのプログラム。
JP2009046539A 2009-02-27 2009-02-27 回路設計支援システム、回路設計支援方法及びプログラム Pending JP2010204720A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009046539A JP2010204720A (ja) 2009-02-27 2009-02-27 回路設計支援システム、回路設計支援方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009046539A JP2010204720A (ja) 2009-02-27 2009-02-27 回路設計支援システム、回路設計支援方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2010204720A true JP2010204720A (ja) 2010-09-16

Family

ID=42966177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009046539A Pending JP2010204720A (ja) 2009-02-27 2009-02-27 回路設計支援システム、回路設計支援方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2010204720A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0554098A (ja) * 1991-08-23 1993-03-05 Toshiba Corp 論理回路合成装置
JPH1021122A (ja) * 1996-07-05 1998-01-23 Mitsubishi Electric Corp プロセッサモニタ装置
JP2006190085A (ja) * 2005-01-06 2006-07-20 Asahi Kasei Corp デジタル回路のモデリング方法及び設計方法
US20090049417A1 (en) * 2007-08-17 2009-02-19 Oki Electric Industry Co., Ltd. Method of designing a circuit for optimizing output bit length and integrated circuit therefor
JP2010160622A (ja) * 2009-01-07 2010-07-22 Toshiba Corp シミュレータ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0554098A (ja) * 1991-08-23 1993-03-05 Toshiba Corp 論理回路合成装置
JPH1021122A (ja) * 1996-07-05 1998-01-23 Mitsubishi Electric Corp プロセッサモニタ装置
JP2006190085A (ja) * 2005-01-06 2006-07-20 Asahi Kasei Corp デジタル回路のモデリング方法及び設計方法
US20090049417A1 (en) * 2007-08-17 2009-02-19 Oki Electric Industry Co., Ltd. Method of designing a circuit for optimizing output bit length and integrated circuit therefor
JP2010160622A (ja) * 2009-01-07 2010-07-22 Toshiba Corp シミュレータ

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200000939008; 山下源外5名: 'データパス幅の最適化を目的としたプログラムの変数のビット幅の解析手法' DAシンポジウム'98 Vol.98,No.9, 19980716, pp.47-52, 社団法人情報処理学会 *
JPN6012067783; 山下源外5名: 'データパス幅の最適化を目的としたプログラムの変数のビット幅の解析手法' DAシンポジウム'98 Vol.98,No.9, 19980716, pp.47-52, 社団法人情報処理学会 *

Similar Documents

Publication Publication Date Title
JP2006244073A (ja) 半導体設計装置
US10078714B2 (en) Data propagation analysis for debugging a circuit design
US20110295536A1 (en) Clock jitter analyzing method and apparatus
JP2008242713A (ja) 消費電力解析プログラム及び方法
JP2010122959A (ja) テスト支援システム、方法、及び、プログラム
JP5672165B2 (ja) テストデータ生成プログラム、テストデータ生成方法、テストデータ生成装置
JP2009230677A (ja) プロパティ生成システムおよびプロパティ検証システム
JP5811859B2 (ja) ソースコードの静的解析装置、システム、方法、及びそのためのプログラム
JP2010204720A (ja) 回路設計支援システム、回路設計支援方法及びプログラム
JP6682036B2 (ja) 規模算出装置及び規模算出プログラム
JP2009211622A (ja) 契約定義関数検証装置、その方法及びそのプログラム
JP2006277180A (ja) Rtl入力プログラムの不具合解析支援装置及びその方法ならびに部分rtl生成装置
JP2010244157A (ja) 機能ブロック図処理装置,機能ブロック図処理方法,およびプログラム
JP5755861B2 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
JP2008134808A (ja) 論理回路の機能検証装置、機能カバレッジアイテムの検証方法及びプログラム
JP6630840B2 (ja) ログ分析のためのランドマークデリミタを推定するシステムおよび方法
JP7353539B2 (ja) 定常範囲決定システム、定常範囲決定方法、および、定常範囲決定プログラム
JP5949248B2 (ja) 情報処理装置及び情報処理プログラム
JP2011081760A (ja) 情報処理装置
JP6724673B2 (ja) テスト支援プログラム、テスト支援方法及びテスト支援装置
JP2007299258A (ja) 半導体集積回路の検証装置及び検証方法
US20060282250A1 (en) Logic simulation method and system
JP2009128977A (ja) 再収斂パス検出方法、プログラム、及びシステム
JP2006221473A (ja) 論理検証装置、論理検証方法および論理検証プログラム
JP6641749B2 (ja) 文書汎用度推定装置、文書汎用度推定方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121218

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130702