JP2004355430A - Dmac回路の論理検証手法 - Google Patents

Dmac回路の論理検証手法 Download PDF

Info

Publication number
JP2004355430A
JP2004355430A JP2003153760A JP2003153760A JP2004355430A JP 2004355430 A JP2004355430 A JP 2004355430A JP 2003153760 A JP2003153760 A JP 2003153760A JP 2003153760 A JP2003153760 A JP 2003153760A JP 2004355430 A JP2004355430 A JP 2004355430A
Authority
JP
Japan
Prior art keywords
memory
data
dmac circuit
dmac
bus
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.)
Withdrawn
Application number
JP2003153760A
Other languages
English (en)
Inventor
Yoshihiro Terajima
義博 寺島
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2003153760A priority Critical patent/JP2004355430A/ja
Publication of JP2004355430A publication Critical patent/JP2004355430A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】DMAC(DirectMemoryAccessController)回路のメモリーへの書き込み機能の検証において、書き込んだデータの値が正しい事と共に、余計な書き込みを行っていない事をより短時間で、ヒューマンエラーが介在する事無く検証できる事。
【解決手段】DMACを含む検証対象回路と、メモリーモデルと、DMAC回路がメモリーに書き込んだデータをメモリーから読み出す手段と、この読み出されたデータと期待値とを比較する手段と、DMAC回路とメモリーの間のBusを監視し、DMAC回路が書き込みを行ったデータ数を数える手段を持つBusモニターと、これにより数えたデータ数と期待するデータ数とを比較する手段をもつ。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
この発明は、DMAC(Direct Memory Access Controller)回路を論理検証する検証手法に関するものである。
【0002】
【従来の技術】
近年、半導体の集積度が飛躍的に向上し、1チップに搭載できる論理回路が膨大になっている。これに伴い、この論理回路の検証に要する期間が非常に長期化し、開発期間の短縮の観点から、検証期間の短縮に対する要求が高まっている。また、検証項目が膨大になる事によるヒューマンエラーが起こりやすくなっており、検証の自動化への要求が高まっている。
【0003】
図2にDMAC回路を検証する、従来手法の実施例を示す。
【0004】
図2において、10は検証対象ブロックのDMAC回路である。メモリーに書くべきデータはLogic Block30から出力され、Bus50を介してDMAC回路10に入力される。DMAC回路がMemoryに書くべきアドレスは、DMAC回路内で計算される。DMAC回路はこれらの情報を元にBus60を介してMemory Model20にアクセスし、データを書き込む。40はDMAC回路10を含むChipのイメージであるが、DMAC回路10に関連するブロック以外は省略している。
【0005】
DMAC回路10がMemory Model20にデータを書き込む間、Expect Data Extractor100は、Bus50を監視し、Main Memoryに書き込むべき期待値データ(Expected Data)200を作成する。
【0006】
DMAC回路10が全てのデータを書き終わるとBack Door Memory Reader110が起動される。
【0007】
Back Door Memory Reader110は、例えば通常のBusアクセスではなく、ソフト的にMain Memory Model20からデータを読み出せるようなものである。これはシミュレーション時間0で行う事ができ、シミュレーション時間を短縮する手法として知られている。
【0008】
Back Door Memory Reader110はMemory Model20より、書かれたデータを読み出し、実際にDMAC回路10によって書かれたデータ(Actual Data)210を作成する。
【0009】
Compareter Model120はこのActual Data210と前述のExpected Data200を比較し、DMAC回路10がMemory Model20に書いたデータの値が正しい事を確認する。
【0010】
また、DMAC回路の競合の検証を行なうものも考案されている(例えば、特許文献1を参照)。
【0011】
【特許文献1】
特開平6−180658号公報
【0012】
【発明が解決しようとする課題】
しかしこのような方法では、期待するメモリーアドレスの範囲に正しい値が書かれている事は確認できるが、それ以外のメモリーアドレスに誤って書かれていないかどうかを確認する事が出来ないという問題があった。
【0013】
これを確認する為には、予めメモリーの全ての領域に任意の値を書き込んでおき、シミュレーション後にこれらが書き換わってない事を確認しなければならない。ただし、これには非常に多くの手間と時間を必要とするという問題があった。
【0014】
また、たまたま予め任意に書き込んだデータと一致したデータをDMAC回路が書き込んでしまった様な場合には、これをエラーとして判断できないという問題があった。前述の任意の値を”All 0”や”All 1”とした場合にはこのような事が起こりやすい。また、任意の値をrandomな値とした場合には、Memory容量分の全てのデータをシミュレーションが終了するまで保持しなければならず、検証を行うために大きなメモリーをのせたコンピューターを必要とし、コストがかかるという問題があった。
【0015】
また、このような方法を用いたとしても、例えばDMAC回路の書き込みが冗長であり、同じデータを同じアドレスに複数回書き込むような事をしていた場合、その結果としては、期待するメモリーアドレスに期待する値が書かれている為、この冗長性を見付ける事が出来ないという問題があった。このような冗長性はDMAC回路の転送速度を低下させるため、検証においてエラーとして発見されなければならないが、従来の方法では発見できないという問題があった。
【0016】
また、これら全てを解決する方法として波形ツールなどを用いて、目視によりメモリーに書かれた全てのデータ、アドレスを確認する方法も考えられるが、回路の規模から考えると非常に多くの時間がかかり、また、ヒューマンエラーが介在する可能性が多くなるという問題があった。
【0017】
【課題を解決するための手段】
上記問題点を解決するための本発明の検証手法は、DMAC回路がメモリーに書き込んだ値と期待値とを比較する従来の方法とともに、DMAC回路とメモリーをつなぐBusを監視するBusモニターを設け、このBusモニターにメモリー書き込みに必要なBus情報を監視させる事を特徴とするものである。
【0018】
(作用)
本発明の検証手法による作用は、DMAC回路のメモリーへの書き込み機能の検証において、書き込んだデータの値が正しい事と共に、余計な書き込みを行っていない事を、より短時間で、ヒューマンエラーが介在することなく検証出来ることである。また、冗長な書込みについても発見する事が出来、DMAC回路の最高速度を保証する事ができることである。
【0019】
【発明の実施の形態】
(実施例1)
図1は本発明に係わる検証手法の一実施形態を示すものである。図1において図2(従来の実施例)と同一の構成要素には同一符号を付した。
【0020】
図1において、10は検証対象ブロックのDMAC回路である。メモリーに書くべきデータはLogic Block30から出力され、Bus50を介してDMAC回路10に入力される。DMAC回路がMemoryに書くべきアドレスは、DMAC回路内で計算される。DMACはこれらの情報を元にBus60を介してMemory Model20にアクセスし、データの書き込みを行う。40はDMAC回路10を含むChipのイメージであるが、DMAC回路10に関連するブロック以外は省略している。
【0021】
DMAC回路10がMemory Model20にデータを書き込む間、Expect Data Extractor100は、Bus50を監視し、Main Memoryに書き込むべき期待値データ(Expected Data)200を作成する。
【0022】
またこの間、Bus Monitor130はBus60を監視する。Memory Model20が例えばSDRAMである場合のBus60の書き込みプロトコルを図3に示す。SDRAMはそのアクセス方法として様々なデータ転送長を選択できるが、ここでは4バーストの場合の例を示している。DQ[31:0]信号のサイクルc,d,e,fがその様子を示している。Bus Monitor130は、図3のCSn、RASn、CASn、及びWEn信号を監視する事により書き込みトランザクションが発生した事を知る事が出来る。サイクルcは書き込みトランザクションがスタートするサイクルである。また、DQM[3:0]信号を監視する事により、この1トランザクションで書き込んだデータサイズを知る事が出来る。DQM[3:0]信号の1ビットはDQ[31:0]信号の1バイト(8ビット)を制御し、DQM[0]に1が立っている時には、これが制御する1バイト分DQ[7:0]の書き込みがマスクされる。すなわちサイクルc,dでは全てのバイトの書き込みがイネーブル、サイクルeでは1バイトの書き込みがマスク、サイクルfでは全てのバイト、4バイトの書き込みがマスクされ、このトランザクションでは合計4+4+3+0=11バイトの書き込みが行われている。この様にBus Monitor130はDMAC回路10がMemory Model20に書き込んだデータ数をカウントする。
【0023】
DMAC回路10が全てのデータを書き終わるとBack Door Memory Reader110が起動される。
【0024】
Back Door Memory Reader110は、例えば通常のBus60からのアクセスではなく、ソフト的にMain Memory Model20から直接データを読み出せるようなものである。これはシミュレーション時間「0」で読み出す事ができ、シミュレーション時間を短縮する手法として知られている。
【0025】
Back Door Memory Reader110はMain Memory Model20より、DMAC回路10によって書かれたデータを読み出し、実際に書かれたデータ(Actual Data)210を作成する。
【0026】
Compareter Model120はこのActual Data210と前述のExpected Data200を比較し、DMAC回路10がMemory Model20に書いたデータの値が正しい事を確認する。
【0027】
また、この時、Bus Monitor130によってカウントされたデータ数をExpected Data110のデータ数と比較し、これらが一致する事を確認する。Bus Monitor130によってカウントされたデータ数の方が多い場合は、必要以上の書き込みが起きており、書き込むべきでないところにアクセスしてメモリー上のデータを壊してしまっている、もしくは冗長な書き込みを行っている事が検出できる。少ない場合は上記Compareter Model120による期待値比較においてもエラーとなるため、従来の方法のみで検出できる。
【0028】
以上、メモリーに書かれたデータの値が正しい事、及びメモリーに書き込んだデータ数が正しい事を合わせて検証する事により、メモリー上の書くべきでないところに誤って書き込みを行なっていない事、及び同じアドレスに2回以上書き込むような冗長な書込みを行なっていない事を検証できる。
【0029】
この方法では予め作成したモデルやモニターを使用して検証を自動化しており、シミュレーション結果の波形を目で追う事などをする必要が無く、ヒューマンエラーが介在しない。また、予めメモリー上に任意のデータを書き込んで置き、DMAC回路の書き込み終了後にこれらが書き換わってない事を確認する作業も発生しない。
【0030】
ここで、Memory Model20はSDRAM以外のどんなメモリーでも構わない。その場合、メモリーアクセスのBusプロトコルが変わるが、これにあわせてBus Monitor120を変更すれば良い。また、本実施例ではDMAC回路とメモリーは別チップとしたが、同一チップ上にあっても問題ない。また検証対象のDMAC回路10は書き込み専用ではなく、読み出し機能を持っていても問題無い。
【0031】
(実施例2)
実施例1において、Bus Monitor10にデータの数をカウントするだけでなく、データの値がイリーガルな値である場合に検出する機能を持たせる。イリーガルな値とは、例えば”X(unknown)”や”Z(high impedance)”等である。
【0032】
この機能を持たせる事により、DMAC回路10がMemory Model20に全てのデータを書き終わってからComparetor Model120によって期待値エラーとなる前に、Bus60にDMAC回路10がデータを出力した時点でエラーとして発見する事が出来る。この事はBugの早期発見につながり、TAT(Turnaround Time)を短縮する事が出来る。
【0033】
【発明の効果】
以上のように本発明によれば、DMAC回路が、正しい値が正しい数だけMemoryに書き込めたかどうかを、人手を介することなく、自動的により短時間で検証する事が出来る。
【0034】
また、冗長な書き込みを行っていない事を確認する事ができるため、DMAC回路の最高速度を保証する事ができる。
【図面の簡単な説明】
【図1】本発明の検証手法の一実施例の構成図
【図2】従来の検証手法の構成図
【図3】本発明の検証対象であるDMAC回路とMemoryをつなぐBusのBus転送プロトコルを示す図である
【符号の説明】
10 DMAC回路
20 Memory Model
30 Logic Block
40 Chip
50 内部Bus
60 Memory Bus
100 Expect Data Extractor
110 Back Door Memory Reader
120 Comparetor Model
130 Bus Monitor
200 Expected Data
210 Actual Data

