基于Altera的FPGA通过JTAG加载flash方法资料

合集下载

altera JTAG介绍

altera JTAG介绍

altera FPGA 芯片支持JTAG在线下载方式和AS下载方式。

JTAG下载方式,程序之际烧写到FPGA芯片,JTAG下载完成后直接运行。

AS下载方式,可以执行代码直接烧写到FPGA配置芯片。

在上电初始后,FPGA芯片直接从配置芯片读写可以执行代码配置FPGA芯片,然后运行。

在实际应用下载电路时,经常碰到下面的问题。

JTAG下载后程序不运行。

或JTAG不能下载;AS不能下载或AS能下载但下载后程序不运行。

分析上面的问题,首先研究搞懂JTAG下载到FPGA原理。

JTAG接口是一个业界标准,主要用于芯片测试等功能,使用IEEE Std 1149.1联合边界扫描接口引脚,支持JAM STAPL标准,可以使用Altera下载电缆或主控器来完成。

根据JTAG标准和altera 芯片电路实际情况,如果需要JTAG正确工作需要保证以下3点:1. FPGA JTAG 下载关键TMS,TCL,TDO,TDI 必须定义正确,确保是芯片JTAG管脚;2. JTAG 外围管脚上拉或下拉电阻必须正确配置,参考芯片手册,应如下图配置:3. 如果是BGA芯片,要保证BGA芯片正确可靠焊接。

JTAG 程序下载完成后,可以设计一个LED驱动连接nCONFIG_DONE管脚上,下载成功的一个标志,nConfig_down管脚由低变高,所设计的LED指示灯可以指示下载是否成功。

AS 下载:分为两步分进行。

第一步,QII 下载器把下载代码烧写到配置芯片中。

第二步,芯片上电从配置芯片读代码配置芯片。

AS 下载电路参考ALTER FPGA DATASHEET 手册,常规串行配置标准电路如下图:AS 正确下载关键保证以下4点:1. 芯片AS如上图相关管脚正确定义;2. AS芯片配置电路相关管脚正确上拉;3. 使用正确配置芯片;4. 保证芯片焊接质量;(特别是BGA封装焊接一定要可靠)在调试过程中,遇到下载问题,不要急!安装上面几点检查,肯定可以查出问题。

基于JTAG技术的Flash加载

基于JTAG技术的Flash加载

基于JTAG技术的Flash加载
郑先刚;张学斌
【期刊名称】《现代电子技术》
【年(卷),期】2004(27)11
【摘要】主要介绍了目前世界上主要流行的一种Flash加载技术利用JTAG技术加载Flash.文章分为3个部分.首先描述了JTAG加载Flash的原理.然后对JTAG 加载Flash的优点做了说明.最后对实验性能做了详细分析.
【总页数】3页(P5-7)
【作者】郑先刚;张学斌
【作者单位】同济大学,中德学院,上海,210092;同济大学,中德学院,上海,210092【正文语种】中文
【中图分类】TP312
【相关文献】
1.Flash在线数据加载的JTAG通用方法研究 [J], 张琳;周拥军;武飞
2.基于JTAG的DSP外部FLASH在线编程与引导技术 [J], 刘德生;李杰
3.利用JTAG口的FLASH在板加载技术 [J], 谢志迅
4.基于JTAG的TMS320VC33外部FLASH在系统编程与并行自举引导技术 [J], 黄国强;秦传波;江太辉;王小雄
5.基于JTAG技术的FLASH加载——一种新的在板编程技术 [J], 郑先刚;张学斌因版权原因,仅展示原文概要,查看原文内容请购买。

FPGA在线加载模式简介

FPGA在线加载模式简介

FPGA是基于SRAM编程的,编程信息在系统掉电时会丢失,每次上电时,都需要从器件外部的FLASH或EEPROM中存储的编程数据重现写入内部的SRAM中。

FPGA在线加载需要有CPU的帮助,并且在加载前CPU已经启动并工作。

FPGA的加载模式主要有以下几种:1).PS模式(Passive Serial Configuration Mode),即被动串行加载模式。

PS模式适合于逻辑规模小,对加载速度要求不高的FPGA加载场合。

在此模式下,加载所需的配置时钟信号CCLK由FPGA外部时钟源或外部控制信号提供。

另外,PS加载模式需要外部微控制器的支持。

2).AS模式(Active Serial Configuration Mode),即主动串行加载模式。

在AS 模式下,FPGA主动从外部存储设备中读取逻辑信息来为自己进行配置,此模式的配置时钟信号CCLK由FPGA内部提供。

3).PP模式(Passive Parallel Configuration Mode),即被动并行加载模式。

此模式适合于逻辑规模较大,对加载速度要求较高的FPGA加载场合。

PP模式下,外部设备通过8bit并行数据线对FPGA进行逻辑加载,CCLK信号由外部提供。

4).BS模式(Boundary Scan Configuration Mode),即边界扫描加载模式。

也就是我们通常所说的JTAG加载模式。

所有的FPGA芯片都有三个或四个加载模式配置管脚,通过配置来选取不同的加载模式。

首先来介绍下PS加载模式,各个厂商FPGA产品的PS加载端口定义存在一些差异,下面就对目前主流的三个FPGA厂商Altera, Xilinx,Lattice的PS加载方式进行一一介绍。

