FPGA教學(xué):應用與研究并重
—— —訪(fǎng)新加坡國立大學(xué)電氣與計算機工程系助理教授哈亞軍博士
競賽重在學(xué)生參與
問(wèn):您對“第三屆開(kāi)源硬件及嵌入式大賽”的哪些作品印象較深?
答:一個(gè)就是浙大的“基于FPGA的M2M異構虛擬化系統”設計,還有太原理工大學(xué) 的“AVS編碼FPGA實(shí)現”。
答:一個(gè)就是浙大的“基于FPGA的M2M異構虛擬化系統”設計,還有太原理工大學(xué) 的“AVS編碼FPGA實(shí)現”。
問(wèn):此次競賽是否公平?
答:這種評選方式不是特別學(xué)術(shù)性的,有點(diǎn)是大家喜好的程度的海選。從最后的結果來(lái)看,理論性的分值相對占得低了一些。
答:這種評選方式不是特別學(xué)術(shù)性的,有點(diǎn)是大家喜好的程度的海選。從最后的結果來(lái)看,理論性的分值相對占得低了一些。
問(wèn):是否應該專(zhuān)家的權重更高一點(diǎn)?
答:總的來(lái)說(shuō)我覺(jué)得名次不是最重要的,還是在參與。
問(wèn): 貴校(新加坡國立大學(xué))為什么有興趣來(lái)中國參加這次比賽?
答: 這種設計比賽對于培養學(xué)生的全面能力是很好的。很多學(xué)生在做硬件的時(shí)候會(huì )發(fā)現,我怎么做這個(gè)硬件的軟件模擬(simulation)沒(méi)問(wèn)題,為什么放到硬件板上去,它就不工作了呢?通常是因為模擬仿真時(shí),測試向量用得很少——如果在真正的硬件環(huán)境里面去工作的話(huà),有很多不同的向量;也有可能硬件的實(shí)際環(huán)境在測試的時(shí)候沒(méi)考慮進(jìn)去,或者只測了一部分,還有更多的情況沒(méi)有測。
同樣地,對學(xué)生培養也是如此。在學(xué)校里很多學(xué)生表現得很好,成績(jì)很高,但畢業(yè)后,可能不見(jiàn)得是發(fā)展最好的。因為學(xué)校里的考試,只是測試學(xué)生的某一些方面。
那么怎樣去避免這類(lèi)情況發(fā)生?參與這種比賽,應該說(shuō)對學(xué)生全面培養能力是非常好的。
同樣地,對學(xué)生培養也是如此。在學(xué)校里很多學(xué)生表現得很好,成績(jì)很高,但畢業(yè)后,可能不見(jiàn)得是發(fā)展最好的。因為學(xué)校里的考試,只是測試學(xué)生的某一些方面。
那么怎樣去避免這類(lèi)情況發(fā)生?參與這種比賽,應該說(shuō)對學(xué)生全面培養能力是非常好的。
如果學(xué)生經(jīng)過(guò)這樣一些測試,然后去公司工作,會(huì )很快上手,他不會(huì )說(shuō)等到你的經(jīng)理來(lái)給你說(shuō),你要做這個(gè),要做那個(gè),要怎么樣,他會(huì )非常主動(dòng)。如果他選擇學(xué)校去念博士,同樣也會(huì )受益。
實(shí)際上,我們招收博士生,那他的學(xué)科成績(jì)只是一個(gè)參考,更多的會(huì )參考看看他有沒(méi)有其他業(yè)余課外的成績(jì),比如說(shuō)他是否參加了類(lèi)似這樣的活動(dòng)。
實(shí)際上,我們招收博士生,那他的學(xué)科成績(jì)只是一個(gè)參考,更多的會(huì )參考看看他有沒(méi)有其他業(yè)余課外的成績(jì),比如說(shuō)他是否參加了類(lèi)似這樣的活動(dòng)。
問(wèn):本科生、研究生都能做這個(gè)FPGA的項目,博士生為何還要研究FPGA?因為現在FPGA平臺容易掌握,所有學(xué)生都能同樣完成一個(gè)電子設計?
答:本科生、研究生和博士生的區別大了。
如何學(xué)習FPGA
問(wèn):您認為目前市面上的FPGA開(kāi)發(fā)版、教材和書(shū)籍是否足夠?
問(wèn):市面上已經(jīng)有很多現成的FPGA,為什么還要再進(jìn)行基礎研究呢?
問(wèn):Xilinx還做了一些收發(fā)器,是不是難度也增大了?

