基本任务3:利用FPGA硬件平台上的6位数码管显示模100计数结果(以1S为节拍);
1、电路设计
(1)实验三就有一些复杂了。要实现模100计数结果,我们首先要有一个模100计数器。
cnt100
(2)第二个新模块是sec_select模块,之所以这么命名和设计是为了下面的数字电子钟做准备。
这个模块的主要作用是将每一个电子管显示不同的内容,根据基本任务二可知一次只能一个数码管显示一位数字,我们是通过加快频率使得人眼看起来是6个数码管一起显示。但是每一位都是显示的都是同一个内容,还没有分开,所以要用sec_select模块进行数据选择。我们可以看到现在有6组输入,以总线的形式输入到数选模块里来,这6组分别代表了六个数码管上显示的数字,
add端输入二进制BCD码与dig_select端保持同步,表示现在在显示的是哪一个电子管,那么code输出端就会选择相应的输入端输出。(比如add端是000,表示0号数码管显示,code端就会将D0对应的sec_ge秒的个位数字输出)
(3)整体电路连接
其他用到的还有fre_div模块、模六计数器cnt6、code_select/decoder、dig_select模块
这些在上面都已经实现了复制过来就好。
拓展任务:3:dig_select、decoder和code_select三个模块做波形仿真。(注意输入设置)
这一步就比较简单了,直接将前面已经封装好的模块生成相应的波形就行。
dig_select
decoder
sec_select
(最后的6个输入端的数字是自己输入的)
以上三个任务的源文件的链接在这里。以后也会更新更多的实验的,这么好的up主还不赶紧关注之后白嫖。☺