- 实验电路图、状态图、程序代码、仿真代码、仿真波形图(可以只写出核心功能代码,代码要有注释)
一共四个状态:1.未按下时空闲状态 2.按下抖动滤除状态 3.按下稳定状态
4.释放抖动滤除状态
在第一个状态时,等待按键按下,一旦有按键按下(按键下降沿到来),便跳转到第二个状态,抖动滤除状态。在第二个状态,有检测到高电平(上升沿),就会被认为是毛刺,进而返回第一个状态继续等待下降沿。等毛刺被滤除后(计数满)则进入按下稳定状态。在按下稳定状态,等待释放(上升沿),同按键按下的状态,再次滤除释放按键的抖动。等抖动滤除后,恢复到第一个状态。
状态图:
代码文件
激励文件
因要求中有精度为0.1ms要求,故需要的时钟频率为10kHz
波形文件
二、引脚分配表(电路中的信号名称->主板器件名称->引脚号PIN)
信号名 | 主板器件 | PIN | 信号名 | 主板器件 | PIN | |
clk | 50MHz | PIN_90 | codeout[0] | Key2/SW2/LED10 | PIN_30 | |
CO | LED3 | PIN_54 | key_flag | LED4 | PIN_58 | |
rst_n | Key1/SW1/LED9 | PIN_31 | key_in | Key0/SW0/LED8 | PIN_24 | |
Q[2] | LED2 | PIN_52 | ||||
Q[1] | LED1 | PIN_50 | ||||
Q[0] | LED0 | PIN_46 | ||||
key_state | LED5 | PIN_53 | ||||
codeout[5] | Key7/SW7/LED15 | PIN_44 | ||||
codeout[4] | Key6/SW6/LED14 | PIN_39 | ||||
codeout[3] | Key5/SW5/LED13 | PIN_42 | ||||
codeout[2] | Key4/SW4/LED12 | PIN_32 | ||||
codeout[1] | Key3/SW3/LED11 | PIN_33 |
三、编译报告
Top-level Entity name | Family | Device |
zsy_2327_7 | Cyclone IV E | EP4CE6E22C8 |
Total logic elements | Total registers | Total pins |
54/6,272( <1% ) | 33 | 15/92( 16% ) |
Total memory bits | Embedded Multiplier 9-bit elements | Total PLLs |
0/276,480( 0% ) | 0/30( 0% ) | 0/2( 0% ) |