<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

采用FPGA的原型開發板進行ASIC驗證與開發設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-05-16 08:07 ? 次閱讀

2004年12月在一項由Synplicity公司委托的調查中,全世界超過20,000名開發者被詢問關于他們的硬件輔助ASIC驗證策略。其結果表明今天1/3的ASIC設計者采用FPGA原型進行驗證。

即使ASIC設計在尺寸和復雜性上不斷增加,現代FPGA的容量和性能的新進展意味著這些設計中的2/3能夠使用單個FPGA進行建模。

然而,這些設計中仍然保留有1/3(那就是說,所有ASIC設計中的1/9)要求一個基于多個FPGA的原型開發板。

在不太遙遠的過去,對ASIC設計團隊而言,在這類情況下主要的解決方案就是在內部建立他們自己的定制多個FPGA的原型開發板。然而,今天,使用現成的多個FPGA原型開發板——例如,由Synplicity公司的原型開發伙伴生產的開發板——與合適的設計工具相結合能夠節省數周時間,否則的話將花費幾個月的驗證時間以及在NRE費用上花費數萬美元。

本文首先討論了ASIC驗證能夠采用的主要技術。接著,文章考慮了與使用一個現成的產品相比,建立一個定制的多個FPGA的原型開發板的優勢和缺陷。最后,論文介紹了目前最先進的用于驗證大型設計的分割和綜合設計工具,其采用內部開發或現成的多個FPGA的原型開發板。

可供選擇的驗證技術

今天高端ASIC,例如那些在手機、通訊、圖形子系統以及信號處理應用中使用的,經常包含多個CPUDSP內核,其結合了硬件加速器、外圍設備、接口和存儲器管理內核。(由于這些討論的目的,術語ASIC被假設包括了ASSP和SoC器件。)所以,為了滿足芯片的市場需求,盡可能早的在設計階段開發、端口、集成、調試和驗證任何嵌入式軟件的內容。

ASIC的RTL全功能驗證——其本身與任何嵌入式軟件——是ASIC設計過程中最耗費時間和最困難的部分之一。統計表明今天ASIC設計中的70%要求重制。除了費用極其昂貴之外,重制能夠引起項目失去其市場空間,這將嚴重損害公司的聲譽和金融底線。

對ASIC設計者開放的三個主要驗證選擇是仿真,模擬和FPGA原型開發。

*仿真:基于軟件的仿真被廣泛使用,但即使在一個真正的高端(并且,相對昂貴)的計算機平臺運行時,其運行比實際的ASIC硬件慢六到十個數量級,這使得其成為一項極大花費時間并且效率極差的技術。為了提供整個系統的尺寸認識,軟件仿真能夠典型地達到僅僅幾Hz相當的速度(那就是,設計的系統時鐘相對真實時間每秒鐘的幾個周期)。實際上,這意味著僅僅在一小部分設計中能夠實現廣泛的軟件驗證。

*模擬:基于硬件的模擬是另一個可供選擇的方法,但它仍然比實際的ASIC硬件至少慢三個數量級,因為大量的有關的復用技術將驗證速度減慢到僅僅500 KHz到2 MHz。此外,這種方法在預算和資源方面(依賴于模擬器的大小,每個相等的門電路成本能夠從25美分到一美元)是極其昂貴的。設計者需要的是一種可供選擇的方法,這將允許他們以較低的風險和成本投放市場。

*基于FPGA的原型開發:在許多情況下,“快速”驗證設計是必要的。例如,就視頻處理芯片來說,部分驗證可能包含評估視頻輸出流的主觀品質。相似地,在嵌入式軟件中驗證硬件要求極高的速度。其答案就是使用運行在10到80 MHz速度下的多個FPGA原型開發板,其相等于(或相當于)真實時間的ASIC速度(“真實激勵輸入,真實響應輸出”)。當將設計定制開發板與使用現成的開發板進行比較時,后者——當與恰當的設計工具結合時——能夠削減數周時間,不然的話,將花費數月的驗證時間并且(在每個相等的門電路為一美分的典型值下)節省數萬美元的NRE費用。

所關心的同樣是,除了提供一個軟件開發平臺和硬件的軟件驗證之外,該公司設計ASIC簡單地要求盡可能快的完成設計的全部功能;例如,證明硬件可以進行商業展示。

