赞
踩
1.学习基础的数字电路知识,比如D触发器,时序电路,组合逻辑电路等。这里推荐康华光版的数字电路设计
2.学习掌握一种比较流行的硬件描述语言,比如System Verilog.Verilog HDL ,VDHL等,这里初期推荐Verilog HDL。学会一些基本的设计文件和测试文件的编写
3.学习轻量化编译软件iverilog+gtkwave熟悉硬件描述语言的语法,结构和规范,能够熟练的使用相应的语言描述数字电路
4.可以上网上寻找相应的测试题来提高自己verilog代码的编写能力,这里推荐两个网站
牛客网公司真题_免费模拟题库_企业面试|笔试真题 (nowcoder.com)
一个是牛客网,一个是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等...这里不做过多的阐述了,学到这里你应该就会有属于自己的路线了,坚持自己的目标,走下去,迎接美好的明天
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。