一、 功用描绘
本工程包含了两个按键和4位数码管显现,一起完结一个篮球24秒倒计时、并具有暂停和从头计数复位的功用。详细功用如下:
1. 数码管显现秒十位、秒个位、0.1秒和0.01秒。
2. 上电后,数码管显现2399,表明时刻是23.99秒。
3. 按下按键1,进入倒计时状况,进行倒计时,一向计到0000后中止。
4. 在倒计时状况时,再次按下按键1,则暂停计时;再按下按键1,则持续倒计时。
5. 在任何时刻,按下按键2,则复位显现为2399。
二、 渠道效果图
1.Altera中心板效果图
2.Xilinx中心板效果图
三、 完结进程
首要依据所需求的功用,列出工程顶层的输入输出信号列表。
咱们能够把工程划分红三个模块,别离是倒计时模块、BCD译码模块和数码管显现模块。
1.倒计时模块
倒计时模块完结的是24s倒计时功用,其输出两组计数信号cnt_s和cnt_ms。例如当时刻为23.99时,cnt_s的值为23,cnt_ms的值为99;当时刻为08.12时,cnt_s的值为8,cnt_ms的值为12。
模块还完结了暂停和重开端功用,按下按键1开端倒计时,再次按下则暂停,再次按下则开端,不管何时按下按键2,康复到23.99。
本模块的信号列表如下:
2.BCD译码模块
因为倒计时模块输出的是2进制的cnt_s和cnt_ms,但数码管是个位和十位别离显现的。例如当cnt_s值为10时,也便是8’b00001010,而送给数码管的个位值为4’b0000,十位值为4’b0001。这个转化进程也便是BCD译码,也便是本模块要完结的功用。
此处介绍二进制转BCD码的硬件完结,选用左移加3的算法,详细描绘如下:(此处以8-bit 二进制码为例)
1、左移要转化的二进制码1位
2、左移之后,BCD码别离置于百位、十位、个位
3、假如移位后地点的BCD码列大于或等于5,则对该值加3
4、持续左移的进程直至悉数移位完结
举例:将十六进制码0xFF转化成BCD码
本模块的信号列表如下:
因为秒和毫秒都要译码,所以要例化两个BCD译码模块。
3.数码管显现模块
数码管显现模模块功用是将二进制数码,转成BCD数码管显现,其功用相对比较简单,不再烦琐。
本模块信号列表
四、程序规划