Vivado HLS把ELS帶入主流
可能Vivado設(shè)計套件采用的眾多新技術(shù)中,最具有前瞻性的要數(shù)新的VivadoHLS(高層次綜合)技術(shù),這是賽靈思2010年收購AutoESL后獲得的。在收購這項業(yè)界最佳技術(shù)之前,賽靈思對商用ESL解決方案進(jìn)行了廣泛評估。市場調(diào)研公司BDTI的研究結(jié)果幫助賽靈思做出了收購決策(見賽靈思中國通訊雜志第36期“BDTI研究認(rèn)證以DSP為核心的FPGA設(shè)計的高層次綜合流程”http://china.xilinx.com/china/xcell/xl36/2-7.pdf)。
Feist表示:“VivadoHLS全面覆蓋C、C++、SystemC,能夠進(jìn)行浮點運(yùn)算和任意精度浮點運(yùn)算。這意味著只要用戶愿意,可以在算法開發(fā)環(huán)境而不是典型的硬件開發(fā)環(huán)境中使用該工具。這樣做的優(yōu)點在于在這個層面開發(fā)的算法的驗證速度比在RTL級有數(shù)量級的提高。這就是說,既可以讓算法提速,又可以探索算法的可行性,并且能夠在架構(gòu)級實現(xiàn)吞吐量、時延和功耗的權(quán)衡取舍。”
設(shè)計人員使用VivadoHLS工具可以通過各種方式執(zhí)行各種功能。為了演示方便,F(xiàn)eist講解了用戶如何通過一個通用的流程進(jìn)行VivadoHLS開發(fā)IP并將其集成到自己的設(shè)計當(dāng)中。
在這個流程中,用戶先創(chuàng)建一個設(shè)計C、C++或SystemC表達(dá)式,以及一個用于描述期望的設(shè)計行為的C測試平臺。隨后用GCC/G++或VisualC++仿真器驗證設(shè)計的系統(tǒng)行為。一旦行為設(shè)計運(yùn)行良好,對應(yīng)的測試臺的問題全部解決,就可以通過VivadoHLSSynthesis運(yùn)行設(shè)計,生成RTL設(shè)計,代碼可以是Verilog,也可以是VHDL。有了RTL后,隨即可以執(zhí)行設(shè)計的Verilog或VHDL仿真,或使用工具的C封裝器技術(shù)創(chuàng)建SystemC版本。然后可以進(jìn)行SystemC架構(gòu)級仿真,進(jìn)一步根據(jù)之前創(chuàng)建的C測試平臺,驗證設(shè)計的架構(gòu)行為和功能。
設(shè)計固化后,就可以通過Vivado設(shè)計套件的物理實現(xiàn)流程來運(yùn)行設(shè)計,將設(shè)計編程到器件上,在硬件中運(yùn)行和/或使用IP封裝器將設(shè)計轉(zhuǎn)為可重用的IP。隨后使用IP集成器將IP集成到設(shè)計中,或在系統(tǒng)生成器(SystemGenerator)中運(yùn)行IP。