Altera公司的FPGA产品PS加载接口如下图所示。

1).CONFIG_DONE:加载完成指示输出信号,I/O接口,高有效,实际使用中通过4.7K电阻上拉到VCC,使其默认状态为高电平,表示芯片已加载完毕,当FPGA正在加载时,会将其驱动为低电平。

如何将FPGA程序固化到外部Flash存储器

如何将FPGA程序固化到外部Flash存储器

如何将FPGA程序固化到外部Flash存储器
 在我们刚开始学习FPGA的时候,我们一般都是将编译后生成的.sof 文件(针对于Altera器件)通过JTAG方式下载到FPGA内部,但是我们会发现,给FPGA重新上电之后,我们之前给它下载的程序已经丢失了,如果我们还想让FPGA跑上次的功能就必须再下载一次程序。

出现这个问题,是因为我们的程序并没有存到FPGA外接的配置芯片中,只是存在FPGA内部的SRAM。

 为了解决这个问题,使我们的FPGA重新上电后不丢失之前下载的程序,我们可以把.sof文件转成.jic文件,然后通过JTAG方式下载到FPGA中去,就可以解决这个问题了。

 下面我们说一下把.sof文件转成.jic文件的步骤:。

fpga jtag手册

fpga jtag手册

fpga jtag手册
FPGA JTAG接口是一种串行接口,用于对FPGA内部逻辑进行调试、配置和测试等功能。

以下是FPGA JTAG接口的基本使用手册:
连接方式:将JTAG电缆的一端连接到FPGA开发板上的JTAG接口,另一端连接到PC上的JTAG调试器。

确保连接稳定,避免在调试过程中出现断线或接触不良的情况。

配置JTAG接口:在开始调试之前,需要配置JTAG接口的参数,例如波特率、数据位、停止位等。

这些参数需要根据目标FPGA设备和JTAG调试器的要求进行设置。

启动调试:打开JTAG调试器软件,选择正确的设备型号和连接方式,然后点击“开始调试”按钮。

此时,调试器将与目标FPGA建立通信连接,并进入调试状态。

加载配置文件:在调试过程中,可能需要将配置文件加载到目标FPGA中。

可以通过JTAG接口将配置文件传输到目标FPGA中,或者在调试器软件中选择相应的配置文件进行加载。

运行和停止调试:在调试过程中,可以通过调试器软件控制目标FPGA的运行和停止。

可以单步执行、步进执行或全速运行目标FPGA的程序。

同时,还可以在调试过程中设置断点、观察寄存器和内存等操作。

结束调试:当调试完成后,可以通过调试器软件结束调试会话,并关闭JTAG接口的连接。

需要注意的是,使用FPGA JTAG接口进行调试需要一定的技术背景和经验。

在调试过程中,需要仔细检查连接线和设备参数设置,避免出现通信错误或配置错误等问题。

同时,也需要遵守相关的安全操作规程,确保不会损坏目标FPGA 或造成其他安全问题。

基于Flash和JTAG接口的FPGA多配置系统

基于Flash和JTAG接口的FPGA多配置系统

基于Flash和JTAG接口的FPGA多配置系统引言针对需要切换多个配置码流的场合,公司提出了一种名为System ACE 的解决计划,它利用CF(Compact Flash)存储卡来替代配置用PROM,用特地的ACE控制芯片完成CF卡的读写,上位机软件生成专用的ACE文件并下载到CF存储卡中,上电后通过ACE控制芯片实现不同配置码流间的切换[1]。

System ACE的解决计划需要购买CF存储卡和专用的ACE控制芯片,增强了系统搭建成本和耗费了更多空间,而且该计划只能实现最多8个配置文件的切换,在面向更多个配置文件时,这种计划也无能为力。

但若要开发System ACE的替代计划,则需要挑选更合适的可反复编程存储器,并且需要选用合适的传输协议接口来下载配置码流。

通过串口或并口来下载配置码流速度太慢,不能满足应用中迅速下载的需要;通过接口来下载配置码流则需要特地的控制芯片,增强了系统设计的成本[23]。

本文选用大容量NOR Flash存储器来存储配置码流,并利用JTAG接口完成配置码流下载的FPGA多配置解决计划。

与System ACE计划相比,该计划不仅能迅速完成多个配置码流的下载,还具有更高的配置速度和更低的实现成本。

1 JTAG接口模块的设计为了将配置码流写入Flash存储器,上位机软件通过JTAG下载线与JTAG接口模块衔接。

JTAG接口模块接收上位机软件发送的JTAG信号,从中提取出JTAG命令及对应的数据,并产生针对Flash存储器的擦除和烧写信号。

由IEEE 1149.1-2001标准[4]以及NOR Flash存储器先擦除后写入的特性,设计上位机软件的详细执行流程1所示。

同时为了完成Flash存储器的擦除和烧写,本文在软件设计中规定了一系列的自定义JTAG命令,1中括号内所示。

本文规定一帧数据大小为4096比特。

第1页共6页。

FPGA的虚拟JTAG技术对并口FLASH快速编程

FPGA的虚拟JTAG技术对并口FLASH快速编程

