项目:数码管动态显示时间

首先建立一个计时一秒的模块,作为数码管显示的需要

 module timer_s(
input wire clk,
input wire rst_n,
output wire [31:0] timer
); reg [25:0] cnt;
reg [31:0] timer_num;
parameter osc_frequency = 50_000_000; initial timer_num <= 0; always @(posedge clk or negedge rst_n)begin
if(! rst_n)begin
cnt <= 0;
timer_num <= 0;
end else begin
if(cnt == osc_frequency -1)begin
cnt <= 0;
timer_num <= timer_num + 1;
end
else
cnt <= cnt + 1;
end
end assign timer = timer_num; endmodule

接下来是数码管显示模块

module display_smg (
input wire clk ,
input wire rst_n ,
input wire [31:0] timer,
output wire [6:0] smg ,
output wire [3:0] dig
);
reg [6:0] smg_reg;
reg [3:0] dig_reg;
reg [3:0] num;
reg [3:0] wei;
reg [25:0] cnt; parameter delay = 50_000 * 3 -1; initial begin wei <= 0;
cnt <= 0; end always @(posedge clk or negedge rst_n)begin
if(! rst_n)begin
cnt <= 0;
dig_reg <= 4'b1111;
end else begin
if(cnt == delay)begin
cnt <= 0;
wei = wei + 1;
if(wei > 3) wei = 0;
dig_reg <= 4'b1111;
if(dig_reg[wei] == 1)
dig_reg[wei] <= 0; end else
cnt <= cnt + 1; end end always @(*)begin
case (wei)
0: num <= timer % 10;
1: num <= timer /10 % 10;
2: num <= timer /100 % 10;
3: num <= timer /1000 % 10;
default:num <= 0;
endcase
end always @(*)begin
case (num)
0:smg_reg <= 7'b0000001;
1:smg_reg <= 7'b1001111;
2:smg_reg <= 7'b0010010;
3:smg_reg <= 7'b0000110;
4:smg_reg <= 7'b1001100;
5:smg_reg <= 7'b0100100;
6:smg_reg <= 7'b0100000;
7:smg_reg <= 7'b0001111;
8:smg_reg <= 7'b0000000;
9:smg_reg <= 7'b0000100;
default:smg_reg <= 7'b0000001;
endcase
end assign smg = smg_reg;
assign dig = dig_reg; endmodule

然后在顶层文件中将俩个模块相连就行了,总体感觉在开发fpga很轻松

