趙倩 周多 王曉華

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