FPGA不能下载.docx

上传人:b****0 文档编号:10045326 上传时间:2023-05-23 格式:DOCX 页数:10 大小:24.63KB
下载 相关 举报
FPGA不能下载.docx_第1页
第1页 / 共10页
FPGA不能下载.docx_第2页
第2页 / 共10页
FPGA不能下载.docx_第3页
第3页 / 共10页
FPGA不能下载.docx_第4页
第4页 / 共10页
FPGA不能下载.docx_第5页
第5页 / 共10页
FPGA不能下载.docx_第6页
第6页 / 共10页
FPGA不能下载.docx_第7页
第7页 / 共10页
FPGA不能下载.docx_第8页
第8页 / 共10页
FPGA不能下载.docx_第9页
第9页 / 共10页
FPGA不能下载.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

FPGA不能下载.docx

《FPGA不能下载.docx》由会员分享,可在线阅读,更多相关《FPGA不能下载.docx(10页珍藏版)》请在冰点文库上搜索。

FPGA不能下载.docx

FPGA不能下载

关于Altera器件不能下载的问题总结!

请大家补充!

(转)

笔者前一段时间在调试电路板时碰到了器件不能正确下载的问题,无奈之中只能上论坛查找相关帖子,发现遇到类似问题的人不在少数,此类帖子约有好几十,但笔者感觉对于面临问题的新手来说,相关帖子的参考价值还不够充分:

一是帖子太分散,不易于查找;二是帖子提出问题和现象的多,解答的少;三是有些问题具有相关性,如果放在一起说明可能会更明白一些。

因此,笔者觉得有必要将相关的帖子中的内容简单综合一下,并将我刚刚遇到的问题及解决方法共享出来,以便其他人参考。

建议其他以前有过相关经验的同志也不吝将自己的经验和解决方法(这对后来者特别有参考意义)拿出来与大家共享。

笔者先抛砖引玉了:

器件为cyclone_ep1c20,配置芯片为epcs4,留有AS接口和jatg接口。

遇到的问题为:

AS方式下不能下载,但jatg方式下可以正常下载。

采用BBII电缆,在QuartusII中报错为"Error:

can'trecognizesiliconIDforDevice1"。

经检查电路连接无错误,fpga与epcs4之间的引脚存在波形,dclk,data,ncs,asdi脚上都有始终输出,由于epcs4是刚买的芯片,没有配置信息,因此上电时FPGA始终尝试从epcs4中读取配置信息,conf_done脚始终为高。

接上下载线后下载时,发现nconfig脚不能被拉低。

后换了台机器重试,问题依旧,最后重新找了条下载线,AS方式下下载成功。

经验:

一般情况下参考datasheet中的说明和电路图进行连接,应该不会有什么问题;有问题时可以先查时序,确认无误后可以考虑其他的一些因素:

下载线、电脑(有的电脑并口坏掉或可能驱动能力不够),软件******是否完全等。

Jatg下载过程中发现偶尔会下载失败,重新上电后正常。

以下为我从以前的帖子中整理的一些注意事项:

1、使用下载线之前需要先安装驱动。

2、QT之中先要选择下载线的类型,并选上相应的下载选项。

3、检查电路连接,注意焊接质量,芯片上的电压有没有和外围的电路上的电压连上。

4、片子损坏(据说有的片子只能下载一次就不能下载了)。

5、电源有问题,输出电压不够,或纹波太大。

6、下载线有问题,可能引起很多错误:

不能下载,或者下载之后程序不能运行(假下载?

)等等,建议多在下载线上找找原因。

7、换机器试一试。

8、确认所用的软件版本有无问题,不行试试别的版本。

以前的帖子上还有很多其他的问题和现象,篇幅所限,不一一列举了。

个人感觉关键的是两点:

问题的现象和解决的办法,如果能够把大家以前遇到的情况和解决办法都罗列到一起,相信后来者一定能够有的放矢,节省很多精力。

所以,强烈呼吁有经验者多加补充啊!

altera下载线ByteBlasterMV和ByteBlaster区别总结

