zoukankan      html  css  js  c++  java
  • 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

    仿真波形图:


  • 相关阅读:
    Android笔记——在布局文件中插入另一个布局文件
    Android在代码中使用布局文件中的一个组件
    Android 判断字符串是否为空
    android .9图的作用
    Android之ViewPager组件实现左右滑动View
    java 字符串判断是否相等
    动态获取R.drawable.xx资源
    解决ViewPager多次刷新后重叠问题
    解决分布式一致性问题 学习2
    解决分布式一致性问题 学习1
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4352844.html
Copyright © 2011-2022 走看看