"该文档详细介绍了如何在Xilinx的ZYNQ FPGA平台上进行程序固化到QSPI-FLASH的过程,主要包括创建BOOT.bin文件、导入bit文件到SDK以及通过QSPI-FLASH启动。"
在ZYNQ FPGA程序固化的过程中,首先需要创建BOOT.bin文件,这是固化的基础。这个过程在Vivado 2017.4工具中进行。以下是创建BOOT.bin的具体步骤:
1. 创建工程:在Vivado环境中,新建一个工程,并编写相应的硬件描述语言(如Verilog或VHDL)程序,同时添加必要的约束文件,以确保设计满足硬件平台的需求。
2. 创建Block Design (BD) 文件:在工程中,点击“Create Block Design”,命名设计为“system”,然后点击“OK”。接着,通过搜索并添加“ZYNQ7ProcessingSystem”IP核,以集成ZYNQ FPGA的核心处理器和外围接口。
3. 配置MIO接口:为了支持QSPI-FLASH启动和SD卡启动,需要对MIO接口进行特定配置。对于QSPI-FLASH,需要设置相应的接口参数;对于SD卡,勾选SD0和CD选项,以实现从TF卡启动的功能。同时,还需要调整串口6的时钟频率。
4. 修改时钟设置:确保CPU时钟和DDR时钟设置正确,例如,CPU时钟通常设为33.333333MHz,ZYNQ主频设为667MHz,QSPI时钟设为125MHz。这些设置对系统的稳定运行至关重要。
5. 调整PS内存配置:根据开发板上DDR芯片的具体型号,修改内存配置。
6. 去除未使用的GP接口:如果采用SD卡启动,通常不需要GP接口,因此可以去掉相关配置。
7. 自动化布局与优化:运行“Run Block Automation”以自动生成连线,并通过“Regenerate Layout”优化布局。
8. 修改.v程序:在.v程序中添加ZYNQIP接口的定义,这可以通过复制自动生成的system_wrapper.v中的接口代码实现,确保.v文件能够调用BD文件。
9. 生成bit文件:完成上述步骤后,就可以在Vivado中生成.bit文件,这是FPGA编程的基本文件。
接下来,进入第二章,将生成的bit文件导入SDK(Software Development Kit)以创建应用程序:
1. 导出硬件:在Vivado中,选择“File” -> “Export” -> “Export Hardware”,并勾选“Include bitstream”,以便将.bit文件包含在硬件描述中。
2. 加载硬件到SDK:打开SDK,选择“File” -> “Launch SDK”,导入刚刚导出的硬件描述。
3. 创建应用程序项目:在SDK中,选择“File” -> “New” -> “Application Project”,命名为“HelloWorld”,然后按照向导的指示选择自带的HelloWorld模板,以创建一个新的C/C++应用程序。
通过以上步骤,完成了ZYNQ FPGA程序固化的关键流程,包括创建BOOT.bin、导入bit文件到SDK以及设置QSPI-FLASH启动的配置,为在FPGA上运行用户应用程序奠定了基础。