Xilinx技術總監:為FPGA設計帶來革命性變革
2012-01-01 20:51:55 本站原創全球可編程平臺領導廠商賽靈思公司 (Xilinx, Inc. (NASDAQ: XLNX) )日前在進駐北京新址的慶典上,強調其對高增長的中國市場的承諾。該公司不斷擴大其在亞太地區的影響力,包括開設研發中心,并將本地銷售、市場營銷和應用 工程設計等業務整合到統一的辦公地點。新址面積達 2,000 平米,將為北京本地、整個亞太區乃至跨國客戶提供強有力的支持。
以下是賽靈思賽靈思公司軟件研發技術總監宋傳華博士在慶典中的演講實錄:
賽靈思中國研發中心的成立是賽靈思公司在2011年非常重要的投資,也是我們賽靈思研發部將創新DNA植根在中國的一個重要步驟,同時它也是我們“中國智造”整體戰略的一個重要組成部分。
當前賽靈思擁有多項領先業界的先進技術。其中業界首創的包括先進的28納米半導體技術、基于堆疊硅片互聯技術(SSIT)的多晶圓集成技術、數模混 合技術以及多核可擴展處理平臺技術。這些技術大多基于硅片和硬件的平臺,而在軟件設計技術方面,我們也推出了AutoESL這一高層次綜合工具。它可以同 時支持C語言、C++和SystemC的輸入,通過自動化的綜合過程生成高效的寄存器傳輸級設計描述。那么當這一高層次綜合技術和多核可拓展處理平臺技術 結合在一起時,又將能夠給大家帶來一些什么樣的新變化呢?
Zynq™-7000是我們最新的一款芯片,它同時集成了ARM的處理器和FPGA可編程邏輯,并擁有多方面的技術優勢。首先是基于28納米的先進 工藝,完美地將高性能和低功耗結合在了一起。同時,由于我們的CPU里集成了雙核ARM的處理器和常用外設接口模塊,大家仍然可以用傳統軟件開發的流程來 開發自己的系統。此外,Zynq極大的加強了處理器和FPGA可編程邏輯之間的互聯,其數量遠超傳統的多芯片解決方案,其速度也更快。關于Zynq平臺, 最后我們來總結一個關鍵的信息就是,我們這個平臺不僅是一款先進的芯片,更是給大家提供了一個完整的開發平臺,它可以更好的支持大家完成自己所需的解決方 案。
在整個設計平臺方面,在芯片的層面,我們提供了兩個部分,一是我們的處理器的系統,第二就是我們可編程邏輯系統。從軟件的層面,我們提供操作系統 和板極支持,我們的系統可以支持多種流行的嵌入式操作系統包括Linux、VxWorks、Android、WinCE和OSE等,這些大家都可以在我們 的平臺上使用。為了便于用戶的開發我們還提供系統的仿真器,以及完善的軟件開發工具,也包括我們極為豐富的軟件IP,幫助大家快速的完成自己的設計。賽靈 思和合作伙伴也提供了很多的參考板和參考開發流程,大家基于此進行拓展,就可以很快的完成自己的解決方案。在技術支持方面,賽靈思和我們的合作伙伴都可以 給大家提供前后一致、完整的支持流程。來保證大家可以獲得必要的幫助。
AutoESL是一款創新性產品,是最近幾年業界非常關注的ESL設計方法學中一個突出的設計工具。它可以同時支持C語言、C++和 SystemC這三種語言的輸入,然后通過我們的工具的自動綜合過程生成所需RTL設計描述。在傳統的開發流程中,這個轉換過程是需要是由算法組和硬件設 計組來分別完成的,如今已經可以由我們的工具自動轉換完成了。同時AutoESL還提供了一個集成的驗證流程。我們可以在C語言級別對算法進行驗證,然后 系統會自動生成RTL包裝函數,與C語言的測試向量進行連接和混合仿真來確認設計的功能,這個過程也是完全自動化的,無需用戶輸入和干預。當實現RTL之 后,我們的工具會自動與后端FPGA實現軟件進行無縫連接,為大家提供一個完整的開發流程。
高層次的綜合有以下幾點好處。首先是設計生產率的提升。多年前工業界就完成了從晶體管級設計到RTL設計的轉變,今天我們完成的從RTL級設計到C 語言級別設計的又一次飛躍。在高層次語言級別上進行設計有著豐富的數據類型支持,它可以幫助用戶更好地關注算法級的設計理念,而不被一些煩瑣硬件實現細節 所打擾。舉個例子講,比如說當我們用到浮點運算的時候,我們通常是會愿意用整型的定點數據類型去進行轉換,以提高資源的利用率。在AutoESL設計流程 中,我們直接給大家提供了定點數據類型的支持,包括中間類型轉換和精度的取舍操作,這樣大家就不必再關心這些繁瑣的實現細節。我們還可以看這樣一個具體的 例子,在光流檢測視頻應用中,若使用RTL進行設計,模塊功能仿真需要兩天的時間,而用C語言級別進行仿真驗證,只需短短的十秒鐘。另外,我們的設計在可 復用性和可移植性方面也有著更好的表現。當設計需要從一種性能指標轉換成另一種性能指標或者從一種器件移植到另外一種器件時,傳統的流程需要重新設計 RTL的描述,而如今我們只要改變其中一兩個約束條件就能達到預期效果。
當Zynq和AutoESL結合在一起時,它們能給我們帶來什么呢?在傳統的設計流程中,軟硬件的劃分是在系統設計之初完成的,需要我們的系統架構 師在一開始就進行系統的劃分。再由軟件工程師對軟件進行編程和測試,硬件開發人員對系統的硬件流程進行開發和測試,最終將這兩部分集成到Zynq平臺上。 但是當Zynq和AutoESL結合在一起之后,我們的產品流程甚至設計方法學都產生了根本性的變化。在新的流程里,首先由系統開發人員進行系統算法級別 的開發,并通過對算法的性能分析,來找到系統的性能、功耗的瓶頸部分,然后將其通過AutoESL轉換成硬件加速器,依靠系統反饋來監測系統指標是否可以 滿足我們的需要。接下來我們的工具就會把軟件部分交給軟件編輯器去生成相應的二進制應用程序,而硬件部分交給AutoESL工具產生硬件加速器的RTL代 碼,進而完成可編程邏輯的實現。整個系統的開發流程不再是分離的,而是變成了一個完整的開發過程。
通過這樣全新的設計流程,整個設計的靈活性也得到了較大的提升。我們不再需要一開始就綁定在某個解決方案上,而是可以根據我們的性能分析結果和設計需求的變化,現場決定設計方案。
綜上所述,我們說這種設計方法學的轉變是革命性的,將給大家帶來全新的設計體驗和開發的便利。