敬请登录网站在线投稿2018年第2期9F PG A的虚拟J T A G技术对并口F L A S H快速编程丁峰平,陈莉萍(诺基亚上海贝尔股份有限公司,杭州310053)摘要:集成数字电路板上经常有F L A S H器件需要编程,在工厂批量生产中往往要占据较多时间㊂特别是对于挂载在可编程器件(F P G A)的并行接口的F L A S H,使用边界扫描的方法靠移位数据来仿真F L A S H读写时序,从而完成F L A S H 器件编程的方法相当低效费时㊂应用了虚拟J T A G技术后,就不需要进行整个边界引脚的移位处理,可以一次性从J T A G链上加载较大的数据块,再配合并口F L A S H的接口逻辑进行编程,有效地提高了效率㊂关键词:F P G A;边界扫描;虚拟J T A G;并口F L A S H中图分类号:T P311文献标识码:AF a s t P a r a l l e l F L A S H P r o g r a m m i n g B a s e d o n V i r t u a l J T AG i n F P G AD i n g F e n g p i n g,C h e n L i p i n g(N o k i a S h a n g h a i B e l l C o.,L t d.,H a n g z h o u310053,C h i n a)A b s t r a c t:T h e r e i s a l w a y s p a r a l l e l F L A S H t o b e p r o g r a mm e d o n P CB i n f a c t o r y.T h e p r o g r a mm i n g t a k e s m u c h t i m e d u r i n g t h e m a s s p r o d u c t i o n,e s p e c i a l l y f o r F L A S H w h i c h i s m o u n t e d o n t h e p a r a l l e l i n t e r f a c e o f p r o g r a mm a b l e d e v i c e(F P G A).T h e m e t h o d o f u s i n g b o u n d a r y s c a n i s u s e d t o s i m u l a t e F L A S H r e a d a n d w r i t e,w h i c h i m p l e m e n t e d b y b i t s h i f t i n g t h r o u g h a l l t h e b o u n d a r y c e l l s i s c o n s u-m i n g.A f t e r t h e v i r t u a l J T A G t e c h n o l o g y i s a p p l i e d,t h e d i s p l a c e m e n t o f t h e e n t i r e b o u n d a r y p i n i s n o t r e q u i r e d,b e c a u s e t h e v i r t u a l J T A G c o r e c a n r e c e i v e m a s s i v e d a t a f r o m J T A G c h a i n w i t h i n o n e t i m e.A n d p r o g r a mm i n g w i t h t h e i n t e r f a c e l o g i c o f F L A S H,t h e e f f i c i e n c y i s i m p r o v e d.K e y w o r d s:F P G A;B o u n d a r y S c a n;v i r t u a l J T A G;p a r a l l e l F L A S H引言联合测试行动小组(J o i n t T e s t A c t i o n G r o u p,J T A G)边界扫描(B o u n d a r y S c a n)是I E E E1149.1标准,其接口在大量的数字芯片中集成,方便调试和编程㊂集成电路板上一般将各个芯片的J T A G接口串接起来形成菊花链,这样可以通过J T A G工具进行统一的自动化操作㊂F L A S H 存储芯片往往挂载在具有J T A G接口的芯片的总线上,这样在工厂进行大规模生产时,可以通过J T A G链对F L A S H芯片进行编程㊂1J T A G接口简介J T A G接口一般有4个信号,分别为测试数据输入(T D I)㊁测试数据输出(T D O)㊁测试时钟(T C K)㊁测试模式选择(TM S),测试复位信号(T R S T)是可选的㊂TM S㊁T C K连入芯片内部的测试接入端口(T A P),T D I串接到芯片引脚的边界扫描单元(B S)上,这些单元串接后通过T D O连出芯片㊂T A P控制器在T C K触发下通过一系列的TM S信号进行状态机的改变,这些状态包括:C a p t u r e D R(得到当前数据寄存器的内容),S h i f t D R(对数据寄存器进行数据移位,从T D I移入,T D O移出),U p d a t e D R (更新当前数据寄存器的内容),C a p t u r e I R(得到当前数据指令寄存器的内容),S h i f t I R(对指令寄存器进行数据移位,从T D I移入㊁T D O移出),U p d a t e I R(更新当前指令寄存器的内容)㊂I R和D R一起进行边界扫描单元的控制,比如当I R 是全1时,一般对应的功能是测试数据直通输出(通过1比特的移位寄存器B y p a s s R e g i s t e r)㊂还可以控制引脚数据是从内部逻辑得到还是扫描单元得到,扫描单元的数据是从引脚输入还是输出到引脚上,从而实现特定的J T A G 动作(如图1所示)㊂2F L A S H器件的编程集成电路板上的F L A S H器件一般挂载在具有J T A G接口的芯片上,在批量生产中往往需要通过J T A G 烧写一个小的引导程序或数据文件,大小从几十K B到几M B不等㊂传统的边界扫描方式是依次将数据串行移位到芯片10M i c r o c o n t r o l l e r s &E m b e d d e d S ys t e m s 2018年第2期w w w .m e s n e t .c o m .c n图1 T A P 控制器原理框图的扫描单元(B S )里,准备好各个数据线(d a t a)㊁地址线(a d d r e s s )㊁片选线(c s )㊁读写使能线(w r )㊁输出使能(o e)㊁编程使能(AW ),接线如图2所示㊂图2 F L A S H 连接图因为每次移位都需要遍历芯片的所有B S,一次数据的准备需要额外的开销,所以这种方式的编程十分低效,只能用来烧写小块的程序和数据㊂即便这样,这种方式的耗时也不可小觑,以1M B 的数据和有100个引脚的芯片以及有32字节编程块缓存的F L A S H (即有N=32K 字节块,一次性可以编程32字节)为例㊂为方便计算,忽略F L A S H 的命令字,仅仅计算有效字节编程时间㊂一个块编程周期包含片选C S 从高到低,然后写有效信号W E 从高到低,数据有效(可同时),W E从低到高,W E 从高到低,数据有效(可同时),W E 从低到高 最后C S 从低到高㊂J T A G 控制器就需要至少移位K=(2N+3)c yc l e s (对应一个T C K 时钟周期),每次都需要移位T s h i f t =100次㊂假设J T A G 控制器的T C K 时钟为T t c k =20MH z ,那么T c y c l e =50n s ㊂总时间就是:T=KˑT c yc l e ˑT s h i f t =327.695s >5m i n 实际上的引脚会更多,编程命令字的开销也不少,J T A G 工具每批次移位的间隔还有时间,需要更多的编程时间㊂3 虚拟J T A G 简介批量生产的自动化测试需要用到J T A G 接口,而传统的J T A G 编程又比较低效费时,有没有两全其美的方法呢?答案是肯定的,就是可编程器件F P G A 或C P L D (C o m p l e x P r o g r a mm a b l e L o g i c D e v i c e )的虚拟J T A G 技术㊂V i r t u a l J T A G 是A L T E R A (已被I n t e l 收购)公司提出的一个概念,X I L I N X 公司和L A T T I C E 公司也有相对应的提法,具体实现大同小异㊂在可编程器件里面,J T A G T A P 控制器可以作为一个硬核对用户开放,用户可以得到T A P 状态机的各种状态,当然包括T D I ㊁T C K ㊁T D O ,从而可以接管T D I 的数据,自定义返回给T D O 的数据㊂触发用户自定义的J T A G 后级控制器的原理用到了指令寄存器(i n s t r u c t i o n r e gi s t e r )里面的用户数据寄存器(u s e r d a t a r e gi s t e r )㊂当输入特定数据给用户寄存器0和用户寄存器1后,相应的状态指示线发出高电平,J T A G后级控制器就可以知道后面的数据都是输入给它的,就可以对这些数据进行自定义的操作㊁自定义虚拟指令寄存器(V i r t u a l I n s t r u c t i o n R e g i s t e r ,V I R )和虚拟数据寄存器(V i r t u a l D a t a R e g i s t e r ,V D R ),从而完成了虚拟J T A G 的实现,如图3所示㊂4 挂载F P G A 上的F L A S H 的快速编程基于V i r t u a l J T A G 技术,可以自定义后级J T A GT A P 控制器,定义好虚拟数据寄存器(V D R )和虚拟指令寄存器(I R )㊂再移植一个F l a s h M e m o r y Co n t r o l l e r ,由相应的虚拟I R 指令得到擦除㊁读取㊁编程等命令,相应的数据从V D R 得到或保存于V D R ㊂一般的F P G A 有足够的内部存储空间R AM ,所以上位机可以一次性把大容量数据通过虚拟J T A G 传给V D R ,后级的F l a s h C o n t r o l l e r 就可以启动相应的编程序列,从而节省了很多传输和边界移位的开销,极大地提高了F L A S H 的编程效率㊂图4就是一种实现的功能框图㊂敬请登录网站在线投稿 2018年第2期11图3 V i r t u a l J T A G实现原理图图4 虚拟J T A G 快速F L A S H 编程实现框图T A P 控制器里面对V i r t u a l J T A G 的内核进行了封装,导出了三个总线,分别是对下级模块输出的虚拟I R ㊁虚拟D R 以及从下级模块输入的虚拟D R ㊂下级的命令转换模块从输入的V I R 和V D R 得到命令和数据,通过W i s h b o n e 总线转换为F L A S H 控制器的命令和数据,以及得到返回的数据㊂F L A S H 控制器进行对F L A S H 的实际读写操作㊂V I R 定义为4比特位宽,其定义如表1所列㊂还是以1M B 的数据为例,V D R 存储深度为1K B ,表1 V I R V D R 对应关系表V I R 输入V D R 输出V D R (0000)读I D无定义32位宽的F L A S H I D(0001)导入数据1K B y t e 无定义(0010)开始编程无定义无定义(0011)读状态无定义1位宽,1:结束0:忙(0100)读取数据无定义1K BV I R 为4位㊂则一次数据搬运需要移动T s h i f t =1028次,一共需要搬运K=1024次㊂那么总时间为:T=KˑT c yc l e ˑT s h i f t =52.6336s <1m i n 如果V D R 的存储深度变得更大(一般F P G A 里面有足够多的内存),那么时间将更少,最后的瓶颈取决于F L A S H 自身的编程速度㊂结 语在工业4.0时代,对自动化测试的要求是更高效㊁更智能㊂而虚拟J T A G 技术不仅能优化诸如F L A S H 器件的编程效率,也能打通芯片内部逻辑的在线测试,提高了测试的覆盖率和有效性㊂参考文献[1]D r .B e n B e n n e t t s .I E E E 1149.1J T A Ga n d B o u n d a r y Sc a n T u t o r i a l [E B /O L ].[2017-10].h t t ps ://w w w .a s s e t -i n t e r t e c h .c o m /e r e s o u r c e s /i e e e -11491-j t a g -a n d -b o u n d a r y-s c a n -t u t o r i a l .[2]A L T E R A.V i r t u a l J T A G (a l t e r a _v i r t u a l _j t a g)I P C o r e U s e r [E B /O L ].[2017-10].h t t ps ://w w w.a l t e r a .c o m /e n _U S /p d f s /l i te r a t u r e /u g /u g _v i r t u a l jt a g .pd f .丁峰平(硬件工程师),主要研究方向为电信硬件电路㊁F P G A 设计和实现;陈莉萍(项目经理),主要研究方向为电信工程项目组织计划和实现㊂(责任编辑:杨迪娜 收稿日期:2017-10-23) 灵活,最后通过将该方法在一款实际D S P 设计中的应用说明了本方法是可行的㊁有效的㊂参考文献[1]韦祎.基于S ys t e m C 构建多核D S P 软件仿真平台[J ].微电子学与计算机,2016,33(4):8690.[2]彭德生,蒋志翔.基于S ys t e m C 的M I P S 处理器建模与架构[J ].计算机工程与设计,2015,36(4):10151021.[3]陈曦,徐宁仪,周祖成.嵌入式系统虚拟原型平台的S ys t e m C 实现[J ].计算器辅助设计与图形学报,2004,16(8):10701073.[4]K e i n e r t J ,S c h l i c h t e r T ,F a l k J ,e t a l .S y s t e m C o d e s i gn e r a n a u t o m a t i c E S L s y n t h e s i s a p p r o a c h b y d e s i g n s p a c e e x pl o r a -t i o n a n d b e h a v i o r a l s y n t h e s i s f o r s t r e a m i n g a p pl i c a t i o n [C ]//P r o c .o f t h e 45t h A n n u a l D e s i gn A u t o m a t i o n C o n f e r e n c e ,2008:580585.[5]莫寒以,王仁平.32位稀疏树可逆逻辑加法器的V e r i l o g 设计[J ].中国集成电路,2017,30(5):2833.[6]赵地,朱兴华.基于V e r i l o g的模拟前端时序的实现方法[J ].电子科技,2017,30(4):144147.[7]I E E E 16662005.I E E E S t a n d a r d S y s t e m C l a n g u a ge r ef e r -e n c e m a n u a l ,2006.[8]G h e n a s s i a F .T r a n s a c t i o n l e v e l m o d e l i n g w i t h S ys t e m C :T L M c o n c e p t s a n d a p p l i c a t i o n s f o r e m b e d d e d s ys t e m s [M ].B e r l i n :S p r i n ge r ,2005.[9]洪一,方体莲,赵斌等. 魂芯一号 数字信号处理器及其应用[J ].中国科学:信息科学,2015,45(4):574586.(责任编辑:薛士然 收稿日期:2017-11-16)。

