【发布时间】:2012-09-06 07:23:15
【问题描述】:
我想知道如何为滴答计数器编写一个verilog 程序。 当快速输入为低电平时,输出滴答为高电平,每 150 ms 一个周期(每 7500000 个周期) 时钟周期为 20ns。 如果快速输入为高电平,tick 应每隔一个时钟周期变为高电平一个周期。
我在想我应该计算 clk 周期,并在满足周期数时使用该计数来输出最高的滴答声,但我似乎无法让它工作。
这是我的代码:
module tick_counter(
input clk,
input reset,
input fast,
output reg tick
);
reg count;
always @(posedge clk) begin
count <= count + 1;
if((fast == 1)&&(count == 2)) begin
tick <= 1;
end
else if(fast == 0)&&(count == 7500000)) begin
tick <= 1;
end
end
endmodule
【问题讨论】: