• 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

    仿真波形图:


  • 相关阅读:
    方向
    CSS笔记2 css中的伪类
    CSS 笔记1 css选择器
    0employee_attr抽取性能慢
    用程序读取Query,模拟APD将数据存到直接更新的DSO
    生产环境无法修改,如何调整分析权限
    BW通过函数调用Query,设置传入参数,动态设置输出维度
    EXCEL使用公式去除一列中的重复项
    修改已释放传输请求
    BW使用函数模块自定义数据源
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4352844.html
Copyright © 2020-2023  润新知