任意分频器
module frequency_divider_mealy_fsm1s(clk_in, rst, clk_out);parameter HW = 3; //输出时钟高电平宽度
parameter LW = 2; //输出时钟低电平宽度
input clk_in;
input rst;
output clk_out;
`define s0 1'b0 //显式状态机
`define s1 1'b1
reg clk_out;
reg count;
reg state;
always @ (posedge clk_in)
begin
if (!rst) //同步复位
begin
clk_out <= 1'b0;
count <= 0;
state <= `s0;
end
else
case (state)
`s0 : if (count < LW-1)
begin
count <= count + 1;
state <= `s0; //显式状态
end
else
begin
count <= 0;
clk_out <= 1'b1;
state <= `s1;
end
`s1 : if (count < HW-1)
begin
count <= count + 1;
state <= `s1; //显式状态
end
else
begin
count <= 0;
clk_out <= 1'b0;
state <= `s0;
end
endcase
end
endmodule
大家敬请关注百度贴吧“奋斗的小孩fpga之旅”,都是关于fpga学习知识的贴吧·····有问题大家一起探讨!! 任意分频器 任意分频器
页:
[1]