FPGA配置(AS、PS、JTAG)

FPGA配置(AS、PS、JTAG)

很多兄弟对于CPLD下JTAG的下载很熟悉了,可转到FPGA来的时候,多多少少有些迷惑,怎么出现配置芯片了,为什么要用不同的下载电缆,不同的下载模式?我就自己知道的一点东西谈一些个人的见解,并发一些资料.希望路过的朋友喝个采,版主给点威望.有问题大家也一起讨论,欢迎拍砖.1.FPGA器件有三类配置下载方式:主动配置方式(AS)和被动配置方式(PS)和最常用的(JTAG)配置方式。

AS由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,EPCS系列.如EPCS1,EPCS4配置器件专供AS模式,目前只支持Cyclone系列。

使用Altera串行配置器件来完成。

Cyclone期间处于主动地位,配置期间处于从属地位。

配置数据通过DA TA0引脚送入FPGA。

配置数据被同步在DCLK输入上,1个时钟周期传送1位数据。

(见附图)PS则由外部计算机或控制器控制配置过程。

通过加强型配置器件(EPC16,EPC8,EPC4)等配置器件来完成,在PS配置期间,配置数据从外部储存部件,通过DATA0引脚送入FPGA。

配置数据在DCLK上升沿锁存,1个时钟周期传送1位数据。

