原创 他和它的故事 之 Verilog HDL 流水操作和建模

2010-12-15 10:34 2291 10 10 分类: FPGA/CPLD


目录

前言
目录

第三章 流水操作和建模

3.01 流水操作的概念
3.02 仿顺序操作向流水操作的转换
实验十一:流水式查表乘法器
3.03 流水操作和建模
实验十二:建模过后的流水式查表乘法器
3.04 有包袱的流水操作
实验十三:流水式Booth乘法器
实验十四:建模过后的流水式Booth乘法器
3.05 流水操作直接建模
实验十五:流水式循环除法器
3.06 当不同操作步骤的流水模块并连的时候
实验十六:移位寄存器延长工作还威武了

总结

============================================

前言

说道流水操作,在初次接触Verilog HDL语言的时候它不在笔者思考范围。但是当编辑完多本笔记后,对时钟和步骤的掌,握感觉越来越清晰。在某个半夜里脑袋里忽然间充斥着好多的想法。在夜深人静的环境里,笔者一手拿着笔记本,一手拿起铅笔,把想法全部写下来。其中笔者也回忆起,第一次遇见大型电路板贴片焊接机器。笔者按着那时的感觉,把笔记本涂鸦了一张又一张,就这样这一本笔记的初稿就成立了。

先说说流水操作的坏话:

流水操作是一种比较傻瓜的操作,操作的方向永远都是向前而已,所以使得它在“驱动”和“控制”的一环中暗淡无光。但是“算法”或者“数据处理”却与是天生一对。具体的原因,读者会在这本笔记里深深的体会到。

此外流水操作还有一个坏处,就是它很难驯服,它不像仿顺序操作那样,在操作的尽头可以添加完成信号,使得控制容易起来。因为流水操作每一次的“行动”,都必须“热身”,“热身的时间”又成为潜伏时间。如果每次“行动”的频率不同,潜伏时间是不可预测的,这是流水操作“野”的性格。

说完流水操作的坏话,接下来就说它的好话:

流水操作不像仿顺序操作,一次“行动”只有一个“家伙”可以参与。反之只要流水操作“热身”过后,一次行动可以允许许多“家伙”一同参与。在某种程度上,它的执行效率比仿顺序操作高不少(时钟使用率)。

当然,这本笔记不是单纯的只是称赞了流水操作然后又贬低它。无论是仿顺序操作或者流水操作,都是Verilog HDL语言不可缺少的一环 (虽然它比仿顺序操作出场的机会少了许多 ... ), 但是要掌握流水操作,不像掌握仿顺序操作那样,仅要了解“如何把大象放进冰箱”而已。很多时候要把脑袋斜向一边才能理解,才能流水操作的原理。

曾经作为初学者的笔者,心理深深的了解“流水操作”的可怕之处。要设计一个流水操作的模块,开始都不知道要往那边编辑?要如何计算流水操作的步骤?如何并连?编辑后模块的表达能力好不好?代码风格帅不帅?等等诸多的问题 ...

在笔记中,笔者保持一如既往的幼稚思想,把流水操作当成具体的东西,引入建模思路。然后借用低级建模的力量,尽可以用图形把流水操作表达出来。从中考虑到仿顺序操作和流水操作之间可以互换的关系。说实话这本笔记不知道为什么写得特别伤神 ... Why ?

======================================

这只最后第二本相关 Verilog HDL 系列的故事了~


下载


PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /3 下一条