<noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><delect id="ixm7d"></delect><bdo id="ixm7d"></bdo><rt id="ixm7d"></rt><bdo id="ixm7d"></bdo><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"><rt id="ixm7d"></rt></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d">

《Verilog數字邏輯系統設計》課程教學探討

2022-09-14

在計算機技術、微電子技術高速發展的今天, 越來越多的數字邏輯電路不再采用傳統的設計方式, 而是采用EDA技術完成PLD和FPGA的大規模開發設計。EDA適用于復雜數字邏輯電路和系統的總體仿真、子系統仿真和具體電路綜合等各個設計階段。EDA不但作為學習數字邏輯系統設計方法的入門和基礎, 而且對于ASIC設計專業人員而言, 也是必須掌握的基本技術, 因此國內很多高校紛紛開設EDA相關課程。

一、硬件描述語言--Verilog HDL和VHDL

EDA技術的重要內容是HDL (Hardware Description Language) 硬件描述語言, 目前, 常用的HDL有Verilog HDL、VHDL、System Verilog和System C。其中VHDL和Verilog HDL在EDA設計中使用最多, 也幾乎得到所有常用EDA工具的支持。VHDL語法過于嚴謹, 代碼比較冗長, 對數據類型匹配要求過于嚴格, 初學者不易掌握, 學習周期較長。Verilog HDL (以下簡稱Verilog) 于1995年成為IEEE標準硬件描述語言。Verilog的很多語法是參照C語言語法設定的, 因此有C的許多優點。語法結構上不是很嚴謹, 具有使用靈活、簡明扼要的特點。在高校教學中, 由于大二學年已經開設了C語言, 學生對C的語法結構和使用已經非常熟悉, 采用與C語法類似的Verilog進行數字邏輯電路的設計, 容易掌握, 且易激發其學習興趣, 對比C和Verilog學習, 也會提高學習效率。根據筆者授課經驗, 學生往往對實踐學習法更有主動性, 且更易于掌握, 因此在實際教學中, 可充分利用學校EDA實驗室資源, 先讓學生按照教材上的步驟做一些驗證性的實驗, 然后進行綜合性的設計實驗, 由淺入深掌握這門課程的設計技術及設計方法, 培養社會需要的Verilog HDL數字邏輯系統設計人才。

二、Verilog HDL系統設計實例

在數字邏輯電路中, 采用傳統設計方法實現系統, 過程繁瑣, 學生會感到無從下手。特別是采用專用集成芯片時, 需要了解各種典型器件的功能、特性。實際設計過程中不僅完成芯片選擇, 還要進行電路板設計、安裝及調試, 尤其是后期測試時, 一旦發現問題, 不易對錯誤定位、修改, 導致設計周期長、效率低。而Verilog數字邏輯系統設計, 就可以避開這些繁瑣的步驟, 且基于“自頂向下”設計方法的模塊化程序設計可以逐層編譯檢錯并定位, 提高設計效率。有限狀態機 (Finite State Machine, FSM) 是時序電路設計中經常采用的一種方式, 尤其適合設計數字系統的控制模塊, 在一些需要控制高速器件的場合, 用狀態機進行設計是一種很好的解決問題的方案, 具有速度快、結構簡單、可靠性高等優點。用Verilog語言設計狀態機的步驟可簡單歸納為以下四個步驟: (1) 分析實際問題, 確定輸入、輸出變量, 得到狀態轉換圖;將實際問題抽象為數學問題, 是整個系統設計中最關鍵的一步。輸入變量個數取決于引起電路狀態變化的原因, 輸出變量個數由系統功能決定。定義輸入、輸出狀態的含義, 并對每個狀態進行編碼, 根據原始狀態表, 得到狀態轉換圖; (2) 定義變量類型。在always語句中執行的變量定義為reg型, 在assign語句中執行的變量定義為wire型; (3) 在always塊或assign塊中定義次態邏輯語句和輸出邏輯; (4) 進行仿真以及編程下載。在Quartus軟件環境下, 對設計的程序進行理論仿真, 通過觀察波形分析輸入輸出之間的關系, 并與系統要求對比。仿真結果滿足系統要求后, 可進行引腳分配, 編程下載。