用altera的各位都要用下载线,ByteBlasterMV和ByteBlaster大家再熟悉不过了,对于高手来说,两者的区别自是小菜,可对我们这些刚入门的小弟来说就不是很清楚了,此文总结一下他们的区别,给那些和我一样刚入门的新手!

1.ByteBlasterMV可以支持3.3V和5.0V器件下载和编程,ByteBlaster只支持5.0V器件,ByteBlasterMV可以替代ByteBlaster;

2.支持器件不同

ByteBlasterMV:

MAX9000,MAX7000S,MAX7000A,MAX3000A,APEX20K,FLEX10K(包括FLEX10KA,FLEX10KE),FLEX8000,FLEX6000

ByteBlaster:

MAX9000,MAX7000S,MAX7000A,FLEX10K,FLEX8000,FLEX6000

3.支持电平不同

  ByteBlasterMV:

支持3.3V和5.0VTTL和CMOS输出电压

  ByteBlaster:

支持5.0VTTL输出电压

4.下载线内部结构的区别

  1)ByteBlasterMV25针接口中15脚是VCC,而ByteBlaster25针接口中15脚是地;

  2)ByteBlasterMV下载线用的芯片是74HC244,ByteBlaster下载线用的芯片是74LS244

 

调试FPGA时碰到一个奇怪的问题 程序不能下载

最近做的一块板子,昨天还能下载程序,今天用ISE对FPGA进行编程,进程到99%后出现programefailed的问题,显示DONE引脚不能置高的错误.然后用ISE对配置芯片PROM进行编程,大概到40%左右的进程时候2.5V电源出现过流情况,出现2A大的电流,估计片子是烧掉了,但一直没有查出什么原因,有大侠知道指导一下我啊.,ISE能够检测到FPGA和PROM,返回的ID也是正确的.

FPGA的芯片选择错误.看一下板子上FPGA芯片的型号,重新选择一次并重新编译.

我的FPGA为什么不能下载?

芯片:

XILINXXC2S150E

PROM:

XC18V02

线接的没问题,检查过数边了

但就是无法下载。

总说电缆连接有问题

后来把EPROM拿到别人的板子上下载成功,但是在自己的板子却无法写入FPG

急死我了

也不知道该怎么检查了

大侠们指点一下吧!

解决问题了,汇报一下

program上拉电阻的电源没接上,所以不工作

检查发现后跳线处理后就可以加载了

[原创]调试FPGA电路板总结

这两周都在调一块我们组画的FPGA电路板,遇到了不少的问题,在此总结一下。

  焊电路板肯定是从电源焊起,我们的电源部分基本上没有问题,3.3V、2.5V和1.2V输出都很正常。

  但是当我们把FPGA芯片焊上后,在quartus里用JTAG方式下载程序时,问题出错,提示是找不到芯片。

起初我们认为是下载电路设计得有问题,于是我们对照着CycloneIII的芯片手册中找关于JTAG下载的描述。

其中有一段是这样描述的:

FordeviceVCCIOof2.5V,3.0V,or3.3V,refertoFigure10–24.AllI/Oinputsmust

maintainamaximumACvoltageof4.1V.BecauseJTAGpinsdonothavetheinternal

PCIclampingdiodestopreventvoltageovershootwhenusingVCCIOof2.5V,3.0V,or

3.3V,youmustpowerupthedownloadcable’sVCCwitha2.5-VsupplyfromVCCA.

FordeviceVCCIOof1.2V,1.5V,or1.8V,refertoFigure10–25.Youcanpowerupthe

downloadcable’sVCCwiththesupplyfromVCCIO.

  在我们在板子上,VCCIO用的是3.3V,因此VCCA应该用2.5V,再看我们的VCCA,竟然是1.2V,再查了CycloneIII的芯片手册,其中写到:

EachCycloneIIIPLLusesseparateVCCandgroundpinpairsfortheiranalog

circuitry.TheanalogcircuitpowerandgroundpinforeachPLLiscalledVCCA

number>andGNDA.ConnecttheVCCApowerpintoa2.5-Vpowersupplyevenifyou

