fpga论坛推荐(fpga开发难吗)

论坛推荐第一名。

http://bbs.elecfans.com/zhuti_fpga_1.html

elecfans论坛的FPGA模块依然活跃,有一些关于各种FPGA工具使用的讨论。

第二

hifpga.com

准确的说,这是一个FPGA论坛,也是一个FPGA问答;一个社区。整个社区都很活跃。它鼓励人们更快更准确地提问和回答问题,避免了FPGA技术论坛中常见的无意义的顶帖和复制回复。整个论坛的主题都与FPGA有关,是一个聚焦FPGA的论坛。在这个论坛里,有一些FPGA相关问题的具体解决方案,也会有一些关于FPGA的技术细节文章分享。当然,还有XILINX,ALTERA,LATTICE,MICROSEMIC等FPGA器件的wiki。对了,这个论坛还有一个好处就是可以在手机端浏览问答,全站界面是移动自适应匹配。

第三名

http://bbs.eetop.cn/forum-68-1.html

这个论坛主要偏向于IC设计。因为FPGA在IC设计中往往属于前端设计,所以它的前端设计版块里有一些关于FPGA的讨论,里面也有一些非常好的分享,但是这两年论坛的活跃度有点低。

第四

http://bbs.21ic.com/icfilter-typeid-119-83.html

21IC是一个很老的电子社区,FPGA是这个网站里的一个子板。因为网站本身是做单片机起家的,谈的比较低端的FPGA或者CPLD相关的器件比较多,这两年气氛不是很活跃。

第五名

http://blog.chinaaet.com/fpga

电子应用期刊的网站不完全是一个论坛。里面有一个很好的FPGA博客版块,里面有很多FPGA相关的文章,大部分都是干货,当然也有一些培训班的广告。

第六

http://www.eda365.com/forum-50-1.html

这是一个讨论PCB技术起源的论坛。FPGA是里面的一个板块,整个板块的活跃度比较高,提问比较基础。

第七名

www.heijin.org/

这是黑金开发板的论坛。如果你买了他们的板,可以去这个论坛提问。

第八名

www.fpgaw.com/

这是一个培训机构的FPGA论坛,有一些基本的FPGA学习资料。

第九名

http://www.openhw.org/

这个论坛有很多FPGA开源项目,很多都很有趣,可以学到很多东西。

第十名

http://forums.xilinx.com/

这是xilinx的官方讨论区。论坛本身是英文的,但是里面有人用中文提问,得到了回答。

fpga开发难吗?问:零基础想学FPGA,应该从哪里入手?应该看什么教程?应该用什么学习板和开发板?什么书,等等?

如果你想快点,就在网上看文章。这主要是为了应用。让你的董事会在一个小时内运行。前期快速起来,灵活学习运用,就是到了后期,没有系统理论的支撑,会有一些困难,尤其是大型项目,这完全是悲剧。中国可以,周立功是一个,艾米电子也可以。他们都有学习板,但后者的教程是抄袭前者美国前者基础深厚,资金不紧张就买前者。如果你够快的话,电子书肯定是必备的。它it’最好边读边学。可以适量买一些其他的书。

前方知识点高能预警:

1、查看代码并构建模型

只有在头脑中建立逻辑模型,了解实现FPGA内部逻辑结构的基础,才能理解为什么写Verilog和写C的整体思路不一样,才能理解顺序执行语言和并行执行语言在设计方法上的区别。当你看到一个简单的程序时,你应该想到这是一个什么样的功能电路。

2、用数学思维简化设计逻辑

学习FPGA不仅对逻辑思维很重要,对良好的数学思维简化你的设计也很重要。所以,那些孩子看到高数就头疼的s鞋需要关注这个课程。举个简单的例子,有两个32位数据x [31: 0]乘以y [31: 0]。当然,Altera和Xilinx都有现成的乘法器IP核可以调用,这也是最简单的方法,但是两个32位乘法器会消耗很多资源。那么有没有一种既节约资源又不那么复杂的方式来实现呢?我们可以做一些修改:

