?

Verilog HDL 主題—案例組合式實驗教學實施

2020-08-25 07:06
計算機教育 2020年8期
關鍵詞:寄存器講座案例

柳 欣

(山西大學商務學院 信息學院,山西太原 030031)

0 引 言

一體化數字集成電路IC(Integrated Circuit)是各種控制/智能終端系統的核心部分。掌握數字IC 設計可以為特定領域做出貢獻,如老年護理和獨立生活的生物電位監測,護理人員遠程監測多項生命體征參數,以識別老人移動、行走狀態,監測是否跌倒等。目前EDA(Electronics Design Automation)發展已經使數字IC 設計方法從圖形轉向硬件描述語言HDL(Hardware Description Language),它意味著數字IC 設計變得更加抽象。成果導向教育(Outcome based education,OBE)倡導學生與教師精誠合作,共同完成學習過程,最后一起分享學習成果,享受學習樂趣[1]。為使學生能夠較好地參與到課堂教學中來,基于Verilog HDL 的主題—案例組合式實驗教學設計,意在通過基于IC 基本技術的典型設計實例回應到實際項目,為學生提供簡便高效學習方法的同時,拓展學生在未來特定領域實現數字IC 設計并有效改進現有控制系統的能力。

教學依據的線上教學平臺為推送資源及組織教學活動平臺——學習通[2]、虛擬仿真實驗室Quartus9.1、集中教學平臺——騰訊會議;線下銜接教學平臺為多媒體環境的現場實驗室。OBE理念下線上線下可銜接的實驗教學實施及學習效果導向如圖1 所示。

1 基于案例的分層推進式目標設計規劃

1.1 數字IC 設計課程的主要目標

培養學生掌握數字IC 設計的能力,包括編寫Verilog HDL,運行EDA 工具來模擬、綜合和測試及驗證FPGA 設計[3]。

(1)了解數字IC 設計方法。①設計流程;②設計仿真,綜合和驗證。

(2)能夠編寫Verilog HDL 代碼。①理解Verilog HDL 的結構、數據流和行為描述;②理解Verilog HDL 與硬件架構的關系。

(3)能夠使用EDA 工具和FPGA 測試板。①使用EDA 工具完成數字IC 設計的能力;②通過EDA 開發工具和FPGA 測試板驗證數字IC 設計的能力。

(4)能夠反思已有設計并通過組討論持續推進設計方法的優化。①了解自頂向下、分層和并行設計方法;②了解流水線、多循環和硬件共享先進的設計技巧。

1.2 IC 設計課程的預期學習成果

圖1 OBE 理念下線上線下可銜接的實驗教學實施及學習效果導向圖

學習者完成課程應達到學習成果:①理解Verilog HDL 語法、編碼、語法和語義;②理解物理硬件架構與Verilog HDL 之間的關系;③掌握IC設計流程,包括Verilog HDL 代碼模擬、單元庫、綜合、時序分析和設計驗證;④具備通過分析現有案例來組織實施項目的能力;⑤具備通過FPGA測試板,運用知識驗證數字IC 設計的能力;⑥能夠拓展運用數字IC 設計能力到特定應用領域。

1.3 學習成果的能力更新和升級

采取以案例為核心、講座和實驗同步組合實施的一套完整教學設計,組織的學習方式將支持學習者學習能力的自我更新和持續發展。

(1)知識理解。①利用本課程知識,理解與案例直接相關問題;②分析梳理實際項目與現有案例之間的知識點關系;③思考和應對新項目、新課題的考察和挑戰。

(2)智力技能。①分析案例實施中成功或失敗的原因;②總結小組經驗基礎上優化原有實驗設計;③小組間討論和經驗分享,獲得新思維啟迪;④拓展應用案例做更進一步研究,嘗試解決新問題或完成新項目。

(3)實踐技能。①編寫Verilog HDL 開發特定數字IC;②利用數字IC 實現既定算法;③使用FPGA 驗證數字IC 設計。

