FPGA 原型設計:軟件最重要!

發(fā)布時(shí)間:2010-3-21 14:26    發(fā)布者:嵌入式公社
關(guān)鍵詞: FPGA , 軟件 , 設計 , 原型
FPGA 原型設計人員艱苦努力所得的明顯回報就是 ASIC 設計可以及時(shí)而毫無(wú)問(wèn)題地完成產(chǎn)品定案(tape-out)。不過(guò),原型設計還有一點(diǎn)日益重要的優(yōu)勢,即 ASIC 或 SoC 中嵌入的軟件在項目開(kāi)發(fā)的早期階段便可與實(shí)際速度硬件進(jìn)行完美集成。

為什么軟件團隊要關(guān)注 FPGA 原型設計問(wèn)題

獨立的 EDA 分析師 Gary Smith 指出(見(jiàn)圖 1),SoC 采用的CMOS工藝節點(diǎn)日益小型化,而且技術(shù)越來(lái)越復雜,因此軟件組成部分已成為產(chǎn)品特色和開(kāi)發(fā)焦點(diǎn)所在。進(jìn)入市場(chǎng)的最新消費類(lèi)器件多采用復雜的 SoC,其中包括眾多嵌入式處理器和幾十萬(wàn)甚至數百萬(wàn)行代碼。Apple iPhone 就是一個(gè)很好的例子,它至少包含 3 個(gè) ARM 處理器。加速產(chǎn)品上市進(jìn)程對產(chǎn)品推出至關(guān)重要,在此情況下,怎么才能在 SoC 環(huán)境中進(jìn)行軟件驗證呢?



SoC 開(kāi)發(fā)團隊越來(lái)越多地開(kāi)始采用 FPGA 原型設計作為解決方案來(lái)進(jìn)行驗證并及時(shí)推出各種類(lèi)型的產(chǎn)品。

為什么選擇原型設計技術(shù)?

集成操作系統、應用和硬件非常復雜,會(huì )出現許多不可預見(jiàn)的軟件問(wèn)題。實(shí)際速度運行的 FPGA 原型設計能提供一個(gè)獨特的環(huán)境,在關(guān)鍵的集成階段節約數月之久的高強度軟件測試工作。如果這款原型設計還要采用其它軟件,要進(jìn)行其它實(shí)驗室測試,那么原型設計的優(yōu)勢會(huì )進(jìn)一步體現出來(lái),即便對客戶(hù)接受度測試來(lái)說(shuō)都是有益的。Synplicity 推出的 HAPS (高速 ASIC 原型設計系統)等現成的高質(zhì)量 FPGA原型驗證板基本解決了投放產(chǎn)品的時(shí)間問(wèn)題,剩下的就是要考慮成本問(wèn)題:

增加板的用量將找出更多錯誤

軟件的潛在用戶(hù)數量巨大,他們會(huì )隨心所欲使用軟件,難免不造成操作系統鎖死,應用崩潰,或者做些軟件工程師根本想象不到的事情。

何時(shí)進(jìn)行原型設計

在 SoC 設計完成之前就進(jìn)行調試顯然是非常有利的。圖 1 顯示了大型 ASIC 項目各階段中通常要特別注意的模擬、仿真和原型設計問(wèn)題。我們可以看到,FPGA 原型設計最常用,因為項目在集成階段需要確保高速和高容量。

我們不妨設想這樣一種情況,軟件集成問(wèn)題的最佳解決方案需要修改硬件。舉例來(lái)說(shuō),需要將占用大量周期的DSP算法提取出來(lái),并用協(xié)處理器或定制的器件邏輯來(lái)代替。如果 SoC 已基本完成了產(chǎn)品定案,甚至已完成設計推出了樣片才發(fā)現這一問(wèn)題,那么不管修改錯誤對最終產(chǎn)品有什么好處,我們也不太可能考慮對器件進(jìn)行必要的調整了。事實(shí)上,早期進(jìn)行 FPGA 原型設計有助于及時(shí)進(jìn)行設計調整。FPGA 原型設計技術(shù)使用越來(lái)越多,其原因之一就是在項目早期階段可判斷軟/硬件的問(wèn)題并權衡利弊(也請參見(jiàn)圖 1)。

原型設計面臨的挑戰

實(shí)施 ASIC 的 FPGA 原型需要解決多種開(kāi)發(fā)難題。令人驚訝的是,設計硬件本身并不是最具挑戰性的問(wèn)題。事實(shí)上,許多廠(chǎng)商都提供為滿(mǎn)足特定目的而設計的 ASIC 原型板(如HAPS)。真正的挑戰則在于如何實(shí)施 FPGA 設計方案。

分區和 I/O 處理

盡管目前最大的 FPGA 每個(gè)都能處理 200 多萬(wàn)個(gè) ASIC 門(mén),但眾多 ASIC 設計的要求要大得多。這就要求對 SoC 的關(guān)鍵部分進(jìn)行原型設計,或者設計方案必須在多個(gè) FPGA上進(jìn)行分區。但這會(huì )造成一些有趣的障礙,因為我們的整體目標是進(jìn)行驗證,因此分區時(shí)必須盡可能減少對 ASIC RTL 的變動(dòng)。設計方案分區會(huì )造成人為的分界線(xiàn),如果設計方案的內部總線(xiàn)或數據路徑較寬,則會(huì )造成所需 I/O 引腳的數量爆炸性增長(cháng),進(jìn)而引起 FPGA 引腳不足。即便采用最新型的 FPGA,每個(gè) FPGA支持 1000個(gè)以上的I/O 引腳,也有不夠用的時(shí)候。