(见附图)JTAG接口是一个业界标准,主要用于芯片测试等功能,使用IEEE Std 1149.1联合边界扫描接口引脚,支持JAM STAPL标准,可以使用Altera下载电缆或主控器来完成。

FPGA在正常工作时,它的配置数据存储在SRAM中,加电时须重新下载。

在实验系统中,通常用计算机或控制器进行调试,因此可以使用PS。

在实用系统中,多数情况下必须由FPGA 主动引导配置操作过程,这时FPGA将主动从外围专用存储芯片中获得配置数据,而此芯片中fpga配置信息是用普通编程器将设计所得的pof格式的文件烧录进去。

专用配置器件:epc型号的存储器常用配置器件:epc2,epc1,epc4,epc8,epc1441(现在好象已经被逐步淘汰了)等对于cyclone cycloneII系列器件,ALTERA还提供了针对AS方式的配置器件,EPCS系列.如EPCS1,EPCS4配置器件也是串行配置的.注意,他们只适用于cyclone系列.除了AS和PS等单BIT配置外,现在的一些器件已经支持PPS,FPS等一些并行配置方式,提升配置了配置速度。

用JTAG模式配置Serial Flash芯片

用JTAG模式配置Serial Flash芯片

用JTAG模式配置Serial Flash芯片多谢VHDL网友给我的提示,我看了Quartus的帮助之后试验了一下,没有问题,但是好像光擦除不行,不知道是不是我设置还是什么地方不对。

