您的位置首页百科问答

FPGA零基础入门需要多长时间?

FPGA零基础入门需要多长时间?

的有关信息介绍如下:

FPGA零基础入门需要多长时间?

对于新手来说,并不是很推荐去看各种语法书还有讲fpga原理的书。前者是因为常用的verilog可综合语法就那么几条,b站上花一天时间看下常用可综合语法足够前期用了。后者是因为可能看了书知道fpga内部就是查找表实现组合逻辑运算,还有时钟资源和io资源等等,但是这对初学者的编程思路其实并没有啥帮助,会直接让你去调用查找表?初学者能理解时钟架构的各种buf含义?以及io块中各种原语的功能?这些对于初学者来说可能并没有太大作用,反而会给他们一种看似了解了很多原理,但是一点东西也写不出来的感觉。

我认为学fpga首先要有一块开发板,不然全是纸上谈兵,fpga的上板调试和掌握整套工具链是要比理论更加重要的,开发板还是推荐使用altera或者xilinx(vivado软件的,不推荐use)主流芯片,他们的开发平台相对成熟,资料也比较多,对于初学者更友好,入门之后选哪家芯片其实就没啥区别了。

不推荐为了省钱去买什么矿卡,保不准卡本身就有问题,初学者都很难确定板子本身有没有问题,这就是劝退自己的操作。

小梅哥和原子,野火等开发板厂商在b站都有他们的教程视频,

可以先了解下他们谁的资料更适合你(我这只截图了这三家,米联客,黑金,明德杨他们也有,但是知乎这个任务要求三张图,我就只截图三张咯,各位可以自己去b站看。)再去买对应开发板就行了。

对于学习能力强的人来说入门需要三个月左右,跟着开发板厂家配套资料走就行了,前期就是通过各种案例去熟悉工具链的使用,需要掌握设计思路(拿到低速接口的一个需求,能够根据手册,原理图这些资料,分析出接口时序参数,以及fpga用计数器/状态机/fifo/ram作为主架构去实现这个功能会更简单)。

上述虽然是跟着开发板厂商资料走,但不代表就是把开发板厂商提供的代码拿过来在板子上跑一遍就行了。正确的做法是看一遍他的原理讲解,以及他的实现思路,然后把这些东西关了,自己再去画时序,写代码,仿真和上板测试,初期很可能你写出来的东西仿真就对不上了,这时候就需要去找原因了,这也是能够发现问题的地方。实在找不到原因,就可以对比开发板厂商提供的案例,你们的思路到底是哪出现了分歧,对结果有没有影响,或者说是不是你自己的思路更好?只有这样才能提升。

不要把开发板提供的程序拿过来跑一遍,然后发现所有例程都做了,但是自己还是啥也写不出来,其实就是学习方法有问题。前期不在于做了多少,在于没做一个案例设计思路都要有提升,明白自己思路之前可能存在什么问题,以后要注意什么,这才是重点。前期没必要去跑什么ddr,千兆网这些听起来很厉害的工程,实际上可能就是调了个ip,其他东西啥也不知道。

在第三个月的时候可能对fpga的设计流程以及思路就有一些理解了,这个时候在回头去买本夏宇闻的verilog语法书,每天花一两个小时,看二三十页,补一下那些不常用的语法就好了。另外也可以看看那些讲fpga原理的书了,这个时候看这些原理相信你也能够理解一部分了,也能解除一些前期跟着开发板厂商教程走的疑惑。

后续提升再说吧,已经写了很多了。