标签:
作者:MiS603开发团队
日期:20150911
公司:南京米联电子科技有限公司
论坛:www.osrc.cn
EAT博客:http://blog.chinaaet.com/whilebreak
博客园:http://www.cnblogs.com/milinker/
FPGA的程序下载分为2种形式:一种是通过JTAG接口将bit文件烧写到FPGA里面,这种烧写方式适用于程序调试,掉电后文件就会丢失;另一种烧写方式是将bit文件转换成mcs文件,通过JTAG接口将程序烧写到FPGA外部存储芯片,外部存储芯片一般都是掉电不丢失的,最终产品的FPGA代码都是烧写在外部存储器中的。接下来分别介绍这2种烧写方式。
在烧写bit文件之前首先要添加引脚分配文件,在ISE中这个叫做ucf文件,它主要实现引脚分配、引脚约束、时钟约束等功能。
Step1:选择FileàNew Source或者快捷键Ctrl+N,新建一个Text File文件,如下图所示,点击OK。
Step2:在新建的文件中输入以下内容,然后点击保存,路径为led文件夹下,命名为sp6_led.ucf。
1. //global system clock
2. NET "sys_clk" LOC = P56 | IOSTANDARD = LVTTL;
3. //reset signal
4. NET "sys_rst_n" LOC = P142 | IOSTANDARD = LVTTL;
5. //led signal
6. NET "led" LOC = P141 | IOSTANDARD = LVTTL;
Step3:右击xc6slx-2tqg144,选择Add Source…,找到刚才写的ucf文件,点击打开,如下图所示。
Step4:之后出现下面界面,点击OK,到此ucf文件添加完毕。
Step5:双击Generate Programming File,产生bit文件,如下图所示。
Step6:编译完成以后如下图所示,没有错误,如果有错误那就要更改重新编译。
Step7:双击Configure Target Device,如下图所示。
Step8:之后出现下面Warning,点击OK,添加下载chain。
Step9:之后出现下面界面,双击Boundary Scan,扫描JTAG。这是如果连接不上JTAG要检查一下硬件是否正常。
Step10:点击FileàInitialize Chain,之后又出现一个对话框,点击Yes。
Step11:找到编译产生的led_top.bit文件,点击Open,如下图所示。
Step12:之后出现,下面这个对话框,大概意思是说检测到Flash存储器,是否添加设备?选择No,下面部分会专门介绍。
Step13:之后出现下面界面,Boundary-Scan中显示FPGA的型号,点击OK。
Step14:右击芯片选择Program,烧写成功后会出现Program Succeeded,如下面第2幅图所示,Console控制台内显示Programmed successfully。到此bit文件下载成功,开发板上的LED有没有在欢快的闪烁,接下来的实验会进行其他花样。
在上一节我们完成了bit文件烧写,但是给开发板重新上电就悲哀了,程序没有了,是有点郁闷,通过本节学习,重新上电也不会丢程序了。
Step1:在ISE iMPACT中选择FileàNew Project或者使用快捷键Ctrl+N,如下图所示。
Step2:之后出现下面界面,点击Yes。如果下次使用时不想它再此出现,可以将复选框选上。
Step3:之后出现下面界面,选择Prepare a PROM File,点击OK。
Step4:这一步很关键,这是选择我们开发板上使用的Flash型号及其容量大小、MCS文件名和放到哪,这一步一定要和开发板上的型号匹配。按照下图箭头指示方向选择,最后点击OK。
Step5:之后出现下面界面,点击OK。
Step6:之后出现下面界面,选择之前生成的led_top.bit文件,点击打开。
Step7:之后出现Add Device对话框,点击No,接着出现下面的界面点击OK。
Step8:双击ISE iMPACT界面左下角下面的iMPACT Process里面的Generate File…,生成mcs文件,如下图所示。
Step9:生成mcs文件后界面如下所示,显示Generate Succeeded,同时Console控制台也有显示。
Step10:双击ISE iMPACT界面左上角iMPACT Flow下面的Boundary Scan。
Step11:右击下图大红框内的Right click to Add…,选择Initialize Chain。之后出现Auto Assign Configuration Files Query Dialog,选择NO。
Step12:之后出现下面界面,点击OK。
Step13:双击SPI/BPI,如下图所示,添加生成的mcs文件,如下面第2幅图所示,点击打开。
Step14:选择SPI Flash型号,要和开发板对应哦,然后点击OK。
Step15:之后出现下面界面,已经添加上Flash了。
Step16:右击Flash,选择Program,如下图所示。
Step17:选择OK,开始烧写Flash。
Step18:正在烧写Flash,速度比较慢,大家耐心等一等,烧写成功后如下面第2幅图所示,显示Program Succeeded,同时Console控制台也显示烧写成功。这次试一下是不是掉电程序不丢失了。
标签:
原文地址:http://www.cnblogs.com/milinker/p/4804091.html