這兩大選擇FPGA芯片的策略了解嗎?大佬帶你看FPGA芯片設(shè)計(jì)
在這篇文章中,小編將對(duì)FPGA芯片的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進(jìn)對(duì)FPGA芯片的了解程度,和小編一起來閱讀以下內(nèi)容吧。
一、選擇FPGA芯片的兩大策略
(一)盡量選擇成熟的產(chǎn)品系列
FPGA芯片的工藝一直走在芯片設(shè)計(jì)領(lǐng)域的前列,產(chǎn)品更新?lián)Q代速度非常快。穩(wěn)定性和可靠性是產(chǎn)品設(shè)計(jì)需要考慮的關(guān)鍵因素。廠家最新推出的FPGA系列產(chǎn)品一般都沒有經(jīng)過大批量應(yīng)用的驗(yàn)證。選擇這樣的芯片會(huì)增加設(shè)計(jì)的風(fēng)險(xiǎn)。
而且,最新推出的FPGA芯片因?yàn)楫a(chǎn)量比較小,一般供貨情況都不會(huì)很理想,價(jià)格也會(huì)偏高一些。如果成熟的產(chǎn)品能滿足設(shè)計(jì)指標(biāo)要求,那么最好選這樣的芯片來完成設(shè)計(jì)。
例如,要用FPGA設(shè)計(jì)一塊數(shù)據(jù)采集卡。采用Altera公司的Cyclone、CyloneII和CycloneIII等3個(gè)系列的芯片都可以完成這個(gè)功能??紤]到Cyclone和CyloneII是成熟產(chǎn)品,同時(shí)CyloneII又是Cyclone的升級(jí)產(chǎn)品,因此選擇CyloneII是比較理想的方案。
(二)盡量選擇兼容性好的封裝
FPGA系統(tǒng)設(shè)計(jì)一般采用硬件描述語(yǔ)言(HDL)來完成設(shè)計(jì)。這與基于CPU的軟件開發(fā)又有很大不同。特別是算法實(shí)現(xiàn)的時(shí)候,在設(shè)計(jì)之前,很難估算這個(gè)算法需要占多少FPGA的邏輯資源。
作為代碼設(shè)計(jì)者,希望算法實(shí)現(xiàn)之后再選擇FPGA的型號(hào)。但是,現(xiàn)在的設(shè)計(jì)流程一般都是軟件和硬件并行開始設(shè)計(jì)。也就是說,在HDL代碼設(shè)計(jì)之前,就開始硬件板卡的設(shè)計(jì)。這就要求硬件板卡具備一定的兼容性,可以兼容不同規(guī)模的FPGA芯片。
幸運(yùn)的是,F(xiàn)PGA芯片廠家考慮到了這一點(diǎn)。目前,同系列的FPGA芯片一般可以做到相同物理封裝兼容不同規(guī)模的器件。例如,Xilinx的Spartan3系列FPGA,在BGA456封裝下,可以選擇3S200、2S400、3S1000、3S1500這4種型號(hào)的FPGA。
正是因?yàn)檫@一點(diǎn),將來的產(chǎn)品就具備非常好的擴(kuò)展性,可以不斷地增加新的功能或者提高性能,而不需要修改電路板的設(shè)計(jì)文件。
二、FPGA芯片設(shè)計(jì)
FPGA設(shè)計(jì)中面臨的許多挑戰(zhàn)并不是FPGA設(shè)計(jì)所特有的,而是設(shè)計(jì)中常見的挑戰(zhàn)。與ASIC設(shè)計(jì)相比,F(xiàn)PGA設(shè)備本身確實(shí)提供了獨(dú)特的挑戰(zhàn)和機(jī)會(huì)。FPGA設(shè)備性能的提高導(dǎo)致針對(duì)FPGA的設(shè)計(jì)更加復(fù)雜,ASIC工程師與FPGA工程師可以相互轉(zhuǎn)換。這導(dǎo)致許多設(shè)計(jì)團(tuán)隊(duì)將ASIC設(shè)計(jì)原則遷移到FPGA設(shè)計(jì)??偟膩碚f,這對(duì)FPGA設(shè)計(jì)流程有好處。然而,它需要與FPGA帶來的設(shè)計(jì)流程的好處相平衡。FPGA的可編程特性為在系統(tǒng)中執(zhí)行更多的驗(yàn)證打開了大門。當(dāng)正確使用時(shí),這可以大大加快驗(yàn)證周期,但如果濫用,它會(huì)延長(zhǎng)設(shè)計(jì)周期。I/O的可配置特性提供了ASIC設(shè)計(jì)中不存在的挑戰(zhàn)。同時(shí),行業(yè)使用的EDA工具在功能和成本上,F(xiàn)PGA和ASIC也有所不同。
FPGA工程師需要熟悉FPGA廠商軟件,比如Vivado或者Quartus設(shè)計(jì)軟件。FPGA工程師通常負(fù)責(zé)編寫和驗(yàn)證設(shè)計(jì)的RTL代碼,負(fù)責(zé)在FPGA中實(shí)現(xiàn)設(shè)計(jì),并幫助在最終系統(tǒng)中進(jìn)行聯(lián)調(diào)。FPGA工程師在PCB設(shè)計(jì)中扮演著重要的角色。負(fù)責(zé)從FPGA設(shè)計(jì)軟件生成FPGA引腳輸出。因此,F(xiàn)PGA工程師需要與硬件PCB設(shè)計(jì)工程師進(jìn)行原理圖確認(rèn),任何修改都需要提供更新的引腳分配,并最終進(jìn)行實(shí)現(xiàn)和驗(yàn)證。
在實(shí)際的FPGA設(shè)計(jì)過程中,F(xiàn)PGA工程師除了最基本的RTL代碼設(shè)計(jì)、仿真和調(diào)試外,還需要非常熟悉項(xiàng)目所涉及的技術(shù)路線、信號(hào)處理過程、系統(tǒng)架構(gòu)等,常常也需要參與到系統(tǒng)方案的設(shè)計(jì)制定,并給出最佳實(shí)現(xiàn)方案。
因此,對(duì)于FPGA工程師而言,最難的不是寫RTL代碼,而是在一個(gè)復(fù)雜系統(tǒng)設(shè)計(jì)中,需要涉及技術(shù)方案制定、架構(gòu)設(shè)計(jì)、深入理解技術(shù)協(xié)議、模塊設(shè)計(jì)與驗(yàn)證、系統(tǒng)集成、整個(gè)系統(tǒng)的聯(lián)調(diào),以及與其他部門的協(xié)作。
此外,需要有好的領(lǐng)導(dǎo)來帶領(lǐng)FPGA團(tuán)隊(duì),避免非專業(yè)領(lǐng)導(dǎo)過多干預(yù)FPGA團(tuán)隊(duì)的正常工作。
在系統(tǒng)設(shè)計(jì)過程中,經(jīng)常會(huì)遇到各種問題,尤其是在系統(tǒng)調(diào)試階段,F(xiàn)PGA常常成為“背鍋俠”。FPGA工程師又要通過各種手段去證明自己的設(shè)計(jì)沒問題,還需要定位出問題出現(xiàn)的原因。每一款產(chǎn)品的成功推出,背后都是一部“研發(fā)風(fēng)云錄”。
以上所有內(nèi)容便是小編此次為大家?guī)淼挠嘘P(guān)FPGA芯片的所有介紹,如果你想了解更多有關(guān)FPGA芯片的內(nèi)容,不妨在我們網(wǎng)站或者百度、google進(jìn)行探索哦。