<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > FPGA內(nèi)建處理器 加速軟硬協(xié)同設(shè)計(jì)速度

          FPGA內(nèi)建處理器 加速軟硬協(xié)同設(shè)計(jì)速度

          作者: 時(shí)間:2016-10-18 來(lái)源:網(wǎng)絡(luò) 收藏

          在所謂的嵌入式設(shè)計(jì)領(lǐng)域,(可編程邏輯閘陣列)亦可屬于該領(lǐng)域的陣營(yíng)之一,但隨著ARM的開(kāi)疆辟土,ARM在嵌入式領(lǐng)域也有相當(dāng)優(yōu)異的成績(jī)表現(xiàn)。賽靈思(Xilinx)FAE經(jīng)理羅志愷直言,在產(chǎn)業(yè)界里,同時(shí)具備ARM、PLD與DSP架構(gòu)的晶片業(yè)者,應(yīng)只有賽靈思一家業(yè)者。

          本文引用地址:http://www.ex-cimer.com/article/201610/308447.htm

          賽靈思(Xilinx)FAE經(jīng)理羅志愷

          過(guò)往在產(chǎn)業(yè)界總有一種讓人曲高和寡的感覺(jué),不過(guò)羅志愷也表示,在募資網(wǎng)站Kickstarter已有不少案例是采用賽靈思的Zynq進(jìn)行設(shè)計(jì)開(kāi)發(fā)。他以無(wú)人的飛行直升機(jī)為例,開(kāi)發(fā)者就是透過(guò)OPEN CV的函式庫(kù)與Zynq加以結(jié)合而開(kāi)發(fā)而成。他更談到,OPEN CV其實(shí)是C語(yǔ)言與C++的延伸版本,但賽靈思的作法是采用HLS(High-Level Synthesis;高階合成語(yǔ)言)進(jìn)行移植,以達(dá)到軟硬體協(xié)同設(shè)計(jì)的目標(biāo)。而賽靈思每一季都會(huì)針對(duì)OPEN CV比較關(guān)鍵的程式碼進(jìn)行移植的工作,進(jìn)一步的說(shuō),就是將C語(yǔ)言轉(zhuǎn)成RTL的流程,由賽靈思處理并加以最佳化,工程師便無(wú)需在這個(gè)流程上耗費(fèi)心力。

          羅志愷進(jìn)一步解析Zynq的晶片架構(gòu),傳統(tǒng)上,系統(tǒng)設(shè)計(jì)用兩顆SoC(系統(tǒng)單晶片)的作法,在連線的速度上相當(dāng)有限,但若是加以整合后,透過(guò)晶片內(nèi)部的連結(jié),在處理速度上更能有效提升,而Zynq本身是用雙核的Cortex-A9整合而成,中間是采用AMBA4.0的傳輸介面,速度可高達(dá)100Gbps,再加上FPGA也有平行運(yùn)算特性的乘加器來(lái)達(dá)到DSP(數(shù)位訊號(hào))的功能,所以要加速軟體處理的性能,進(jìn)而作到設(shè)計(jì)便相當(dāng)容易。

          另一方面,羅志愷也指出,過(guò)往要作軟硬體協(xié)同設(shè)計(jì)有著相當(dāng)高的難度,工具彼此之間有著的鴻溝需要跨過(guò),不過(guò)隨著賽靈思在各類(lèi)開(kāi)發(fā)工具的努力,開(kāi)發(fā)工具之間的溝通已經(jīng)不是問(wèn)題。此外,由于Zynq本身就內(nèi)建了處理器,因此要搭載作業(yè)系統(tǒng)也不是問(wèn)題,目前針對(duì)Linux部份,已經(jīng)有Petalinux這類(lèi)免費(fèi)的套件可以針對(duì)Linux系統(tǒng)進(jìn)行在Zynq上的移植,當(dāng)然,工程師若要選用開(kāi)放原始碼的Linux版本,Zynq也能夠支援。



          關(guān)鍵詞: FPGA 處理器 軟硬協(xié)同

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();