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