FPGA需求定義與規(guī)劃了解嗎?軟件或?qū)⒊蔀橛行Ю肍PGA的關(guān)鍵!
今天,小編將在這篇文章中為大家?guī)?a href="/tags/FPGA" target="_blank">FPGA的有關(guān)報道,通過閱讀這篇文章,大家可以對它具備清晰的認識,主要內(nèi)容如下。
一、FPGA需求定義與劃分
FPGA需求定義和劃分階段與系統(tǒng)和FPGA架構(gòu)定義緊密關(guān)聯(lián)并受這兩個階段的決策左右。FPGA需求定義指定義準備在FPGA中實現(xiàn)的詳細需求,并用作明確的特性清單以供設(shè)計和測試工程團隊設(shè)計、測試和實現(xiàn)。FPGA需求定義與系統(tǒng)和FPGA架構(gòu)需求定義的不同之處在于FPGA需求是精確的。該清單定義了FPGA的細致要求,而不僅僅是系統(tǒng)的不同組件之間的功能劃分,或是穿越FPGA的數(shù)據(jù)流之間的功能劃分。
這個階段的目的是清楚地定義FPGA工程團隊確切能實現(xiàn)和測試的內(nèi)容。在這個階段,用戶將把高級系統(tǒng)和FPGA架構(gòu)需求轉(zhuǎn)換成用于實現(xiàn)的具體需求。這樣做能夠帶來雙重好處。首先,單獨定義FPGA需求能突出強調(diào)系統(tǒng)和FPGA架構(gòu)的任何局限以及之前未曾考慮到或未曾預見到的狀況。其次,該步驟將為FPGA設(shè)計的開發(fā)和測試的順利執(zhí)行鋪平道路。
為適當?shù)孛枋鯢PGA需求,您必須建立清晰且簡明扼要的定義,以便提煉成單獨的需求。我們建議為各項需求添加標簽或序號,使用易于判斷其能否實現(xiàn)的簡短描述來定義各項需求,避免用高級含糊的需求用語。只要足夠清晰扼要,您可以使用任何行業(yè)標準格式或?qū)S懈袷健?
避免使用含混或界定不清的用語,例如“快速”或“小型”。應堅持使用有明確目標的用語,如“400MHz”或“4.2K觸發(fā)器”。這樣定義的目的旨在確保將文檔分配給之前不了解系統(tǒng)或FPGA架構(gòu)的開發(fā)工程團隊進行實施時不再需要反復澄清。您需要檢查每個需求是否表述清楚、簡潔、明確且是否包含了所有必需的信息以避免反復澄清的必要。此外,還應該注意需求中是否包括管腳和I/O定義?是否所有的高級需求都已經(jīng)分解為基本設(shè)計要素?未參與早期系統(tǒng)架構(gòu)定義的設(shè)計團隊是否能夠使用這些需求開發(fā)FPGA?以及最后測試與驗證團隊是否能使用該文檔開發(fā)測試平臺和制定測試方案,明確驗證每一項需求是否通過。
二、軟件將成為有效利用FPGA的關(guān)鍵
除了硬件之外,如何在實際任務(wù)中最大效率地利用 FPGA 也是一個極其關(guān)鍵地問題。隨著 FPGA 和其他芯片(例如 CPU)緊密集成在一起形成一個異質(zhì)芯片系統(tǒng),如何確保軟件能夠充分利用 FPGA 并且避免調(diào)度等方面的瓶頸就是一個非常復雜但是重要的問題。這是一個有很高挑戰(zhàn)性的問題,因為 FPGA 和系統(tǒng)中其他部分(如 CPU)的編程模型可能非常不同,因此如何確保軟件可以正確分割任務(wù)(即把合適 FPGA 的任務(wù)分配給 FPGA,而適合其他處理器的任務(wù)分配給相應處理器),合理處理調(diào)度和內(nèi)存管理,并且以一種較為用戶友好的形式供軟件工程師使用,是一個很大的工程。這些是與傳統(tǒng) FPGA 軟件(即主要針對前端和后端邏輯綜合任務(wù))有較大區(qū)別的任務(wù)。
在這個領(lǐng)域,Intel 和 AMD 都在積極投資。例如,在 Intel 發(fā)布的 IPU 路線圖上,開放且靈活的軟件生態(tài)是 Intel 一個重要的投入領(lǐng)域,而且與之相應的是 Intel 在日前剛剛宣布要收購跨平臺異構(gòu)芯片軟件編譯器公司 Codeplay,這一舉動也被業(yè)界認為是在下一代 FPGA 軟件方面的投資。與此同時,AMD 也在五月的財報發(fā)布會上表示要大力投入軟件領(lǐng)域,顯然這里也包括了 FPGA 相關(guān)的軟件研發(fā)。我們認為,隨著 FPGA 成為新的芯片系統(tǒng)中的重要一環(huán),相應的軟件生態(tài)也必須要跟上,從而使得這樣的 FPGA 系統(tǒng)新范式真正進入主流。
以上便是小編此次帶來的全部內(nèi)容,十分感謝大家的耐心閱讀,想要了解更多相關(guān)內(nèi)容,或者更多精彩內(nèi)容,請一定關(guān)注我們網(wǎng)站哦。