本次实验(一)见博客:【数字电路与系统】【北京航空航天大学】实验:时序逻辑设计——三色灯开关(一)、实验指导书
本次实验(二)见博客:【数字电路与系统】【北京航空航天大学】实验:时序逻辑设计——三色灯开关(二)、需求分析和系统设计
本次实验(三)见博客:【数字电路与系统】【北京航空航天大学】实验:时序逻辑设计——三色灯开关(三)、功能仿真测试
说明:本次实验的代码使用verilog编写,文章中为阅读方便,故采用matlab代码格式。
2.4、设计实现
2.4.1、综合和下载过程
//mode_run模块:
综合:
图 5 综合
易失性烧录:
图 6 易失性烧录
非易失性烧录:
图 7 非易失性烧录1
图 8 非易失性烧录2
//mode_demo模块:
综合:
图 9 综合
易失性烧录:
图 10 易失性烧录
非易失性烧录:
图 11 非易失性烧录1
图 12 非易失性烧录2
//Uart_top模块:
综合:
图 13 综合
易失性烧录:
图 14 易失性烧录
非易失性烧录:
图 15 非易失性烧录
2.4.2、实验关键结果及其解释
说明: 实验板上,使用红色LED灯的亮灭来指示白光/黄光/日光,并非真实颜色。
//mode_run模块:
初始状态为白光 亮度1
图 16 白光 亮度1
再次按下Key0,进入熄灭状态:
图 17 熄灭
再次按下Key0,进入日光状态:
图 18 日光 亮度1
按下两次Key0后,进入黄光状态:
图 19 黄光 亮度1
可用Key1进行亮度调节:
图 20 黄光 亮度2
图 21 白光 亮度2
图 22 日光 亮度2
但在熄灭状态停留时间不能超过1s,超过1s后再次按下Key0,无论之前的状态如何,都进入白光 亮度1:
图 23 熄灭超过1s后再次按下Key1
//mode_demo模块
白光 亮度1 (初始状态)(个位的digit, dg亮)
图 24 白光 亮度1
按下Key1后,白光亮度变为2,个位的dg亮,一秒闪烁一次。
图 25 白光 亮度2(闪烁0)
图 26 白光 亮度2(闪烁1)
按下Key0,待灯全部熄灭后,再次按下Key0,进入日光状态。日光亮度1,十位和个位的dg都亮:
图 27 日光 亮度1
日光亮度2,十位和个位的dg都一秒闪烁一次。
图 28 日光 亮度2(闪烁0)
图 29 日光 亮度2(闪烁1)
按下Key0,待灯全部熄灭后,再次按下Key0,进入黄光状态。黄光,亮度为1,十位dg亮:
图 30 黄光 亮度1
黄光,亮度2,十位和个位的dg闪烁,一秒闪烁一次:
图 31 黄光 亮度2(闪烁0)
图 32 黄光 亮度2(闪烁1)
无论从任一状态熄灭超过10s后,再次按下开关,变为白光 亮度1:
图 33 熄灭超过10s
图 34 切换到白光 亮度1
//Uart_top模块
初始状态,输出16个00
图 35 初始状态
进行多次操作后,按下Key进行输出
图 36 输出记录的多次操作
(未完待续)