将X [31: 0]分成X1 [15: 0]和X2 [15: 0]两部分,使X1 [15: 0]=X [31: 16],X2 [15: 0]=X [15: 0],然后X1左移16位后可与X2相加得到X;类似地,y [31: 0]被分成两部分,y1 [15: 0]和y2 [15: 0],使得y1 [15: 0]=y [31: 16]和y2 [15: 0]=y [15: 0],然后Y1被向左移位16位并与Y2相加以获得y。x和y的乘法可以被转换为X1和X2分别与Y1和Y2的乘法,从而32位* 32位乘法被转换为4个16位*转换后,占用的资源会减少很多。如果你对孩子感兴趣鞋,你不妨全面看看,看看它们到底有多大的区别。

3、时钟和触发器之间的关系

俗话说时钟是时序电路的控制器太经典了,可以说是FPGA设计的圣言。FPGA的设计主要以时序电路为主,因为无论多复杂的组合逻辑电路,都没有太多的窍门,理解起来也不会太难。然而,时序电路是不同的。它所有的动作都是由时钟节拍的变化触发的。可以说,时钟是整个电路的控制器。如果控制不好,电路的功能就会混乱。

比如时钟就相当于人体的心脏。每次跳动都会触发一个CLK,为身体各个器官供血,维持身体的正常运转。每个器官系统的正常工作都离不开组织细胞的组成,所以扳机可以比作基本单位组织细胞。时序逻辑电路的时钟是引擎&quot它控制时序逻辑电路的状态转换。没有它,时序逻辑电路可以正常工作,因为时序逻辑电路主要是用触发器来存储电路的状态,而触发器的状态转换需要时钟的上升沿或下降沿!可见时钟在时序电路中的关键作用!

最后,我简单说一下我的经历。归结起来就是多练习,多思考,多提问。它最好去实践别人比读100遍还要多。实践的动力一方面来自兴趣,另一方面来自压力。个人认为后者更重要。需求很容易导致压力,也就是说,最好是在实际的项目开发中锻炼,而不是为了学习而学习。在练习的过程中,要多思考问题产生的原因,在问题解决后,多问为什么。这也是一个积累经验的过程。如果你有写项目日志的习惯,最好把问题,问题产生的原因,解决方法都写下来。最后,你要多问问题。如果可以思考问题后不能解决问题,你必须问问题。毕竟你个人的力量是有限的。可以问问同学同事,搜索引擎,网友。一篇文章,朋友的启发,可以帮助你快速解决问题。

为什么有很大一部分人觉得FPGA难学?

1、不熟悉FPGA的内部结构和可编程逻辑器件的基本原理。

FPGA为什么是可编程的?我恐怕很多菜鸟都不会我不知道,他们也不知道。我不想知道。因为他们不我认为这无关紧要。潜意识里,他们认为这是可编程的。肯定跟写软件一样。软件编程的思想根深蒂固。看到Verilog或者VHDL就像看到C语言或者其他软件编程语言一样。一个一个读,一个一个分析。如果这些菜鸟总是不肯理解FPGA为什么是可编程的,以及FPGA的内部结构,那可能学不好FPGA。虽然现在EDA软件很先进,可以像写软件一样合成一些东西,但可能只有天知道EDA软件最后合成了什么。也许它it’点一盏灯,跑一匹马,没问题。那这就是为什么很多菜鸟学了很久还是菜鸟的原因。那么为什么FPGA 可编程的?让让我们先了解什么程是。启蒙程只是一堆有特定含义的01代码。

