FPGA|CPLD|ASIC论坛
直播中

h1654155970.4135

7年用户 13经验值
擅长:可编程逻辑 嵌入式技术 处理器/DSP
私信 关注
[讨论]

关于XILINX/ALTERA/LATTICE 三合一下载线 仿真器 还有什么性能提高余地?

工作了十来年,FPGA三家主流厂商都有涉及,Lattice的相对少一些。Xilinx的基本上全系列都用过,CPLD、Virtex、Kintex、Zynq、Spartan都有很广泛深入的应用,Altera则从Cyclone开始,Stratix,Arrial等都在工程中经常用到。
至于选型的原则,有的是客户方直接指定,有的是根据个人习惯以及性价比,开发工期限制等方面来决定。直观的感觉是Altera的FPGA好上手,但到高级点应用时候,时序约束方面不如xilinx严谨友好,存储器IP核接口方面也感觉Xilinx要比Altera的相对友好些。Lattice则用过MachXO系列、LPTM10模数混合FPGA系列等,开发环境由于用的也少感觉也不是太友好Diamond。调试需要用到下载线,不同的厂商需要不同的下载线,不仅出差带的东西多也感觉比较麻烦,既然都是JTAG协议能不能有方案就三家的下载线功能集成到一个下载器里呢,调研了很久,主要的方案基本都是Cypress 68013 + CPLD的方案,或FT245 + CPLD的方案,感觉也比较笨重,而且下载速度也有限,Xilinx的一般除非DLC10,之前的DLC9一般也就稳定的运行到6Mbits/s,这对于Spartan系列、V5、V6来说可能也能接受,等真正用到V7、K7、Z7时发现这速度简直无法忍受,下载一个程序30s或更长时间是什么体验?好在digilent公司推出的Hs系列下载线将速度一举提升到30Mbits,才瞬间感觉到好爽快!好,以digilent为蓝图,开发自己的下载线,经过接近3个月的查找资料,设计图纸,目前开发出一款能同时兼容XILINX/ALTERA/LATTICE的下载线来,此下载线同时还支持一路RS232串口。通过我方自研的上位机软件还可将此下载线切换成TI的XDS100V2模式,这个对于一线的工程师来不能不说是个绝对的好消息,一机多用,再也不用出差东找一个仿真器,西找一个仿真器的麻烦了。(是一个仿真器好收拾,还是多个好收拾?经验证明,东西越多,找不着的概率越大)。虽然开发时已经看到淘宝上有卖三合一下载线的了,但看了看感觉他不过是把三种仿真器的硬件组合到一起,USB主芯片用的仍然是68013.速度仍是最大的软肋!
我们自研的四合一下载线主图如下,支持的模式有:
(1) XILINX HS1 + RS232
(2) XILINX HS2 + RS232
(3) XILINX HS3 + RS232
(4) ALTERA USB BLASTER + RS232
(5) LATTICE JTAG + RS232
(6) XDS100V2 + RS232
此外还有UART/I2C/SPI模式等支持。

宝贝详细介绍可移步淘宝,搜索  XILINX ALTERA LATTICE JTAG后进入。

进一步深入研究,我们开发出了XILINX“网络”JTAG的雏形,通过PC机服务端运行我方的
服务程序并使用此下载线连接XILINX目标板,远程PC客户机可以使用XILINX的ISE、VIVADO
等软件来对远端的目标板FPGA进行编程、chipscope观测等操作。

坛友们有没有什么更好的建议?我们来把这个东西做的更完善起来,让每一个有机会使用到他的
工程师都爱不释手了如何?一起加油。

欢迎回复讨论,或邮件联系dsp_beijing[url=]@163.com[/url]



回帖(3)

h1654155970.4135

2017-9-18 15:20:25
本帖最后由 vitality9627 于 2017-9-18 15:24 编辑

为何无法回复?论坛是不是禁止发外链呢?有做一个好东西的想法不容易,有想法能实现也不容易,
实现了让广大底层工程师知晓也不容易。
看看就好,有类似需求或建议完善的一并讨论,
目的就是把他做好了,做到人手一个,一个顶过去5个的效果。
当然需求的人多了,能把价格降下来大家实惠点未尝不好
举报

h1654155970.4135