全定制與現成的原型開發板

大約在本文寫作前的三至五年,所有多個FPGA的原型開發板是“建立你自己的”全定制品種。相反,今天有著眾多現成的多個FPGA的原型開發板供應商群體。

提供一些參考,傳統的硬件模擬目前的市場是每年一億美元。比較起來,在過去幾年中,沒有任何人真正注意到,現成的多個FPGA的原型開發板工業已經增長到硬件模擬市場規模的四分之三。

工程師認為任何通用的都是次最優的。事實上,工程師經常希望建立他們自己的定制原型開發板,因為他們認為其性能將更好,他們相信與真實的世界接口將更容易,這些接口將更接近于他們想要的,他們認為這將減少項目成本,并且這將減少產品推向市場的時間。讓我們依次列出這些觀點:

*更好的性能:在包含了兩個或三個以上FPGA的原型開發板情況下,定制實現方式將超過它的現成對應物的性能是非常不可能的。這是因為設計這樣一塊電路板要求非常高水平的知識和經驗,這只能通過在幾年內設計數代這樣的電路板得到提高。

*消除創新:如果一項ASIC設計適合單個的FPGA,然后設計和實現一塊定制的電路板是相對簡單的。比較起來,在一項要求兩個FPGA的ASIC設計的情況下,該問題變得非常令人感興趣;并且,當使用三個或更多的FPGA時,事情變得按指數規律增加復雜性。

*消除接口:如果一項ASIC設計適合單個的FPGA,然后有一些令人信服的原因來設計定制電路板。其中一個原因是,在同一塊卡上按照任何接口邏輯實現該FPGA通常是有意義的。然而,在多個FPGA的原型開發板的解決方案中,通過使用很知名的現成電路板以及集中努力在特制的接口卡設計上,接口問題幾乎總是很簡單的。

*減少成本:設計和實現高端多個FPGA原型開發板要求大量的專業設計工程師和版圖工程師,這將比簡單的購買現成的電路板增加非常大的成本。

*減少產品推向市場的時間:即使對一家專業設計和實現多個FPGA原型開發板的公司而言,高端電路板的制作能夠很容易的花費掉9個月(并且這假設多個工程師和版圖設計師分多班倒班工作)的時間。不必驚訝,一個非專業的團隊將幾乎肯定花費更長的時間,這能夠很容易的造成項目落后于它的進度表,并且失去它的市場空間。作為一個多個FPGA原型開發板設計問題復雜性的例子,考慮來自Dini集團的DN8000K10電路板。Dini集團是Synplicity原型開發計劃的合作伙伴成員。

DN8000K10是一個USB 2.0主機邏輯原型系統,其能夠用二到十六個高容量的FPGA來組裝。在其最高的配置中,該電路板能夠被用于代表保守值相當于24,000,000 ASIC門的原型設計。

DN8000K10的設計和實現共花費九個月的時間。最為該項目的一部分,六位版圖工程師分兩班輪班工作了幾個月。最終的產品是28層的電路板,其芯片間通訊是在350 MHz下采用低壓差分信號(LVDS)實現的。(在設計管腳受限的情況下,每個LVDS管腳對支持集成的SERDES,這能夠提供高達10:1的復用。)在這一復雜度上,噪聲的處理問題和信號完成性問題要求很高的知識和經驗水平。這一水平的電路板完全超過了今天現成的自動布線工具能夠找到解決方案的能力的一至兩個數量級;所以,每個管腳是“手工挑選”,并且每條路徑是“手工連接”——沒有使用自動布線(除了該電路板周圍的外圍設備之外)。

手工分割和綜合多個FPGA設計

在手工分割的情況下,任何ASIC中心結構(門控時鐘,Synopsys的DesignWare?實例等),在原始的RTL源代碼中,在進行分割之前,不得不手工將它們翻譯為與它們的FPGA相等同的代碼。除其它東西之外,這直接導致了兩個分離的代碼流,這可能失去同步,從而導致在FPGA原型和ASIC之間所代表的功能不同。

當開始分割處理時,工程師們嘗試將不同的功能模塊組集合在一起,在這里每組在不同的FPGA上實現。這種組合(分割)以門級的傳統方式實現。最近,一些流程支持在RTL級分組,此時每個分成的組通過傳統的FPGA綜合工具,并且僅在這一點上,不同FPGA的實際資源利用是已知的。

所有這些方案都有一個問題,就是對于不同組的面積和資源的影響而言,工程師們是“臨時的盲人”,這導致了許多耗時的迭代。首先,工程師根據“A模塊可能將消耗‘xxx’的資源,而模塊B可能要求‘yyy’的資源”而進行“估算”。這些估算是根據大量“分組”命令,然后綜合(在基于RTL分割的情況下),然后是結果的分析,以及然后是大量的“取消組”和“再次分組”命令來估算不同的實現方式。

該任務由于這一事實而進一步混淆,該事實就是這些原型經常被FPGA上的I/O管腳的數量所限制;一個無效的解決方案很容易耗費一個器件上100%的I/O資源,然而與此同時,僅僅其相對少量的內部邏輯資源可以實現。為了克服這些I/O限制,I/O的多重分組和/或在多個FPGA中復制同一個邏輯模塊是必要的。(為了達到特定的性能目標,邏輯復制也是經常要求的。)

假設在這種原型中使用的每個FPGA可能有超過1000個管腳,一項管理連接的電子表格方法能很容易地包含幾千個單元。不足為奇地是,記錄分配給每個FPGA的模塊和連接矩陣(在不同FPGA之間的連接)是一項繁重的任務,這將是資源密集型的、耗時的以及容易出錯的。

自動分割和綜合多個FPGA設計

來自Synplicity的Certify? RTL原型開發工具是業內時間最長和最強大的多個FPGA分割和綜合工具。很令人感興趣的是,當Certify軟件在上世紀90年代晚期創立時,對ASIC設計團隊而言,沒有任何現成的多個FPGA原型開發板能夠得到。在那時,Certify軟件被設計成一個ASIC團隊設計他們自己的定制的多個FPGA原型開發板的輔助工具。

使用Certify軟件,工程師們能夠定義電路板上的FPGA的數量和類型以及它們之間的互連線。隨后,該數據被用于對通過多個FPGA進行ASIC設計自動地分割RTL,并且將被分割的RTL綜合成用于FPGA編程的配置文件。

一旦工程師們已經使用Certify工具來定義電路板的基本結構,來自該軟件的輸出之一是描述FPGA以及它們之間連接的網表。以Verilog來描述的該網表的格式由Synplicity定義,并且是知名的*.vb(Verilog模版)格式。

設計團隊希望建立他們自己的定制電路板今天仍然使用這種技術。這一點使得Synplicity的*.vb格式很快變成這種類型應用的事實上的工業標準?,F在,每個現成的多個FPGA原型開發板供應商采用通用的*.vb文件交付他們的電路板,其作為定義每塊開發板結構的輸入被讀入到Certify軟件。

Certify工具能夠采用Verilog、VHDL和混合語言進行設計。該流程中的第一個要素是采用Certify軟件,自動將任何ASIC專用代碼轉換為相當的FPGA結構。就目前現成的多個FPGA原型開發板而言,用戶簡單地通知軟件使用下拉式列表框的開發板的類型,該列表框包括來自所有主要第三方供應商所提供的開發板。(換句話說,如果這是一塊定制的電路板,Certify工具有能力建立一個在傳輸過程中的“虛擬的”多個FPGA開發板,接下來這塊虛擬的開發板能夠作為建立真實電路板的基礎來使用。)接下來,Certify軟件用于通過多個FPGA自動分割設計(圖 2)。

采用FPGA的原型開發板進行ASIC驗證與開發設計

與Certify軟件緊密集成在一起的是Synplicity的HDL分析器,其以高級的層次化的模塊圖以及接著綜合相應的門級電路的形式,自動地產生設計的技術獨立的圖形視圖。Certify和HDL分析器工具在HDL源代碼和模塊級以及門級電路之間,支持全雙向交叉探測,所以允許設計者在設計以及定位感興趣的信號和邏輯功能之間,進行快速定位。除設計的各種其他視圖之外,Certify軟件提供一個形成原型開發板的FPGA的圖形表示(第6頁圖3)。這些虛擬器件中的每一個有兩個關聯的“溫度計型”顯示:其反映I/O的應用和器件的其他面積/資源應用。

