趙倩 周多 王曉華
摘要:以FPGA輔助集成電路設(shè)計(IC)的教學(xué)方法可以在現(xiàn)有的實驗條件下,完成IC設(shè)計的硬件驗證和芯片使用。加深學(xué)生對IC設(shè)計的認(rèn)知,避免IC設(shè)計流片高昂成本的問題。使得IC設(shè)計課程教學(xué)不再流于“紙上談兵”。FPGA輔助IC設(shè)計教學(xué)對培養(yǎng)我國急需的IC設(shè)計人才是大有裨益的。
關(guān)鍵詞:FPGAIC設(shè)計教學(xué)改革
中圖分類號:G642.0文獻標(biāo)識碼:A
一、引言
IC產(chǎn)業(yè)是一個國家戰(zhàn)略性基礎(chǔ)產(chǎn)業(yè),受到各國政府的高度重視。調(diào)查顯示,中國IC產(chǎn)業(yè)設(shè)計能力不斷提升,如今,中國已是全球第三大芯片設(shè)計中心,且IC設(shè)計領(lǐng)域一直是中國半導(dǎo)體產(chǎn)業(yè)增長最快速的領(lǐng)域,其在全行業(yè)所占的比重逐年提升。然而,對集成電路設(shè)計來說,關(guān)鍵是人才。因此培養(yǎng)優(yōu)秀的集成電路設(shè)計人才是維持IT產(chǎn)業(yè)蓬勃發(fā)展的當(dāng)務(wù)之急。
目前,各大高校逐步開展了IC設(shè)計方面的課程和培訓(xùn),任何一門跟技術(shù)有關(guān)的課程,如果沒有合理的實驗做支持和驗證,該課程的教學(xué)僅僅流于“紙上談兵”,學(xué)生沒有一個感性認(rèn)識,很難真正理解書本上的知識。而眾所周知,一個IC芯片的流片測試需要數(shù)十萬美金,顯而易見,以教學(xué)為目的,將學(xué)生的設(shè)計用專用芯片(ASIC)的方式實現(xiàn)是不可能的。
在ASIC的設(shè)計過程中,為了提高設(shè)計效率、降低設(shè)計成本并且能夠盡快地找出電路功能和時序中的錯誤,尤其是潛在的錯誤,教學(xué)中我們引入FPGA(Field Programmable Gate Array)來輔助驗證IC設(shè)計。FPGA驗證與ASIC設(shè)計的最大區(qū)別僅僅是FPGA綜合后的硅原型是在FPGA芯片上,而不是生成ASIC芯片,因此它的綜合不象ASIC設(shè)計那樣基于芯片生產(chǎn)廠家提供的工藝庫,而是FPGA提供的硬件資源,但它基本包括了ASIC設(shè)計中RTL級設(shè)計及以后的全部環(huán)節(jié)。因此,我們完全可以采用FPGA來輔助IC設(shè)計教學(xué)。
二、FPGA用于輔助IC設(shè)計教學(xué)
1. FPGA輔助IC設(shè)計教學(xué)思路
FPGA開發(fā)流程主要包括六步驟:RTL級代碼編寫;功能模擬和仿真;邏輯綜合;生成FPGA位流文件并下載到FPGA芯片上進行在線測試;生成最終的IC設(shè)計。其中前三個步驟在任何IC設(shè)計中都具有,與FPGA平臺不相關(guān)的。因此,F(xiàn)PGA非常適合于輔助驗證IC設(shè)計。它能使硬件的功能象軟件一樣通過編程來修改,利用 FPGA這些特性可以對IC設(shè)計進行驗證。用FPGA進行IC設(shè)計驗證的主要益處有:
1.邏輯功能全面驗證;
2.部分電路時序驗證,潛在的錯誤發(fā)現(xiàn);
3.邏輯綜合過程驗證;
4.加快設(shè)計流程,減少重新制版幾率,降低成本;
5.加快系統(tǒng)廠商的系統(tǒng)產(chǎn)品開發(fā);
6.方便系統(tǒng)廠商對邏輯功能全面確認(rèn)。
電子科學(xué)與技術(shù)專業(yè)中的IC設(shè)計課程是該專業(yè)的核心課程,實踐教學(xué)是課程不可或缺的一部分。集成電路系統(tǒng)設(shè)計(IC設(shè)計)平臺實驗體系以集成電路設(shè)計流程為紐帶,為學(xué)生提供集成電路從前端RTL代碼(或電路原理圖)到后端設(shè)計的實驗全過程。通過該平臺,學(xué)生可以掌握Cadence、Synopsys等主流EDA工具,熟悉從系統(tǒng)建模到芯片版圖設(shè)計的全過程。并可以根據(jù)需要把RTL代碼在已有FPGA實驗平臺上進行實現(xiàn)和測試。這樣學(xué)生不需要流片就能完成IC設(shè)計的驗證,IC設(shè)計與FPGA驗證實驗關(guān)系如圖1所示。
2.FPGA輔助IC設(shè)計驗證實例:
圖2 為學(xué)生設(shè)計的 MCU在FPGA上仿真所需要的整體環(huán)境結(jié)構(gòu)圖。主要由MCU內(nèi)核,ROM和RAM的宏單元,接口及用于輔助測試的系統(tǒng)時鐘構(gòu)成。
MCU核的測試過程為:在Quartus 軟件平臺上將待測試的MCU RTL級代碼、輔助測試模塊以及調(diào)用ROM和RAM宏模塊共同構(gòu)成頂層模塊,全編譯通過后生成位流文件(.sof文件)并下載到FPGA芯片中,通過觀察開發(fā)板上七段碼和LED指示燈的結(jié)果驗證MCU核設(shè)計的正確性。
三、FPGA輔助IC設(shè)計教學(xué)成效
基于Cadence、Synopsys平臺的IC設(shè)計,從前端到后端,一直是基于PC機的軟件編程和驗證,學(xué)生看到的是波形、圖形和大段大段的文字描述。設(shè)計的電路是否正確,由于不能流片,學(xué)生無法有一個直觀的效果,不能看到自己設(shè)計的芯片真實地應(yīng)用到實際電路中去。而通過FPGA的驗證策略,把學(xué)生設(shè)計的RTL代碼以FPGA芯片的形式來實現(xiàn)并應(yīng)用實際電路中,能非常直觀的驗證自己設(shè)計的電路是否能按照功能要求運用到實際電路中,又避免了流片所需要的高昂代價。
四、結(jié)論
FPGA具有在線修改能力,可以隨時修改設(shè)計而不必改動硬件電路。而IC設(shè)計流片的代價高昂,而且流片后,如果出現(xiàn)錯誤,糾錯周期較長且成本高。因此用FPGA來輔助IC設(shè)計是IC設(shè)計課程一個很好的教學(xué)方案,可以在較短的時間內(nèi)加深學(xué)生對IC設(shè)計的感性認(rèn)識,并能提高學(xué)生IC設(shè)計的調(diào)試能力,并且我們學(xué)校具有IC設(shè)計實驗室和FPGA實驗室。因此FPGA輔助IC設(shè)計教學(xué)方法在現(xiàn)有的實驗設(shè)備上就能實現(xiàn),且這種教學(xué)方案對培養(yǎng)我國急需的IC設(shè)計人才是大有裨益的。
參考文獻:
[1]閔敬國.高性能MCU內(nèi)核及MAC單元IP核設(shè)計[D].上海:上海大學(xué),2005.
[2]劉怡俊. 應(yīng)用FPGA輔助I C設(shè)計的教學(xué)改革[J]. 廣東科技,2006.57-58
[3]葉波,趙倩. “集成電路系統(tǒng)設(shè)計”課程教學(xué)改革探討[J].中國電力教育, 2010,(16):109-110.