Issuu on Google+

賽靈思背景資料介紹

ALL PROGRAMMABLE ABSTRACTIONS

ALL PROGRAMMABLE ABSTRACTIONS計畫 實現ALL PROGRAMMABLE的最佳解決方案

All Programmable Abstractions 計畫是賽靈思 與產業聯盟計畫成員推出的一整套設計流程抽 象化計畫,能加速產品開發,提供軟體開發人員 採用客製化的硬體加速器,並可協助系統工程師 為軟硬體的性能進行最佳化。All Programmable Abstractions 計畫超越了傳統的 RTL 設計方法, 可將系統開發和 All Programmable FPGA、SoC 和 3D IC 中的演算法部署變成全面自動化。賽靈 思與產業聯盟計畫成員攜出推出全面性的解決 方案,藉由最能符合設計團隊和目標應用的需求

圖一:All Programmable 設計抽象化和自動化

加速開發流程。 由於獲得產業標準和開放原始碼社群採用與推廣,讓各種設計抽象化帶來的自動化得以實現。 賽靈 思和業界合作夥伴採用業界標準的程式設計語言和以 Eclipse 環境為基礎的工具鏈、ARM® AMBA AXI4 介面、符合 IP-XACT 標準的隨插即用 IP 與 IEEE1735 加密技術,推出領先業界的設計方法、 工具和 IP,加速各種 All Programmable FPGA、SoC 和 3D IC 設計的自動化。

圖二: 各種設計抽象化推動自動化的發展

加速硬體工程師的開發作業 美國國防部在 1981 年透過開發 VHSIC 硬體描述語言 (VHDL)「解決了硬體生命週期的危機」,並要求此種語 言需具備廣泛的描述功能,能在任何模擬器上產生相 同的結果,而且不會受到不同的技術和設計方法之影 響。於此同時,Gateway Design Automation(GDA) 公 司開發一款邏輯模擬器 Verilog-XL,隨即被 Cadence® 公司收購.。該硬體描述語言(VHDL) 隨後在市場推出 後,其他電子設計自動化(EDA)公司皆能使用這種語言


賽靈思背景資料介紹

ALL PROGRAMMABLE ABSTRACTIONS

建置自動化功能。隨著 VHDL 和 Verilog 的快速標準化,設計自動化也隨之應運而生。 賽靈思 All Programmable Abstractions 計畫以此為建置基礎,同時擁有新型、穩健的 IP 導向設計流 程,能大幅提高設計生產力、協助設計人員加速產品的上市時程,進而有助企業搶占市場先機。 運用 Vivado 高階合成(Vivado HLS)生成以 C 語言為基礎的 IP 現今無線、醫療、國防和消費性等應用領域使 用的高階演算法比以往的更為先進。為了針對 這些演算法建立模型,許多設計團隊轉而採用 C/C++或 System C,因為它們比 RTL 模擬方 式擁有絕對性的效能優勢。在某些情況下,採 用 C 語言的程式碼運行速度比相對應的 RTL 程式碼快 1,000 倍,但其中的挑戰是要對 RTL 編寫的演算法進行重新編碼,才能在硬體中使 用,而此過程不但耗時,更容易出錯。 圖三:Vivado 高階合成 (Vivado HLS)

利用 Vivado® 高階合成(Vivado HLS)技術產生的 C 語言 IP,不需手動建置 RTL,可將 C 語這的規 範直接應用於賽靈思 All Programmable 元件中,並可大幅加速進程。而 Vivado HLS 則是 Vivado 設 計套件、系統版本的一部分。 圖四:Vivado IP 整合器(Vivado IPI)

