JP2010262412A - 論理回路設計装置 - Google Patents
論理回路設計装置 Download PDFInfo
- Publication number
- JP2010262412A JP2010262412A JP2009111580A JP2009111580A JP2010262412A JP 2010262412 A JP2010262412 A JP 2010262412A JP 2009111580 A JP2009111580 A JP 2009111580A JP 2009111580 A JP2009111580 A JP 2009111580A JP 2010262412 A JP2010262412 A JP 2010262412A
- Authority
- JP
- Japan
- Prior art keywords
- logic circuit
- register
- hardware
- source code
- information
- 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
Abstract
【解決手段】本願が開示する論理回路設計装置は、入力された論理回路ブロックのレジスタ情報を解析して論理回路の構成情報を取得する。そして、論理回路設計装置は、取得された論理回路の構成情報に基づいて、論路回路のレジスタ部と、論理回路のコア機能部の雛形とを生成する。また、論理回路設計装置は、レジスタ部とコア機能部とを包含するトップモジュールの雛形とのそれぞれについて、ハードウェアソースコードを生成する。さらに、論理回路設計装置は、取得された論理回路の構成情報に基づいて、論路回路の初期化用デバイスドライバ関数の雛形について、ソフトウェアソースコードを生成する。
【選択図】図1
Description
システムメモリマップDB10は、バススレーブ(論理回路ブロック)のブロックごとに空間が分割されたシステムのメモリマップをユーザ(設計者)から受け付けて記憶する。具体的には、システムメモリマップDB10は、システム上の当該バススレーブにアクセス可能とするために、バススレーブ毎に開始アドレスと終了アドレスを記憶する。また、システムメモリマップDB10は、CPUの他にDMA(ダイレクト・メモリ・アクセス)コントローラなどバスマスターとなりうる論理回路ブロックが存在する場合は、当該バスマスターがどのバススレーブにアクセス可能かという情報を記憶する。
ハードウェア記述生成部(システム関連)20は、システム関連のバスモデルのハードウェアソースコード20a、論理回路バスI/F部のハードウェアソースコード20b、簡易割込みコントローラのハードウェアソースコード20cをRTL記述やTL記述で作成する。なお、バスモデルとは、LSI(Large Scale Integration)内部で使用されるオンチップバスのことである。また、バスI/F部(バスインタフェース部)とは、論理回路のバスモデルとレジスタ部との間を論理的に接続するものであり、例えば、バスモデルで指定されたプロトコルを吸収し、レジスタ部に対して統一したインタフェース(プロトコル)を提供する。
図1に戻り、ハードウェア記述生成部(論理回路関連)21は、論理回路関連のハードウェアソースコードの自動生成を実行する。具体的には、ハードウェア記述生成部(論理回路関連)21は、論理回路レジスタ部のハードウェアソースコード21a、論理回路コア機能ブロックのハードウェアソースコード雛形21bをRTL記述やTL記述で作成する。また、ハードウェア記述生成部(論理回路関連)21は、論理回路トップモジュールのハードウェアソースコード雛形21cをRTL記述やTL記述で作成する。
ソフトウェア記述生成部22は、論理回路の割り込み処理関数の雛形22aや初期化関数の雛形22bの自動生成を論理回路ブロックごとに実行する。本来、割込み処理関数(一般に、割り込みハンドラなどと呼ばれる)は、OS(オペレーティング・システム)やCPU(中央処理装置)に強く依存するため、汎用的なものを作ることは困難である。また、割込み処理とは現在実行中の処理を止めて「割り込」んでまで処理しなければならない性質のものなので、割込み処理関数は処理速度優先な実装になることが多い。
具体的には、ソフトウェア記述生成部22は、図9と図13に示した情報をもとに、図21に示す各種定義情報をC言語で生成する。例えば、割込み関連の情報が図19−1及び図19−2に示す値で与えられた場合で説明する。この場合、ソフトウェア記述生成部22は、システムメモリマップDB10と論理回路レジスタマップ一覧DB12と論理回路レジスタマップ詳細DB13と論理回路割込み情報DB14のそれぞれから情報を取得する。そして、ソフトウェア記述生成部22は、各DBから取得した情報をもとに、ソフトウェアソースコードで使用する各種定義情報を記述したソースコード(図20参照)を生成する。なお、図19−1は、論理回路レジスタマップ詳細DBに記憶される情報の例を示す図であり、図19−2は、論理回路割り込みDBに記憶される情報の例を示す図である。また、図20は、割込み処理関数生成に必要な部分を抜粋した定義ファイルを示す図である。
次に、初期化関数の雛形22bの生成について説明する。ここでは、まず、図25を用いて、ソフトウェア記述生成部22による初期化関数生成処理の流れについて説明する。図25は、ソフトウェア記述生成部22による初期化関数生成処理の流れを示すフローチャートである。
次に、検証環境生成部25について説明する。検証環境生成部25は、生成部20〜22によって生成されたソースコードの情報を解析して、検証環境(機能検証、性能検証)を構築する。また、検証環境生成部25は、検証目的に応じて機能検証用の環境と性能検証用の環境を必要に応じて生成する。
次に、図35を用いて、実施例1に係る論理回路設計装置による全体的な処理の流れを説明する。図35は、実施例1に係る論理回路設計装置による全体的な処理の流れを示すフローチャートである。
このように、実施例1によれば、ハードウェアとソフトウェアを含むシステム全体を設計する場合でも、論理回路ブロックのレジスタ情報からハードウェアとソフトウェア両方のソースコードを作成することができる。その結果、従来に比べて、設計者による手作業の工数を削減することができるので、システム全体の設計に必要な工数を削減することが可能である。
例えば、本願が開示する論理回路設計装置は、図37に示すような精度検証用検証環境を作成することができる。具体的には、論理回路設計装置は、論理合成可能で精度検証に適しているRTL記述で生成されたソースコード等を用いることで、精度検証用の検証環境を作成することができる。この場合、DMAコントローラ(Direct Memory Access controller)は既存のIPマクロを使用することができ、初期化処理関数の雛形および割り込み処理関数の雛形はテストデータ(テストドライバ)として用いられる。このような検証環境を作成することで、レジスタのRead/Writeを一通り検証することができ、バスの動作やレジスタ部までの動作確認ができる。図37は、精度検証用検証環境の構成例を示す図である。
また、本願が開示する論理回路設計装置は、図38に示すような機能検証用検証環境を作成することができる。具体的には、論理回路設計装置は、高速に動作可能で機能検証に適しているTL記述で生成されたソースコード等を用いることで、機能検証用の検証環境を作成することができる。この場合、DMAコントローラは既存のIPマクロを使用することができ、初期化処理関数の雛形および割り込み処理関数の雛形はテストデータ(テストドライバ)として用いられる。このような検証環境を作成することで、作成されたソースコード等を用いて生成したシステムが正常に動作するかを高速に検証できる。図38は、機能検証用検証環境の構成例を示す図である。
また、本願が開示する論理回路設計装置は、図39に示すような単体用検証環境を作成することができる。このような検証環境を作成することで、作成されたソースコード等を用いて生成した論理回路ブロック単位で検証することができる。その結果、不具合の原因特定をシステム構築の早い段階で検出することができる。図39は、単体用検証環境の構成例を示す図である。
例えば、実施例1では、GUIを用いてメモリマップ等の情報をユーザから受け付けて各データベースに登録するようにした。ところが、本願は、GUIでなくとも、例えば、XML(eXtensible Markup Language)やCSV(Comma Separated Value)、YAML(YAML Ain't a Markup Language)などのテキストファイルを用いることもできる。
例えば、実施例1では、雛形ファイルを用意しておき、雛形ファイルとメモリマップやレジスタマップの情報とに基づいて、ソースコード等を生成する例について説明した。本願は雛形ファイルが必ずしも必要ではなく、メモリマップやレジスタマップの情報に基づいて、ソースコード等を生成することもできる。
例えば、本願が開示する論理回路設計装置は、ハードウェアソースコードをHDLで作成することもでき、HDL以外のハードウェア記述言語でも作成することができる。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
なお、本実施例で説明した論理回路設計方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVD、フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
前記レジスタ解析手段によって取得された論理回路の構成情報に基づいて、前記論路回路のレジスタ部と、前記論理回路のコア機能部の雛形と、前記レジスタ部とコア機能部とを包含するトップモジュールの雛形とのそれぞれについて、ハードウェアソースコードを生成するハードウェア記述生成手段と、
前記レジスタ解析手段によって取得された論理回路の構成情報に基づいて、前記論路回路の初期化用デバイスドライバ関数の雛形について、ソフトウェアソースコードを生成するソフトウェア記述生成手段と、
を有することを特徴とする論理回路設計装置。
前記ソフトウェア記述生成手段は、前記レジスタ解析手段によって取得された論理回路の構成情報を用いて、前記ソフトウェアソースコードの雛形を書き換えることで、前記ソフトウェアソースコードを生成することを特徴とする付記1に記載の論理回路設計装置。
前記ハードウェア記述生成手段は、前記メモリ解析手段によって取得されたシステムの構成情報に基づいて、前記システムのバスモデルと、前記論理回路のバスインタフェースとのそれぞれについて、前記ハードウェアソースコードを生成することを特徴とする付記1または2に記載の論理回路設計装置。
前記ハードウェア記述生成手段は、前記レジスタ解析手段に取得された割り込み情報を用いて、割り込みコントローラを生成し、
前記ソフトウェア記述生成手段は、前記レジスタ解析手段に取得された割り込み情報を用いて、割り込み処理関数の雛形を生成することを特徴とする付記1に記載の論理回路設計装置。
前記レジスタ解析手順によって取得された論理回路の構成情報に基づいて、前記論路回路のレジスタ部と、前記論理回路のコア機能部の雛形と、前記レジスタ部とコア機能部とを包含するトップモジュールの雛形とのそれぞれについて、ハードウェアソースコードを生成するハードウェア記述生成手順と、
前記レジスタ解析手順によって取得された論理回路の構成情報に基づいて、前記論路回路の初期化用デバイスドライバ関数の雛形について、ソフトウェアソースコードを生成するソフトウェア記述生成手順と、
を論理回路設計装置としてのコンピュータに実行させることを特徴とする論理回路設計プログラム。
10 システムメモリマップDB
11 バス種別DB
12 論理回路レジスタマップ一覧DB
13 論理回路レジスタマップ詳細DB
14 論理回路割り込み情報DB
15 検証種別DB
20 ハードウェア記述生成部(システム関連)
20a バスモデルのハードウェアソースコード
20b 論理回路バスインタフェース部のハードウェアソースコード
20c 簡易割り込みコントローラのハードウェアソースコード
21 ハードウェア記述生成部(論理回路関連)
21a 論理回路レジスタ部のハードウェアソースコード
21b 論理回路コア機能ブロック雛形のハードウェアソースコード
21c 論理回路トップモジュール雛形のハードウェアソースコード
22 ソフトウェア記述生成部
22a 論理回路割込処理関数雛形のソフトウェアソースコード
22b 論理回路初期化関数雛形のソフトウェアソースコード
25 検証環境生成部
Claims (5)
- 入力された論理回路ブロックのレジスタ情報を解析して論理回路の構成情報を取得するレジスタ解析手段と、
前記レジスタ解析手段によって取得された論理回路の構成情報に基づいて、前記論路回路のレジスタ部と、前記論理回路のコア機能部の雛形と、前記レジスタ部とコア機能部とを包含するトップモジュールの雛形とのそれぞれについて、ハードウェアソースコードを生成するハードウェア記述生成手段と、
前記レジスタ解析手段によって取得された論理回路の構成情報に基づいて、前記論路回路の初期化用デバイスドライバ関数の雛形について、ソフトウェアソースコードを生成するソフトウェア記述生成手段と、
を有することを特徴とする論理回路設計装置。 - 前記ハードウェア記述生成手段は、前記レジスタ解析手段によって取得された論理回路の構成情報を用いて、前記ハードウェアソースコードそれぞれの雛形を書き換えることで、前記ハードウェアソースコードを生成し、
前記ソフトウェア記述生成手段は、前記レジスタ解析手段によって取得された論理回路の構成情報を用いて、前記ソフトウェアソースコードの雛形を書き換えることで、前記ソフトウェアソースコードを生成することを特徴とする請求項1に記載の論理回路設計装置。 - ソフトウェアとハードウェアとを有するシステムのメモリマップを受け付けて、受け付けたメモリマップを解析し、前記システムの構成情報を取得するメモリ解析手段をさらに有し、
前記ハードウェア記述生成手段は、前記メモリ解析手段によって取得されたシステムの構成情報に基づいて、前記システムのバスモデルと、前記論理回路のバスインタフェースとのそれぞれについて、前記ハードウェアソースコードを生成することを特徴とする請求項1または2に記載の論理回路設計装置。 - 前記ハードウェア記述生成手段は、論理検証が可能なトランザクションレベル記述と論理合成可能でクロックベースの検証が可能なレジスタトランスファレベル記述の少なくとも一方の形式で、前記ハードウェアソースコードを生成することを特徴とする請求項1に記載の論理回路設計装置。
- 前記レジスタ解析手段は、前記論理回路ブロックの割り込み情報をさらに取得し、
前記ハードウェア記述生成手段は、前記レジスタ解析手段に取得された割り込み情報を用いて、割り込みコントローラを生成し、
前記ソフトウェア記述生成手段は、前記レジスタ解析手段に取得された割り込み情報を用いて、割り込み処理関数の雛形を生成することを特徴とする請求項1に記載の論理回路設計装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009111580A JP5577619B2 (ja) | 2009-04-30 | 2009-04-30 | 論理回路設計装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009111580A JP5577619B2 (ja) | 2009-04-30 | 2009-04-30 | 論理回路設計装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010262412A true JP2010262412A (ja) | 2010-11-18 |
JP5577619B2 JP5577619B2 (ja) | 2014-08-27 |
Family
ID=43360434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009111580A Expired - Fee Related JP5577619B2 (ja) | 2009-04-30 | 2009-04-30 | 論理回路設計装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5577619B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115983173A (zh) * | 2023-03-21 | 2023-04-18 | 湖北芯擎科技有限公司 | 寄存器模型生成方法、装置、计算机设备及存储介质 |
WO2023166609A1 (ja) * | 2022-03-02 | 2023-09-07 | 三菱電機株式会社 | デジタル回路設計を支援する装置、デジタル回路設計を支援する方法、および、デジタル回路設計を支援するプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09160949A (ja) * | 1995-12-07 | 1997-06-20 | Hitachi Ltd | ハードウエアとソフトウエアの混在システムの設計支援方法 |
JP2001202397A (ja) * | 2000-01-20 | 2001-07-27 | Toshiba Corp | システム・オン・チップのアーキテクチャ設計支援システム及びアーキテクチャ生成方法 |
JP2003085223A (ja) * | 2001-09-07 | 2003-03-20 | Hitachi Ltd | ハードウェア・ソフトウェア統合設計システム |
JP2005327192A (ja) * | 2004-05-17 | 2005-11-24 | Ricoh Co Ltd | ハードウエア設計システムおよびその方法 |
JP2008250504A (ja) * | 2007-03-29 | 2008-10-16 | Fujitsu Ltd | 論理検証支援プログラム、該プログラムを記録した記録媒体、論理検証支援装置、および論理検証支援方法 |
-
2009
- 2009-04-30 JP JP2009111580A patent/JP5577619B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09160949A (ja) * | 1995-12-07 | 1997-06-20 | Hitachi Ltd | ハードウエアとソフトウエアの混在システムの設計支援方法 |
JP2001202397A (ja) * | 2000-01-20 | 2001-07-27 | Toshiba Corp | システム・オン・チップのアーキテクチャ設計支援システム及びアーキテクチャ生成方法 |
JP2003085223A (ja) * | 2001-09-07 | 2003-03-20 | Hitachi Ltd | ハードウェア・ソフトウェア統合設計システム |
JP2005327192A (ja) * | 2004-05-17 | 2005-11-24 | Ricoh Co Ltd | ハードウエア設計システムおよびその方法 |
JP2008250504A (ja) * | 2007-03-29 | 2008-10-16 | Fujitsu Ltd | 論理検証支援プログラム、該プログラムを記録した記録媒体、論理検証支援装置、および論理検証支援方法 |
Non-Patent Citations (2)
Title |
---|
CSNG199700268004; 今井 正治: 'ハードウェア/ソフトウェア・コデザイン' 情報処理 第36巻/第7号, 19950715, 第614-619頁, 一般社団法人情報処理学会 * |
JPN6013029064; 今井 正治: 'ハードウェア/ソフトウェア・コデザイン' 情報処理 第36巻/第7号, 19950715, 第614-619頁, 一般社団法人情報処理学会 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023166609A1 (ja) * | 2022-03-02 | 2023-09-07 | 三菱電機株式会社 | デジタル回路設計を支援する装置、デジタル回路設計を支援する方法、および、デジタル回路設計を支援するプログラム |
CN115983173A (zh) * | 2023-03-21 | 2023-04-18 | 湖北芯擎科技有限公司 | 寄存器模型生成方法、装置、计算机设备及存储介质 |
CN115983173B (zh) * | 2023-03-21 | 2023-07-07 | 湖北芯擎科技有限公司 | 寄存器模型生成方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP5577619B2 (ja) | 2014-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11630930B2 (en) | Generation of dynamic design flows for integrated circuits | |
US9652570B1 (en) | Automatic implementation of a customized system-on-chip | |
US8117576B2 (en) | Method for using an equivalence checker to reduce verification effort in a system having analog blocks | |
US7231627B2 (en) | Merging a hardware design language source file with a separate assertion file | |
US20180293332A1 (en) | Development, programming, and debugging environment | |
CN112949233B (zh) | Fpga芯片的自动化开发方法及装置、电子设备 | |
US20060064680A1 (en) | Extensible internal representation of systems with parallel and sequential implementations | |
US8136062B2 (en) | Hierarchy reassembler for 1×N VLSI design | |
JP5910108B2 (ja) | 高位合成装置,高位合成方法,高位合成プログラム,集積回路の設計方法 | |
US8316335B2 (en) | Multistage, hybrid synthesis processing facilitating integrated circuit layout | |
JPH11513512A (ja) | ディジタル信号プロセッサの製造方法 | |
JP2006285333A (ja) | 動作合成装置及び方法 | |
US9880966B1 (en) | Encapsulating metadata of a platform for application-specific tailoring and reuse of the platform in an integrated circuit | |
US7496869B1 (en) | Method and apparatus for implementing a program language description of a circuit design for an integrated circuit | |
US7917873B1 (en) | System and method for verification of integrated circuit design | |
EP3532936B1 (en) | Debugging system and method | |
JP5577619B2 (ja) | 論理回路設計装置 | |
US10235486B2 (en) | Method, apparatus and system for automatically deriving parameters for an interconnect | |
US8813003B2 (en) | System and method for inferring higher level descriptions from RTL topology based on naming similarities and dependency | |
Kutzer et al. | Automatic generation of system-level virtual prototypes from streaming application models | |
JP2007018313A (ja) | 回路設計プログラム、回路設計装置、回路設計方法 | |
US9710582B1 (en) | Delivering circuit designs for programmable integrated circuits | |
JP6305644B2 (ja) | アーキテクチャ生成装置およびアーキテクチャ生成プログラム | |
Banerjee et al. | Automated approach to Register Design and Verification of complex SOC | |
Bappudi | Example Modules for Hardware-software Co-design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130618 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130819 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140225 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140424 |
|
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: 20140610 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140623 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5577619 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |