VHDL代码的理解

[复制链接]
2693|6
 楼主| fjfzlili 发表于 2009-3-9 11:46 | 显示全部楼层 |阅读模式
大家好,我想问一下关于VHDL方面的问题,程序如下所示:<br />process(clk)<br />&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;if(clk'event&nbsp;and&nbsp;clk='1')&nbsp;then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(tout=777777)&nbsp;then&nbsp;&nbsp;--计数1000000次,输出翻转一次<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tout=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clk10hz&lt=not&nbsp;clk10hz;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tout&gt=tout+1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;if;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;if;<br />end&nbsp;process;<br />在上面的注释程序当中,如果tout=777777的话,为什么说是计数1000000次啊,不是777778次吗?对于这个问题,我一直不解,望高手帮忙解答一下,谢谢.
zpleo 发表于 2009-3-9 15:47 | 显示全部楼层

应该是课本错误

<br /><br />RT
 楼主| fjfzlili 发表于 2009-3-9 16:29 | 显示全部楼层

还有没有其它的答案?

还有没有其它的答案?
liuweixing 发表于 2009-3-10 13:14 | 显示全部楼层

分析

这里的tout应该是八进制数,1000000是八进制数,不是一百万.但是这段程序绝对是有问题的
zpleo 发表于 2009-3-11 19:07 | 显示全部楼层

应该tour=999999

tour=999999&nbsp;<br /><br />应该这样才算是计数1000000次。
byfgstj 发表于 2009-3-24 10:17 | 显示全部楼层

zpleo说的不全对!

应该有个除2的问题,因为他是计数后来翻转的
wujing198 发表于 2009-3-25 14:11 | 显示全部楼层

恩,楼上说的不错

如果是8进制,那么转换后262143,和1000000还是不搭界。<br /><br />所以严重怀疑书是错的。这二年东拼西凑搞出来的伪书不少。LZ要学习还是买点经典好书来学。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

40

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部