Claims (4)

  1. DMAC回路のメモリーへの書き込み機能の検証において、DMAC回路がメモリーに書き込んだデータをメモリーから読み出す手段をもち、この読み出されたデータと期待値とを比較する手段によって書き込んだ値が正しい事を確認すると共に、DMAC回路とメモリーの間のBusを監視するBusモニターを持ち、このBusモニターにDMAC回路が書き込みを行ったデータ数を数える手段を持ち、これにより数えたデータ数が期待するデータ数と等しい事を合わせて確認する事を特徴とした検証手法。
  2. 前記DMAC回路がメモリーに書き込んだデータをメモリーから読み出す手段において、メモリーバスからのアクセスによらず、ソフト的に読み出す手法を用いる事を特徴とする、請求項1に記載した検証手法。
  3. 前記期待値の生成方法においてDMAC回路へ入力するバスを監視する手段を持ち、これにより前記期待値、及び期待するデータ数を作成する事を特徴とする、請求項1に記載した検証手法。
  4. 前記DMAC回路とメモリーの間のBusを監視するBusモニターにおいて、データの値を監視する事を特徴とした、請求項1に記載した検証手法。
JP2003153760A 2003-05-30 2003-05-30 Dmac回路の論理検証手法 Withdrawn JP2004355430A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003153760A JP2004355430A (ja) 2003-05-30 2003-05-30 Dmac回路の論理検証手法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003153760A JP2004355430A (ja) 2003-05-30 2003-05-30 Dmac回路の論理検証手法

