FPGA芯片选型(FPGA初学者的选择)

版权声明:本文为博主原创文章,未经博主允许不得转载。https://mp.csdn.net/postedit/82926464

前言

对于一个FPGA的初学者,如何选择一个公司的某一个系列的产品作为学习的基础呢?这是一个问题,但并不是最重要的问题。初学者在学习FPGA的时候,要解决的首要的问题是对数字电路技术基础知识的掌握,然后就是对硬件描述语言的掌握(veirlog或者VHDL)。至于FPGA芯片本身,只是一个载体。当真正掌握了FPGA设计的本质后,需要使用某一个厂家的某一种FPGA的时候,只需要针对这个厂家的该型号的FPGA做一些了解就可以了,设计的基础还是一样的,以往积累的大部分经验都可以应用得上。

对初学者的FPGA选型建议

前言已经说得很清纯,虽然话是这样说,但是对于一个初学者来说,选择一款适合学习的FPGA是整个FPGA学习生涯的必经之路。我个人建议在选择FPGA的时候,应该抓住如下几个原则:

1、选择主流厂家的流行的型号,这样更容易获取学习资源。

     选择一家主流公司的FPGA芯片:在国内目前来说,主流是Xilinx以及Altera(Intel)。获取资料最便捷的途径就是这些生产厂家的官方网站(http://www.altera.com.cn/http://china.xilinx.com/)。一般情况下,官方网站都会按照产品系列或应用场合列出所有的产品,直观的告诉你某个系列产品的应用场合。比如在ALTERA的网站,就会明确标明它的三大类的FPGA产品,高端的Stratix系列,中端的Arria系列和低成本的Cyclone系列。

2、选择一个性价比较高的FPGA芯片

    1) Xilinx 的主流FPGA分为两大类,一种侧重于低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Spartan系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Virtex系列。

    2) Altera 的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix系列。

   用户可以根据自己实际应用要求进行选择。在性能可以满足的情况下,优先选择低成本器件。对于初学者而言,本人建议选择Xilinx的Spartan系列或者Altera 的Cyclone系列。

3、选择一个学习资源比较多的FPGA开发板

1)对于Cyclone系列:建议选择Cyclone IV E系列。因为Cyclone IV E学习资源多,譬如黑金fpga开发板Cyclone IV EP4CE15有一整套的视频以及系列的学习笔《FPGA的那些事》。黑金开发板对应的社区论坛有:黑金动力社区。其实黑金动力社区也有Xilinx的spartan6系列的开发板。还有市面上培训机构华清远见也是使用Cyclone系列的产品。明德样FPGA培训机构也有Cyclone系列和spartan6系列的开发板以及学习资源。

由上图知道,对于学习而言选择一个不是很旧也不是很新的系列为宜,建议选择Cyclone IV。Cyclone IV分为Cyclone IV E和Cyclone IV GX(这两者的详细区别有兴趣的可以到官网查看)。官网查看片上资源如下图,芯片选型时可以查阅一下。

2)对于Xilinx的spartan系列:建议选择spartan 6。选择原因如下:

1、首先现在有一部分高校开设fpga课程使用的就是spartan 6。主要原因也是因为这个系列的fpga芯片对于初学者而言,更容易上手,而且市面上利用spartan6系列芯片作为核心芯片的fpga开发也不少,也有不少培训机构使用该系列的芯片开发板。总的来说,spartan6系列的网上学习资源还是比较丰富的。例如红色飓风的spartan6系列开发板就使用了spartan6-XC6SLX16芯片

2、spartan 6是一个划时代的产品,如下图可以看到spartan 6是45nm,这个不是我想说的,我想说的是:Xilinx公司的spartan 6系列以及更早推出的fpga系列芯片使用的开发环境EAD是ISE,而spartan6系列之后新推出的fpga芯片使用开发环境EDA是vivido。其实两个开发EDA大同小异。不过为了学习的全面性,建议初学者可以选择spartan6以及ISE。等入门之后再转到vivado也是如鱼得水的事情。

与Cyclone IV分为Cyclone IV E和Cyclone IV GX相似,spartan-6也分为spartan-6 LX系列已经spartan-6 LXT系列。下面给出spartan-6 LX系列的片上资源(这些都是从官网截图下来的,有兴趣的朋友可以到官网查阅)

由上图,根据资源是否够用原则,可以选择一个片上资源适中的,譬如XC6SLX45,如果对片上资源要求不是那么大,也可以选择XC6SLX16,尽量别选择XC6SLX4或者XC6SLX9,因为资源太少也不利于后面的扩展。以上便是我对初学者选择FPGA的一些建议。

 

对于一个FPGA高手而言

在选择具体的FPGA芯片型号以及封装的时候,要根据下面的几个方面做综合的考量:

以下三点考虑来自网友:https://blog.csdn.net/whw8007/article/details/9566761?utm_source=copy

1,片上资源,主要依据表1给出的信息。要根据设计的大小选择合适的片上资源。这个是比较难确定的一个参数,自己做的设计到底有多大,需要多少片上资源,很难一下子确定下来。比较推荐的一个方式是先拿之前的设计去综合后映射到某一个芯片上,看看需要占用多少的片内资源,然后评估要做的新的设计跟之前的大小,做换算后得到需要片上资源的数量。另外的一种方式就是先完成新的设计,直接综合出来映射到不同型号的芯片上,然后评估哪一种芯片合适。还有一个需要注意的地方就是,不能选择片上资源刚刚够用的芯片,要留有一定的余量,以便于后期设计错误的修正和升级。

2,选择封装,主要需要在两个方面考量,第一个就是可用的I/O口的数量。第二个就是封装的尺寸。I/O数量是一个必要的条件,先要根据这个条件筛选出可以用的芯片。然后在筛选出来的芯片中,再根据封装类型,尺寸和pitch尺寸选择合适的芯片。在封装尺寸符合要求的情况下,尽量选择有利于PCB设计和生产的封装。比如如果有TQFP封装的芯片,尺寸又符合项目的需求,那么就不要选择BGA封装的。对于BGA封装的芯片,如果有pitch为1.0mm的可以满足要求,就不要选择pitch为0.5mm的。这直接影响到PCB设计难度,制造成本和良率。

3,速度等级,速度等级是一个相对比较独立的参数。要根据实际设计所能综合出来的最高运行频率和需求的运行频率做比较,尽量选用速度等级比较慢的芯片。当所有的速度等级都不能满足需要的时候,更多的要从优化设计的角度来提高设计本身所能达到的最高运行频率。

  • 47
    点赞
  • 366
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值