【牛客】VL65 状态机与时钟分频

描述

题目描述:

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

信号示意图:

在这里插入图片描述

clk为时钟
rst为低电平复位
clk_out 信号输出
Ps 本题题解是按照1000的状态转移进行的,不按照此状态进行,编译器可能报错但没有影响。

波形示意图:

在这里插入图片描述

输入描述:

clk为时钟
rst为低电平复位

输出描述:

clk_out 信号输出

`timescale 1ns/1ns

module 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) begin
	if (~rst) begin
		state_r <= 3'd0;
	end else begin
		state_r <= state_s;
	end
end

always @(*) begin
	case (state_r)
	0: state_s = 1;
	1: state_s = 2;
	2: state_s = 3;
	3: state_s = 0;
	default: state_s = 0;
	endcase
end

always @(posedge clk, negedge rst) begin
	if (~rst) begin
		clk_out <= 1'b0;
	end else begin
		case (state_s)
		default: clk_out <= 1'b0;
		1: clk_out <= 1'b1;
		endcase
	end
end

//*************code***********//
endmodule

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-10 15:50:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 15:50:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 15:50:04       82 阅读
  4. Python语言-面向对象

    2024-03-10 15:50:04       91 阅读

热门阅读

  1. VSCode设置

    2024-03-10 15:50:04       39 阅读
  2. ES6 export暴露和引用的三种方式

    2024-03-10 15:50:04       46 阅读
  3. FFmpeg--FlvPaser源码:解析.flv输出.h264

    2024-03-10 15:50:04       40 阅读
  4. Spring MVC HandlerMethodReturnValueHandler原理解析

    2024-03-10 15:50:04       48 阅读
  5. lvs集群

    lvs集群

    2024-03-10 15:50:04      45 阅读
  6. jmeter快速使用

    2024-03-10 15:50:04       44 阅读