吳 迪,符 策,李 濤,那振宇
(大連海事大學國家級電工電子實驗教學示范中心,遼寧大連 116026)
現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)在短短20 多年中從電子設計的外圍器件逐漸演變?yōu)閿?shù)字系統(tǒng)的核心,在計算機硬件、通信、航空航天和汽車電子等諸多領域有著廣泛的應用,是現(xiàn)代集成電路設計驗證的技術主流[1-5]。5G快速發(fā)展和商用的情況下,將會帶來龐大的FPGA增量市場,對FPGA人才的需求不斷增長。EDA技術這門課程前接數(shù)字電子技術,后接集成電路設計、嵌入式技術、數(shù)字信號處理等課程,在本科數(shù)字系統(tǒng)實踐類課程中具有承上啟下的重要作用。
隨著工程教育認證的開展,多門課程的學時數(shù)進行了調(diào)整,傳統(tǒng)的實驗教學模式不適合短學時的綜合實驗教學。以EDA技術實驗為例,傳統(tǒng)實驗教學中基礎實驗與綜合設計缺少緊密聯(lián)系,綜合設計環(huán)節(jié)缺乏有效的指導,學生在短學時內(nèi)只能完成數(shù)字鐘、搶答器這樣簡單系統(tǒng)的簡單功能,不利于學生工程實踐能力培養(yǎng),學生在參加各項學科競賽時明顯解決復雜工程問題的能力不足。
因此,我校將問題驅(qū)動的教學模式(Problem-Based Learning,PBL)引入到EDA技術實驗教學[6-9],以綜合設計作為待解決的問題,反向設計基礎實驗內(nèi)容,在基礎實驗環(huán)節(jié)加強對綜合設計的指導,以學生為主體在老師引導下主動尋求解決問題的答案,帶著明確的學習目的參與到理論與實驗教學的各個環(huán)節(jié)[10-15]。采用數(shù)字頻率計作為綜合設計的題目,首先數(shù)字頻率計的核心模塊是計數(shù)器,學生容易理解和入門,學生掌握頻率的測量方法后,可以進一步測周期、測占空比、測信號相位差等,這些電參量的測量幾乎每一屆電子設計競賽都會涉及。在工程應用中頻率因為測量精度高的特點往往用來傳遞傳感器的測量參數(shù),應用廣泛。同時,學生可選擇多種方案優(yōu)化測量精度、測量范圍,適合對實驗教學內(nèi)容進行層次化設計。基于PBL教學模式,通過精心設計綜合設計與基礎實驗內(nèi)容,增強實驗課與理論課聯(lián)系,增強基礎實驗對綜合實驗的指導,增強實驗內(nèi)容對課程目標的支撐。
傳統(tǒng)的EDA實驗教學模式,學生在基礎實驗環(huán)節(jié)掌握EDA 軟件的使用流程、硬件描述語言的語言要素、數(shù)字系統(tǒng)的基本設計方法,而綜合設計環(huán)節(jié)往往缺少有效指導,不適于短學時的綜合實驗設計。基于問題驅(qū)動的實驗教學模式,以綜合設計作為待解決的問題,整個教學環(huán)節(jié)圍繞著綜合設計內(nèi)容展開,在基礎實驗教學環(huán)節(jié)加強對綜合設計項目的指導,學生在同樣的學時可以完成更復雜更綜合的實驗項目。與傳統(tǒng)EDA技術實驗教學模式的區(qū)別如圖1 所示。
基于PBL教學模式的實驗教學實施進程為:
(1)導入實驗項目。首先在理論課的第一節(jié)課,將EDA技術這門課程的教學大綱發(fā)給學生,并導入綜合設計題目,幫助學生明確每個學習環(huán)節(jié)的目的意義及最終要實現(xiàn)的成果,使學生帶著明確的學習目的主動參與到EDA教學的每個環(huán)節(jié),主動尋求答案。
(2)指導學生分析項目指標。指導學生設計實驗項目時,首先應對系統(tǒng)的指標進行分析,根據(jù)具體指標選擇方案、選擇參數(shù)。以數(shù)字頻率計為例,需要關注的指標包括精度、測量頻率范圍、系統(tǒng)響應時間,指導學生課后查閱資料了解數(shù)字頻率計的發(fā)展現(xiàn)狀,所能達到的最大精度、范圍等,擴展學生的專業(yè)視野。
(3)指導學生選擇方案。介紹數(shù)字頻率計的基本方案包括測頻法、測周法、等精度法,分析各種方案的優(yōu)缺點,給出基本測量方案的波形圖。引導學生思考如何根據(jù)不同的系統(tǒng)指標,去選擇方案,能否聯(lián)合應用多種測量方案等。
(4)指導學生進行系統(tǒng)頂層設計。直接測頻法是其他頻率測量方法的基礎,因此在教學中,以其作為一個案例,指導學生如何把一個抽象的實際問題,轉(zhuǎn)化為模塊化的數(shù)字系統(tǒng)。以直接側(cè)頻法數(shù)字頻率計為例,核心模塊包括分頻模塊,產(chǎn)生時間閘門信號;計數(shù)模塊,計算頻率;顯示模塊;控制模塊,控制清零、使能、鎖存等,如圖2 所示。并指導學生分析哪些是被控模塊,可以查閱資料找到參考,哪些是主控模塊,是系統(tǒng)設計的核心任務,并給出控制模塊的波形參考圖,作為設計提示。引導學生以直接測頻法框圖為基礎,根據(jù)等精度測量的原理,設計出等精度測量的頂層框圖。

