ISE的FPGA程序加载与固化——Omapl138/TMS320C6748+FPGA核心板

2022-08-31 10:20:02 浏览数 (2)

前 言

本指导文档适用的开发环境为Windows 7 64bit和Windows 10 64bit。本文档的主要内容为基于ISE的FPGA程序加载、固化等说明。进行本文档操作前,请先按照调试工具安装相关文档安装ISE 14.7软件,并将开发板通过FPGA下载器正常连接到PC机,本文档以TL-DLC10下载器为例进行操作演示。

本篇文章内容主要包括有程序加载、程序固化、工程导入与程序编译、工程新建、移植和程序编译等,测试板卡是TL138/6748F-EVM开发板,它是创龙科技基于Omapl138/TMS320C6748+FPGA核心板开发。由于SOM-TL138F/SOM-TL6748F核心板管脚兼容,所以共用同一个底板。开发板采用核心板 底板的设计方式,尺寸为24cm*13cm,它主要帮助开发者快速评估核心板的性能。

核心板采用高密度8层板沉金无铅设计工艺,尺寸为66mm*38.6mm,板载3路高转换率DC-DC核心电压转换电源芯片,实现了系统的低功耗指标,精密、原装进口的B2B连接器引出全部接口资源,以便开发者进行快捷的二次开发使用。开发板底板采用四层无铅沉金电路板设计,为了方便用户学习开发参考使用,上面引出了各种常见的接口。

程序加载

FPGA程序位于产品资料Demo1目录下,使用前请将Demo1文件夹下对应开发板的案例目录夹拷贝至非中文路径,下表为Demo1文件夹下对应开发板的案例目录结构及文件说明。

表 1

目录

文件/目录

说明

bin

xxx.bit

可执行程序,用于在线加载

xxx.mcs

可执行程序,用于固化到SPI FLASH

project

xxx_6slxxx(工程目录)

constraints

约束文件目录

hdl

Verilog源码文件目录

xxx.xise

ISE工程文件

下面以led_flash案例为例,演示程序加载方法。

将开发板上电,打开Windows的设备管理器查看下载器是否已正常连接。

图 1

在Windows下点击“开始菜单 -> Xilinx Design Tools -> ISE Design Suite 14.7 -> ISE Design Tools -> 64-bit Tools -> iMPACT”,在弹出的界面中依次点击No和Yes。

图 2

图 3

在弹出的对话框中选择“Configure devices using Boundary-Scan(JTAG)”选项,并点击OK,进入到ISE iMPACT界面。

图 4

图 5

弹出如下界面,点击No。

图 6

在弹出的界面中,点击OK。在下载器已连接的情况下,iMPACT会识别到FPGA芯片,并显示“Identify Succeeded”信息。

图 7

图 8

双击FPGA芯片图标,在弹出的对话框中选择案例bin目录下的.bit文件,然后点击打开。

图 9

在弹出的界面中点击No,代表不进行程序固化,仅进行程序加载。

图 10

右击界面中的FPGA芯片图标,选择Program。

图 11

程序成功加载后,将会显示“Program Succeeded”信息,并可看到开发板的LED灯循环亮灭,时间间隔0.5s,说明程序在线加载与运行正常。

图 12

程序固化

下面以led_flash案例为例,演示程序固化方法。

请参考程序加载章节进入如下ISE iMPACT界面,并单击选中“SPI/BPI”,再右键点击“Add SPI/BPI Flash...”。

图 13

在弹出的界面中选择案例bin目录下的.mcs文件,并点击打开。

图 14

弹出的界面中设置SPI FLASH芯片相关选项。请选择“SPI PROM”和W25Q64BV/CV,“Data Width”为1,并点击OK。

图 15

点击FLASH图标变绿后,再右击图标选择Erase,然后在弹出的界面中点击OK擦除SPI FLASH中原有的程序。擦除成功后,界面将会显示“Erase Succeeded”信息。

图 16

图 17

图 18

