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

更新

[[公開メモ]]

* 自分で使っている典型的なイディオムなど [#lbd9dc09]

* クロック [#iac4f988]

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

 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

* コメント [#y83cce6f]

#article_kcaptcha

Counter: 129440 (from 2010/06/03), today: 2, yesterday: 0