总的来说就是两步,一个就是把sof文件转成JIC文件,然后在jtag模式下选择jic文件即可。

下面的是帮助里面的操作过程。

Programming Devices with the Serial Flash Loader--------------------------------------------------------------------------------To program an Altera serial configuration device (EPCS) with SOF data via the Serial Flash Loader and the JTAG interface:e the Assembler to generate an SRAM Object File (.sof) containing theFPGA configuration data.1.使用汇编器产生一个包含FPGA配置数据的SRAM目标文件(.sof)。

2.Choose Convert Programming Files (File menu).2.选择转换编程文件(File->Convert Programming Files)。

3.Under Output programming file, select JTAG Indirect Configuration File(.jic) in the Programming file type list.3.在输出编程文件下面,在编程文件类型列表中选择JTAG间接配置文件(.jic)。

(Output programming file:Programming file type:选择JTAG IndirectConfiguration File (.jic)。

基于ALTERA FPGA的SOF 转换 JIC

基于ALTERA FPGA的SOF 转换 JIC

基于ALTERA FPGA的SOF 转换 JICJTAG方式配置EPCS芯片的方法原文步骤是英文的,翻译了一下,不过我试了,好象有问题,选EPCS1芯片它说容量不够,用JTAG模式配置Serial Flash芯片多谢VHDL网友给我的提示,我看了Quartus的帮助之后试验了一下,没有问题,但是好像光擦除不行,不知道是不是我设置还是什么地方不对。

总的来说就是两步,一个就是把sof文件转成JIC文件,然后在jtag模式下选择jic文件即可。

下面的是帮助里面的操作过程。

Programming Devices with the Serial Flash Loader--------------------------------------------------------------------------------To program an Altera serial configuration device (EPCS) with SOF data via the Serial Flash Loader and the JTAG interface:e the Assembler to generate an SRAM Object File (.sof) containing the FPGA configuration data.1.使用汇编器产生一个包含FPGA配置数据的SRAM目标文件(.sof)。

2.Choose Convert Programming Files (File menu).2.选择转换编程文件(File->Convert Programming Files)。

3.Under Output programming file, select JTAG Indirect Configuration File (.jic) in the Programming file type list.3. 在输出编程文件下面,在编程文件类型列表中选择JTAG间接配置文件(.jic)。

FPGA的配置-加载方式

FPGA的配置-加载方式

FPGA的配置/加载方式FPGA有多种配置/加载方式。

粗略可以分为主动和被动两种。

主动加载是指由FPGA控制配置流程,被动加载是指FPGA仅仅被动接收配置数据。

最常见的被动配置模式就是JTAG下载bit文件。

此模式下,主动发起操作的设备是计算机,数据通路是JTAG,FPGA会被动接收数据,根据需要的操作来进行更新FPGA配置。

而上位机如何获取配置数据就非常灵活了,可能是本地运行EDA工具生成的,也可以是网络/USB存储设备获取的。

主动配置就是FPGA在配置过程中处于主导地位,主动发起对Flash的读写,获取配置信息进行配置。

下面利用间EDA工具自带的烧录Flash的操作为例,分析一下具体的烧录过程。

通常情况下,完整的过程是:1.上位机主动发起配置,FPGA被动接收数据进行重配置,此时的配置模式是上文提到的基于JTAG的被动配置。

此操作的结果是将FPGA配置为一个Flash的读写器。

2.配置完成后,上位机开始发送/接收Flash的数据,数据通道为JTAG。

FPGA通过JTAG 接收到数据之后,根据需求发起对Flash的读写操作,将需要更新的数据写入Flash,完成更新。

此过程是更新Flash的过程,烧录过程中Flash只收到FPGA的控制。

3.Flash更新完毕后,在合适的时候让FPGA进行重新配置(例如重新上下电),FPGA会开始主动配置过程,从Flash中读取配置数据完成加载。

Intel(Altera)的这种模式使用的文件后缀是jic,全称是JTAG Indirect Configuration File。

直接翻译是JTAG间接配置文件。

在Quartus的Programmer界面中,当添加了Jic文件之后,可以看到有一个Factory default SFL image,就是将FPGA配置为Flash控制器的镜像。

根据配置的不同,也可以分为主动更新和被动更新两种。

如果是被动更新,那么通常配置过程会有一个主动发起的设备,常见有MCU。

1、Altera Quartus II 教程(基于Altera DE2板和原理图设计)

1、Altera Quartus II 教程(基于Altera DE2板和原理图设计)
不管是何种 FPGA,同一片 FPGA,如果使用不同的编程配置数据,就可以产生不同的电 路功能,因此其使用非常灵活。
目前,FPGA 的主要发展动向是:随着大规模 FPGA 器件的发展,系统设计进入“片上可 编程系统”(SOPC)的新纪元;芯片朝着高密度、低压、低功耗方向挺进;国际各大公司都 在积极扩充其 IP(知识产权)库,以优化的资源更好的满足用户的需求,扩大市场;特别是 引人注目的所谓 FPGA 动态可重构技术的开拓,将推动数字系统设计观念的巨大转变。
Altera Quartus II 入门教程
(基于Altera DE2 板和原理图设计)
广东工业大学自动化学院电子信息科学与技术系
1
徐迎晖
2009 秋
目录
一、FPGA 简介 ............................................................................................ 1 二、DE2 板及 Altera 公司产品简介........................................................... 4 三、Quartus II 使用基础 .............................................................................. 8
四、设计实例 ..................................................................................... 33
功能要求............................................................ 33 设计思路............................................................ 34 方案设计............................................................ 34 详细设计............................................................ 36 设计的实现 .......................................................... 37 评价与改进 .......................................................... 41

通过JTAG接口对FLASH编程

通过JTAG接口对FLASH编程
在 C8051 器件中 指令寄存器的长度总是 16 位 数据寄存器的长度是变化的 取决于所选择 的寄存器 图 5 给出了指令寄存器访问的时序图 图 6 给出了数据寄存器访问的时序图
TCK TMS TDI TDO
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 IR8 IR9 IR10 IR11 IR12 IR13 IR14 IR15
2
AN005-1.1 DEC00
©2001Cygnal Integrated Products, Inc.
AN005 通过 JTAG 接口对 FLASH 编程
1
Test Logic Reset
0
0
1
Run_Test/Idle
Select DR_Scan
Select IR_Scan
Capture_DR
测试访问口接口 TAP
JTAG 口的硬件接口包出括四个信号 如图 2 所示
C8051Fxxx
TCK TMS TDI TDO
图 2. TAP 接口 1 TCK 输入移位时钟 TMS 和 TDI 的数据在 TCK 的上升沿被采样 数据在时钟的下降沿输出
到 TDO 2 TMS 输入方式选择 TMS 用于控制 TAP 状态机 3 TDI 输入 输入到指令寄存器 IR 或数据寄存器 DR 的数据出现在 TDI 输入端 在 TCK
间接寄存器
4 个 FLASH 寄存器 FLASHCON FLASHADR FLASHDAT 和 FLASHSCL 都是采用相同 的间接方式进行访问的 这种间接访问机制处理 JTAG 时钟域 受 TCK 控制 和 CPU 时钟域 受 SYSCLK 控制 之间的信息传送 不应将这些间接寄存器与标准 8051 的间址寄存器 R0 和 R1 相混 淆

FPGA JTAG网络远程加载

FPGA JTAG网络远程加载

1.Altera版本:
1:设置远端服务端
打开programmer ---- Hardware Setup ---JTAG setting –configure local JTAG server 这里设置连接密码:123,
2:在本机添加远端服务
programmer ---- Hardware Setup ---JTAG setting –add server
server name是远端IP,密码:123
如下可以看到已经连接上10.8.26.1的USB blaster
在Hardware Setting里添加这个,就可以下载啦。

2.Xilinx版本
1:开启远端server
在远端电脑在xilinx安装目录找到cse_server.exe 在D:\Xilinx\14.7\ISE_DS\ISE\bin\nt64这个目录下,双击打开,如图所示,表示远端启动成功。

2:本机impact连接设置。

Impact ----output 设置如下:点击确定即可
初始化JTAG即可找到相关器件,如图所示:
Chipscope设置如下:密码为空,50001是端口号。

确定后扫描JTAG链如下:
温馨提示XILINX服务机要与本机ISE版本相同!不然无法连接!。

基于Altera的FPGA通过JTAG加载flash方法资料

基于Altera的FPGA通过JTAG加载flash方法资料

总的来说就是两步,一个就是把sof文件转成JIC文件,然后在jtag模式下选择jic文件即可。

在已经有sof文件的基础上的具体步骤第一步:使用quartus软件产生一个包含FPGA配置数据的SRAM目标文件(.sof)第二步:quartus菜单,选择“File --> Convert Programming Files”第三步:在输出编程文件里的编程文件类型(Programming file Type)列表中选择JTAG间接配置文件(JTAG Indirect Configuration File (.jic))。

第四步:在配置器件列表里(Configuration device),选择你想对之编程的目标EPCS配置器件。

我们这里选择EPCS4,对应配置文件大小是4M第五步:在文件名选择栏(File name:output_file.jic),指定你想生成的JIC文件的名字(把output_file 换成你想要的名字)第六步:选择高级,在弹出的窗口中再选择不检测ID和不检测CONF_DONE信号第七步:指定将要编程的EPCS的FPGA目标器件,选择Flash Loader项,点击Add Device。

在弹出的窗口中选择对应的器件第八步:指定一个现有的SRAM目标文件(.sof)来转换成JIC文件,在Input files to convert下面选择SOF Data,点击Add File...。

第九步:点击Generate,生成JIC文件第十步:加载JIC文件到flash中1)选择JTAG模式2)添加新生成的JIC文件3)在编程列表中EPCS器件的同一行,开启编程/配置选项4)开始编程。

