XilinxFPGA的PROM配置
Xilinx-FPGA配置的一些细节

Xilinx-FPGA配置的一些细节Xilinx FPGA配置的一些细节2010年07月03日星期六 14:260 参考资料(1) Xilinx: Development System Reference Guide. dev.pdf, v10.1在Xilinx的doc目录下有。
(2) Xilinx: Virtex FPGA Series Configuration and Readback. XAPP138 (v2.8) March 11, 2005在Xilinx网站上有,链接/bvdocs/appnotes/xap p138.pdf(3)Xilinx: Using a Microprocessor to Configure Xilinx FPGAs via Slave Serial or SelectMAP Mode.XAPP502 (v1.5) December 3, 2007在Xilinx网站上有,链接/bvdocs/appnotes/xap p502.pdf注:此外xapp139和xapp151也是和配置相关的。
(4)Xilinx: Virtex-4 Configuration Guide. UG071 (v1.5) January 12, 2007(5) Tell me about the .BIT file format.链接:/FAQ_Pages/0026_Tell_me_about_bit_files.htm1 Xilinx配置过程主要讲一下Startup Sequence。
Startup Sequence由8个状态组成.除了7是固定的之外,其它几个的顺序是用户可设置的,而且Wait for DCM和DCI是可选的。
其中默认顺序如下:这些在ISE生成bit文件时通过属性页设定。
这几个状态的具体含义如下:Release_DONE : DONE信号变高GWE : 使能CLB和IOB,FPGA的RAMs和FFs可以改变状态GTS : 激活用户IO,之前都是高阻。
Xilinx spartan3e FPGA掉电配置及应用程序引导

Xilinx spartan3e FPGA掉电配置及应用程序引导Xilinx公司的spartan3e开发板上面有丰富的外围器件,就存储器来说有一个16M并行flash,一个4Mbits串行flash,还又一个64M的DDR,在嵌入式开发中,一般我们可能会在FPGA中嵌入cpu软核,让C语言程序在里面运行。
这就涉及到FPGA配置文件的引导,如果C语言程序太大,需要在DDR里面运行的话也涉及到应用程序的引导的问题。
我刚接触到xinlinx的spartan3e开发板时,只会将FPGA配置文件(.bit)直接通过JTAG口下载到芯片里。
后来编写的程序大了,如果将程序直接放到内部的RAM里面就装不下了,这时就只有将程序放到DDR里面运行,如果仅仅是调试应用程序不需要重启开发板后程序也可以运行,那么可以直接用EDK里面的XDM工具通过dow命令直接下载到DDR里面,然后就可以执行了。
但是但我们的应用程序和硬件配置调试通过,达到了我们的要求以后我们就想到可不可以将让程序在板子上电时就可以自动运行呢。
因为FPGA是掉电要丢失的,重新上电就必须重新配置。
我们通过查找相关资料,找到了解决烧写问题的解决办法。
首先是配置文件的烧写。
spartan3e提供了3个掉电不丢失的外部存储器,就是上面提到的并行flash,串行flash和Flash PROM。
配置文件都可以烧写到其中任何一个储存器里面。
但是,在我看来,一般的配置问件都是烧写到Flash PROM里面。
烧写方法有很多,可以用Xilinx公司的专门的烧写.mcs文件的工程烧写,也可以用iMPACT烧写。
一般用iMPACT工具烧写,烧写过程如下:打开iMPACT,弹出新建工程时选择Cancle,然后双击窗口左边的PROM File Formater如下图:弹出的窗口中选择Xilinx PROM文件格式选择mcs,PROM File name为:test.mcs,选择好保存路径点击下一步如下图:上步中点击Next,Select a PROM(bits)选择xcf->xcf04s,点击Add,然后点下一步如下图:上图中点击Next后出现窗口中点击filinsh,弹出消息框点OK,会有一个选择bit问件的窗口,选择一个已经编写好的EDK或者ISE工程生成的.bit文件,OK后提示是否加入其他器件,选择NO,然后双击窗口右边的Generate File,生成.mcs文件如下图所示:然后,双击Boundary Scan,在中间空白处,点击鼠标右键,选择Initialize chain,弹出的第一个窗口中选择Bypass,第二个选择刚才生成的.mcs文件,第三个也选择Bypass,然后选中中间那个模块,点击窗口左下角的program如下图:弹出窗口中选中OK就可以了,烧写完后会看到,Program Successful 提示。
prom下载方式

