摘要:“SOPC技術(shù)”是電子信息工程專業(yè)的一門重要課程,該課程具有先進(jìn)性、系統(tǒng)性、綜合性和實(shí)用性的特點(diǎn)。為了提高課程教學(xué)質(zhì)量,增強(qiáng)學(xué)生綜合運(yùn)用系統(tǒng)設(shè)計(jì)思想分析和解決實(shí)際工程的能力,對“SOPC技術(shù)”課程的教學(xué)內(nèi)容、教學(xué)方法、實(shí)踐訓(xùn)練等方面進(jìn)行了探討和嘗試。通過兩個(gè)班級的教學(xué)實(shí)驗(yàn)表明,該課程的教學(xué)改革取得了較好的教學(xué)效果。
關(guān)鍵詞:SOPC技術(shù);教學(xué)內(nèi)容;工程系統(tǒng)
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-0079(2014)21-0062-02
可編程片上系統(tǒng)(system on programmable chip,簡稱SOPC)是在一個(gè)可編程芯片上集成一個(gè)完整的系統(tǒng),對所有或必要的電路進(jìn)行集成。此處所指完整系統(tǒng)包括中央處理器、存儲(chǔ)器、模/數(shù)和數(shù)/模轉(zhuǎn)換電路以及外圍電路等;SOPC將原先由許多集成電路組成的電子系統(tǒng)集成在一個(gè)單片可編程硅片上,它已經(jīng)不再是一種功能單一的單元電路,而是將完整的系統(tǒng)功能集成在一起,成為一個(gè)專用功能的電子系統(tǒng)芯片。SOPC是目前集成電路在知識(shí)集成階段的發(fā)展主流和方向,是大規(guī)模集成電路技術(shù)、計(jì)算機(jī)輔助技術(shù)、電子設(shè)計(jì)自動(dòng)化技術(shù)和嵌入式系統(tǒng)技術(shù)高度發(fā)展和融合的產(chǎn)物。SOPC技術(shù)目前已經(jīng)成為現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)的主要手段,是現(xiàn)代電子工程師必須要掌握的技術(shù),具有廣泛的應(yīng)用前景。[1,2]但是“SOPC技術(shù)”課程作為一門融合度高、綜合性強(qiáng)的專業(yè)課在電子信息工程專業(yè)教學(xué)中也存在一定的問題:第一,教學(xué)內(nèi)容多,而教學(xué)時(shí)數(shù)少;第二,教材知識(shí)點(diǎn)系統(tǒng)化程度低,各知識(shí)點(diǎn)間聯(lián)系不充分;第三,授課方式未能充分體現(xiàn)課程的工程實(shí)踐特點(diǎn),學(xué)生學(xué)習(xí)的積極性未被完全調(diào)動(dòng)。針對這些問題,提出了一些相應(yīng)改革方案:適當(dāng)增加理論知識(shí)點(diǎn)所對應(yīng)的現(xiàn)實(shí)例子,提高學(xué)生學(xué)習(xí)的興趣和主動(dòng)性;合理安排教學(xué)內(nèi)容,優(yōu)化知識(shí)點(diǎn)布局,做到課程知識(shí)點(diǎn)成體系;突出案例教學(xué),培養(yǎng)學(xué)生的工程思想;強(qiáng)化工程實(shí)踐,提高學(xué)生綜合運(yùn)用相關(guān)知識(shí)理論分析和設(shè)計(jì)系統(tǒng)的能力。
一、突出實(shí)例,激發(fā)興趣
“SOPC技術(shù)”課程知識(shí)點(diǎn)分布范圍廣泛,涉及可編程器件、C語言程序設(shè)計(jì)、微處理器、硬件描述語言、嵌入式系統(tǒng)、總線等,涵蓋了眾多課程的內(nèi)容。如果一味脫離實(shí)際地灌輸理論知識(shí)點(diǎn),就會(huì)使課程失去其工程前沿的本質(zhì)特點(diǎn),從而使學(xué)生對這門課程失去興趣。如何在課堂上利用有限的時(shí)間,結(jié)合具體實(shí)例來闡述知識(shí)點(diǎn),使其有明確的實(shí)際意義,激發(fā)學(xué)生學(xué)習(xí)的興趣是本課程教學(xué)的重要任務(wù)。在講解抽象的知識(shí)點(diǎn)時(shí),注意引用與當(dāng)前科技熱點(diǎn)相聯(lián)系的實(shí)例,使實(shí)例具有直觀性、鮮明性和實(shí)效性,以期最大程度引起學(xué)生的關(guān)注。在具體的課堂實(shí)踐中,進(jìn)行以下嘗試:
第一,在第一章緒論講授SOPC基本概念時(shí),利用圖片形式表述集成電路發(fā)展的各個(gè)發(fā)展階段,逐步引出SOPC的概念,讓學(xué)生在了解SOPC技術(shù)由來的同時(shí),還能夠掌握SOPC的技術(shù)優(yōu)勢。具體來說,利用世界上第一個(gè)晶體管及其發(fā)明者William Shockley的圖片表征晶體管發(fā)展階段,利用世界上第一個(gè)集成電路及其發(fā)明者Jack Kilby的圖片表示小規(guī)模集成電路階段,利用學(xué)生比較熟悉的74LS148編碼器芯片和74LS153數(shù)據(jù)選擇器芯片闡述中規(guī)模集成電路階段,利用典型的CPU芯片圖片說明大規(guī)模集成電路階段和超大規(guī)模集成電路階段。利用圖片給學(xué)生們強(qiáng)烈的視覺沖擊,使其初步理解SOPC技術(shù)在當(dāng)前高新領(lǐng)域中的作用。
第二,在講授SOPC系統(tǒng)的硬件系統(tǒng)和軟件系統(tǒng)協(xié)同設(shè)計(jì)時(shí),首先,播放波音公司客機(jī)協(xié)同設(shè)計(jì)的視頻資料,讓學(xué)生對最先進(jìn)的協(xié)同設(shè)計(jì)思想有一個(gè)直觀的認(rèn)識(shí);其次,以該系統(tǒng)為分析對象,講述如何實(shí)現(xiàn)系統(tǒng)軟件系統(tǒng)和硬件系統(tǒng)的劃分,如何實(shí)現(xiàn)各個(gè)設(shè)計(jì)人員的分工與協(xié)作;再次,引入SOPC系統(tǒng)設(shè)計(jì)問題,講述SOPC系統(tǒng)的軟件系統(tǒng)和硬件系統(tǒng)的功能劃分、功能實(shí)現(xiàn)、系統(tǒng)協(xié)同問題;最后,對SOPC的軟件系統(tǒng)和硬件系統(tǒng)的協(xié)同設(shè)計(jì)步驟進(jìn)行總結(jié)與歸納。通過這種實(shí)例的直觀化表述,使學(xué)生對復(fù)雜的SOPC系統(tǒng)的軟件系統(tǒng)和硬件系統(tǒng)協(xié)同設(shè)計(jì)有清晰的認(rèn)識(shí)和準(zhǔn)確的把握。
第三,在講授NOIS II軟核配置時(shí),引入最典型的嵌入式系統(tǒng)開發(fā)實(shí)例作為對比,以對比分析的方式講述配置步驟、突出NOIS II軟核配置的優(yōu)勢。首先,以嵌入式系統(tǒng)的開發(fā)框圖為指導(dǎo),講述如何配置CPU、存儲(chǔ)器、外圍設(shè)備,并分析其復(fù)雜度;其次,以相同的功能為目標(biāo),講述NOIS II是如何配置實(shí)現(xiàn)的;最后,總結(jié)NOIS II軟核配置的步驟和特點(diǎn)。對比實(shí)例的講述,使學(xué)生對NOIS II軟核配置的認(rèn)識(shí)更為深刻。
通過對以上不同實(shí)例的講授,讓學(xué)生們理解SOPC技術(shù)是當(dāng)今電子信息領(lǐng)域的發(fā)展方向和發(fā)展重點(diǎn),意識(shí)到學(xué)好SOPC技術(shù)的重要性,從而激發(fā)其學(xué)習(xí)的內(nèi)動(dòng)力。
二、教學(xué)內(nèi)容系統(tǒng)化
“SOPC技術(shù)”課程內(nèi)容主要包括可編程邏輯器件、硬件描述語言、硬件系統(tǒng)設(shè)計(jì)、軟件系統(tǒng)設(shè)計(jì)、軟件開發(fā)環(huán)境和硬件開發(fā)平臺(tái)等,而且“SOPC技術(shù)”課程與相關(guān)課程知識(shí)點(diǎn)的交叉融合度高,對相關(guān)知識(shí)的掌握程度直接影響到本課程的學(xué)習(xí)。該課程的綜合性特點(diǎn)決定了現(xiàn)在很難找到一本教材可以涵蓋課程的主要內(nèi)容,而且由于學(xué)生的知識(shí)面有限,學(xué)習(xí)每一章內(nèi)容時(shí)很容易孤立思考,難以“系統(tǒng)化”思考問題,難以把課程內(nèi)容串聯(lián)起來,學(xué)生對課程的總體脈絡(luò)把握不準(zhǔn)確。針對上述問題,按照軟件系統(tǒng)設(shè)計(jì)、硬件系統(tǒng)設(shè)計(jì)、軟硬件系統(tǒng)協(xié)同設(shè)計(jì)這條主線組織課程教學(xué)內(nèi)容,對相關(guān)內(nèi)容以講座的形式輔以介紹,從而使課程教學(xué)內(nèi)容成體系、知識(shí)點(diǎn)系統(tǒng)化。具體實(shí)施方法為:第一,以講座的形式對可編程邏輯器件相關(guān)知識(shí)進(jìn)行補(bǔ)充,介紹可編程邏輯器件的主要特點(diǎn)、使用方法、軟件實(shí)現(xiàn)等知識(shí)點(diǎn),為SOPC系統(tǒng)的構(gòu)建奠定物理器件知識(shí)基礎(chǔ)。第二,按照功能模塊形式介紹硬件描述語言,忽略具體硬件描述語言編程的語法要素,著重從描述方式和實(shí)現(xiàn)功能上闡述與SOPC系統(tǒng)設(shè)計(jì)相關(guān)的硬件描述語言特征。[3]第三,在上述相關(guān)知識(shí)基礎(chǔ)之上,重點(diǎn)講述利用相關(guān)軟件實(shí)現(xiàn)軟件系統(tǒng)設(shè)計(jì)的方法,主要包括設(shè)計(jì)的輸入、設(shè)計(jì)的綜合、設(shè)計(jì)的優(yōu)化、設(shè)計(jì)的適配、設(shè)計(jì)的仿真、設(shè)計(jì)的時(shí)序分析和設(shè)計(jì)的下載等,涉及到Quartus II、SOPC Builder、Nois II IDE、Signal Tap、TimeQuest等軟件的使用方法;在講述軟件系統(tǒng)設(shè)計(jì)方法時(shí),以講座的形式補(bǔ)充時(shí)序分析和時(shí)序約束的相關(guān)知識(shí),以彌補(bǔ)學(xué)生對此部分知識(shí)掌握的欠缺。第四,講授硬件系統(tǒng)的設(shè)計(jì),從結(jié)構(gòu)和功能的角度補(bǔ)充硬件系統(tǒng)開發(fā)平臺(tái)Altera DEII的相關(guān)知識(shí),[4]重點(diǎn)講授如何利用Nois II對CPU進(jìn)行添加和配置、對通訊模式進(jìn)行選擇、對各種外設(shè)進(jìn)行添加和配置以及如何添加配置自定義外設(shè)、自定義指令等。第五,在設(shè)計(jì)軟件系統(tǒng)和硬件系統(tǒng)的基礎(chǔ)上進(jìn)行系統(tǒng)的軟硬協(xié)同,對整個(gè)SOPC系統(tǒng)進(jìn)行分析,決定哪些部分用硬件實(shí)現(xiàn)、哪些部分用軟件實(shí)現(xiàn)以及軟硬件系統(tǒng)的搭配方式。此部分協(xié)同設(shè)計(jì)最為靈活,容易發(fā)揮學(xué)生的創(chuàng)造性,在講授時(shí)不拘泥于實(shí)現(xiàn)步驟,給學(xué)生充分的發(fā)揮空間。通過這樣一條主線安排課程教學(xué)內(nèi)容并適當(dāng)補(bǔ)充相關(guān)知識(shí)內(nèi)容,使得學(xué)生能夠清晰、系統(tǒng)地掌握課程的各個(gè)知識(shí)點(diǎn),把握課程的重要部分。
三、實(shí)踐教學(xué)案例化
“SOPC技術(shù)”是一門工程實(shí)踐性很強(qiáng)的課程,實(shí)踐教學(xué)在課程中占有很大的比重,在課程實(shí)踐教學(xué)中按照案例化方式進(jìn)行。通過具體案例的講解和分析,提高學(xué)生綜合運(yùn)用數(shù)字系統(tǒng)設(shè)計(jì)理論解決實(shí)際工程的實(shí)踐能力。在案例的選擇和制作環(huán)節(jié),保證每個(gè)案例包含少量知識(shí)點(diǎn),降低了學(xué)生學(xué)習(xí)的難度,實(shí)現(xiàn)了重要知識(shí)點(diǎn)的分離;此外,還注意案例的新穎性、典型性和代表性,所選擇的案例能夠與授課內(nèi)容相吻合,案例的內(nèi)容能夠突出授課的重點(diǎn),案例內(nèi)容與整體內(nèi)容達(dá)到統(tǒng)一。總之,案例的選擇兼顧知識(shí)復(fù)雜度和知識(shí)點(diǎn)數(shù)。在具體實(shí)施時(shí),主要有如下幾個(gè)方面:
第一,在講授利用Quartus II設(shè)計(jì)系統(tǒng)時(shí),以全加器系統(tǒng)設(shè)計(jì)為案例講解VHDL和圖形化這兩種典型設(shè)計(jì)方法,包括每種設(shè)計(jì)方法的設(shè)計(jì)流程和詳細(xì)步驟。首先,講解如何利用VHDL設(shè)計(jì)一個(gè)半加器,包括工程的建立、器件的選擇、文件的包入、仿真工具的添加、VHDL對電路結(jié)構(gòu)的描述(按照幾種典型方式分別描述)、輸入輸出量的確定、可編程器件管腳地址的分配、功能仿真驗(yàn)證、時(shí)序仿真驗(yàn)證、工程的編譯、工程目標(biāo)文件的下載、系統(tǒng)的驗(yàn)證等環(huán)節(jié);其次,對驗(yàn)證通過的半加器工程文件進(jìn)行封裝處理,生成半加器元件;再次,講解利用圖形化方式構(gòu)建全加器數(shù)字系統(tǒng)的步驟,包括圖形工程文件的建立、已有元件的調(diào)用、自定義元件的使用、信號(hào)的連接方式、輸入輸出量的確定、各種仿真驗(yàn)證環(huán)節(jié);最后,對照數(shù)字系統(tǒng)設(shè)計(jì)思想,歸納出兩種設(shè)計(jì)方法綜合實(shí)現(xiàn)全加器的主要步驟。通過這樣一個(gè)涵蓋兩個(gè)重要知識(shí)點(diǎn)的案例,使學(xué)生能夠掌握VHDL和圖形化兩種數(shù)字系統(tǒng)設(shè)計(jì)方法與設(shè)計(jì)步驟。
第二,在講解Nois II的使用時(shí),選擇典型的流水燈系統(tǒng)案例來講解系統(tǒng)設(shè)計(jì)的各個(gè)步驟。首先,講解流水燈的工作原理,對流水燈功能進(jìn)行劃分,明確系統(tǒng)的哪些功能可以由Nois II來實(shí)現(xiàn);其次,講解Nois II配置系統(tǒng)的各個(gè)環(huán)節(jié),包括CPU的選擇、通訊方式的選擇、存儲(chǔ)器的選擇、地址的分配、時(shí)鐘的選擇、系統(tǒng)的產(chǎn)生、輸入輸出量的確定、系統(tǒng)的綜合;最后,歸納出每個(gè)環(huán)節(jié)所對應(yīng)的流水燈功能模塊。通過這樣一個(gè)具體案例,讓學(xué)生直觀地掌握Nois II使用的要點(diǎn)。
教學(xué)效果表明,在實(shí)踐教學(xué)中,隨著案例學(xué)習(xí)的不斷深入,學(xué)生所掌握的知識(shí)點(diǎn)也越來越多,運(yùn)用的技巧也越來越復(fù)雜。典型案例對鞏固學(xué)生記憶有很大的幫助,特別是具有代表性的案例。案例化教學(xué)方式挖掘了學(xué)生的創(chuàng)新潛能和創(chuàng)新意識(shí),提高了學(xué)生解決實(shí)際問題的能力。
四、結(jié)束語
筆者僅根據(jù)自身的教學(xué)經(jīng)驗(yàn),針對“SOPC技術(shù)”課程教學(xué)進(jìn)行了一些改革與建設(shè)實(shí)踐,提出了教學(xué)內(nèi)容系統(tǒng)化、系統(tǒng)設(shè)計(jì)案例化、理論思想工程化等觀點(diǎn)。結(jié)果表明,通過教學(xué)改革,極大地調(diào)動(dòng)了學(xué)生學(xué)習(xí)的主動(dòng)性,加深了學(xué)生對SOPC系統(tǒng)設(shè)計(jì)思想的理解,提高了學(xué)生運(yùn)用相關(guān)理論解決實(shí)際問題的能力,豐富了學(xué)生的工程實(shí)踐經(jīng)驗(yàn),取得了良好的教學(xué)效果。
參考文獻(xiàn):
[1]潘松,黃繼業(yè),曾毓.SOPC技術(shù)實(shí)用教程[M].北京:清華大學(xué)出版社,2005.
[2]楊軍,李彤.基于FPGA的SOPC實(shí)踐教程[M].北京:科學(xué)出版社,2010.
[3]付永慶.VHDL語言及其應(yīng)用[M].北京:高等教育出版社,2005.
[4]張志剛.FPGA與SOPC設(shè)計(jì)教程——DE2實(shí)踐[M].西安:西安電子科技大學(xué)出版社,2007.
(責(zé)任編輯:孫晴)