基于Flash和JTAG接口的FPGA多配置系统

基于Flash和JTAG接口的FPGA多配置系统

基于Flash和JTAG接口的FPGA多配置系统王群泽;胡方明;林汉成;熊鑫;吴圣陶【期刊名称】《单片机与嵌入式系统应用》【年(卷),期】2011(11)4【摘要】To meet the need of special application of switching the FPGA configuration bit stream to achieve different functions, researchers design an FPGA multi-configuration system using mass Flash memory as bit stream carrier. It has a higher speed in the programming of configuration bit stream due to the use of JTAG interface and less time for the FPGA configuration through slave SelectMap mode. Meanwhile, it achieves the in-system configuration bit switch through the serial communication. The practical application shows that this system has easy-handing, well performance,low cost and general-purpose.%针对需要切换FPGA器件的配置以实现不同功能的特殊应用场合,提出了一种使用大容量的Flash存储器作配置码流载体的FPGA多配置系统.该系统采用传输速度快的JTAG接口提高了配置码流的烧写速度,采用并行从模式减少了FPGA器件配置时间,并利用串口通信实现了配置码流的在线切换.应用结果表明,该系统操作方便,可靠性高,实现成本低,通用性好.【总页数】4页(P37-40)【作者】王群泽;胡方明;林汉成;熊鑫;吴圣陶【作者单位】西安电子科技大学电子工程学院,西安710071;西安电子科技大学电子工程学院,西安710071;西安电子科技大学电子工程学院,西安710071;西安电子科技大学电子工程学院,西安710071;西安电子科技大学电子工程学院,西安710071【正文语种】中文【中图分类】TP332【相关文献】1.基于FPGA的嵌入式系统FLASH接口设计与实现 [J], 邓建平;张辉;刘建平2.基于FPGA的SPI接口Flash控制器设计及在存储配置数据中的应用 [J], 赵庆平;姜恩华3.基于JTAG接口实现ARM的FPGA在线配置 [J], 黄志海;周小会;糜正琨4.基于USB-JTAG接口转换的嵌入式系统Flash编程 [J], 龙振兴;余松煜;陈立5.基于FPGA的SPI接口Flash控制器设计及其在存储配置数据中的应用 [J], 赵庆平;李素文;杜伟宁;姜恩华因版权原因,仅展示原文概要,查看原文内容请购买。

