XJFlash 是一款通过JTAG在线烧写闪存器件的高级、革新方法。使用XJFlash,您可以达到与传统边界扫描技术可能性相比将近50倍更快的闪存编写速度。
定制的解决方案 – 自动生成
XJFlash允许您自动生成面向于您板卡上连接到FPGA和FPGA SoC(如XilinxZynq®和IntelCyclone®V)的闪存器件的定制编程方案。
FPGA的功能被利用来提供尽可能最快的编写速度。对于每个FPGA/闪存组合,XJFlash自动生成一个定制的设计,以助您达到最佳的编程时间,而不需要您做任何FPGA开发。*
无论您是用连接到Intel(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都会自动单步调试四个阶段:
初始化 – 用目标板卡所需的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针脚的闪存器件。这些连接可以是直接、间接、专用的或共享的。
直接连接—可以
闪存直接连接到FPGA。
间接连接—可以
- 闪存通过缓存连接到FPGA。
- 部分地址信号和数据信号共享并且通过latch连接到一起。
- 存在一个其它可配置的器件,例如闪存和FPGA之间的CPLD。
共享连接—可以
闪存和FPGA通过以上描述的模式之一连接,但是这些连接和其它的器件共享(例如一个处理器)。
无连接—可以(需设计改变)
如果您的设计包含FPGA而闪存并没有通过以上任何描述的配置之一来连接,那么通过FPGA上闲置的针脚或许可以建立闪存的连接。这些连接不会在板卡的任务模式下使用,但是它们允许您使用XJFlash来执行高速闪存编程。如果您的FPGA是一个与闪存在同一个地址、数据总线的从器件,额外的信号或许不是必要的。
无FPGA—直接不可以
遗憾的是,如果没有FPGA,XJFlash是不可以使用的,然而通过处理器上的调试接口或许可以执行高速闪存编程-想要知道能否在您的板卡上使用这种方法,请联系我们。
或者,如果可以把闪存的连接引到板卡上的连接器,那么通过这个连接器就可以执行XJFlash高速编程。
兼容性
- Intel(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, Zynq UltraScale+
该列表在持续更新,联系我们获取最新情况。
所有商标均为其各自所有者的财产。
推荐系统要求
- Intel® Core i3, i5, i7 处理器 或者 等同 (任何一代)
- 微软® Windows® 8, Windows 8.1 或者 Windows 10 1607 及更高版本 (32 或 64 位)
- 4 GB 内存
常见问题
一般
XJFlash是如何比传统边界扫描编程快50倍以上的?
传统边界扫描下,每个信号变化都需要把一个完整的测试向量扫描进JTAG链。XJFlash用一个可以在工作时钟频率下改变这些信号的程序算法来配置FPGA。尽管JTAG仍然被用来传送要编入到FPGA的数据,但是板卡上信号的控制都是由FPGA操作的。
我已经有一个高速闪存编程器了,我为什么要考虑使用XJFlash?
XJFlash利用已经设计到板卡中的FPGA资源。这意味着可以做到用一个单一的JTAG工具来边界扫描测试板卡和用一步就可以给它编程,从而比在流水线上调换工具更快。此外,使用在线烧录免除了闪存器件预编程的需要,从而总能允许使用最新的闪存镜像,而且允许在开发、生产和维修过程中使用相同的工具。
技术问题
支持哪些闪存器件?
XJFlash为各种串、并联或非门(NOR)闪存器件提供内置支持。对于与非门(NAND)器件的支持也有提供。
支持哪些FPGA?
XJFlash可以用在来自英特尔(前Altera),莱迪思,美高森美(前爱特),和赛灵思公司的各种FPGA上。
支持哪些Xilinx Zynq SoC?
XJFlash provides NOR flash programming of memories connected to Xilinx Zynq-7000 and Zynq-UltraScale+ SoCs. This includes the following families: Xilinx XC7Z007S, XC7Z010, XC7Z012S, XC7Z014S, XC7Z015, XC7Z020, XC7Z030, XC7Z-35, XC7Z045, XC7Z100, XCZU2, XCZU3, XCZU4, XCZU5, XCZU6, XCZU7, XCZU9, XCZU11, XCZU15, XCZU17, XCZU17, XCZU19. New parts are always being added, so please contact us if your device isn’t listed.
要是我想给一个没被列出的器件类型编程怎么办?
可以使用XJFlash编程的器件范围一直在增长,所以如果您想要为一个目前没有列出的器件编程,那么请让我们知道。
我可以在已经设计完的板卡上使用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® 8, Windows 8.1 或者 Windows 10 1607 及更高版本 (32 或 64 位)
- 4 GB 内存
免费试用、授权许可
试用版和购买的产品的区别是什么?
购买的产品和免费试用版本功能上没有区别。我们通过电话和电子邮件提供全面技术支持,来帮助安装或者排除试用过程中的任何问题。在您30天的试用期间,您还将可以使用XJTAG的器件测试库和最新的软件升级。
我能把我的试用版转成购买的产品吗?
可以。如果您已经有XJFlash的试用版,通过购买全部许可您可以继续不间断地使用它。联系您的XJTAG经销商来购买并且延长您的授权许可。
对于每个我想使用的XJRunner我都需要购买一个XJFlash授权许可吗?
不是的。创建一个特定板卡的编程配置需要XJFlash授权许可,而这之后这个配置可以使用在相同板卡上的任何XJRunner上。
- 高速闪存编程
- 快速固件更新
主要优势
- 节省闪存编写时间
- 支持SPI、QSPI、平行式NOR闪存器件
- 如有需求,可提供NAND闪存支持
- 缩短开发周期
- 无须其它设备
- 可用来快速固件升级
- 无须FPGA开发
灵活的授权许可选项
- 硬件许可
–保存在JTAG控制器中,这样您可以在任意数量的电脑上使用XJTAG - 网络许可
–保存在一个联网的许可服务器上,可以从世界上任何地方访问
想要了解这项服务的更多信息,请联系我们。