OVM

OVMを使って74163-counterのテスト環境を作ってみた。③

久しぶりにOVMです。 このところVH○Lに襲われていてSVをいじっていません。。汗) と言うことで内容の薄い書き込みになります。。ごめんなさい 今回はcounter_driverを載せよう。。 // 74163 conter driver // $Id class counter_driver extends ovm_driver …

OVMを使って74163-counterのテスト環境を作ってみた。②

前回のつづき。。 今日はcounter_seq_lib.svを載せよう。 // 74163 counter sequence lib // $Id$ class counter_seq_do extends ovm_sequence #(counter_item) ; protected virtual counter_if counter_if0 ; function new(string name="counter_seq_do") ;…

OVMを使って74163-counterのテスト環境を作ってみた。

OVM2.1.1を使って74163カウンタの検証環境を作ってみた。 4bitのカウンターごときにOVMなんてと思われるかも知れないが。。 作った回路にOVMテストベンチをつけろと言うのは上司だけでなく 客先も言ってくる日はもう目の前だ、理由はそのうちにね。。 OVMテ…

OVMふたたび・② 検証メソドロジを鳥瞰する。

ひさびさにOVMをいじるに当たって忘れていることもあり、まず全体を鳥瞰する図を作って見た。 中心に来るのは検証メソドロジとUVM。。 OVMはどうしたと言われそうだが、現状ではUVMに収斂しつつある。 ただしUVMはα版があるだけで仕様やバグがフィックスして…

OVMふたたび。。またOVMをいじってみたくなった。

縁あってアルデックのRiviera-PROを使用することになった。 Riviera-PROはfullスペックのHDLシミュレーターでランダム検証機能もついている。 OVMも動くらしいので走らせてみたくなった。OVMの解説も含めてのblogにまた掲載して行こう。 ということでOVMサン…

OVM 2.0.3がでた~~

Verification Engineer氏のblogに OVM : Register Package 2.0.1 -> 面白そうなのでいじってみようかな。 なる書き込みがあったのでOVMのサイトを覗いたら。。 OVM 2.0.3が。。 早速ダウンロードしてみると Bugs Fixed:のほかに Performance Optimizations …

OVMの日本語マニュアルがでた~~

OVMの日本語マニュアルがでた~~ またもやVerification Engineer氏のblog情報です。下記参照 http://blogs.yahoo.co.jp/verification_engineer/54599592.html http://www.ovmworld.org/ OVM Resourcesタブ中の User Guide User Guide (Japanese) より持って…

久々のOVMネタ。。OVM解説本のサンプル動かしてみました。

Verification Engineer氏のblogにOVM解説本が出るとの報あり。 アマゾンで約\15k.-也 http://blogs.yahoo.co.jp/verification_engineer/53858884.html \15kですか。。軽登山靴が買えるぞ~~~ DAのチタンスプロケットも買えるぞ~~~ レーシングワンピース…

modelSimPEでDataflowウインドウが使用できるようになっていた。

modelSimPEでDataflowウインドウが使用できるようになっていました。。喜) →でも拡張機能は駄目みたい。。下記参照Warningになってます。。 # WARNING: No extended dataflow License exists でも extended dataflowてどんな機能?? Debussy並みの機能にな…

OVM2.0.1がでた??

OVM2.0.1が出たとの報がVerification Engineer氏のブログに。。 http://blogs.yahoo.co.jp/verification_engineer/47054323.html さっそくmodelsimPE-6.4bのフォルダー内を探すと ..\modeltech_pe_6.4b\verilog_src\ovm-2.0.1 あるじゃん!! release-notes.…

久しぶりにOVM2.0+dmac(テスト用)をいじった。

