集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2932|回复: 3

任意分频器

[复制链接]
奋斗的小孩 发表于 2016-7-9 21:06:53 | 显示全部楼层 |阅读模式
module frequency_divider_mealy_fsm1s(clk_in, rst, clk_out);

        parameter HW = 3;        //输出时钟高电平宽度
        parameter LW = 2;        //输出时钟低电平宽度
       
        input clk_in;
        input rst;
        output clk_out;
       
        `define s0 1'b0        //显式状态机
        `define s1 1'b1
       
        reg clk_out;
        reg [31:0] count;
        reg state;
       
        always @ (posedge clk_in)       
        begin
                if (!rst)                        //同步复位
                        begin
                                clk_out <= 1'b0;
                                count <= 0;
                                state <= `s0;
                        end
                else
                        case (state)
                                `s0        :        if (count < LW-1)
                                                                begin
                                                                        count <= count + 1;
                                                                        state <= `s0;                //显式状态
                                                                end
                                                        else
                                                                begin
                                                                        count <= 0;
                                                                        clk_out <= 1'b1;
                                                                        state <= `s1;
                                                                end
                                                               
                                `s1        :        if (count < HW-1)
                                                                begin
                                                                        count <= count + 1;
                                                                        state <= `s1;                //显式状态
                                                                end
                                                        else
                                                                begin
                                                                        count <= 0;
                                                                        clk_out <= 1'b0;
                                                                        state <= `s0;
                                                                end
                        endcase
        end

endmodule
 楼主| 奋斗的小孩 发表于 2016-7-9 21:07:43 | 显示全部楼层
大家敬请关注百度贴吧“奋斗的小孩fpga之旅”,都是关于fpga学习知识的贴吧·····有问题大家一起探讨!!
zxopenljx 发表于 2019-4-25 09:22:32 | 显示全部楼层
任意分频器
月影星痕 发表于 2019-7-30 09:16:18 | 显示全部楼层
任意分频器
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-23 15:02 , Processed in 0.057155 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表