<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 談?wù)勅绾卫肍PGA開(kāi)發(fā)板進(jìn)行ASIC原型開(kāi)發(fā)

談?wù)勅绾卫肍PGA開(kāi)發(fā)板進(jìn)行ASIC原型開(kāi)發(fā)

作者: 時(shí)間:2017-10-13 來(lái)源:網(wǎng)絡(luò ) 收藏

設計在尺寸和復雜性上不斷增加,現代的容量和性能的新進(jìn)展意味著(zhù)這些設計中的2/3能夠使用單個(gè)進(jìn)行建模。然而,這些設計中仍然保留有1/3(那就是說(shuō),所有設計中的1/9)要求一個(gè)基于多個(gè)的原型開(kāi)發(fā)板。

本文引用地址:http://dyxdggzs.com/article/201710/365616.htm

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

本文首先討論了ASIC驗證能夠采用的主要技術(shù)。接著(zhù),文章考慮了與使用一個(gè)現成的產(chǎn)品相比,建立一個(gè)定制的多個(gè)FPGA的原型開(kāi)發(fā)板的優(yōu)勢和缺陷。最后,論文介紹了目前最先進(jìn)的用于驗證大型設計的分割和綜合設計工具,其采用內部開(kāi)發(fā)或現成的多個(gè)FPGA的原型開(kāi)發(fā)板。

可供選擇的驗證技術(shù)

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

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

對ASIC設計者開(kāi)放的三個(gè)主要驗證選擇是仿真,模擬和FPGA原型開(kāi)發(fā)。

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

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

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

所關(guān)心的同樣是,除了提供一個(gè)軟件開(kāi)發(fā)平臺和硬件的軟件驗證之外,該公司設計ASIC簡(jiǎn)單地要求盡可能快的完成設計的全部功能;例如,證明硬件可以進(jìn)行商業(yè)展示。

全定制與現成的原型開(kāi)發(fā)板

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

提供一些參考,傳統的硬件模擬目前的市場(chǎng)是每年一億美元。比較起來(lái),在過(guò)去幾年中,沒(méi)有任何人真正注意到,現成的多個(gè)FPGA的原型開(kāi)發(fā)板工業(yè)已經(jīng)增長(cháng)到硬件模擬市場(chǎng)規模的四分之三。

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

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

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

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

*減少成本:設計和實(shí)現高端多個(gè)FPGA原型開(kāi)發(fā)板要求大量的專(zhuān)業(yè)設計工程師和版圖工程師,這將比簡(jiǎn)單的購買(mǎi)現成的電路板增加非常大的成本。

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

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

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

手工分割和綜合多個(gè)FPGA設計

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

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

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

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

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

自動(dòng)分割和綜合多個(gè)FPGA設計

來(lái)自Synplicity的CerTIfy? RTL原型開(kāi)發(fā)工具是業(yè)內時(shí)間最長(cháng)和最強大的多個(gè)FPGA分割和綜合工具。很令人感興趣的是,當CerTIfy軟件在上世紀90年代晚期創(chuàng )立時(shí),對ASIC設計團隊而言,沒(méi)有任何現成的多個(gè)FPGA原型開(kāi)發(fā)板能夠得到。在那時(shí),CerTIfy軟件被設計成一個(gè)ASIC團隊設計他們自己的定制的多個(gè)FPGA原型開(kāi)發(fā)板的輔助工具。

使用CerTIfy軟件,工程師們能夠定義電路板上的FPGA的數量和類(lèi)型以及它們之間的互連線(xiàn)。隨后,該數據被用于對通過(guò)多個(gè)FPGA進(jìn)行ASIC設計自動(dòng)地分割RTL,并且將被分割的RTL綜合成用于FPGA編程的配置文件。

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

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

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

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

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

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


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

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

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

總結

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

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



關(guān)鍵詞: FPGA ASIC

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>