如何学习Verilog 语言?
如果搞FPGA开发verilog必然要精通。
如果没有数字电路基础的话建议首先学一些基本的数字电路知识。
然后看书,《Verilog HDL数字设计与综合》,一定注意只要看能够综合的代码,那些不能综合的东西可以一带而过。
实践!实践!实践!光看书绝对学不会。如果你有开发板当然好,如果没有至少也要写程序仿真。当时我学的时候买了个几千块的开发板。这个东西不练绝对学不会。
总之,先看书,把基本的数电搞懂。然后最好学一点练一点。一个很有用的方法,就是对着书或者自己想一些代码,然后看看编出的电路是什么样子的。
FPGA和C语言等软件语言相比,非常难以调试。一定要保证学的扎实些。
verilog是硬件描述语言,归根结底你设计的是电路,而不是软件,不能那C语言等软件语言硬套。
verilog语言
always 不是循环语句,always 是一个进程块。 always@(A or B or C)我们经常能看到的always语句如上面那句,当括号里的A,B或C信号发生变化的时候,这个ALWAYS模块就被激活,模块中的语句才能执行。括号里的信号称之为敏感信号列表。 所有的ALWAYs块之间是并行的关系,谁在前谁在后不影响执行的顺序。
for 是一个循环语句,但是不可以综合(编译)。for通常是用在测试文件里面。或者用于对RAM附初值。比如定义了一个RAM空间
reg [N-1:0] mem [word-1:0];
初始化时可以用for循环
integer i;
for(i=0;i<word;i=i+1)
mem[i]<=0;
这样就把RAM的内容全部定义为0了。但是FOR不能用在电路实体中。
VERILOG是硬件描述语言,用来描述硬件的结构和行为,不是软件,不是C语言,有很大的不同,没有循环这种说法。可以说VERILOG做的程序实际和硬件工程师画图是一回事,每个语句,每个模块,表示的是使用了一块芯片,然后连上线这样,硬件电路哪儿来的循环一说,要注意好好区别。
零基础学fpga应该怎么学?
零基础是吧!
首先看数字电路,了解什么是与或非,各种触发器,各种逻辑门,注意!了解即可,但是是怎么工作的一定要透彻透彻透彻透彻!(FPGA用的是HDL也就是硬件描述语言,程序是用来描述你的逻辑门的,数电是根基!)书的话我看的是电子技术基础(数字部分)康华光的 这本书还附带verilog语言的入门哦!
再看FPGA设计与应用类的书,详细了解FPGA这个器件,它为什么而生,为什么流行,特点,缺点。这个要是有英文功底,直接奔官网看英文。像ALTERA,XILINX,这两家的网站都是巨NB的。没功底,看 FPGA设计与应用 西安电子科技大学出版社的 讲的很细。可以当手册来查,这么久了还一直在我抽屉里没丢呢。
再次看VHDL,或verilog语言的书。
这里有分歧,前者语法严格,适合做大系统,入门困难,但学会了对硬件的结构会有更深的理解。
后者根据C语言改编,如果你有C语言基础,学这个容易上手,缺点是系统级别描述不行,沿袭了C语言的灵活,也带来了语法上的不严格,但是其作用面广,新手推荐,底层描述做的很好。
这里我常用的VHDL,只能推荐VHDL的 硬件描述语言VHDL教程 西安交通大学出版社 姜雪松
如果学verilog,最好先看看C语言的书,基础要打牢,不然代码上了规模,你就悲剧了。回头看很吃力!
再看HDL设计软件的使用书 我用的是QUARTUS II软件,貌似最流行的就是款软件了,这样的书,当做一个手册就行了,主要是介绍如何使用软件,告诉你怎么建工程,怎么输入程序,画原理图,编译纠错,时序仿真,都在这里了,软件用的好,比用的差的相隔很大哦!不会的时候狂翻书。
这里就随便买本什么书就OK了,上网搜FPGA系统设计与实例,大把的。
如果你想速成,那就上网看视频吧,这样主要是面对应用的,一个小时内让你的板子运行起来。早期起来的快,活学活用,就是后期没有系统理论支持,会有些吃力,特别是大项目那完全是个悲剧。国内做的可以的,我知道的就是周立功了,艾米电子也可以吧。这两家都有学习板,不过后者的教程抄袭的前者的。前者功底深厚些,资金不紧张就买前者吧。速成的话,数电书一定一定必备,边看边学比较好。其余的书可以适量买点。
这么多,其实只要有兴趣,慢慢学,入门也不难,板子就去网购吧,我去华强北逛了好多次了,都没什么好板子。网购大把的!
正在考虑是学FPGA,还是单片机,希望个位高手给与指点^O^
您好,1.两者不能相提并论,混为一谈。单片机在市场占有率比fpga高很多!
2.两者在控制方面有时候可代替,单片机速度慢了点,顺序执行,而fpga并行结构,所以速度快。但是fpga多用来验证芯片前端,做soc用的多,控制也有但是少。
3.一个很大的原因,单片机成本极低,而fpga低端也是单片机的十来倍。对于民品来说,注重压缩成本,大部分民品用的单片机,fpga多用于一些军品,不计成本计性能的场合!
4.fpga比较好学,而是现在开发更是简单了,只要数字电路学的好相当容易的,一般常讲一句话叫胸中有电路!而单片机是有一定的c语言基础!学fpga最好找本课本,反复敲程序就很快学差不多了!【摘要】
正在考虑是学FPGA,还是单片机,希望个位高手给与指点^O^【提问】
亲,您好,您的问题已经收到了,这边正在为您全力解答,请您耐心等待!【回答】
您好,1.两者不能相提并论,混为一谈。单片机在市场占有率比fpga高很多!
2.两者在控制方面有时候可代替,单片机速度慢了点,顺序执行,而fpga并行结构,所以速度快。但是fpga多用来验证芯片前端,做soc用的多,控制也有但是少。
3.一个很大的原因,单片机成本极低,而fpga低端也是单片机的十来倍。对于民品来说,注重压缩成本,大部分民品用的单片机,fpga多用于一些军品,不计成本计性能的场合!
4.fpga比较好学,而是现在开发更是简单了,只要数字电路学的好相当容易的,一般常讲一句话叫胸中有电路!而单片机是有一定的c语言基础!学fpga最好找本课本,反复敲程序就很快学差不多了!【回答】
学习FPGA应该看些什么书
在学习一门技术之前我们往往从它的编程语言开始,如同学习单片机一样,我们从C语言开始入门,当掌握了C语言之后,开发单片机应用程序也就不是什么难事了。学习FPGA也是如此,FPGA的编程语言有两种:VHDL和Verilog,这两种语言都适合用于FPGA的编程,VHDL是由美国军方组织开发的,在1987年就成为了IEEE的标准;而Verilog则是由一家明间企业的私有财产转移过来的,由于其优越性特别突出,于是在1995年也成为了 IEEE标准。VHDL在欧洲的应用较为广泛,而Verilog在中国、美国、日本、台湾等地应用较为广泛,作者比较推崇是Verilog,因为它非常易于学习,很类似于C语言,如果具有C语言基础的人,只需要花很少的时间便能迅速掌握Verilog,而VHDL则较为抽象,学习的时间较长。作为在校大学生,学习Verilog的最好时期是在大学二年级开设《电子技术基础(数字部分)》时同步学习,不仅能够理解数字电路实现的方式,更能通过FPGA将数字电路得以实现。作者发现华中科技大学康华光教授主编的《电子技术基础(数字部分)》非常好,可以说是一本与时俱进的教材,在本书的第二章最后一节专门介绍了Verilog语言与FPGA,并且在每一章的最后一节都介绍了如何使用Verilog建模实现相关数字电路的内容,因此本书非常适合大二学习FPGA的学生参考。本书是以《电子技术基础(数字部分)》为背景,并与该书同步配套学习FPGA,并在它的基础上作了改进,源于它而又高于它。大三、大四的学生还可以进一步强化学习Verilog,建议以北京航天航空大学出版社出版的由夏宇闻教授编写的《Verilog数字系统设计教程(第二版)》作为蓝本,本书比较全面地、详细地介绍了Verilog的基本语法。如果是其他初学者,可以直接借助《Verilog数字系统设计教程(第二版)》和本书即能全面掌握Verilog的语法,这是学习FPGA的第一步,也是必不可少的一步。