《VHDL大學實用教程》除了對語法進行全面、詳盡的介紹之外,還對數字系統的仿真驗證方法進行了深入討論。《VHDL大學實用教程》共16章,前3章概括介紹了VHDL/PLD設計方法的特點、VHDL程序的基本結構和程序風格、測試平臺以及VHDL中的信號。第4章至第7章介紹了組合邏輯電路的設計與驗證。第8章至第11章介紹了時序電路的設計方法。第12章至第14章介紹了子程序和程序包。第15章討論了如何采用層次化和模塊化方法實現復雜數字系統。第16章給出了多個具有一定規模和復雜度的程序,通過這些程序集中展現《VHDL大學實用教程》所重點闡述的語法要點和設計方法。
《VHDL大學實用教程》可作為通信工程、電子工程及相關專業高年級本科生和研究生的教材,還適合從事相關領域科研開發工作的工程師參考使用。
第1章 使用VHDL和PLD進行數字系統設計
1.1 VHDL/PLD設計方法
1.2 需求分析與規范制定
1.3 VHDL設計描述
1.4 通過仿真進行驗證
1.5 測試平臺
1.6 功能(行為)仿真
1.7 可編程邏輯器件(PLD)
1.8 SPLD和22V10
1.9 目標器件的邏輯綜合
1.10 布局布線和時序仿真
1.11 編程和目標器件的驗證
1.12 VHDL/PLD設計方法的優點
1.13 VHDL的發展
1.14 VHDL在仿真和綜合中的應用
1.15 本書的主要目標
習題
第2章 實體、結構體和編程風格
2.1 設計單元、庫單元和設計實體
2.2 實體說明
2.3 VHDL語法定義
2.4 端口模式
2.5 結構體
2.6 編程風格
2.7 綜合結果與程序風格的關系
2.8 抽象和綜合的層次
2.9 層次化設計與電路的結構描述
習題
第3章 信號和數據類型
3.1 對象分類和對象類型
3.2 信號對象
3.3 標量類型
3.4 STD_LOGIC類型
3.5 標量文字(scalar literal)和標量常量(scalar constant)
3.6 復合類型
3.7 數組
3.8 無符號和有符號類型
3.9 復合文字和復合常量
3.10 整型
3.11 可綜合的端口類型
3.12 操作符(算子)和表達式
習題
第4章 數據流風格的組合邏輯電路設計
4.1 邏輯操作符
4.2 數據流方式結構體中的信號賦值
4.3 選擇型信號賦值
4.4 布爾型及相關的操作符
4.5 條件(型)信號賦值
4.6 優先級編碼器
4.7 輸入無關項與輸出無關項
4.8 譯碼器
4.9 查表法
4.10 三態緩沖器
4.11 避免組合(邏輯)環路
習題
第5章 行為風格的組合邏輯電路設計
5.1 行為風格的結構體
5.2 進程語句
5.3 順序語句
5.4 case 語句
5.5 if語句
5.6 loop語句
5.7 變量
5.8 例題:奇偶校驗檢測器電路
5.9 描述組合邏輯電路的進程綜合
習題
第6章 事件驅動的仿真
6.1 仿真器類型
6.2 精確化(elaboration)
6.3 信號驅動器
6.4 仿真器內核進程
6.5 仿真初始化
6.6 仿真周期
6.7 信號和變量
6.8 δ延遲
6.9 δ延遲和組合環路
6.10 多重驅動器
6.11 信號屬性
習題
第7章 組合邏輯電路的測試平臺
7.1 設計驗證
7.2 組合邏輯電路的功能驗證
7.3 一個簡單的測試平臺
7.4 物理類型
7.5 單進程測試平臺
7.6 等待語句
7.7 斷言(assert)和報告(report)語句
7.8 基于記錄和查找表的測試平臺
7.9 計算激勵和期望結果的測試平臺
7.10 預定義的移位操作符
7.11 根據UUT的功能安排激勵順序
7.12 將UUT與等效模型進行比較
7.13 代碼覆蓋率和分支覆蓋率
7.14 組合邏輯電路的網表驗證和時序驗證
7.15 使用VITAL和SDF的時序模型
習題
第8章 鎖存器與觸發器
8.1 時序系統及其存儲元件
8.2 D鎖存器
8.3 檢測時鐘邊沿
8.4 D觸發器
8.5 使能(門控)觸發器
8.6 其他類型的觸發器
8.7 PLD中的基本存儲元件
8.8 定時需求與同步輸入數據
習題
第9章 多位鎖存器、寄存器、計數器和存儲器
9.1 多位鎖存器與寄存器
9.2 移位寄存器
9.3 移位寄存式計數器
9.4 計數器
9.5 檢測非時鐘信號的邊沿
9.6 具有微處理器接口的脈寬調制器
9.7 存儲器
習題
第10章 有限狀態機
10.1 有限狀態機
10.2 FSM的狀態圖
10.3 三進程FSM的VHDL模型
10.4 創建狀態圖
10.5 OSE 譯碼器
10.6 狀態編碼與狀態分配
10.7 狀態機可靠性
10.8 禁止邏輯FSM舉例
10.9 用摩爾型FSM實現的計數器
習題
第11章 ASM圖和RTL設計
11.1 算法狀態圖
11.2 將ASM圖轉換成VHDL
11.3 系統結構
11.4 連續逼近寄存器設計舉例
11.5 時序乘法器設計
習題
第12章 子程序
12.1 子程序
12.2 函數
12.3 過程
12.4 數組特性和非受約束數組
12.5 子程序和操作符過載
12.6 類型轉換
習題
第13章 程序包
13.1 包頭和包體
13.2 標準程序包和實際存在的標準程序包
13.3 STD_LOGIC_1164程序包
13.4 NUMERIC_STD程序包(IEEE STD 1076.3)
13.5 STD_LOGIC_ARITH程序包
13.6 VHDL文本輸出程序包
習題
第14章 時序系統的測試平臺
14.1 簡單時序電路的測試平臺
14.2 生成系統時鐘
14.3 生成系統復位信號
14.4 同步激勵的產生和監控
14.5 連續逼近寄存器的測試平臺
14.6 時序系統測試平臺激勵的選擇
14.7 使用過程產生激勵
14.8 激勵過程中的輸出驗證
14.9 總線功能建模
14.10 響應監控
習題
第15章 模塊化和層次化設計
15.1 模塊和層次的劃分
15.2 設計單元和庫單元
15.3 設計庫
15.4 庫單元的使用
15.5 設計實體的直接例化
15.6 元件和設計實體的間接例化
15.7 配置說明
15.8 元件連接
15.9 參數化的設計實體
15.10 參數化的模塊庫(LPM)
15.11 生成語句
習題
第16章 設計實例
16.1 與微處理器兼容的正交譯碼器/計數器設計
16.2 正交譯碼/計數器的驗證
16.3 參數化的正交譯碼/計數器
16.4 電子安全鎖設計
16.5 電子安全鎖的驗證
16.6 RF發射器編碼器的設計
習題
附錄
參考文獻