(4)整合技能。①應用真實案例來幫助理解抽象問題;②關聯問題到其他項目;③建立起獨特的個人知識和能力集合。

2 基于案例的同步組合式數字IC內容組織

2.1 課程內容形式的設計組織

由于所提出的數字IC 設計課程是基于案例的教學,因此在實踐教學實施中最好安排主題講座和實驗任務為同步進行。課程包括10 個講座主題和2 個項目。每個講座由講座主題和實驗室的代表性案例組成,每個案例包括Verilog HDL代碼中的物理結構、注釋、真值表和各種描述的說明等內容。學生可以通過參考原理圖和Verilog HDL代碼,學習Verilog HDL代碼的語法、語義,不再是純粹面對那些抽象術語。案例集合的最終指向是終極項目,目的在于引導學生學習如何完成數字IC 設計。2 個項目為脈搏測試儀和選擇項目邏輯看門狗或交通信號燈控制。以終極項目脈搏測試儀為例,分別在第6 次、第10 次講座指導學生設計完成四倍頻器模塊、555 集成定時器模塊和千進制計數—譯碼—顯示器3 個核心子模塊。第13 次講座完成終極項目脈搏測試儀的設計驗證。按時間順序列出主題講座、案例、案例實驗、實驗室學習時間、實際項目指向,見表1。課程除了表1 第/3 欄所示的1、6 和13 課外,分為10 個主題。

2.2 實踐教學實施的用時安排

課程設計安排共13 次講座,除第1 個講座為1 小時外,其余都設計為3 個小時。每周需3個小時,分14 周完成。此外需為每次實驗教學實施留出以下時間:①根據課前教學活動的分組任務制定小組實驗方案并虛擬仿真初步測試的時間;②學生在實驗室以分組形式按既定實驗方案自主實驗和模塊項目操作的時間;③實驗教學人員檢查和驗證由學生完成的實例、中間項目和終極項目的時間;④教師根據現場操作實例解釋模塊實驗、模塊和項目之間關系的時間;⑤學生小組間討論、分享實踐經驗、組間互相指導的時間;⑥教師對實施結果分析和說明,提煉新方

法、新思維和新設計,推動組內和組間實驗能力整體提升的時間;⑦實驗后的反思總結,進一步優化實驗設計、實驗流程和問題解決的時間。

表1 基于案例的數字IC 設計課程的講座和實驗組織

3 基于VerilogHDL的課程案例實踐教學實施

3.1 累加寄存器案例描述

如圖2 所示為講座5 的一部分,顯示一個累加寄存器案例,用于說明指令庫軟件和Verilog HDL 代碼之間的區別。這個階段學生已經了解了課程前期內容的關鍵路徑的含義。圖2(a)顯示累加寄存器的框圖,由三個輸入和一個輸出組成。圖2(b)顯示的是C 語言中累加寄存器的軟件程序,其中有四個整數變量和一個語句來完成累加的操作。圖2(c)顯示累加寄存器的物理結構,說明實際硬件和輸入/輸出部分的細節。此外,該圖還顯示兩個加法器之間的寄存器連線k 以及從兩個加法器的輸入到輸出的關鍵路徑。

圖2(d)給 出 累 加寄存器的Verilog HDL 代碼。參考圖2(c),學生可以通過將輸入/輸出和線聲明映射到電路物理結構中的輸入/輸出端口和實際連接線來理解Verilog HDL 代碼。算術和邏輯運算可以以相同的方式映射到實際組合電路中。它有助于學生了解Verilog HDL代碼與物理結構之間的關系,進而更好地理解抽象Verilog HDL 代碼中關鍵路徑的含義。

圖2(e)顯示使用了兩個數據選擇器、一個加法器和一個寄存器的兩級累加寄存器物理結構。該累加寄存器通過數據選擇器和加法器設計的關鍵路徑是從寄存器k 到輸出d。圖2(f)描述兩級累加寄存器的Verilog HDL 代碼。教師通過比較圖2(c)和2(e)的物理結構來解釋組合和時序電路的變化,有助于學生了解關鍵路徑的含義,在Verilog HDL 語言和物理結構對比中更好地理解關鍵字“assign”和“always”之間的區別,此外還可以引導學生學習如何在設計中聲明和使用寄存器。

