最佳方法導(dǎo)致成功
大型 FPGA 設(shè)計(jì)的先決條件通常包括客戶、開發(fā)人員、PCB 制造商、電路板制造商和 FPGA 制造商之間的密切合作和深入的信息交流。為了執(zhí)行這些任務(wù),HEITEC 定義了一種方法,該方法非常強(qiáng)調(diào)明確的定義、全面的文檔和持續(xù)的審查,尤其是在項(xiàng)目的早期階段。必須從頭開始指定概念,并且必須明確定義所需的功能和架構(gòu),以便開發(fā)過程可以有效地進(jìn)行,而無(wú)需進(jìn)行大量的重新設(shè)計(jì)。詳細(xì)記錄項(xiàng)目的每個(gè)階段尤為重要。與客戶的初步討論是基于需求的設(shè)計(jì)的基礎(chǔ)。目標(biāo)是需求規(guī)范,即 通過制定要求表,包括功能和性能參數(shù),以及電氣、機(jī)械和熱性能。接下來的步驟是概念規(guī)范、功能規(guī)范、開發(fā)和實(shí)施以及使用系統(tǒng)仿真驗(yàn)證和確認(rèn)功能。
概念規(guī)格
第一步是概念規(guī)范,它定義了所有要求、實(shí)現(xiàn)概念、FPGA 選擇和數(shù)據(jù)傳輸模型。對(duì)于高度復(fù)雜的項(xiàng)目,這可能會(huì)持續(xù)數(shù)周甚至數(shù)月,并產(chǎn)生包含有時(shí)超過 100 頁(yè)的描述、高級(jí)塊圖像和表格的詳細(xì)文檔。在這個(gè)階段,功能劃分是確定的,即定義哪些功能在硬件或軟件中實(shí)現(xiàn),以及使用哪些硬件組件(CPU、FPGA、ASIC、SoC)。對(duì)于不同的解決方案,會(huì)創(chuàng)建一個(gè)決策矩陣來選擇基本組件,例如 CPU、SoC、高速 I/O 接口、內(nèi)存接口等。
在這里,也確定將使用哪些 IP。例如,可能需要將用于控制和調(diào)試任務(wù)的處理器集成到 FPGA 中,因?yàn)樵诟咚傧拢?a href="http://www.wenjunhu.com/v/tag/137/" target="_blank">芯片上的常規(guī)測(cè)量有時(shí)不再可能,并且必須通過適當(dāng)?shù)能浖湍J缴善鲌?zhí)行內(nèi)部自檢。 相應(yīng)的狀態(tài)寄存器、錯(cuò)誤計(jì)數(shù)器、錯(cuò)誤位等可用于確定是否已實(shí)現(xiàn)所需功能并能夠逐步糾正故障。在概念階段,系統(tǒng)性能和實(shí)時(shí)能力以及電氣、機(jī)械和熱性能也正在評(píng)估中。在這個(gè)階段特別重要的是整個(gè)項(xiàng)目的時(shí)間和成本估算,包括規(guī)格、FPGA和電路板開發(fā),
功能規(guī)范
功能規(guī)范定義了硬件和固件設(shè)計(jì)規(guī)范。硬件設(shè)計(jì)規(guī)范涉及 FPGA 以及板上的所有基本組件。它包括定義 FPGA 架構(gòu)、選擇和描述 FPGA 組件、估計(jì)電路板和 FPGA 的電源和電壓要求、詳細(xì)的功能框圖、模塊描述、流程圖、映射 FPGA I/O 引腳、時(shí)鐘和復(fù)位概念,硬件和軟件接口以及所需的測(cè)試環(huán)境。
作為固件設(shè)計(jì)規(guī)范的結(jié)果,提供了詳細(xì)的流程圖、操作系統(tǒng)的選擇、引導(dǎo)概念以及低級(jí)驅(qū)動(dòng)程序和測(cè)試?yán)痰亩x。此外,它還規(guī)定了交互測(cè)試、應(yīng)用程序詳細(xì)信息、固件/軟件接口、診斷支持和錯(cuò)誤處理。
質(zhì)量保證
隨著實(shí)際設(shè)計(jì)的開始,為質(zhì)量保證采取進(jìn)一步的綜合措施至關(guān)重要。仔細(xì)審查是合適的方法,因?yàn)檫@已經(jīng)識(shí)別出規(guī)范和代碼中的許多錯(cuò)誤。這可能看起來很麻煩,但它非常有效并且可以在早期階段提高質(zhì)量。開發(fā)人員之間通過審查和檢查交流經(jīng)驗(yàn)自動(dòng)意味著在項(xiàng)目的各個(gè)階段增加開發(fā)知識(shí)。這些措施得到了廣泛的清單和一致的版本管理的補(bǔ)充。Mentor HDL Designer 等高級(jí)設(shè)計(jì)輸入工具用于實(shí)施,
經(jīng)驗(yàn)證的 ASIC 設(shè)計(jì)概念
ASIC 成功開發(fā)的關(guān)鍵在于,在將數(shù)據(jù)移交給 ASIC 制造商之前,設(shè)計(jì)的整體功能已經(jīng)過全面驗(yàn)證。最終設(shè)計(jì)中的故障非常困難,最重要的是,由于口罩的精心生產(chǎn),修復(fù)起來非常昂貴。相比之下,F(xiàn)PGA 在修復(fù)設(shè)計(jì)缺陷和實(shí)現(xiàn)功能更改方面具有更大的靈活性。然而,為了能夠滿足高度復(fù)雜的 FPGA 設(shè)計(jì)通常緊縮的時(shí)間表和成本框架,這里描述的設(shè)計(jì)方法是必不可少的。
這是避免回顧性的唯一方法,通常只能進(jìn)行復(fù)雜的可實(shí)施功能更改以及冗長(zhǎng)且昂貴的故障分析。此外,從早期設(shè)計(jì)階段的一開始,就可以在概念、FPGA 架構(gòu)、I/O 引腳和 VHDL 編碼中嚴(yán)格考慮高速方面。良好的編碼指南以及熟練的流水線和注冊(cè)在后期綜合和 P&R 期間獲得回報(bào)。
因此,HEITEC 開發(fā)人員也始終如一地利用他們?cè)?ASIC 設(shè)計(jì)方面的多年經(jīng)驗(yàn)來設(shè)計(jì)高速 FPGA 解決方案。
最初,開發(fā)團(tuán)隊(duì)分析了系統(tǒng)規(guī)格。在具有 Arria 10 的系統(tǒng)中,F(xiàn)PGA 通常在整個(gè)系統(tǒng)中發(fā)揮重要作用,并影響系統(tǒng)設(shè)計(jì)的其余部分。通過為系統(tǒng)和 FPGA 創(chuàng)建詳細(xì)的設(shè)計(jì)規(guī)范,并通過定義與系統(tǒng)其余部分的 FPGA 輸入和輸出接口,盡可能透明地說明設(shè)計(jì)過程非常重要。
密集的數(shù)據(jù)處理包括多個(gè)發(fā)送和接收路徑,其中大量數(shù)據(jù)處理可能導(dǎo)致數(shù)值輸出的高動(dòng)態(tài)性。指定的發(fā)送和接收路徑越多,當(dāng)然要求就越高。硬浮點(diǎn)功能對(duì)此非常有幫助,提供了更高的穩(wěn)定性,并且在 1.5 GHz 時(shí)比以前的技術(shù)更強(qiáng)大。
借助 Arria 10 中的硬浮點(diǎn) DSP 模塊,F(xiàn)PGA 系統(tǒng)能夠克服許多性能限制挑戰(zhàn)并顯著降低功耗。該架構(gòu)消除了 100% 通常使用 FPGA 資源實(shí)現(xiàn)的 IEEE 754 浮點(diǎn)邏輯。首先,所有必要的要求都記錄在硬化的 DSP 模塊中。這消除了使用寶貴的 FPGA 資源創(chuàng)建非規(guī)范化和規(guī)范化邏輯的需要。過去,硬件實(shí)施不可能立即實(shí)現(xiàn)。通常,該算法必須分幾個(gè)步驟轉(zhuǎn)換為最適合 FPGA 架構(gòu)的定點(diǎn)實(shí)現(xiàn)。簡(jiǎn)化的實(shí)現(xiàn)消除了復(fù)雜的調(diào)試并顯著縮短了開發(fā)時(shí)間。
在設(shè)計(jì)過程中,各種考慮因素發(fā)揮了特殊作用:指定 FPGA 的 I/O 接口、識(shí)別不同的時(shí)鐘域、定義基本設(shè)計(jì)功能的框圖、集成 IP 塊、制定功能的驗(yàn)證/測(cè)試計(jì)劃整個(gè)團(tuán)隊(duì)(可制造性設(shè)計(jì))。此外,通用設(shè)計(jì)目錄結(jié)構(gòu)是有益的,因?yàn)樗龠M(jìn)了不同級(jí)別的集成。這個(gè)概念的目標(biāo)是通過 JTAG 端口進(jìn)行 FPGA 編程,并通過 GUI-PC 以太網(wǎng)接口加載 FPGA 配置的更新以及 HPS CPU 軟件。
審核編輯:郭婷
-
dsp
+關(guān)注
關(guān)注
554文章
8058瀏覽量
349577 -
FPGA
+關(guān)注
關(guān)注
1630文章
21777瀏覽量
604731 -
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5452瀏覽量
172195
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論