三、序列檢測系統設計如下

(1) 確定各狀態:S0:輸入1以前的狀態;S1:輸入一個1后的狀態;S2:連續輸入兩個1以后的狀態;S3:連續輸入三個1以后的狀態;S4:連續輸入四個或四個以上個1的狀態。得到狀態轉換圖如圖1所示。

(2) Verilog實現如下:

(3) 在Quartus軟件環境下, 對其進行仿真驗證, 可得到如圖2所示的仿真波形。

從圖2可看出, 當連續輸入四個或四個以上1時, 狀態保持為s4, 且輸出為z=1;當輸入x是0時, 狀態轉為s0, 且輸出z=0, 達到系統的要求。如果用傳統的數字電路設計方法進行狀態機的設計, 則需要在確定狀態分配和狀態轉換圖之后, 確定觸發器類型和觸發器數目;然后跟據次態卡諾圖得到各觸發器的次態方程, 和觸發器的特性方程做對比, 得到每個觸發器的驅動方程和輸出方程;最后畫出邏輯圖。學生在設計時, 往往對次態方程, 以及驅動方程和邏輯圖的獲得方面較困惑, 特別是狀態數量較多時, 觸發器數量更多, 設計過程以及計算量更繁瑣??梢? 利用Verilog語言實現數字系統對設計步驟簡化了很多。在實驗室, 學生依此理念進行思考和學習, 在實踐的同時更強化對理論知識的理解, 以實踐促理論, 學生逐漸形成系統的綜合設計思維, 更加適應社會的需求。

四、小結

用軟件實現硬件簡化設計步驟, 不易出錯, 且學生掌握起來較容易。特別針對大規模數字系統的設計方面, 其優勢更加明顯。將軟件應用到硬件設計, 可提高數字系統的實用性, 不但使學生接觸到最新的數字電路設計方法, 而且使學生掌握了一門有廣泛應用前景的新技能, 為其以后的發展又增添了一條新的選擇。開展以實踐促理論的教學方式, 使學生在實踐過程中養成發現問題、分析問題、解決問題的能力, 培養創新和團隊協作意識, 在以后的學習和工作中, 為學生帶來極大的優勢。

摘要:HDL語言采用“自頂向下”的設計理念闡述設計者的思想, 將復雜的數字系統表示為分層次的模塊, 較之傳統的電路圖設計方式有極大的優越性。VerilogHDL語言以其與C語言相似的風格、嚴謹的語法結構, 便于學生學習和掌握。并探討以實踐促理論的新教學模式, 使學生掌握設計數字系統的新方法, 更適應社會的需求。

關鍵詞:EDA,數字系統,VerilogHDL,以實踐促理論

參考文獻

[1] 趙天翔, 何金枝.以verilogHDL為重點的數字邏輯課程教學改革與實踐[J].電腦知識與技術, 2016, 12 (35) :177-178.

[2] 郭家榮, 陳年生.《Verilog HDL程序設計》課程教學方法研究[J].科技資訊, 2017, 15 (27) :166.

[3] 蔣華, 徐晨, 宋超.“Verilog數字系統設計”課程教學改革[J].電氣電子教學學報, 2013, 35 (1) :84-85.

[4] 夏宇聞.Verilog數字系統設計[M].3版.北京:北京航空航天大學出版社, 2013.

[5] 梁瑞宇, 奚吉.HDL項目設計課程教學改革研究[J].中國科教創新導刊, 2013 (32) :83-84.

[6] 馬朝, 李穎, 楊明.用Verilog-HDL設計數字邏輯系統[J].計算機工程, 2015, 26 (12) :110-112.

本文來自 99學術網(www.gaojutz.com),轉載請保留網址和出處

上一篇:在美術課中培養學生創造思維的策略下一篇:如何運用社交媒體拓展電子商務營銷

91尤物免费视频-97这里有精品视频-99久久婷婷国产综合亚洲-国产91精品老熟女泄火