照片 本刊采訪(fǎng)哈教授,左為“電子產(chǎn)品世界”網(wǎng)站總監王煒,右為筆者
從FPGA研究來(lái)說(shuō),可以主要看出三個(gè)方面,一方面就是FPGA的結構。現在我們大部分的同學(xué)老師,實(shí)際上沒(méi)有接觸這個(gè)方面,基本上就是直接拿Xilinx或Altera的FPGA來(lái)用。
第二方面,一旦你的FPGA的結構有了改變,那么原來(lái)的這些軟件也就不能再用了,你必須要開(kāi)發(fā)相應的軟件來(lái)配合改變。所以,研究的第二部分主要就是在EDA算法軟件的開(kāi)發(fā)。
第三方面,才是FPGA對一些特定應用的解決方案。
大部分的學(xué)生老師目前主要還是用已經(jīng)商用的FPGA、以及現成的算法、開(kāi)發(fā)工具,來(lái)開(kāi)發(fā)一些應用。所以目前來(lái)說(shuō),應該還沒(méi)有到研究的地步。但是真正要做FPGA的研究的話(huà),就應該是把注意力放在第一、二方面。
第二方面,一旦你的FPGA的結構有了改變,那么原來(lái)的這些軟件也就不能再用了,你必須要開(kāi)發(fā)相應的軟件來(lái)配合改變。所以,研究的第二部分主要就是在EDA算法軟件的開(kāi)發(fā)。
第三方面,才是FPGA對一些特定應用的解決方案。
大部分的學(xué)生老師目前主要還是用已經(jīng)商用的FPGA、以及現成的算法、開(kāi)發(fā)工具,來(lái)開(kāi)發(fā)一些應用。所以目前來(lái)說(shuō),應該還沒(méi)有到研究的地步。但是真正要做FPGA的研究的話(huà),就應該是把注意力放在第一、二方面。
答:研究和工業(yè)是兩個(gè)不同的方面。從學(xué)校的角度來(lái)說(shuō),假設我做研究,我不會(huì )去拿Xilinx的芯片來(lái)做我的研究,我會(huì )怎么做呢?我會(huì )開(kāi)發(fā)一個(gè)軟件,他會(huì )描述這個(gè)FPGA硬件,可以這么說(shuō),就是相當于一個(gè)虛擬Model(模型),就是你有一個(gè)軟件,我來(lái)描述這個(gè)FPGA的結構是什么樣的。如此,你就可以隨意描述你的FPGA結構是什么樣的,就是我并沒(méi)有把它做出來(lái),但是我是用軟件模型來(lái)描述FPGA應該是什么樣,這是第一步。
第二步,對這個(gè)模型,我要開(kāi)發(fā)我的算法軟件,我會(huì )把我的一些應用map上去,那么我通過(guò)這些實(shí)驗來(lái)看,我原來(lái)這個(gè)map FPGA,我能夠獲得的性能、面積和功耗。當我改進(jìn)我的結構和算法以后,我把同樣的應用安到新結構上去,它是不是達到了我原來(lái)設想的要優(yōu)化的指標,并做出bench mark,這就是做結構方面的研究。
所以通常來(lái)說(shuō),FPGA的結構和算法是兩個(gè)互相緊密相關(guān)的。
第二步,對這個(gè)模型,我要開(kāi)發(fā)我的算法軟件,我會(huì )把我的一些應用map上去,那么我通過(guò)這些實(shí)驗來(lái)看,我原來(lái)這個(gè)map FPGA,我能夠獲得的性能、面積和功耗。當我改進(jìn)我的結構和算法以后,我把同樣的應用安到新結構上去,它是不是達到了我原來(lái)設想的要優(yōu)化的指標,并做出bench mark,這就是做結構方面的研究。
所以通常來(lái)說(shuō),FPGA的結構和算法是兩個(gè)互相緊密相關(guān)的。
如何學(xué)習FPGA
問(wèn):您認為目前市面上的FPGA開(kāi)發(fā)版、教材和書(shū)籍是否足夠?
答:應該說(shuō)數量是非常多的,但是從質(zhì)量上可能還要提高。
例如很多教材可能更加注重是一些比較低端的題材,就是簡(jiǎn)單的應用,可能從基本的FPGA工作原理,以及它到底在這個(gè)結構或者算法方面有些什么最新的發(fā)展,存在的問(wèn)題以及目前國際上大概是個(gè)什么樣的情況。但在研究方面的介紹相對會(huì )少。
例如很多教材可能更加注重是一些比較低端的題材,就是簡(jiǎn)單的應用,可能從基本的FPGA工作原理,以及它到底在這個(gè)結構或者算法方面有些什么最新的發(fā)展,存在的問(wèn)題以及目前國際上大概是個(gè)什么樣的情況。但在研究方面的介紹相對會(huì )少。
問(wèn):但是研究FPGA有什么用呢?因為我們覺(jué)得賽靈思、Altera已經(jīng)做了FPGA了,我們有必要再發(fā)展自己的FPGA產(chǎn)業(yè)嗎?
答:中國也是有嘗試的。我所知道的就是復旦大學(xué)微電子系等。(筆者注:北京雅格羅技公司做國產(chǎn)FPGA。)
問(wèn):市面上已經(jīng)有很多現成的FPGA,為什么還要再進(jìn)行基礎研究呢?
答:因為研究和產(chǎn)業(yè)本來(lái)就是兩回事,你如果要是能把你的研究跟你的產(chǎn)業(yè)結合起來(lái)那就更好了。
但是不是說(shuō)你不發(fā)展這個(gè)產(chǎn)業(yè)就不需要做這方面的研究。從長(cháng)遠來(lái)說(shuō),芯片的制造成本越來(lái)越高,未來(lái)更多的應用會(huì )慢慢地轉移到FPGA平臺上,那么人們是不是愿意把這么大一塊餅全部讓Xilinx、Altera做?這要看國家戰略上怎么考慮。
FPGA教學(xué)
問(wèn):目前FPGA教學(xué)還有哪些問(wèn)題呢?
但是不是說(shuō)你不發(fā)展這個(gè)產(chǎn)業(yè)就不需要做這方面的研究。從長(cháng)遠來(lái)說(shuō),芯片的制造成本越來(lái)越高,未來(lái)更多的應用會(huì )慢慢地轉移到FPGA平臺上,那么人們是不是愿意把這么大一塊餅全部讓Xilinx、Altera做?這要看國家戰略上怎么考慮。
FPGA教學(xué)
問(wèn):目前FPGA教學(xué)還有哪些問(wèn)題呢?
答:對于學(xué)校來(lái)說(shuō),整個(gè)教材體系相對比較穩定。你要做一個(gè)比較大的教材改變,通常需要學(xué)校下一個(gè)比較大的決心的。所以FPGA推廣到教學(xué)的阻力主要在這個(gè)方面。
你如果要是下定決心做一些改變,第二步,就是你怎么把FPGA跟原有的這些教材體系能夠很好地結合。因為FPGA的發(fā)展非???。例如,原來(lái)FPGA里面是純邏輯,跟原來(lái)的數字教學(xué)很容易結合;但是現在FPGA里面又把處理器加進(jìn)來(lái),就變成一個(gè)很大的系統,整個(gè)的教學(xué)的難度和范圍大大地增加了,所以很難把它放到同一門(mén)課里面,一次就把它全部講完。這時(shí)就需要一個(gè)比較系統的規劃——可能在一門(mén)課里面只用它的一部分,另外一門(mén)課里面用另外一部分,然后都把同一類(lèi)FPGA做一個(gè)共同的平臺,在不同課里面我側重某一個(gè)點(diǎn),可能在高年級一門(mén)課再把它們集成。這樣的一種方法,可把難度分散。同時(shí)又有完整綜合的機會(huì )。
你如果要是下定決心做一些改變,第二步,就是你怎么把FPGA跟原有的這些教材體系能夠很好地結合。因為FPGA的發(fā)展非???。例如,原來(lái)FPGA里面是純邏輯,跟原來(lái)的數字教學(xué)很容易結合;但是現在FPGA里面又把處理器加進(jìn)來(lái),就變成一個(gè)很大的系統,整個(gè)的教學(xué)的難度和范圍大大地增加了,所以很難把它放到同一門(mén)課里面,一次就把它全部講完。這時(shí)就需要一個(gè)比較系統的規劃——可能在一門(mén)課里面只用它的一部分,另外一門(mén)課里面用另外一部分,然后都把同一類(lèi)FPGA做一個(gè)共同的平臺,在不同課里面我側重某一個(gè)點(diǎn),可能在高年級一門(mén)課再把它們集成。這樣的一種方法,可把難度分散。同時(shí)又有完整綜合的機會(huì )。
問(wèn):您的意思是工程師用Xilinx Zynq的難度挺大?
答:要看他是什么樣的背景,因為現在這個(gè)Zynq它上面就是說(shuō)它的平臺的話(huà)呢,實(shí)際上之前就有了,就是他從這個(gè)抽象層次來(lái)說(shuō),它就是一個(gè)軟件硬件的一個(gè)可以編程的平臺。只是說(shuō)現在我們把它從原來(lái)的這個(gè)MicroBlaze或者PowerPC轉成ARM核,從這個(gè)角度來(lái)說(shuō),它并不是一個(gè)完全大的改變,只是說(shuō)里面換了處理器核。對某些工程師來(lái)說(shuō),可能它更簡(jiǎn)單了,因為如果他之前就是在A(yíng)RM平臺上面工作的,現在反而對他來(lái)說(shuō)簡(jiǎn)單。
他的難度主要是,要看這個(gè)工程師之前的背景是什么,他如果是硬件工程師,他可能又要熟悉這個(gè)ARM部分,如果他以前是軟件工程師,他可能就會(huì )感覺(jué)難度小一點(diǎn)。
總的來(lái)說(shuō),因為現在這個(gè)平臺太大,要求一個(gè)工程師有硬件、軟件方面的能力都很強,基本上現在還是很困難的?,F在目前業(yè)界的大部分工程師他們都只有一個(gè)方面的經(jīng)歷。
他的難度主要是,要看這個(gè)工程師之前的背景是什么,他如果是硬件工程師,他可能又要熟悉這個(gè)ARM部分,如果他以前是軟件工程師,他可能就會(huì )感覺(jué)難度小一點(diǎn)。
總的來(lái)說(shuō),因為現在這個(gè)平臺太大,要求一個(gè)工程師有硬件、軟件方面的能力都很強,基本上現在還是很困難的?,F在目前業(yè)界的大部分工程師他們都只有一個(gè)方面的經(jīng)歷。
問(wèn):Xilinx還做了一些收發(fā)器,是不是難度也增大了?
答:之前,Xilinx的FPGA里沒(méi)有很多收發(fā)器?,F在芯片容量加大了,那么Xilinx當然為了使用者的方便,會(huì )把更多更多的IP 核加進(jìn)來(lái)。之前是存儲器塊,后來(lái)處理器、DSP等都有了,現在加了收發(fā)器、ADC?,F在可能唯一少的一個(gè)就是RF這部分。如果RF加了,這個(gè)芯片就是很完整的一個(gè)終端。
問(wèn):Xilinx的FPGA和Altera有什么區別?或者對于FPGA教學(xué),應該是兩個(gè)都教,還是學(xué)一個(gè)就可以了?
答:它的關(guān)系好像VHDL跟Verilog的關(guān)系。
從技術(shù)上來(lái)說(shuō),VHDL能做的,Verilog也能做。但是他們主要是一個(gè)非技術(shù)的劃分。像VHDL的主要引擎是歐洲公司里用得多,Verilog在美國公司里面用得較多。但是現在慢慢的話(huà),這個(gè)界限也越來(lái)越模糊了。因為總的來(lái)說(shuō),如果要是一個(gè)大的系統的話(huà),通常你會(huì )要用很多的IP核。對于IP核,有的公司是Verilog,有的是VHDL,這沒(méi)關(guān)系,反正現在他們可以混在一起用。
那么兩家FPGA公司也一樣,賽靈思能做的東西,Altera基本上也能做,反之亦然。所以慢慢地從技術(shù)上來(lái)說(shuō),兩家主要是拼市場(chǎng)、拼支持。
或者看誰(shuí)更用功。如果誰(shuí)把這個(gè)新的用戶(hù)抓住了,他就抓住了一個(gè)可持續性的市場(chǎng)。因為一家公司一旦決定用你的產(chǎn)品,除非出現了非常大的問(wèn)題,一般來(lái)說(shuō)這家公司不會(huì )輕易的轉換平臺。比如有一個(gè)功能對整個(gè)系統影響非常大,你的競爭對手有了,你還沒(méi)有,這個(gè)Gap會(huì )比較大,那時(shí)候別家就會(huì )入選。一旦被他搶過(guò)去以后就很難回來(lái)了。因為工業(yè)界的產(chǎn)品的發(fā)展不像研究,很少會(huì )做一個(gè)嶄新的產(chǎn)品。工業(yè)界的產(chǎn)品一般都有一定的延續性,是一步一步地上去,任何一個(gè)突變,對他來(lái)說(shuō)都有風(fēng)險,所以他會(huì )避免。
那么兩家FPGA公司也一樣,賽靈思能做的東西,Altera基本上也能做,反之亦然。所以慢慢地從技術(shù)上來(lái)說(shuō),兩家主要是拼市場(chǎng)、拼支持。
或者看誰(shuí)更用功。如果誰(shuí)把這個(gè)新的用戶(hù)抓住了,他就抓住了一個(gè)可持續性的市場(chǎng)。因為一家公司一旦決定用你的產(chǎn)品,除非出現了非常大的問(wèn)題,一般來(lái)說(shuō)這家公司不會(huì )輕易的轉換平臺。比如有一個(gè)功能對整個(gè)系統影響非常大,你的競爭對手有了,你還沒(méi)有,這個(gè)Gap會(huì )比較大,那時(shí)候別家就會(huì )入選。一旦被他搶過(guò)去以后就很難回來(lái)了。因為工業(yè)界的產(chǎn)品的發(fā)展不像研究,很少會(huì )做一個(gè)嶄新的產(chǎn)品。工業(yè)界的產(chǎn)品一般都有一定的延續性,是一步一步地上去,任何一個(gè)突變,對他來(lái)說(shuō)都有風(fēng)險,所以他會(huì )避免。
照片 本刊采訪(fǎng)哈教授,左為“電子產(chǎn)品世界”網(wǎng)站總監王煒,右為筆者
fpga相關(guān)文章:fpga是什么
評論