JP5471841B2 - 検証支援プログラム、論理検証装置、および検証支援方法 - Google Patents
検証支援プログラム、論理検証装置、および検証支援方法 Download PDFInfo
- Publication number
- JP5471841B2 JP5471841B2 JP2010123343A JP2010123343A JP5471841B2 JP 5471841 B2 JP5471841 B2 JP 5471841B2 JP 2010123343 A JP2010123343 A JP 2010123343A JP 2010123343 A JP2010123343 A JP 2010123343A JP 5471841 B2 JP5471841 B2 JP 5471841B2
- Authority
- JP
- Japan
- Prior art keywords
- model
- verification
- hardware
- control circuit
- models
- 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.)
- Expired - Fee Related
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
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3323—Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
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)
- Test And Diagnosis Of Digital Computers (AREA)
Description
図1は、実施の形態1にかかる検証対象回路の一例を示す説明図である。図1において、システム100は、複数のハードウェアH1〜Hnと、複数の制御回路C1〜Cnと、スイッチ装置Sとを含む構成である。システム100において、複数の制御回路C1〜Cn同士は、スイッチ装置Sを介して接続されている。また、ハードウェアH1〜Hnと対応する制御回路C1〜Cnは直接接続されている。
図2は、実施の形態1にかかる検証対象回路の検証モデルの一例を示す説明図である。図2において、検証モデル200は、複数のハードウェアモデルHM1〜HMnと、制御回路モデルCMと、スイッチ装置モデルSMとを含む構成である。
図5は、実施の形態1にかかる論理検証装置のハードウェア構成を示すブロック図である。図5において、論理検証装置500は、CPU501と、ROM502と、RAM503と、磁気ディスクドライブ504と、磁気ディスク505と、光ディスクドライブ506と、光ディスク507と、ディスプレイ508と、I/F(Interface)509と、キーボード510と、マウス511と、スキャナ512と、プリンタ513とを備えている。また、各構成部はバス520によってそれぞれ接続されている。
図6は、実施の形態1にかかる検証モデルの動作例を示すシーケンス図である。以下に説明する検証モデル200の動作例は、検証モデル200の記述データやテストパターンを、図5に示した論理検証装置500に入力して論理検証を実行することで実現される。
つぎに、実施の形態2にかかる検証対象回路について説明する。実施の形態1で説明した箇所と同様の箇所については、図示および説明を省略する。また、以下の説明では、制御回路C1〜Cnを「プライオリティ制御回路P1〜Pn」、制御回路モデルCMを「プライオリティ制御回路モデルPM」、疑似制御回路モデルSCMを「疑似プライオリティ制御回路SPM」と表記する。
図8は、プライオリティ制御部の待ち行列の構成例を示す説明図である。ここでは、メモリ要求の発行元として、CPU_X,CPU_Y,CPU_Zを例に挙げて説明する。CPU_X,CPU_Y,CPU_Zは、SMPシステム700内のいずれかのCPUである。
図10は、実施の形態2にかかるSMPシステムの動作例を示すシーケンス図(その1)である。ここでは、SMPシステム700内のシステムボードS♯とクロスバースイッチBとの間の動作シーケンスについて説明する。図10のシーケンス図において、(1)システムボードS♯内のプライオリティ制御部P♯は、I/O制御部75♯を介して、CPU11♯から発行されたメモリ要求をクロスバースイッチBに送信する。
・E(Exclusive):CPU11♯のキャッシュだけに存在するが、キャッシュ上の値は主記憶装置12♯上の値と一致している。
・S(Shared):SMPシステム700内の他のCPUのキャッシュにも同じキャッシュラインが存在している。
・I(Invalid):キャッシュラインは無効である。
図12は、実施の形態2にかかるSMPシステムの検証モデルの一例を示す説明図である。図12において、検証モデル1200は、システムボードモデルSMと、プライオリティ制御部モデルPMと、疑似システムボードモデルSSM2〜SSMnと、疑似プライオリティ制御部モデルSPM2〜SPMnと、を含む構成である。
図14は、プライオリティ制御部モデルの機能的構成を示すブロック図である。図14において、プライオリティ制御部モデルPMは、受付部1401と、決定部1402と、通知部1403と、送信部1404と、受信部1405と、を含む構成である。
図15は、プライオリティ制御部モデルの通知部の具体的な処理内容を示す説明図である。図15において、プライオリティ制御部モデルPMが有するスヌープパイプラインモデル1510と、疑似プライオリティ制御部モデルSPM♯が有するスヌープパイプラインモデル1520とが示されている。
図16は、プライオリティ制御部モデルの動作手順の一例を示すフローチャートである。図16において、決定部1402により、待ち行列に登録されているメモリ要求群の中から、システムボードモデルSMが処理するメモリ要求を決定する(ステップS1601)。
図17は、疑似CPUモデルの具体例を示す説明図である。図17において、疑似CPUモデル131♯は、複数のCPUコアモデル171♯と、バスコントローラモデル172♯と、キャッシュモデル173♯と、を含む構成である。疑似CPUモデル131♯は、図7に示したシステムコントローラ71♯内のCPU制御部72♯の機能を統合した設計である。
図18は、疑似主記憶装置モデルの具体例を示す説明図である。図18において、疑似主記憶装置モデル132♯は、メモリコントローラモデル181♯と、RAMモデル182♯と、を含む構成である。疑似主記憶装置モデル132♯は、図7に示したシステムコントローラ71♯の主記憶装置制御部73♯の機能を統合した設計である。
図19は、疑似I/Oモデルの具体例を示す説明図である。図19において、疑似I/Oモデル134♯は、I/Oアドレス空間テスト用RAMモデル191♯と、I/Oバスコントローラモデル192♯と、DMA(Direct Memory Access)テスト用RAMモデル193♯と、を含む構成である。
図20は、実施の形態2にかかる検証対象回路の変形例を示す説明図である。図20において、システムボード2000は、プライオリティ制御部P1,P2と、複数のCPU111,112と、主記憶装置121,122と、を含む構成である。システムボード2000は、クロスバースイッチBを用いることなく、物理的に1枚の基板上に同期して動作する複数のプライオリティ制御部P1,P2を含むSMP構成のシステムである。
(2)プライオリティ制御部P1,P2はそれぞれ、待ち行列にメモリ要求を登録する。
(3)プライオリティ制御部P1,P2は、待ち行列に登録されているメモリ要求群の中から処理対象となるメモリ要求を決定する。
(4)プライオリティ制御部P1,P2は、決定されたメモリ要求に関するスヌープ処理を実行する。
(5)プライオリティ制御部P1,P2は、CPU111,112のキャッシュ状態を相互に報告する。
(6)プライオリティ制御部P1,P2は、CPU111,112のキャッシュ状態をマージする。
(7)プライオリティ制御部P1,P2は、マージしたCPU111,112のキャッシュ状態に基づいて、ユニットに指示する動作指示を決定する。
131♯ 疑似CPUモデル
132♯ 疑似主記憶装置モデル
134♯ 疑似I/Oモデル
500 論理検証装置
810,820,830 待ち行列
840 スヌープパイプライン
1100 動作指示テーブル
1401 受付部
1402 決定部
1403 通知部
1404 送信部
1405 受信部
1510,1520 スヌープパイプラインモデル
B クロスバースイッチ
BM クロスバースイッチモデル
C1〜Cn,C♯ 制御回路
CM 制御回路モデル
H1〜Hn,H♯ ハードウェア
HM1〜HMn,HM♯ ハードウェアモデル
P1〜Pn,P♯ プライオリティ制御部
PM プライオリティ制御部モデル
S スイッチ装置
S1〜Sn,S♯ システムボード
SM スイッチ装置モデル
SPM2〜SPMn,SPM♯ 疑似プライオリティ制御部モデル
SSM2〜SSMn,SSM♯ 疑似システムボードモデル
Claims (10)
- 互いに同期して動作する、回路構成が等価な複数の制御回路と、前記制御回路に対応する、同一の命令を処理するハードウェアとを含むシステムの論理検証を、前記複数の制御回路のいずれか一つの制御回路の機能をモデル化した制御回路モデルと、前記各ハードウェアの機能をモデル化した複数のハードウェアモデルとを含む前記システムの検証モデルを用いて実行するコンピュータに、
前記制御回路モデルにより、前記複数のハードウェアモデルからの命令を受け付けさせる受付工程と、
前記制御回路モデルにより、前記受付工程によって受け付けた命令群の中から、前記ハードウェアモデルが処理する命令を決定させる決定工程と、
前記制御回路モデルにより、当該制御回路モデルと前記複数のハードウェアモデルとを直接接続する論理検証用の信号線を用いて、前記決定工程によって決定された命令の処理要求を、前記複数のハードウェアモデルに通知させる通知工程と、
を実行させることを特徴とする検証支援プログラム。 - 前記ハードウェアモデルは、前記ハードウェア内のCPUおよび主記憶装置の機能をそれぞれモデル化したCPUモデルおよび主記憶装置モデルを含み、
前記通知工程は、
前記制御回路モデルにより、前記検証モデル内のいずれかの主記憶装置モデルに記憶されているデータを、前記各ハードウェアモデル内の前記CPUモデルがキャッシュしているか否かを問い合わせるスヌープ要求を、前記複数のハードウェアモデルに通知させることを特徴とする請求項1に記載の検証支援プログラム。 - 前記コンピュータに、
前記制御回路モデルにより、前記通知工程(以下、「第1の通知工程」)によって前記スヌープ要求が通知された結果得られる前記各ハードウェアモデルのスヌープ応答を、前記複数のハードウェアモデルに通知させる第2の通知工程を実行させることを特徴とする請求項2に記載の検証支援プログラム。 - 前記第1の通知工程は、
前記制御回路モデルにより、当該制御回路モデルと前記複数のハードウェアモデルとを直接接続する論理検証用の信号線を用いて、前記スヌープ要求を通知させることを特徴とする請求項3に記載の検証支援プログラム。 - 前記第2の通知工程は、
前記制御回路モデルにより、当該制御回路モデルと前記複数のハードウェアモデルとを直接接続する論理検証用の信号線を用いて、前記スヌープ応答を通知させることを特徴とする請求項3〜4のいずれか一つに記載の検証支援プログラム。 - 前記検証モデルは、前記複数のハードウェアモデルのうち前記一つの制御回路に直接接続されたハードウェアの機能をモデル化したハードウェアモデルを検証対象とすることを特徴とする請求項1〜5のいずれか一つに記載の検証支援プログラム。
- 前記検証モデルは、レジスタ転送レベルで記述されることを特徴とする請求項1〜6のいずれか一つに記載の検証支援プログラム。
- 前記検証モデルは、ゲートレベルで記述されることを特徴とする請求項1〜6のいずれか一つに記載の検証支援プログラム。
- 互いに同期して動作する、回路構成が等価な複数の制御回路と、前記制御回路に対応する、同一の命令を処理するハードウェアとを含むシステムの論理検証を実行する論理検証装置において、
前記複数の制御回路のいずれか一つの制御回路の機能をモデル化した制御回路モデルにより、前記各ハードウェアの機能をモデル化した複数のハードウェアモデルからの命令を受け付ける受付手段と、
前記制御回路モデルにより、前記受付手段によって受け付けた命令群の中から、前記ハードウェアモデルが処理する命令を決定する決定手段と、
前記制御回路モデルにより、当該制御回路モデルと前記複数のハードウェアモデルとを直接接続する論理検証用の信号線を用いて、前記決定手段によって決定された命令の処理要求を、前記複数のハードウェアモデルに通知する通知手段と、
を備えることを特徴とする論理検証装置。 - 互いに同期して動作する、回路構成が等価な複数の制御回路と、前記制御回路に対応する、同一の命令を処理するハードウェアとを含むシステムの論理検証を、前記複数の制御回路のいずれか一つの制御回路の機能をモデル化した制御回路モデルと、前記各ハードウェアの機能をモデル化した複数のハードウェアモデルとを含む前記システムの検証モデルを用いて実行するコンピュータが、
前記制御回路モデルにより、前記複数のハードウェアモデルからの命令を受け付ける受付工程と、
前記制御回路モデルにより、前記受付工程によって受け付けた命令群の中から、前記ハードウェアモデルが処理する命令を決定する決定工程と、
前記制御回路モデルにより、当該制御回路モデルと前記複数のハードウェアモデルとを直接接続する論理検証用の信号線を用いて、前記決定工程によって決定された命令の処理要求を、前記複数のハードウェアモデルに通知する通知工程と、
を実行することを特徴とする検証支援方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010123343A JP5471841B2 (ja) | 2010-05-28 | 2010-05-28 | 検証支援プログラム、論理検証装置、および検証支援方法 |
US13/086,088 US20110295584A1 (en) | 2010-05-28 | 2011-04-13 | Verification support program, logic verification device, and verification support method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010123343A JP5471841B2 (ja) | 2010-05-28 | 2010-05-28 | 検証支援プログラム、論理検証装置、および検証支援方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011248771A JP2011248771A (ja) | 2011-12-08 |
JP5471841B2 true JP5471841B2 (ja) | 2014-04-16 |
Family
ID=45022792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010123343A Expired - Fee Related JP5471841B2 (ja) | 2010-05-28 | 2010-05-28 | 検証支援プログラム、論理検証装置、および検証支援方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110295584A1 (ja) |
JP (1) | JP5471841B2 (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000250957A (ja) * | 1999-03-01 | 2000-09-14 | Hitachi Ltd | 論理シミュレーション装置 |
JP2001101247A (ja) * | 1999-09-29 | 2001-04-13 | Matsushita Electric Ind Co Ltd | 集積回路装置の検証方法および検証用インターフェースモデルの生成方法 |
JP4974638B2 (ja) * | 2006-10-16 | 2012-07-11 | キヤノン株式会社 | シミュレーション装置及びシミュレーション方法 |
JP4403187B2 (ja) * | 2007-03-30 | 2010-01-20 | 富士通株式会社 | 設計データ変換プログラム、該プログラムを記録した記録媒体、設計データ変換装置、および設計データ変換方法 |
GB2450130B (en) * | 2007-06-13 | 2012-04-18 | Advanced Risc Mach Ltd | An apparatus and method for performing a sequence of verification tests to verify a design of a data processing system |
JP2009223759A (ja) * | 2008-03-18 | 2009-10-01 | Fujitsu Ltd | 情報処理装置,メモリ制御方法およびメモリ制御装置 |
-
2010
- 2010-05-28 JP JP2010123343A patent/JP5471841B2/ja not_active Expired - Fee Related
-
2011
- 2011-04-13 US US13/086,088 patent/US20110295584A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20110295584A1 (en) | 2011-12-01 |
JP2011248771A (ja) | 2011-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103049406B (zh) | 用于i/o流量的一致性开关 | |
US20140181417A1 (en) | Cache coherency using die-stacked memory device with logic die | |
US6542861B1 (en) | Simulation environment cache model apparatus and method therefor | |
US20130318308A1 (en) | Scalable cache coherence for a network on a chip | |
JP4667206B2 (ja) | マルチコアモデルシミュレーションプログラム、該プログラムを記録した記録媒体、マルチコアモデルシミュレータ、およびマルチコアモデルシミュレーション方法 | |
US9286223B2 (en) | Merging demand load requests with prefetch load requests | |
CN105793832A (zh) | 快取管理请求合并 | |
CN101410797A (zh) | 无序处理器中的事务存储器 | |
US7877249B2 (en) | Concealment of external array accesses in a hardware simulation accelerator | |
US20060053255A1 (en) | Apparatus and method for retrieving data from a data storage system | |
US9679098B2 (en) | Protocol probes | |
US5794012A (en) | Verification of strongly ordered memory accesses in a functional model of an out-of-order computer system | |
Biswal et al. | Cache coherency controller verification IP using systemverilog assertions (SVA) and universal verification methodologies (UVM) | |
JP5471841B2 (ja) | 検証支援プログラム、論理検証装置、および検証支援方法 | |
US7296167B1 (en) | Combined system responses in a chip multiprocessor | |
US8688428B2 (en) | Performance evaluation device, performance evaluation method and simulation program | |
Eggers | Simplicity versus accuracy in a model of cache coherency overhead | |
US20230056423A1 (en) | Processor core simulator including trace-based coherent cache driven memory traffic generator | |
JP5262909B2 (ja) | 検証支援プログラム、検証支援装置および検証支援方法 | |
US11176038B2 (en) | Cache-inhibited write operations | |
US9910943B2 (en) | Distributed state and data functional coverage | |
JP5789832B2 (ja) | 集積回路装置、検証装置及び検証方法 | |
Wu et al. | A hardware platform for exploring predictable cache coherence protocols for real-time multicores | |
US7716392B2 (en) | Computer system having an I/O module directly connected to a main storage for DMA transfer | |
Steinman et al. | The alphaserver 4100 cached processor module architecture and design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130403 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131003 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131008 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131209 |
|
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: 20140107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140120 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |