ZYNQ学习笔记(三)---Xilinx软件工具介绍与FPGA开发流程

有了先前两节的基础,我们对Zynq-7000系列芯片的一些片上资源就有了一些初步的知悉,那么现在我们就要开始对这款芯片进行设计和开发了。

由于我之前也没有接触过这类芯片,对FPGA以及Verilog HDL语言也只有一些粗浅的了解,我也是摸着石头过河,慢慢来。我打算先从片上的PL部分下手,先学习FPGA部分,所以今天我要重点介绍的是关于Xilinx软件工具集和FPGA设计与开发的基本流程,当然对于整个Zynq的开发流程我也会作简单的介绍。

目录

1.Xilinx软件工具简介

2.Zynq片上系统开发流程

3.FPGA设计开发流程


1.Xilinx软件工具简介

以下,我对最核心的四种工具进行了简单的介绍。

  • Vivado IDE——硬件系统开发有 Xilinx 的 Vivado IDE 开发套件承担。即FPGA 部分的设计和开发,管脚和时序的约束,编译和仿真,实现 RTL 到比特流的设计。开发者可以从 IP 库中选 出模块来组成所期望的系统的框图,配置模块参数,以及设计合适的内部连接和外部接口。具体的使用中还有许多细节,我们以后再详细介绍。
  • SDK(Software Development Kit)——SDK可以理解成是 Xilinx Vivado IDE的一部分,也可以是独立的应用。在 Vivado 硬件设备的基础上,配置工具和库路径,编译器选 项,JTAG 和闪存设置,调试器连接,裸板支持包,提供所支持的 Xilinx IP 硬核提 供了驱动程序,SDK 支持 IP 硬核和处理器软件协同调试。可以使用高级 C 或者 C++语言开发调试 ARM 和 FPGA 系统。
  • 用于软件开发的 GNU 编译链接编译器(GNU Compiler Connection, GCC)。
  • 用于验证的 Vivado 仿真器——可以采用vivado自带的仿真器,也可以使用Modelsim(我用的是Modelsim)。

值得一提的是,Vivado中还有许多开发组件,下表中进行了列举(与旧版的ISE开发套件进行了比较)。

2.Zynq片上系统开发流程 

图 2.1 Zynq片上系统开发流程图

通常 Vivado IDE 作为设计起点, 会在顶层设计的创建过程中起到 “ 驾驶舱 ” 一样的作用。套件内工具和其他部分(特别是 System Generator 和 Vivado HLS)的集成支持多种功能设计不同的子系统。当硬件设计完成后,它就会被导出到 SDK 进行软件开发,如果需要的话,还可以在 SDK 和 VivadoIDE 之间进行设计上的迭代

上述开发流程是先硬后软的流程: (以下摘自微相开发板开发指南。)

  1. Vivado 中创建项目,添加一个嵌入式的源文件;
  2. 硬件系统搭建,包括添加 PS 系统和外设,添加 PL 接口,IP;
  3. Vivado 创建顶层 HDL,编写必要的逻辑程序;
  4. 添加约束,综合和编译生成.bit 文件;
  5. 导出硬件到 SDK;
  6. 在 SDK 里创建 FSBL 文件;
  7. 在虚拟机中生成 uboot.elf, bootloader 镜像;
  8. 由 FSBL, System.bit, uboot 生成 boot.bin;
  9. 生成 Ubuntu 的内核镜像文件 Zimage 和 Unbuntu 的文件系统 ramdisk, 有时候还需要对接口驱动进行编写;
  10. 将 Boot, 设备树,内核镜像文件,根文件系统放入 SD 卡启动板卡。

以上是 Zynq 的通常使用开发流程,实际使用中可能 有些步骤是用不上,比如纯 PL 开发,就不涉及 PS 以及 Linux 部分,纯 ARM裸机跑不太涉 PL 以及及 Linux 部分,总之用户根据自己的实际情况来做开发。

 3.FPGA设计开发流程

  1. 系统功能设计:根据用户需求自顶向下将系统划分成各个单元;
  2. 编写RTL级(Register Transfer Level,寄存器传输级)HDL代码;
  3. 编写TestBench后在Modelsim里观察波形,如果有bug就进行分析修改;
  4. 在debug结束后,即可在Vivado中新建工程,通过逻辑综合工具得到门级网表;
  5. 门级功能验证,同样的,如果有bug就分析修改并重复之前的步骤;
  6. Debug结束后可以对模块的端口进行管脚约束,并启动Vivado的布局布线工具;
  7. 最终可以生成比特流下载到FPGA板上观察现象,进行板级的验证。
  • 11
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件很大 无法上传 特此分享我的网盘链接 供大家下载使用 Xilinx(赛灵思)是全球领先的可编程逻辑完整解决方案的供应商。Xilinx研发、制造并销售范围广泛的高级集成电路、软件设计工具以及作为预定义系统级功能的IP(Intellectual Property)核。客户使用Xilinx及其合作伙伴的自动化软件工具和IP核对器件进行编程,从而完成特定的逻辑操作。Xilinx公司成立于 1984年,Xilinx首创了现场可编程逻辑阵列(FPGA)这一创新性的技术,并于1985年首次推出商业化产品。眼下Xilinx满足了全世界对 FPGA产品一半以上的需求。Xilinx产品线还包括复杂可编程逻辑器件(CPLD)。在某些控制应用方面CPLD通常比FPGA速度快,但其提供的逻辑资源较少。Xilinx可编程逻辑解决方案缩短了电子设备制造商开发产品的时间并加快了产品面市的速度,从而减小了制造商的风险。与采用传统方法如固定逻辑门阵列相比,利用Xilinx可编程器件,客户可以更快地设计和验证他们的电路。而且,由于Xilinx器件是只需要进行编程的标准部件,客户不需要象采用固定逻辑芯片时那样等待样品或者付出巨额成本。Xilinx产品已经被广泛应用于从无线电话基站到DVD播放机的数字电子应用技术中。传统的半导体公司只有几百个客户,而Xilinx在全世界有7,500多家客户及50,000多个设计开端。其客户包括Alcatel,Cisco Systems,EMC,Ericsson,Fujitsu,Hewlett-Packard,IBM,Lucent Technologies,Motorola,NEC,Nokia,Nortel,Samsung,Siemens,Sony,Oracle以及Toshiba。
Zynq-7000系列之linux开发学习笔记是一系列关于在Zynq7030数据采集板上进行Linux开发的文章。在这些文章中,作者提供了关于编译Linux内核、制作设备树、安装NFS等方面的指导和经验。在其中一篇文章中,作者遇到了在挂载NFS时出现的问题,提示"wrong fs type, bad option, bad superblock"等错误信息。作者还提供了Linux内核源码的下载链接以及开发环境的相关信息。整个学习笔记的目标是让开发板能够连接外网,并通过NFS挂载到虚拟机上运行一个helloworld程序。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [Zynq-7000系列之linux开发学习笔记:NFS配置与开发板联网(七)](https://blog.csdn.net/Claudedy/article/details/94591622)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Zynq-7000系列之linux开发学习笔记:编译Linux内核和制作设备树(六)](https://blog.csdn.net/Claudedy/article/details/90760085)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值