以I/O和相關的邏輯資源以及FPGA和在FPGA之間的布線資源的認識為基礎,Certify軟件能夠自動地實現管腳分配和交互地執行分割——通過簡單地拖曳代碼模塊和將它們下拉到不同的FPGA——或者兩種技術可以混合使用。

Certify軟件提供大量非常強大的工具來幫助分割任務。例如,接下來的分割,軟件能夠分析結果和向用戶提出使用Certify管腳復用(CPM)的時機,信號的復合設置是一起復用來減輕在相關器件I/O資源上的負載。除了在多個器件上促進邏輯復制外,Certify工具也提供位片應用,其中寬的數據路徑結構能夠分裂成更小的分支。此外,Certify軟件提供成熟的“撕裂”能力,借此將大的模塊分解成更小的部分(這些部分能夠依次分配給不同的FPGA)。

采用FPGA的原型開發板進行ASIC驗證與開發設計

作為一個候選的分割實現方式就是建立,其他非常有用的特性使其能夠被命名和保存。這允許用戶維持對多個可選擇的分割方案的控制。這種能力能夠與Certify軟件的影響分析特征一道使用,其允許用戶就在該多個FPGA開發板上能夠得到的面積和I/O而論,估計布局和/或移動邏輯。而不是用戶不得不推測這個邏輯應該被分配給哪個FPGA,影響分析產生關于以那個分割決定為基礎的特定信息。

一旦分割已經被執行,Certify軟件用于綜合與不同的FPGA器件有關的代碼流。該工具使用同一個基本的綜合技術,就是起重要作用的Synplicity的主導市場的Synplify Pro? FPGA綜合引擎。例如,Certify軟件充分利用Synplicity的BEST? (Behavior Extracting Synthesis Technology?)算法,其分析RTL和在主要綜合步驟前實現高級優化。并且,Certify工具以擁有Synplify Pro軟件的先進的綜合能力為自豪,例如資源共享、寄存器平衡、重定時、復制以及再次綜合。

這個過程一個關鍵的方面是Certify軟件把不同的FPGA簡單看作設計層次中一個額外的層。這意味著該工具提供針對性能優化時序路徑的獨特能力,甚至當這些路徑越過多個FPGA時(Certify軟件也能夠提供一個時序報告,其告知設計者原型在硬件被編程之前能夠達到的性能)。

總結

建立ASIC原型設計的必要性正在不斷增加,按照系統要求其實現是“飛速”地。達到這一性能水平的最節省成本的技術就是,建立基于FPGA的原型開發。已經證明有九分之一的ASIC設計師使用多個FPGA的原型開發板,這一趨勢正在不斷增長。在這種情況下,人們越來越普遍使用現成的原型開發板,這來自Synplicity的原型開發伙伴之一,包括Dini集團、Hardi電子、GiDel和Altera。

當使用與來自Synplicity的Certify RTL原型開發軟件時,與建立定制的原型開發板相比,這些最新技術的電路板在更低的成本上提供了更高的性能,并且減少了產品推向市場的時間?,F成的多個FPGA的原型開發板和Certify軟件的組合意味著ASIC項目能夠節省數月的驗證時間,這是在所有的器件和系統層次,允許設計團隊與真實的硬件相比進行測試得出的結論,并且可以在設計過程中較早的發現難以察覺的問題。通過較早的允許硬件原型用于軟件開發和系統集成,可以更進一步的縮短產品推向市場的時間。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1610

    文章

    21372

    瀏覽量

    595019
  • asic
    +關注

    關注

    34

    文章

    1163

    瀏覽量

    119593
  • soc
    soc
    +關注

    關注

    38

    文章

    3806

    瀏覽量

    216158