右击FLASH图标选择Program,此时将弹出固化进度条窗口,等待片刻后将会显示“Program Succeeded”信息,表示程序固化成功。

图 19

图 20

将开发板断开下载器并重新上电,即可看到开发板的LED灯循环亮灭,时间间隔0.5s,表示程序运行正常。

工程导入与程序编译

如需导入工程以及重新编译程序,请按如下步骤进行操作。如无需导入工程或重新编译程序,请忽略本章节内容。

下面以led_flash案例为例,演示ISE工程导入与程序编译步骤。

工程导入

请双击桌面ISE图标打开软件。

图 21

在弹出的界面中点击“File -> Open Project”。

图 22

在弹出的界面中选择案例project目录下的.xise文件,并点击打开。

图 23

弹出如下界面,工程导入完成。

图 24

工程新建、移植

本小节主要说明工程新建以及对现有工程进行移植的简要步骤。若无需新建工程或对现有工程进行移植,请跳过本小节内容。

点击“File -> New Project”。

图 25

在弹出的界面中输入工程名字,文件保存路径请根据实际情况修改或选择默认,并点击Next。

图 26

在弹出的工程配置界面中设置芯片参数。Family:Spartan-6,Device:XC6SLX16,Package:CSG324,Speed:-2,设置好后请点击Next。

图 27

在弹出的界面中点击Finish。

图 28

右击工程并点击“New Source…”,进行模块文件新建。

图 29

在弹出的界面中,点击“Verilog Module”选项输入新建的模块文件名称,再点击Next。

图 30

弹出如下引脚约束窗口,可直接配置引脚约束。由于本次采用文本程序进行引脚约束,此处请直接点击Next跳过。

图 31

点击Finish即可完成模块文件新建,此时将在右侧出现程序编辑窗口。

图 32

打开案例“led_flashprojectled_flash_6slx16hdlled_flash.v”文件,将所有代码复制到程序编辑界面,并点击按钮保存编辑。保存后,Console窗口尾部没有Errors和Warning即说明程序语法无错误。

图 33

点击“Implementation -> led_flash.v -> User Constraints -> Create Timing Constraints -> Run”进行时序和引脚约束。

图 34

弹出如下界面,点击Yes。

图 35

弹出如下界面,双击“Clock Domains”进行时钟设置。

图 36

弹出时钟设置界面,由于本程序使用的是FPGA内部的STARTUP原语50MHz时钟,故在弹出的界面中设置产生的50MHz方波时钟信号的周期为20ns,占空比为50%,并点击OK。

图 37

弹出如下界面,点击按钮保存编辑,再双击led_flash.ucf文件,将会发现仅有时序约束。

图 38

打开案例“led_flashprojectled_flash_6slx16constraintsled_flash.ucf”,将引脚约束代码复制到程序编辑界面,并点击按钮保存编辑,至此已完成工程新建并移植了一个简单的FPGA程序。

图 39

程序编译

双击“Implement Design”,将综合后输出的逻辑网表翻译成所选器件的底层模块与硬件原语,然后将设计映射到器件结构上,并进行布局布线。Console窗口无Error方可进行下一步操作。

图 40

双击“Generate Programming File”生成.bit文件,.bit文件所在路径为新建工程时创建的目录。

图 41

如需生成.mcs文件用于固化,请按照如下步骤执行。

请参考程序加载章节进入如下ISE iMPACT界面,双击“Create PROM File(PROM File Formatter)”。

图 42

弹出如下参数设置对话框,请按下图依次进行操作后,最后点击OK。

图 43

弹出如下界面后,请点击OK。

图 44

在弹出的“Add Device”界面中选择程序编译生成或案例bin目录下的.bit文件,并点击打开。

图 45

在弹出的界面中依次点击No和OK。

图 46

图 47

回到iMPACT界面,双击“Generate File”。

图 48

此时界面将会显示“Generate Succeeded”信息,即成功生成.mcs文件。

图 49

0 人点赞