本書內容除了核心CPU設計之外,更包含週邊記憶體、計時/計數器、中斷控制器、串列通訊器以及PWM控制器等設計實務。搭配可視化MCU實體監控系統,使讀者輕而易舉掌握微控制器之工作原理,進而學習如何設計一顆屬於自己的微控制器。讀完本書將使您擁有實際規劃及設計微控制器之能力!其內容原理與實務並重,第一篇著重在VHDL設計語法之重點回顧;第二篇主要介紹CH01的內部元件及週邊擴充電路之VHDL描述方式,內容有四則運算ALU的設計、單/雙向通用及特殊暫存器的設計、程式狀態控制系統的設計、程式記數器設計、程式分支、中斷、返回系統設計、單雙向記憶體的設計、匯流排的設計以及指令解碼系統的設計等;第三篇則介紹一套創新並經精心設計的可視化MCU實體監控系統,它使CH01內部硬體架構及控制訊號透明化,以提供微處理機原理與應用課程一個非常友善的學習平台。本書適合私立大學、科大電子、電機、資工系「微處理機實習」課程。
目錄
第1篇 微處理與VHDL導論第1章 微處理機導論1-11-1 微處理機簡介1-11-1-1 微處理機的定義1-11-1-2 微處理機的功用及架構1-11-1-3 廣義的微處理機(微控制器)1-21-1-4 VonNeuman與Harvard架構1-31-1-5 RISC與CISC1-31-2 微處理器發展簡史1-41-2-1 第一顆微處理器1-41-2-2 摩爾定律1-41-2-3 一些中低階微處理器的發展1-51-3 微處理器發展現況1-61-3-1 記憶體擴充與升級1-71-3-2 多媒體介面1-71-3-3 內建週邊控制電路1-71-3-4 低功率消耗1-71-3-5 高執行效率1-71-3-6 強化運算能力1-71-3-7 發展SOPC軟核1-81-3-8 單晶多核1-81-3-9 結 語1-9第2章 數目系統2-12-1 數目表示法2-12-1-1 十進位表示法2-22-1-2 二進位表示法2-22-1-3 八進位表示法2-32-1-4 十六進位表示法2-32-2 數目表示法的轉換2-32-2-1 十進位整數轉成N進位整數2-32-2-2 十進位小數轉成N進位小數2-62-2-3 二進位、八進位與十六進位之互換2-92-3 二進位加法及減法2-122-3-1 二進位無號數之加法運算2-122-3-2 二進位有號數表示法2-122-3-3 二進位有號數減法運算2-152-3-4 1'S補數及2'S補數在算術運算上的比較2-202-3-5 溢 位2-202-4 浮點表示法2-222-4-1 單精度表示法2-222-4-2 雙精度表示法2-23第3章 VHDL設計概論3-13-1 快速認識VHDL3-13-1-1 VHDL的意義3-13-1-2 VHDL的沿革3-13-1-3 VHDL的基本架構3-23-1-4 VHDL的數位訊號模式3-53-1-5 常用的VHDL數位訊號型別3-63-2 描述區域的界定3-93-3 區域性的訊號指定3-11第4章 VHDL的基本語法4-14-1 共時性語法(ConcurrentStatements)4-14-1-1 WITHSELECT與組合電路設計4-14-1-2 WHENELSE與組合電路設計4-54-1-3 FORGENERATE與組合電路設計4-84-1-4 FORGENERATE的巢狀架構4-154-2 順序性語法(SequentialStatememts)4-184-2-1 PROCESS的區塊架構4-184-2-2 PROCESS區塊的共時性4-194-2-3 完整的IF敘述4-204-2-4 不完整IF敘述的架構4-244-2-5 巢狀且具混合架構的IF敘述4-304-2-6 完整CASEWHEN的架構4-344-2-7 完整CASEWHEN的應用4-354-2-8 不完整CASEWHEN的架構與應用4-384-2-9 完整CASEWHEN架構與應用4-474-2-10巢狀CASEWHEN的敘述架構4-534-2-11巢狀CASEWHEN的應用4-544-2-12LOOP與WAITUNTIL敘述4-574-2-13巢狀forloop架構與next、exit的應用4-594-2-14waituntil敘述4-60第5章 VHDL與組合電路設計5-15-1 多工器5-15-2 解多工器5-35-3 解碼器5-55-3-1 n對2n解碼器5-55-3-2 七段解碼器5-65-4 編碼器5-75-4-1 2n對n編碼器5-75-4-2 十進位編碼器5-85-4-3 優先權編碼電路5-95-5 加減法器5-115-5-1 一個全加器5-115-5-2 漣波進位加法器5-12第6章 VHDL與時序電路設計6-16-1 暫存器的合成6-16-1-1 D型正反器的描述6-16-1-2 T型正反器的描述6-36-1-3 JK正反器的描述6-46-2 二進位計數器6-66-2-1 二進位上數計數器6-66-2-2 二進位下數計數器6-76-2-3 二進位自訂範圍上/下數計數器6-96-2-4 不規則計數器6-116-3 除頻元件6-136-3-1 上數除頻6-136-3-2 下數除頻6-156-3-3 奇數除頻6-17第7章 微處理機中的運算元件設計7-17-1 二合一漣波進位加/減法器7-17-1-1 硬體架構7-17-1-2 VHDL描述語法7-27-2 可進行有號數溢位判斷之加減法電路7-47-2-1 含有溢位判斷的電路7-47-2-2 VHDL描述語法7-57-2-3 運算結果解讀7-77-3 參數式N位元前膽式進位加減法電路7-87-3-1 相關知識7-87-3-2 前膽式進位的設計規律性7-107-3-3 前膽式進位加法器參數式VHDL描述語法7-127-4 位元串列式加法器7-157-4-1 硬體架構7-167-4-2 VHDL控制電路說明7-167-4-3 VHDL程式主體7-187-5 位元串列式二合一加/減法器7-207-5-1 硬體架構7-207-5-2 VHDL程式主體7-217-6 乘法電路7-247-6-1 行為模式之組合式陣列乘法器7-247-6-2 組合式陣列乘法電路7-247-6-3 位移累加乘法電路7-307-6-4 位元串列輸出入乘法器7-347-7 長除法電路7-397-7-1 除法運算電路的硬體架構7-397-7-2 VHDL描述語法7-42第2篇 CH01內部結構設計第1章 微控器軟核CH01簡介1-11-1 CH01的特色1-11-2 CH01的架構1-11-2-1 CH01輸出入界面1-21-2-2 CH01的中央處理單元1-31-2-3 CH01的暫存器列1-31-2-4 記憶體1-41-2-5 中斷模式1-51-3 CH01的指令集1-51-4 CH01的指令格式說明1-91-4-1 第0號指令-空指令1-91-4-2 第1號指令群-累積器位移及旋轉指令1-101-4-3 第2號指令群-暫存器間之算術邏輯運算指令1-111-4-4 第3號指令群-暫存器搬移及資料堆疊讀寫指令1-151-4-5 第4號指令-副程式及中斷返回指令1-181-4-6 第5號指令群-間接定址記憶體讀寫指令1-191-4-7 第6號指令群-位元設定及清除指令1-211-4-8 第7號指令群-暫存器遞增遞減指令1-231-4-9 第8號指令-暫存器值不為零之條件分支指令1-241-4-10第9號指令群-位元值條件分支指令1-251-4-11第10號指令群-立即資料之算術邏輯運算指令1-261-4-12第11號指令群-區塊條件分支、跳躍及副程式呼叫指令1-271-4-13第12號指令-RAM之直接定址寫入指令1-291-4-14第13號指令-RAM之直接定址讀取指令1-301-4-15第14號指令-ROM之直接定址讀取指令1-311-4-16第15號指令-立即資料寫入指令1-311-4-17暫存器內容相等之分支判斷等效程式1-321-4-18八位元二進位/BCD之轉換程式1-331-4-19影響程式狀態暫存器psr的指令1-34第2章 CH01的狀態系統與指令解碼系統 設計2-12-1 CH01的工作分級2-12-2 狀態系統的設計2-22-3 CH01的系統重置2-52-4 指令解碼系統設計2-5第3章 CH01的ALU設計3-13-1 ALU的基本算術單元設計3-13-1-1 硬體架構3-13-1-2 VHDL描述語法3-43-2 ALU的邏輯單元設計3-53-2-1 硬體架構3-53-2-2 VHDL描述語法3-63-3 具有四則運算功能的ALU結構設計3-73-3-1 基本算術單元的運用3-73-3-2 輸出入暫存器的運用3-83-3-3 完整電路架構3-92-3-4 參數式四則運算ALU的VHDL設計檔3-113-3-5 參數式四則運算電路模擬3-163-3-6 ALU在CH01中的架構3-183-3-7 ALU在CH01中的訊號路徑分析3-19第4章 暫存器與雙向埠設計4-14-1 暫存器的合成條件4-14-1-1 訊號指定符號『<=』之意義及應用4-14-1-2 變數指定符號『:=』之意義及應用4-34-2 一般暫存器(GPR)的設計4-64-2-1 單一雙向暫存器設計4-64-2-2 一般雙向暫存器列的設計4-84-3 特殊暫存器(SFR)設計4-114-3-1 累積器(Accumulator)4-114-3-2 乘除運算輔助暫存器b4-144-3-3 程式狀態暫存器psr4-164-4 雙向埠的設計4-184-4-1 單一雙向埠的設計4-184-4-2 雙向埠列的設計4-214-4-3 可單一位元方向設定雙向埠4-224-5 CH01的暫存器列及讀寫控制電路4-254-5-1 暫存器列讀寫控制電路設計4-284-6 CH01的指令暫存器4-304-7 CH01的運算元讀取系統4-32第5章 各類記憶體設計5-15-1 唯讀記憶(ROM)的設計5-15-1-1 基本ROM的設計5-15-1-2 含有三態輸出的ROM設計5-45-2 資料隨機存取記憶體(RAM)的設計5-55-2-1 單向RAM的設計5-55-2-2 雙向RAM的設計5-75-3 資料堆疊(STACK)的設計5-95-3-1 單向STACK的設計5-95-3-2 雙向STACK的設計5-115-3-3 雙向記憶元件與資料匯流排的連接5-145-4 CH01的記憶體設計5-155-4-1 CH01的程式記憶體及資料唯讀記憶體5-155-4-2 CH01的資料記憶體與匯流排5-19第6章 程式分支及返回控制系統設計6-16-1 程式計數器6-16-2 微處理器的程式分支6-46-2-1 相對分支6-46-2-2 絕對分支6-66-3 CH01分支指令的執行方式6-86-3-1 跳 躍6-86-3-2 副程式呼叫與返回指令6-116-3-3 分支預測6-116-4 中 斷6-126-4-1 中斷向量6-126-4-2 中斷方式6-126-4-3 資料堆疊的使用6-136-4-4 含有中斷系統的分支電路架構6-136-4-5 中斷控制系統6-146-4-6 CH01之中斷危障的克服6-186-5 CH01的分支/返回系統設計6-196-5-1 分支/返回控制系統設計6-196-5-2 位址堆疊6-216-6 計時/埠/中斷控制系統6-23第7章 微處理器的週邊擴充電路設計7-17-1 非同步位元串列通訊電路(UART)7-17-1-1 非同步位元串列傳輸及接收原理7-17-1-2 位元串列接收電路設計7-47-1-3 位元串列傳輸電路設計7-97-2 計時/計數器7-117-3 脈寬調變(PWM)電路7-14第8章 進階問題探討8-18-1 管線式電路架構8-18-2 管線架構應用於微處理機的設計8-38-3 管線的危障8-58-3-1 分支的危障8-58-3-2 資料的危障8-68-4 記憶元件定址空間8-88-4-1 一貫定址空間8-88-4-2 供使用者設定的一貫定址空間8-108-4-3 隔離定址空間8-118-4-4 CH01的定址空間8-14第9章 CH01之除頻元件9-19-1 除2元件9-19-2 除5元件9-29-3 大模數下數除頻元件9-39-4 串級除頻元件9-5第10章 微控制器CH01的建構10-110-1 運用元件庫及元件區塊10-110-2 VHDL元件檔10-3第3篇第1章 可視化MCU實體監控系統簡介1-11-1 監控系統規格1-11-1-1 內部嵌入軟核之規格1-31-1-2 機台面板規格1-41-1-3 其它配備規格1-51-2 監控系統特色1-61-3 指令測試程式1-61-3-1 指令測試程式編輯1-61-3-2 第0及1號指令測試程式時序分析1-101-3-3 第2-1號指令測試程式時序分析1-111-3-4 第2-2號指令測試程式時序分析1-121-3-5 第2-2號指令測試程式時序分析1-131-3-6 第3-3號、第4號及第11號指令測試程式時序分析1-141-3-7 第6號指令測試程式時序1-161-3-8 第7號及第8號指令測試程式時序1-171-3-9 第9號指令測試程式時序1-181-3-10第10號指令測試程式時序1-201-3-11虛擬指令及第11~15號指令及測試程式時序1-21第2章 指令單步執行與監控2-12-1 監控系統面板之燈號說明2-12-2 指令測試程式之燈號監控2-22-2-1 第0號指令燈號(nop)2-22-2-2 第1號指令燈號2-32-2-3 第2-1號指令燈號2-52-2-4 第2-2號指令燈號2-102-2-5 第3-1號指令燈號2-122-2-6 第3-2號指令燈號(pushx1,popx1)2-142-2-7 第3-3號指令燈號2-172-2-8 第4號指令燈號2-192-2-9 第5-1號指令燈號2-212-2-10第5-2號指令燈號2-232-2-11第5-3號指令燈號2-252-2-12第6號指令燈號2-272-2-13第7號指令燈號2-292-2-14第8號指令燈號2-312-2-15第9號指令燈號2-332-2-16第10號指令燈號2-352-2-17第11號指令燈號2-402-2-18第12號指令燈號2-422-2-19第13號指令燈號2-442-2-20第14號指令燈號2-462-2-21第15號指令燈號2-48第3章 程式發展環境使用說明3-13-1 程式編輯環境使用CKC3-13-2 程式記憶體的編譯及下載使用QuartusⅡ3-53-3 開啟程式記憶體之QuartusⅡ設計檔3-53-4 簡易外部中斷範例程式3-83-5 簡易計時中斷範例程式13-103-6 簡易計數中斷範例程式23-123-7 簡易串列通訊中斷範例程式3-133-8 簡易直流馬達調速範例程式3-16附錄A CH01的LCD控制程式附錄B CH01應用於AESB-1 前 言附B-1B-2 AES簡介附B-1B-3 AES函數運算硬體單元附B-2B-4 AESMPU的建構附B-3B-5 AESMPU加解密工作流程附B-7B-6 AESMPU加解密工作模擬附B-9B-6-1 鑰匙擴充附B-9B-6-2 加 密附B-10B-6-3 解 密附B-12B-7 AES的效能評估附B-14附錄C AES指令集及加解密程式
第1篇 微處理與VHDL導論第1章 微處理機導論1-11-1 微處理機簡介1-11-1-1 微處理機的定義1-11-1-2 微處理機的功用及架構1-11-1-3 廣義的微處理機(微控制器)1-21-1-4 VonNeuman與Harvard架構1-31-1-5 RISC與CISC1-31-2 微處理器發展簡史1-41-2-1 第一顆微處理器1-41-2-2 摩爾定律1-41-2-3 一些中低階微處理器的發展1-51-3 微處理器發展現況1-61-3-1 記憶體擴充與升級1-71-3-2 多媒體介面1-71-3-3 內建週邊控制電路1-71-3-4 低功率消耗1-71-3-5 高執行效率1-71-3-6 強化運算能力1-71-3-7 發展SOPC軟核1-81-3-8 單晶多核...