XJFlash–通过JTAG对以FPGA为基础的闪存进行高速编程

XJFlash 是一款通过JTAG在线烧写闪存器件的高级、革新方法。使用XJFlash,您可以达到与传统边界扫描技术可能性相比将近50倍更快的闪存编写速度。

XJFlash 产品列表 获取更多信息 评测

定制的解决方案 – 自动生成

XJFlash允许您自动生成面向于您板卡上连接到FPGA的闪存器件的定制编程方案。

FPGA的功能被利用来提供尽可能最快的编写速度。对于每个FPGA/闪存组合,XJFlash自动生成一个定制的设计,以助您达到最佳的编程时间,而不需要您做任何FPGA开发。*

无论您是用连接到Altera、Xilinx、Microsemi或者Lattice公司FPGA的SPI、QSPI或者平行式NOR闪存—XJFlash都会给您提供一个优化您板卡的编程方案。

*在设置XJFlash的过程中,需要一个相关FPGA厂商工具的授权证书。对于大部分器件,免费的版本就可以。

测试集成

XJFlash和XJTAG开发系统其它部分完全兼容。所有XJFlash编程都可以作为XJRunner边界扫描测试项目的一部分来执行。

可配置的闪存编程

无论您是否需要编写单一的闪存器件、或者串联的多个器件、或者扩展地址空间、或者并联、或者构造一个更大的数据总线,您都可以使用XJFlash来加速您的编程操作。

定制开发

XJFlash还可以应对独立的编程需求来使用,包括直接访问I2C和SPI总线或者定制的协议例如Microchips ICSP。

要求的连接器不需要来自于目标板卡上的FPGA。在板卡连接器上协议信号可用的条件下,可使用作为XJTAG解决方案一部分的XJFlash来达到高速编程。

XJFlash计时实例

最低理论边界扫描时间:35分钟.
XJFlash运行总时间:10.5秒到32.6秒.

XJFlash programming stages

每当一个闪存被编写的时候,XJFlash都会自动单步调试四个阶段:

初始化 – 用目标板卡所需的XJFlash image来配置连接到FPGA的闪存。
实例时间:2.1秒。

擦除 – 闪存可以用两种算法之一来擦除。基本擦除只会简单地把界定范围内所有的模块擦除(这个可能是整个闪存,或者只是需要用来编写image的空间)。更智能的擦除基于闪存读取比擦除更快的事实;正因如此,它读取每一个地址并且只当有数据被发现的时候才开始擦除。如果知道闪存在编写之前总是空白的,这一步可以被跳过。
实例时间 – 智能擦除被启动时:对于一个已经擦除的器件需0.9秒,到对于一个完全编好的器件需23秒(受限于器件的擦除时间)。

写入 – 闪存可以用两种算法之一来擦除。基本擦除只会简单地把界定范围内所有的模块擦除(这个可能是整个闪存,或者只是需要用来编写image的空间)。如果只需要验证,这步可以跳过。
实例时间: 6.2秒(受限于器件的编写时间)。

验证 – 验证对着指定的文件检查闪存内的每一个字节,以确保没有数据字节错误。如果只需要编写或者擦除,这步可以跳过。
实例时间:对于10MHz的TCK的1.8秒,减少至对于20MHz的TCK的1.3秒。

这些实例时间是为一个Spartan 6 XC6SLX9把2MB的伪随机数据文件编写进FPGA的SPI配置PROM所提供的。

我可以使用XJFlash吗?

为了使用XJFlash,闪存器件上所有数据、地址和控制信号都必须连接到目标板卡上的FPGA。这可以是配置PROM,或者是连接到通用I/O针脚的闪存器件。这些连接可以是直接、间接、专用的或共享的。

直接连接—可以

XJFlash Configuration - Direct Connections to FPGA

XJFlash Configuration - Direct Connections to FPGA SoC

闪存直接连接到FPGA。

间接连接—可以

XJFlash Configuration - Indirect Connections

  1. 闪存通过缓存连接到FPGA。
  2. 部分地址信号和数据信号共享并且通过latch连接到一起。
  3. 存在一个其它可配置的器件,例如闪存和FPGA之间的CPLD。

共享连接—可以

