原创 verilog 入门共阳极流水灯

2012-2-3 23:09 2769 5 6 分类: FPGA/CPLD

 

//流水灯:Max300a 3128atc100-10,24Mhz,led是共阳极的。
//实现的功能中间每隔1s点亮流水灯。
//流水灯:Max300a 3128atc100-10,24Mhz
 
module liushuideng(CLK,LED);
 
    input CLK;
    output [7:0] LED;
    reg [7:0] LED =8'b1111_1110;
   
 
    parameter divisor = 24000000;
    parameter inner_count_width = 32;
    reg [inner_count_width-1:0] delay_count;    
    reg [3:0] cnt;
 
always @ (posedge CLK)
    begin 
        delay_count <= delay_count + 1;
       // if (delay_count ==divisor/2 -1)
        if (delay_count ==divisor -1)
            begin                     
                delay_count <= 0;
                cnt <= cnt +1;
                LED <= ~(8'b1000_0000 >> cnt);
            end
        if (cnt == 8)
            begin 
                LED <= 8'b1111_1110 ;
                cnt <= 0;
            end 
    end
endmodule
 
 
由于灯是共阳极的,所以,不好处理,我使用了这行代码:LED <= ~(8'b1000_0000 >> cnt);
而 // if (delay_count ==divisor/2 -1)是用来为了设置分频用的,所以,没有删掉。

文章评论1条评论)

登录后参与讨论

用户422795 2012-2-9 18:59

if后面没有接else将导致综合器综合出latch。同时,常量应该用大写比较好,养成良好的编程习惯
相关推荐阅读
用户413306 2012-02-04 16:38
vhdl 变量与信号区别 type符号使用
以下内容是转帖自:http://blog.sina.com.cn/s/blog_679178c30100jmry.html  1.VHDL描述的是硬件,而不是软件。在所有的设计开始之前在心目中...
用户413306 2012-02-04 12:42
一个简单的加法状态机
    下面是一个状态机的程序,是我们的一个项目工程中的一段,只是思想比较简单,所以说我把它给摘录了下来,以后工程项目中可以用到 process(INTClk ,GPIO8)  ...
用户413306 2012-02-04 12:28
博客主要功能介绍
本人qq:117838621,昵称:司令 本人在此开博的目的是在学习fpga/cpld/vhdl/verilog 的学习过程中遇到的问题和解决的方法,以及学习中涉及的程序代码等发表上来,作为以...
用户413306 2012-02-04 12:13
vhdl 从d触发器程序理解vhdl语法
  以下内容是 根据《eda技术使用手册》第三版中的一个实例的介绍 下面是一个d触发器的代码 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ...
用户413306 2012-02-03 23:01
以半加器 解释vhdl case 元件例化等语法
  【例4-20】 LIBRARY  IEEE;   --半加器描述(2) USE IEEE.STD_LOGIC_1164.ALL;  ENTITY h_adder IS  P...
我要评论
1
5
关闭 站长推荐上一条 /2 下一条