这个帖子主要和大家介绍一些我们在FPGA硬件系统设计过程中遇到的问题和解决的方法。也欢迎大家一起参与讨论。主要涉及以下几个方面:
1。芯片的选型
包括FPGA芯片的选型原则,外围芯片,比如存储器,电源,接口芯片等等选择的依据。我们会给大家推荐一些性能好,价格便宜而且好买到的芯片,节省你查询芯片的时间。
2。原理图设计技巧
包括如果兼容不同型号的FPGA,保证系统设计的升级空间等。
3。PCB的设计基本原则
对于一般的FPGA系统,只要保证这些基本原则,不必学习那些复杂的仿真软件和高速PCB设计知识,一样可以设计出稳定可靠的硬件电路板。
4。电路调试技巧
如何调试一块刚刚焊接好的电路板,特别是对于第一次调试电路板的朋友一定会有所帮助的。
===========
第一部分:Red Logic关于芯片选型的建议
===========
在网上经常看到朋友问类似的问题,比如选Altera还是Xilinx芯片,选择Altera公司的什么型号芯片,电源芯片选什么,SRAM选那个公司的等类似的关于芯片选型的问题。Red Logic在这里就给大家介绍一些关于芯片选择的一些基本原则和建议,也欢迎大家参与讨论!。
一。FPGA芯片的选择依据
& nbsp1。选择FPGA芯片厂商。这一点比较容易,可以根据以往的经验实际条件,比如公司一直用那个公司的产品,或者实验室的师兄们都用那个公司的产品多一些等等。如果自己对那个公司的产品比较熟悉,还是不要轻易更换。因为学习软件和了解芯片结构还是需要一些时间的,而且也会引入一些设计风险。人一般会有惯性的思维的,往往会把一些经验带到新的项目中,而实际上不同厂商的芯片在设计细节方面还是有些不同的,对这个公司的芯片适合,不一定对另外公司的芯片适合。
如果是在新产品设计的适合选择FPGA芯片厂商,那么可以参考以下的几个原则:
A. 如果需要尽快上市,抢占市场,一般选择开发简单的Altera或者Xilinx产品;
B. 如果产品已经稳定,需要提高保密性能和稳定性能,可以考虑Lattice,QuickLogic或者Actel公司的反融丝类型或者Flash类型的FPGA;
C. 如果需要很强的抗干扰性能,工作环境十分恶劣,如果航空航天,一般选Actel
公司的产品。
几个厂商的FPGA简介:
& nbspAltera的芯片在国内的高校用的比较多,就像在高校里面用VHDL的人比较多一样。Altera的芯片产品比较全,目前主要的就是 Flex10K系列,ACEX1k系列,Cyclone系列等应用的比较广泛,Stratix系列一般在通信等高端领域应用比较多一些。
 Flex10K是比较老的系列了,价格也很高,是5V的器件,主要应用在5V的信号环境,抗干扰性能好一些,但是功耗和体积都比较大,规模也有限制。
 ACEX1K是一个比较成功的系列,兼容5V和3.3V,如果系统是 3.3V是5V的混合信号系统,而且中5V信号比较多,建议采用ACEX1K系列,价格也不错。只是最大的规模是10万门,升级空间小。
 Cyclone系列目前Altera公司成本最低的FPGA,但是只能支持3.3V,不兼容5V信号。如果系统中只有3.3V或者5V信号不多,那么Red Logic还是推荐您选择cyclone系列的 FPGA。
 Xilinx的公司的产品更多的被企业采用。相对于altera,Xilinx的历史更悠久一些,客户更多。Xilinx公司对芯片提供的参考设计较Altera公司提供的涉及的领域更宽,品种更多。免费使用的IP核也更多一些。
 Xilinx的高端FPGA在市场上占有一定的优势,如VirtexII系列就是非常成功的。
 Actel公司的FPGA以反融丝类型的为主,应用与一些特定的领域;