XJFlash Configuration - Shared Connections

闪存和FPGA通过以上描述的模式之一连接,但是这些连接和其它的器件共享(例如一个处理器)。

无连接—可以(需设计改变)

XJFlash Configuration - No Connections

如果您的设计包含FPGA而闪存并没有通过以上任何描述的配置之一来连接,那么通过FPGA上闲置的针脚或许可以建立闪存的连接。这些连接不会在板卡的任务模式下使用,但是它们允许您使用XJFlash来执行高速闪存编程。如果您的FPGA是一个与闪存在同一个地址、数据总线的从器件,额外的信号或许不是必要的。

无FPGA—直接不可以

XJFlash Configuration - No FPGA

遗憾的是,如果没有FPGA,XJFlash是不可以使用的,然而通过处理器上的调试接口或许可以执行高速闪存编程-想要知道能否在您的板卡上使用这种方法,请联系我们

或者,如果可以把闪存的连接引到板卡上的连接器,那么通过这个连接器就可以执行XJFlash高速编程。

兼容性

  • Altera – Arria GX, Arria II GX, Arria II GZ, Arria V, Arria V GZ, Cyclone, Cyclone II, Cyclone III, Cyclone III LS, Cyclone IV E, Cyclone IV GX, Cyclone V, Stratix, Stratix GX, Stratix II, Stratix II GX, Stratix III, Stratix IV, Stratix V
  • Lattice – MachXO2, LatticeECP3, LatticeXP2
  • Microsemi – IGLOO2, ProASIC3, ProASIC3E, ProASIC3L, SmartFusion2
  • Xilinx – Artix-7, Kintex-7, Kintex UltraScale, Spartan-3, Spartan-3A, Spartan-3E, Spartan-6, Virtex-II, Virtex-II Pro, Virtex-4, Virtex-5, Virtex-6, Virtex-7, Virtex UltraScale, Zynq-7000

该列表在持续更新,联系我们获取最新情况。

Recommended system requirements

  • Intel® Core i3, i5, i7 processor or equivalent (any generation)
  • Microsoft® Windows® 7, Windows 8.1 or Windows 10 (32 or 64 bit)
  • 4 GB of RAM

常见问题

一般

XJFlash是如何比传统边界扫描编程快50倍以上的?

传统边界扫描下,每个信号变化都需要把一个完整的测试向量扫描进JTAG链。XJFlash用一个可以在工作时钟频率下改变这些信号的程序算法来配置FPGA。尽管JTAG仍然被用来传送要编入到FPGA的数据,但是板卡上信号的控制都是由FPGA操作的。

我已经有一个高速闪存编程器了,我为什么要考虑使用XJFlash?

XJFlash利用已经设计到板卡中的FPGA资源。这意味着可以做到用一个单一的JTAG工具来边界扫描测试板卡和用一步就可以给它编程,从而比在流水线上调换工具更快。此外,使用在线烧录免除了闪存器件预编程的需要,从而总能允许使用最新的闪存镜像,而且允许在开发、生产和维修过程中使用相同的工具。

技术问题

支持哪些闪存器件?

XJFlash为各种串、并联或非门(NOR)闪存器件提供内置支持。对于与非门(NAND)器件的支持也有提供。

要是我想给一个没被列出的器件类型编程怎么办?

可以使用XJFlash编程的器件范围一直在增长,所以如果您想要为一个目前没有列出的器件编程,那么请让我们知道。

支持哪些FPGA?

XJFlash可以用在来自Altera,莱迪思,美高森美(前爱特),和赛灵思公司的各种FPGA上。

我可以在已经设计完的板卡上使用XJFlash吗?

可以。XJFlash通过FPGA的JTAG端口把所有数据从电脑传送到板卡,通常是为了开发使用而带到板卡端板上的。因此,只要这个已经完成并且要编程的闪存可以从FPGA处访问,XJFlash就可以被使用。

我的闪存没有和板卡上的FPGA直接连接,我还能使用XJFlash吗?

可以。XJFlash可以很容易地被自定义来支持FPGA没有直接连接要编程的闪存的情况。例如,信号可以通过缓存,锁存器,CPLD或其他形式的逻辑电路,而且XJFlash仍然可以被使用。除此之外,即使一些信号需要序列化才能从FPGA到CPLD中,XJFlash也能被使用。