圖2 直接側(cè)頻法頂層框圖
(5)對系統(tǒng)設計中的難點進行提示。綜合設計的提高要求中,要求學生測量正弦波、三角波的頻率,學生熟悉通過設計模擬電路將正弦波、三角波轉(zhuǎn)換為方波,但是提示學生可以考慮用數(shù)字電路的方法解決,例如采用A/D采樣和過零檢測的方法實現(xiàn)。
(6)分模塊實現(xiàn)。將綜合設計中的難點重點內(nèi)容,融入平時基礎實驗中,分模塊實現(xiàn)。隨著理論教學的展開,使學生掌握EDA軟件設計流程、IP 核調(diào)用方法、強化練習硬件描述語言要素、基本數(shù)字系統(tǒng)設計方法。同時,將頻率計核心模塊設計分散到基礎的實驗教學中。給予學生充分指導,幫助學生根據(jù)提示,不斷提高設計能力。
(7)綜合設計環(huán)節(jié)指導學生進行系統(tǒng)調(diào)試。指導學生充分利用Modelsim 仿真軟件及邏輯分析儀進行系統(tǒng)調(diào)試的方法。系統(tǒng)調(diào)試的順序為模塊仿真、系統(tǒng)仿真、下載調(diào)試。如果模塊仿真出現(xiàn)問題,重點檢查模塊邏輯設計、硬件語言描述規(guī)范性、輸入輸出接口設置等;系統(tǒng)仿真出現(xiàn)問題,重點關注連線、接口設置、是否有重復模塊等;下載出現(xiàn)問題,重點關注管腳分配、按鍵設置,仿真中是否出現(xiàn)毛刺等。系統(tǒng)調(diào)試的方法,見圖3。經(jīng)過基礎實驗的鋪墊和積累,綜合設計環(huán)節(jié)學生的核心任務為把準備好的模塊進行聯(lián)合調(diào)試及實現(xiàn)功能擴展,要求學生獨立解決實驗中遇到的問題。

圖3 數(shù)字系統(tǒng)調(diào)試流程
傳統(tǒng)的EDA實驗教學模式中,基礎實驗內(nèi)容的設計主要與EDA技術的理論課教學配合圍繞著課程教學目標展開。本門課程的課程目標包括:①了解CPLD/FPGA結(jié)構(gòu)、特點、開發(fā)流程、設計指導原則、應用領域及發(fā)展趨勢;②理解QuartusⅡ集成開發(fā)工具進行邏輯設計、綜合、仿真、約束及編程下載方法;③理解Verilog HDL 的語法與要素、常用語句、組合電路及時序電路設計、有限狀態(tài)機設計及仿真與測試方法;④具有應用Verilog HDL進行數(shù)字系統(tǒng)設計、仿真及調(diào)試能力,能分析處理并解釋實驗數(shù)據(jù)。
PBL的教學模式中,基礎實驗教學內(nèi)容的設計不僅滿足課程目標的要求,同時兼顧了對綜合設計中重要模塊、難點問題的指導,如圖4 所示。基礎實驗內(nèi)容包含分頻模塊設計、計數(shù)模塊、顯示模塊、控制模塊的設計,為學生綜合設計打下良好的基礎,學生可以在相同的學時內(nèi),完成更加復雜的綜合系統(tǒng)設計。

圖4 基于PBL教學模式的EDA實驗內(nèi)容設計
設計綜合設計實驗內(nèi)容時,將數(shù)字頻率計分為基本、擴展和提高要求,如表1 所示。基本要求中測量低頻信號,學生采用直接測頻法、間接測周法、等精度法都能達到精度要求。擴展要求增大了頻率的測量范圍,學生必須選擇正確的測量方案才能達到精度要求,并且增加了量程控制功能,學生需要進一步掌握時序邏輯電路的設計方法。提高要求中,增加了占空比和周期測量,學生需要添加計算電路模塊;測量正弦、三角波頻率,需要將連續(xù)信號轉(zhuǎn)化為適合數(shù)字電路的脈沖波。鼓勵學生通過數(shù)字的方法實現(xiàn),使學生掌握AD芯片的驅(qū)動設計、過零檢測模塊的設計。提高要求內(nèi)容與2015 年全國電子設計競賽F題對應,并對指標進行了弱化處理,使其滿足EDA技術課程需求。通過課賽結(jié)合的方式,增加學生參加學科競賽的信心和積極性。
每一個基礎實驗同樣進行層次化的設計,層次化設計的過程不僅是難度的遞增,滿足不同水平學生需求,同時也是遞進式進行技術指導的過程。基礎實驗內(nèi)容的層次化設計,如表2 所示,實驗分為基本要求、擴展要求和提高要求,其中基礎要求要求每個學生必須完成。
實驗1 主要幫助學生掌握EDA 軟件開發(fā)流程及借助仿真工具及邏輯分析儀進行系統(tǒng)調(diào)試的方法。
實驗2學生可以選擇Verilog語言或應用鎖相環(huán)IP核實現(xiàn)可控分頻器的設計,掌握IP的調(diào)用方法及分頻模塊設計方法。