& nbspQuickLogic公司的CPLD也是以反融丝为主推,一般用于产品的加密,目前还很难**。其出品的集成了PCI硬核的FPGA是比较有特色的产品,较FPGA+PCI接口芯片的方案成本更低,较FPGA实现PCI软核的方案稳定性更好。
 Lattice公司目前也开始推广低成本的应用的FPGA产品,在本论坛的Lattice版面有更详细的介绍。
 2. 选择FPGA型号
首先选择好了某个系列的FPGA,接下来就要选择一个具体的型号了。需要考虑的因素主要有以下几点:
A. 封装
主要在于选择管脚的数目,如果管脚够用,尽量选择表贴封装,如TQFP或者QFP的。Red Logic不推荐选择BGA的原因是:
1) 会带来的焊接成本提高;
2) 增加了布线难度,可能不得不增加PCB的层数;
3) 降低了测试性,增加了测试成本。
当然,如果项目需要,必须选择BGA封装的,那么尽量选择管脚间距大一些
的,比如1mm或者0.8mm。
例如,对于Cyclone系列的FPGA,EP1C12就有F324和Q240两种封装,前
者是BGA的,后者是PQFP的。如果150个用户IO对您的设计已经足够了,
那么最好选择后者,两层板就可以做下来,而F324封装的最少要4层板才行。
B. 资源
一般在设计的开始阶段,无法估计规模大小。所有一般需要根据经验来选择。一般都要选择你确定的封装里面规模最大的型号。一般来说,相同的封装会有不同的容量,比如Cyclone系列的PQFP240封装,就有1C6和1C12两个型号,资源相差一倍以上。那么实验阶段就可以先用1c12做实验,将来再改用 1c6的,PCB不用重新设计。
资源包括了逻辑资源(如LE或者Slice)和存储资源(如M4K或Block RAM)。
选择芯片的时候不仅要考虑逻辑资源够用,还要保证存储资源够用。假如您的设计用了1000个LE,200Kbit的存储器,如果从逻辑资源考虑,EP1C6就足够了,有接近6000个LE,但是M4K的容量确不能满足要求。如果不想更改设计,您就必须选择EP1C12了。
C. 升级性
为了以后增加功能或者升级性能,您的FPGA设计好后,必须有一定的升级空间。比如您目前的设计用了70%的芯片资源,那么您就必须考虑是否能够满足将来的需要了。
(Xilinx和Altera的FPGA产品都是基于SRAM的,上电后需要外部cpu或者储存器进行配置才能工作。
配置过程中,如果出现干扰,就会产生配置错误。
而Actel公司的反融丝型FPGA与ASIC一样,是固化在芯片内部的,上电就开始工作的,所以说更抗干扰性能更强一些。但是只能烧写一次,开发起来成本比较高,周期也长一些。必须充分仿真,否则差一点点就要费一个片子啊。
可以采用Altera的芯片做原型的验证和样机。经过测试,如果不能满足要求,在更换Actel的芯片,这样可以保证逻辑部分是没有问题的。Altera的芯片目前也采用了一些措施,比如差错重新配置等,也可以用外部的cpu来配置FPGA,上电后对fpga进行简单的测试,如果有问题,再重新配置。
如果逻辑规模不大,可以采用MAXII系列的CPLD,由于采用了Flash结构,不需要外部配置,可靠性要高很多。)
二。FPGA主要的外设芯片选择
 Red Logic根据以往的经验,推荐您一些芯片,供您参考。其他应用的芯片,您可以到我们的网站上咨询。
1. 电源芯片
如果电流较小,可以选用AS1117系列, 表贴型封装;
如果电流较大,可以选用AS28xx系列, 表贴型封装;
2. 存储芯片
尽量选择升级空间大,管脚兼容的系列;
SDRAM一般选择SAMSUNG的K4S系列,或者现代的HY57V系列;
ASRAM一般选择ISSI的61LV系列;
NOR  FLASH一般选择AMD的29LV系列或者SST的芯片;
NAND FLASH一般选择SAMSUNG的K9S系列;
3. 其他芯片
VIDEO Encoder/Decoder – PHILIPS;
VGA  ADC/DAC -ADI;
ADC/DAC -ADI, TI , BB;
USB -CYCPRESS;
PCI -PLX;
连接器 -AMP,SEMITEC; |