您当前的位置:五五电子网电子知识单片机-工控设备EDA/PLD技术从StratixIII及CycloneIV开发板FPGA的配置过程分享 正文
从StratixIII及CycloneIV开发板FPGA的配置过程分享

从StratixIII及CycloneIV开发板FPGA的配置过程分享

点击数:7624 次   录入时间:03-04 11:54:21   整理:http://www.55dianzi.com   EDA/PLD技术

    最近为了给几个新同学介绍实验室所使用的两个开发板——StratixIII开发板和DEII-CycloneIV实验箱,所以整理了下关于两个板子FPGA的配置过程,从中自己也获益很多。两款芯片的配置方式算是代表了如今ALTEra主流的方式吧。

    首先介绍下CycloneIV实验箱。

    实验箱提供了简单的配置流程,首先简单介绍下CycloneIV的配置部分电路。

    09.jpg

    图中圈起部分及为FPGA配置部分电路图解,其中重点是其使用的配置芯片为EPCS64,这也是最为常用的配置方式。

    首先对FPGA可以通过USB Blaster然后以JTAG模式进行下载,如下图:

    01.jpg

    图中有个拨码开关,其中有两个可选端,一个是RUN,一个是PROG,简单的理解就是运行和程序配置。这里我比较认同RUN的含义,老师们给我们讲的时候都把将程序之间“烧”到FPGA也称作配置。但我个人觉得,"运行“这个词很贴切,就好像我们是把一个文件写入到FPGA在其中运行一样。这个过程很简单,每个工程编译完成后都会生成一个SOF文件,将它烧到FPGA里面就行了。

    可是这样的配置每次掉电后都需要重新烧写,所以这里就需要配置芯片EPCS64来起作用了。我们把程序烧写到它里面,每次上电后,就自动由它来对FPGA进行配置,这样就不需要我们一次次的上电烧写了。

    下面介绍下EPCS64的烧写了。手册中给出了它的AS模式配置:

    02.jpg

   



www.55dianzi.com

    如图,将拨码开关拨至PROG端,就可以用PC对EPCS64配置芯片进行烧写了。

    1、先生成一个pof配置文件。在File下选择Convert Programming File,这部分操作后面也会提到。

    2、将拨码开关拨至PROG,在Programmer中将模式选择为AS mode,选择pof文件。

    3、Start,开始烧写。这里可以发现,过程较SOF文件的烧写要漫长得多。

    这里需要注意的是,其实上面图中圈起部分是很容易引起误解的。EPCS64要对FPGA进行配置时,拨码开关仍然需要拨回到RUN端,可以理解成,只是换成了配置芯片把程序烧写到FPGA中"运行”罢了。

    下面介绍另一种对EPCS64的配置方式,我们希望通过JTAG模式来对EPCS64进行配置。我们暂且称它为jIC文件模式。这里我们可以简单把EPCS64当做一个Flash存储器,既然是存储器那肯定可以利用FPGA来对它进行写入操作。这种模式下,就是通过JTAG对FPGA进行写入操作,然后让FPGA来对配置芯片进行写入操作。

    首先,还是通过Convert Programming File来生成一个jic文件。

    03.jpg

    我们可以看到在下面Input files to convert设置的时候,其中比之前的pof文件生成多了一个Flash Loader,也就是说,这里选的FPGA就是用来Loader配置芯片的。

    生成了jic文件后,在Programmer中选择JTAG模式下载就行了,如下图:

    04.jpg

    这里也有整个过程的体现,上图的下面也显示了整个烧写过程的简单示意图。

   



www.55dianzi.com

    Start之后,就完成了我们对EPCS64的烧写了。其中并不需要再去拨动拨码开关了,我们只需一直在RUN下面用JTAG就可以对两者进行烧录了。

    这里出现了个小插曲,上面过程都是在10.0里面完成的,在使用QUARTus9.0的时候一直不能成功,如下图:

    06.jpg

    中途报错了,提示:

    07.jpg

    对于这个问题一直纠结了很久,后来无奈得认为是Quartus版本bug,对比两个版本Programmer里面可以看到,9.0下面Checksum部分都为0,可见它无法检测。只要换到10.0就行了,后来发现,其实别的版本也都可以,唯独9.0不行……甚是不解。

    另外在网上看到很多朋友说不要勾取Verify和Blank-Check的选项可以下载成功,可是我们试过之后虽然可以下载成功,但是却无法配置FPGA,程序烧进去没有任何反应,所以还是觉得Quartus版本的问题。




本文关键字:开发  EDA/PLD技术单片机-工控设备 - EDA/PLD技术

《从StratixIII及CycloneIV开发板FPGA的配置过程分享》相关文章>>>