donotusethePLL.

  就是说VCCA是2.5V,看来我们是连错了,VCCA和VCCD分别是锁相环的数字电源和模拟电源,在画原理图的时候不小心画错了。

这也是CycloneIII和CycloneII的区别,在CycloneII中,VCCA和VCCD_PLL都接1.2V,而在CycloneIII中,VCCA接2.5V,VCCD_PLL接1.2V。

  发现这个错误后,我们只能小心翼翼地飞线了,经过一翻折腾后,终于飞好了,上电,下载,成功!

  后面我们就要测SDRAM了,因为我们要用SOPC系统,程序要在SDRAM里跑。

但是无论我们的程序怎么调,在nios里下载程序时,控制台总是显示verifyfailedbetweenaddress0x1000000and0x1000020,其中这个地址范围在SDRAM的地址空间中。

出现这个问题是因为与SDRAM通信出现了问题,而且大部分是因为SDRAM的时钟与SDRAMCONTROLLER的时钟之间的相移设置得不正确。

但是我设置得相移是根据quartushandbook中关于相移地介绍算出来的,应该不会有问题。

话虽这么说,但是是不是算错了我也不敢确定,所以只能修改此相移(errorandtry),因为一般此相移都设为-72度,所以把相移修改为-72度,但是问题依旧。

既然是errorandtry,于是我又试了一些其它的值,但是依然没有效果。

此时我们认为问题出在电路板上的可能性会比较大,于是围绕着SDRAM检测硬件,SDRAM的连接非常简单,只需要把数据线、地址线和一些控制线直接连到FPGA的引脚上即可,所以在连接上不会有太大的问题。

后来突然想到我们之前把PLL的电源接错了,没准当时已经把PLL烧坏了,而我们的SDRAM的相移是通过PLL来实现的。

于是我们写了一个测试程序,看PLL的输出是否正确。

结果果然不出我们所料,PLL的输出根本不是我们想要的方波(当然用示波器测应该是输出正弦波,因为方波的频率是50M,根据信号与系统的理论,此方波是由50M和及高次谐波组成的,而示波器的带宽也就60M,所以只能显示50M的正弦波),而是一些杂波,这说明我们这片FPGA的PLL已经被我们搞坏了,查看其芯片手册,VCCD_PLL最多只能接1.8V,之前我们用2.5V来虐待它,而且时间还不短,它不坏就不正常了。

  现在我们只能换FPGA芯片了,经我们小心翼翼地再次飞线,最终将芯片焊好后,一步一步地测,电源正常、硬件下载正常、PLL输出正常、nios下载正常。

至此我们的工作算是暂告一段落。

  在以上调试过程中,还遇到了一些其它的问题。

  在nios里下载软件程序时,会出现

assertion"m_state==STATE_DEBUG"failed:

file"nios2oci.cpp",line157

Usingcable"USB-Blaster[USB-0]",device1,instance0x00

Pausingtargetprocessor:

notresponding.

Resettingandtryingagain:

D:

\altera\81\nios2eds\bin\nios2-download:

line594:

 6300Hangup                 nios2-gdb-server--instance0--tcpportnone--wri

te-pid./Debug/nios2-download.pid./Debug/GigaCard.elf.srec

  这个问题在我调试的过程中偶尔会出现,而且是没有规律的,也正是这个问题,总是阻碍着我们前进的脚步,后来我们发现一个程序本来是可以下到onchip-memory中的,后来同样的程序无论如何都下不进去了,于是我们基本可以确定问题出在了硬件。

对于有控制器的系统,晶振肯定是非常重要的,于是我们测晶振的输出是不是正常的,结果是有时正常有时不正常,这说明晶振虚焊了,经过我们小宝同学精心补焊,上面那个问题就再也没有出现过了。

  在nios里下载软件程序时,出现

Usingcable"USB-Blaster[USB-0]",device1,instance0x00

Pausingtargetprocessor:

notresponding.

Resettingandtryingagain:

FAILED

Leavingtargetprocessorpaused

  这个错误在可编程部分的原因大多是引脚分配错误。

