第一次实验:
2014年EDA实验
实验1:QII软件及实验板的使用;用图形输入法和语言输入法完成点灯实验(用两个按键控制两个灯的亮灭:灯的状态随按键状态改变而改变)。完成软件仿真。modulesimple_lightco
i
putwire10keyoutputwire10ledassig
ledkeye
dmodule实验2:联控点灯实验:用两个按键独立控制同一个灯亮灭,第三个按键同时控制该灯和另一个灯亮灭。modulecom_lightco
i
putwire20keyoutputwire10ledassig
led0key0assig
led1key0key2key1e
dmodule
实验3:流水灯实验:完成一个8路流水灯控制实验,要求有以下3种花型:1)8路灯同时亮灭;2)从左至右再从右至左逐个亮(每次只有1路亮);3)8路灯每次4路灯亮,4路灯灭,且亮灭相间,交替亮灭。用3个按键控制3种花型。按下花型按键就一直显示相应花型,再按该键可暂停。可设置1个复位键关闭显示。
File
amewaterlightv
AuthorBasso
Data
20141121
Versio
V10
Descriptio
ThisfilehasthemoduleofHDLtop
Modificatio
History
DatabyVersio
Cha
geDescriptio
141121Basso
V10Origi
al
modulewater_light
i
putwiresys_sclki
putwiresrst_
i
putwire20keyoutputreg30ledlight
时钟信号(输入信号)复位信号(输入信号)按键信号(输入信号)输出接8个led灯(输出信号)
消抖动
reg20key_reg
用于存储现有按键
alwaysposedgesys_sclk
egedgesrst_
fbegi
ifsrst_
1b0key_reg3b111elsekey_regkey
e
d
reg20key_reg_ralwaysposedgesys_sclk
egedgesrst_
begi
ifsrst_
1b0key_reg_r3b111elsekey_reg_rkey_rege
d
wire20key_a
key_reg_rkey_reg
用于存储前一按键
用于存储前一按键用于存储按键下降沿
消抖时间设定为20ms左右
parameterCCNTWITHD20
regCCNTWITHD10cc
t
reg20keyout
alwaysposedgesys_sclk
egedgesrst_
begi
ifsrst_
1b0cc
t20b0
elseifkey_a
cc
t20b0数器
按键有抖动就清零消除抖动的计
elsecc
tcc
t1b1开始加1,延时20ms。
没有抖动,消除抖动的计数器
e
d
reg20low_key按键状态
用于记录消除抖动后的现有
alwaysposedgesys_sclk
egedgesrst_
begi
ifsrst_
1b0low_key3b111elseifcc
t20hffffflow_keykeye
d
消抖动结束流水灯控制部分程序r