编程其实就是写这些01代码。它只是我们现在有很多开发工具、操作或其他操作。所以,软件是一个一个的。通常这些01代码并不是直接写出来的,而是以高级语言的形式写出来,最后通过开发工具转换成这个01代码。对于软件编程,处理器会有专门的解码电路,将这些01代码逐一翻译成各种控制信号,然后控制其内部电路逐一完成读取,因为软件的运行是一步步完成的。FPGA的可编程性也是依靠这些01代码来改变它的功能,但不同的是FPGA可以完成不同的功能,而不是像软件一样依靠翻译01代码来控制一个运算电路。FPGA里没有这些东西。

FPGA主要有三个部分:可编程逻辑单元、可编程连接和可编程IO模块。什么是可编程逻辑单元?它的基本结构是4输入或6输入1输出真值表由一些内存(SRAM,FLASH等)组成。)加上一个D触发器。任何4输入1输出组合逻辑电路都有相应的真值表。类似地,如果使用由这种存储器制成的4输入1输出真值表,则仅通过修改其内部值就可以等效于任何4输入1输出组合逻辑。这些的内在价值是什么真值表?它只有那些01代码。如果要实现时序逻辑电路呢?它这不是D触发器。任何时序逻辑都可以转换成组合逻辑D触发器。但毕竟只实现了4输入1输出的逻辑电路。通常,逻辑电路的规模相当大。

那我该怎么办?这时候就需要可编程连接了。这些线路上有很多由记忆控制的链接点。通过重写相应的内存值,我们可以确定哪些线是连通的,哪些线是断开的。这可以将许多可编程逻辑单元组合起来形成一个大的逻辑电路。最后是可编程IO,这其实是FPGA在芯片级使用时必须要注意的。

任何芯片都必须有输入引脚和输出引脚。可编程IO可以任意定义一个非专用管脚(FPGA有测试和下载的专用管脚,用户不可用)是输入还是输出,还可以设置IO的电平标准。总之,FPGA是可编程的,因为它可以被做成真值表通过特殊的01代码,这些真值表可以组合实现大规模逻辑功能。

在不知道FPGA内部结构的情况下,我们可以我不明白最终的代码是如何进入FPGA的。你可以没有深刻理解如何充分利用FPGA。今天 FPGA不仅有上面提到的三个模块,还有很多专用的硬件功能单元。如何利用好这些单元来实现复杂的逻辑电路设计,是新手到高手路上必须要克服的障碍。这一切都要从了解FPGA的内部逻辑和工作原理开始。

2、误解HDL语言,我可以根本看不到硬件结构。

HDL的英文全称是:Hardware Deion Language。注意是Deion这个词,而不是Design。为什么外国人用Deion这个词而不用Design?因为HDL真的不是用来设计硬件的,只是用来描述的。这个词准确地反映了HDL语言的精髓。HDL语言只是已知硬件电路的文本表示,它只是以文本的形式描述未来的电路。写语言之前,硬件电路应该已经设计好了。语言无非就是把这个设计转化成文字。但许多人不我不明白。既然硬件已经设计好了,就拿去生产部门吧。为什么需要转换成文字再去经历EDA工具这些麻烦的过程?其实这是很多菜鸟都没有的问题我不理解设计的抽象层次。任何设计包括服装、机械、广告设计都有一个抽象层次的问题。就拿广告设计来说,最初的设计可能是一个概念,设计这个概念只是一个想法,远没有最终做成广告。

硬件设计也有不同层次的抽象,每个层次都需要设计。最高的抽象层是算法层,其次是架构层、寄存器传输层、门层和物理布局层。使用HDL的好处是我们已经设计了一个寄存器传输级电路,那么HDL中的描述就会被转换成文本形式,剩下的转换到更低一级的工作可以通过ed a工具来完成,大大减少了工作量。这就是综合的概念,也就是说,这种抽象层次的硬件单元描述,可以被EDA工具理解,并转化为底层的门级电路或其他结构的电路。