并不是所有我闪存上的信号都可以被FPGA访问,那是不是使用XJflash就肯定没有可能了呢?

这完全取决于被编程闪存的类型以及可访问信号的种类。XJFlash是为了允许FPGA和其它器件一同被包含在JTAG链中而设计的,这意味着在FPGA上运行XJFlash的同时,一些信号可以用边界扫描从其它器件控制。联系我们以了解XJFlash能否在您的情况下工作。

这只限于编写FPGA支配器件吗?

不是的。由于XJFlash可以为每个板卡设计创建FPGA定制镜像的能力,它不仅限于给配置器件编程。

我不是一个FPGA开发者,对于我来说这是不是太复杂了?

不是的。虽然XJflash要求对于每一个板卡设计都要有一个定制的FPGA镜像,但是这是一个由XJFlash控制的自动过程。这需要安装相关FPGA供应商的工具到用来开发测试的电脑上,而您自己不用一定要使用它们。

我需要购买额外的FPGA工具才能使用XJFlash吗?

这取决于所用的FPGA。很多FPGA可以被各种供应商自己工具的免费版本来支持。对于这些FPGA,没有购买其它产品的需要。对于更大的FPGA,联系您FPGA的开发者,或者联系我们。

我可以同时编写数个PCB吗?(其中每个都带有自己的闪存器件。)

可以的–因为XJFlash可以被添加到一序列生产测试中,并行编程可以和并行边界扫描测试完全一样的方式被执行。

我可以在大批量和小批量、多品种两者生产情况下都使用XJFlash吗?

可以的–因为XJFlash可以被包含在您的生产测试中,并且使用装在板卡上的FPGA, 所以很少有时间开销而且在不同板卡设计间转换时不需要修改硬件。

这不可能比FPGA供应商的编程工具还快吧,能吗?

XJFlash已经被发现比许多常用的编程工具还快,既然这样为什么不试试和亲眼看看呢?联系我们.

你们支持连接到微处理器,CPU和DSP的快速闪存编程吗?

是的—请联系我们获取更多信息。

运行XJFlash有什么推荐的系统要求呢?

  • Intel® Core i3, i5, i7 处理器 或者 等同 (任何一代)
  • 微软® Windows® 7 或者 Windows 8 (32 或 64 位)
  • 4 GB 内存

免费试用、授权许可

试用版和购买的产品的区别是什么?

购买的产品和免费试用版本功能上没有区别。我们通过电话和电子邮件提供全面技术支持,来帮助安装或者排除试用过程中的任何问题。在您30天的试用期间,您还将可以使用XJTAG的器件测试库和最新的软件升级。

我能把我的试用版转成购买的产品吗?

可以。如果您已经有XJFlash的试用版,通过购买全部许可您可以继续不间断地使用它。联系您的XJTAG经销商来购买并且延长您的授权许可。

对于每个我想使用的XJRunner我都需要购买一个XJFlash授权许可吗?

不是的。创建一个特定板卡的编程配置需要XJFlash授权许可,而这之后这个配置可以使用在相同板卡上的任何XJRunner上。

XJFlash--利用、通过JTAG的高级闪存在线烧录

  • 高速闪存编程
  • 快速固件更新

主要优势
  • 节省闪存编写时间
  • 支持SPI、QSPI、平行式NOR闪存器件
  • 如有需求,可提供NAND闪存支持
  • 缩短开发周期
  • 无须其它设备
  • 可用来快速固件升级
  • 无须FPGA开发

灵活的授权许可选项

想要了解这项服务的更多信息,请联系我们

Ready to get started? Try XJTAG

computer

See XJTAG in action.

Our experts will be happy to show you how the XJTAG tools can help you diagnose faults on your board as well as cutting test development and repair time.

Ask for a Demo

telephone

Questions? We'll call you back.

We're here to help. Enter your name and phone number and one of our test specialists will call you back shortly.

workstation

Get a free test setup.

Evaluate the XJTAG system with full functionality for 30 days and get the first test project set up for your board – for free. No obligation to purchase.

Get started now

Join world leading companies using XJTAG Boundary Scan