侯寧?趙張飛
摘要:針對本科階段SoC系統(tǒng)教學的不足,研發(fā)了SoC系統(tǒng)平臺并成功應(yīng)用于EDA技術(shù)教學中。通過積極探索EDA技術(shù)課程教學,加強實踐環(huán)節(jié)指導(dǎo),提升學生對SoC系統(tǒng)的理解,初步建立起軟硬件協(xié)同設(shè)計的思想。
關(guān)鍵詞:EDA;SoC;教學特色
作者簡介:侯寧(1982-),男,河南鎮(zhèn)平人,河南城建學院電氣與信息工程學院,講師;趙張飛(1984-),男,安徽滁州人,河南城建學院電氣與信息工程學院,助教。(河南 平頂山 467000)
中圖分類號:G642 文獻標識碼:A 文章編號:1007-0079(2014)08-0088-02
集成電路工藝的不斷進步,使得整個嵌入式系統(tǒng)可以集成到單顆芯片中,稱為系統(tǒng)芯片(System-on-a-chip,SoC)。SoC是在專用ASIC的基礎(chǔ)上發(fā)展起來的,其不再是功能單一的單元電路,而是一種面向某種應(yīng)用的嵌入式系統(tǒng)。[1,2]與由分立器件構(gòu)成的板級系統(tǒng)相比,SoC在成本、體積、速度、集成度、功能多樣性等方面均具有極大優(yōu)勢,是各種自動化設(shè)備、汽車電子、家電、消費類電子領(lǐng)域的核心部件。
由于我國在集成電路設(shè)計領(lǐng)域起步較晚,雖然歷經(jīng)十余年的奮起直追,但與國外的差距反而有逐步拉大的趨勢。2012年,國內(nèi)芯片進口總量2197.17億個,總額約1650億美元,已經(jīng)超過石油進口總額的1200億美元。SoC芯片的進口量更是在芯片進口總量中占有極大比重,因此,培養(yǎng)合格的集成電路設(shè)計人才是高校面臨的一項極其迫切的任務(wù)。
一、EDA技術(shù)教學面臨的挑戰(zhàn)
SoC系統(tǒng)設(shè)計包含硬件設(shè)計和嵌入式軟件設(shè)計兩個方面,需要微機原理、數(shù)字電路設(shè)計、模擬/射頻電路設(shè)計、嵌入式軟件等多學科的知識與技能。同時,由于SoC系統(tǒng)需要軟硬件協(xié)同實現(xiàn)系統(tǒng)功能,因此設(shè)計者必須在定義SoC功能規(guī)范時,確定SoC系統(tǒng)的軟硬件劃分。隨后,按照軟件工程方法學設(shè)計嵌入式軟件,按照VLSI集成電路設(shè)計方法學設(shè)計硬件。在設(shè)計過程中也需要結(jié)合軟硬件協(xié)同設(shè)計的思想,加快SoC系統(tǒng)的設(shè)計進度。[3,4]
現(xiàn)階段,我國高校中電子類及通訊類專業(yè)均開設(shè)有導(dǎo)論性質(zhì)的SoC系統(tǒng)課程,但是理論性太強,學生缺乏對SoC系統(tǒng)的直觀認識并且出現(xiàn)重嵌入式軟件,輕體系結(jié)構(gòu)及硬件設(shè)計的問題。學生對系統(tǒng)總線、知識產(chǎn)權(quán)核(intellectual Property,IP)、軟硬件劃分、軟硬件協(xié)同設(shè)計等概念不甚了解。
EDA技術(shù)是通訊工程、電子信息工程、電子科學與技術(shù)及相關(guān)專業(yè)的一門專業(yè)基礎(chǔ)課,也是唯一一門講述現(xiàn)代數(shù)字電路設(shè)計方法及流程的課程。[5]當前EDA技術(shù)實驗面臨內(nèi)容單一,實驗項目常以驗證型實驗為主,學生的設(shè)計難以突破實驗箱的限制。[6]此外,在該課程教學之前,學生通過微機原理、單片機原理等課程的學習,已經(jīng)對嵌入式系統(tǒng)的體系結(jié)構(gòu)、指令集等概念建立起整體認識,但是由于面對的仍然是8051、8259等分立器件,學生還沒有建立系統(tǒng)的概念,特別是軟硬件協(xié)同設(shè)計的思想。因此,EDA技術(shù)教學中,在學生掌握了基本組合電路、時序電路設(shè)計方法后,利用一個真實的SoC系統(tǒng)平臺進行實踐教學,可以使學生進一步理解SoC系統(tǒng),通過SoC系統(tǒng)實驗使學生初步建立起軟硬件協(xié)同設(shè)計思想。
二、SoC系統(tǒng)平臺介紹
為了滿足EDA設(shè)計課程教學中SoC系統(tǒng)實驗的需要,筆者開發(fā)了一款嵌入式SoC系統(tǒng)平臺,如圖1所示。
嵌入式SoC系統(tǒng)平臺包括一款兼容ARM指令集[7]的處理核。AHB總線掛接內(nèi)部存儲器,默認從設(shè)備,中斷控制器。處理核通過APB總線橋訪問常用的慢速外設(shè),包括通用IO、定時器、SPI接口、I2C接口以及UART接口。
嵌入式SoC系統(tǒng)平臺結(jié)構(gòu)簡單,參數(shù)化設(shè)計,外設(shè)豐富,除了滿足SoC系統(tǒng)實驗要求外,還可以做為EDA課程設(shè)計的基礎(chǔ)平臺開展一些開放性實驗。
筆者開設(shè)的SoC系統(tǒng)實驗課沒有采用Altera公司的SOPC實驗環(huán)境。[8,9]筆者認為對于初步接觸SoC系統(tǒng)的學生而言,該平臺涉及的自動化工具過多,容易將學生學習的注意力轉(zhuǎn)移到工具的使用上,而忽略了對SoC系統(tǒng)本身的學習。
三、SoC系統(tǒng)實驗介紹
已經(jīng)開設(shè)的SoC系統(tǒng)實驗包括系統(tǒng)總線實驗、通用總線接口(General Purpose Input Output,GPIO)設(shè)計實驗和開放性實驗三部分。通過這部分內(nèi)容的學習,要求學生掌握系統(tǒng)總線、IP核的概念,初步建立軟硬件協(xié)同設(shè)計思想并理解軟硬件資源開銷。
1.系統(tǒng)總線實驗
微機原理和單片機課程通常以8051作為授課對象。8051的外部總線是一種板級三態(tài)總線,要求地址和數(shù)據(jù)總線復(fù)用,完全不同于強調(diào)流水操作的現(xiàn)代系統(tǒng)總線。AMBA總線是ARM公司定義的一種系統(tǒng)總線規(guī)范,用于ARM處理核與外設(shè)IP間的數(shù)據(jù)通訊,是一種典型的現(xiàn)代系統(tǒng)總線。①由于ARM處理核超高的市場占有率,AMBA總線標準應(yīng)用廣泛。
AMBA總線規(guī)范內(nèi)容較多,實驗僅涉及AHB-LITE總線和APB總線的基本操作。
圖2所示為一個典型的AHB-LITE總線系統(tǒng),實驗要求學生自己定義各個外設(shè)的總線地址區(qū)間,設(shè)計出總線的譯碼器模塊和多路選擇器模塊。
APB總線橋連接AHB總線與APB總線,這部分內(nèi)容作為開放實驗的一部分,供學有余力的同學學習。實驗中僅要求學生掌握APB總線的基本讀寫時序。
通過系統(tǒng)總線實驗,使學生理解現(xiàn)代系統(tǒng)總線的設(shè)計思路,理解板級總線與片內(nèi)系統(tǒng)總線的區(qū)別。
2.GPIO設(shè)計實驗
GPIO是SoC系統(tǒng)最基本的外設(shè)IP,可以用作各類總線擴展接口,還可以提供額外的控制監(jiān)視功能。本實驗要求學生需要依據(jù)設(shè)計規(guī)范,設(shè)計出一款基于APB總線接口的GPIO外設(shè)IP,特別要求GPIO支持硬件“讀—改—寫”操作。通過該實驗使學生理解IP核的設(shè)計重點,重點建立軟硬件劃分的設(shè)計思想,理解軟硬件資源開銷。
圖3所示為實驗技術(shù)規(guī)范定義的GPIO框圖,主要包括數(shù)據(jù)模塊和中斷模塊。GPIO規(guī)范要求設(shè)計具有如下特征:軟件配置輸入或者輸出;支持硬件“讀-改-寫”功能;可配置作為中斷源;可配置支持上升沿和下降沿中斷。
在實際教學中,要求學生必須完成GPIO的數(shù)據(jù)模塊的設(shè)計。中斷模塊的設(shè)計可作為開放性實驗。在實驗中,要求學生用軟件實現(xiàn)“讀—改—寫”操作,與硬件的“讀—改—寫”操作比較,深刻理解嵌入式系統(tǒng)設(shè)計中的軟硬件開銷問題,對SoC系統(tǒng)的軟硬件劃分思想有初步的認識。
3.開放性實驗
SoC系統(tǒng)的內(nèi)容豐富,由于EDA技術(shù)學時有限,筆者將一些課程教學無法涉及的內(nèi)容放在EDA課程設(shè)計的開放性實驗環(huán)節(jié)。學生可以在利用SoC系統(tǒng)平臺開發(fā)外設(shè)IP,豐富平臺功能。
開放性實驗提供的可選實驗包括:PWM電機控制實驗,要求學生根據(jù)規(guī)范要求設(shè)計PWM IP并控制電機運轉(zhuǎn);UART通用串口實驗,要求學生根據(jù)規(guī)范設(shè)計UART IP并與PC 調(diào)試助手通訊;SPI FLASH編程實驗,要求學生根據(jù)規(guī)范設(shè)計SPI IP并完成SPI FLASH編程;I2C接口液晶控制實驗,要求學生根據(jù)規(guī)范設(shè)計I2C IP并控制液晶模塊;RTC實驗,要求學生根據(jù)規(guī)范設(shè)計RTC IP并編程支持實時時鐘;未來開放性實驗還將提供SD Card IP,USB IP,Ethernet IP等實驗。
集成電路設(shè)計技術(shù)發(fā)展迅猛,SoC系統(tǒng)平臺的擴展和豐富需要教師不斷學習,以確保學生在校期間能接觸到最先進的集成電路設(shè)計知識,快速適應(yīng)未來工作。
四、 結(jié)束語
針對當前本科教育階段SoC系統(tǒng)教學中重理論,輕實踐,重軟件,輕硬件設(shè)計的問題,筆者利用自己研發(fā)的SoC系統(tǒng)實驗平臺,積極探索EDA技術(shù)課程教學,加強實踐環(huán)節(jié)指導(dǎo),提升學生對SoC系統(tǒng)的理解,使學生初步建立起軟硬件協(xié)同設(shè)計的思想。利用EDA課程設(shè)計的開放性實驗環(huán)節(jié),指導(dǎo)學有余力的學生獨立設(shè)計一些簡單的外設(shè)IP,培養(yǎng)學生興趣,進一步增強學生就業(yè)競爭力。
注釋:
①參見www.arm.com的內(nèi)容。
參考文獻:
[1]郭煒, 郭箏,謝憬.SoC設(shè)計方法與實現(xiàn)[M].電子工業(yè)出版社,
2007.
[2][美]羅文.復(fù)雜SoC設(shè)計[M]. 吳武臣, 侯立剛,譯.機械工業(yè)出版社,2006.
[3]趙川,徐濤,孫曉光.高性能處理系統(tǒng)的軟硬件協(xié)同設(shè)計研究[J].計算機工程與科學,2009,31(1):20-23.
[4]于海,姚啟桂,虞躍,等.基于SoPC的狀態(tài)監(jiān)測裝置的嵌入式軟硬件協(xié)同設(shè)計[J].現(xiàn)代電子技術(shù),2012,(22):1-4.
[5]周莉莉,周淑閣.EDA課程教學方法的研究與實踐[J].實驗室科學,2008,(5):55-57.
[6]翟文正,管功湖.將EDA 技術(shù)引入計算機組成與結(jié)構(gòu)實驗教學的研究[J].實驗室研究與探索,2008,(12):12-14.
[7]周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學出版社,2008.
[8]潘松,黃繼業(yè),曾毓.SOPC技術(shù)使用教程[M].北京:清華大學出版社,2005.
[9]薛小剛,葛毅敏.Xilinx ISE 9.X FPGA/ CPLD 設(shè)計指南[M].北京:人民郵電出版社,2008.
(責任編輯:王意琴)