FPGA学习过程(二)的更多相关文章

  1. 【FPGA篇章二】FPGA开发流程:详述每一环节的物理含义和实现目标

    欢迎大家关注我的微信公众账号,支持程序媛写出更多优秀的文章 FPGA的开发流程是遵循着ASIC的开发流程发展的,发展到目前为止,FPGA的开发流程总体按照下图进行,有些步骤可能由于其在当前项目中的条件 ...

  2. FPGA学习过程(一)

    前言 终于有时间折腾这块fpga开发板了,不知不觉又熬夜了. 正文 实现一个呼吸灯的项目 打开quartus ii 建立工程 步骤就不讲了 新建一个pwm.v文件内容 module PWM ( inp ...

  3. 学习FPGA过程中的理论知识

    学习FPGA,先要有数电知识,最好有点C语言,,学好硬件描述语言,verilog或者vhdl.在有这些基础上,做一些小的模块不断积累.这里不再赘述. 下面介绍一下关于FPGA学习过程中的一些理论知识. ...

  4. FPGA开发流程1(详述每一环节的物理含义和实现目标)

    要知道,要把一件事情做好,不管是做哪们技术还是办什么手续,明白这个事情的流程非常关键,它决定了这件事情的顺利进行与否.同样,我们学习FPGA开发数字系统这个技术,先撇开使用这个技术的基础编程语言的具体 ...

  5. FPGA开发流程

    需求说明:Verilog设计 内容       :FPGA开发基本流程及注意事项 来自       :时间的诗 原文来自:http://www.dzsc.com/data/2015-3-16/1080 ...

  6. 【资料下载区】【iCore3相关代码、资料下载地址】更新日期2017/1/5

    [iCore3 ARM代码下载地址][全部]DEMO1.0测试程序发布例程一:ARM驱动三色LED例程二:读取arm按键状态例程三:EXTI中断输入实验——读取ARM按键状态例程四:USART通信实验 ...

  7. 四轴飞行器1.5 各种PID对比分析及选择

    原创文章,欢迎转载,转载请注明出处 这篇文章主要介绍我对PID的理解,以及选择PID算法的过程. 一 PID的理解和学习过程 二 飞控的PID效果 先上个飞控PID的响应的视频:介绍在后面 地址:ht ...

  8. 【资料下载区】【iCore4相关代码、资料下载地址】更新日期2018/02/24

    [iCore4相关文档][更新中...] iCore4原理图(PDF)下载iCore4引脚注释(PDF)下载iCore4机械尺寸(PDF)下载 [iCore4相关例程代码][ARM] DEMO测试程序 ...

  9. 基于Verilog的偶数、奇数、半整数分频以及任意分频器设计

    在FPGA的学习过程中,最简单最基本的实验应该就是分频器了.由于FPGA的晶振频率都是固定值,只能产生固定频率的时序信号,但是实际工程中我们需要各种各样不同频率的信号,这时候就需要对晶振产生的频率进行 ...

随机推荐

  1. Thymeleaf模板引擎语法

    th:text    用于显示值 th:object      接收后台传来的对象 th:action      提交表单 th:value       绑定值 th:field         绑定 ...

  2. P4827「国家集训队」 Crash 的文明世界

    「国家集训队」 Crash 的文明世界 提供一种不需要脑子的方法. 其实是看洛谷讨论版看出来的( (但是全网也就这一篇这个方法的题解了) 首先这是一个关于树上路径的问题,我们可以无脑上点分治. 考虑当 ...

  3. Spring MVC中的M V C

    M→Model 模型 V→View 视图 C→Controller 控制器 也就是说一次交互由生到死(请求到相应) 需要经过 这三个层级 来完成 那么为什么这么设计 这么设计又有什么好处 我是这么认为 ...

  4. 深入理解JavaScript中的继承

    1前言 继承是JavaScript中的重要概念,可以说要学好JavaScript,必须搞清楚JavaScript中的继承.我最开始是通过看视频听培训班的老师讲解的JavaScript中的继承,当时看的 ...

  5. Requests方法 -- 参数化

    import requests#禁用安全请求警告from requests.packages.urllib3.exceptions import InsecureRequestWarningreque ...

  6. 高版本(8以上)tomcat不支持rest中的delete和put方式请求怎么办

    出现问题 当我们去访问delete方式和put方式: 后来才知道tomcat8以上是不支持delete方式和put方式 解决方法: 在跳转目标的jsp头文件上改为(加上了isErrorPage=&qu ...

  7. debain9显卡

    # Debian 9 "Stretch" deb http://httpredir.debian.org/debian/ stretch main contrib non-free ...

  8. MySQL触发器笔记

    当操作了某张数据表时,希望同时触发一些动作或行为,就可以使用触发器完成. 当操作微博表时,同时生成一条日志记录 -- 插入时触发 create trigger tri_weiboAdd after i ...

  9. MP4命令行处理

    MP4Box可用于生成符合MPEG-DASH规范的内容,也就是ISO / IEC 23009-1在ISO公共可用标准中可用的内容. dash切片命令: mp4box -dash 5000 -frag ...

  10. YOLO-V4 实现口罩识别(附加数据、数据批量处理程序)

    一.YOLO-v4概念 如果想要了解和认识yolo-v4的基本概念,首先要提的就是它的基础版本yolo-v1,对于yolo来说,最经典的算是yolo-v3.如果想要了解它的由来和历史的话,可以自行搜索 ...