3.2 累加寄存器案例的類組合展示方式

圖2 解釋C 語言和Verilog HDL 區別的累加寄存器案例

實際教學中把相關內容按類組合,以類組合方式呈現給學生。如該案例中,講座ppt 顯示的第一個類組合是圖2(a)、2(b)、2(c)和2(d)的組合,用于說明選擇器的第一個結構設計。為了在有限的一張幻燈片中呈現組合內容,可采用Focuksky 軟件在同一張幻燈片的不同區域添加4個幀,將a、b、c、d 的內容分別放在4 個幀上。演示時即可同時呈現4 幀內容,也可通過光標指向來控制某幀放大到全屏幕展示。類似地,第二張幻燈片展示的是圖2(a)、2(b)、2(e)和2(f)的類組合,用于解釋累加器去符號的第二結構。最后一張幻燈片顯示圖2(c)、2(d)、2(e)和2(f)的類組合,用以比較兩種不同的累加寄存器的描述和結構。通過這種分類組合的展示方式,學生不僅可以同時獲取框圖、語言、物理結構和Verilog HDL 描述的信息,還可以了解兩種不同描述和結構之間的區別。

3.3 累加寄存器案例的拓展

圖2 是基于案例的Verilog HDL 課程兩級累計寄存器的教學示例。如在更多級寄存器組設計的情況下,設計中的聲明和寄存器使用可以根據案例特點進行節點和線路的拓展修改。

4 IC設計課程實踐教學設計實施的反饋評估

為取得實踐教學實施效果反饋信息,針對性構建反饋評估方式,從學生學習本課程的背景知識和基于案例的數字IC 設計課程的回應兩個方向做出相關調查。調查問卷由教學助手于終極項目審查后發放。第一類表列出學生背景包括性別、年級、專業、編程語言背景、FPGA 板和其他虛擬仿真實驗平臺使用經驗等信息,意在了解數字IC 課程實踐教學設計的實效發揮對相關專業課程體系中前導知識能力及第二課堂實踐教學活動的依賴程度,發現存在的短板問題,以便從整個專業實踐教學人才培養方案中予以調整。

第二類表是學生對基于案例的數字IC 設計課程回應的評估問卷信息,見表2。意在了解對基于案例式的實踐教學設計的喜歡程度;學生對課程實際學習成果是否達到預期教學目標;這種學習Verilog HDL 的方法是否比抽象學習更見成效;教學設計的講座部分所起作用是否達到預期設計效果;教學設計中的案例代表性和數量是否與課程匹配;講座和實驗同步組合的教學設計較非同步方式是否更佳;該教學設計是否值得在其他工程類課程中推廣等。

5 結 語

Verilog HDL 語言的抽象性質對熟悉傳統原理圖輸入法設計流程的學生來說是很大的挑戰?;谥黝}講座和實驗案例組合式實驗教學設計的實施方法,在推進學生學習效果的同時,持續提高了學生對更具復雜性案例項目的設計開發能力。希望這種實踐教學方法可以幫助到其他具有與數字IC 設計課程相同特點的工程類課程。

表2 學生對主題-案例組合式的數字IC 設計課程的回饋信息調查

猜你喜歡
寄存器講座案例
ORACLE CINEMA CEDIA 2020案例大賽獲獎案例
TWO VILLAS IN ONE CEDIA 2020案例大賽獲獎案例
Bespoke Art Deco Media Room CEDIA 2020案例大賽獲獎案例
常用電子測速法在某數字信號處理器中的應用*
“快樂語文”公益講座特別報道
“快樂語文”公益講座特別報道
移位寄存器及算術運算應用
隨機變量分布及統計案例拔稿卷
書法基礎講座(七)
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合