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