使用Verilog的quartus编程modelsim仿真问题

1.设置计数器来除去振动,可是因为计数器触发时机设定在列信号变化时,所以每次检测总有四分之三的几率是行电平永远为高电平(和列信号中为高电平的几行对应)。后来用模块化思想,对每一个按键分开检测,只在列电平为低电平时触发,再统一起来就可以了。(这是对付矩阵键盘的个人方法)
2.按键不放,显示了“0”和应该显示的数字的叠加。
3.按键后行输出有一定几率会持续输出一个低电平,无视扫描电压,持续不到一秒,而且在消失前会剧烈且相对持久地抖动。再次按动同一行按键可以去除。我认为这是硬件的问题,抖动的情况用更长的计数来尽可能消除。
4.按键后不动,到最后也没有完整解决。部分原因是综合出了锁存器,在所有条件语句中写全分支,在所有always模块中每一个分支写相同的被赋值对象即可。
5.仿真时出现vsim-3033错误,显示a time value cannot be extracted。是设错了顶层模块或测试文件。
6.每次出了问题想看内部结构,仿真都要重新设置接口来观察相应信号的变化。在恢复最初状态时留下许多垃圾。我认为有可能通过modelsim自带的功能实现观看模块内部变量的变化过程,不过没机会得知相应方法。
7.仿真波形延伸不够远。需要调节时间轴,在一个不大不小的时候等待,有可能实现完整输出。或者在simulate的option中把那些数据(default run和iterate limit)调大。
8.testbench也用Verilog编,不过不一定要放在项目下,只要在settings的仿真选项中记得从目录中找到放到下面,用下拉菜单找到就可以开始全编译了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值