打印

按键扫描有问题,帮忙求解一下----很简短的小程序

[复制链接]
2117|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
libaizhihun|  楼主 | 2010-4-23 08:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在做FPGA毕业设计。
   我做了四个按键,每个按键触发,对应执行一段代码。
   为了防止按键抖动产生的异常,我采取了扫描的办法。即在每个clk上升沿获取按键值,赋予key0,且如果当前按键值key!=0,置keyclk为高电平,触发下一个always,实现程序转移。
   可是实验发现,我的扫描结果,即使按键key值发生了变化,寄存器key0也不会被赋值。这让我很不解。我没有仿真,用singletap看的。
    我都快崩溃了,这种问题也能出。
   
input clk;
input [3:0] key;
reg [3:0] key0;
reg keyclk;
always @ (posedge clk)
begin
key0<=key;        
if(key!=0) keyclk<=1;
else keyclk<=0;
end

always @ (posedge keyclk)
begin
case(key0)
4'b0001:   
4'b0010:
4'b0100:
4'b1000:
default:
endcase
end

相关帖子

沙发
libaizhihun|  楼主 | 2010-4-23 09:01 | 只看该作者
刚才仿真了一下,没问题。这就奇了怪了。

使用特权

评论回复
板凳
libaizhihun|  楼主 | 2010-4-23 09:31 | 只看该作者
我要结贴了,可能跟singletap调试有关,我想。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

19

帖子

0

粉丝