スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[検証][OVL] OVLって・・・

OVL(Open Verification Library)の SystemC版を作っていて動作とか確認しているんだけど、 なんか変なライブラリに思えてきた。(ちなみに OVL2.7です。)

例えば、Verilog HDL版の「always_on_edge」を使いたいと思った場合に

  • ovl_always_on_edge.v
  • assert_always_on_edge.vlib

のどちらを使えばいいのか迷った。


さて、やっぱり OVL と名がつくものだろうと思って「ovl_always_on_edge.v」を使おうと思ってテストコード書いてみた。

 1|`include "ovl_always_on_edge.v"
 2|
 3|module testbench;
 4|
 5|  logic clk  = 0;
 6|  logic xrst = 0;
 7|  logic sampling_event = 0;
 8|  logic test_expr = 0;
 9|  logic[2:0] fire;
10|
11|  always clk = #10 ~clk;
12|
13|  initial begin
14|    #15 xrst = 1;
15|  end
16|
17|  always @(posedge clk) begin
18|    if(~xrst) sampling_event = 0;
19|    else      sampling_event = ~sampling_event;
20|  end
21|
22|  initial begin
23|    #300; // test_expr = 1;
24|    #100; // test_expr = 0;
25|    #100; // test_expr = 1;
26|    #100; $finish(2);
27|  end
28|
29|  // always @(posedge clk) begin
30|  //   $display("--- fire = %0d @ %0t", fire, $time);
31|  // end
32|
33|  // ovl_always_on_edge #(`OVL_ERROR, `OVL_ANYEDGE, `OVL_ASSERT, "Error:Write Enable Fail.", `OVL_COVER_NONE, `OVL_POSEDGE, `OVL_ACTIVE_LOW, `OVL_GATE_CLOCK)
34|  // ovl_always_on_edge #(`OVL_ERROR, `OVL_ANYEDGE, `OVL_ASSERT, "Error:Write Enable Fail.")
35|  ovl_always_on_edge #(`OVL_ERROR, `OVL_NOEDGE)
36|    u_ovl_001(
37|    .clock         ( clk  ),
38|    .reset         ( xrst ),
39|    .enable        ( 1'b0 ),
40|    // .sampling_event( 1'b1 ),
41|    .sampling_event( sampling_event ),
42|    .test_expr     ( test_expr  ),
43|    .fire(fire)
44|  );
45|
46|endmodule

Makefileの一部(vlog)はこんな感じ

vlog +incdir+$(OVL_DIR) +define+OVL_VERILOG +define+OVL_ASSERT_ON ${RTL}

しかし、これでも動かない。
動かない原因は以下。

  • 中身でクロック名が違う(clock -> clk)
  • リセット名が違う(reset -> reset_n)

それだと動かないよね!


では、「assert_always_on_edge.vlib」の方はというと中身の信号とあってる!!!
でもこれって「仕様書」というべき LRMと端子名が異なる+端子数が少ないよね。


結局、「OVL is 何?」って感じになった。


出来れば、ライブラリ検証したテストコード欲しいです。(切実)

関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

Author:Kocha
なんでもチャレンジ!(^o^)/
E-mail
github:Kocha
イベントカレンダー

カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。