以 Vivado IP 整合器整合 IP 模塊 此外,Vivado 設計套件現在可以透過新型的 Vivado IP 整合器 (Vivado IPI) 提供智慧型的 IP 整合。IP 整合器(IPI) 提供圖形化的 TCL 語言、 自動建置校正 (correct-by-construction) 功能 和以 IP 和系統為中心的設計開發流程。這個整 合環境採用平台概念簡化了硬體平台週邊的整 合,並著重元件的建置確保系統可達最高的頻 寬。 ALLHLS PROGRAMMABLE ABSTRACTIONS 賽靈思背景資料介紹 設計團隊可在介面層上快速組裝複雜的系統,充分利用 Vivado 和 System Generator 建立的 IP、 SmartCORE™與 LogiCORE™ IP,聯盟計畫成員提供的 IP 和客戶的專有 IP。 Vivado IPI 內建自動化介面、元件驅動程式和位址映照功能,可加速系統的設計組裝,設計人員因而


可用較以往更快的方法完成系統建置。

助軟體開發人員運用客製化硬體性能 類似 Dennis Richie 在 1972 年於貝爾實驗室開發的 C 程式設計語言之創新,讓編程技術朝更高階發 展,而且不受機器的限制,使得程式設計人員得以掌控各資訊元的行為。由於 C 語言具有強大功能 和高度的靈活性,讓最初採用組合碼編寫的 UNIX 作業系統可直接用 C 語言重寫程式。由於 C 語言 和 UNIX 擁有緊密的連結性,加上 C 語言自動編譯器的推出,讓 C 語言的應用得以迅速推廣,並在 1983 年通過美國國家標準協會(ANSI)審核成為美國國家標準之一。 Bjarne Stroustrup 在 1978 年為其博士論文研究搜集資料時,便著手研究「C with Classes」-意即 C 語言的超集合。他的目的是在 C 語言中新增物件導向的程式設計功能,同時在不降低性能或影響 低階可控性的前提下保持高度可攜性。這種語言在 1983 年更名為 C++ ,並增加功能和針對編譯器 提供更多支援。 現今有六成以上嵌入式系統的設計採用 C 語言程式,且企業大多為每位硬體工程師配備 4 至 5 名軟 體工程師。賽靈思 All Programmable Abstractions 計畫可協助以軟體為中心的設計團隊運用性能加 速的優勢,而這些加速功能都可藉由建置在 FPGA 和 All Programmable SoC 元件中可編程邏輯的客 製化硬體「加速器」達成。

利用 Vivado 高階合成(Vivado HLS) 技術建置 C 語言 IP Vivado HLS 可大幅加快硬體開發人員建置 IP 的速度 (這些 IP 能用 Vivado IP 整合器整合在各種系 統設計中) ,並能指定採用軟體開發的 C/C++語言硬體加速器,滿足可編程設計邏輯的需求。 採用 C/C++ 和 OpenCL 實現軟體級系統 目前賽靈思正與早期採用的客戶攜手開發一個全新的系統級的異質平行編程環境,在完善的 Eclipse 綜合開發環境中充分發揮 C/C ++ 或 OpenCL ® 程式語言抽象化的優勢。這個全新的開發環境提供 適用於特定市場的函式庫,能有效提升經過驗證後異質環境的生產力,也可滿足系統設計師、軟體應 用程式開發人員和需要平行運算架構的設計人員之需求,可提升系統效能、降低物料清單 (BOM) 成 本、減少整體功耗,並可追趕上 ASSP、DSPs 和 GPUs 的開發時間。

賽靈思背景資料介紹

ALL PROGRAMMABLE ABSTRACTIONS

利用 QEMU 和 Cadence 虛擬平台實現硬體抽象化 為滿足軟體應用開發人員在硬體平台可用之前便能著手開發應用程式編碼的需求,賽靈思開發了一個 名為 Quick Emulator (QEMU)的開放原始碼虛擬技術。此款開放原始碼虛擬機器能為 MicroBlaze 軟


