原创 从StratixIII及CycloneIV开发板谈FPGA配置(1)

2012-7-26 20:36 3807 22 23 分类: FPGA/CPLD

最近为了给几个新同学介绍实验室所使用的两个开发板——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

如图,将拨码开关拨至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

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

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版本的问题。

文章评论1条评论)

登录后参与讨论

用户377235 2015-6-4 18:16

可能不是版本问题,配置芯片地接的不好会有些个问题
相关推荐阅读
jlx_cuc 2014-06-06 18:19
你真的会socket编程吗(1)
最近的项目都围绕着TCP socket在进行着,VC下的socket,Linux下的socket,感觉很简单,但是却发现其实下面的几个同事对于socket这个东西还只是“会”,但并不一定懂。 ...
jlx_cuc 2014-05-16 18:44
操作系统-读书笔记(1)
最近在业余阅读时找到一本《自己动手编写操作系统》觉得不错,视角很新颖,是有关操作系统书籍中为数不多的看了不想睡觉的读本。   由于这本书的出版时间较早,书中引导盘还使用的是软盘,所以在跟随...
jlx_cuc 2014-05-08 17:13
“改变”后的一丝体会
有两个月没写博客了,现在正是开学之际,有必要对前面两个月的工作做做记录。   经历过从北京到苏州的工作地点转换,生活和工作上的体会和收获颇丰。到苏州来以后会觉得,原来的一些看法还是太过狭隘...
jlx_cuc 2014-05-08 17:13
最终我又不要脸的回来了——成为一名“管理者”后的心得
之前的很长一段时间都没再更新过这个博客,一直在EDN潜水,一直在做伸手党。原因有两个,一个是忙,一个是懒。 最终我还是不要脸的回来了。还是想以后好好把这个博客经营下去,也好等咱们的娃长大了给它...
jlx_cuc 2013-07-11 17:13
【博客大赛】写给“即将入学”的硕士研究生们
原本题目定的是《写给即将入学的硕士研究生们》,后来想了想便加上了双引号。先来说说这个双引号。   早在一个多月前全国考研的最后结果便出来了,对于考上研的同学们来说,马上就要开始自己的研究生...
jlx_cuc 2013-04-08 23:22
【博客大赛】老罗和他的锤子之我的见解
事先说明,个人感觉我的观点还算是中立观点,并不是要感叹老罗和锤子有多好,也不想批评它们是否一无是处。只是想在时隔这么就没来EDN,恰巧又遇到锤子的发布这个时间点,发表些个人的感想和见解。 ...
我要评论
1
22
关闭 站长推荐上一条 /2 下一条