这么简单的Verilog代码究竟有什么问题呢?为什么烧到FPGA里总不对?我把Q设为拨动开关,D设为七段式数码管

[复制链接]
查看11 | 回复3 | 2012-8-6 14:08:14 | 显示全部楼层 |阅读模式
您想做成时序电路还是组合电路?把Q放进敏感表,用其上下沿进行驱动,有些类似于将Q当作是种时钟,而综合出来的普通的线驱动能力是不行的,当做时钟是问题会比较多。看您这里没有clk信号,应该是想做成组合电路,其实就是一个译码器,对吧。建议您在敏感表里就写(*)就行了,后面的语句就已经能保证Q改变时D马上改变,不用再在敏感表里表示对Q敏感。另外,你的CASE语句没有Default,这是不好的,尤其是 你的程序里还没有覆盖到所有情况的时候。你这个程序目前的情况为例,FPGA开机时寄存器的状态是不确定的,Q的值可能是1111,这是你的程序就没覆盖到,硬件不知道该怎么连,于是出错。...
回复

使用道具 举报

千问 | 2012-8-6 14:08:14 | 显示全部楼层
硬件跟仿真还是会有差异的,加个复位和default看看...
回复

使用道具 举报

千问 | 2012-8-6 14:08:14 | 显示全部楼层
LZ你用电平值来驱动寄存器D是不对的,寄存器是时钟驱动的电路单元。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行