Lattice系列FPGA入门之FPGA选型
網(wǎng)站:http://www.cnblogs.com/emouse/archive/2013/07/26/3217244.html
一、獲取芯片資料:
要做芯片的選型,首先就是要對有可能要面對的芯片有整體的了解,也就是說要盡可能多的先獲取芯片的資料?,F(xiàn)在FPGA主要有4個生產(chǎn)廠家,ALTERA,XILINX,LATTICE和ACTEL。獲取資料最便捷的途徑就是這些生產(chǎn)廠家的官方網(wǎng)站(http://www.altera.com.cn/,http://china.xilinx.com/,http://www.lattice.com/,http://www.actel.com/intl/china/)。一般情況下,官方網(wǎng)站都會按照產(chǎn)品系列或應(yīng)用場合列出所有的產(chǎn)品,直觀的告訴你某個系列產(chǎn)品的應(yīng)用場合。比如在ALTERA的網(wǎng)站,就會明確標明它的三大類的FPGA產(chǎn)品,高端的Stratix系列,中端的Arria系列和低成本的Cyclone系列。
每個廠家每年都會推出一個產(chǎn)品選型手冊,很多公司網(wǎng)站上還提供評估工具,下圖是Altera2012版的選型手冊:
經(jīng)常逛一逛這些廠家的官方網(wǎng)站,看一些概述類的文檔,當對各FPGA廠家的產(chǎn)品系列有比較廣泛的了解以后,選型就不會成為太大的問題了。確定要做的方向之前,如果能夠找到類似的產(chǎn)品,可以研究下這些產(chǎn)品所采用的方案,如果找不到,可以通過檢索知網(wǎng)等數(shù)據(jù)庫,也可以看看其他人做類似的方向所采用的方案,這也是非常好的一個參考,需要注意的是很多學術(shù)研究型的方案并不是經(jīng)過產(chǎn)品驗證的,有些方案還是比較滯后的,總之需要做一個綜合的評估。
二、FPGA廠家的選擇
如上所述,生產(chǎn)FPGA廠家主要有ALTERA,XILINX,LATTICE和ACTEL。每個廠家的產(chǎn)品都有各自的特色和適用領(lǐng)域。選擇廠家是一個相對比較復雜,要綜合考慮下面幾個因素:
三、芯片系列的選擇
每個FPGA的生產(chǎn)廠家都有多個系列的產(chǎn)品,來滿足不同應(yīng)用場合對性能和價格的不同需求。例如對于Altera公司的FPGA產(chǎn)品,主要分為三個系列,分別是高端的Stratix,中端的Arria和低端的Cyclone。
每一個系列FPGA具體的性能特點也都可以在ALTERA的官方網(wǎng)站上找到相應(yīng)的文檔。在選擇的時候,要根據(jù)實際的項目需求,來選擇合適的系列。比如說,如果需要實現(xiàn)一個比較簡單的控制功能,對資源的要求比較低,且成本控制要求比較高,那么就需要從Cyclone系列的FPGA入手,評估這一系列的FPGA是否可以滿足要求。但如果要做比較大型的ASIC芯片的validation,對FPGA的邏輯資源,帶寬以及運行頻率的要求都比較高,那么就要去評估Stratix系列的FPGA。有一個基本的原則是需要注意的,可以用低端的芯片完成的工作,就不要采用高端的芯片,目標是達到性能和成本的最佳平衡點。
每一個系列的FPGA芯片,可能又分為好幾代的產(chǎn)品,比如ALTERA的Cyclone系列,到現(xiàn)在已經(jīng)發(fā)展了Cyclone,CycloneII,CycloneIII和CycloneIV四代產(chǎn)品。這種產(chǎn)品的升級換代很大程度上都是由于半導體工藝的升級換代引起的。隨著半導體工藝的升級換代,FPGA芯片也在升級換代的過程中,提供了更強大的功能,更低的功耗和更好的性價比。那么在確定一個系列的FPGA后,選擇哪一代的產(chǎn)品則又成為一個問題。我個人建議是在價格和供貨都沒有問題的情況下,選擇越新的產(chǎn)品越好。一定不能選擇廠家已經(jīng)或者即將停產(chǎn)的芯片。任何產(chǎn)品都是有生命周期的,目標就是盡量保證在產(chǎn)品的生命周期里,所用到的芯片的生命周期還沒有結(jié)束。在產(chǎn)品初期規(guī)劃時做芯片選型,要盡可能選用廠家剛量產(chǎn)或者量產(chǎn)不久的產(chǎn)品,甚至在有確切的供貨渠道的情況下,可以選擇廠家即將量產(chǎn)的芯片。
四、芯片的選擇
在CycloneIII這個系列的FPGA中,又分為兩個不同的子系列,普通的CycloneIII和CycloneIII LS。在每個子系列里,根據(jù)片內(nèi)資源的不同又分為更多的型號,比如普通的CycloneIII子系列,就包含了EP3C5,EP3C10,EP3C16,EP3C25,EP3C40,EP3C55,EP3C80和EP3C120等8種型號的芯片。每個型號的芯片又根據(jù)通用I/O口數(shù)量和封裝區(qū)分出不同的芯片。比如,EP3C5的芯片又有EP3C5E144,EP3C5M164,EP3C5F256和EP3C5U256這四種不同的芯片。而每一種芯片,又有不同的速度等級,比如說EP3C5E144就有C7,C8,I7和A7四個速度等級。
下面的表格從不同的角度列出了普通CycloneIII系列的FPGA的參數(shù),這些表格都源自于CycloneIII芯片的官方文檔:
1,各型號芯片的片內(nèi)資源表。這個表格中給出了每個型號芯片的片內(nèi)資源,其中Maximum User I/Os給出了該型號最多擁有的User I/O的數(shù)量,但需要注意的是,不同的封裝擁有的User I/O的數(shù)量并不相同。
2,下面的表格給出了各型號芯片的封裝信息,以及該封裝下,芯片所具有的可用I/O的數(shù)量和差分信號通道的數(shù)量。
在選擇具體的芯片型號以及封裝的時候,要根據(jù)下面的幾個方面做綜合的考量:
1,片上資源,主要依據(jù)表1給出的信息。要根據(jù)設(shè)計的大小選擇合適的片上資源。這個是比較難確定的一個參數(shù),自己做的設(shè)計到底有多大,需要多少片上資源,很難一下子確定下來。比較推薦的一個方式是先拿之前的設(shè)計去綜合后映射到某一個芯片上,看看需要占用多少的片內(nèi)資源,然后評估要做的新的設(shè)計跟之前的大小,做換算后得到需要片上資源的數(shù)量。另外的一種方式就是先完成新的設(shè)計,直接綜合出來映射到不同型號的芯片上,然后評估哪一種芯片合適。還有一個需要注意的地方就是,不能選擇片上資源剛剛夠用的芯片,要留有一定的余量,以便于后期設(shè)計錯誤的修正和升級。
2,封裝,主要依據(jù)表2和表3給出的信息。選擇封裝,主要需要在兩個方面考量,第一個就是可用的I/O口的數(shù)量。第二個就是封裝的尺寸。I/O數(shù)量是一個必要的條件,先要根據(jù)這個條件篩選出可以用的芯片。然后在篩選出來的芯片中,再根據(jù)封裝類型,尺寸和pitch尺寸選擇合適的芯片。在封裝尺寸符合要求的情況下,盡量選擇有利于PCB設(shè)計和生產(chǎn)的封裝。比如如果有TQFP封裝的芯片,尺寸又符合項目的需求,那么就不要選擇BGA封裝的。對于BGA封裝的芯片,如果有pitch為1.0mm的可以滿足要求,就不要選擇pitch為0.5mm的。這直接影響到PCB設(shè)計難度,制造成本和良率。
3,速度等級,主要依據(jù)表4給出的信息。速度等級是一個相對比較獨立的參數(shù)。要根據(jù)實際設(shè)計所能綜合出來的最高運行頻率和需求的運行頻率做比較,盡量選用速度等級比較慢的芯片。當所有的速度等級都不能滿足需要的時候,更多的要從優(yōu)化設(shè)計的角度來提高設(shè)計本身所能達到的最高運行頻率。
五、FPGA初學者的選擇
對于一個FPGA的初學者,如何選擇一個公司的某一個系列的產(chǎn)品作為學習的基礎(chǔ)呢?這是一個問題,但并不是最重要的問題。
初學者在學習FPGA的時候,要解決的首要的問題就是對數(shù)字電路技術(shù)基礎(chǔ)知識的掌握,然后就是對硬件描述語言的掌握(veirlog或者VHDL)。至于FPGA芯片本身,只是一個載體。當真正掌握了FPGA設(shè)計的本質(zhì)后,需要使用某一個廠家的某一種FPGA的時候,只需要針對這個廠家的該型號的FPGA做一些了解就可以了,設(shè)計的基礎(chǔ)還是一樣的,以往積累的大部分經(jīng)驗都可以應(yīng)用得上。
不過在選擇的時候,還是要選擇主流廠家的流行的型號,這樣更容易獲取學習資源。
★emouse 思·睿博客文章★ 原創(chuàng)文章轉(zhuǎn)載請注明:http://emouse.cnblogs.com總結(jié)
以上是生活随笔為你收集整理的Lattice系列FPGA入门之FPGA选型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kafka常见问题(持续更新)
- 下一篇: 使用sortablejs实现表格拖拽排序