系統功能
設計一個8位雙向移位寄存器,實現並行輸入數據、數據左移、右移、清空數據的功能。
程序主要包括移位寄存器模塊和按鍵去抖模塊
① Key1 控制撥碼輸入:
a) key_flag1, key_state1實現Key1去抖(if(key_flag1 && (!key_state1)));
b) key_cnt [3:0]從0開始在每一次Key1 按下後加1,累積到3後再按下Key1, key_cnt 清零;
c) en_num1爲高4位輸入使能信號,en_num2爲低4位輸入使能信號,en_num3爲輸入確認使能信號(都爲高水平有效);
d) key_cnt 的數值控制c)中3個使能信號的值;
② Key2 , Key3控制移位方向:
a) 按鍵去抖同Key1 a);
b) turn_left爲左移使能信號,turn_right爲右移使能信號(都爲高水平有效);
c) key_cnt 的數值控制c)中3個使能信號的值;
③ Clk 同步時鐘信號,Reset異步清零:
本程序用verilog編寫,在quartusII上完成。