网上有人说要在quartus将没有用到的FPGA的引脚设为“inputtri-state”,但是我并没有发现这是必须的,可能只是一些特定地器件需要这样设置。

  经过这次调试,感觉自己增长了不少调试经验,虽然之前调试过51板子,但是画那块板子时,参考电路有很多,所以调试起来比较顺利,没出太多问题。

这次就不同了,问题出了一大堆,真有点不知所措。

总结一下调试有主控芯片的电路,首先要保证电源没有问题,不仅是电源模块地输出没有问题,还有芯片地电源不能接错,因为电源一错,所以一切都要玩儿完,就像我们这次就因为电源的问题烧了几百块钱的芯片。

在电源没有问题的情况下,就要看看主控芯片的晶振有没有问题,很多问题都是晶振引起的,我之前调试51板子的时候也是因为用了一个已经坏掉的晶振导致不能下载程序。

遇到硬件方面的问题时需要一点一点地排查,在确定前面的模块是正确的情况下再进行后面的部分。

  关于FPGA的调试,我想要分为以下几步,首先要保证FPGA芯片的几个电源是正确的,然后先用一个最简单地用硬件描述语言写的小程序测试FPGA芯片是否能够正常下载并工作正常。

然后用nios建立软件工程并把程序放在onchip-memory上下载。

接下来再继续调试外围的电路。

  在nios里把程序放到onchip-memory上进行编译时,很多时候都会遇到错误,提示onchip-memory的空间不足。

这是因为程序是用main作为主函数,这样的话nios会在程序进入main函数前进行一些系统的初始化工作,这做占用不少的空间。

要在onchip-memory上跑程序,最好是采用alt_main作为主函数,例如采用下面的程序:

#include

#include

#include

#include

#include"system.h"

#include"sys/alt_sys_init.h"

#include"sys/alt_irq.h"

#include"priv/alt_file.h"

#include"altera_avalon_pio_regs.h"

intmain(void)__attribute__((weak,alias("alt_main")));

intalt_main(void)

{

 alt_irq_init(ALT_IRQ_BASE);

 alt_sys_init();

 alt_io_redirect(ALT_STDOUT,ALT_STDIN,ALT_STDERR);

 while

(1)

 {

   IOWR(TEST_PIO_BASE,0,1);

   usleep(1000);

   IOWR(TEST_PIO_BASE,0,0);

   usleep(1000);

 }

 

 return0;

}

 

我在用xilinx的fpga时遇到一个非常头痛的问题,我的fpga通过jtag口配置非常不稳定,经常下到一半fail,基本上都是fail在verify那个环节,另外也经常建立不了扫描链,错误提示如下:

ERROR:

IMPACT:

477Thebsdlfordevice‘unknown’isoutofdate.Pleasecheckyourinstallation.(我的安装没有问题,因为有的时候很顺,两天内几十次的下载都没有报过错)

ERROR:

iMPACT:

583-'1'TheIDCODEreadfromthedevicedoesnotmatchtheIDCODEintheBSDLfile

我的目标板上用了一片xc3s250e和一片xcf04s,下载线是parallelcable3,软件是impact8.2.03i

另外网上有很多人遇到过这个问题,xilinx的官方网站上也有就这个问题回答过,上面说是jtag信号的完整性问题,但是我并不认为只是信号完整性问题,因为jtag的速率很慢(我的tck为200kHz),而且信号边沿也不是很快,所以信号完整性的问题不大,同时我也测试了我的信号,其信号质量非常好,所以我就很纳闷了,另外网上遇到这个问题的一些人说用parallelcable4就不会有这个问题,也有人说用parallelcable3配置spartan-3e的fpga能成功是运气好,现在我也有这种感受,我的jtag配置电路和xilinx的demo板的电路一样,即为了匹配jtag上的3.3v和fpga的vccaux(2.5v),我在tdi、tms、tck三个信号上均串接了100ohm的电阻,基本上就是这些信息,请各位大侠各抒己见

xilinx,jtag配置问题

我在用impact8.2i配置xc3s250e时经常报错,错误代码如下:

T_R6Ss;y3gA_G"ERROR:

IMPACT:

447-TheBSDLfordevice'unknown'isoutofdate."