在FPGA的设计中,就是用抽象层次的观点把这个描述成HDL语言,通过FPGA开发软件可以转化成问题1中描述的FPGA内部逻辑功能的实现形式。HDL也可以描述更高层次的抽象,比如算法层或者架构层。但是,目前由于EDA软件的发展,EDA软件可以不能理解这么高的抽象层次,所以HDL描述的抽象层次不能不能转化为更低层次的抽象,这就是所谓的非综合。所以在读或者写HDL,尤其是合成HDL的时候,我们看到的不应该是语言本身,而是语言背后对应的硬件电路结构。如果看到的HDL永远是一段代码,那么这种人永远摆脱不了菜鸟的命运。如果有一天你看到的代码不再是一行代码,而是一个个硬件模块,那么恭喜你走出菜鸟级别,进入小鸟级别。

3、FPGA本身什么都不是,一切都在FPGA之外,这可能是很多学习FPGA的菜鸟最难理解的一点。

FPGA是给谁用的?很多学校解释说是给微电子或者IC设计专业的学生用的。其实只是很多学校资金有限,买不起专业的IC设计工具,所以用FPGA工具代替。事实上,设计电子系统的工程师使用FPGA。这些工程师通常使用现有的芯片一起完成一个电子设备,如基站、机顶盒、文章监控设备等。当现有的芯片可以如果不能满足系统的要求,我们需要使用FPGA来快速定义一个可用的芯片。

如前所述,在FPGA中找不到的是一些真值表、触发器、各种连接和一些硬件资源。电子系统工程师在使用FPGA进行设计时,考虑的只是如何将这些后期资源组合起来实现一定的逻辑功能,而不是像ic设计工程师一样必须关注最终的芯片能否制造出来。本质上,它这与利用现有的芯片组来合成不同的电子系统没有什么不同,但我们只需要关注更低级的资源。用FPGA还是比较简单的,因为无非就是那些资源。理解了前两点,就有可能搭建实验板,运行实验,做一些简单的事情。要用好FPGA,光知道一些FPGA知识是远远不够的。因为最终如何组合FPGA中的资源,可以实现哪些功能来满足系统的需求,需要了解越来越广泛的知识。

目前,FPGA的应用主要有三个方向:

第一个方向,也是传统方向,主要用于通信设备的高速接口电路设计。这个方向主要使用FPGA处理高速接口协议,完成高速数据传输和交换。这种应用通常需要使用具有高速收发器接口的FPGA。同时要求设计人员了解高速接口电路和高速数字电路板级的设计,具备EMC/EMI设计的知识,有良好的模拟电路基础。高速收发过程中需要解决信号完整性问题。从一开始到现在,FPGA在通信领域得到了广泛的应用。一方面通信领域需要高速的通信协议处理,另一方面通信协议又在随时被修改,所以非常不适合做成专用芯片。因此,能够灵活改变功能的FPGA成为首选。到目前为止,FPGA一半以上的应用也是在通信行业。

第二个方向:可以称为数字信号处理方向,也可以称为数学计算方向,因为在很大程度上,这个方向已经远远超出了信号处理的范畴。比如早在2006年就听说美国用FPGA做金融数据分析,后来看到一些用FPGA做医疗数据分析的案例。该方向要求FPGA设计人员具备一定的数学知识,能够理解和改进复杂的数学算法,并利用FPGA内部的各种资源将其转化为实际的运算电路。目前通信领域的无线信号处理、信道编解码、图像信号处理等领域真正投入实用。其他领域的研究正在进行中。没有很多实际用途的主要原因是学金融和医学的人不我不知道这些东西。但是最近发现欧美很多电子工程和计算机科学的博士都转到了金融行业,从事金融信号处理工作。相信随着转岗人数的增加,FPGA在其他领域的数学计算功能会发挥的更好,我也打算在这些领域做一些研究。然而,我我怕国内学金融和医学的很少用到数学,更不用说用FPGA来帮他们完成数学运算了。这个问题只能再讨论了。

