Verilog HDL與CPLD/FPGA項目開發教程(第2版) | 生病了怎麼辦 - 2024年7月

Verilog HDL與CPLD/FPGA項目開發教程(第2版)

作者:聶章龍,張靜(主編)
出版社:機械工業
出版日期:2016年01月01日
ISBN:9787111520290
語言:繁體中文

本書以Altera公司的MAXII系列EPM1270T144C5N為藍本闡述了基於CPLD/FPGA的數字系統設計方法,重點放在工程實踐能力和VerilogHDL硬件描述語言的編程開發能力方面,在教材的內容選取、編寫和組織等方面都與傳統的教材有着較大的區別,本書按照基於工作過程的以「項目」為載體的教學模式的思路進行編寫,「項目」的選取以直觀、生動、有趣、實用為原則,並遵循有易到難、有簡單到綜合的學習規律。共分4章,第1章主要介紹CPLD/FPGA系統開發的基礎知識,第2章介紹VerilogHDL硬件描述語言編程基礎,第3章是以12個單元項目為載體來介紹組合邏輯電路設計、時序邏輯電路設計和數字系統設計(如鍵盤、數碼管、液晶、點陣屏、音樂、串行通信等外圍接口的驅動);第4章以電子時鍾、交通信號燈2個綜合項目為載體,介紹用VerilogHDL硬件描述語言進行綜合項目開發的一般方法和流程,第5章以「多功能教室顯控系統的設計」項目作為課程設計,介紹用VerilogHDL硬件描述語言進行一個完整的項目設計的方法,注重軟件編程與硬件實現相結合,在項目開發實踐過程中去理解和體會可綜合、不可綜合、並行設計的概念,從而在實踐中鍛煉編程、調試能力,培養良好的編程風格和創新能力。附錄中給出了數字系統設計中的常見問題解析。本書可作為高等院校電子工程、計算機、微電子、自動控制等相關專業EDA課程的教材,也可作為EDA初學者或工程技術人員的參考資料。

