在5G無(wú)線(xiàn)、衛(wèi)星通信、雷達(dá)探測(cè)、航天測(cè)控等復(fù)雜系統(tǒng)設(shè)計(jì)中,FPGA工程師扮演著重要角色。
對(duì)于一個(gè)FPGA團(tuán)隊(duì)來(lái)說(shuō),需要根據(jù)項(xiàng)目需要完成產(chǎn)品的設(shè)計(jì)和驗(yàn)證,保證項(xiàng)目的交付。為了在越來(lái)越復(fù)雜的系統(tǒng)設(shè)計(jì)中,F(xiàn)PGA工程師之間保持高效溝通和工作推進(jìn),這就需要找到一個(gè)適合的設(shè)計(jì)方法論。目標(biāo)是通過(guò)在設(shè)計(jì)團(tuán)隊(duì)之間建立一個(gè)通用的方法來(lái)提高FPGA設(shè)計(jì)團(tuán)隊(duì)的生產(chǎn)力,同時(shí)允許跨團(tuán)隊(duì)交換設(shè)計(jì)模塊。
FPGA設(shè)計(jì)中的三個(gè)關(guān)鍵因素:
FPGA工程管理
FPGA設(shè)計(jì)方法
FPGA芯片選擇
首先,需要建立FPGA中實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)的可預(yù)測(cè)性路線(xiàn)圖。實(shí)現(xiàn)可預(yù)測(cè)結(jié)果的三個(gè)步驟是:
適當(dāng)?shù)捻?xiàng)目計(jì)劃和范圍。
準(zhǔn)確選擇FPGA芯片,以確保當(dāng)今和未來(lái)的項(xiàng)目可以使用正確、成熟的技術(shù)。
遵循FPGA設(shè)計(jì)開(kāi)發(fā)的最佳實(shí)踐,以縮短設(shè)計(jì)周期,并確保設(shè)計(jì)按時(shí)完成,設(shè)計(jì)模塊可以在未來(lái)的項(xiàng)目中以最小的代價(jià)進(jìn)行復(fù)用。
所有三個(gè)元素需要順利地一起工作,以確保成功的FPGA設(shè)計(jì),如圖1所示。
圖1?成功進(jìn)行FPGA設(shè)計(jì)的三個(gè)步驟
供應(yīng)商的選擇應(yīng)該是兩家公司之間的長(zhǎng)期合作關(guān)系,特別是設(shè)計(jì)軟件和IP Core的授權(quán)。通過(guò)共享路線(xiàn)圖和共同管理現(xiàn)有項(xiàng)目,不僅可以確保當(dāng)前項(xiàng)目的成功,還可以及時(shí)為未來(lái)的項(xiàng)目提供正確的解決方案。一個(gè)基于經(jīng)驗(yàn)的微調(diào)過(guò)程,以確保項(xiàng)目的成功。
FPGA設(shè)計(jì)方法,這是最佳實(shí)踐方法的主要焦點(diǎn)。這涵蓋了從基礎(chǔ)到高級(jí)技術(shù)的完整FPGA設(shè)計(jì)流程。這種方法是獨(dú)立于FPGA供應(yīng)商,因?yàn)檫m用于FPGA的設(shè)計(jì)實(shí)踐,但同時(shí)需要結(jié)合FPGA的設(shè)計(jì)軟件,比如Vivado和Quartus的設(shè)計(jì)環(huán)境不同,相關(guān)的設(shè)計(jì)流程有所不同。對(duì)于FPGA工程師而言,設(shè)計(jì)流程大同小異,可以快速切換。圖2所示的圖表顯示了最佳實(shí)踐設(shè)計(jì)方法論。
圖2?FPGA設(shè)計(jì)最佳實(shí)踐設(shè)計(jì)方法
Board Layout、RTL設(shè)計(jì)、IP重用、功能驗(yàn)證和時(shí)序收斂,往往是設(shè)計(jì)團(tuán)隊(duì)擁有不同設(shè)計(jì)方法的領(lǐng)域,工程師需要獲得一致的結(jié)果和縮短設(shè)計(jì)周期。
FPGA設(shè)計(jì)中面臨的許多挑戰(zhàn)并不是FPGA設(shè)計(jì)所特有的,而是設(shè)計(jì)中常見(jiàn)的挑戰(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ì)??偟膩?lái)說(shuō),這對(duì)FPGA設(shè)計(jì)流程有好處。然而,它需要與FPGA帶來(lái)的設(shè)計(jì)流程的好處相平衡。FPGA的可編程特性為在系統(tǒng)中執(zhí)行更多的驗(yàn)證打開(kāi)了大門(mé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廠(chǎng)商軟件,比如Vivado或者Quartus設(shè)計(jì)軟件。FPGA工程師通常負(fù)責(zé)編寫(xiě)和驗(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ì)過(guò)程中,F(xiàn)PGA工程師除了最基本的RTL代碼設(shè)計(jì)、仿真和調(diào)試外,還需要非常熟悉項(xiàng)目所涉及的技術(shù)路線(xiàn)、信號(hào)處理過(guò)程、系統(tǒng)架構(gòu)等,常常也需要參與到系統(tǒng)方案的設(shè)計(jì)制定,并給出最佳實(shí)現(xiàn)方案。
因此,對(duì)于FPGA工程師而言,最難的不是寫(xiě)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),以及與其他部門(mén)的協(xié)作。
此外,需要有好的領(lǐng)導(dǎo)來(lái)帶領(lǐng)FPGA團(tuán)隊(duì),避免非專(zhuān)業(yè)領(lǐng)導(dǎo)過(guò)多干預(yù)FPGA團(tuán)隊(duì)的正常工作。
在系統(tǒng)設(shè)計(jì)過(guò)程中,經(jīng)常會(huì)遇到各種問(wèn)題,尤其是在系統(tǒng)調(diào)試階段,F(xiàn)PGA常常成為“背鍋俠”。FPGA工程師又要通過(guò)各種手段去證明自己的設(shè)計(jì)沒(méi)問(wèn)題,還需要定位出問(wèn)題出現(xiàn)的原因。每一款產(chǎn)品的成功推出,背后都是一部“研發(fā)風(fēng)云錄”。
總結(jié)起來(lái),為了實(shí)現(xiàn)復(fù)雜系統(tǒng)設(shè)計(jì),F(xiàn)PGA工程師需要:
制定詳細(xì)的設(shè)計(jì)方案和系統(tǒng)架構(gòu)
掌握FPGA信號(hào)處理與接口設(shè)計(jì)方法
做好工程管理和維護(hù)
掌握儀器設(shè)備的使用和問(wèn)題排故
審核編輯:湯梓紅
?
評(píng)論
查看更多