当前位置:   article > 正文

FPGA学习路线指北

fpga学习路线

准备阶段

        1.学习基础的数字电路知识,比如D触发器,时序电路,组合逻辑电路等。这里推荐康华光版的数字电路设计

        2.学习掌握一种比较流行的硬件描述语言,比如System Verilog.Verilog HDL ,VDHL等,这里初期推荐Verilog HDL。学会一些基本的设计文件和测试文件的编写

        3.学习轻量化编译软件iverilog+gtkwave熟悉硬件描述语言的语法,结构和规范,能够熟练的使用相应的语言描述数字电路 

        4.可以上网上寻找相应的测试题来提高自己verilog代码的编写能力,这里推荐两个网站

        牛客网公司真题_免费模拟题库_企业面试|笔试真题 (nowcoder.com)

        Vectorr - HDLBits (01xz.net)

        一个是牛客网,一个是HDLBits刷题网站,都是很好的检验自己verilog能力的题目

        掌握的差不多就可以进行下一阶段,进行FPGA开发了

初级开发阶段

        1.学习FPGA的开发工具,比如Alter的Quartus ii 或者是Xilinx的Vivado 以及仿真软件modelsim。掌握这些软件可以让你完成FPGA的开发

        2.完成上述几个后,可以从点亮流水灯入门,开始你的FPGA的开发之旅。紧接着熟悉相关开发软件的IP核的使用,比如rom,ram,fifo等常用的ip。像按键数码管这种基本的硬件也要学着驱动起来,后面可以继续学习相关协议的编写,比如三大协议(uart,spi,iic)以及vga/hdmi视频接口,udp协议,sdram接口时序(ddr3也可)。这一步骤知识量比较大,可以慢慢消化,不必操之过急。

这里推荐野火的视频,讲的非常不错

【野火】FPGA系列教学视频,真正的手把手教学,“波形图”教学法,现场画波形图写代码,硬件基于野火FPGA EP4CE10征途系列开发板,已完结_哔哩哔哩_bilibili

        3.学习vivado的ila逻辑调试和quartus ii的sigaltap逻辑调试,方便改bug

        4.可以接触相关的时序分析,比如建立时间,保持时间等的基本概念,为以后学习时序分析做铺垫

        5.学习FPGA芯片的基础知识,包括FPGA芯片中的可编程逻辑单元(CLB),输入输出引脚(I/O)等,了解FPGA架构和计算资源分配的原则(这部分可以在校招或找工作的时候在详细了解)

 

 中级阶段

          1.掌握zynq的sdk开发,重点学习pl和ps交互的知识(ps和pl通过bram交互或者是ps,pl通过dma交互)以及IP核的封装(这里AXI协议是非常重要的!!!)

        视频推荐:正点原子领航者sdk开发

正点原子手把手教你学ZYNQ之嵌入式开发-基于启明星V1/领航者V1【第二期】_哔哩哔哩_bilibili

        2.学习时序约束和时序分析的相关知识,这里入门推荐小梅哥时序约束的视频,后续如果想深入了解的话可以看sta(推荐图书:IC芯片设计中的静态时序分析实践)

        3. 可以学习一门脚本语言,加快自己的效率(脚本语言比如tcl,python,perl等)其中tcl脚本语言是适用于vivado的,具体学哪一个看你们的个人兴趣

        4.(可选)可以尝试学习一下linux操作,学习一下vcs+verdi联合仿真(非常舒服)。也可以学习一下zynq的linux开发

  高级阶段

         高级阶段这里我就不做过多的叙述了,学完初级和中级后,已经可以尝试着做做一下开源项目锻炼自己的能力

        这里可以给几个推荐

        第一条:可以学习一些IC工具链,熟悉soc设计流程掌握IC的设计方法,试着学习一下开源的tinyriscv等等,为以后转行IC做铺垫

        第二条:可以学习一些高速接口,如pcie等...这里不做过多的阐述了,学到这里你应该就会有属于自己的路线了,坚持自己的目标,走下去,迎接美好的明天

    

         

          

        

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/330778
推荐阅读
相关标签
  

闽ICP备14008679号