不管Xilinx还是Altera,FPGA的配置模式或者方法多样,尤其是Altera器件,什么AS模式、PS模式、FPP模式、AP模式等等。一般逻辑设计者可能不会关心到硬件的设计,但是FPGA的硬件设计者对于FPGA的配置设计是一个基本要求,当然一般不可能要求每个FPGA硬件设计者对每一种配置模式都很熟悉,但是由于每个人的设计习惯、方法以及使用的器件不同从而在产品研发中设计FPGA的加载模式也不一样。这里努力希望集中谈谈每种配置模式,只能尽力去做,希望有这方面经验大侠多多支持。
1、Jtag模式
毋庸置疑Jtag模式是大家用的最多的模式,也有少数人不留Jtag模式,比如就留AS模式。这里我的建议的是至少在调试阶段Jtag模式一定要留,不然调试很麻烦,可以在产品定型以后再丢弃Jtag口。特别是在板子上有AS的时候反而可以把AS加载的10针座子丢弃,因为可以通过Jtag口给EPCS啥写程序,这样仅留一个Jtag座子即可。
2、AS模式
这个模式很简单,没什么好讲的,记得把模式选择弄好就是了,需要再次提醒的是AS模式中配置芯片可以通过Jtag口将JIC文件直接烧入。
3、AP模式
AP模式是我写这篇日志的原因。AP模式只有CycloneIII器件支持,硬件设计连接可以参考CIII的handbook以及Configuration handbook,这里提供一个文档介绍如何将sof转成可以烧写到Flash中的格式以及如何烧写Flash的方法:part1http://space.ednchina.com/Upload/2009/7/27/f39c4feb-a672-43db-aa09-3b2f07e5de39.rar;part2http://space.ednchina.com/Upload/2009/7/27/46160304-89ea-4ea8-b25c-a8b28c31b58a.rar。
4、PS模式
这里把PS和FPP一起讲,无非一个串行、一个并行。这两种模式传统使用Altera的Enhance配置芯片或者Processor+Memory这种形式。近期看似乎Altera不打算推他们的Enhance配置芯片了,理由有三:一是Enhance配置芯片本来使用的是通用flash芯片核;二是Enhance配置芯片没有出新的更大容量的芯片(而EPCS系列已经出了EPCS128和EPCS256等大容量配置芯片);三是最新的Altera的选项手册上在介绍配置方式的时候仅介绍了AS(串行)和基于MAXII的并行方式(加PFL)。说到PFL就是MAXII+Flash+FPGA的一种配置方法,其模式是PS或者FPP。这里有Altera的一个AN手册可以看看:
Using the Parallel Flash Loader with the Quartus II Software
http://www.altera.com/literature/an/an386.pdf
5、其它模式