码迷,mamicode.com
首页 > 其他好文 > 详细

Verilog 分频器

时间:2014-05-16 07:32:46      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:style   blog   c   ext   http   width   

verilog设计进阶

时间:201456日星期二

 

主要收获:

1. 自己动手写了第一个verilog程序。

 

题目:

利用10M的时钟,设计一个单周期形状如下的周期波形。

bubuko.com,布布扣

 

思考:

最开始的想法是:定义两个计数器进行计数,两个使能标志位分别控制这两个变量。但是这样逻辑又太复杂,网上搜了搜,还是定义一个计数器比较好。

 

verilog程序:

module fdivision(clk, rst, clk_out);

 

    input clk;

    input rst;

    output clk_out;

    

    reg[5:0] count;

    reg rclk_out;

    

    assign clk_out = rclk_out;

    

    always@(posedge clk or negedge rst) begin

        if(!rst) begin

            count<=0;rclk_out<=0;

        end

        else if(count==30)

            count<=0;

        else count<=count+1;

    end

    

    always@(posedge clk) begin

        if(count<=9) rclk_out<=1;

        else rclk_out<=0;

    end

    

endmodule

 

测试文件:

`timescale 1ns/1ns

 

module fdivision_test;

 

    reg clk, rst;

    wire clk_out;

    

    always #2 clk=~clk;

    

    initial begin

        clk=0;rst=1;

        #20 rst=0;

        #20 rst=1;

        #500 $stop;

    end

    

    fdivision u1(clk, rst, clk_out);

 

endmodule

 

仿真波形图:

bubuko.com,布布扣

Verilog 分频器,布布扣,bubuko.com

Verilog 分频器

标签:style   blog   c   ext   http   width   

原文地址:http://www.cnblogs.com/510602159-Yano/p/3726021.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!