Verilog 數位電腦設計 (Verilog Digital Computer Design)

李進福、蔡培元、楊紹聖、蕭鳴均

  • 出版商: 全華圖書
  • 出版日期: 2001-04-29
  • 定價: $550
  • 售價: 9.0$495
  • 語言: 繁體中文
  • ISBN: 9572131176
  • ISBN-13: 9789572131176
  • 相關分類: Verilog

已絕版

買這商品的人也買了...

相關主題

商品描述

    以 ASM 為本書設計流程重心,較其它相關書籍不同之處在於本書使用 implicit Verilog 的程式碼撰寫方式,例舉了PDP-8 和 ARM 機器為說明範例以及其它相關範例,使讀者更清楚明白本書欲傳達的設計理念。適用於二技二年級、四技三、四年級和五專五年級電子科之學生。
  • 目錄
    第1章 為什麼使用 Verilog 做電腦設計
    1.1 什麼是電腦設計?1-1
    1.1.1 一般用途的電腦1-1
    1.1.2 特殊用途的電腦1-2
    1.2 電腦/數位科技的簡史1-2
    1.3 轉換演算法為硬體1-4
    1.4 硬體描述語言1-4
    1.5 需求的背景1-5
    1.6 結 論1-5
    第2章 設計演算法狀態機(ASM)
    2.1 什麼是一個 ASM 圖?2-1
    2.1.1 ASM 圖的指令2-3
    2.1.1.1 設定(asserting)一個一位元的信號2-3
    2.1.1.2 輸出多位元的指令2-4
    2.1.1.3 暫存器轉移2-5
    2.1.2 ASM 圖中的決策(decision)2-7
    2.1.2.1 關連性2-7
    2.1.2.2 外部狀態2-8
    2.1.3 ASM 的輸出與輸入2-9
    2.1.3.1 ASM 輸出2-10
    2.1.3.1.1 外部狀態輸入2-10
    2.1.3.1.2 外部資料輸入2-10
    2.1.3.2 ASM 的輸出2-11
    2.1.3.2.1 外部命令輸出2-11
    2.1.3.2.2 外部資料輸出2-12
    2.1.4 Goto-less 風格2-12
    2.1.5 由上而下設計2-13
    2.1.5.1 純行為模式2-13
    2.1.5.2 混合模式2-14
    2.1.5.3 純架構模式2-15
    2.1.6 自動化設計2-16
    2.2 純行為模式的例子2-16
    2.2.1 按鈕介面2-17
    2.2.2 加入軟體相依性的 ASM2-19
    2.2.3 化簡 TEST 狀態2-22
    2.2.4 化簡 INIT 狀態2-24
    2.2.5 儲存商數2-26
    2.2.6 迴圈內的變化2-27
    2.2.7 化簡 ZERO3 狀態2-31
    2.3 混合模式的例子2-33
    2.3.1 第一個例子2-34
    2.3.2 第二個例子2-37
    2.3.3 第三個例子2-38
    2.3.4 系統化對以 ALU 為主的架構2-40
    2.4 純架構的例子2-41
    2.4.1 第一個例子2-41
    2.4.2 第二個例子2-43
    2.5 階層式設計2-44
    2.5.1 如何純才是"純"呢?2-47
    2.5.2 第一個例子的階層2-47
    2.6 結 論2-50
    2.7 進階閱讀2-50
    2.8 習 題2-51
    第3章 VERILOG 硬體描述語言
    3.1 模擬與合成比較3-1
    3.2 Verilog 與 VHDL 的比較3-2
    3.3 測試程式的角色3-3
    3.4 Verilog 行為模式的特色3-4
    3.4.1 變數宣告3-4
    3.4.2 行為模式 Verilog 中合法的敘述3-6
    3.4.3 運算式3-7
    3.4.4 方 塊3-8
    3.4.5 常 數3-10
    3.4.6 巨集、引入檔案與註解3-10
    3.5 Verilog 結構上的特色3-11
    3.5.1 引用多個邏輯閘3-12
    3.5.2 與行為模式程式的比較3-13
    3.5.3 錯誤的連線:四-值的邏輯3-14
    3.5.3.1 高阻抗3-14
    3.5.3.2 未知值3-15
    3.5.3.3 行為模式程式上的使用3-16
    3.6 $time3-18
    3.6.1 多方塊3-18
    3.6.2 順序與$time 的關係比較3-19
    3.6.3 程序排程與死結3-19
    3.7 時間控制3-20
    3.7.1 #時間控制3-20
    3.7.1.1 在測試程式中用#3-21
    3.7.1.2 用#建立組合邏輯的模型3-22
    3.7.1.3 用#來產生系統時序供模擬使用3-24
    3.7.1.4 不利用$time 來安排程序3-24
    3.7.2 @時間控制3-25
    3.7.2.1 用@建立有效率的組合邏輯行為模型3-26
    3.7.2.2 建立同步暫存器的模型3-27
    3.7.2.3 建立同步邏輯控制器的模型3-28
    3.7.2.4 @使用在除錯顯示3-29
    3.7.3 wait3-30
    3.8 有時間控制的指定3-31
    3.8.1 限制(blocking)程序指定3-32
    3.8.2 非限制(non-blocking)程序指定3-32
    3.8.2.1 用<=取代 RTN 在模擬產生的問題3-33
    3.8.2.2 模擬中適當地使用<=代換 RTN3-34
    3.8.2.3 轉換少用 goto 的 ASM 圖至行為模式 Verilog3-36
    3.8.2.3.1 隱性(implicit)與顯性(explicit)格式3-36
    3.8.2.3.2 確認無窮迴圈3-37
    3.8.2.3.3 辨識 if else3-38
    3.8.2.3.4 辨認另一種情況3-40
    3.8.2.3.5 辨識 while 迴圈3-41
    3.8.2.3.6 辨識 forever3-43
    3.8.2.3.7 轉換成有一個 if 在 forever 底部3-45
    3.9 任務(task)與函數(function)3-46
    3.9.1 任 務3-47
    3.9.1.1 任務例子3-48
    3.9.1.2 enter_new_state 任務3-49
    3.9.2 函數(Functions)3-51
    3.9.2.1 real 函數的例子3-52
    3.9.2.2 用函數來建立組合邏輯的模型3-52
    3.10 結構化 Verilog,模組與埠(port)3-54
    3.10.1  input 埠3-55
    3.10.2  output 埠3-55
    3.10.3  inout 埠3-56
    3.10.4  前後相似:插腳(pin)與埠3-56
    3.10.5  用行為物件定義模組的例子3-57
    3.10.6  用結構化物件定義模組的例子3-59
    3.10.7  更多行為模式與結構化物件的例子3-60
    3.10.8  階層式名稱3-61
    3.10.9  資料結構(data structures)3-62
    3.10.10 參 數3-65
    3.11 結 論3-66
    3.12 進階閱讀3-67
    3.13 習 題3-68
    第4章 三階段的 Verilog 設計方法
    4.1 純行為性的例子4-2
    4.1.1 四種狀態的除法器4-2
    4.1.1.1 原始碼的概觀4-2
    4.1.1.2 Slow_division_system 細節4-4
    4.1.2 Verilog 捕捉錯誤4-7
    4.1.3 測試程式的重要性4-8
    4.1.4 增加的純行為的例子4-10
    4.1.5 兩階段除法器的純行為階段4-15
    4.2 兩階段除法器的混合階段(Mixed Stage)4-17
    4.2.1 建造塊狀器具4-17
    4.2.1.1 enabled_register 埠列4-18
    4.2.1.2 counter_register 埠列4-18
    4.2.1.3 alu181埠列4-19
    4.2.1.4 comparator 埠列4-20
    4.2.1.5 mux2埠列4-20
    4.2.2 混合階段(Mixed stage)4-21
    4.2.3 由除法機器架構4-21
    4.2.4 控制器應用於除法機器4-25
    4.3 兩個狀態除法器的純結構階段4-28
    4.3.1 純結構控制器4-29
    4.3.2 next_state_logic 模組4-30
    4.3.3 state_gen函數4-30
    4.3.4 測 試4-32
    4.3.5 似乎是工作的4-33
    4.4 控制器的階層式精練4-34
    4.4.1 一個邏輯方程式方法4-34
    4.4.2 最後:一個 netlist4-36
    4.4.3 合成後(post-synthesis)模擬4-37
    4.4.4 重置(Resetting)現在的狀態4-40
    4.5 結 論4-42
    4.6 習 題4-43
    第5章 進階的 ASM 技巧
    5.1 摩爾與米利5-2
    5.1.1 行為機器的例子5-2
    5.1.2 混合機器的例子5-4
    5.1.3 結構性機器的例子5-5
    5.2 除法機器的米利版本5-5
    5.2.1 再次消除 INIT 狀態5-5
    5.2.2 結合 COMPUTE1 及 COMPUTE2 狀態5-7
    5.2.3 條件式地載入r25-8
    5.2.4 初期設定 READY5-9
    5.3 轉換米利 ASMs 成為行為 Verilog5-10
    5.4 轉換複雜的(goto)ASMs 成為行為 Verilog5-12
    5.4.1 觸及底部的測試迴圈5-13
    5.4.2 在決策內的時間控制5-15
    5.4.3 任意的 gotos5-18
    5.5 轉換狀況命令訊號成為 Verilog5-18
    5.6 單一狀態米利 ASMs5-20
    5.7 結 論5-21
    第6章 兼顧速度和成本的設計
    6.1 傳遞延遲6-2
    6.2 決定時脈頻率的因素6-2
    6.3 netlist 傳遞延遲的例子6-3
    6.3.1 一個有優先順序的最差時序分析6-5
    6.3.2 模擬時序分析6-7
    6.3.3 危機(Hazards)6-8
    6.3.4 進階的邏輯閘層級模型化6-10
    6.4 抽象化傳遞延遲6-12
    6.4.1 用於傳遞延遲之不適當模型6-12
    6.4.2 在 Verilog 的事件變數(Event Variables)6-15
    6.4.3 disable 敘述6-16
    6.4.4 用一PERIOD 參數的 clock6-18
    6.4.5 在除法機器的傳遞延遲6-18
    6.5 單一週期,多週期及管線6-20
    6.5.1 平方多項式計算機例子6-21
    6.5.2 行為的單一週期6-22
    6.5.3 行為的多週期6-26
    6.5.4 在管線化的第一個方法6-29
    6.5.5 管線化 ma6-32
    6.5.6 沖洗管線6-34
    6.5.7 填滿管線6-34
    6.5.8 用於平方計算器的架構6-38
    6.5.8.1 單一週期架構6-38
    6.5.8.2 多週期架構6-41
    6.5.8.3 管線的架構6-43
    6.6 結 論6-48
    6.7 進階閱讀6-50
    6.8 習 題6-50
    第7章 One Hot 的設計
    7.1 摩爾 ASM 的 one-hot 設計7-1
    7.1.1 長方形/正反器7-2
    7.1.2 箭頭/線7-2
    7.1.3 連接在一起/或(OR)閘7-2
    7.1.4 決策/解多工器7-2
    7.1.5 one hot 方法的概要7-3
    7.1.6 第一個範例7-4
    7.2 Verilog 轉移到 one hot7-7
    7.2.1 持續指定(continuous assignment)7-7
    7.2.2 使用持續指定的 one hot 設計7-10
    7.2.2.1 One hot 中的 if else7-10
    7.2.2.2 if 在 one hot 中的轉換7-14
    7.2.2.3 while 在 one hot 中的轉換7-16
    7.3 在 one hot 機器中的米利(Mealy)命令7-16
    7.4 帶有米利<=的摩爾命令訊號7-17
    7.4.1 舉例說明7-18
    7.4.2 純行為的兩個狀態除法器7-22
    7.4.3 混合的兩個狀態除法7-23
    7.5 可 disable 的 forever 底部測試回圈(bottom testing loops)7-2
    7.6 結 論7-26
    7.7 進階閱讀7-27
    7.8 習 題7-27
    第8章 一般用途電腦
    8.1 簡介與歷史8-1
    8.2 機器的結構8-4
    8.2.1 CPU、周邊和記憶體8-4
    8.2.2 記憶體:資料和儲存程式8-4
    8.2.2.1 單向(unidirectional)匯流排對雙向(bidirectional)匯流
    8.2.2.2 決定性(deterministic)對非決定性(non-deterministic)
    的存取時間8-6
    8.2.2.3 同步(synchronous)對非同步(asynchronous)8-7
    8.2.2.3.1 同步(synchronous)記憶體8-7
    8.2.2.3.2 非同步的記憶體8-9
    8.2.2.4 靜態對動態記憶體8-10
    8.2.2.5 揮發性對非揮發性記憶體8-10
    8.2.3 記憶體技術的歷史8-11
    8.3 提取/執行的行為8-13
    8.3.1 有限的指令集8-14
    8.3.1.1 PDP-88-15
    8.3.1.2 PDP-8的歷史8-15
    8.3.1.3 部份的指令集8-15
    8.3.1.4 提取/執行上所需要的暫存器8-16
    8.3.1.5 提取/執行的 ASM8-17
    8.3.1.6 機器語言程式範例8-20
    8.3.2 加入更多的指令集8-23
    8.3.2.1 額外追加指令的 ASM8-25
    8.3.2.2 追加指令的狀態8-25
    8.3.2.2.1 合併指令描述(concatenation)8-27
    8.3.2.2.2 追加記憶體無關的指令
    (non-memory reference instructions)8-29
    8.3.2.2.3 追加記憶體存取的指令8-30
    8.3.2.2.4 略過(skip)指令8-31
    8.3.2.3 界面的額外狀態8-33
    8.3.2.4 記憶體為分離式的8-33
    8.3.2.4.1 機器的最上層(top-level)結構8-34
    8.3.2.4.2 純行為的 ASM 當記憶體是分離式8-35
    8.3.2.5 我們的老朋友:除法8-35
    8.3.2.5.1 完整幼稚除法演算法的 C 程式碼8-37
    8.3.2.5.2 軟體的使用界面8-37
    8.3.2.5.3 在機器語言中的幼稚除法程式8-38
    8.3.2.5.4 分析幼稚除法軟體8-40
    8.3.2.5.5 與專用硬體做比較8-41
    8.3.2.5.6 硬體和軟體之間的取捨8-42
    8.4 混合的提取/執行8-44
    8.4.1 有系統的方法設計架構8-44
    8.4.2 暫存器種類的選擇8-46
    8.4.3 剩下的暫存器轉移8-49
    8.4.4 把架構組合起來8-50
    8.4.5 實現決策(decisions)8-53
    8.4.6 混合的 ASM8-53
    8.4.7 方塊圖8-55
    8.5 記憶體的階層8-56
    8.5.1 快取記憶體8-57
    8.5.2 記憶體的交握(handshaking)8-61
    8.5.3 簡單記憶體階層的架構
    (architecture for a simple memory hierarchy)8-6
    8.5.4 快取的大小對幼稚除法器程式的影響8-70
    8.6 結 論8-70
    8.7 進階閱讀8-71
    8.8 習 題8-72
    第9章 一般用途處理器的管線化
    9.1  第一個管線嘗試9-2
    9.2  獨立指令的範例9-4
    9.3  資料相依(data dependencies)9-6
    9.4  資料向前傳遞(data forwarding)9-7
    9.5  控制相依(control dependencies):實現 JMP9-9
    9.6  在管線中的略過指令(skip instruction)9-12
    9.7  我們的老朋友:除法9-15
    9.8  多埠記憶體(multi-port memory)9-19
    9.9  管線化 PDP-8架構9-21
    9.10 結 論9-22
    9.11 進階閱讀9-22
    9.12 習 題9-23
    第10章 RISC 處理器
    10.1 CISC vs. RISC 的歷史10-2
    10.2 ARM 處理器10-2
    10.3 普林斯頓VS哈佛10-3
    10.4 暫存器檔案 (Register file)10-3
    10.5 三個運算元比一個快10-4
    10.6 ARM 的部分指令集10-6
    10.6.1 資料處理指令10-6
    10.6.2 分支指令10-7
    10.6.3 程式狀態暫存器 (Program status register,psr)10-8
    10.6.4 條件執行10-9
    10.6.5 立即運算元 (Immediate operands)10-10
    10.7 多週期的實現10-11
    10.7.1 以 SWI 作為停止(halt)指令10-12
    10.7.2 提取狀態10-13
    10.7.3 condx 函數10-13
    10.7.4 資料處理10-14
    10.7.4.1 dp 函數10-14
    10.7.4.2 程式狀態暫存器(psr)的設定條件10-14
    10.7.4.3 巨集的使用10-14
    10.7.5 分 支10-15
    10.7.5.1 乘以四10-16
    10.7.5.2 在多週期的架構中為何要加四?10-16
    10.7.5.3 正負號延伸巨集10-16
    10.7.6 以 Verilog 來完成多週期的實現10-16
    10.8 管線化的實現10-19
    10.8.1 三級管線化的 ASM10-19
    10.8.2 米利 ASM10-21
    10.8.3 兩個平行事件10-21
    10.8.4 適當的使用 <=10-22
    10.8.5 管線化實現的 Verilog 程式10-23
    10.9 超純量設計10-24
    10.9.1 多埠暫存器檔案10-25
    10.9.2 交錯式記憶體10-26
    10.9.3 相依關係的範例10-27
    10.9.4 推測性執行10-28
    10.9.5 暫存器更名 (Register renaming)10-29
    10.9.5.1 第一個特殊用途硬體的更名範例10-30
    10.9.5.2 第二個特殊用途硬體的更名範例10-31
    10.9.6 超純量的 ASM 圖10-34
    10.9.7 三個平行事件10-34
    10.9.7.1 管線化、平行以及推測執行10-34
    10.9.7.2 處理暫存器更名10-37
    10.9.8 超純量 ARM 處理器的 Verilog 程式10-38
    10.9.8.1 depend 函數10-38
    10.9.8.2 將 ASM 轉成 Verilog10-40
    10.9.8.3 程式涵蓋率 (Code coverage)10-40
    10.9.8.4 將 `ifdef 用於"cover"任務10-41
    10.9.9 測試程式10-43
    10.9.9.1 R15的測試10-43
    10.9.9.2 我們的老朋友:除法10-45
    10.9.9.3 較快的幼稚除法10-48
    10.9.9.4 使用條件執行指令的幼稚除法10-49
    10.10 比較各種幼稚除法的實現方法10-52
    10.11 結 論10-55
    10.12 進階閱讀10-56
    10.13 習 題10-56
    第11章 邏輯合成
    11.1 邏輯合成的概觀11-1
    11.1.1 設計流程11-2
    11.1.2 測試方法11-4
    11.1.3 本章所用到的工具軟體11-6
    11.1.4 M4-128/64 CPLD11-6
    11.2 可合成的 Verilog 樣式(styles)11-8
    11.2.1 暫存器的行為合成11-8
    11.2.2 組合邏輯的行為合成11-8
    11.2.3 隱性狀態機器的行為合成11-9
    11.2.4 顯性狀態機器的行為合成11-9
    11.2.5 結構式的合成11-9
    11.3 合成 enabled_register11-10
    11.3.1 依據名字來呼叫11-11
    11.3.2 PLSynthesizer 所提供的模組11-12
    11.3.3 以 PLDesigner 做特定製程的對應11-12
    11.3.4 PLDesigner 所提供的模組11-14
    11.3.5 合成後的設計11-16
    11.3.6 對應到特定的接腳11-18
    11.4 合成一個組合邏輯的加法器11-19
    11.4.1 測試程式11-21
    11.4.2 case 的不同寫法11-22
    11.5 合成隱性的位元串列式加法器11-25
    11.5.1 第一個位元串列加法器的嘗試11-26
    11.5.2 隱性寫法合成所需的巨集11-27
    11.5.3 利用移位暫存器的方法11-27
    11.5.4 使用迴圈11-28
    11.5.5 測試程式11-30
    11.5.6 合 成11-31
    11.6 防止開關彈跳(switch debouncing)
    及單一脈衝化(single pulsing)11-35
    11.7 顯性的防彈跳機器11-37
    11.8 全部放在一起:結構式合成11-39
    11.9 位元串列的 PDP-811-40
    11.9.1 位元串列 CPU 的 Verilog 程式11-41
    11.9.2 測試程式11-45
    11.9.3 我們的老朋友:除法11-46
    11.9.4 合成及製造 PDP-811-47
    11.10 結 論11-48
    11.11 進階閱讀11-49
    11.12 習 題11-49
    附錄 A  機器及組合語言
    附錄 B PDP-8指令
    附錄 C 組合邏輯的基本元件
    C.1 真實情況的模型附 C-2
    C.1.1 理想的組合邏輯模型附 C-2
    C.1.2 最壞情況的延遲模型附 C-2
    C.1.3 實際邏輯閘層次的延遲模型附 C-3
    C.1.4 實際延遲模型附 C-3
    C.2 匯流排附 C-3
    C.2.1 單向匯流排附 C-3
    C.2.2 佈局及繞線附 C-5
    C.2.3 高位觸發(active high)對低位觸發(active low)附 C-5
    C.2.4 速度及成本附 C-6
    C.2.5 匯流排上的廣播附 C-7
    C.2.6 次匯流排(subbus)附 C-8
    C.3 加法器附 C-10
    C.3.1 進位輸出附 C-10
    C.3.2 速度及成本附 C-11
    C.4 多工器附 C-12
    C.4.1 速度及成本附 C-12
    C.5 其他算術元件附 C-13
    C.5.1 加一器附 C-13
    C.5.1.1 速度及成本附 C-13
    C.5.2 一補數器(ones complementor)附 C-14
    C.5.2.1 速度及成本附 C-14
    C.5.3 二補數器(twos complementor)附 C-14
    C.5.4 減法器附 C-14
    C.5.5 移位器附 C-15
    C.5.6 乘法器附 C-17
    C.5.6.1 速度及成本附 C-17
    C.5.7 除 法附 C-17
    C.6 算術邏輯單元附 C-17
    C.6.1 邏輯運算附 C-19
    C.6.2 算術運算附 C-20
    C.6.3 狀 態附 C-21
    C.7 比較器附 C-21
    C.7.1 速度及成本附 C-22
    C.8 解多工器附 C-23
    C.8.1 速度及成本附 C-23
    C.8.2 解多工器的錯誤使用附 C-24
    C.9 解碼器附 C-25
    C.9.1 速度及成本附 C-27
    C.9.2 其他種類的解碼器附 C-27
    C.10 編碼器附 C-27
    C.11 可程式元件附 C-28
    C.11.1 唯讀記憶體附 C-28
    C.11.2 CPLD 附 C-30
    C.12 結 論附 C-30
    C.13 進階閱讀附 C-31
    C.14 習 題附 C-31
    附錄 D 循序的邏輯電路
    D.1  系統時脈附 D-1
    D.2  時序圖附 D-2
    D.3  同步邏輯附 D-3
    D.4  匯流排時序圖附 D-4
    D.5  D 型暫存器附 D-5
    D.6  致能的 (Enabled) D 型暫存器附 D-7
    D.7  上數暫存器附 D-8
    D.8  上數/下數計數器附 D-10
    D.9  移位暫存器(shift register)附 D-11
    D.10 沒有使用的輸入附 D-13
    D.11 高度特殊的暫存器附 D-15
    D.12 更進一步的研讀附 D-16
    D.13 練 習附 D-16
    附錄 E 三態裝置(Tri-state Devices)
    E.1 開 關附 E-1
    E.1.1 在非三態閘中開關的使用附 E-2
    E.1.2 在三態閘中開關的使用附 E-3
    E.2 在結構 Verilog 中的單一位元三態閘附 E-3
    E.3 匯流排驅動器(Bus drivers)附 E-5
    E.4 三態的用途附 E-6
    E.4.1 三態擴充器當作 mux 附 E-6
    E.4.11 Verilog 如何處理值邏輯附 E-7
    E.4.1.2 tri 的宣告附 E-8
    E.4.2 雙向的匯流排附 E-9
    E.4.2.1附 E-9
    E.4.2.2 ready/write 暫存器附 E-10
    E.5 進階閱讀附 E-12
    E.6 習 題附 E-12
    附錄 F 工具與資源
    F.1  Prentice Hall 出版社附 F-1
    F.2  VeriWell 模擬器附 F-1
    F.3  M4-128/64 demoboard 附 F-2
    F.4  繞線器附 F-2
    F.5  VerilogEASY 附 F-3
    F.6  PLDesigner 附 F-3
    F.7  VITO 附 F-4
    F.8  Open Verilog International (OVI)附 F-5
    F.9  其他 Verilog 與提供可程式邏輯之廠商附 F-5
    F.10 PDP-8附 F-5
    F.11 ARM 附 F-6
    附錄 G ARM 指令集
    G.1 有效率的指令集附 G-1
    G.2 指令集總結附 G-2
    附錄 H 無限制程序指定的另種觀點
    H.1 循序邏輯電路附 H-2
    H.2 $strobe附 H-3
    H.3 慣性與傳輸延遲之比較附 H-4
    H.4 順序保持附 H-4
    H.5 進階閱讀附 H-5
    附錄 I 術語整理
    附錄 J 隱性格式 Mearly 的限制
    J.1 進階閱讀附 J-3