Step by step 学习下载配置Xilinx之FPGA配合Mars-XC2S50-Core FPGA核心板,用图文方式向大家详细讲述如何下载配置Xilinx的FPGA。
FPGA下载模式说明S1为FPGA下载模式选择跳线,断开配置FPGA为JTAG模式,短接则FPGA配置方式为Master Serial Mode下面我们利用Spartan2核心板介绍一下通过JTAG菊花链方式下载FPGA和烧录PROM.硬件跳线选择1. 跳线S1: 此时要求M0 M1 M2 = 100, 断开即可设置FPGA的下载方式为Boundary-scan mode。
2. 将Xilinx下载线和核心板上JTAG mode接口J2相连,连接到计算机并口。
3. 目标板上电。
软件操作一、产生PROM配置文件在烧写PROM之前,需要将ISE生成的*.bit文件转换成prom格式的文件才能下载Xilinx 专用的配置PROM中。
1. 启动iMPACT2. 出现下面画面选择Prepare Configuration Files,点击下一步。
3.出现如下界面,选择PROM File,点击下一步。
4.界面如下,选择PROM类型,和文件格式,填写生成文件名称路径,下一步5.指定使用的PROM类型,并添加,下一步。
6.下一步7点击Add File按钮。
8.选上需要转换的*.bit文件打开。
9.出现如下对话框,提示要不要添加另外的.bit文件。
选择否10界面如下,点击完成11.出现要不要现在生成配置文件,选择是,至此,PROM的文件已经生成。
12.OK.二.菊花链方式下载配置FPGA和PROM 1.打开iMPACT配置2.出现如下界面,选择Configure Device, 下一步。
3.选择Boundary-Scan Mode,下一步。
4.选自动监测扫描链,完成。
5.出现如下界面,检测到两个器件:xc2s50和xcf01s,并提示是否为每个器件添加配置文件。
Xilinx-FPGA器件管脚说明doc

弱上拉
I/O
内部有弱上拉。可以随逻辑需要配置成输入或输出。在配置完成前,这些引脚有内部上拉电阻(25K-100K)至高电平。
在配置模式,这些引脚有弱上拉电阻。对大多数流行的配置模式来而言,在从动串行模式下,模式引脚不需要连接。在有或没有弱上拉或上拉电阻的情况下,三个模式输入引脚可以独自配置。推荐上拉电阻值为4.7K。在特殊定义时,这些引脚只能被作为输入或输出。为应用这些引脚,必须使用库元件MD0、MD1和MD2代替通常的PAD,同时必须使用输入输出缓冲器。
管脚名称
I/O
配置
配置
后I/O
管脚描述
专用管脚
VCC
I
I
有多个VCC管脚,每个都必须连接+5V电源,且每个引脚最好连接一个0.01-0.1UF的电容到地。
GND
I
I
有多个GND管脚,每个都必须接地。
CCLK
I or O
I
配置期间,主动配置方式时为输出或异步外围模式;从配置方式时为输入或同步外围模式。配置完后,CCLK有一个弱上拉电阻,并能够被选为回读时钟。
HDC
O
I/O
在配置期间为高电平,表示配置正在执行。配置完成后,HDC可以用作一个用户可编程I/O口。
/LDC
O
I/O
在配置期间为低电平,表示配置正在执行。配置完成后,LDC可以用作一个用户可编程I/O口。
/INIT
I/O
I/O
在配置前或配置中,/INIT是一个双向信号,需要一个1K-10K的外部上拉电阻。作为一个低电平有效输出,/INIT在电源稳定和清除内部配置内存期间保持低电平。作为一个低电平有效输入,/INIT能在开始配置前保持FPGA在内部WAIT状态。主动模式下,在/INIT变高后,器件将在WAIT状态保持30+300US。在配置期间,输出为低表示配置数据错误。当I/O有效后,/INIT为一个用户可编程I/O引脚。
XILINX烧写PROM步骤

