需求说明:Lattice系统FPGA入门
内容 :Lattice与Altera、Xilinx对比
来自 :时间的诗
1.Lattice与Altera、Xilinx对比
lattice的FPGA是基于EEPROM的,在你设计的时候程序不会因为你掉电而消失
而altera的和xilinx的都是基与SRAM的,程序会因为你掉电而消失,当然你可以外置EEPROM或者FLASH。下载入编译工具生成的POF文件,同样可以达到掉电不消失的效果。至于开发环境,lattice的ispLEVER跟Altera的quartus以及xilinx的ISE都大同小异。因为FPGA的设
计流程在那里,所以工具没太大的不同。
注:ISPLever版本太低时,需要更新器件库,才能找到对应的FPGA型号。
另外,lattice的ISPLever已经停止更新了,改成Diamond了,建议你升级软件。
2.集成开发环境(IDE)
Altera :QuartusIIXilinx :ISE
Lattice:Diamond
3.网友讨论
网友第一篇:lattice FPGA调试之路— 触摸lattice
来自:http://www.51hei.com/mcu/3542.htmlFPGA的概念其实是Lattice最早提出的,但由于其高层决策的失误,导致Lattice产品一度退出了FPGA市场,现在也是一直处于追赶的地位。Lattice目前在高端市场,已经完全退出,因此在Xilinx的V5~V7,Altera的S4~S5,都看不到Lattice的竞争产品。
在中低端市场,近几款产品(ECP2/3/4),Lattice产品的优势非常明显(性价比很高),与Xilinx和Altera竞争很有优势。尤其是在多SerDes的FPGA上,产品价格直接就把其余两家踢出去了。 同时,目前Lattice的SerDes主要还是3.2Gbps(ECP2/3),在通信市场
的应用比较吃亏,其现在推出的ECP4系列,SerDes能达到6Gbps,有所提高。另外提一下,Laittice的EPLD和ispPAC的芯片目前应用很广泛,竞争力很强。
因此,对比Lattice和Altera,主要需要看你应用在那个领域,成本/指标/性能需要综合考虑。另外,需要特别说下,两家的EDA工具对比,Lattice的Diamond确实不是很好用,尤其是综合工具,因为Synplify支持的不好,导致综合编译效果很差。最新版本不知道是多少,但年初就拿到1.4的软件,现在版本好像是1.5了,官网上应该还没有发布。(by)
FPGA主要有三大厂家,由altera,xilinx,lattice三足鼎立。目前为止用过只有altera和lattice的,而且用altera的FPGA主要是中低端系列的芯片,没有深入应用过,这里主要谈的是lattice的ECP3系列FPGA。
从2013年11月开始了解和学习lattice的FPGA,到现在为止有4、5个月的时间了吧。开始应用lattice FPGA主要是从它datasheet和hardware design着手,根据不同的产品与应用来选型。
以ECP3系列FPGA为例,从datasheet可以知道ECP3系列的器件有:ECP3-17、ECP3-35、ECP3-70、ECP3-95和ECP3-150等系列器件。内部资源与特性介绍:
(1)、低功耗优化设计,低成本,高性能;
(2)、内嵌高速收发器SERDES(可达3.2G)、EBR,PLL、DLL、distributed RAM、DSP模块、I/O接口和可编程功能单元PFU等;
(3)、源同步接口,可支持DDR,DDR2,DDR3SDRAM最高可达800Mbit/s,通用I/O接口支持1Gbit/s速率;
(4)、灵活到sysIO,可支持LVCOMS,LVTTL,HSTL,SSTL,LVDS等电平标准;
(5)、加载配置逻辑:支持加密、双启动和透明在线升级(TransFR)等加载方式;
硬件设计和调试用的是ECP3-35EA系列FPGA,这个系列FPGA的器件选型有:
(1)、查找表(K LUTs):33;
(2)、内嵌块RAM数量(EBR):72,容量:1327Kbit;
(3)、分布式RAM(distributed RAM):68Kbit;
(4)、等效18*18乘法器数量有64个;(5)、3.2Gbit/s SERDES通道数:4;
(6)、PLLs+DLLs:4+2;
(7)、可支持的封装有:256pin fpBGA(17mm*17mm)4/133,484ball fpBGA(23mm*23mm)4/295,672ball fpBGA(27mm*27mm) 4/310;
下篇主要介绍ECP3-35EA-F484器件的硬件方面设计。
网友第二篇:lattice FPGA调试之路— 硬件设计1
来自:http://www.51hei.com/mcu/3541.html这篇主要介绍lattice FPGA的硬件设计,选用的器件是ECP3-35EA-8FN484,可以兼容ECP3-70EA-8FN484芯片。
1、器件内部资源介绍:逻辑资源查找表LUTs:33K;
内嵌存储块数SysMemBlock(18kbits):72;
内嵌RAM容量EBR(kbits):1327;
分布式RAM容量Distributed RAM Bits(kbits):68;
等效乘法器数量18*18 multiplers:64;
3.2G高速收发器serdes(Quad):1;
锁相环PLLS+DLLS:4+2;
封装及可用IO:484-ball fbGBA(23mm*23mm),4\295;
2、Bank分布:共有,9个bank,bank0至bank8,其中serdes quad占用bank4与bank5,bank8主要用来作为芯片的配置管脚或一些专用引脚,只有少部分作为可用io;因此用户可用IO主要是bank0、bank1、bank2、bank3、bank6、bank7。下图为ECP3-35EA的bank分布示意图:
3、引脚命名方式参考LatticeECP3 Family Handbook文档编号为HB1009的124至126页,文档可在lattice的官网上下载: http://www.latticesemi.com/en/Products/FPGAandCPLD/LatticeECP3.aspx;
4、专用引脚、特殊引脚、电源引脚、DDR引脚分布及介绍:
(1)、PLL/DLL时钟专用输入引脚: XXXX_GPLLT_FB_A,XXXX_GPLLT_FB_B,XXXX_GPLLT_IN_A,XXXX_GPLLT_IN_B为一组PLL的输入,XXXX_GPLLT_IN_A与XXXX_GPLLT_IN_B 为时钟输入,是一对差分对,XXXX_GPLLT_FB_A与XXXX_GPLLT_FB_B是时钟反馈输入,也是差分对,一般不使用。这4个引脚只能当输入引脚,当单端使用时,只有XXXX_GPLLT_IN_A是专用布线,直接连接到PLL,从另外3个输入,只能当普通输入脚,内部走的是普通的布线。PCLK同样的已差分对出现,当单端输入时,只有正端是布线到内部专用时钟网络,负端只能当普通I/O。
(2)、 SYS I/O的标准支持:支持单端和差分标准;
1、单端标准(1.2/1.5/1.8/2.5/3.3V)的内部比例电平标准包括:LVCOMS、LVTTL、PCI等, 外部参考电平标准:HSTL、SSTL等;
2、差分标准:LVDS、RSDS、BLVDS、LVPECL、差分SSTL及差分HSTL等;
主要说明下差分IO规则:所有bank都支持LVDS输入缓冲器,但是只有左侧和右侧的bank(bank2、3、6、7)可支持真差分输出缓冲器,上侧和下侧的bank可支持LVDS输入缓冲器,但不支持真LVDS输出,可在这些bank使用仿真LVDS输出缓冲器。所有bank都支持使用外
部电阻组合和互补LVCOMS驱动器支持仿真差分缓冲器。差分对是在原理图上标有*的引脚。
(3)、电源引脚: 1、VCCIO(1.2/1.5/1.8/2.5/3.3V):共有6组VCCIO电源,每个bank都有一个独立的VCCIO;
2、VCCAUX(3.3v):辅助电源,一般接3.3v;
3、VCCJ(1.2/1.5/1.8/2.5/3.3V) :独立于bank的VCCIO电源,用于JTAG引脚的电气特性;
4、VCC(1.2V):内核电源,接1.2V;
5、VCCA(1.2V):缓冲电源,接1.2V,主要用于serdes的TX及RX,PLL和参考时钟ref_clk等;
6、VCCPLL(3.3V):锁相环电源,接3.3V;
7、Vref:参考电源,主要用于DDR接口;
8、VTT:终端匹配电压,一般不接,直接悬空,(主要是用于DDR);
(4)、其他引脚:1、SPIFASTN引脚: 不要悬空,接固定电平即可 ;
2、注意Serdes的参考时钟,ECP3是差分电平是CML1.2,建议串0.1uf电容做AC耦合;
3、复位引脚:可以选用任意普通IO作为 复位引脚,都可以用作全局复位;
第三篇:lattice的FPGA使用有感
来自:http://archive.ednchina.com/bbs.ednchina.com/BLOG_ARTICLE_3028839.HTM俗话说,先入为主。每个工程师由于第一个项目的原因,对第一次使用的工具印象特别深。以后再做项目,第一反应就是使用第一次使用的工具。
我看到一个项目,第一反应就是使用xilinx的FPGA,ISE软件、chipscope调试、添加约束等,特别得心应手,遇到问题,几下子就能搞定。相比之下,我就对altera的不是特别熟,当然用altera的FPGA也做了几个项目,但总是对xilinx的感情更深一些。
前几个月,因为给别人做项目的缘故,使用了lattice的FPGA。使用过程中最大的问题就是软件不熟,网上分享的资料也比较少。
安装了Diamond后,只**license就折腾了近一周,郁闷死了。其他的软件都是修改license中MAC地址为本PC机的MAC地址,这个破文件要求将本机的MAC地址修改为license中设定的MAC地址。修改MAC地址后,还导致我其他的Quartus,modelsim不能用,重新修改license文件才可以。
接下来熟悉了基本的建立工程,添加文件,综合,布局布线。添加约束就折腾了一阵子。
遇到最大的问题就是仿真了,软件自带了Active-HDL工具,但是这个工具另外需要license,我在网上找了很久,也没搞定;最后还是用modelsim,用modelsim的时候,刚开始只会做前仿真,后仿真那个框老是灰的。先凑合着用吧,但用的过程中,由于只能做前仿真,厂
家给的ngo网表文件就没法用,这个必须后仿真才能用啊。折腾了好长时间,后来无意中发现,我把工程文件布局布线全部做完后,后仿真那个框就可选了。哎,折磨死我了,和ISE使用习惯差别太大了。不过解决了这个问题,我编程序,仿真就进入快车道了,进入我擅长的领地了。
后来下载调试,在设置trigger和event时,也遇到了问题,好几天没整明白怎么回事,后来无意中才解决。
换开发环境,确实要慎重,尤其是项目比较急的项目。熟悉一套新的软件(其实还有新的FPGA,它的一些基本原语,PLL,RAM设置等都需要重新熟悉)确实需要花费不少精力。
lattice的FPGA也有不少优点,比如它为图像传输专门设置的7:1LVDS接口,摄像头MIPI接口等,使用起来挺方便的。