特权同学

《设计与验证Verilog HDL》读书杂记

0
阅读(2178)

那天是怕火车上一晚上 无聊,就特地跑了趟上海书城淘宝去了。把硬件设计那一架子的书基本上都翻了个遍。和以前的感觉一样,好书确实不多,似乎什么人都可以写书,不过就是放一摞 参考书在旁边,然后这里抄一段那里截一段七拼八凑就可以拿版费了,这未免有些太对不起读者了吧。个人感觉,不只是HDL方面的书,甚至整个电 子类的书也是十本有八本类似的,有些内容你看多了就能明显感觉有互相抄袭之嫌。

好了,言归正传了。关于HDL设计方面的书我攒了不少,但是还是比较希望有一本实践方面比较强的书,市 面上的书都重于Verilog的语法或者只是停留在仿真的层面上,我想找的是重点放在RTL可综合的书,毕竟学习 一个语言是希望用它来完成工程做出项目来。好了,就书说书不感慨了!(呵,再给人家做个广告,与非网的《FPGA开发实用教程》也是本好书,与我要说 的这本有异曲同工之妙。想买来着,可惜人家还没出版。)

所谓读书笔记,以前好像没写过,这算是开个头吧。

书是人民邮电出版的,作者是EDA先锋工作室(他们的网站也办的不错)。

引两段话吧,感觉很经典。

“Verilog虽然采用了C语言的形式,但是它的最终描述结果是芯片内部的实际电路。所以 评判一段HDL代码优劣的最终标准是其描述并实现的硬件电路的性能(包括面积和速度两个方面)。评价一个设计的代码水平较高,仅仅 是说这个设计由硬件向HDL代码这种表现形式转换得更流畅、更合理,而一个设计的最终性能,在很大程度上取决于设计工程师所构想的硬件实现方案 的合理性。

初学者,特别是从软件设计转行的初学者,片面追求代码的整洁、简短是错误的,是与评价HDL的标准背道而驰的。正 确的编码方法是,首先要对所实现的硬件电路有一个清楚的认识,对该部分硬件的结构与连接了解得十分透彻,然后再用适当的HDL语句将其表达出来。”

话说得很明白了,我补一句“用最简单的verilog描述最复杂的硬件电路”。

关于用硬件语言描述系统延时,书中所说的通用的思路和我之前预想的是一样的,就是使用计数来进行延时。此外这本书对if…else;case…;for…三种语句也做了详细 的对比,很显然的和我之前做出的归纳是一致的,用case是最节约硬件资源的,case语句的各个分支是并行 执行的,但是一旦与某个分支的值吻合了,就会停下其他的分支语句,单单执行相吻合的分支语句,执行完成后跳出case语句。for语句在RTL级的设计中一般不用, 因为有些综合工具是无法对其进行综合的。

书中对状态机设计的思想也说得很具体很经典,总之呢,感觉是一本很不错的verilog设计的书,对于感兴趣 的朋友值得推荐!

Baidu
map