• Verilog分频器


    verilog设计进阶

    时间:2014年5月6日星期二

    主要收获:

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

    题目:

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

    思考:

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

    verilog程序:

    modulefdivision(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

    測试文件:

    `timescale1ns/1ns

    modulefdivision_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

    仿真波形图:


  • 相关阅读:
    csdn已成垃圾站了,基本不能常上了
    pymssql under ubuntu
    csdn已成垃圾站了,基本不能常上了
    redis记录
    redis记录
    pythonictclas2009编译小捷
    tar打包
    跳过mysql直奔nosql推荐时代
    pymssql under ubuntu
    Bottle中文文档
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4352844.html
Copyright © 2020-2023  润新知