• 我的 FPGA 学习历程(12)—— 电子钟项目准备


            初学 FPGA 的时候,我们总是存在很多疑问,比如:xilinx 和 altera 的 FPGA 那种比较好、verilog 语言被如何综合成具体硬件电路、RTL 级电路是什么意思等等。现在我们就不会迷惑于那些基本的概念问题,是时候来写一个小小的项目了。我决定编写一个没有日期功能的电子钟,还可以来复习以前学过的模块。

            这个项目有些复杂,一次不太可能成功,所以我们先写一个秒表,秒表的组成大概如下:

    1. 秒增加信号产生模块。
    2. 时间计数模块1,当增加信号为 1 时加 1,满 60 清零,并产生分增加信号。
    3. 时间计数模块2,当增加信号为 1 时加 1,满 60 清零,并产生小时增加信号。
    4. 时间计数模块3,当增加信号为 1 时加 1,满 60 清零。 (小 bug,如果本实验没能成功,后面的电子钟就没发做了)
    5. 秒计数、分计数、小时计数模块寄存器中的值转化为 BCD 数 24'h??-??-??。
    6. 最后使用数码管驱动模块来显示时间,此外秒表还需要一个复位按钮和一个暂停按钮。

             了解完结构之后,下一步就是考虑如何编写代码了,我的代码如下:

    注意:顶层模块中的 信号名称是大写的,用于适配 tcl 脚本文件

    秒表顶层模块

    秒增加信号模块

    时间控制模块

    BCD 模块

    数码管驱动模块

    本次实验可用的 tcl 脚本文件如下:(其中 KEY 是修改后的名字)

    tcl 脚本文件

    编译,下载,然后看看板子上的效果,你成功了吗?(⊙o⊙)

  • 相关阅读:
    Java 学习笔记(10)——容器
    Java 学习笔记(9)——java常用类
    Java 学习笔记(8)——匿名对象与内部类
    OGC相关概念解析
    Django中URL有关
    转载关于Python Web后端开发面试心得
    ArcPy中mapping常见函数及用法1
    Django1.11加载静态文件
    ArcPy第一章-Python基础
    浅谈提高Django性能
  • 原文地址:https://www.cnblogs.com/SummerSunnyDay/p/5091298.html
Copyright © 2020-2023  润新知