查看完整版本: verilog的計數器問題
頁: [1]

0927008370 發表於 2014-7-19 11:59 PM

verilog的計數器問題



這是一個簡單的計數器數到9從至為0
module counter10 (
11   input            clk,
12   input            clr,
13   output reg q,
17    );
19
20 always@(posedge clk) begin
21   if (clr == 1'b1)begin
22     q <= 0;
23     end
25   else begin
26     if (q == 9)begin
27       q <= 0;        end
28     else begin
29       q <= q + 1;
        end
30   end
31 end
32
40 endmodule
可是如果我要使用一個input來改變計數的次數應該要怎麼寫呢?也就是說可以給使用者自行設定次數
ex:將計數次數改成8
懇請高手指導
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

pole987 發表於 2014-7-29 01:28 PM

恩..那你的意思不就是多加一個 input bound
然後讓 q==bound的時候取代原本的q==9嗎{:51:}

m780407 發表於 2014-11-12 01:25 PM

module counter10 (
  input            clk,
  input            clr,
  input       range,
  output reg q,
   );

always@(posedge clk or posedge clr) begin
        if (clr == 1'b1)begin
                q <= 0;
        end
        else begin
                if (q == range)begin
                        q <= 0;
                end
                else begin
                        q <= q + 1;
                end
        end
end

endmodule
頁: [1]