本書從教學和工程應用的角度介紹EDA技術的基本概念、應用特點、可編程邏輯器件、Quartus Ⅱ 13.0、Qsys、Nios Ⅱ EDS等EDA開發工具的基本使用方法和技巧,還介紹了常用邏輯單元電路的VHDL建模技術,并通過大量設計實例詳細地介紹基于EDA技術的層次化設計方法。書中列舉的設計實例都經由Quartus Ⅱ 13.0工具編譯通過,并在DE2115開發平臺上通過了硬件測試,可直接使用。
本書的特點是以數字電路和系統設計為主線,著眼于實用性,緊密聯系數字電路和系統的實踐性教學環節和科研實際,結合豐富的實例,按照由淺入深的學習規律,循序漸進,逐步引入相關EDA技術和工具,內容通俗易懂、重點突出。
本書共6章,各章均配有思考與練習,第3~5章給出了相關實驗,便于讀者學習和教學使用。本書可作為高等院校電子、通信、自動化及計算機等專業EDA應用技術的教學用書,也可作為電子設計工程師技術培訓的參考用書。
本書提供教學課件(PPT)和相關源代碼,下載地址為清華大學出版社網站本書頁面。? 基于Altera Quartus Ⅱ 13.0平臺和VHDL語言,通過大量設計實例詳細介紹基于EDA技術的層次化設計方法。? 以數字電路和系統設計為主線,著眼于實用性,緊密聯系數字電路和系統的實踐性教學環節和科研實際,結合豐富的實例按照由淺入深的學習規律,循序漸進,逐步引入相關EDA技術和工具,通俗易懂,重點突出。? 教學內容具有基礎性和時代性,從理論與實踐兩方面解決了與后續課程的銜接,具有系統性強、內容新穎、適用性廣的特點。? 本書共6章,各章節均配有習題及實驗,便于讀者學習和教學使用。
前言
Foreword
我們正處在信息的時代,事物的發展和技術的進步,對傳統的教育體系和人才培養模式提出了新的挑戰。面向21世紀的高等教育正在對專業結構、課程體系、教學內容和教學方法進行系統的和整體的改革,教材建設是改革的重要內容之一。隨著信息技術的飛速發展,各行各業對信息學科人才的需求越來越大。為社會培養更多的具有創新能力,解決實際問題能力和高素質的信息學科人才,是目前高等教育的重要任務之一。本書以Altera公司的Quartus Ⅱ 13.0平臺和VHDL為主介紹了EDA的設計方法,結合豐富的實例,按照由淺入深的學習規律,循序漸進,逐步引入相關EDA技術和工具,內容通俗易懂、重點突出。教學內容具有基礎性和時代性,從理論與實踐兩方面解決了與后續課程的銜接,具有系統性強、內容新穎、適用性廣的特點,希望能對EDA技術的教學和科研起到促進作用。全書概念清晰,語言流暢,可讀性強,并配有大量的圖表,以增強表述效果。本書共6章,各章主要內容如下:第1章介紹EDA技術的發展歷程,EDA設計流程及其涉及的領域與發展趨勢,互聯網上的EDA資源。第2章介紹PROM、PLA、PAL、GAL、CPLD、FPGA等各種可編程邏輯器件的電路結構、工作原理、使用方法和可編程邏輯器件的未來發展方向。第3章介紹Quartus Ⅱ 13.0設計流程和設計方法,重點介紹了基于原理圖輸入和基于文本輸入的設計流程,定制元件工具MegaWizard管理器的使用,時序分析工具和邏輯分析儀的使用,并給出了相關的習題與實驗供讀者練習以加深理解。第4章以示例形式介紹VHDL語言的基礎知識與設計方法。第5章介紹了Nios Ⅱ處理器系統的基本結構,Qsys技術的基本概念,Nios Ⅱ軟核處理器,基于Qsys技術的軟硬件設計方法。第6章通過VHDL實現的設計實例,進一步介紹EDA技術在組合邏輯、時序邏輯、狀態機設計和存儲器設計方面的應用; 并給出了相關習題與設計型和研究型實驗供讀者練習以加深理解。武漢輕工大學Altera公司EDA/SOPC聯合實驗室在2011年創建時就得到了Altera公司的大力支持,作為聯合實驗室成員,本書作者較早地在教學和科研實踐中使用了這些產品,具有一定的教學和實踐經驗。本書是作者總結多年從事理論教學與實驗教學的經驗,從傳授知識和培養能力的目標出發,結合課程教學的特點、難點和要點編寫而成的。
本書提供教學課件和相關源代碼,請在清華大學出版社網站的本書頁面上下載。本書由劉昌華編著,在編寫本書的過程中,參考了許多同行專家的專著和文章,武漢輕工大學Altera公司EDA/SOPC聯合實驗室和武漢輕工大學數學與計算機學院嵌入式系統研究室的老師均提出了許多寶貴意見,并給予了大力支持和鼓勵,在此一并表示感謝。EDA技術發展迅猛,應用領域不斷擴大,鑒于編者水平有限,書中難免會有一些不足之處,敬請各位專家批評指正。如果有關于本書的問題,請通過電子郵件liuch@whpu.edu.cn與作者聯系。
劉昌華2016年8月18日
目錄
Contents
第1章EDA概述
1.1EDA技術及其發展
1.1.1EDA技術的發展歷程
1.1.2EDA技術的主要內容
1.1.3EDA技術的發展趨勢
1.2硬件描述語言
1.2.1硬件描述語言的起源
1.2.2HDL語言的特征
1.3EDA技術的層次化設計方法與流程
1.3.1EDA技術的層次化設計方法
1.3.2EDA技術的設計流程
1.4EDA工具軟件簡介
1.4.1Altera公司的EDA開發工具
1.4.2Xilinx公司的EDA開發工具
1.4.3其他仿真軟件
1.5IP核
1.6互聯網上的EDA資源
1.7本章小結
1.8思考與練習
第2章可編程邏輯器件
2.1可編程邏輯器件的發展歷程及特點
2.1.1可編程邏輯器件的發展歷程
2.1.2可編程邏輯器件的特點
2.2可編程邏輯器件分類
2.2.1按集成度分
2.2.2按編程特性分
2.2.3按結構分
2.3簡單PLD
2.3.1PLD中陣列的表示方法
2.3.2PROM
2.3.3PLA器件
2.3.4PAL器件
2.3.5GAL器件
2.4CPLD
2.4.1傳統的CPLD的基本結構
2.4.2最新CPLD的基本結構
2.5FPGA
2.5.1傳統FPGA的基本結構
2.5.2最新FPGA的基本結構
2.6可編程邏輯器件的發展趨勢
2.6.1先進工藝
2.6.2處理器內核
2.6.3硬核與結構化ASIC
2.6.4低成本器件
2.7本章小結
2.8思考與練習
第3章Quartus Ⅱ開發系統
3.1Quartus Ⅱ簡介
3.1.1Quartus Ⅱ 13.0的特點
3.1.2Quartus Ⅱ 13.0系統安裝許可與技術支持
3.1.3Quartus Ⅱ設計流程
3.2Quartus Ⅱ 13.0設計入門
3.2.1啟動Quartus Ⅱ 13.0
3.2.2設計輸入
3.2.3編譯綜合
3.2.4硬件測試
3.3基于原理圖輸入的Quartus Ⅱ設計
3.4基于文本輸入的Quartus Ⅱ設計
3.5基于LPM可定制宏功能模塊的Quartus
Ⅱ設計
3.6TimeQuest時序分析
3.6.1時序分析的特點
3.6.2時序分析的基本概念
3.6.3使用TimeQuest時序分析器約束分析設計
3.7嵌入式邏輯分析儀的使用
3.7.1Quartus Ⅱ的SignalTap Ⅱ原理
3.7.2SignalTap Ⅱ使用流程
3.7.3在設計中嵌入SignalTap Ⅱ邏輯分析儀
3.8實驗
3.8.1實驗31: Quartus Ⅱ原理圖輸入設計法
3.8.2實驗32: 416線譯碼器的EDA設計
3.8.3實驗33: 基于MSI芯片設計計數器
3.8.4實驗34: LPM宏功能模塊的使用
3.8.5實驗35: Quartus Ⅱ設計正弦信號發生器
3.9本章小結
3.10思考與練習
第4章VHDL設計基礎
4.1VHDL的基本組成
4.1.1實體
4.1.2構造體
4.1.3程序包
4.1.4庫
4.1.5配置
4.2VHDL的基本要素
4.2.1VHDL的標識符
4.2.2VHDL的客體
4.2.3VHDL的數據類型
4.2.4VHDL的運算符
4.3VHDL的基本語句
4.3.1順序語句
4.3.2并行語句
4.4實驗
4.4.1實驗41: 應用VHDL設計簡單組合邏輯
4.4.2實驗42: 算術加法運算電路的VHDL設計
4.4.3實驗43: 應用VHDL完成簡單時序電路設計
4.4.4實驗44: 設計VHDL加法計數器
4.4.5實驗45: 設計移位運算器
4.5本章小結
4.6思考與練習
第5章基于Nios Ⅱ的Qsys軟硬件設計
5.1Qsys技術簡介
5.1.1SOPC簡介
5.1.2Qsys簡介
5.1.3Qsys的功能特點
5.2Qsys設計流程
5.3Qsys用戶界面
5.3.1系統元件頁
5.3.2系統選項
5.3.3Qsys菜單命令簡介
5.4Nios Ⅱ處理器系統
5.4.1Nios Ⅱ嵌入式處理器簡介
5.4.2基于Nios Ⅱ的軟硬件開發流程
5.4.3HAL系統庫
5.4.4使用HAL開發應用程序
5.5基于Nios Ⅱ的Qsys開發實例
5.5.1硬件部分
5.5.2軟件部分
5.6實驗
5.6.1實驗51: 七段數碼管顯示實驗
5.6.2實驗52: 按鍵控制數碼管遞增實驗
5.6.3實驗53: 跑馬燈實驗
5.6.4實驗54: 自定義PWM組件實驗
5.7本章小結
5.8思考與練習
第6章EDA技術的應用
6.1組合邏輯電路的設計應用
6.1.1編碼器設計
6.1.2譯碼器的設計
6.1.3多路選擇器的設計
6.1.4加法器設計
6.1.5數值比較器
6.1.6算術邏輯運算器
6.2時序邏輯電路的設計應用
6.2.1觸發器
6.2.2鎖存器和寄存器
6.2.3計數器
6.3狀態機的設計
6.3.1有限狀態機的VHDL建模
6.3.2Moore狀態機VHDL設計
6.3.3Mealy狀態機VHDL設計
6.4存儲器的設計
6.4.1ROM的設計
6.4.2RAM的設計
6.4.3FIFO的設計
6.5EDA綜合設計
6.5.1簡易數字鐘的設計
6.5.2出租車自動計費器EDA設計
6.5.3數字密碼鎖EDA設計
6.6本章小結
6.7思考與練習
附錄ADE2115開發板引腳配置信息
參考文獻