打印

浅说FPGA我自己理解中的硬件描述编程

[复制链接]
1796|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaoyuan_ly|  楼主 | 2011-3-27 15:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、既然为硬件,那么就是可以变成实物的(或者说有相应的实物对应)。-这就是“综合”的意思。
2、既然为实物,那么就存在事实上的可能冲突。比如说我既要门开,又要门关--在现实世界中,你就会问你到底让我开门还是关门啊??!! 同样,在硬件的实现时,数据在传递过程中只有一个状态,“高”,“低”和“没有”,就相应为“高电平”,“低电平”,和"高阻”。所以说,当一条数据线上你如果产生了既要它高又让它低的情况产生,不好意思就会很可能损坏FPGA这东西,就别说数据传递的正确与否了。
3、当你进行硬件描述编程时,当编写一条或多条语句时,你应该明白它的“实物”是什么?如果你不明白它的“实物”是什么,那么请翻书或查资料了,如果有,哈哈,恭喜你那就是“可综合的”,如果没有(可能也是自己查的水平有限),那要看运气了,或许是“可综合”,但我的意见是:千万别写了,“不可综合”的成分见多(我就不相信你查的水平那么有限),再说如果真的是可综合的,我也不想让自己都不了解的东西存在-为自己的调试带来麻烦。
4、接下来说说组合电路和时序电路了。其实我的理解很简单:复杂的都是简单的堆在一起的表象。比如说吧:就说长江得了,长江上有100座水坝(有多少我不知道,没查过,呵呵),我们姑且给这100座水坝编号了1-100的号码,那么电路中的“时序”就是用寄存器来表现的,简单的说水坝就是寄存器,复杂的说水坝就是很多很多的寄存器的集合。那么电路中的“组合”是什么呢?? 组合就是用导线来表现的,简单的说一滴水就是一根导线,复杂的说水坝里的水就是很多很多的导线的集合。然后水坝里的水有不同的“状态”,这就是我们所谓的“算法”功能。还有就是水一直是流动的。既然“水”是流动的,那么什么时候停呢??!! 不好意思,到了水坝就停了,只有开闸了,才能往下“流”。流动的水就是我们“组合”电路的求得“结果”,开闸了就是我们的时钟信号,不管是同步时钟还是门控的,反正就是时钟信号,也不管它是上沿“开闸”还是“下沿”开闸,那都是你来决定的。
5、既然是“流动”的水,那么就有快慢之分,那就是我们说的“运算速度”。同样“开闸”也有时间间隔,那就是你的时钟频率。当你开闸的时候,你认为的要流过去的那些“流动的水”却没有过去,哈哈,恭喜你这说明你的水流的太慢了,你的算法速度不够,你的组合电路运算速度不够,没有把你要求的正确的“水”到达开闸时的指定位置。那么要达到你的要求,呵呵,1、开闸的你再延时开闸--降低时钟频率。2、让你的“水”流的再快点再快点--提高你的组合电路运算速度。
6、没有第6点了,我现在就想到了这些,以后再发。

相关帖子

沙发
xiaoyuan_ly|  楼主 | 2011-3-27 16:49 | 只看该作者
各位看的,也留下点自己的理解,共同比较进步了!!!!

使用特权

评论回复
板凳
xiaoyuan_ly|  楼主 | 2011-3-27 17:03 | 只看该作者
对于第2点的补充: 比如象我这样的新手,对2个always模块中对同一个寄存器赋值,就存在了“既要开门,又要关门”的情况出现,所以编译综合是就提示“error”了!

使用特权

评论回复
地板
wxfxwk1986| | 2011-3-27 20:49 | 只看该作者
这个说的比较好,容易明白,形象。。。

使用特权

评论回复
5
wxfxwk1986| | 2011-4-12 14:23 | 只看该作者
1、既然为硬件,那么就是可以变成实物的(或者说有相应的实物对应)。-这就是“综合”的意思。
2、既然为实物,那么就存在事实上的可能冲突。比如说我既要门开,又要门关--在现实世界中,你就会问你到底让我开门 ...
xiaoyuan_ly 发表于 2011-3-27 15:11

又重新读了一遍你写的,感觉受益颇多。尤其是你的第四点第五点写的很好,比喻恰当,但第四点你的后半段我感觉读起来有点拗口,我觉得组合电路应该是从一个大坝到另一个大坝的这段距离或者路程,频率的快慢就取决于从一个大坝到下一个大坝这段路程需要的时间(时间的快慢也就是所谓的算法,关于算法我不太清楚,我是根据你写的自己体会应该是这样)。不知我理解的对不对。

使用特权

评论回复
6
xiaoyuan_ly|  楼主 | 2011-4-12 14:31 | 只看该作者
又重新读了一遍你写的,感觉受益颇多。尤其是你的第四点第五点写的很好,比喻恰当,但第四点你的后半段我感觉读起来有点拗口,我觉得组合电路应该是从一个大坝到另一个大坝的这段距离或者路程,频率的快慢就取决于 ...
wxfxwk1986 发表于 2011-4-12 14:23


你好,其实我也说不上来什么,怎么的理解对自己更有帮助,我只是想在这样的描述中,让自己更加的体会和总结这段时间在FPGA上的学习工作。可惜,这里来说下的人太少了,或者大家也没有时间,不过还是谢谢你了,不管对的,还是错的,都来说说了自己的理解了,让我们大家共同进步了。

使用特权

评论回复
7
xlznow| | 2011-4-13 11:06 | 只看该作者
说的非常好,对初学者有启发。。。

使用特权

评论回复
8
shihun009| | 2011-4-15 22:39 | 只看该作者
:)

使用特权

评论回复
9
wxx116zh| | 2011-4-19 15:09 | 只看该作者
厉害,写的很好。

使用特权

评论回复
10
mzdmxb| | 2011-4-20 15:28 | 只看该作者
了解一下

使用特权

评论回复
11
icycoffee| | 2011-4-30 13:56 | 只看该作者
期待续集

使用特权

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

本版积分规则

27

主题

284

帖子

1

粉丝