当前位置: 首页 > 编程学习 > 其它语言 > Verilog > 正文

基于basys2用verilog设计多功能数字钟(重写)

2018-04-23 来源:博客园/NingHeChuan

话不多说先上图

前言

自从学习FPGA以来,唯一做过的完整系统就是基于basys2得多功能数字表。记得当时做的时候也没少头疼,最后用时间磨出来了一个不是很完整的小系统,当时还是产生了满满的成就感。现在回头看来,先不说功能实现的如何,首先代码书写满是不规范,其中犯得最多的一个问题就是把verilog当C来写。所以,我决定趁着寒假自由支配的时间比较多,决定重写多功能数字时钟,算是对我大二第一学期以来对verilog的学习做一个总结。

首先,重写后的工程不仅在功能上做了一些优化,而且占用片内的资源也相对来说少了一些。话不多说先上图。

原来工程的资源占用情况

重写后资源占用情况(少了一点点,呵呵)

一、摘要

多功能数字表,有数字钟、秒表(有暂停清零功能)、闹钟(可设置)、外设蜂鸣器(当闹钟达到设定时间的时候蜂鸣器响应)。第一次写的代码主要是代码书写不规范,可读性和可移植性不强,一个always块里经常给多个寄存器赋值,或者多个if...else语句嵌套,这次重写在占用资源上得到优化,功能更加完善。