奇数分频器之三分之一分频器源码和仿真

#源码#

在clk上升沿和下降沿的时候也计数。

module half_clk(reset,clk_in,clk_out);

  input clk_in,reset;

  output clk_out;

  reg clk_out;

   reg[1:0] clk_posedge_cnt = 2'd0;

   always @(posedge clk_in or negedge clk_in)

   begin

    clk_posedge_cnt = clk_posedge_cnt + 2'd1;

    if(!reset) clk_out = 0;

    else if(clk_posedge_cnt === 2'd3)

    begin

      clk_out = ~clk_out;

      clk_posedge_cnt = 0;

    end      

   end

    

endmodule

#仿真#

`timescale 1ns / 100ps

`define clk_cycle 50

module top;

reg clk,reset;

wire clk_out;

always #`clk_cycle clk = ~clk;

initial

begin

  clk = 0;

  reset = 1;

  #10 reset = 0;

  #110 reset = 1;

  #10000 $stop;

end

  half_clk m0(.reset(reset),.clk_in(clk),.clk_out(clk_out));

endmodule

#波形#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值