基于JTAG的可重构Flash快速编程方法

基于JTAG的可重构Flash快速编程方法

基于JTAG的可重构Flash快速编程方法
陈超;沈海斌
【期刊名称】《计算机工程》
【年(卷),期】2010(036)017
【摘要】提出一种基于JTAG的可重构Flash快速编程方法及其硬件框架.将Flash编程控制流程序预先下载至片上SRAM,并由硬件自行识别和执行,而JTAG 接口仅用于传输数据,有效消除JTAG总线传输瓶颈,提高Flash下载速度.通过向片上SRAM下载不同的F1ash编程控制流程序,实现Flash下载控制流程的重构,可支持不同类型Flash的在线编程.该设计硬件资源开销小、灵活性强.实验结果表明,编程速度约为传统方法的17倍.
【总页数】4页(P280-282,285)
【作者】陈超;沈海斌
【作者单位】浙江大学超大规模集成电路设计研究所,杭州,310027;浙江大学超大规模集成电路设计研究所,杭州,310027
【正文语种】中文
【中图分类】TP311
【相关文献】
1.FPGA的虚拟JTAG技术对并口FLASH快速编程 [J], 丁峰平;陈莉萍
2.基于Flash和JTAG接口的FPGA多配置系统 [J], 王群泽;胡方明;林汉成;熊鑫;吴圣陶
3.基于USB-JTAG接口转换的嵌入式系统Flash编程 [J], 龙振兴;余松煜;陈立
4.基于JTAG的Flash在线编程系统实现 [J], 吴玉香;周建香
5.一种基于EJTAG快速在线烧写Flash的设计 [J], 董相晖;张志敏
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

总的来说就是两步,一个就是把sof文件转成JIC文件,然后在jtag模式下选择jic文件即可。

在已经有sof文件的基础上的具体步骤
第一步:
使用quartus软件产生一个包含FPGA配置数据的SRAM目标文件(.sof)
第二步:
quartus菜单,选择“File --> Convert Programming Files”
第三步:
在输出编程文件里的编程文件类型(Programming file Type)列表中选择JTAG间接配
置文件(JTAG Indirect Configuration File (.jic))。

第四步:
在配置器件列表里(Configuration device),选择你想对之编程的目标EPCS配置器件。

我们这里选择EPCS4,对应配置文件大小是4M
第五步:
在文件名选择栏(File name:output_file.jic),指定你想生成的JIC文件的名字(把output_file 换成你想要的名字)
第六步:
选择高级,在弹出的窗口中再选择不检测ID和不检测CONF_DONE信号
第七步:
指定将要编程的EPCS的FPGA目标器件,选择Flash Loader项,点击Add Device。

在弹出的窗口中选择对应的器件
第八步:
指定一个现有的SRAM目标文件(.sof)来转换成JIC文件,在Input files to convert下面选择SOF Data,点击Add File...。

第九步:
点击Generate,生成JIC文件
第十步:
加载JIC文件到flash中
1)选择JTAG模式
2)添加新生成的JIC文件
3)在编程列表中EPCS器件的同一行,开启编程/配置选项4)开始编程。

相关文档
最新文档