如何用VHDL实现一个按键的循环选择?

来源:百度知道 编辑:UC知道 时间:2024/06/30 18:27:02
如何用VHDL实现一个按键的循环选择?
就是说 只有一个按键 有0和1两种状态,实现改变按键状态可以循环选择2个器件中的一个,而每个器件有0和1两种状态,也就是说如何控制两个输出port在{0,0}{0,1}{1,0}{1,1}之间循环,
一定是按了之后才改变,如果不按按键,状态保持不变~
请高手指点~
2楼的能给个具体的代码吗?

可以这样设计:分配一个IO口,接上拉电阻,低电平有效,每次按键,IO口接收到一个低电平脉冲,电平持续在几十至上百个ms之间,VHDL程序采用事件触发方式设计,定义一个计数器即可实现在四个状态之间循环。

使用有限状态机,定义四个状态S0、S1、S2、S3,在每个状态中只有当按键变成1才跳到下一个状态,否则保持原状态。具体在VHDL编程中可使用CASE语句和IF语句实现此功能。