本書是基于電子設計自動化(EDA)技術編寫的,全書共8章,包括VHDL、門電路的設計、組合邏輯電路的設計、觸發器的設計、時序邏輯電路的設計、存儲器的設計、數字系統的設計和常用EDA軟件。數字電路與系統設計都是基于VHDL完成的,每個設計都經過了EDA軟件的編譯和仿真,或經過EDA試驗開發系統平臺的驗證,確保無誤。
目 錄
第1章 VHDL (1)
1.1 VHDL設計實體的基本結構 (1)
1.1.1 庫、程序包 (1)
1.1.2 實體 (2)
1.1.3 結構體 (3)
1.1.4 配置 (3)
1.1.5 基本邏輯器件的VHDL描述 (3)
1.2 VHDL語言要素 (6)
1.2.1 VHDL文字規則 (6)
1.2.2 VHDL數據對象 (8)
1.2.3 VHDL數據類型 (9)
1.2.4 VHDL的預定義數據類型 (10)
1.2.5 IEEE預定義的標準邏輯位和矢量 (11)
1.2.6 用戶自定義數據類型方式 (11)
1.2.7 VHDL操作符 (12)
1.2.8 VHDL的屬性 (14)
1.3 VHDL的順序語句 (16)
1.3.1 賦值語句 (16)
1.3.2 流程控制語句 (16)
1.3.3 WAIT語句 (22)
1.3.4 ASSERT(斷言)語句 (22)
1.3.5 NULL(空操作)語句 (23)
1.4 并行語句 (23)
1.4.1 PROCESS(進程)語句 (23)
1.4.2 塊語句 (25)
1.4.3 并行信號賦值語句 (26)
1.4.4 子程序和并行過程調用語句 (28)
1.4.5 元件例化(COMPONENT)語句 (30)
1.4.6 生成語句 (32)
1.5 VHDL的庫和程序包 (34)
1.5.1 VHDL庫 (35)
1.5.2 VHDL程序包 (35)
1.6 VHDL仿真 (36)
1.6.1 VHDL仿真支持語句 (36)
1.6.2 VHDL測試平臺軟件的設計 (38)
第2章 門電路的設計 (43)
2.1 用邏輯操作符設計門電路 (43)
2.1.1 四-2輸入與非門7400的設計 (44)
2.1.2 六反相器7404的設計 (44)
2.2 三態輸出電路的設計 (45)
2.2.1 同相三態輸出門的設計 (45)
2.2.2 三態輸出與非門的設計 (46)
2.2.3 集成三態輸出緩沖器的設計 (47)
第3章 組合邏輯電路的設計 (50)
3.1 算術運算電路的設計 (50)
3.1.1 一般運算電路的設計 (50)
3.1.2 集成運算電路的設計 (58)
3.2 編碼器的設計 (62)
3.2.1 普通編碼器的設計 (62)
3.2.2 集成編碼器的設計 (65)
3.3 譯碼器的設計 (69)
3.3.1 4線-10線BCD譯碼器7442的設計 (70)
3.3.2 4線-16譯碼器74154的設計 (71)
3.3.3 3線-8線譯碼器74138的設計 (72)
3.3.4 七段顯示譯碼器7448的設計 (74)
3.4 數據選擇器的設計 (76)
3.4.1 8選1數據選擇器74151的設計 (76)
3.4.2 雙4選1數據選擇器74153的設計 (77)
3.4.3 16選1數據選擇器161mux的設計 (78)
3.4.4 三態輸出8選1數據選擇器74251的設計 (79)
3.5 數值比較器的設計 (80)
3.5.1 4位數值比較器7485的設計 (81)
3.5.2 8位數值比較器74684的設計 (82)
3.5.3 帶使能控制的8位數值比較器74686的設計 (83)
3.6 奇偶校驗器的設計 (84)
3.6.1 8位奇偶產生器/校驗器74180的設計 (84)
3.6.2 9位奇偶產生器74280 (85)
3.7 碼轉換器的設計 (86)
3.7.1 BCD編碼之間的碼轉換器的設計 (86)
3.7.2 數制之間的碼轉換器的設計 (88)
3.7.3 明碼與密碼轉換器的設計 (92)
第4章 觸發器的設計 (95)
4.1 RS觸發器的設計 (95)
4.1.1 基本RS觸發器的設計 (95)
4.1.2 鐘控RS觸發器的設計 (96)
4.2 D觸發器的設計 (97)
4.2.1 D鎖存器的設計 (98)
4.2.2 D觸發器的設計 (98)
4.2.3 集成D觸發器的設計 (99)
4.3 JK觸發器的設計 (100)
4.3.1 具有置位端的JK觸發器7471的設計 (100)
4.3.2 具有異步復位的JK觸發器7472 (101)
4.3.3 具有異步置位和共用異步復位與時鐘的雙JK觸發器7478的設計 (103)
第5章 時序邏輯電路的設計 (105)
5.1 數碼寄存器的設計 (105)
5.1.1 8D鎖存器74273的設計 (105)
5.1.2 8D鎖存器(三態輸出)74373的設計 (106)
5.2 移位寄存器的設計 (107)
5.2.1 4位移位寄存器74178的設計 (107)
5.2.2 雙向移位寄存器74194的設計 (108)
5.3 計數器的設計 (110)
5.3.1 十進制同步計數器(異步復位)74160的設計 (110)
5.3.2 4位二進制同步計數器(異步復位)74161的設計 (112)
5.3.3 4位二進制同步計數器(同步復位)74163的設計 (114)
5.3.4 4位二進制同步加/減計數器74191的設計 (115)
5.4 專用數字電路的設計 (116)
5.4.1 順序脈沖發生器的設計 (116)
5.4.2 序列信號發生器的設計 (117)
5.4.3 偽隨機信號發生器的設計 (118)
5.4.4 序列信號檢測器的設計 (120)
5.4.5 流水燈控制器的設計 (121)
5.4.6 搶答器的設計 (122)
5.4.7 串行數據檢測器的設計 (124)
第6章 存儲器的設計 (128)
6.1 RAM的設計 (128)
6.2 ROM的設計 (129)
第7章 數字電路系統的設計 (132)
7.1 數字電路系統的設計方法 (132)
7.1.1 數字電路系統設計的圖形編輯方式 (132)
7.1.2 用元件例化方式實現系統設計 (134)
7.2 8位串行加法器的設計 (136)
7.2.1 基本元件的設計 (136)
7.2.2 8位串行加法器的頂層設計 (139)
7.3 24小時計時器的設計 (141)
7.3.1 分頻器gen_1s的設計 (142)
7.3.2 60進制分頻器的設計 (142)
7.3.3 24進制分頻器的設計 (143)
7.3.4 24小時計時器的頂層設計 (144)
7.4 萬年歷的設計 (145)
7.4.1 控制器的設計 (146)
7.4.2 數據選擇器mux_4的設計 (146)
7.4.3 數據選擇器mux_16的設計 (147)
7.4.4 年月日計時器的設計 (148)
7.4.5 萬年歷的頂層設計 (150)
7.5 倒計時器的設計 (152)
7.5.1 控制器contr100_s的設計 (152)
7.5.2 60進制減法計數器的設計 (153)
7.5.3 24進制減法計數器的設計 (154)
7.5.4 100進制減法計數器的設計 (155)
7.5.5 倒計時器的頂層設計 (155)
7.6 交通燈控制器的設計 (157)
7.6.1 100進制減法計數器的設計 (157)
7.6.2 控制器的設計 (158)
7.6.3 交通燈控制器的頂層設計 (159)
7.7 出租車計費器的設計 (160)
7.7.1 計時器的設計 (161)
7.7.2 計費器的設計 (162)
7.7.3 出租車計費器的頂層設計 (163)
7.8 波形發生器的設計 (164)
7.8.1 計數器cnt256的設計 (165)
7.8.2 存儲器rom0的設計 (166)
7.8.3 多路選擇器mux_1的設計 (168)
7.8.4 波形發生器的頂層設計 (169)
7.9 數字電壓表的設計 (170)
7.9.1 分頻器clkgen的設計 (170)
7.9.2 控制器contr_2的設計 (171)
7.9.3 存儲器myrom_dyb的設計 (173)
7.9.4 數字電壓表的頂層設計 (175)
7.10 8位十進制頻率計設計 (177)
7.10.1 測頻控制信號發生器TESTCTC的設計 (177)
7.10.2 十進制加法計數器CNT10X8的設計 (178)
7.10.3 8位十進制鎖存器reg4x8的設計 (180)
7.10.4 頻率計的頂層設計 (181)
第8章 常用EDA軟件 (183)
8.1 Quartus II 13.0軟件 (183)
8.1.1 Quartus II軟件的主界面 (183)
8.1.2 Quartus II的圖形編輯輸入法 (184)
8.1.3 Quartus II的文本編輯輸入法 (197)
8.1.4 嵌入式邏輯分析儀的使用方法 (199)
8.1.5 嵌入式鎖相環的設計方法 (202)
8.1.6 設計優化 (206)
8.1.7 Quartus II的RTL閱讀器 (207)
8.2 ModelSim (208)
8.2.1 ModelSim的圖形用戶交互方式 (208)
8.2.2 ModelSim的交互命令方式 (211)
8.2.3 ModelSim的批處理工作方式 (213)
8.3 基于MATLAB/DSP Builder的DSP模塊設計 (214)
8.3.1 設計原理 (214)
8.3.2 DSP Builder的層次設計 (224)
8.4 Nios II嵌入式系統開發軟件 (225)
8.4.1 Nios II的硬件開發 (225)
8.4.2 Qsys系統的編譯與下載 (229)
8.4.3 Nios II嵌入式系統的軟件調試 (240)
8.4.4 Nios II的常用組件與編程 (244)
8.4.5 基于Nios II的Qsys系統應用 (252)
附錄A VHDL的關鍵詞 (263)
參考文獻 (264)