我們可在同一 FPGA 引腳上先對多個(gè)信號進(jìn)行多路復用,然后再在目標 FPGA 上進(jìn)行多路分解工作,從而生成更多 I/O 資源。即便如此,我們還是不希望變動(dòng) ASIC RTL,因此要進(jìn)行自動(dòng)引腳多路復用。這肯定會(huì )產(chǎn)品性能造成一定的影響;但 FPGA 的I/O足夠快,即便采用多路復用技術(shù),仍能提供足夠高的性能,確保復雜的嵌入式軟件驗證工作能夠以實(shí)際速度進(jìn)行。

不改變 RTL 就修改拓撲結構

憑借設計人員的智慧,通過(guò)一定的手動(dòng)干預,我們可在一個(gè)以上的 FPGA 中復制子模塊,從而減少 I/O 限制,降低互連需求。通過(guò)對 RTL 做進(jìn)一步的專(zhuān)門(mén)化操作,如對低級門(mén)進(jìn)行位切片(bit-slicing)或壓縮(zipper)更多復雜模塊(這些都不需要變動(dòng) RTL),可進(jìn)一步降低 FPGA I/O 需求。

ASIC 時(shí)鐘和 FPGA 時(shí)鐘不一樣將 SoC 設計移植到 FPGA 上時(shí),設計團隊還會(huì )面臨更多問(wèn)題,因為原始 RTL 的作者根本不可能考慮到 FPGA 問(wèn)題。RTL 中不利于 FPGA 的因素包括 ASIC 元件例化和 RAM BIST 等,不過(guò)最重要的問(wèn)題在于 IP 和時(shí)鐘復雜性。為降低功耗,FPGA 會(huì )盡量支持ASIC 常用的門(mén)控時(shí)鐘(gated-clock)設計風(fēng)格。時(shí)鐘門(mén)信號必須轉化為 FPGA 硬件中的時(shí)鐘啟用(clock enables)信號。手動(dòng)進(jìn)行這種轉換工作量太大并帶來(lái)新的問(wèn)題。一些合成工具可以自動(dòng)進(jìn)行門(mén)—時(shí)鐘轉換,甚至能支持復雜的時(shí)鐘生成電路。圖 3 顯示了 Synplicity 的 Synplify Premier 中自動(dòng)化時(shí)鐘轉化的實(shí)例。



處理IP

ARM 處理器等大型 IP 塊可作為完整的芯片購買(mǎi),直接接口于其它原型設計硬件。唯一要求就是硬件必須足夠靈活,以滿(mǎn)足ARM Coretile 等多種支持 IP 功能的子卡需要。但是,存儲器、FIFO、乘法器和加法器等小型常見(jiàn)功能太多了,難以通過(guò)這種方式一一滿(mǎn)足。適當的 EDA 軟件能自動(dòng)將這些功能轉化為 FPGA 內部兼容型實(shí)施方案,或者通過(guò)簡(jiǎn)單的方式將其隔離到FPGA外部實(shí)現。

采用FPGA板后的工作

設計移植到 FPGA上并以實(shí)際速度運行后,又會(huì )出現另一個(gè)問(wèn)題,即如何高效完成調試工作。嵌入式或外置的邏輯分析器可解決此問(wèn)題,但這些工具通常工作于門(mén)級層面。因此,跟蹤返回至 RTL級(即最初進(jìn)行設計的層面)的信號會(huì )花費大量時(shí)間,畢竟這需要在合成步驟中逆向工作。最好用能無(wú)縫保持門(mén)級和 RTL 級層面之間軟鏈接(symbolic link)的工具進(jìn)行調試。

Synplicity 開(kāi)發(fā)了稱(chēng)作 TotalRecall Full Visibility Technology 的新技術(shù),能自動(dòng)從原型設計中提取完整的測試實(shí)例,其中包括導致故障或斷言失敗的所有情況,可以了解軟件調試觸發(fā)器的外部輸入問(wèn)題等。捕獲到的測試實(shí)例可隨時(shí)在正常 RTL 模擬器中重放并分析。該功能使 FPGA 原型設計能擴展到更廣泛的驗證環(huán)境中,現在已經(jīng)在Synplicity 的 Identify Pro 產(chǎn)品中實(shí)現。

FPGA 原型設計技術(shù)的發(fā)展趨勢

以實(shí)際速度運行的 FPGA 原型為復雜的嵌入式系統和 SoC 的驗證工作提供了強有效的解決方案。如前所述,目前,我們可以獲得解決本領(lǐng)域中一直面臨的各種挑戰的 EDA 工具和現成的原型板。即便如此,還有待全面集成原型設計硬件和工具組件。這樣我們就能縮短原型設計和重復修改的時(shí)間。隨著(zhù)功能的不斷發(fā)展,Synplicity 的 Confirma平臺等以實(shí)際速度運行的驗證系統將取代其它傳統驗證方法,成為所有 SoC 開(kāi)發(fā)工作中不可或缺的一部分。

作者:Synplicity 公司歐洲業(yè)務(wù)開(kāi)發(fā)總監 Doug Amos,2007-10
本文地址:http://selenalain.com/thread-9685-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页