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