热搜词

FPGA入门向——开发环境及流程

发表于 2024-9-18 23:19:21 | 显示全部楼层 |阅读模式
176 0
本帖最后由 CholeShan 于 2024-9-18 23:40 编辑

  在选择FPGA开发工具时,Vivado和Quartus是两个主流的选择,它们分别由Xilinx(现为AMD旗下)和Intel(原Altera)开发。
  • Vivado支持Xilinx的FPGA,包括但不限于Spartan、Virtex、Zynq等系列。
  • Quartus支持Intel(原Altera)的FPGA,包括Cyclone、Arria、Stratix等系列。

  因此,在选择开发工具及环境的时候,还需要根据芯片进行选择,不同的开发工具还包含了各自的IP库可供使用。
  我们以Vivado为例,简单介绍一下配置和开发流程:

1、环境配置
  • 需要注意的是Vivado不支持中文目录,务必不要安装到中文目录下使用,也不要将Vivado的项目放到中文目录下面,否则会综合不过。
  • vivado官网:https://www.amd.com/zh-cn.html (下载vivado需要注册AMD账号)
  • vivado下载链接:https://www.xilinx.com/support/download.html
  • 在安装过程中,需要注意安装路径,不建议安装在系统C盘,安装目录不支持中文,其他安装流程只需跟着安装程序选择所需的安装模块即可,安装时间较为漫长。
  • 由于vivado整合了仿真的功能,因此我们可以不用额外的仿真软件进行联合仿真。
2、开发流程
  • 创建项目:启动Vivado,选择创建新项目,输入项目名称和保存路径,选择目标FPGA设备型号。
  • 添加设计文件:在项目中添加Verilog或VHDL设计文件,可以是新建文件或现有文件。
  • 编写代码:在设计文件中编写FPGA的硬件描述语言代码。这一步我们可以开发相应的FPGA功能模块,调用IP库等。
  • 添加仿真文件:创建并添加测试平台(Testbench)文件,用于验证设计的功能正确性。由于我们所写的模块最终会成为一种数字电路,因此编写的仿真文件可以理解为数字电路的激励(输入源)和结果输出。
  • 仿真:运行仿真,检查设计的功能和时序是否符合预期。
  • 添加约束文件:创建并添加约束文件(.xdc),用于定义设计中的管脚分配和时序约束。比如时钟的频率等,当我们布局布线后的结果可能并不时序收敛,那么可以重新对有问题的时序进行约束,并重新综合和布局布线。
  • 综合:运行综合工具,将HDL代码转换为逻辑网表。
  • 布局布线:进行布局布线,优化设计以满足时序要求,当不满足时序要求时,需要重新更改约束文件以及设计文件。
  • 生成比特流文件:完成布局布线后,生成比特流文件,准备下载到FPGA。
  • 烧录:使用Vivado的硬件管理器或独立硬件工具将比特流文件下载到FPGA。

  综上所述,FPGA的开发主要包含几个重要的环节:
  • RTL级的设计文件,即每个模块的功能是否正确,资源使用是否合理,这点我们可以通过功能仿真进行功能验证,根据布局布线后的报告查看资源分配结果。
  • 引脚和时钟的约束:引脚约束确保与外界接口的准确性,时钟约束确保了布局布线后的时序收敛。
  • 布局布线:开发平台会根据我们的RTL设计文件和约束文件进行自动的布局布线优化,同时对我们的设计的可行性进行反馈。

全部评论

暂无评论,期待您打破宁静

您需要登录后才可以回帖 登录 | 立即注册
发表评论
发布