24小时热门版块排行榜    

查看: 5810  |  回复: 21
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

source03

银虫 (正式写手)

[交流] 推荐一本学习FPGA的好书 已有21人参与

现在介绍FPGA的教材非常多,大多都是先介绍FPGA的结构、Veriolg语言或VHDL的语法,有些教材中这些内容就要占到80%,在对FPGA的设计有了基本了解后,这些内容其实就没有太多必要地看了。我在看FPGA的相关书籍时,只要是看作者通过哪些实际的工程项目,这样可以学习下这一类项目的基本知识。近几年出版的大部分教材中,作者们逐渐开始把自己做的一些项目安排在最后一两章,可以说这样的教材也已经算不错的了。

     我在学习FPGA的这段时间中,看了不少关于FPGA方面的书,其中有一本是非常不错的。该书是由云创工作室编写的《Verilog HDL程序设计与实践》,2009年人民邮电出版社出版。该书属于Xilinx大学合作计划指定教材,有Xilinx大学计划的标签的(这样的标签不是随便能贴上的,能够有这样的标签也就可以看出该书的份量了)。

    该书系统讲解了Verilog HDL的基本语法和高级实用技巧,不仅能让读者掌握基本的语法,还能够获得深层次理解,具有很强的可读性、指导性和实用性。

    关于可读性,我只想说,该书中第一章介绍EDA技术、Verilog与VHDL的对比等概述,第二章图文并貌介绍ISE软件从安装到下载配置FPGA,仅用4页介绍FPGA的结构(如果想了解FPGA的结构,还是看其他书吧)。从第三章到第十三章每一页都有必要细读。

    再说实践性,除了讲语法中列出的实例外,第十一章比较详细地介绍7个实例,第十二章介绍Xilinx硬核模块的调用,第十三章介绍串口通信的实例,这些实例中都包含了可综合的程序和测试程序。

   最重要的是该书的指导性。以该书在第十章介绍状态的Verilog HDL实现进行说明。

       按代码描述方法的不同,状态机可分为一段式描述、二段式描述和三段式描述等,并给出3种常用描述模板。

      给出的“二段式”状态机的Verilog HDL代码模板如下:

always @(posedge clk) begin

       if(!rst_n)

              state        <= idle;

       else

              state        <= next_state;

end

always @(state) begin

       case(state)

              s0:   begin

                     //

                     out1        =   ;

                     out2     =    ;

                     next_state      =     ;

                     //

              end

              s1:   begin

                     //

                     out1        =   ;

                     out2     =    ;

                     next_state      =     ;

                     //

              end

       endcase

end

       在夏宇闻的《Verilog数字系统设计教程》中(这本书也不错,深入讲解Verilog的语法,入门后深入设计FPGA是非看不可的),只是针对几个例子介绍设计状态要注意的一些问题,终究比不上这种直接列出整个结构来得更加直观形象。这里想起一个成语:授人鱼不如授人渔。

     此外书中还介绍了编写测试文件的方法,其他书籍在这一方面没有做到很好。

    这本书是由公司组织编著的(前言是提到是Xilinx公司大学计划部和上海智翔信息科技发展有限公司推出的),相比目前很多教师为了职称或为了写书而写书四拼八凑起来,其中有更多的实践经验值得大家学习,期待能有更多类似的书籍出版。

   在百度上搜索了,云创工作室还有另外一本书《多媒体处理FPGA实现——System Generator篇》(含光盘1张),看了目录,是属于理论与实践相结合的介绍在Xilinx FPGA上进行音频、图像、视频等多媒体处理的开发过程,过段时间我会去买一本的。
回复此楼
一切皆有可能
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yinqingwang

银虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
好书啊!要好好学习下!!
4楼2012-03-26 08:10:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 22 个回答

ttonline

银虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
好书啊!要好好学习下!!
3楼2012-03-25 08:43:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ngcyb

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
有没有结合ALtera的比较好的书,现在主要在学习Altera的??
7楼2012-03-27 19:56:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

songwenhua

金虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
7楼: Originally posted by ngcyb at 2012-03-27 19:56:53:
有没有结合ALtera的比较好的书,现在主要在学习Altera的??

《Altera FPGA/CPLD设计.基础篇 》《Altera FPGA/CPLD设计.高级篇》人民邮电出版社2005年出版的,Altera公司组织编写,比较系统全面。
选择了,就坚持!
8楼2012-03-29 22:23:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见