第三个方向:所谓的SOPC方向,其实严格来说这已经属于FPGA设计的范围了,只不过是搭建在FPGA这个平台上的一个嵌入式系统的底层硬件环境,然后设计师主要在上面开发嵌入式软件。设计FPGA本身的时间非常少。但如果涉及到FPGA中特殊的算法加速,实际上需要第二个方向的知识,而如果设计特殊的接口电路,则需要第一个方向的知识。目前,SOPC的发展远远落后于第一和第二个方向。主要原因是SOPC主要基于FPGA,或者说是一个软处理器在FPGA内部的资源中实现,或者在FPGA内部嵌入一个处理器内核。但是,大多数嵌入式设计都是以软件为核心的。按照现在的硬件发展,大部分情况下的接口都已经标准化了,不需要这么大的FPGA逻辑资源去设计太复杂的接口。

而且目前SOPC相关的开发工具还很不完善,以ARM为代表的各种嵌入式处理器开发工具早已深入人心。以ARM为核心的SOC芯片大多提供了大部分标准接口,大量系列的单片机/嵌入式处理器提供了相关行业所需的硬件加速电路,所以需要定制特殊硬件的真的很少。

通常是在一些特殊行业,对这方面的需求非常迫切。尽管Xilinx现在增加了ARM 的硬核到FPGA,相信目前的情况不会有太大的改变。唐别忘了,很多老的8位单片机还混在嵌入式领域。嵌入式系统主要依靠硬件上的差异,但更多的是依靠软件上的差异来体现其价值。

我曾经很看好柏树的Psoc的想法。与SOPC系列不同,Psoc s的思路包括在SOC芯片中嵌入这么小的FPGA,实际上可以满足嵌入式硬件接口的微小差异。例如,某个应用程序需要四个USB s,但通常的处理器可以提供不了那么多,可以用这样一个FPGA来提供更多的USB接口。另一个应用需要6个UART,也可以用同样的方法完成。

对于嵌入式设计公司来说,只需要库存一种芯片,就可以满足这些设计中的各种小差异和变化。主要区别还是由软件来完成。但是,柏树目前太封闭了。如果它使用ARM作为处理器核心,它将使用其完整的工具链。同时,开放IP合作,让大量第三方为其提供IP设计,是非常有前途的。但目前赛普拉斯日子不好过,Psoc 的思想唐我不知道它什么时候会发光。

第四个方向:数字逻辑的知识是根本。无论是FPGA的哪个方向,都离不开数字逻辑知识的支持。说白了,FPGA只是数字逻辑的一种实现方式。如果连最基本的数字逻辑知识都有问题,想学FPGA只是空中楼阁。而这恰恰是很多菜鸟最不愿意面对的问题。逻辑是任何电子电气专业的基础知识,也是必须学好的课程。许多人只是学习,参加考试,这结束了。

如果可以没有把数字逻辑的知识深入你的内心,养成良好的设计习惯,学习FPGA还是会云里雾里,水中望月,永远都是徒劳。以上四条只是我目前总结出来的菜鸟学习FPGA最容易误入歧途的事情。学FPGA其实跟学围棋一样。它学习如何在棋盘上移动很容易,但它成为大师就更难了。我恐怕除了努力学习之外,你真的需要一点天赋才能成为像李昌镐那样的神一样的球员。

关键内容:

1、要入门,首先要掌握HDL(HDL=verilog VHDL)

第一句话是:如果你还没有学过数电,先学数电。那么你可以选择verilog或者VHDL。有C语言基础的,建议选择VHDL。因为verilog太像C了,所以很容易混淆。最后你会发现,你花了很多时间去区分这两种语言,而不是去学习如何使用它。当然,如果你能扭转乾坤,也可以选择verilog。毕竟verilog在中国应用广泛。

