龍夏 肖連軍 何立新



摘要:數字邏輯課程是計算機專業的專業核心基礎課,是計算機硬件課程群中承上啟下的核心課程。現有課程教學內容并不符合計算機專業的特點及時下社會需求的熱點。為此,我系數字邏輯課程組對教學內容和教學組織進行了改革,以FPGA為工具,將HDL語言和數字邏輯課程相融合,以自主學習為驅動,取得了良好的教學效果。
關鍵詞:數字邏輯;HDL語言;計算機專業
中圖分類號:G424? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)16-0070-02
開放科學(資源服務)標識碼(OSID):
隨著國家將芯片技術列入國家重點支持技術產業,國內對芯片研發相關人才的需求量越來越大。《數字邏輯》是計算機及電子信息類專業的一門必修專業課,是學習計算機硬件系列課程的基礎[1],在硬件課程群中從“基礎—芯片—系統”中起到承上啟下的作用。
但是,傳統的數字邏輯課程以74系列芯片展開講解,關注于芯片的內部底層硬件結構,對于計算機專業學生而言非常吃力。相比而言,這種知識體系對計算機系統的構建展開作用不明顯,不能有效銜接前后課程。
相對而言,隨著FPGA的發展,數字邏輯課程的知識是FPGA的理論基礎,如果能將FPGA技術和數字邏輯課程銜接起來,必然更為有利于教學的開展和學生專業能力的培養。
1 教學現狀分析
1.1 教學內容無差異,無法適應專業、產業、行業的發展需求
隨著信息產業的需求和微電子技術的發展,CPLD和FPGA等可編程邏輯嵌入式系統設計技術以及成為信息產業最熱門的技術之一,應用領域遍及航空航天、醫療、通信、安防、汽車電子、工業、消費類等領域。
相對應的,可編程邏輯技術與數字邏輯課程有著千絲萬縷的聯系,然而國內絕大部分高校該門課程主要講解雙極性工藝的74系列門電路實現方式,以及通過74系列門電路如何組成中小規模集成電路,而當前絕大多數信息類企業往往急需大量的超大規模集成芯片的應用人才。即便在課程中加入可編程邏輯技術的講解,往往只是在課程末章做簡單介紹,顯得突兀,對學生理解硬件描述語言及掌握開發方法沒有任何助益。數字邏輯課程中的觸發器、組合邏輯、時序邏輯是CPLD、FPGA等可編程邏輯技術的核心基礎,如果在原有數字邏輯課程知識點講解中將CPLD、FPGA等的原理和應用能無縫穿插講解,相互支撐,無疑對學生快速掌握可編程邏輯技術有非常大的幫助。
1.2 實驗設備和內容可擴展性差,無法支撐學生“學—做—創”
現行實驗教學設計絕大多數是傳統的試驗箱,主要用于驗證74系列門電路的功能,由一些分立式的接插件組成,完成簡單模型的驗證性試驗,談不上設計,更不可能完成自主創新試驗[2]。傳統的實驗箱將各個功能模塊以及做好,學生只需要按照實驗指導書上說明將各個信號用導線連接,波動相應開關,觀察相應指示燈就完成了實驗,這種線條式的實驗方式很難調動學生的學習興趣和自主創新意識。
而以培養直接面向企業、面向社會的具有創新意識和創新能力的應用型創新人才為己任的應用型高校更應結合企業需求,及時更新實驗設備,提高學生實驗的主觀能動性和創新意識,為培養具備合格工程素養、企業急需的研發工程師提供支撐。
1.3 課程考核手段單一,無法全面評價學習效果
一般情況下,課程考核采用期末筆試和過程考核的方式來評價學習效果,重在理論知識的考核,而對學習過程和學生知識應用能力缺少有效評價指標。造成的后果是部分學生理解錯誤,平時不關注學習,完全以考前突擊以考試通過為課程學習的目標,教學與人才培養目標產生脫節的現象。
2 教學改革措施
2.1 整合課堂教學內容,優化知識結構,重構課程教學體系
實際上,目前國內各個高校數字邏輯課程所講授的內容幾乎完全一致,從思維性的邏輯代數到底層基礎的門電路結構分析,以及組合電路,時序電路的分析,最后擴展到中小規模集成電路的應用。實際情況下,組合邏輯電路、時序邏輯電路是作為數字邏輯電路的基本單元而很難展開講解,而中小規模集成電路必須在一定應用場景才能真正解釋其作用[3]。造成了該門課程講解和學生理解均比較困難,很難從工程角度、系統寬度和應用層面去理解數字邏輯課程知識體系。這也正是當前數字邏輯課程教學過程中最大的問題:學的內容非常有用,但現有的知識結構很難去解決“有什么用”“在哪用”“怎么用”的問題。因此,著眼于學生能力培養,精心重組有關聯的知識模塊勢在必行。
2.1.1 弱化與專業關聯度低的知識點
現有教學內容中,門電路的內部結構分析、門電路的電參數計算等相對偏向于電子類專業,對計算機相關專業學習難度大,聯系不緊密,完全可以在不影響前后知識銜接的前提下去掉。
組合邏輯和時序邏輯是數字邏輯課程的骨架和核心內容,一方面實例化了門電路和觸發器的使用,另一方面為后續中規模集成電路的設計起到鋪墊的作用。在教學中,大多數情況下重在強調兩種類型電路的結構、工作原理和區別上,理論性過強,學生往往很難真正理解兩種類型。要想深刻和透徹理解兩種類型的電路的優缺點,可以結合Verilog HDL語言中的“阻塞賦值和非阻塞賦值”“連續賦值和過程賦值”來講解,輔助以modelsim仿真和案例,理論知識實踐化、案例化。
同樣的,針對中規模集成電路,如加法器、數據選擇器、譯碼器、計數器等內容,應該適當減少內部結構的分析,而多強調器件的功能和用途,特別是強調“計算機系統內部是如何協調工作”的,輔助其建立結構觀和系統觀。
2.1.2 有機穿插講解HDL語言和數字邏輯
在介紹門電路、組合邏輯、時序邏輯和中小規模集成電路應用的過程中穿插講解硬件描述語言和FPGA相關知識,并最終通過FPGA應用系統將數字系統從門級到芯片級到算法級直至系統級有機串聯起來,并相互印證,可以起到“多而不雜”“繁而不亂”的效果。
對于計算機專業學生,強項是編程,對于純粹的電子結構(三極管、MOS管等)有著普遍的畏懼心理,“欺軟怕硬”現象非常普遍,造成計算機硬件類課程教學效果不理想[4]。想要使學生理解“計算機內部到底是如何組成的”和“計算機內部是怎么工作的”,可以在數字邏輯課程教學中穿插講解Verilog HDL語言,精心選擇有趣味性的案例,通過編程驗證理論教學,理論可以升華編程思想,具體可以采用表1的思路。
以電子鐘為例,該系統需要完成計時、顯示和按鍵三個功能,計時功能可以通過計數器來完成,顯示部分可以結合譯碼器來實現。在實現過程中,即可以介紹相關中規模集成芯片(計數器、譯碼器),又可以通過軟件(Verilog HDL)的方式來實現相關器件的功能,并且具有設計的靈活性,可以在課堂上要求學生實際編程操作,活躍了課堂氣氛,使學生積極主動參與,提高課堂的效果。
2.2 “以應用為根本,以學生為中心”,改革實驗平臺和內容
傳統數字邏輯實驗平臺大多采用74系列的驗證型實驗,學生參與熱情不高,效果不理想,不能真正理解和應用數字系統。
為此,我們開發了基于FPGA的數字系統實驗平臺,可以應用于實驗、自主學習和學生第二課堂活動。實驗平臺主要參數如表2所示。
該實驗平臺即可以完成門級實驗,同時可以借助于HDL理解和設計數字系統,并且可以掌握FPGA系統開發的手段和方法,豐富了實踐環節的內容,同時可以將實踐環節和應用場景結合起來,在提高學生學習興趣的同時,深化對數字系統體系內涵的理解[5]。
同時,我們擬修訂實驗內容,將原有實驗內容通過我們的實驗平臺結合形象的學生可以參與其中的實驗項目分別展開,在知識與趣味中學習。我們將實驗內容劃分為三個層次:門級、系統級和創新級。其主體思想可以通過圖1來表現。
2.3 結合自主學習,改革課程考核方式,統一課堂和課外
課程的期末考核除了期末考試外,還加入了自主學習的內容,自主學習主要目的是將教學延伸到課外,自主學習項目依照教學進程,設立綜合型較強的項目,要求學生在FPGA開發平臺上實現,不但要求撰寫設計報告,而且必須有仿真過程,同時在提交報告后安排答辯環節,綜合考核學生對相關內容的掌握情況。
通過自主學習的開展,學生的課外時間得到充分利用。同時,又通過具有一定綜合型、工程特性的項目的訓練,學生加深了對課程的認識,并且獲得了FPGA系統開發的經驗[6]。根據我們的自主平臺,我們累計了部分自主學習項目案例,在表3中列舉了部分。
并且為形成案例庫閉環控制,我們采取了大二學生提創意,大三創新實驗室團隊和大四畢業設計來實現,同時實現的項目又充實到項目庫提供給大二學生自主學習時訓練,以此來確保項目案例庫具有一定的更新和充實。
3 結論
2013年,數字邏輯課程組開始在全國范圍內有特色的高校和相關有代表性的企業,特別是安徽省內相關高新技術企業和園區進行調研,并且完成了自主創新實驗平臺的研制,2015年9月,從14計科專業開始實施數字邏輯教改。通過近四年四屆的課程實施,各方面取得了良好的效果,得到了用人企業的認可。
近四年,專業有五十余同學在合肥、上海、蘇州、深圳相關企業從事FPGA系統開發工作。同時,從后續課程(組成原理、單片機、微機原理)相關老師的反映來看,學生對系統的認知相比以往有長足的進步。
為進一步深化數字邏輯課程改革,課程組下一階段的重心將放在和企業的聯合培養上,準備在第五學期認知實習階段引入相關企業,以真實項目案例為驅動,進一步鞏固和加深對FPGA系統開發的認識。同時,著手研究“硬件課程教學一體化”課程,希望借助于HDL語言,將硬件相關課程完整串接起來,讓課程體系銜接性更好。
參考文獻:
[1] 楊新凱.面向計算機系統能力培養的《數字邏輯》課程教學改革探討[J].教育改革論壇,2015,(6):148-149.
[2] 徐尚中,崔仲遠.高校《數字邏輯》課程改革的思考與探討[J].現代計算機(專業版),2010(9):61-63.
[3] 王華本,鹿建銀,朱良月.“數字邏輯”課程教學模式改革探索與實踐[J].長春理工大學學報,2013,8(4):204-205.
[4] 曹維,徐東風,孫凌潔.基于CDIO理念的數字邏輯實踐教學探索[J].計算機教育,2012(12):75-77.
[5] 任長松.探究式學習:學生知識的自主構建[M].北京:教育科學出版社,2005.
[5] 劉彥,李仁發.以計算思維為導向的數字邏輯課程教學方法改革[J].計算機教育,2014(24):35-38,42.
【通聯編輯:唐一東】