前言第1章 CPLD/FPGA項目開發入門 11.1 CPLD/FPGA開發系統概述 11.1.1 PLD的發展歷程及發展趨勢 11.1.2 CPLD/FPGA概述 31.1.3 CPLD/FPGA的結構與原理 41.2 CPLD/FPGA器件識別 101.2.1 CPLD/FPGA產品概況 101.2.2 MAX系列產品的基本功能及編程方式 141.3 CCIT CPLD/FPGA實驗儀使用 161.3.1 實驗儀結構設計 171.3.2 熟悉實驗儀的元器件 171.3.3 解析主控芯片EPM1270T144C5 181.3.4 了解實驗儀的外圍接口及其引腳對應關系 191.3.5 設計實驗儀原理圖 211.3.6 USB-Blaster下載口 211.4 Quartus II開發環境安裝 271.4.1 Quartus II 軟件功能簡介 271.4.2 Quartus II軟件安裝 281.4.3 USB-Blaster 下載電纜安裝 291.5 Quartus II軟件開發環境的應用 331.5.1 簡單的三人表決器功能描述 341.5.2 文本方式輸入 351.5.3 原理圖方式輸入 431.6 技能實訓 47第2章 Verilog HDL(硬件描述語言) 502.1 Verilog HDL基礎知識 502.1.1 Verilog HDL的基本結構 502.1.2 Verilog HDL的數據類型 542.1.3 Verilog HDL的運算符及表達式 562.1.4 Verilog HDL的基本語句 582.2 Verilog HDL實例設計 642.2.1 閃爍燈設計 652.2.2 流水燈設計 682.3 技能實訓 722.3.1 閃爍燈實訓設計 722.3.2 流水燈實訓設計 74第3章 基於CPLD/FPGA的單元項目開發 783.1 項目1 設計基本邏輯門電路 783.2 項目2 設計譯碼器 813.2.1 任務1 設計3-8譯碼器 823.2.2 任務2 設計八段LED數碼管譯碼電路 853.2.3 技能實訓 883.3 項目3 編碼器和數據選擇器設計 913.3.1 任務1 設計8-3優先編碼器 923.3.2 技能實訓 943.3.3 任務2 設計4-1數據選擇器 983.3.4 技能實訓 1003.4 項目4 觸發器設計 1023.4.1 任務1 觸發器概述 1033.4.2 任務2 識別基本觸發器 1033.4.3 任務3 識別觸發器的邏輯功能 1043.4.4 任務4 設計時鍾觸發器 1053.4.5 任務5 設計直接置位復位觸發器 1053.4.6 任務6 轉換不同邏輯功能的觸發器 1063.4.7 技能實訓 1073.5 項目5 全加器設計 1103.5.1 任務1 設計一位全加器 1103.5.2 任務2 設計串行進位加法器 1113.5.3 任務3 設計先行進位加法器 1123.5.4 任務4 設計加減法器 1153.5.5 技能實訓 1163.6 項目6 計數器設計 1183.6.1 任務1 設計二進制計數器 1193.6.2 任務2 設計七進制計數器 1213.6.3 任務3 采用異步置數和同步清零的方法設計七進制計數器 1213.6.4 技能實訓 123*3.7 項目7 乘法器設計 1263.7.1 任務1 利用被乘數左移法設計無符號乘法器 1273.7.2 任務2 利用部分積右移法設計無符號乘法器 1303.7.3 任務3 設計帶符號乘法器 1313.8 項目8 鍵盤LED發光二極管應用設計 1323.8.1 任務1 鍵盤LED發光二極管應用之一 1323.8.2 任務2 鍵盤LED發光二極管應用之二 1373.8.3 任務3 鍵盤去抖動設計 1383.8.4 技能實訓 1403.9 項目9 靜態、動態LED發光二極管顯示 1433.9.1 任務1 靜態數碼管的顯示設計 1443.9.2 任務2 動態數碼管的顯示設計 1473.9.3 技能實訓 1503.10 項目10 點陣LED顯示屏及其漢字顯示 1533.10.1 任務1 點陣LED顯示屏測試 1533.10.2 任務2 漢字顯示 1573.10.3 技能實訓 1603.11 項目11 蜂鳴器應用設計 1633.11.1 任務1 發出報警聲 1643.11.2 任務2 設計簡易數字電子琴 1663.11.3 任務3 設計「梁祝」音樂片段 1683.11.4 技能實訓 1713.12 項目12 LCD液晶顯示系統設計 1773.12.1 任務1 了解液晶顯示的基礎知識 1783.12.2 任務2 液晶屏滾動顯示3.12.3 技能實訓 1913.13 項目13 UART異步串行通信設計 1973.13.1 任務1 串行通信基礎知識 1983.13.2 任務2 串行發送模塊設計 2013.13.3 任務3 串行接收模塊設計 2053.13.4 課后思考 208第4章 基於CPLD/FPGA的綜合項目開發 2094.1 項目1 基於Verilog HDL的數字時鍾設計與實現 2094.1.1 任務1 任務提出及設計分析 2094.1.2 任務2 分頻模塊設計 2124.1.3 任務3 校時模塊設計 2134.1.4 任務4 計時處理模塊設計 2144.1.5 任務5 報時模塊設計 2154.1.6 任務6 顯示模塊設計 2184.1.7 任務7 頂層模塊設計 2204.1.8 任務8 下載調試運行 2214.1.9 技能實訓 2224.2 項目2 基於Verilog HDL的交通信號燈模擬控制設計 2284.2.1 任務1 任務提出及設計分析 2284.2.2 任務2 初始化模塊設計 2314.2.3 任務3 分頻模塊設計 2314.2.4 任務4 控制A方向4盞燈亮滅模塊設計 2324.2.5 任務5 控制B方向4盞燈亮滅模塊設計 2334.2.6 任務6 A、B方向各種燈剩余時間的顯示模塊設計 2344.2.7 任務7 頂層文件設計 2364.2.8 任務8 下載調試運行 2374.3 項目3 基於Verilog HDL的四路數字式競賽搶答器設計 2374.3.1 任務1 任務提出及設計分析 2384.3.2 任務2 信號鎖存電路設計 2394.3.3 任務3 計分電路設計 2404.3.4 任務4 數碼管顯示電路設計 2434.3.5 任務5 頂層文件設計 2444.3.6 任務6 下載調試運行 2454.3.7 課后思考 246附錄 247附錄A Verilog HDL關鍵字 247附錄B Quartus II支持的VerilogHDL數據類型和語句 247附錄C 基於Verilog HDL的CPLD/FPGA設計常見問題解析 248參考文獻 258


相關書籍