《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教程推荐几本书,本人初学。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)