接下来,先找这个例子复制代码。复制代码的意义在于熟悉语法规则和编译器(这里的编译器是硅编译器,也叫合成器。常用的编译器有Quartus,ISE,Vivado,Design编译器,Synopsys的VCS,iverilog,Lattice的Diamond,Microsemi/Actel的Libero,SynplIFy pro),然后模仿写。最后,不看书也能写。编译完代码后,打开RTL图看看合成的是什么样的电路。

HDL是一种硬件描述语言,它突出了硬件的特点。所以要用数字思维去思考HDL,而不是C语言或者其他高级语言。如果可以看不懂这句话,可以看《什么是硬件以及什么是软件》。现阶段推荐的教材是《Verilog传奇》,《Verilog HDL高级数字设计》或者《用于逻辑综合的VHDL》。不用看书就能写出三阶段状态机,可以进入下一阶段。

另外,一定要准备好Verilog或者VHDL的官方文档,《verilog_IEEE官方标准手册-2005_IEEE_P1364》,《IEEE Standard VHDL Language_2008》,这样遇到一些语法问题的时候可以查一下。

2、独立完成中小型数字电路设计

现在,你可以设计一些数字电路,如交通灯、电子琴、DDS等。推荐教材是夏老《Verilog 数字系统设计教程》(第3版)。在这个阶段,你需要做的是:给你一个指标要求或者时序图,你可以用HDL设计电路来实现。这里需要一个开发板。你可以选择Altera s cyclone IV系列或Xilinx 西班牙语6。在你掌握HDL之前千万不要买开发板,因为它买回来也没用。在这里,你不不需要每次编译和传递代码时都下载它。让用modelsim进行仿真(除了QuestaSim,NC verilog,Diamond s Active-HDL、VCS、德彪西/威尔第等仿真工具)。如果模拟可以通不过,那你就别我不需要下载它。它肯定赢了不工作。只需掌握这里的简单测试平台。推荐教材《WRITING TESTBENCHES Functional Verification of HDL Models》。

3、掌握设计方法和原则

你可能会发现,你的合成电路虽然正确,却有很多警告。这时候你就要学习同步设计的原理,优化电路,速度优先还是面积优先,时钟树怎么设计,两个不同频率的时钟怎么同步等等。推荐教材是《FPGA权威指南》,《IP核芯志-数字逻辑设计思想》,《Altera FPGA/CPLD设计》二版的基础篇和高级篇。学习加速编译(增量编译,LogicLock),静态时序分析(timequest),嵌入式逻辑分析仪(signaltap),就算过关了。如果你不有些东西不理解,可以暂时跳过,因为这部分还是需要足够的练习才能有更深的理解。

4、学会提高开发效率

Quartus和ISE的编辑太弱,影响开发效率。因此,建议使用Sublime文本编辑器中代码片段的功能,减少重复性工作。Modelsim也是常用的仿真工具。学习TCL/TK写一个适合自己的DO文件,让模拟自动化。推荐教材《TCL/TK入门经典》。您可以手动备份代码,但专业人员都使用版本控制器。所以,为了提高工作效率,你必须掌握GIT。文件比较器Beyond Compare也是一个常用工具。另外,也可以用System Verilog代替testbench,效率会更高。如果你正在做集成电路验证,你必须掌握系统Verilog和验证方法(UVM)。推荐教材《Writing Testbenches using SystemVerilog》,《The UVM Primer》,《System Verilog1800-2012语法手册》。

掌握TCL/TK后,可以学习虚拟Jtag(ISE也有类似的工具)来制作自己的调试工具。再说,你如果你有时间的话,最好学学python。剧本,意思是一劳永逸。

5、增强理论基础

这个时候你已经可以用FPGA了,但是还有很多东西你可以 do(比如FIR滤波器,PID算法,OFDM等。)因为你还没有I don’我没有学好这个理论。我大致分为几个方向供大家参考,后面是需要掌握的理论课。

