手撕Verilog面试题专题——(5)占空比50%的偶分频

本文介绍了一种使用Verilog语言实现的偶分频电路设计,该设计能够产生占空比为50%的输出信号。通过参数化的模块定义,可以根据不同的需求调整分频系数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现占空比50%的偶分频

Verilog代码:

module evenfreq
#(
    parameter   DivNum = 8
)
(
	input	clk,
	input	rst,
	output	oclk
);

	reg	[DivNum:0]	count;
	reg		        tmp;
	
	always @(posedge clk or negedge rst)	begin
		if(rst)   begin
			count	<= 0;
			tmp		<= 1'b0;
		end
		else  begin
			if(count == ((DivNum>>1) - 1)) begin
			    count <= count + 1;	
			    tmp     <= 1'b1;
			end
			else if(count == (DivNum - 1)) begin
				count	<= 0;
				tmp		<= 1'b0;	
			end
			else
			    count <= count + 1;						
		end
	end
	
	assign oclk	= tmp;

endmodule

testbench仿真文件:

module evenfreq_tb();

    reg     clk;
    reg     rst;
    wire    oclk;
    initial begin
        clk = 0;
        rst = 1'b1;
        #16 rst = 1'b0;
    end
    initial begin
        forever #5 clk = ~clk;
    end
    
    evenfreq freq1(
    .clk(clk),
    .rst(rst),
    .oclk(oclk)
    );

endmodule

仿真波形:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值