这次我们讲一讲如何入门学习硬件描述语言和数字逻辑电路;学习数字逻辑电路,我推荐的一本书就是--《数字设计-原理与实践》,其他的深入点可以看看《完整数字设计》;而对于硬件描述语言呢?有两个原则,一个是买书的原则,一个是看书的原则。首先,你必须买两类书,一类是语法书,平常使用的时候可以查一查某些语法;一类是,对语言的使用的讲解和使用的方法(如何书写RTL,如何设计电路,如何调试代码,使用仿真器等);我用过一年的VHDL和两年的Verilog;作为过来人,我想介绍一些比较好的书给入门者,避免大家走弯路。
VHDL语法书可以买希望出版社出版的《集成电路设计VHDL教程》,对于设计使用方面的书籍我要介绍的有三本:第一本边计年翻译的《数字逻辑与VHDL设计》,第二本是藩松教授出版的VHDL语言设计(现在有新版的),第三本就是铁道出版社出版的《VHDL与FPGA设计》胡振华;作为入门者,我建议使用Verilog入门,因为Verilog使用的比较简单,对电路的描述比较直接;VHDL是一门强类型的语言,语法比较严紧,但是其架构描述的方法相对于Verilog,在某些方面描述的层次稍微高了一点,比如用到包,函数重载,这些都是比较高级的东西,对于RTL级的硬件描述来说Verilog已经足够拉,当然,在验证和行为描述上,肯定是越高级效率越高。注意我们应该用最简单的语言来描述硬件功能。
Verilog语法书可以买西安电子科大出版的《VERILOG HDL数字系统设计及其应用》,俺的第一本Verilog入门书就是他拉,^_^ 粗略看了一遍,后来就当语法书用了。对于设计使用方面的书籍我要推荐的是:夏宇闻老师的VERILOG数字系统设计教程;当然《VERILOG HDL硬件描述语言》J.Bhasker 也是一本非常好的语法书,另外想深入了解Verilog,做验证的应该看看Donald E.Thomas & Philip R.Moorby 《硬件描述语言VERILOG》(第四版) ,对于Verilog设计方面的东西我也没有其他可以好介绍的,俺的第一个Verilog设计就是TD-SCDMA手机终端基带芯片的Viterbi译码器,其中涉及到Pipeline,ResourceShare,Pingpong buffer,Circle Buffer,FILO等多个技术,所以一个设计就让我体会了很多设计的技巧,故也没很多时间去看相关设计方面的书籍,那时候常常看的IEEE Paper。我建议初学者可以多看看其他人的代码,看看一些简单的设计,比如是同步的fifo,uart,比较简单的state machine。
上面介绍了那么多书,接下来介绍一下如何使用书籍:书籍分两种,一种用来查的,千万不要从头到位看一遍,甚至把其中标点符号的错误都挑了出来,再好的作者也用不着象你那么用心的校对。这类书就是语法书,工具书,和datasheet之类的东西,你只要粗略扫一遍,懂不懂无所谓,今后用到了,你知道在那个地方可以查到,查一查就知道了。我刚保证,在厉害的逻辑设计人员都要查语法书。另外一种是要挑着仔细看的,比如设计类的,使用类的,书写RTL代码需要注意什么,如何设计一个同步的fifo,什么是阻塞,什么是非阻塞,其中区别在哪里,如何使用Modelsim仿真一个代码,如何编译,如何调试。等等这些细节的东西流程的东西都要好好研究。