描述
题目描述:
使用状态机实现时钟分频,要求对时钟进行四分频,占空比为0.25
信号示意图:
clk为时钟
rst为低电平复位
clk_out 信号输出
Ps 本题题解是按照1000的状态转移进行的,不按照此状态进行,编译器可能报错但没有影响。
波形示意图:
输入描述:
clk为时钟
rst为低电平复位
输出描述:
clk_out 信号输出
`timescale 1ns/1nsmodule huawei7(input wire clk ,input wire rst ,output reg clk_out
);//*************code***********//reg [2:0] state_r = 3'd0, state_s;always @(posedge clk, negedge rst) beginif (~rst) beginstate_r <= 3'd0;end else beginstate_r <= state_s;end
endalways @(*) begincase (state_r)0: state_s = 1;1: state_s = 2;2: state_s = 3;3: state_s = 0;default: state_s = 0;endcase
endalways @(posedge clk, negedge rst) beginif (~rst) beginclk_out <= 1'b0;end else begincase (state_s)default: clk_out <= 1'b0;1: clk_out <= 1'b1;endcaseend
end//*************code***********//
endmodule