圖形芯片設(shè)計全過程
人類對視覺信號天生的敏感決定了對圖形處理硬件性能的渴求成了現(xiàn)階段硬件產(chǎn)業(yè)最炙手可熱的話題。與滿足聽覺的音頻設(shè)備相比,現(xiàn)在的圖形處理技術(shù)水平給圖形處理還留有很大的發(fā)展空間,要實現(xiàn)電影級別的實時三維渲染效果還有很長一段路要走。這就決定了這個產(chǎn)業(yè)的競爭充滿了變數(shù),在技術(shù)開發(fā)和市場推廣策略上稍有不慎就會別別人趕超。為了應(yīng)付激烈的行業(yè)競爭,圖形處理芯片產(chǎn)業(yè)的各個廠商為了作為一種ASIC(Application Specific Integrated Circuit)特定用途集成電路已經(jīng)衍生出特定運作的策略,產(chǎn)品研發(fā)程序,以保持自身在整個產(chǎn)業(yè)的競爭力水平,F(xiàn)將圖形芯片設(shè)計研發(fā)的全過程介紹給大家,以供大家學(xué)習(xí),事實上現(xiàn)在絕大多數(shù)的圖形芯片設(shè)計廠商都是依照這個程序來進行新品研發(fā)的。 確定研發(fā)方案和硬件語言描述 與任何一個靠生產(chǎn)產(chǎn)品謀求發(fā)展的企業(yè)一樣,設(shè)計推出一款新的GPU 的第一步理所當(dāng)然的是市場的調(diào)研和產(chǎn)品的開發(fā)規(guī)劃。在這段時間內(nèi),未來產(chǎn)品的相關(guān)定位,主要占領(lǐng)的市場范圍等話題都被提到桌面上討論,這些問題討論的結(jié)果最終將決定產(chǎn)品最終的研發(fā)方案的大體內(nèi)容:研發(fā)成本,研發(fā)周期以及開發(fā)過程中需要的資源等等。 接下來就要在研發(fā)方案確定的大方向的技術(shù)上研究從生產(chǎn)工藝,芯片代工等具體的細節(jié)問題進行商議。在成本的限制范圍內(nèi)決定諸如集成晶體管數(shù)量等物理參數(shù);緊接著就要在符合生產(chǎn)工藝的芯片代工廠中做出選擇了,決定這個的因素很多,當(dāng)然第一點是能提供生產(chǎn)芯片要求的工藝水平,比如0.15微米,0.13微米,甚至90納米,其次是代工廠的產(chǎn)品質(zhì)量和價格因素。當(dāng)然很多時候芯片在設(shè)計的時候就計劃使用比較超前的工藝,保證選擇的代工廠(即芯片生產(chǎn)的公司比如TSMC )在芯片設(shè)計完成開始投片的時候完成相關(guān)工藝改造是十分重要的,如果你在這一點上面做出錯誤的判斷,那對公司造成的損失是巨大的,因為圖形芯片行業(yè)是一個最求速度的產(chǎn)業(yè),Nv30被芯片代工廠拖累,眼看著ATI在高端大量出貨也是沒轍。因為在生產(chǎn)工藝已經(jīng)決定的情況下,如果要在回過頭來修訂成別的工藝指標(biāo),那進行的工作又會持續(xù)幾個月,其中的工作量不比重新一塊芯片要少多少! 當(dāng)這一切前期環(huán)節(jié)確定以后,就開始我們這篇文章最主要的部分了,顯示芯片構(gòu)架的設(shè)計。一個設(shè)計團隊被組織起來定義GPU 支持的技術(shù)特征并且制定整個設(shè)計工作的日程表(比如團隊1在三周內(nèi)完成反鋸齒單元的設(shè)計)。在我們深入介紹芯片的設(shè)計過程之前,我們先來了解一下現(xiàn)在芯片制造公司一般的設(shè)計流程。 現(xiàn)在,芯片構(gòu)架的設(shè)計一般是通過專門的硬件設(shè)計語言Hardware Description Languages (HDL)來完成,所謂硬件設(shè)計語言( HDL)顧名思義,是一種用來描述硬件工作過程的語言,F(xiàn)在被使用的比較多的有 Verilog 、 VHDL。 這些語言寫成的代碼能夠用專門的合成器生成邏輯門電路的連線表和布局圖,這些都是將來發(fā)給芯片代工廠的主要生產(chǎn)依據(jù)。對于硬件設(shè)計語言( HDL)一般的人都基本上不會接觸到,我們在這里只給大家簡略的介紹一下:在程序代碼的形式上HDL和C也沒有太大的不同,但他們的實際功能是完全的不同。比如下面這個Verilog語言中非;镜囊粭l語句: always@(posedge clock) Q <= D; 這相當(dāng)于C語言里面的一條條件判斷語句,意思就是在時鐘有上升沿信號的時候,輸出信號 'D' 被儲存在'Q'。就是通過諸如此類的語句描述了觸發(fā)器電路組成的緩存和顯存之間數(shù)據(jù)交換的基本方式。合成器就是依靠這些代碼描述出來的門電路的工作方式關(guān)系生成電路的。在芯片的設(shè)計階段基本上都是通過工程師們通過Verilog語言編制HDL代碼來設(shè)計芯片中的所有工作單元,也決定該芯片所能支持的所有技術(shù)特征。這個階段一般要持續(xù)3到4個月(這取決于芯片工程的規(guī)模),是整個設(shè)計過程的基礎(chǔ)。 在上述的工作完成后,就進入了產(chǎn)品設(shè)計的驗證階段,一般也有一兩個月的時間。這個階段的任務(wù)就是保證在芯片最后交付代工廠的設(shè)計方案沒有缺陷的,就是我們平時所說的產(chǎn)品的“bug”。這一個階段對于任何芯片設(shè)計公司來說都是舉足輕重的一步,因為如果芯片設(shè)計在投片生產(chǎn)出來以后驗證出并不能像設(shè)計的那樣正常工作,那就不僅意味著繼續(xù)投入更多的金錢修改設(shè)計,重新投片,還會在圖形芯片產(chǎn)業(yè)最為重視的產(chǎn)品推出速度方面失去先機。整個驗證工作分為好幾個過程,基本功能測試驗證芯片內(nèi)的所有的門電路能正常工作,工作量模擬測試用來證實門電路組合能達到的性能。當(dāng)然,這時候還沒有真正物理意義上真正的芯片存在,這些所有的測試依舊是通過HDL 編成的程序模擬出來的。 接下來的驗證工作開始進行分支的并行運作,一個團隊負責(zé)芯片電路的靜態(tài)時序分析,保證成品芯片能夠達到設(shè)計的主頻;另外一個主要由模擬電路工程師組成的團隊進行關(guān)于儲存電路,供電電路的分析修改。和數(shù)字電路的修正工作相比,模擬工程師們的工作要辛苦的多,他們要進行大量的復(fù)數(shù),微分方程計算和信號分析,即便是借助計算機和專門的軟件也是一件很頭疼的事情。同樣,這時候的多有測試和驗證工作都是在模擬的狀態(tài)下進行的,最終,當(dāng)上述所有的工作完成后,一份由合成器生成的用來投片生產(chǎn)門電路級別的連線表和電路圖就完成了。但是,圖形芯片設(shè)計者不會立即把這個方案交付廠家,因為它還要接受最后一個考驗,那就是我們通常所說的FPGA (Field Programmable Gate Array)現(xiàn)場可編程門陣列模擬芯片的最終功能正確性。 對于NV30那樣集成一億多個晶體管超級復(fù)雜芯片,在整個使用硬件設(shè)計語言( HDL)設(shè)計和模擬測試的過程中,要反復(fù)運行描述整個芯片的數(shù)十億條的指令和進行真正“海量”的數(shù)據(jù)儲存,因此對執(zhí)行相關(guān)任務(wù)的的硬件有著近乎變態(tài)的考驗。下面是NVIDIA實驗室的配備。 此主題相關(guān)圖片如下: 此主題相關(guān)圖片如下: 11臺Sun微系統(tǒng)公司提供的SunFire 6800架式服務(wù)器,身高6英尺,每一臺都配備有 196GB的內(nèi)存,單價都在百萬美元左右。 此主題相關(guān)圖片如下: |