状态机与时钟分频

目录

描述

输入描述:

输出描述:

参考代码


描述

题目描述:

使用状态机实现时钟分频,要求对时钟进行四分频,占空比为0.25

信号示意图:

clk为时钟

rst为低电平复位

clk_out 信号输出

Ps 本题题解是按照1000的状态转移进行的,不按照此状态进行,编译器可能报错但没有影响。

波形示意图:

输入描述:

clk为时钟

rst为低电平复位

输出描述:

clk_out 信号输出

参考代码

cpp 复制代码
`timescale 1ns/1ns

module huawei7(
	input wire clk  ,
	input wire rst  ,
	output reg clk_out
);

//*************code***********//
    parameter [1:0] s0 = 2'b00, 
                    s1 = 2'b01,
                    s2 = 2'b10,
                    s3 = 2'b11;
    
    reg [1:0] state, next_state;
    
    always @ (posedge clk, negedge rst) begin
        if(!rst) 
            state <= s0;
        else
            state <= next_state;
    end
    
    always @ (state) begin
        case(state)
            s0: begin
                next_state <= s1;
                clk_out <= 1'b0;
            end
            s1: begin
                next_state <= s2;
                clk_out <= 1'b1;
            end  
            s2: begin
                next_state <= s3;
                clk_out <= 1'b0;
            end   
            s3: begin
                next_state <= s0;
                clk_out <= 1'b0;
            end
            default: begin
                next_state <= s0;
                clk_out <= 1'b0;
            end
        endcase
    end
    
    


//*************code***********//
endmodule
相关推荐
碎碎思12 小时前
不用 JTAG 也能刷 FPGA:TinyFPGA-Bootloader 让比特流加载更简单
fpga开发
贝塔实验室15 小时前
Altium Designer 6.0 初学教程-在Altium Designer 中对PCB 进行板层设置及内电层进行分割
嵌入式硬件·fpga开发·编辑器·硬件工程·信息与通信·信号处理·pcb工艺
ThreeYear_s15 小时前
【FPGA+DSP系列】——MATLAB simulink单相PWM全控整流电路基础版
开发语言·matlab·fpga开发
forgeda16 小时前
赛灵思FPGA的市场份额,要从2025年的55%,进一步提升到2030年的70%,凭什么?
ai·fpga开发
怀民民民16 小时前
关于ADC
单片机·嵌入式硬件·fpga开发·adc·学习总结·模数转化
太爱学习了16 小时前
步进电机sin曲线加速及FPGA实现
fpga开发·步进电机
尤老师FPGA16 小时前
LVDS系列33:Xilinx 7系 ADC LVDS接口参考设计(四)
fpga开发
FPGA_无线通信16 小时前
FPGA PCIE 包解析
fpga开发
Aaron158816 小时前
通用的通感控算存一体化平台设计方案
linux·人工智能·算法·fpga开发·硬件工程·射频工程·基带工程
知南x16 小时前
【Socket消息传递】(1) 嵌入式设备间Socket通信传输图片
linux·fpga开发