收藏 人收藏

    評論

    相關推薦

    什么是FPGA原型驗證?如何用FPGAASIC進行原型驗證?

    FPGA原型在數字芯片設計中非常重要,因為相比用仿真器,或者加速器等來跑仿真,FPGA的運行速度,更接近真實芯片,可以配合軟件開發者來進行
    發表于 05-10 10:44 ?6304次閱讀
    什么是<b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>驗證</b>?如何用<b class='flag-5'>FPGA</b>對<b class='flag-5'>ASIC</b><b class='flag-5'>進行</b><b class='flag-5'>原型</b><b class='flag-5'>驗證</b>?

    ASIC設計-FPGA原型驗證

    ....................................................1185.2.4降低電磁干擾..............................................1195.3 FPGA 開發板
    發表于 09-18 15:26

    Synplicity為HAPS ASIC原型設計系統增添新成員

    。HAPS-51采用FPGA陣列Xilinx Virtex-5 LX330和上存儲器,加快了ASIC驗證的速度。先前的HAPS系統在存儲器
    發表于 11-20 15:49

    高頻RFID芯片的FPGA原型驗證平臺設計及驗證

    的RFID系統,用FPGA原型驗證平臺替代上述的電子標簽芯片(Tag),使用上層的應用軟件開發驗證激勵。通過閱讀器與
    發表于 05-29 08:03

    ASIC設計-FPGA原型驗證

    ASIC設計-FPGA原型驗證
    發表于 03-19 16:15

    FPGA原型驗證的技術進階之路

    Tape Out并回片后都可以進行驅動和應用的開發。目前ASIC的設計變得越來越大,越來越復雜,單片FPGA已不能滿足原型
    發表于 08-21 05:00

    如何利用現成FPGA開發板進行ASIC原型開發?

    ASIC驗證能夠采用的主要技術是什么?如何利用現成FPGA開發板進行
    發表于 05-08 07:51

    為什么fpga開發板可以跑c代碼呢

    為什么fpga開發板可以跑c代碼?fpga原型驗證綜合arm處理器嗎?
    發表于 09-15 15:01

    ASICFPGA原型驗證代碼轉換技術

    ASIC設計進行FPGA原型驗證時,由于物理結構不同,ASIC的代碼必須
    發表于 03-25 15:16 ?108次下載

    談談如何利用FPGA開發板進行ASIC原型開發

    ASIC設計在尺寸和復雜性上不斷增加,現代FPGA的容量和性能的新進展意味著這些設計中的2/3能夠使用單個FPGA進行建模。
    發表于 02-11 16:26 ?831次閱讀
    談談如何利用<b class='flag-5'>FPGA</b><b class='flag-5'>開發板</b><b class='flag-5'>進行</b><b class='flag-5'>ASIC</b><b class='flag-5'>原型</b><b class='flag-5'>開發</b>

    利用FPGA開發板進行ASIC原型開發的技巧

    設計中的1/9)要求一個基于多個FPGA原型開發板。 在不太遙遠的過去,對ASIC設計團隊而言,在這類情況下主要的解決方案就是在內部建立他們自己的定制多個
    發表于 11-25 09:05 ?980次閱讀

    關于FPGA開發板原型驗證系統對比介紹

    其次,部分FPGA開發板也被用在IP和小型芯片設計的開發驗證場景。這部分開發板配備大容量的FPGA
    的頭像 發表于 04-28 09:38 ?2361次閱讀

    FPGA開發板vs原型驗證系統

    電路,是可編程的邏輯陣列。FPGA 的基本結構包括可編程輸入輸出單元、基本可編程邏輯單元、數字時鐘管理模塊、嵌入式塊RAM、豐富的布線資源、內嵌專用硬核,以及底層內嵌功能單元。 ? 圖1? 某FPGA的基本邏輯單元?? 市售常見的基于F
    的頭像 發表于 04-28 14:16 ?3060次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>開發板</b>vs<b class='flag-5'>原型</b><b class='flag-5'>驗證</b>系統

    什么是FPGA原型驗證?如何用FPGAASIC進行原型驗證

    FPGA原型設計是一種成熟的技術,用于通過將RTL移植到現場可編程門陣列(FPGA)來驗證專門應用的集成電路(ASIC),專用標準產品(AS
    發表于 04-10 09:23 ?1084次閱讀

    利用FPGA開發板進行ASIC原型開發的技巧

    設計中的1/9)要求一個基于多個FPGA原型開發板。 在不太遙遠的過去,對ASIC設計團隊而言,在這類情況下主要的解決方案就是在內部建立他們自己的定制多個
    的頭像 發表于 06-04 16:50 ?803次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>