JP2009048367A - 回路設計方法、ならびにその方法により製造される集積回路 - Google Patents
回路設計方法、ならびにその方法により製造される集積回路 Download PDFInfo
- Publication number
- JP2009048367A JP2009048367A JP2007212832A JP2007212832A JP2009048367A JP 2009048367 A JP2009048367 A JP 2009048367A JP 2007212832 A JP2007212832 A JP 2007212832A JP 2007212832 A JP2007212832 A JP 2007212832A JP 2009048367 A JP2009048367 A JP 2009048367A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- rtl
- bit length
- rtl description
- overflow
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【解決手段】本発明の回路設計方法では、
本発明の回路設計方法によれば、所望のデジタル信号処理に関してオーバーフロー判定する対象演算にディレクティブを付加しつつプログラムを作成し(S104)、このプログラムに基づいて動作合成を行い(S108)、ディレクティブが付加された対象演算に対してオーバーフロー検出回路を付加してRTL回路を生成し(S110)、またこのRTL回路の動作検証(S112)をしてオーバーフロー検出回路の検出結果が得られる(S114)。また、その動作検証結果に基づいて再度、RTL回路を生成する場合、オーバーフロー検出結果に基づいて対象演算の出力ビット長を最適化して、オーバーフローを抑制して最適化されたRTL回路を生成することができる。
【選択図】図1
Description
12 ソフトウエアプログラム
14 動作合成ツール
16 シミュレーション部
30、32 入力データレジスタ
34 演算器
36 出力データレジスタ
38 オーバーフロー検出回路
40 ステータスレジスタ
Claims (14)
- デジタル信号処理に用いられる演算器の回路設計方法において、該方法は、
所望のデジタル信号処理を示すプログラムを作成するプログラム作成工程と、
前記プログラムにおける各演算のうち、演算結果のオーバーフロー判定を所望する対象演算に対してディレクティブを付加するディレクティブ付加工程と、
各演算の出力ビット長を決定するビット長決定工程と、
前記プログラムおよび前記出力ビット長に基づいて動作合成を行い、前記所望のデジタル信号処理を実現する回路をレジスタ転送レベル(RTL:Register transfer level)で記述し、前記ディレクティブが付加された対象演算に対してその出力ビット長に関する情報を検出する検出回路を付加して、RTL記述回路を生成するRTL生成工程と、
該RTL記述回路の動作検証を行い、その動作検証結果として前記検出回路の検出結果を得る動作検証工程とを含み、
さらに、該方法は、前記動作検証工程の後で、前記動作検証結果によって前記RTL記述回路を最適化すべきと判断した場合には、再度、前記ビット長決定工程および前記RTL生成工程を実行し、
とくに、前記ビット長決定工程は、前記RTL生成工程が前記プログラムに関して初めて前記RTL記述回路を生成する場合には、あらかじめ設定された初期値を前記出力ビット長として決定し、2回目以降に前記RTL記述回路を生成する場合には、前回生成したRTL記述回路に関する前記検出結果に基づいて各演算の出力ビット長を最適化して決定することを特徴とする回路設計方法。 - 請求項1に記載の回路設計方法において、前記ディレクティブ付加工程は、前記対象演算に対してオーバーフロー検出回路を付加するために、前記ディレクティブとしてオーバーフロー検出ディレクティブを前記プログラムに付加し、
前記RTL生成工程は、前記対象演算に対して、その出力ビット長のオーバーフロー情報を検出するオーバーフロー検出回路を前記検出回路として付加し、
前記動作検証工程は、前記オーバーフロー検出回路が検出するオーバーフロー情報を前記検出結果とし、
前記ビット長決定工程は、前記RTL生成工程が2回目以降に前記RTL記述回路を生成する場合には、前回生成したRTL記述回路に関する前記オーバーフロー情報に基づいて各演算の出力ビット長を最適化して決定することを特徴とする回路設計方法。 - 請求項2に記載の回路設計方法において、前記ディレクティブ付加工程は、前記オーバーフロー範囲を設定して前記オーバーフロー検出ディレクティブを前記プログラムに付加し、
前記動作検証工程は、前記オーバーフロー検出回路によって、前記対象演算の演算結果のうち、前記オーバーフロー範囲に相当する上位ビットに基づいて前記演算結果がオーバーフローするか否かを判定して、その判定結果を前記オーバーフロー情報とし、
該方法は、前記動作検証工程の後で、前記オーバーフロー情報がオーバーフローすることを示す場合には、前記RTL記述回路を最適化すべきと判断し、再度、前記ビット長決定工程および前記RTL生成工程を実行し、それ以外の場合には、該方法を終了することを特徴とする回路設計方法。 - 請求項1に記載の回路設計方法において、前記ディレクティブ付加工程は、前記対象演算に対してビット幅検出回路を付加するために、前記ディレクティブとしてビット幅検出ディレクティブを前記プログラムに付加し、
前記RTL生成工程は、前記対象演算に対して、その出力ビット幅を検出するビット幅検出回路を前記検出回路として付加し、
前記動作検証工程は、前記ビット幅検出回路が検出するビット幅を前記検出結果とし、
前記ビット長決定工程は、前記RTL生成工程が2回目以降に前記RTL記述回路を生成する場合には、前回生成したRTL記述回路に関する前記ビット幅情報に基づいて各演算の出力ビット長を最適化して決定することを特徴とする回路設計方法。 - 請求項4に記載の回路設計方法において、前記動作検証工程は、前記ビット幅検出回路によって、前記対象演算の演算結果の最上位ビットが0の場合、それ以外のビットのうちで1を示す最上位のビット番号を使用ビット幅とし、また前記対象演算の演算結果の最上位ビットが1の場合、それ以外のビットのうちで0を示す最上位のビット番号を使用ビット幅として前記ビット幅情報とし、
該方法は、前記ビット幅情報が前記対象演算に既に設定されている値よりも大きい場合には、前記RTL記述回路を最適化すべきと判断し、再度、前記ビット長決定工程および前記RTL生成工程を実行し、それ以外の場合には、該方法を終了することを特徴とする回路設計方法。 - 請求項1に記載の回路設計方法において、前記RTL生成工程は、前記対象演算に対して付加する前記検出回路の前記検出結果を保持するステータスレジスタを前記検出回路に対して付加し、
前記動作検証工程は、前記検出結果を前記ステータスレジスタに格納し、
前記ビット長決定工程は、前記RTL生成工程が2回目以降に前記RTL記述回路を生成する場合には、前回生成したRTL記述回路に関する前記検出結果を前記ステータスレジスタから得て、該検出結果に基づいて各演算の出力ビット長を最適化して決定することを特徴とする回路設計方法。 - 請求項1に記載の回路設計方法において、前記動作検証工程は、デバッグ機能を有して前記検出結果を標準出力し、
前記ビット長決定工程は、前記RTL生成工程が2回目以降に前記RTL記述回路を生成する場合には、前回生成したRTL記述回路に関する前記検出結果を前記標準出力から得て、該検出結果に基づいて各演算の出力ビット長を最適化して決定することを特徴とする回路設計方法。 - 請求項1に記載の回路設計方法において、前記RTL生成工程は、前記ステータスレジスタから割り込み信号を出力するように前記RTL記述回路を生成し、
前記動作検証工程は、前記検出結果を前記ステータスレジスタに格納し、
前記ビット長決定工程は、前記RTL生成工程が2回目以降に前記RTL記述回路を生成する場合には、前回生成したRTL記述回路に関する前記検出結果を前記ステータスレジスタからの割り込み信号によって得て、該検出結果に基づいて各演算の出力ビット長を最適化して決定することを特徴とする回路設計方法。 - 請求項1に記載の回路設計方法において、該方法は、前記RTL生成工程が前記プログラムおける前記ディレクティブとは無関係に第2の検出回路を組み込んでRTL記述回路を生成するときに、前記動作検証工程が第2の検出回路による第2の検出結果を得ると、前記ビット長決定工程は、前記RTL生成工程が2回目以降に前記RTL記述回路を生成する場合には、前記検出結果および第2の検出結果に基づいて各演算の出力ビット長を最適化して決定することを特徴とする回路設計方法。
- 請求項1に記載の回路設計方法において、前記動作検証工程は、回路シミュレータによって前記RTL記述回路の動作検証を行うことを特徴とする回路設計方法。
- 請求項1に記載の回路設計方法において、前記動作検証工程は、前記RTL記述回路をFPGA(Field Programmable Gate Array)などのプログラマブル論理回路に書き込んで該論理回路の動作検証を行うことを特徴とする回路設計方法。
- 請求項1に記載の回路設計方法において、該方法は、前記動作検証結果によって前記RTL記述回路の最適化の必要がないと判断した場合には、前記プログラムから前記ディレクティブを外して、前記ビット長決定工程および前記RTL生成工程を実行し、前記検出回路を外した前記RTL記述回路を生成することを特徴とする回路設計方法。
- 所望のデジタル信号処理を示すプログラムに基づいてRTL記述回路を生成する回路設計フローによって設計されて、前記RTL記述回路を用いて製造される集積回路において、該回路は、
前記回路設計フローにおいて、前記プログラムにおける各演算のうち、演算結果のオーバーフロー判定を所望する対象演算に対してディレクティブを付加した前記プログラムを使用し、少なくとも該プログラムに基づいて動作合成を行って前記所望のデジタル信号処理を実現する回路をRTLで記述する際に、前記ディレクティブが付加された対象演算に対してその出力ビット長に関する情報を検出する検出回路を付加して前記RTL記述回路を生成し、該RTL記述回路を動作検証してその動作検証結果として前記検出回路の検出結果を得て、前記動作検証結果によって前記RTL記述回路を最適化すべきと判断した場合に、前記検出結果に基づいて対象演算の出力ビット長を最適化して再度、前記RTL記述回路を生成して、各演算の出力ビット長が最適化されるまで前記RTL記述回路の生成を繰り返して最適化されたRTL記述回路を得て、
該最適化されたRTL記述回路を用いて製造されることを特徴とする集積回路。 - 所望のデジタル信号処理を示すプログラムに基づいて動作合成を行ってRTL記述回路を生成する動作合成ツールにおいて、該ツールは、
前記プログラムにおける各演算のうち、演算結果のオーバーフロー判定を所望する対象演算に対してディレクティブが付加された前記プログラムを入力し、
各演算の出力ビット長を決定するビット長決定手段と、
前記プログラムおよび前記出力ビット長に基づいて、前記所望のデジタル信号処理を実現する回路をRTLで記述し、前記ディレクティブが付加された対象演算に対して、その出力ビット長に関する情報を検出する検出回路を付加して、前記RTL記述回路を生成するRTL生成手段とを含み、
さらに、該ツールは、前記RTL記述回路の動作検証結果を得ると、前記動作検証結果によって前記RTL記述回路を最適化すべきと判断した場合には、再度、前記ビット長決定手段および前記RTL生成手段を実行し、
とくに、前記ビット長決定手段は、前記RTL生成手段が前記プログラムに関して初めて前記RTL記述回路を生成する場合には、あらかじめ設定された初期値を前記出力ビット長として決定し、2回目以降に前記RTL記述回路を生成する場合には、前回生成したRTL記述回路における前記検出回路による検出結果を前記動作検証結果として得て、前記検出結果に基づいて各演算の出力ビット長を最適化して決定することを特徴とする動作合成ツール。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007212832A JP5014920B2 (ja) | 2007-08-17 | 2007-08-17 | 回路設計方法、ならびにその方法により製造される集積回路 |
US12/189,408 US20090049417A1 (en) | 2007-08-17 | 2008-08-11 | Method of designing a circuit for optimizing output bit length and integrated circuit therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007212832A JP5014920B2 (ja) | 2007-08-17 | 2007-08-17 | 回路設計方法、ならびにその方法により製造される集積回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009048367A true JP2009048367A (ja) | 2009-03-05 |
JP5014920B2 JP5014920B2 (ja) | 2012-08-29 |
Family
ID=40363992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007212832A Expired - Fee Related JP5014920B2 (ja) | 2007-08-17 | 2007-08-17 | 回路設計方法、ならびにその方法により製造される集積回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090049417A1 (ja) |
JP (1) | JP5014920B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012008319A1 (ja) * | 2010-07-13 | 2012-01-19 | 日本電気株式会社 | エミュレータ検証システム、エミュレータ検証方法 |
WO2021131572A1 (ja) * | 2019-12-27 | 2021-07-01 | 株式会社パルテック | 情報処理システム、情報処理装置、情報処理装置の使用方法、ユーザ端末およびそのプログラム |
US11886874B2 (en) | 2019-05-16 | 2024-01-30 | Hitachi Astemo, Ltd. | Arithmetic operation device and arithmetic operation method |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010160622A (ja) * | 2009-01-07 | 2010-07-22 | Toshiba Corp | シミュレータ |
JP2010204720A (ja) * | 2009-02-27 | 2010-09-16 | Nec Corp | 回路設計支援システム、回路設計支援方法及びプログラム |
KR102218200B1 (ko) * | 2014-03-06 | 2021-02-23 | 삼성전자주식회사 | 스프레드 시트를 이용한 rtl 자동 합성 시스템, 방법 및 기록매체 |
US10067744B2 (en) * | 2016-12-08 | 2018-09-04 | International Business Machines Corporation | Overflow detection for sign-magnitude adders |
US11574196B2 (en) | 2019-10-08 | 2023-02-07 | International Business Machines Corporation | Dynamic management of weight update bit length |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003202991A (ja) * | 2002-01-08 | 2003-07-18 | Sony Corp | プログラム処理装置及びプログラム処理方法、記憶媒体、並びにコンピュータ・プログラム |
JP2006058932A (ja) * | 2004-08-17 | 2006-03-02 | Matsushita Electric Ind Co Ltd | クロック変換方法 |
JP2006285333A (ja) * | 2005-03-31 | 2006-10-19 | Nec Corp | 動作合成装置及び方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356786B2 (en) * | 1999-11-30 | 2008-04-08 | Synplicity, Inc. | Method and user interface for debugging an electronic system |
US7222315B2 (en) * | 2000-11-28 | 2007-05-22 | Synplicity, Inc. | Hardware-based HDL code coverage and design analysis |
-
2007
- 2007-08-17 JP JP2007212832A patent/JP5014920B2/ja not_active Expired - Fee Related
-
2008
- 2008-08-11 US US12/189,408 patent/US20090049417A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003202991A (ja) * | 2002-01-08 | 2003-07-18 | Sony Corp | プログラム処理装置及びプログラム処理方法、記憶媒体、並びにコンピュータ・プログラム |
JP2006058932A (ja) * | 2004-08-17 | 2006-03-02 | Matsushita Electric Ind Co Ltd | クロック変換方法 |
JP2006285333A (ja) * | 2005-03-31 | 2006-10-19 | Nec Corp | 動作合成装置及び方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012008319A1 (ja) * | 2010-07-13 | 2012-01-19 | 日本電気株式会社 | エミュレータ検証システム、エミュレータ検証方法 |
JPWO2012008319A1 (ja) * | 2010-07-13 | 2013-09-09 | 日本電気株式会社 | エミュレータ検証システム、エミュレータ検証方法 |
US8990624B2 (en) | 2010-07-13 | 2015-03-24 | Nec Corporation | Emulator verification system, emulator verification method |
JP5900336B2 (ja) * | 2010-07-13 | 2016-04-06 | 日本電気株式会社 | エミュレータ検証システム、エミュレータ検証方法 |
US11886874B2 (en) | 2019-05-16 | 2024-01-30 | Hitachi Astemo, Ltd. | Arithmetic operation device and arithmetic operation method |
WO2021131572A1 (ja) * | 2019-12-27 | 2021-07-01 | 株式会社パルテック | 情報処理システム、情報処理装置、情報処理装置の使用方法、ユーザ端末およびそのプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20090049417A1 (en) | 2009-02-19 |
JP5014920B2 (ja) | 2012-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5014920B2 (ja) | 回路設計方法、ならびにその方法により製造される集積回路 | |
US10684776B2 (en) | Memory configuration for inter-processor communication in an MPSoC | |
US7464015B2 (en) | Method and apparatus for supporting verification, and computer product | |
JP4923128B2 (ja) | 回路設計およびリタイミングの方法および装置 | |
US8434036B2 (en) | Arithmetic program conversion apparatus, arithmetic program conversion method, and program | |
JP2006285333A (ja) | 動作合成装置及び方法 | |
CN118113660B (zh) | Fpga延时优化方法、装置、设备、存储介质及程序产品 | |
US20060101363A1 (en) | Method of associating timing violations with critical structures in an integrated circuit design | |
JP2002108958A (ja) | 回路設計システム、回路設計方法および回路設計プログラムを格納したコンピュータ読取り可能な記録媒体 | |
US20190034562A1 (en) | High-level synthesis device, high-level synthesis method, and computer readable medium | |
US8843862B2 (en) | Method and apparatus for creating and changing logic representations in a logic design using arithmetic flexibility of numeric formats for data | |
US9600613B1 (en) | Block-level code coverage in simulation of circuit designs | |
CN115454398A (zh) | 一种c语言程序验证器的浮点计算精度分析方法及系统 | |
JP6752393B1 (ja) | 設計支援システムおよび設計支援プログラム | |
JP5262435B2 (ja) | 回路設計装置及び回路設計方法 | |
JP6242170B2 (ja) | 回路設計支援装置及びプログラム | |
CN106650033B (zh) | 一种输入输出端口的工艺映射方法 | |
US20200004503A1 (en) | Information processing device, information processing method, and computer readable medium | |
US11586793B2 (en) | Method for producing an association list | |
Ordaz et al. | On the hls design of bit-level operations and custom data types | |
US20100169607A1 (en) | Reconfigurable circuit, its design method, and design apparatus | |
JP2010160580A (ja) | ホールドエラー修正方法、装置及びプログラム | |
US8566772B2 (en) | Method, computer program and computing system for optimizing an architectural model of a microprocessor | |
JP2009223554A (ja) | 動作合成装置、動作合成方法、及び、プログラム | |
WO2018163387A1 (ja) | 解析装置、解析方法及び解析プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20081224 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100727 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20110302 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120326 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120508 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120606 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150615 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |