vhdl 其中一个process求纠错 关于按下按键检测上升沿并且计数

p2:process(btn4,btn5,btn6,clr)beginifbtn4='1'andbtn4'last_value='0'theniftmpb4=4xorcl... p2:process(btn4,btn5,btn6,clr)
begin

if btn4='1'and btn4'last_value= '0' then
if tmpb4=4 xor clr='1'then
tmpb4<=0;
else
tmpb4<=tmpb4+1;
end if;

elsif btn4='0' then
if btn6'event and btn6='1' then
if tmphl=4 xor clr='1' then
tmphl<=0;
else
tmphl<=tmphl+1;
end if;

elsif btn5'event and btn5='1' then
if tmphl=0 xor clr='1' then
tmphl<=4;
else
tmphl<=tmphl-1;
end if;
end if;
end if;

end process;
clr是清空的意思
展开
 我来答
nereus78e904
2013-11-04 · TA获得超过1.5万个赞
知道大有可为答主
回答量:5463
采纳率:90%
帮助的人:1966万
展开全部
你在进程体中检测了多个信号的边沿,这是VHDL所不允许的。
应当引入一个时钟信号输入端clock,只让clock和clr信号作为进程的敏感信号。然后在每一个clock的上升沿有效时,分别检测btn4~btn6:用btn4='1'and btn4'last_value= '0'来判断btn4的上升边沿,用btn5='1'and btn5'last_value= '0'来判断btn4的上升边沿,用btn6='1'and btn6'last_value= '0'来判断btn4的上升边沿。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式