2017-9-25 17:47:01
本帖最后由 vitality9627 于 2017-9-25 18:17 编辑
引用: vitality9627 发表于 2017-9-18 15:20
为何无法回复?论坛是不是禁止发外链呢?有做一个好东西的想法不容易,有想法能实现也不容易,
实现了让广大底层工程师知晓也不容易。
看看就好,有类似需求或建议完善的一并讨论,
1、关于直接通过此仿真器更新Altera 配置芯片

如果目标板卡上引出AS接口来,可以通过此下载线和配套的自研上位机烧写软件实现对配置芯片的快速烧写,
原理如下:
AS接口上有几个信号是来控制FPGA对应配置芯片的几个配置管脚的,通过将相应信号给固定到一个合适的电平
状态,此时FPGA的所有管脚处于三态状态,通过上文中所述的下载线连接AS接口,下载线USB连接到电脑上,
PC机运行专用软件,软件里可选择配置芯片型号或自动获取,选择待烧写的编程文件,完成烧录即可。目标板断电,拔掉AS口,则新烧写的逻辑开始运行。
注意到:一般altera生成的文件为pof,jic等格式,使用此种方式烧写的时候需要转化为RPD格式的文件,如何转换
可参见quartus convert programming files相关选项。试想一下30M的SPI速度,烧写一个配置芯片的速度提高是非常显著的,尤其是量产时。

顺便提示:
必须要把AS上插的线拔掉后,FPGA再上电才能重新加载起来,大家可以想想是为什么?

2、关于直接通过此仿真器更新xilinx 配置芯片
只针对配置芯片为SPI型的而言如N25Q128,N25Q256等系列。由于xilinx FPGA没有专用的配置AS接口,一般烧写配置文件均通过jtag方式添加mcs文件 烧写,如果玩过xilinx V6 V7系列高端芯片的可以回忆下烧写时间的漫长的等待过程。直观看没有办法通过外部的方式来直接更新FLASH里的配置信息,其实我们可以通过将FLASH的几根线引出插针来连接上文中所述的此专用下载线来更新,具体信号包括CLK,CS,MOSI,MISO。细心的朋友可能会问了,我通过外部的专用下载线更新FLASH如何保证控制FLASH的这几根线不出现多源驱动(即外部下载线也输出、FPGA本身也输出)对顶从而导致损坏芯片的情况?这种情况就涉及到XILINX加载模式了,一般挂接SPI FLASH配置芯片,xilinx加载模式设置的为Master SPI模式,如果是这样必然会对顶,无法通过外围专用下载线成功操作,怎么办?我们可以在更新配置flash的过程时,将xilinx的加载模式设置成JTAG模式(更改M[2:0]电平值,通过跳线或其余便携方式),此时关于配置的CLK CS MOSI MISO 对应的FPGA管脚均处于输入高阻状态,PC端专用软件可通过上文中所述的专用下载线实现对xilinx 配置芯片的直接烧写与更新。

xilinx加载配置讲解文档可见官方 ug470。

至于这两种方式的意义主要是针对配置文件较大、且需要烧写更新很多个(量产)的情况下提高效率而言的。






举报

h1654155970.4135

2017-12-22 22:41:54
近日拿XILINX官方DLC10(二代下载线)与该三合一下载线XILINX模式下进行下载速度和烧写速度对比,测试板卡为K7 325T,FPGA配置芯片为镁光N25Q256。FPGA配置文件大小为30736KB。发现下载速度三合一下载线要优于DLC10,烧写配置芯片速度也优于DLC10。
DLC10在vivado环境下  JTAG速率最大支持到12MHz,在ise环境下最大为24MHz。我们自己设计的三合一下载线在两个环境下速率都可以支持到30MHz。
测试数据:
(1)、DLC10 在JTAG速率配置为6MHz时,烧写bin文件用时12分20秒;
(2)、DLC10 在JTAG速率配置为12MHz(该下载线的极限)时,烧写bin文件用时10分21秒;
(3)、DASP-USB-JTAG JTAG速率配置为30MHz时,烧写bin文件6分01秒。

如何使JTAG链路稳定运行的频率提高?尽量避免JTAG链路中串联低端慢速FPGA芯片,比如Spartan3,CPLD等。所谓的木桶理论,按短边计算,只要有一个芯片掉链子,整个链路速度就快不起来。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分