4,。加载mcs文件,也就是点击左侧流模式选择区的create PROM file 生成的MCS文件,
5。最重要的来了,右击PROM芯片图标,选择set programming configiation,根据自己所选用的PROM Specific Properties,确定是主并行模式,还是从并模式,还是主串等等,我这里选择并行模式
最重要的来了右击prom芯片图标选择setprogrammingconfigiation根据自己所选用的promspecificproperties确定是主并行模式还是从并模式还是主串等等我这里选择并行模式
XILINX烧写PROM步骤
1.打开ISE14,.7 --tools--impacts工具
2.插上仿真器,连上目标板,上电,双PROGRAM,一段时间后就SUCCEED
另外,附上自己选择安装仿真器驱动文件夹,并安装驱动
xilinx的prom配置经验

复位和上电复位1 在上电时,这器件要求VCCINT在精确的上升时间内,单调的上升到标准工作电压值。
2 如果电压没满足要求,这器件就不能执行合适的上电复位。
3 上电运行的顺序:先PROM的OE/RESET保持低电平,在配置开始以前要求电源能达到它们各自的POR(上电复位电压)门限,OE/RESET被定时释放后对稳定电源的应用有更多的余地。
4 在系统利用慢上升电源时,另外增加一个电源监控电路能被用做延时配置直到系统电源达到最小的操作电源在OE/RESET一直为低电平。
5 当OE/RESET被释放,INIT就被上拉为高电平,允许FPGA有次序的配置。
6 如果电压低于POR门限时,PROM复位,OE/RESET再为低,直到达到POR 门限。
7 对于PROM电压正常时,只要OE/RESET=0或CE=1,复位就开始,当地址计数器复位时,CEO输出高电平,其它的数据输出脚为高阻态。
8 XCFXXS PROM 只要求OE/RESET被释放以前,VCCINT上升到POR门限就行了。
9 XFCXXP PROM 在OE/RESET被释放以前,不但要求VCCINT上升到POR 门限,而且还要求VCCO达到被推荐的正常工作电压。
配置1 当JTAG配置指令在PROM里被更新时,PROM暂时给CF一个低电平,接着就给CF一个高电平。
结合CF脚在外部加了上拉电阻,此时在CF脚输出一个‘高-低-高’的脉冲个FPGA的PROGRAM 脚。
此次FPGA就依次的开始配置。
2 在CF脚外部必须加个上拉电阻,防止CF脚产生一个浮动到低电平的值而引起复位。
3 当XCFXXP的PROM存有多重设计文件时,CF脚必须连接到FPGA的PROGRAM_B脚去保证重新安放那些被选中的设计文件(配置有效)。
4 对于XCFXXS的PROM,CF脚只是个输出,如果没有由于的功能的话,可以不用连接FPGA。
在SPARTAN FPGA系列中,INIT_B脚使用内部下拉有典型的补偿,外部上拉电阻在INIT_B脚时,能产生一个不明确的信号给PROM的OE/RESET脚,鉴别一个错误的配置,CRC错误在INIT_B脚。
FPGA常用的配置模式

FPGA配置电路模式有主模式、从模式和JTAG模式。
【1】主模式在主模式下,FPGA上电后,自动将配置数据从相应的外存储器读入到SRAM中,实现内部结构映射。
主模式根据比特流的位宽又可以分为:串行模式( 单比特流) 和并行模式( 字节宽度比特流) 两大类。
如:主串行模式、主SPI Flash 串行模式、内部主SPI Flash串行模式、主BPI 并行模式以及主并行模式,如下图:【2】从模式在从模式下,FPGA 作为从属器件,由相应的控制电路或微处理器提供配置所需的时序,实现配置数据的下载。
从模式也根据比特流的位宽不同分为串、并模式两类,具体包括:从串行模式、JTAG模式和从并行模式三大类。
(此处的JTAG模式与下面要说的JTAG模式有所不同)如下图:【3】JTAG模式在JTAG模式中,PC和FPGA通信的时钟为JTAG接口的TCLK,数据直接从TDI进入FPGA,完成相应功能的配置。
主串模式是最常用的配置模式在FPGA主串配置模式下,会发现两种不同的连接方式:一种是FPGA在前,PROM在后。
即JTAG接口的DTI连接至FPGA的DTI,FPGA的DTO连接至PROM的DTI,PROM的DTO连接至JTAG接口的DTO。
另一种是PROM在前,FPGA在后。
即JTAG接口的DTI连接至PROM的DTI,PROM的DTO 连接至FPGA的DTI,FPGA的DTO连接至JTAG接口的DTO。
这两种连接方式都是正确的,都可以。
但是,由于PC机配置JTAG链的时候需要和第一级JTAG 设备同步,如果FPGA放在第一级,那么其配置速度较高,导致对PROM配置可能会不稳定,所以推荐的配置是将PROM作为JTAG链的第一级JTAG设备,即上述第二种方式。
在Xilinx 的PROM芯片XCF01/2/4S手册中给出的主串模式下(Configuring in Master Serial Mode)的连接图也是第二种方式,如下图:那FPGA在前的情况如下图:主串配置电路的关键点主串配置最关键的3点就是JTAG链的完整性、电源电压的设置以及CCLK信号的考虑。
【配置知识】Virtex-5 FPGA 的配置