核處理器和 Zynq 系列可編程系統單晶片元件提供可模擬系統的各種軟硬體介面,能提早在系統開發 前期即完成軟體開發,可帶來更高的生產力和持續不斷的軟硬整合驗證。 此外,賽靈思也與 Cadence® Design Systems 合作,鎖定 Zynq-7000 All Programmable SoC 提供 虛擬化系統平台。當設計團隊一起運用這虛擬化平台與賽靈思軟體開發套件 (SDK) 時,能夠達成真 正的同質化與異質化多元處理器設計與除錯功能,可將系統開發時程縮短數月。 為系統工程師提供快速演算法開發平台 All Programmable Abstractions 計畫透過 MathWorks 和 National Instruments(國家儀器) 等聯盟成員 提供的設計環境,可讓系統工程師在開發階段早期就即能評估其演算法在 All Programmable FPGA 和 SoC 上的可行性與性能表現,並通過軟硬體分區功能將系統性能最佳化。這些抽象化工具可在各 種特定應用的硬體平台快速、自動部署各種演算法,並連接到真實世界中的各種訊號、視訊或網路。 採用 MathWorks MATLAB 和 Simulink 完成模型化設計 為因應模型化設計,MathWorks 已在其 R2013b 版本中發佈了全新設計流程指南。這個全新的設計 流程指南,可讓軟體開發人員和硬體設計工程師運用 MATLAB 和 Simulink 的環境編寫他們的演算法 和建立模型,也可分割設計中的軟體跟硬體,在賽靈思 Zynq-7000 All Programmable Soc 的目標設 計平台上自動進行一系列鎖定應用、整合、除錯、和測試那些模型。這項功能以 MathWorks 廣泛的 特定應用工具套件函式庫和穩固的嵌入式軟硬體程式碼編程技術為基礎,協助使用者驗證並將系統效 能最佳化,進而讓更多開發人員在設計中運用業界第一款 All Programmable SoC,並充分發揮其優 勢。

採用此全新設計流程指南可協助使用者將演算法分區為軟體模型和硬體模型,並可為採用 MathWorks 嵌入式編碼器的 Zynq ARM 雙核 Cortex A9 處理器編寫 C 語言程式碼;另外也為採用 MathWorks HDL 編碼器或賽靈思系統產生器的可編程設計邏輯編寫 RTL 程式碼。如欲瞭解更多該流 程的相關資訊,請瀏覽 www.mathworks.com/zynq 網站。 Vivado® 設計套件系統版本也包含賽靈思為 DSP 設計的系統建置器,這是領先業界的高階系統工 具;相較於傳統的 RTL,賽靈思的 DSP 系統建置器僅需極短時間就能創造出量產等級品質的 DSP 演算法,而且能夠協助開發人員運用 Simulink 和 MATLAB 提供的業界最先進 All Programmable 可 ALL PROGRAMMABL 賽靈思背景資料介紹 編程系統模型建置技術,順利整合算術型函數、LogiCORE IP 模組、客製化 RTL 及 CABSTRACTIONS 語言的 Vivado HLS 模組,進而加快高度平行運算系統的發展速度。 採用 NI RIO 平台和 LabVIEW 創造平台式設計


嵌入式系統設計人員使用 LabVIEW 和 NI 的可重配置 I/O(RIO)硬體將傳統的 RTL 設計的複雜度進行 高層次的抽象化,免除了因部署目標應用建置作業系統、驅動程式和中介軟體等曠日廢時的作業。國 家儀器為嵌入式設計建立了平台式的方案,其中包括了現成、可重配置的硬體和直覺式的圖形程式介 面。只需點擊一下,NI LabVIEW 2013 開發環境即可在 NI 的目標應用上進行編譯、除錯和部署各種 為處理器或可編程邏輯而編寫的應用程式,且支援多款賽靈思 All Programmable 元件。NI 為其超過 60 個可部置目標應用的平台選用賽靈思 All Programmable SoCs 和 FPGA 做為 RIO 運算核心。如 欲瞭解更多該流程的相關資訊,請瀏覽 www.ni.com/Xilinx 網站。 總結 賽靈思致力為所有 All Programmable 可編程元件設計團隊成員提供各種抽象化工具;其目標非常明 確,就是協助客戶加快產品上市時程,並透過自動化的開發流程大幅降低開發成本。藉由使用各種 All Programmable Abstractions 系統,軟硬體設計人員能夠以前所未有的速度完成從概念提出到產品 推出的流程。如欲瞭解更多相關資訊,請瀏覽 www.xilinx.com/apa 網站。


All programmable abstractions backgrounder