FPGA学习需要的基础能力

1.1.FPGA基础

入门阶段主要技能有:硬件和计算机基础,开发环境配置和开发流程,Verilog基础语法(设计和验证,至少到状态机),资料获取(科学上网,官方文档读取)
进阶技能:接口通信小项目,常用IP核,上板验证波形图读取,硬件映射思维,高效工具使用

1.1.1.电子基础

数电,计算机基础,其他知识边学边补

1.1.2.语法

verilog和VHDL,官方语法手册

1.1.3.开发环境

Vivado+modelsim
Sublime text编辑器中代码片段的功能,以减少重复性劳动
学会TCL/TK以编写适合自己的DO文件,使得仿真变得自动化
《TCL/TK入门经典》
Git版本控制
使用System Verilog来替代testbench

1.1.4.掌握设计原则

消灭警告
同步设计原则、优化电路,是速度优先还是面积优先,时钟树应该怎样设计,怎样同步两个异频时钟
《FPGA权威指南》、《Altera FPGA/CPLD设计》第二版的基础篇和高级篇
学会加快编译速度(增量式编译、LogicLock),静态时序分析(timequest),嵌入式逻辑分析仪(signaltap)

1.1.5.MATLAB仿真

MATLAB还能用于调试HDL,《数字滤波器的MATLAB与FPGA实现》

1.1.6.常用简单接口认识

RS485 接口:通过 485A 和 485B 两个端口与外部 RS485 设备进行通信
CAN 接口:通过 CANH 和 CANL 两个端口与外部 CAN 设备就行通信
AD/DA(模数/数模转换):使用I2C 总线与 FPGA 进行通信
以太网(RJ45)
下载接口(JTAG):下载器通过该接口与开发板连接,用于程序的下载、固化及调试。
SPI - FLASH :使用 SPI 协议实现 FPGA 芯片与 Flash 存储器的通信
排针:
HDMI 接口:(高清多媒体接口),该接口可与 HDMI 显示器相连接
SDRAM:同步动态随机存储器。存储音视频数据。
USB
RS232:串口通信
EEPROM:系统配置参数
……

1.2.文档阅读与资料获取

浏览器,知乎,CSDN搜大致描述,搜官方文档名字
DocNav中查看
官方文档要用关键词搜索,学会常见英文单词,需要一个官方文档索引

1.2.1.芯片数据数据手册阅读

先看芯片特性、应用场合、内部框图,有一个宏观的了解
重点关注芯片参数,同时参考手册给出的参数图。
选定器件后,研究管脚定义、推荐的PCB layout。内部寄存器,时序图必须研究透彻。数据手册中的note,都必须仔细阅读,是把芯片用好的关键所在。
特点:
只是说明书,干条条,语句不连贯,当成字典来搜
长句多,不要纠结于语法连贯,就当成代码来读

1.3.IP核使用方法

Xilinx系列

  1. 导入IP
    点击“IP Catalog”,选择要使用的IP,双击3处配置IP。
  2. 配置IP
    点击左上角可以阅读官方的IP说明手册、IP更新信息、常见问题及解决方式。根据实际的需求配置IP的参数,如工作时钟等。
  3. 阅读手册
    点击“Product Guide”可以转到Xilinx的DocNav中,查看、阅读、下载各FPGA器件手册、开发板资料、IP手册。Xilinx官方手册和配套例程是最具参考价值的资料,没有其他。虽然是英文版,但是借助翻译软件及关键词查找,还是能够进行阅读。
    黑色栏显示最近打开的文件,右键第一个选项打开文件,如果下载后文件无法显示的话,可以说使用第二项和第三项,在浏览器打开和在pdf阅读器打开,第四个选项打开pdf文件所在的文件夹
  4. 生成例程
    选择OOC编译,等编译完成后,右键“ Open IP Example Design”,打开IP对应配置下的测试工程,选择指定路径,自动打开新生成的测试工程。
  5. 阅读示例工程,仿真分析
    工程中包含了时钟、复位及输入输出、AXI总线协议等必要的配置,包含TestBench仿真测试文件,阅读分析源码,仿真查看波形,通过少量更改可以下板测试,ILA监测,参考示例工程,在实际应用中即可使用。
    选择“Include Shared Logic inExample Design”(推荐方式),则在IP核外部的示例工程中生成时钟、复位等必要逻辑,且这些逻辑作为共享逻辑,加入使用多个IP核时,可以共享一些复位等信号,且这些时钟、复位可以被使用者修改;
    选中“Include Shared Logic in Core”(简单)选项时,时钟、复位、GT收发器配置是包含在IP核内部,对其他的IP不可见,这些逻辑也不能被修改(Read-Only),不对外呈现。
    运行仿真即可查看波形,加入内部信号的波形到窗口,可以分析内部的信号,包括物理层PHY、协议层LOG等多个信号。(加入内部信号的方式可以参考matlab与FPGA数字滤波器设计(6)—— Vivado 中使用 Verilog 实现并行 FIR 滤波器/截位操作)

你可能感兴趣的:(FPGA,fpga开发,学习)