表1 綜合設計內(nèi)容的層次化設計

表2 EDA技術基礎實驗內(nèi)容的層次化設計
實驗3 學生在理論課堂已經(jīng)學習了Verilog 語言的語言要素,給學生一段BCD 計數(shù)器程序,其中設計了10 個錯誤,采用試錯的方法,加深學生對Verilog 語言要素的理解,如wire和reg數(shù)據(jù)類型的區(qū)別、阻塞賦值和非阻塞賦值區(qū)別等。學生實驗過程中,根據(jù)軟件的提示,進行錯誤的改正,掌握利用軟件提示進行程序調(diào)試的方法。
實驗4 重點練習BCD 碼計數(shù)器及數(shù)碼管顯示模塊的設計。
實驗5 中用4 個學時強化練習基于狀態(tài)機進行控制電路設計。狀態(tài)機是設計時序電路的有效方法,具有高速率、高可靠性、結(jié)構(gòu)固定這樣的優(yōu)越性,是eda實驗教學的重點內(nèi)容之一。指導學生基于狀態(tài)機可以實現(xiàn)頻率計控制模塊的設計、量程自動轉(zhuǎn)換模塊的設計及AD0809 驅(qū)動模塊的設計。
5個基礎實驗,12 個學時的訓練,不僅滿足課程目標的要求,同時涵蓋數(shù)字頻率計的核心模塊設計,加強對綜合設計的指導。
基于PBL的EDA 技術實驗教學模式,雖然綜合設計只有4 學時,但是綜合設計的設計過程卻貫穿整個EDA技術課程所有教學環(huán)節(jié)。為了保證學生不受實驗場地限制,能實現(xiàn)實驗內(nèi)容的擴展,學校自主研發(fā)了口袋實驗板,并向?qū)W生開放FPGA 虛實結(jié)合遠程實驗平臺,如圖5 所示。學生基于Altera 公司網(wǎng)絡免費版的軟件,可選擇向?qū)嶒炇医栌每诖鼘嶒灠寤蚓W(wǎng)絡上訪問虛實結(jié)合實驗平臺,隨時隨地進行實驗,為層次化實驗教學模式提供課外資源的保障。
經(jīng)過4 年教學實踐基于問題驅(qū)動的實驗教學模式取得了良好的教學效果。

圖5 課外實驗資源
(1)提升了學生學習的自主性。以導入綜合設計題目作為教學起點,學生帶著綜合設計這個核心問題參與到整個教學環(huán)節(jié)中,作為主體主動在老師的指導下尋求答案,具有更明確的學習目的。2017 年采用問題驅(qū)動實驗教學模式后,學生的實驗成績與理論考試成績均明顯提高。

表3 近4 年EDA技術成績統(tǒng)計
(2)在相同的學時內(nèi)學生可以完成更加綜合的系統(tǒng)設計。改革前后學生綜合設計的完成度統(tǒng)計如表4所示,在基礎實驗中加強對綜合設計的指導,同樣的學時PBL模式可以完成更復雜的系統(tǒng)設計。

表4 學生綜合設計完成度統(tǒng)計 %
(3)擴展了學生的視野。課賽結(jié)合的題目,擴展了學生的視野,增強了學生參加學科競賽的興趣和信心,綜合運用了所學知識。2017 年改革以來我校參加電子設計競賽校內(nèi)選拔賽及全國FPGA創(chuàng)新設計競賽的隊數(shù)逐年提高,并取得了良好的成績。
(4)為層次化實驗教學提供保障。口袋實驗室與遠程虛實結(jié)合FPGA 實驗平臺的應用,使學生不受實驗場地限制,為學有余力的同學實現(xiàn)實驗項目的擴展功能、提高功能提供了保障。
本文將基于問題驅(qū)動的教學模式應用于EDA 技術實驗教學,對實驗教學模式、實驗內(nèi)容改革進行了詳細的討論,取得了良好的教學效果,培養(yǎng)了學生解決復雜工程問題的能力。基于問題驅(qū)動的實驗教學模式易于推廣和移植到其他實踐類課程中,解決學時不足,實驗內(nèi)容離散不系統(tǒng)的問題,是一種簡單有效的教學模式,隨著工程教育認證的開展,必將得到越來越廣泛的應用。