准备学Verilog,市面上有好几本这样的教材,请问下大家这些教材哪本比较好

准备学Verilog,市面上有好几本这样的教材,请问下大家这些教材哪本比较好,第1张

《Verilog数字系统设计教程(第二版)》 夏宇闻

《深入浅出玩转FPGA(内附光盘一张)》 吴厚航 这本书有视频教程

《Altera FPGA/CPLD设计(基础篇)(第2版)》

《Altera FPGA/CPLD设计(高级篇)(第2版)》选择ALTERA的器件可以看一下这两本

《设计与验证Verilog HDL》 吴继华,王诚 这书不错,看电子版就好了

《高级FPGA设计结构、实现也优化》(美)克里兹 著,孟宪元 译 这本我还没看 呵呵

学FPGA不一定需要开发板,自己学会modelsim仿真、写testbench,用PC机仿真就能有不少长进。这些都看完,剩下的就靠做项目自己领悟,再加上高手指点。

作为初学者,北京航空航天大学夏宇闻老师写的《Verilog数字系统设计教程》不错,书里面比较详细地讲了verilog的语法、以及一些设计时需要注意的问题。当然,这本书只能算个入门,verilog只是一种语言而已。要能真正做FPGA的设计,还要会用相应的软件,比如xilinx的ISE,以及Altera的QuartusII,这是需要掌握的。建议也看一下这些软件的guide。关于设计思想,其实很多书中都有所提及,这里我希望你能多读点国外书籍。像STEVE KILTS的《Advanced FPGA design》或者Michael DCiletti的《Advanced digital design with verilog HDL》都是比较好的书。

个人觉得需要两本书。

刚入门的时候如果看夏宇闻的《Verilog数字系统设计教程》的话,你会陷进去的,感觉东西特别多,也特别杂,估计就没兴趣了,而且也无法很好的抓住verilog的一些主干和层次。

建议买《硬件描述语言Verilog》和夏宇闻的《Verilog数字系统设计教程》第二版这两本书,前者能给你构建一个很好的框架,后者在一些细节的地方写的很不错,我从这两本书中获益颇多,其他书没怎么看过。希望能帮到你。

首先,我是一名FPGA编程人员,并不是什么外行;

我逐点回答:

1Verilog并不难学,只要肯下功夫,3个星期就能入门,主要还是要多动手编程;

2参考书一般就两本:(1)夏宇闻编《Verilog数字系统设计教程》;(2)美JBHASKER 编写的原名为《A Verilog HDL Primer,Third Edition》,夏宇闻,甘伟 翻译的中文名为《Verilog HDL入门》这本书。先学(1),再学(2);

3只要懂数字电路的基本知识就可以,如果想以后有大发展,可以学一些数字信号处理或者信息论与编码理论的知识;

4一块好的开发板,一般是Altera公司的。不过前期无须购买,等语言学的差不多了再上板子,前期学习都是仿真为主。

最后我再加一点:

5开发环境可以用QuartusII81版本,配合ModleSim65g版本仿真,你很快就可以靠它吃饭了。

祝你学习愉快!

module traffic(clk,urgency,east_west,south_north,led);

input clk;

input urgency;

output [7:0]east_west,south_north;

output [5:0]led;

reg [7:0]east_west,south_north;

reg [5:0]led;

initial begin

east_west<=8'b0;

south_north<=8'b0;

led<=6'b100001;end

always @(posedge clk)

begin if(urgency==1) led<=6'b100100;

else if(east_west==8'b0 && south_north==8'b0) begin

east_west<=8'b00101101;

south_north<=8'b00101000;

led<=6'b100001;end

else if(east_west==8'b00000110 && south_north==8'b1) begin

east_west<=8'b00000101;

south_north<=8'b00000101;

led<=6'b100010; end

else if(east_west==8'b1 && south_north==8'b1 && led[5]==1'b1) begin

east_west<=8'b00101000;

south_north<=8'b00101101;

led<=6'b001100; end

else if(east_west==8'b1 && south_north==8'b00000110) begin

east_west<=8'b00000101;

south_north<=8'b00000101;

led<=6'b010100;end

else if(east_west==8'b1 && south_north==8'b1 && led[2]==1'b1) begin

east_west<=8'b00101101;

south_north<=8'b00101000;

led<=6'b100001; end

else if(east_west[3:0]==4'b0000) begin

east_west<=east_west-8'b111;

south_north<=south_north-1'b1; end

else if(south_north[3:0]==4'b0000) begin

east_west<=east_west-1'b1;

south_north<=south_north-8'b111; end

else begin

east_west<=east_west-1'b1;

south_north<=south_north-1'b1;

end

end

endmodule

上面是我前一段时间写的交通灯控制器设计代码,相应的英文字母对应相应的信号

以上就是关于准备学Verilog,市面上有好几本这样的教材,请问下大家这些教材哪本比较好全部的内容,包括:准备学Verilog,市面上有好几本这样的教材,请问下大家这些教材哪本比较好、Verilog 哪本教材适合入门、跪求verilog hdl教程推荐几本书,本人初学。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9482540.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存