【配置知识】Virtex-5 FPGA的配置配置方案Xilinx 为终端用户提供了配置Virtex-5 FPGA 所需的灵活性。
Virtex-5 FPGA 支持以下方案:串行最简单的配置方案,串行吞吐量。
主串行Xilinx FPGA 驱动Xilinx PROM CLK,因为Xilinx PROM 为Xilinx FPGA 提供了串行(x1)配置数据。
从串行Xilinx PROM 的内部振荡器驱动Xilinx FPGA CCLK,因为Xilinx PROM 为Xilinx FPGA 提供了串行(x1)配置数据。
从串行外部时钟驱动Xilinx PROM CLK,Xilinx PROM 驱动Xilinx FPGA CCLK,因为Xilinx PROM 为Xil inx FPGA 提供了串行(x1)配置数据。
返回页首从串行外部时钟驱动Xilinx FPGA CLK 和Xilinx PROM CLK,因为Xilinx PROM 为Xilinx FPGA 提供了串行(x1)配置数据。
主SPIVirtex-5 FPGA 驱动SPI PROM 时钟,因为SPI PROM 为Virtex-5 FPGA 提供了串行(x1)配置数据。
并行并行配置,可以实现最快速的吞吐量主并(Master-SelectMap)Xilinx FPGA 驱动Xilinx PROM CLK,因为Xilinx PROM 为Xilinx FPGA 提供了字节宽的(x8)配置数据。
返回页首从并(slave-SelectMAP)Xilinx PROM 的内部振荡器驱动Xilinx FPGA CCLK,因为Xilinx PROM 为Xilinx FPGA 提供了字节宽的(x8)配置数据。
从并(slave-SelectMAP)外部时钟驱动Xilinx PROM CLK,Xilinx PROM 驱动Xilinx FPGA CCLK,因为Xilinx PROM 为Xil inx FPGA 提供了字节宽的(x8)配置数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Xilinx FPGA的PROM配置
作者:枪手2007年8月16号
1.建立工程,假如VHDL,UCF文件,综合,执行。
2.生成PROM文件。
在图中选择Prepare a PROM file,然后点next.
3,
在上图中做图所显示的选择,点NEXT
4
在上图中选择所用开发板上的PROM,SP3E用XCF04S,点ADD,添加到列表中。
然后点next,出现file generation summary!
5.
确定是不是和所选择的一致,点finish。
6.
出现上面对话框的时候,点OK。
7.
在上面图中,选择bit文件。
8.
在出现上面对话框的时候,点NO。
9.然后,出现下面对话框,点OK。
10.在左边的impact modes 中,点Generate file
11.生成PROM FILE 文件成功。
12.在左边flows下,选择boundary scan。
13.点boundary scan后,出现下面界面。
14.点鼠标右键,选择initialize chain
15.出现下面下面界面。
对于XC3S500E,点cancel。
16.对XCF04S,选择刚才生成的led_flow.mcs文件.
17,对第三个,点cancel.
18.上面选择后,出现下面界面,在XCF04S,点右键,出现一个菜单,选择Program.
19,点PROGRAM后,出现如下界面,按图中选择各项.
20,点OK 后,开始配置,
21.成功界面如下,然后,拨掉JTAG,关掉电源,过一会再上电.。