由工業(yè)和信息化部指導(dǎo),西安市科學(xué)技術(shù)局、西安市集成電路產(chǎn)業(yè)發(fā)展中心和中國電子報社主辦,陜西省半導(dǎo)體行業(yè)協(xié)會、西安軟件園發(fā)展中心和西安地區(qū)科技交流中心協(xié)辦的2010年(第二屆)中國FPGA產(chǎn)業(yè)發(fā)展論壇于8月31日在西安市隆重舉行。本次論壇的主題是“可編程技術(shù)加速中國科技創(chuàng)新”,來自國內(nèi)外數(shù)十家企業(yè)、高等院校和科研機(jī)構(gòu)的200余名代表參加了本次論壇。
圖為:Synopsys 亞太區(qū)FPGA產(chǎn)品總監(jiān)陳俊麟演講。
Jimmy Chen:
從早上到現(xiàn)在,大家談的都是FPGA的工藝上,還有它直接的應(yīng)用上做生產(chǎn)和設(shè)計的方法,在這里我換一個角度來看FPGA的應(yīng)用?,F(xiàn)在越來越多在工業(yè)上把FPGA拿來做原型驗證的方式,這個也是FPGA非常大的一個市場,所以從(英)這個角度來說我們也有一些做法,我在這邊跟大家交流一下。
首先提到的包括幾個方面:第一個,為什么要做FPGA為基礎(chǔ)的原型驗證平臺?這里的驗證平臺包括你在演算法的初期的驗證,然后再討論一下(英)在這個地方所提出來的解決方案我們稱之為(英)60的解決方案,然后把一些領(lǐng)先平臺的做法跟大家分享一下。
現(xiàn)在不管設(shè)計一個SOC或者一個新的產(chǎn)品,舉一個最普遍的例子里來看,像蘋果的這個產(chǎn)品,一般來說在65納米的工藝以下,這些公司已經(jīng)在軟件的開發(fā)方面有超過50%的支出,所以說不管在機(jī)構(gòu)上、在IC的設(shè)計上,這個都不到它50%的總開銷,在軟件上面已經(jīng)超過50%,所以這個變成一個產(chǎn)品成敗的最重要的關(guān)鍵。在右邊這一幅圖,據(jù)先前的一些市場調(diào)查報告,這些做產(chǎn)品的公司一致認(rèn)為在功能設(shè)計的錯誤上面是他們最不想看到的,也提到他們在功能設(shè)計的錯誤上面其實占有60%的失敗的可能性。功能設(shè)計的上面除了硬件以外還包括軟件,所以變成軟件的開發(fā)跟驗證,其實是現(xiàn)在最主要的一個課題。過去在軟件的開發(fā),通常是在硬件開發(fā)完成,而且在SOC的設(shè)計里面,樣件回來以后才會真正地開始做,初期可能做一些軟件開發(fā),但是真正做驗證會在樣片回來以后。但是這種做法已經(jīng)沒有辦法適合現(xiàn)在的商品競爭的原則,所以現(xiàn)在的做法已經(jīng)都是在產(chǎn)品設(shè)計初期就開始規(guī)劃這個硬件怎么設(shè)計、軟件怎么設(shè)計,在這個時候也開始設(shè)計一個軟、硬件協(xié)同驗證的平臺。所以,你可以看到,在左邊一半下面的這個圖,在投片的時候其實軟件開發(fā)就已經(jīng)完成,在這個樣片回來大概在第一天或者第二天里面,軟硬件整個系統(tǒng)的設(shè)計就馬上照原來的計劃來運轉(zhuǎn)。所以這個方式主要用了FPGA為主的原型驗證平臺,這底下的圖是原型驗證平臺的樣子。大家看到這里面的好處,用FPGA,或者單一的FPGA,或者很多個FPGA,所能夠達(dá)到的好處,就是能夠把整個的設(shè)計做到FPGA的平臺上面,而且能夠接上實際的輸入輸出的信號,而且能夠達(dá)到將來要達(dá)到目標(biāo)的速度,而且它可以大量制造能夠讓許多用戶一起來使用這個,所以能夠達(dá)到這樣的要求。在速度上面其實這是一個關(guān)鍵的技術(shù),當(dāng)然我們不管在做什么系統(tǒng),SOC,或者做FPGA,或者在演算法的初期,我們都要考慮這個驗證平臺能不能夠達(dá)到一定的速度,在仿真環(huán)節(jié)里面,其實不管是直接的仿真,或者是加上加速,這些速度都不夠。主要的差別在哪里呢?差別在于一些界面的需求,你的原型驗證平臺的界面只要達(dá)到這個速度,你的整個平臺才算完整,才能正常操作軟件、硬件一起來做驗證。所以這個是用FPGA做驗證平臺最大的好處。大家也都接受這個觀念,但是在很多公司在考慮達(dá)到這個效果的時候,看法會比較不一樣,有些公司會在內(nèi)部成立一個組織,專門來做內(nèi)部的驗證平臺設(shè)計FPGA為主的PC板,當(dāng)然這里面也都可以達(dá)到我剛剛說的這些目標(biāo)。從04、05年開始,有一些商業(yè)導(dǎo)向的驗證平臺的廠商,那個時候把一些驗證平臺也做得非常穩(wěn)定,能夠達(dá)到更高的效率。這些公司主要提供的價值就是讓這些顧客們降低他內(nèi)部設(shè)計的人數(shù)或者所要具備的知識,然后這些商品的驗證也都事先透過幾個主要的協(xié)同廠商,能夠把這些技術(shù)驗證得很好,而且在客戶需要使用這個驗證平臺的時候,他能夠馬上交到客戶的手里,所以這是商品化的FPGA廠商所提供的價值。在FPGA的領(lǐng)導(dǎo)廠商也有類似的產(chǎn)品提供,這里面Synopsys提供了更多的價值,它有整個軟件,就是從工具上面來看,怎么樣把原來的設(shè)計概念從(英)后轉(zhuǎn)到你的代碼FPGA里面,所以它提供的是一個更高的價值、更好的速度來提供給客戶。這個原型驗證平臺它是一個硬件,上面有一顆、兩顆,或者多顆的FPGA在上面,這些原型驗證平臺必須具備幾個主要的功能。第一,它必須要能夠把原來設(shè)計的代碼成功的轉(zhuǎn)換進(jìn)來到這個平臺里面;第二,因為原來的設(shè)計代碼,原來都是做(英),所以這個原型驗證平臺必須要跟仿真能夠溝通,也解決說在仿真的環(huán)境里面怎么把這個東西做到原型驗證平臺里面,而且反過來在原型驗證平臺里面又可以利用這個界面采取雙方的好處,又可以做仿真、又可以做原型,這個變成一個必備的條件。第三,在右邊的方塊,因為所有的系統(tǒng)設(shè)計,或者SOC的設(shè)計,一定有它自己的界面,包括ODO、VDO(音)的界面,一定有一些M(英),一定要連接到這個平臺上面,然后最重要的是你這個整個的原型平臺做好了以后一定要能夠調(diào)試,調(diào)試是最主要的目的,所以中間最底下的一格是調(diào)試的啊環(huán)節(jié),所以一個原型的驗證平臺必須有這四個主要的接口。接下來要有一個調(diào)試的環(huán)節(jié)。另外,仿真的環(huán)節(jié)怎么轉(zhuǎn)移過來,或者從原型再轉(zhuǎn)移到仿真的環(huán)節(jié)里面,這也有一個對應(yīng)的工具。它提供一個IP,它同時也提供了一個原型平臺做法??梢钥吹?,一個理想的原型驗證平臺能夠適應(yīng)現(xiàn)在需求的,就必須要有這些原件在里面。
這些東西實際上是已經(jīng)存在的,我拿Introducing HAPS—60做例子。這個容量大家可以看到,64的容量就達(dá)到1800萬門的邏輯,就邏輯的角度的門數(shù)來看,比如說你有AMC(英),它有一個接口給大家使用,之前的直板也供給大家使用。更好的是這個平臺除了大片的平臺,它還能夠調(diào)節(jié),它不管怎么放,它都有一個連接的方式,有8個FPGA一起來操作。這上面使用的器件,我們從上一代的產(chǎn)品HAPS5的系列,一直到現(xiàn)在HAPS6。這個上面其實是非常高的一個設(shè)計工藝,舉例來說,從PC板上面它是40層的設(shè)計工藝在上面,它也考慮到它的速度,每一個節(jié)點都能跑到200兆的速度。因為所產(chǎn)生出來的散熱問題,或者說怎么樣控制它的功耗,也都有獨特的設(shè)計在上面。除了這些以外,它必須跟 你原來的仿真環(huán)節(jié)能夠連接,為什么要有這個要求呢?我們可以看到,右邊的綠色方塊,它能夠在驗證平臺里面把里面的值事先儲存,你設(shè)定它一個固定的值里面,然后看看這個原型平臺的反應(yīng),你可以把(英)數(shù)據(jù)整串的丟進(jìn)去,整串的抓出來,這些在硬件里面很難看到,但是你通過跟仿真的連接,你就可以看到。在接口上面,你可以把系統(tǒng)設(shè)計成你喜歡的設(shè)計環(huán)節(jié),因為每個人的用法不一樣,你今天用了,明天可能另外一個人要使用,只要在文檔上面選擇,依照哪一個文檔來設(shè)定就可以了,所以這也是原型驗證平臺跟仿真環(huán)節(jié)整合的好處。仿真環(huán)節(jié)里面,你就可以在仿真跟硬件里面抓到雙方的優(yōu)點,硬件的速度是方針的大概100萬倍,所以一些穩(wěn)定的線路你就可以放到硬件上面加速,不穩(wěn)定的,你可以盡量放在仿真的環(huán)節(jié)里面來調(diào)試。還有一個比較先進(jìn)的做法,當(dāng)然剛剛提到了,仿真的環(huán)境其實速度非常慢,硬件環(huán)境非常快,但是你硬要把它結(jié)合在一起,你所能夠忍受的范圍就是看仿真的速度了。為了解決這個問題,現(xiàn)在有一個比較新的做法,就等于一個指令一樣,一個信號交換為主的基礎(chǔ)來做仿真,也就是說我這個信號從仿真的環(huán)節(jié)繞到硬件我的信號交換的接口上面,我做完所有的事情一次把信號交過來,而不是像仿真的環(huán)節(jié),我們說叫做(英)里面的一個信號轉(zhuǎn)換它都會整個的操作一次,所以比較浪費時間。現(xiàn)在比較尖端的做法叫做(英)的這種做法,這個做法是針對硬件速度的優(yōu)勢發(fā)展出的一個新的技術(shù)。當(dāng)然上面是一個仿真的環(huán)節(jié),下面是一個硬件的環(huán)節(jié),下面是代表驗證的平臺,仿真環(huán)節(jié)里面送出的信號是(英),而不是(英),在硬件里面又是平行的信號,而不是串極的信號,所以這里面還是要有一個轉(zhuǎn)換,這里面要有兩個轉(zhuǎn)換,這個都包括在平臺的里面。把它轉(zhuǎn)換過來以后,你就可以開始做兩邊信號的交換。我們在細(xì)部的這種設(shè)計里面,通常在上驗證平臺以后,驗證平臺一上去,因為在它的速度優(yōu)勢下你可以測很多測不到的東西,因為它是實際的信號進(jìn)來,這個時候你跟仿真的環(huán)節(jié)結(jié)合在一起,可以把里面特定的(英)值抓出來,當(dāng)然在驗證的時候以硬件的速度來做驗證,跟軟件一起協(xié)同驗證之后,把它的資料放到仿真環(huán)境里面,用仿真的環(huán)境慢慢找出問題來,找出問題來還是要把你的設(shè)計代碼修改以后,在仿真的環(huán)境里面再重新做一次,確定完全沒有問題以后你再把他放到硬件里面來,所以這個接口是非常重要的。在一個理想的驗證平臺里面這些都是要能夠支持的。在原型驗證平臺上面現(xiàn)在已經(jīng)越來越重要,在所有產(chǎn)品的設(shè)計都需要做原型驗證,這里面最重要的是把軟件開發(fā)放在這里面,更重要的是把軟件開發(fā)在你硬件還沒確定之前就做好,比如說硬件投片之前就把這個芯片開發(fā)完成,不容許軟件的任何錯誤。第二個,低成本、高效率。你要考慮到這個板要能夠支持到所有所要的這種界面的速度,比如說USB3.0怎么樣在(英)上面做原型驗證,必須仔細(xì)選擇一個好的驗證平臺。接下來必須選擇一個低風(fēng)險的原型驗證平臺,有一個世界級的支持團(tuán)隊、有世界及的口碑這樣子的商品化原型驗證平臺,這樣可以減低你內(nèi)部的風(fēng)險,提升你市場的競爭力。
所以這些就是我今天提出來跟大家分享的資料。