信号处理——信号与系统、数字信号处理、数字图像处理、现代数字信号处理、盲信号处理、自适应滤波原理、雷达信号处理

应用——为UART、SPI、IIC、USB、CAN、PCIE、Rapid IO、DDR、TCP/IP、SPI4.2(10G以太网接口)、SATA、光纤、DisplayPort。

无线——信号与系统、数字信号处理、通信原理、移动通信基础、随机过程、信息论与编码。

设计CPU ——计算机组成原理,单片机,计算机体系结构和编译原理。

仪器——模拟电子技术、高频电子电路、电子测量技术、智能仪器原理及应用

控制系统——自动控制原理、现代控制理论、过程控制工程、模糊控制器理论及应用

压缩、编码、加密、——数论、抽象代数、现代编码技术、信息论与编码、数据压缩导论、应用密码学、音频信息处理技术、数字文章编码技术原理。

现在你发现FPGA涉及的知识非常多,你可以选择一个你感兴趣的方向,但是很有可能你会在工作中用到几个方向的知识,所以学的越多越好。想要更上一层楼,数学和英语是不可避免的。

6、学会使用matlab进行仿真

在设计FPGA算法的时候,或多或少都会用到MATLAB,比如CRC系数矩阵,数字滤波系数,各种表格和文本处理等等。此外,MATLAB还可以用来调试HDL(MATLAB计算出来的结果可以和HDL计算出来的结果一步步对比,就可以知道什么这是错误的。推荐的教材是杜勇的《MATLAB宝典》和《数字滤波器的MATLAB与FPGA实现》。

:充分的练习

这时候你已经至少看了几遍芯片手册(官网有),然后就可以按照自己的方向做一定量的练习了(期间要保持良好的代码风格,增加组件实例化语句的可读性,画流程图/时序图,写文档)。比如通信可以作为modem算法,仪器可以作为总线分析仪等等。但这些算法只是在书上给出了一个公式和框图,与现实相差甚远。你甚至会认为书中的一切都是肤浅的。然后,你可以在知网、百度文库、EETOP论坛、opencores、ChinaAET、Q群分享、博客上找一些相关的资料(校外的朋友可以在淘宝上买个知网账号)。其实你到了这个阶段,就已经到了专业水平。如果有时间,可以多了解一些前沿技术,对你的职业规划会有帮助。

在工作中,你可能需要注意很多协议和行业标准。协议可以在EETOP上查到,而标准(如国家标准GB和GB/T,国际标准ISO)推荐《标准网》和《标准分享网》。

8、图像处理(这部分只针对想学图像处理的朋友,也是由浅入深的路线)

Photoshop .一、花两周时间学习PS,对图像处理有个大概的了解。你知道各种图像格式、直方图、色调、通道、滤镜、拼接等的基本概念。并可以使用它。这部分是0基础,目的是让你对图像处理有一个感性的认识,而不是一开始就推导各种公式。推荐《Photoshop CS6完全自学教程》。

基于MATLAB或OpenCV的图像处理。有C/C基础的可以学习OpenCV,否则建议学习MATLAB。在这个阶段,你只需要学会简单地调用函数,所以你不暂时不需要深究实现的细节。推荐《数字图像处理matlab版》和《学习OpenCV》。

图像处理基础理论。这部分理论需要高数、复变、线性代数、信号与系统、数字信号处理等基础。如果基础不好,建议先补基础。你不知道的理论不懂也可以暂时放下,说不定学了之后就自然开悟了。推荐《数字图像处理》。

基于FPGA的图像处理。把前面学的理论运用到FPGA上,如果你处于前面第七阶段的水平,你就很容易独立完成图像算法设计(图像处理离不开接口,上面第五阶段已经提到了)。推荐《基于FPGA的嵌入式图像处理系统设计》和《基于FPGA的数字图像处理原理及应用》。

进一步学习数学。改进算法需要更多的数学,所以建议学习实分析,泛分析,小波分析等等。