Publications (1)

Publication Number Publication Date
JP2004355430A true JP2004355430A (ja) 2004-12-16

Family

ID=34048602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003153760A Withdrawn JP2004355430A (ja) 2003-05-30 2003-05-30 Dmac回路の論理検証手法

Country Status (1)

Country Link
JP (1) JP2004355430A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8886854B2 (en) 2011-02-10 2014-11-11 Fujitsu Limited Data transfer device and storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8886854B2 (en) 2011-02-10 2014-11-11 Fujitsu Limited Data transfer device and storage device

Similar Documents

Publication Publication Date Title
US7506226B2 (en) System and method for more efficiently using error correction codes to facilitate memory device testing
US7808849B2 (en) Read leveling of memory units designed to receive access requests in a sequential chained topology
US6615374B1 (en) First and next error identification for integrated circuit devices
JPH10283274A (ja) メモリをテストするための方法および装置
TWI534607B (zh) 記憶體控制電路單元、記憶體儲存裝置與資料傳輸方法
US20080016415A1 (en) Evaluation system and method
TW201602783A (zh) 執行遮罩式寫入指令之裝置及方法
US7818626B1 (en) Memory error injector and associated methods
JP2006252267A (ja) システム検証用回路
US20100191910A1 (en) Apparatus and circuitry for memory-based collection and verification of data integrity information
KR20170133545A (ko) 반도체장치 및 반도체시스템
JP2004355430A (ja) Dmac回路の論理検証手法
JP5510107B2 (ja) エラー訂正試験方法
TW201623987A (zh) 動態記憶體測試裝置及其測試方法
JP2004021922A (ja) メモリ擬似故障注入装置
JP2009009270A (ja) 論理検証装置、論理検証方法
US11636910B2 (en) Apparatus configured to perform a test operation
CN110825575B (zh) 一种内存检测方法
KR101212762B1 (ko) 반도체 장치 및 그의 테스트 방법
US20230282300A1 (en) Semiconductor device and semiconductor system
JPH11102328A (ja) メモリ診断システム
JPS6314440B2 (ja)
JPS6346460B2 (ja)
JP2004355431A (ja) Dmac回路の論理検証手法
JP3518012B2 (ja) 外部固体記憶装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060801