Spartan-6 FPGA 下载程序篇

 

一般FPGA都是基于SRAM技术的,SRAM的数据是掉电丢失的。所以我们如果要每次上电都让 FPGA 运行一个程序,那么就需要一块Flash,将程序放到flash中,上电的时候,再将程序bit流加载到FPGA中。但是每次都这样做会消耗大量的时间,因此在调试的时候,我们一般都是使用JTAG下载数据。接下来我们来学习一下这两种下载方式。

先说两个小知识点:1.在下载的时候要先看看你的下载器是否工作正常,下载器在开发板通电和没通电的情况下,下载器指示灯的状态是不一样的!你可以通过这点来判断下载器是否工作正常。例如我使用的是黑金的下面这款下载器 
image_1d164c2k81b3i138onu14dv1t39m.png-226.7kB 
这款下载器在开发板未通电的时候是显示绿灯的,在开发板通电的时候是显示红灯的。 
2.使用JTAG下载程序的时候下载的是bit文件,下载到SPI Flash的时候下载的是MCS文件。这两个文件的具体差别自行百度。


一.JTAG下载程序(有两种方式)

1.使用ChipScope下载

image_1d1646512o3g13u714jo1pot1ape9.png-28.7kB 
双击ChipScope 
image_1d164em27s31fa88urmnmosh13.png-75.9kB
点击左上角的按键,打开JTAG 
image_1d164g8es1lc3sb1gjoo499it1g.png-90.7kB
他会检测你FPGA的型号。选择OK。 
如果没有连接上,你就要检测一下你下载器或者FPGA是否正常了。(我之前有遇到过一直打不开的问题,是因为我开发板供电有问题) 
打开之后,右击DEV那个选项,然后选择configure 
image_1d164jl3q12eunk6ps17uterg1t.png-90.8kB
点击OK进行下载 
image_1d164mcj8ggu1n6vejg1u73mgb2a.png-37.2kB 
下载成功后,提示栏有提示信息 
image_1d164nhut8os1tdj1l7v1icnqf82n.png-101.2kB

2.使用Configure Target Device下载程序

image_1d164p875ui49dh1edgejc1lbt34.png-13.8kB 
选择Configure Target Device选项。 
image_1d165jcli18nj13ti1ndtopc1of976.png-15.7kB 
点击OK 
image_1d164rmv4kg62m1uru1jc6mvr3h.png-60.6kB
双击Boandary scan,然后在空白处双击或者使用快捷键Ctrl+I.打开Initialize Chain 
image_1d164sq4khbfjid34u1dbekpa3u.png-30.7kB 
弹出的这个框选择NO. 
image_1d1658bfntqcc571ckjg7qu4d5v.png-17.2kB 
这个界面,双击FPGA芯片。 
image_1d164tpgj1hs4188142k1vbprgv4b.png-18.1kB 
这个选点击OK 
image_1d16554ok1moo4tg1kf6o5c1it64o.png-53.5kB
选择你要下载的Bit文件。 
image_1d16561bs11bo1ct0mf61dhu18ec55.png-29kB 
这个选择No. 
image_1d16572g414641vtqb1d13thc1l5i.png-27.6kB 
image_1d1659h5r1kfcdfq3cribkism6c.png-17.1kB 
选择OK,也就下载完成了。 
下载完成后有Program Succeeded提示。 
image_1d165b1mn15ou152t17fm14nj1gev6p.png-16.5kB

二.下载MCS固化文件到FPGA中

下载MCS文件,也是通过Configure Target Device下载。是要通过他先将Bit文件转换成MCS文件格式下载到SPI Flash中。

先新建一个Project 
image_1d165kn5l1gkhts11l7l1815rna7j.png-37.1kB
image_1d165m6771h581kd0jq71ukrr6m8d.png-12kB 
这个选择Yes。 
image_1d165mqne13v21k1c1q7a141vt968q.png-15.8kB 
选择Prepare a PROM File。 
image_1d165nupf1knj14gmifbb9bfmg97.png-58.7kB
选择SPI Flash中的Configure single FPGA. 
点击箭头。 
image_1d165pn6fm5d1ln99k316b91sh39k.png-9.8kB 
选择你Flash的容量。然后在点击箭头。进入下一步的设置。 
image_1d165t1041ha71d7m10j71ajoueua1.png-68.7kB
修改一下Output File Name.点击OK。image_1d166011r1u65c6718vi1sekl50be.png-41.4kB 
接着ISE会让你选择要转成MCS文件格式的bit源文件。双击bit文件之后,他会弹出下面这个图的框。 
image_1d1662esl1prugp82n01vlpkn9br.png-8.8kB 
选择No. 
设置完成后,点击左下的Generate File生成MCS文件。 
image_1d16643fd1gvq49k1ki21bs5nuc8.png-86.1kB

接着他会提示生成成功。 
image_1d1664ttj1dgr1ur01eu7nl9n5kcl.png-24.6kB
和刚刚一下,来到下图的界面。 
image_1d1668e2i1dc8146giqh1al511cud2.png-72.2kB
这次双击SPI选项。 
image_1d1669bjl1hqoh1fn8a1i8dkcrdf.png-25.2kB 
选择你刚刚生成的MCS文件。双击mcs文件。 
image_1d166aprd19a11ve2129v1fqgeh2ds.png-9.9kB 
然后选择你开发板上的SPI Flash型号。选好后点击OK。 
image_1d166cfv21rh415ru1jd7tut9sae9.png-25.9kB 
接着在flash处右击,点击Program下载程序。 
image_1d166dcou1ob3bst1pv515fcud2em.png-25.2kB 
点击OK。下载MCS程序会比较久一些。这个就要看电脑配置了。下载完成后也会提示Succeeded. 
下载MCS文件,那么你下载到Spartan6 FPGA开发板上的程序就不会掉电丢失了。

猜你喜欢

转载自blog.csdn.net/qq_38376586/article/details/86483782