ISim による Verilog テストベンチ のバックアップ(No.1)

更新


公開メモ

自分で使っている典型的なイディオムなど

クロック

周期を直に書いてしまうなら:

LANG:verilog
    reg clk = 0;
    always #5
        clk = !clk;

周期をパラメータにする:

LANG:verilog
    parameter CLK_PERIOD = 10;

    reg clk = 0;
    always #(CLK_PERIOD/2)
        clk = !clk;

可変周期(fast_mode で切り替え):

LANG:verilog
    parameter CLK_PERIOD_SLOW = 100;
    parameter CLK_PERIOD_FAST = 10;

    reg fast_mode = 0; 
    reg clk = 0;
    always begin
        if (fast_mode) #(CLK_PERIOD_SLOW/2)
                  else #(CLK_PERIOD_FAST/2);
        clk = !clk;
    end

コメント





Counter: 129420 (from 2010/06/03), today: 23, yesterday: 0