按键扫描程序的问题

2020-02-23 10:45发布

各位大侠,
  今天用verilog写一个按键扫描程序,思路和单片机实现思路相同,引入了防抖动延时。在modelsim上功能仿真时没有问题,但在FPGA上运行----50MHZ的频率,发现“没动静”。
  怀疑是不是从输入到输出的级数太多,导致内部延时太大,导致在单个周期内不能完成预定的逻辑动作,从而导致输出错误?
  附件为我写的程序的RTL图,请大侠看看。
  内部单元导致的延时不会看,要是有大侠指点一二,不甚感激,附图如下:
  我自己再去查查资料!
  多谢啊!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
anycrying
1楼-- · 2020-02-23 15:37
 精彩回答 2  元偷偷看……
magic_yuan
2楼-- · 2020-02-23 16:31
问题已解决。但类似这么多的寄存器和线路,如何大致观测延时,需要学习。。。。
ococ
3楼-- · 2020-02-23 21:57
magic_yuan 发表于 2014-5-24 11:06
问题已解决。但类似这么多的寄存器和线路,如何大致观测延时,需要学习。。。。 ...

延时不是靠人来观测的。
设置好时序约束,如果满足的话延时要求就达到了。
不满足的话根据时序报告进行修改。
magic_yuan
4楼-- · 2020-02-24 02:14
ococ 发表于 2014-5-24 11:22
延时不是靠人来观测的。
设置好时序约束,如果满足的话延时要求就达到了。
不满足的话根据时序报告进行修 ...

多谢啊,
  看了下时序约束方面的东西,感觉内容比较多。
  我的意思是:是否大致能从程序设计的结构推断出延时呢?比如在一个周期内一个信号经过很多级的组合逻辑输出,那么延时比单级的组合逻辑肯定要多,类似这种。。。。。
  再认真看看。。。。
llf021421
5楼-- · 2020-02-24 02:42
你还是用单片机的思维写verilog的话,肯定行不通的!
verilog的ASM图,只能实现C语言中的赋值操作,以及if判断语句和goto语句
延时可以对系统时钟分频,用计数器来搞!
每写一个verilog代码要想对应它的硬件器件
llf021421
6楼-- · 2020-02-24 07:05
 精彩回答 2  元偷偷看……

一周热门 更多>