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