FPGA奇数分频器

FPGA要用到奇数分频,一时没想起来好办法。网上看到的一段比较好的代码,保存着用

module any_odd_div (clkdiv,clk);

output clkdiv;              //输出分频信号
input clk;                  //时钟信号
reg[2:0]cnt1,cnt2;          //计数器1,计数器2
reg clk_temp1,clk_temp2;
parameter n = 7;            //7分频

always @(posedge clk)
begin 
    if(cnt1 == n-1)
    begin 
        cnt1 <=3'b000; 
    end
    else
    begin 
        cnt1 <= cnt1 +1'b1; 
    end
    if(cnt1 ==3'b000)
    begin 
        clk_temp1 =1'b1; 
    end
    if(cnt1 ==(n-1)/2)
    begin 
        clk_temp1 =0; 
    end
end 

always @(negedge clk)
begin 
    if(cnt2 == n-1)
    begin 
        cnt2 <=3'b000;
    end
    else
    begin 
        cnt2 <=cnt2 +1'b1; 
    end
    if(cnt2 ==3'b000)
    begin
        clk_temp2 =1; 
    end
    if(cnt2 ==(n-1)/2)
    begin 
        clk_temp2 =0; 
    end
end 

assign clkdiv = clk_temp1 | clk_temp2;

endmodule   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值