用Verilog语言怎么写一个60进制的计数器然后显示在数码管上

2019-07-16 00:29发布

小弟刚学FPGA用的是EP4CE6  现在想写一个60进制的计数器 然后在数码管上显示出来   用verilog写   但想了好几天没想出来   去大侠指导下   或给个程序看看   小弟感激不尽。。。。。拜托了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
xqandwn
2019-07-18 05:45
本帖最后由 xqandwn 于 2015-10-18 22:26 编辑

用systemverilog写的,相比于Verilog就多了个logic 变量,其它与Verilog一致。
顶层模块:

`timescale 1ns/1ps

//模块说明:7段数码管显示,一共有8个数码管
//共阳模式,低电平点亮,数码管采用3-8 译码器——74HC138芯片,

module cnt_60
(
        input          logic                       CLK                  ,        //输入时钟,频率:
        input          logic                       RST_n               ,        //复位端口,低电平复位        
        output        logic        [3:0]        DSEL                ,        //7段数码管【8--1】对应选择
        output        logic                       DEN                 ,   //数码管使能,高电平有效
        output        logic        [7:0]        led7_out                //数据输出,最低位为小数点
);                                          

logic [26:0]       num; //待显示的数字
logic [2:0]         dot; //待显示数字的小数点位置

always@(posedge CLK,negedge RST_n)
begin
        if(!RST_n)
                num <= 27'd0;
        else
         num = (num != 59)? (num + 27'd1) : num;
end

LED_7 U_LED_7
(
        .CLK           (CLK                            ),        //输入时钟
        .RST_n        (RST_n                        ),        //复位端口,低电平复位
        .data_num   (num                          ),         //待显示的数据
        .data_dot     (dot                           ),         //输入数据小数点位置
        .DSEL          (DSEL                       ),        //7段数码管【8--1】对应选择
        .DEN           (DEN                        ),        //数码管使能,高电平有效
        .led7_out     (led7_out                  )        //数据输出,最低位为小数点
);

endmodule

一周热门 更多>