前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ISE的FPGA程序加载与固化——Omapl138/TMS320C6748+FPGA核心板

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

原创
作者头像
创龙科技Tronlong
发布2022-08-31 10:20:02
6490
发布2022-08-31 10:20:02
举报

前 言

本指导文档适用的开发环境为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_flash\project\led_flash_6slx16\hdl\led_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_flash\project\led_flash_6slx16\constraints\led_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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前 言
  • 程序加载
  • 程序固化
  • 工程导入与程序编译
  • 工程导入
  • 工程新建、移植
  • 程序编译
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档