zoukankan      html  css  js  c++  java
  • 06分频计数器之LED闪烁1

    一设计功能是:让LED灯每1秒亮一次,再灭一秒,闪烁时间周期为2秒。

    二分频的介绍:

      (一)设计方式:IP核和自己动手写。

      (二)对于分频的构成:一个是计数器,还有时钟翻转。方法一是计满整个周期,一半周期为高,一半为低。第二种是,计满半个时钟周期,就反转。

    三设计输入:

        (一)分频计数器模块

    功能是产生一个1秒的计数器:参数化设计方便修改和仿真时间缩小

    parameter T1S = 28'd49_999_999;

    //div counter

    reg [27:0]div_cnt;

    always@(posedge clk)begin

    if(rst==0)

        div_cnt<=28'd0;

    else if(div_cnt==T1S)

        div_cnt<=28'd0;

    else

    div_cnt<=div_cnt+1'b1;

    end

        (二)1秒脉冲的标志信号的产生模块

    由于LED灯的一秒灭和一秒亮,等效为一个占空比为50%的方波的高电平控制LED灯亮。所以只需让LED的一秒脉冲标志信号,每计时到1秒反转一次,就能

    控制LED的一秒闪烁。

    //the flag of one_s_flag

    reg one_s_flag;

    always@(posedge clk)begin

    if(rst==0)

    one_s_flag<=1'b0;

    else if(div_cnt==(T1S-1))begin

        one_s_flag<=1'b1;

    end

    else begin

        one_s_flag<=1'b0;

    end

    end

          (三)1秒脉冲的标志信号控制LED亮灭

    由第二部分的介绍可知,LED灯的亮灭与脉冲标志信号的电平状态一致。

    //the control of led

    always@(posedge clk)begin

    if(rst==0)begin

    led<=1'b0;

    end

    else if(one_s_flag==1)begin

    led<=~led;

    end

    else begin

        led<=led;

    end

    end

     (四:仿真波形)

      四设计总结:

    (一)设计:照图施工。根据下面各个信号的时序图,直接设计各模块即可。

    (二)关键点仿真时间缩小:一是仿真中参数缩小。二是在功能模块,修改参数为小的。三是在modelsim中仿真运行时间修改大单位:ns--us-ms.(当仿真时间为2秒等)

    led_flash #(.T1S(99)) led_flash_m0(

    .clk(Clk),

    .rst(Rst),

    .led(led)

            );

    (三)遇到问题:问题一是在仿真文件testbench中,仿真时间没有达到2秒,仿真中LED灯未翻转。

    解决方法:使复位信号rst为高的仿真时间达到2秒

    问题二是在ISE中工程烧写到赛灵思的开发板,没有闪烁。

    解决方法:修改管脚约束条件和让复位信号为低时复位,成功实现闪烁功能(原因是,管脚约束条件的格式错误,LED与按键相连,那个按键的电平状态与rst一样。按键默认为高,则一直处于复位状态对于高电平复位来说。)

    下面是管脚约束条件:

    NET "clk" LOC=p24 | IOSTANDARD=LVCMOS33;

    NET "rst" LOC=p94| IOSTANDARD=LVCMOS33;

    NET "led" LOC=p92| IOSTANDARD=LVCMOS33;
  • 相关阅读:
    ARMV7-M数据手册---Part A :Application Level Architecture---A7 Instruction Details
    卷积神经网络
    Theano深度学习结构分析
    BP神经网络
    Softmax回归
    CART:分类与回归树
    基于单决策树的AdaBoost
    Logistic回归
    Qt搭建多线程Server
    支持向量机(SVM)
  • 原文地址:https://www.cnblogs.com/Xwangzi66/p/12845041.html
Copyright © 2011-2022 走看看