久しぶりにOVM2.0+dmac(テスト用)を触り、何とかそれらしい動作(割り込み動作付き)を行ってくれるようになった。 これで当初より試して見たかった事 →モデル検証で検証した事がどのくらい正確であるかランダム検証環境で試す。 (モデル検証は数学的な裏付…

VMMのアクション機能が使いたいけどOVM2.0には無いね。

VMMのアクション機能→textで記述したコマンド・シーケンスを読み込んで実行してくれる。 →VMM本(ベリフィケーション・メソドロジ・マニュアル)p295,p408~ 便利そうなんだけどOVM2.0には無いね。。。 代わりにsequences arrayへ登録して適当に使用してと、…

OVM2.0でinterrputハンドラーはfork...join_noneで走らせていいのかな。

ベリフィケーション・メソドロジ・マニュアルにinterrputが使用できると有り、OVM2.0ではどうかなと OVM_UserGuideを見るとp115~から記述が有るじゃん。。でもサンプルコード無いね!! サンプルが無いのでUserGuideに従い、割り込みハンドラー(dmac_interr…

ブロッキングのportにtlm_fifoをつなげちゃ駄目だよね。

driver<->sequencer間をfifoでつなげようと tlm_fifo #(dmac_data) fifo ...... fifo = new("dmac_fifo", null, 8) ; ...... // connect function void connect(); driver.seq_item_port.connect(fifo.get_export); sequencer.seq_item_port.connect(fifo.pu…

ランダム検証とモデル検証

ランダム検証はどこまで信用できる?? スカスカなのでは?? たとえば10年以上昔に回収騒ぎに発展したペンティアムCPUの割り算命令が特定範囲の数値で 有効桁が6~7桁減る(たしかこのぐらい)バグ。。 ランダム検証で見つけることが出来るか?? 厳密…

・トピック modelsimPE向け。。の補足

* req,rsp補足 ovm_sequence, ovm_driverのソースは virtual class ovm_sequence #(type REQ = ovm_sequence_item, type RSP = REQ) extends ovm_sequence_base; typedef ovm_sequencer_param_base #(REQ, RSP) sequencer_t; sequencer_t param_sequencer; …

OVM2.0を使用して自前のDMACの検証環境を作ってみるの続き。

前回動作しなかったのは、 エラボレーションerror→ インスタンス設定に間違いとbuild();の set_config_string(".............. で設定するsequences名のつまらん書き間違え。。。 と言うことでsequencer→driverへデータを渡すことが出来るようになった。 波…

OVM2.0を使用して自前のDMACの検証環境を作ってみる。中間報告

OVM2.0を使用して自前のDMACの検証環境を作ってみる。 →中間報告 とりあえず、コーディングしrun -allした。 パターンは +OVM_TESTNAME=で選択するようにした。 →最初のパターンはトリビアルが順当。 結果 OVM_ERROR... # ---------------------------------…

デザインパターンて能や歌舞伎で言う所の”型”なんだね。

OVM2.0を使用して自前のDMAC検証環境を作ろうと思いたち、 まずクラス図作成。。その前にデザインパターンの本をもう一度読み直した。 デザインパターンて能や歌舞伎で言う所の”型”なんだね。 「型をつけてやる、ただし魂を入れるのはお前だ」 といってくれ…

run_test()はovm_rootに。。

modelsimPEでrun -allが出来るようになったので、 早速 xbus_tb_top.sv内の run_test()にブレークポイントを張り 実行。。 → run_test() に来たときStep実行 ありました。 ovm_root.svh-line154 OVM_UserCuide.pdfには、 "in the top-level module to select…

examples/xbusをrun -allできるようにする。

前回のrandomize() with ....はどうしようのつづき。 とりあえず ovm_sequence_defines.svhにある。 assert(OVM_SEQUENCE_ITEM.randomize() with CONSTRAINTS ) else begin \ ovm_report_warning("RNDFLD", "Randomization failed in ovm_do_with action"); …

ovm_do_withの中身はrandomize() .... with ....ですか。

VMMと同様にmodelsim PEで動くようにしようと、とりあえずexsample/xbusをコンパイルしてみる。 vlogはwarningが数十出るが通った。 でもvsimはやっぱりだめ。。例によってQuestaを速く買えと叫んでいるようなError ----------- Error: Unable to checkout v…

OVM2.0はQuesta ver6.4に対応。

OVM2.0出ましたね。 http://www.ovmworld.org/downloads.php Questa 6.4に対応、README-Questa.txtに出てました。 と言うことはmodelsimPEもver6.4でOK?かな。 先日 VMMをMentorのサイトからダウンロードした時に、ついででAVM3をDLした。 AVM3をながめてい…