8位双向移位寄存器verilog设计

8位双向移位寄存器verilog设计系统功能设计一个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位输入使能信

设计实现功能
设计一个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上完成。

 

今天的文章8位双向移位寄存器verilog设计分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/12351.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注