h*d2p_W_d,T

"ERROR:

iMPACT:

583-'1'TheIDCODEreadfromthedevicedoesnotmatchtheIDCODEintheBSDLfile."_O3r*?

8]_u1Y_f`_E_q

以上两种错误经常出现,而且有时我配置fpga或者flash时会在进行到一半时报错,错误代码如下:

!

{3R_{!

G_R!

h(}-{_e__m

_S3@;HG;A;F配置flash时:

impact:

2129

#s_\x-j_j_x

3U-G)}9d_I_P我用impact中的idcodelooping测试时也会报错,所以怀疑我的信号问题,但是我抓出来的信号质量非常好,因为jtag的频率很低,边沿也比较慢,所以我就比较纳闷了,信号完整性很好,那是什么地方出问题了呢,请个位大侠指点

mu_naiyi2007-8-2409:

27

没有人遇到过这种问题吗?

waotang2007-8-2409:

44

jtag链上是不是有别的厂家的jtag器件?

_qf_sq_Z"Y

V

bsdl文件匹配么?

mu_naiyi2007-8-2413:

17

没有别的器件,都是xilinx的,一块xc3s250e一块xcf04s,问题不是不能下载,是不稳定,所以我很郁闷,网上很多人报这个问题,但没有真正的解决国,说用cable4就没有问题了。

关键是cable4好贵哦

waotang2007-8-2413:

19

那就是cable的驱动能力问题了

robin_liu_xap2007-8-2414:

27

possiblereasons:

_A_A'@6D)x7f8Ot

a.JTAGCable

_i_K"J_d}V_@lookslikeyouareworkingonCableIIIandmostCableIIIinusingaremadebyunknownsmallvendors.XilinxopenedCableIIIschematicsafewyearsagosoanyonecanmakeit.However,withdifferentdesignlevelofthesevendorslotsofCableIIIshowedpoorSIperformanceinfieldusing.It'shardtopredictbutifyouhavefoundissueswithIDCODELoopingitisobviouslyanSIissue.

_Oz%z6}4Y

0Zi

_{_}_~5ub.PCBtraceonboard

_Rz_H&x7[_B_YX]3JItisalsopossibletheSIissuehappensonboardPCBtraceorconnectorlinkescablewithboardtrace.WhileyouarefacingSIproblems,dosomeSIsimulation(e.g.IBISsimulation)mayhelp./NOki7q"t__xo

*D#K'h_bV6a:

U*m

XilinxdoesoffertheIBISmodelofFPGApinsincludingJTAGpins,howeverthemodleofcablepinsarenotoffered.IfyouopentheCableIII,youwillfindoutthattheJTAGpinsaredrivenbyabuffer,possible16245or16244(Idon'tremember)soyoucanuse74seriesIBISmodelforthesimulation._E_M

O^_^,g1F

_p_|.h_LV3Y-fXilinxdidnotopenCableIVdesign.ItmeansXilinxoritsdistributormaybetheonlysourceyoucanbuyCableIV.AswellitmeansmostCableIVarequalityguranteed.InCableIVtheJTAGpinsaredrivenbyaCPLDwhichoffersbetterSIperformance.However,asyouhavenoted,itisreallytooexpensive.

mu_naiyi2007-9-611:

38

非常感谢楼上的分析,idcodelooping我测过,只要我的扫描链建立起来后,基本上都会过,但是问题是我经常建立不了扫描链,错误如一楼,robin_liu_xap,你提到的信号完整性问题,能再详细一点吗?

因为就我看来这个速率下,这个边沿,对信号完整性不会造成太大影响,那你提到这个信号完整性问题指的是什么呢?

我这些天又深入的测了一下,扫描链建立不起来基本都是由于idcode不符造成的,就我测到idcode不符的波形来看,有两个原因,1)tck在开始回读idcode的时候少一个开始位(0),读出的idcode为00100011100000110100000100100110,分析波形,刚好是因为缺失的那个tck脉冲造成的;2)tck的脉冲完整,但tdo的波形乱掉,读到的是全0或全1还有另外一个值;这些天和xilinx的技术支持

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2