请教一个计数器的小问题!
当侦测到第一个输入为47时,计数器开始16进制计数。此后不再受输入信号的影响,独立计数。小弟刚
入门,请问各位大侠,如何用verilog编写?
计数到47时,给一个寄存器赋个值,你的计数器根据这个寄存器的值进行相应的操作!
很简单的一个问题,画一画电路图就知道怎么些了,。
一个简单的例子,希望对你有所帮助。
//
module cnt(
mclk,
mrst,
data_from_input,
cnt_data
);
input mclk;
input mrst;
input [7:0] data_from_input;
output [7:0] cnt_data;
reg cnt_en;
reg [7:0] cnt_data;
always @(posedge mclk or posedge mrst)
begin
if(mrst==1'b1)
begin
cnt_en <= 1'b0;
end
else
begin
if( data_from_input==8'd47 )
begin
cnt_en <= 1'b1;
end
end
end
always @(posedge mclk or posedge mrst)
begin
if(mrst==1'b1)
begin
cnt_data <= {8{1'b0}};
end
else
begin
if( cap_en==1'b1 )
begin
cnt_data <= cnt_data+1'b1;
end
end
end
endmodule